Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
より良い解に辿り着くカギ-近傍設定の重要性
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
NearMeの技術発表資料です
PRO
March 17, 2025
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
より良い解に辿り着くカギ-近傍設定の重要性
数理最適化でより良い解を見つけるための近傍設定の重要性を解説。巡回セールスマン問題を例に、構築法・改善法、2-optなどの近傍操作を紹介します。 #数理最適化 #組合せ最適化
NearMeの技術発表資料です
PRO
March 17, 2025
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
Claude Code × git worktree で並列開発 (続き) -差分のサービスだけを併設する-
nearme_tech
PRO
1
55
Claude Code × git worktree で並列開発 — サブモジュール構成のリポジトリで成立させる —
nearme_tech
PRO
0
59
LLM + 強化学習
nearme_tech
PRO
0
32
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
67
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
2
65
初めてのLean言語
nearme_tech
PRO
0
100
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
2
39
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
77
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
1
90
Other Decks in Programming
See All in Programming
What We Talk About When We Talk About XP
m_seki
2
630
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
410
AHC070解法紹介
eijirou
0
120
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
4
3k
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
130
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Building an Out-of-Order CPU
latte72
1
780
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
420
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
660
GraphQLとの向き合い方2022年版
quramy
50
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Building the Perfect Custom Keyboard
takai
2
870
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
A designer walks into a library…
pauljervisheath
211
25k
Producing Creativity
orderedlist
PRO
348
41k
BBQ
matthewcrist
89
10k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Transcript
0 より良い解に辿り着くカギ-近傍設定の重要性 2025-03-14 第115回NearMe技術勉強会 Mizuki Wakabayashi
1 ⽬次 1. ⾃⼰紹介: 初めまして、若林瑞樹です 2. 数理最適化? 必要? AI? 機械学習
3. 数理最適化が必要となる難しい問題とは 4. より良い解へ辿り着くために...近傍設定の重要性
2 1. ⾃⼰紹介: 初めまして、若林瑞樹です 所属: 東京農⼯⼤学⼤学院修⼠⼀年 ⼯学府 知能情報システム⼯学専攻 研究室: 数理最適化がメイン.
特に、組合せ最適化(離散最適化) 私の研究内容: 学部: 機械学習の損失関数, 現在: 組合せ最適化 私の趣味: プログラミング, 筋トレ, 友⼈の研究室の⽅々とのスマブラ(スイッチ) 他の⽅々の研究内容(⼀部): ダイナミックプライシング, 相乗りタクシー , チームスポーツにおける個⼈の能⼒の推定, 移動距離や体⼒負荷を考慮したスポーツスケ ジューリング最適化等... ゼミでは進捗報告を全員で⾏う→ ⾃分の研究分野外の知識や⼿法も学んでいます
3 ‧数理最適化と調べると... 数理最適化は、問題の最適化を実現するための「最適解」を、問題の構造や数 学的な性質に基づいて発⾒するという「決定論的な⼿法」 ‧意思決定や、⼿法を求めるための技術であり、学習をして予測精度をあげるという分野ではない ‧個々の問題設定ごとに、制約条件や⽬的関数は異なる ‧より良い解を学習していくことは困難 ‧
その分野に対する知⾒や知識、最適化技術が必要 ‧数理最適化が使⽤される分野: 物流, 配送, スケジューリング ⽣産ライン, 機械学習のハイパーパラメータ等... 参考⽂ 献:https://www.brainpad.co.jp/doors/contents/about_mathematical_optimization/#%E3%80%8C%E6%95%B0%E7%90%86%E6%9C%80%E9%81%A9%E5%8C%96%E3%80%8D%E3%81%A8%E3%80%8CAI%E3%80%8 D%E3%80%8C%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%80%8D%E3%81%A8%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%EF%BC%9F 2. 数理最適化? 必要? AI?
4 ‧難しい問題の例: 巡回セールスマン問題 ‧N個の都市を訪れ、⼀周するための最⼩距離を求める問題 ‧ 下は52都市の例 3. 数理最適化が必要となる難しい問題とは ”x座標が⼩さい順に訪れる”という貪欲法 ”中⼼座標に近い順に訪れる”という貪欲法
5 ‧数理最適化における難しい問題: 計算量, 計算時間, 組合せ数が膨⼤であるため難しいという意味 ‧52都市の訪れるパターン→ 52! = 8.07* 10^67通り
‧現在の計算機をもってしても果てしない時間かかる ‧よって、全通りは試すことはできない! ‧しかし、研究者によって 数万都市レベルの最⼩距離ルートは算出 ‧右はスウェーデン24978都市の最適解 ‧数理最適化技術や、巡回セールスマン問題に対する知⾒や知識が深く関与 出典: https://www.math.uwaterloo.ca/tsp/sweden/tours/swtour_small.htm 3. 数理最適化が必要となる難しい問題とは
6 ‧52都市で、最⼩距離ルートを考えていただきたいです ‧どのような⽅針(⼿法、基準)で訪れていきますか? ‧1. スタート都市から近い都市を辿っていく ‧2. 最⼩全域⽊を解く⾵に、近い都市2つを 線で結んでいく...を繰り返す
3. 数理最適化が必要となる難しい問題とは
7 ‧52都市で、最⼩距離ルートを考えてみていただきたいです ‧どのような⽅針(⼿法、基準)で訪れていきますか? ‧⾚の点スタートで、近い順に訪れるという⽅法だと... → ‧右のようにちょっと遠い距離を取りこぼしてしまう ‧1都市, 1都市順番に選択していく⽅法では良い解はでなさそう.. ‧少しずつ解を作っていく⽅法→構築法などと呼びます... ‧⼀旦ルールを守ったルート(解)を作って、少しずつ解を改善していく⽅が良さそう...
‧初期解を改善していく⽅法→改善法などと呼びます 3. 数理最適化が必要となる難しい問題とは S S
8 ‧構築法 ‧貪欲法: なんらかの基準に貪欲に従って解を構築 ‧ビームサーチ: 構築するごとに、解の評価を⾏って上位BEAM_WIDTH数だけを残していく ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲) ‧近傍設定の例: ‧insert(a,
b )a都市の後ろにb都市を訪れる ‧swap(a, b) a都市とb都市の訪れる順番を逆に ‧swap(a,b,c) a,b,c都市の訪れる順番をc,b,aに ‧変更範囲が⼤きければ良いというわけではない ‧局所探索法: 近傍操作で、現在の解より良くなった→解の更新→その解に近傍操作 を繰り返していく ‧焼きなまし法: 序盤: 現在の解より悪くなった解を⾼い確率で受け⼊れて更新 終盤: 現在の解より良い解のみを基本的に受け⼊れて更新 3. 数理最適化が必要となる難しい問題とは
9 ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲) 3. 数理最適化が必要となる難しい問題とは ”x座標が⼩さい順に訪れる”という 貪欲法で作った初期解
10 ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲) 3. 数理最適化が必要となる難しい問題とは 近傍の設定が良ければ、どんな初期解からで も、最適ルートへ改善することは可能! ⼤域最適解 局所最適解1
局所最適解2
11 ‧近傍設定の例: ‧insert(a, b )a都市の後ろにb都市を訪れる ‧swap(a, b) a都市とb都市の訪れる順番を逆に ‧巡回セールスマン問題に対しては、上記のような近傍操作では より良い解を算出するのはかなり困難
‧swapやinsertをしてもそこまで良くなりそうにも思えない ‧スケジューリング問題や⼀定の問題に対してはswap(...)がかなり有効な場合も ‧巡回セールスマン問題に対しては有効ではない 4. より良い解へ辿り着くために...近傍設定の重要性
12 ‧巡回セールスマン問題における有効な近傍設定 ‧2-opt(a, b ): a->a1->,.... an -> bという順番を丸ごと逆順にする ‧例:
都市番号: 7->5->4->3->6>1->2->7 に対する2-opt(7,1) →7->6->3->4->5->1->2->7となる ‧同様に3-optや4-optのように、範囲内の順番を丸ごと逆順という近傍操作が有効 4. より良い解へ辿り着くために...近傍設定の重要性
13 ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲) ‧局所探索法: 近傍操作で、現在の解より良くなった→解の更新→その解に近傍操作 を繰り返していく ‧焼きなまし法: 序盤:
現在の解より悪くなった解を⾼い確率で受け⼊れて更新 終盤: 現在の解より良い解のみを基本的に受け⼊れて更新 そのほかにも様々な⼿法がありま↓ 遺伝的アルゴリズム(GA), 粒⼦群最適化(PSO), アリコロニー最適化(ACO), タブーサーチ (TS), ⼈⼯⿂群アルゴリズム, ハーモニーサーチ, 差分進化, Emperor Penguin Algorithm,... ⾃然現象や⽣物の様⼦から着想を得た 新しい?アルゴリズムは多々ありますが... 4. より良い解へ辿り着くために...近傍設定の重要性
14 ‧本質的には、近傍を設定して良い解を⾒つけていくということに変わりはない ‧適切な近傍設定無しに、⼿法ごとの優劣はほぼない ‧着想を得た物や⽣物等が異なるだけで、AIの研究のようなブレークスルーは⾒られない ‧しっかりと作り込むことで、局所探索法ベースのシンプルな⼿法でも優秀 ‧先ほどの巡回セールスマン問題も、反復局所探索法で最適解の算出に成功 ‧局所探索法ベースのメリット ‧検証しやすい、挙動の確認がわかりやすい→確率的な要素がないため ‧パラメータのチューニングが不要
‧GAでは突然変異確率など、SAでは初期温度や温度の下がりぐらい等のパラメータが必要 4. より良い解へ辿り着くために...近傍設定の重要性
15 ‧意思決定やより良い⼿法を得るには、数理最適化が必須 ‧ある⽅針に沿って少しずつ解を作っていく構築法では、良い解を導くのは困難 →初期解から近傍操作によって良くしていく改善法が有効 ‧世の中には改善法の中に無数⼿法が存在しているが、⼤きな差異はない ‧どのように今の解をより良くしていくかという近傍設定が重要 まとめ
16 Thank you