10
Chokudai Search にににに @chokudai ( にに にに )

Chokudai search

Embed Size (px)

Citation preview

Page 1: Chokudai search

Chokudai Search について

@chokudai ( 高橋 直大 )

Page 2: Chokudai search

Chokudai search とは?• Beam search の亜種• Colun さんに名前つけろって言われたから

適当に付けた– ぶっちゃけ名前つけるほどのアルゴリズム

じゃないと思う– なんか名前あったらおしえてください

Page 3: Chokudai search

Beam search

• 幅優先探索の各階層において、評価が良い順に d 個のみを採用していく– この際の d をビーム幅と呼ぶ

D=3 のサンプル

4 番以下からの頂点からは探索を行わない

66

32

76

44

Page 4: Chokudai search

Beam search

• 幅優先探索の各階層において、評価が良い順に d 個のみを採用していく– この際の d をビーム幅と呼ぶ

66

32

76

44

D=3 のサンプル

4 番以下からの頂点からは探索を行わない

ビームっぽい!

Page 5: Chokudai search

Chokudai search

• Beam Search のビーム幅を小さく設定し、反復しながら徐々にビーム幅を広げていく

• こんな見た目なので昔は Rainbow search って呼んでた8

66

62

87

76

Page 6: Chokudai search

何が違うの?• 下のビームから上のビームに遷移しない– なので、探索する頂点がちょっと変わる

Page 7: Chokudai search

メリット• 時間管理が極めて容易• 評価コスト0で多様性を生みやすい– スコアの安定性が生まれやすい

Page 8: Chokudai search

時間管理• ビーム幅の厳密な設定が不要– 時間いっぱいまで増やしていけばいいだけ

• 終了ターン数が解らない問題の場合も、とりあえずの解がさっさと出るので予測しやすい

Page 9: Chokudai search

多様性• ここ一番大切だけど書くの大変なので誰

か書いてください。

Page 10: Chokudai search

デメリット• メモリたくさん使う– 次の階層に移っても、前の結果を残さないと

いけない• 順位管理を動的にしないといけない– ビームサーチだと1回のソートで十分。大抵

は優先度付きキューで事足りるけど、ヒューリスティックな枝刈入れたりすると大変

• 上手いこと多様性生かせないと評価値低いの選んでるだけになっちゃう