数値解析Ⅱ~五目並べ~

数値解析Ⅱ~五目並べ~
G班メンバー
リーダー 橋本望
SE 北本理紗と服部友哉
PPT作成 橋本望と山田侑加
五目並べとは?
• 交互に黒白の石を置いて
いき、先に5つ並べたほう
が勝ち
• 石を3つ並べた時点で片側
を相手に阻まれなければ
基本的に勝つことができる
プレイヤーは3つの石を
並べることを
基本的に目標とする!
既存のプログラム
宍戸輝光氏作成の「五目並べゲーム」
宍戸氏のプログラムの特徴
• CPUの手の決定方法
①16×16の256マス全ての石の配置位置を記憶する
②石の置ける位置に重要性の高い順に点数をつける
例ⅰ.自分が4連しており、勝ちがきまる場所には15,000点
ⅱ.相手が4連しており、置かないと負けがきまる場所には12,000点
ⅲ.自分が2連しており、その両端に置くことで3連ができる場所には10点
③盤面評価が全て終わると、最高点の場所にCPUの手を決
定。最高点が複数存在するときは、その中からランダムに
決定。
宍戸氏のプログラムの欠点
・最初にランダムに戦略性のない石をおく
⇒プレイヤーが2連、あるいはコンピューターが
偶然2連するまで、ゲームが始まらない。
プログラム改善
どうやったら序盤の無駄な手をなくせるか?
石が一個の時点から点数をつけては
どうだろうか?
(宍戸氏のプログラムでは2連になって初めて点数がつく)
プログラム改善~具体的な方法
①4連の端1つに点数をつける。
②3連の端2つに点数をつける。
③2連の端3つに点数をつける。
元のプログラムの↑3つに加え、
④1個の石の周りにも点数をつける。
・この黒石で5連が作れる範囲に、新たに点数をつけた。
・特に石の周り8つの点数を高くすることで、
CPUの無駄な一手目がなくなった。
しかし!
HUM先手でCPU後手のときは、
バグが残ってしまった・・・。
• バグその1
起動後一回目は、正しく動かない。
• バグその2
起動後2回目に、初めに2回連続、黒の番(HUM)に
なってしまう。
だけど!
3回目からはちゃんと動くよ
FIN.