α-β探索を用いたオセロプログラム

1. オセロゲームについて
8×8の盤面と白と黒の反転できる石を用いる2人ゲーム.中央に黒2個,白2個の石を置いて黒から交互に石を置いていく.相手の石を縦横斜めに挟むように置く.挟まれた相手の石は白→黒,あるいは黒→白に反転させる.相手を挟めなければパスする.最後に自分の石を数えて,多い方が勝ち.

より詳細については,Wikipediaなどを参照されたい.
2. オセロ用の評価関数
次の盤面表に従い,黒,白双方のスコアを計算することにする.初級者レベルならばこれでもある程度の役割を果たす.

3. プログラムについて

  1. (othello)の中のコマンド
    ・b (black) / w (white).簡易表示では,bはXと,wはOで示される.
    ・d 次の手番者の可能なポジション表示
    ・g <x> <y>手動で<x> <y>に次の手番の石を置く.
    ・ab bの手番を自動で実行する.
    ・aw wの手番を自動で実行する.
    ・a すべてコンピュータが実行する(最後まで実行されてしまう)
    ・a1 次のステップを次同時実行し,停止.
    ・lw wに対する読みの深さを設定する.0: 出た順,1: 1手先読み,2: 2
    先読み,…
    ・lb  wに対する読みの深さを設定する.lwと同様.
    ・t 実行のトレース
    ・u 実行のアントレース
    ・q 終了

4. ソースコードと実行例
・ソースコード例:othello
・実行例: othello-log