Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
A*アルゴリズム
NearMeの技術発表資料です
January 17, 2023
Research
2
10
A*アルゴリズム
NearMeの技術発表資料です
January 17, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
RustでつくるWebアプリケーション(2)
nearme_tech
0
9
時系列予測モデル1
nearme_tech
0
21
時系列分析 ハンズオン
nearme_tech
0
24
初めての負荷テスト with Locust (ハンズオン)
nearme_tech
0
27
RustでつくるWebアプリケーション(1)
nearme_tech
0
11
Digital Twinの未来
nearme_tech
0
11
最適化入門2 つづき
nearme_tech
0
13
競プロに出てきそうなアルゴリズム part3
nearme_tech
0
19
Kaggle入門 Part1
nearme_tech
0
24
Other Decks in Research
See All in Research
傾向スコアのモデルに含める共変量選択のアプローチ
tomoshige_n
1
740
【西多摩電波調査】調査報告書
5g_digitalservicetmg
0
130
Dangerous ‘Deep Decarbonization’ (Krebs PowerPoint to Cooler Heads Coalition)
gkehr1
0
740
再現性問題 再入門
arumakan
0
120
On the Training of Infinitely Deep and Wide ResNets
gpeyre
0
190
Tecnologias Emergentes: reflexões a partir da Intelectualidade de Milton Santos
taisso
0
150
ABEMAにおけるサムネイル検証とOPE活用
ebisawahayata
1
800
Making oRAT, Go
patrickwardle
0
690
Self-Supervised Learning
naok615
4
2.3k
ピッチコールの公平性と観客の存在:MLBの投球データ分析
ontime11
0
230
福岡ジャズ界のために個人サービスを開発/運営して学んだこと
daichan4649
0
270
Openproxy型ハニーポット「Proxypot」
tatsui
0
190
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
21
3.4k
Practical Orchestrator
shlominoach
178
8.9k
Art, The Web, and Tiny UX
lynnandtonic
284
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
Raft: Consensus for Rubyists
vanstee
130
5.7k
The Invisible Side of Design
smashingmag
292
48k
Visualization
eitanlees
128
12k
Making the Leap to Tech Lead
cromwellryan
116
7.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
How to name files
jennybc
47
73k
Web Components: a chance to create the future
zenorocha
304
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
Transcript
0 A*アルゴリズム 2023-01-25 第28回NearMe技術勉強会 Yuki Nonaka
1 目次 1. A*アルゴリズムとは 2. A*アルゴリズムの例題 1
2 ダイクストラ法を発展させた経路探索法で、ゴールから遠ざかるような 無駄な経路は探索しないことで高速化を行っている。また、コンピュー タゲームや地図プラットフォームにも応用されている。 A*アルゴリズムとは 2 goal start ここを通る経路を 探索するのは無駄
*辺の重みは全て非負であるとする。
3 A*アルゴリズムとは 評価関数f(n)はこれまでの累積コストg(n)とヒューリスティック関数h(n) の和で表される。 ここでh(n)は非負である必要がある。また、h(n)が真のコストh*(n)を上 回らない場合、許容的(admissible)といい、最適経路を返す。 3
4 4 スタート地点からゴール地点までの最適経路を求める。 それぞれのマスでg(n)、h(n)を計算して経路を探索する。 g=0 h=6 f=6 g=1 h=5 f=6
g=1 h=5 f=6 GOAL アルゴリズム (Nodeリストで考えるとわかりやすい。) 1. 現在地のg(n)、h(n)、f(n)を計算する。 2. 周りのノードをopenにし、g(n)、h(n)、f(n)を調べ る。 3. 現在地のノードはclosedにする。 4. openノードのうちf(n)が最も小さいマスに移動す る。 5. 1に戻る START g(n) = (START~現在地)の距離 h(n) = (現在地~GOAL)のマンハッタン距離 A*アルゴリズムの例題
5 5 A*アルゴリズムの例題 g=0 h=6 f=6 g=1 h=5 f=6 g=0
h=6 f=6 GOAL g=0 h=6 f=6 g=1 h=5 f=6 g=2 h=4 f=6 g=0 h=6 f=6 GOAL g=0 h=6 f=6 g=1 h=5 f=6 g=2 h=4 f=6 g=3 h=3 f=6 g=0 h=6 f=6 g=3 h=2 f=5 GOAL g=0 h=6 f=6 g=1 h=5 f=6 g=2 h=4 f=6 g=3 h=3 f=6 g=0 h=6 f=6 g=3 h=2 f=5 GOAL g=0 h=6 f=6 g=1 h=5 f=6 g=2 h=4 f=6 g=3 h=3 f=6 g=4 h=2 f=6 g=0 h=6 f=6 g=3 h=2 f=5 g=4 h=1 f=5 g=4 h=2 f=6 g=4 h=1 f=5 g=4 h=0 f=4
6 参考文献 • アルゴリズムとデータ構造, 大槻兼資(著), 秋葉拓哉(監修), 講談社, 2020 • Diestel.
Graph Theory. Springer-Verlag New York, 2017. • Altava, Ramon Andreu. Computation of Optimal Profiles in Descent and Approach Phases. Diss. Université Paul Sabatier-Toulouse III, 2020. 6
7 Thank you