bitboardを採用できるか検討中
完全検索にはどうする?
現状:
- 現状の検索方法だと石を抜いた状態をパターンに含む検索ができない。
- ノードの着手がパターン上に存在しないとき即falseしている。
実情:
- パターン上に存在しないばあいでも、そこが抜かれてマッチする可能性が残っている。
- 碁盤にシミュレーションが必須?
考えた方法は、 ノードをたどるときbitboardが存在しなければ、碁盤にシミュレーションしながらそれをbitboardに変換 【ノード -> bitboard 】 のハッシュを作る。 即falseができないので、手数の深度を設定して探索。
方法2 パターンに抜かれた場所を含める。(複数回同じ場所が抜かれた場合も含める) //パターン作成時に抜かれる石も指定しないといけない手間がある 盤上の石の数が一致 + 抜かれた数が一致 でtrue.
まだ考え中。
bitboardの構造はどうしよう。 案1 1マスを2bit表現し 4x4 を1intで表現 それを5x5に敷き詰めて 25intで表現
案2 1マス1bitで黒と白のでわける。 1列ごとに黒白1ずつの2intで表現 19 * 2 の36intで表現
案1のほうが少なくて済むし、、よさげ?