Skip to content

ビームサーチ

確実に前進

置換表(transposition table, hash table)

出力の持ち方

同一局面によるループを防ぐ

  • 前の状態に戻る操作などでループが発生してしまう場合、無限ループになってしまう可能性がある
  • 局面に対するハッシュ値などですでに出現した状態は計算しないようにしておく
  • ZobristHashを用いる

重複排除、多様性確保

小さい幅のビーム

  • ある程度の幅をもたせた(1つの)ビームではなく、小さい幅+多様性をもたせた(複数の)ビーム
    • AHC011 wataさん解
    • AHC019 USAさん解
  • 評価関数がうまく設計できたり、ある程度良い解が多い場合など、高速に、よい解が得られる

chokudaiサーチの軸

  • chokudaiサーチでは、軸(キー)をどう用意するか、いろいろバリエーションが考えられる
    • ターン制などでも、複数の操作を1手として動かす場合、その1手をキーにするか、ターンをキーにするか、など
      • 次の状態生成時に、次の状態にしかいかないか、2つ以上先の状態もいくか
    • 軸にしたものは、評価関数に入ってなくても揃うので、調整がしやすくなるかも

ビーム幅の自動調整

  • アクションが固定など処理時間が安定している場合はハイパラ探索などで調整すればよいが、アクション数が盤面によって変わったり計算時間が変わる場合は調整が難しい
  • 動的に調整する場合、各ターンでは、それまでのビーム幅(の合計値)、計算時間、残りターン数、残り時間の情報などが使える

評価値

状態の差分更新で木のノードを行き来するテク

上位N件を高速に取る話

近傍設計

過去改変

高度な話題