0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

グラフ探索アルゴリズムAdvent Calendar 2015

Day 21

[AAAI16実況配信] Best Paper Award: Bidirectional Search that is Guaranteed to Meet in the Middle

Last updated at Posted at 2016-02-16

みなさんお久しぶりです。

2016-02-14 08.53.38.jpg

発表のためにAAAI-16に来ています。知らない人も多いかと思いますが、IJCAIとならび、AIの国際学会で最も難関と言われる学会です。個人的には自分もA*の改善論文でPaper Award 密かに狙っていたのですが、Bidirectional Search 論文に取られてしまいました。自分の論文の内容はこんどまた書きます。自分の発表は昨日終わりました。

AAAI-16 Best Paper Award Bidirectional Search that is Guaranteed to Meet in the Middle. Holte, Felner, Sharon, Sturtevant

朝ごはんのあとに思いつきで書いてるだけなので、そんなにくわしくは書きません。

この論文は、探索ノードを$n$として、OPENリストのソートに以下の値を用いる MM (Meet in the Middle) というアルゴリズムを提案しました。

pr(n) = \max ( g(n)+h(n) ,\; 2g(n) )

$g(n)+h(n)$ は A* の $f$ 値と同じ定義です。
超シンプルですが、これを用いることで、以前書いた ProveOptimality の必要がないBidirectional Searchを実現することができます。つまり、Bidirectional Searchとしては初めて、A*と同様に、最初に見つかった解がそのまま最適解であることが保証されるアルゴリズムです。

最初に提案されて50年もたっていまさらかよと思われるかもしれません(というか自分も同感です)が、まあ「人気が落ちてしまった分野が再発見されて研究が進む」というのはよくあることですね。

以前の記事にも書いたように、Bidi Search は Brute ForceではAより強く、Strong Heuristicsでは Aに負けるのでした。この性質はMMでも引き継がれます。

特に、MMのうち、A*に対するDijkstra Search, つまり $h=0$ のケースを $MM_0$ と呼ぶことにします。すると、 $MM_0$ は Dijkstraよりもかなり早く探索を終えることができます。

Screenshot from 2016-02-16 08:39:15.png

Brute-ForceだとUni-BS(Unidirectional Brute Force = dijkstra) よりも $MM_0$ がはるかに早いですね。一方、おそらくGAP-3からGAP-1になるにつれてより正確なヒューリスティック関数を用いているのだと思います。正確なヒューリスティックがあればA*が早く、不正確だとやはりMMが早いようです。

追記: なお、 MM-2g は $\max(f+g, 2g)$ の $2g$ をなくして、$f$ のみを用いる普通のBidi Searchにしたもののようです。これだと、ProveOptimalityが必要になることで、必要な探索ノード数が増えていることがわかります。

以上、アリゾナ、フェニックスからお届けしました。ちなみに日中は29度とかになって暑いですが、朝は気持ちいいです。

2016-02-12 08.18.00.jpg

PS. あっ、記念写真です。

2016-02-14 14.05.41.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?