狠狠撸

狠狠撸Share a Scribd company logo
Chokudai Searchについて
@chokudai (高橋 直大)
Chokudai searchとは?
? Beam searchの亜種
? Colunさんに名前つけろって言われたから
適当に付けた
– ぶっちゃけ名前つけるほどのアルゴリズム
じゃないと思う
– なんか名前あったらおしえてください
Beam search
? 幅優先探索の各階層において、評価が良
い順にd個のみを採用していく
– この際のdをビーム幅と呼ぶ D=3のサンプル
4番以下からの頂点からは
探索を行わない
8
7
7
9
8
7
7
7
6
8
8
8
8
8
7
6
6
3
2
7
6
4
4
3
2
Beam search
? 幅優先探索の各階層において、評価が良
い順にd個のみを採用していく
– この際のdをビーム幅と呼ぶ
8
7
7
9
8
7
7
7
6
8
8
8
8
8
7
6
6
3
2
7
6
4
4
3
2
D=3のサンプル
4番以下からの頂点からは
探索を行わない
ビーム
っぽい!
Chokudai search
? Beam Searchのビーム幅を小さく設定し、
反復しながら徐々にビーム幅を広げてい
く
? こんな見た目なので昔はRainbow searchって呼んで
た
8
7
7
9
8
7
3
8
7
2
8
8
1
8
8
6
6
6
2
8
7
7
6
3
2
何が違うの?
? 下のビームから上のビームに遷移しない
– なので、探索する頂点がちょっと変わる
メリット
? 時間管理が極めて容易
? 評価コスト0で多様性を生みやすい
– スコアの安定性が生まれやすい
時間管理
? ビーム幅の厳密な設定が不要
– 時間いっぱいまで増やしていけばいいだけ
? 終了ターン数が解らない問題の場合も、
とりあえずの解がさっさと出るので予測
しやすい
多様性
? ここ一番大切だけど書くの大変なので誰
か書いてください。
デメリット
? メモリたくさん使う
– 次の階層に移っても、前の結果を残さないと
いけない
? 順位管理を動的にしないといけない
– ビームサーチだと1回のソートで十分。大抵
は優先度付きキューで事足りるけど、ヒュー
リスティックな枝刈入れたりすると大変
? 上手いこと多様性生かせないと評価値低
いの選んでるだけになっちゃう

More Related Content

Chokudai search