Slide 1

Slide 1 text

0 A*アルゴリズム 2023-01-25 第28回NearMe技術勉強会 Yuki Nonaka

Slide 2

Slide 2 text

1 目次 1. A*アルゴリズムとは 2. A*アルゴリズムの例題 1

Slide 3

Slide 3 text

2 ダイクストラ法を発展させた経路探索法で、ゴールから遠ざかるような 無駄な経路は探索しないことで高速化を行っている。また、コンピュー タゲームや地図プラットフォームにも応用されている。 A*アルゴリズムとは 2 goal start ここを通る経路を 探索するのは無駄 *辺の重みは全て非負であるとする。

Slide 4

Slide 4 text

3 A*アルゴリズムとは 評価関数f(n)はこれまでの累積コストg(n)とヒューリスティック関数h(n) の和で表される。 ここでh(n)は非負である必要がある。また、h(n)が真のコストh*(n)を上 回らない場合、許容的(admissible)といい、最適経路を返す。 3

Slide 5

Slide 5 text

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*アルゴリズムの例題

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

7 Thank you