オセロプログラム

課題にだされてたオセロのプログラムが一応形になった。ただしまだまだ改善の余地あり。c++でかいたもので、undoの実装に座標型の構造体のスタックを使っている(stack)。AIのゲーム木探索にはnegamax-alpha-betaを使った。あとは、、、
着手可能な座標を返すメソッドの実装にvectorを使った。STL本当に便利だな〜。

今のところの改善点は

  • 着手可能かどうかの検査を高速化する(インデクシングの実装)
  • ハッシュを使った置換表の実装
  • 探索アルゴリズムの改善(negaScout, move ordering)

こんなところか。独自な実装をしてみたいけどまだまだこれからって感じだろうな。

実装の参考にさせてもらっているサイト
Thell
このサイトの解説は図も使って詳しく、わかりやすく説明しているので実装の参考になるし、他のページへのリンクもたくさん挙げられているのでオセロの実装に迷ったらここ見るといいかも。

羊の人工知能研究 〜将棋AI開発の日々〜
こっちも解説サイト。わかりやすい。