Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A*アルゴリズム

 A*アルゴリズム

More Decks by NearMeの技術発表資料です

Other Decks in Research

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide