Document

OTHELLO
アルゴリズムの概略と
コンピュータの戦略について
Ⅰ.ゲームとして成り立つために……
Ⅰ-1.置ける場所の判定
ある位置(以下(x, y)とする)に石を置ける
かどうかの判定は、以下の手順で行います。
(1)(x, y)が空きマスであるかを確かめ、
(2)x←x+1、y ←y+0 を代入してそのマ
スに相手の石があれば、
(3)(2)を繰り返し、自分の石に行きついた
ら確定です。
(4) (2)の手順でx←x+1、y ←y+1などと
して8方向について調べます。
Ⅰ-2.返る石の判定
(x,y)に石を置いた後、どの石を返すこと
ができるかを判定します。
(1)基本的には置ける場所の判定と同じよ
うに8方向について調べますが、
(2)自分の石を見つけた時に、来た方向に
1マスずつ戻って、そこにある石を自分の
色に変えていきます。
Ⅰ-3.パスとゲーム終了の判定
(1)パス
1.で示した方法で全64マスについて手
番の色の石が置けるかどうかを調べ、置
けなければパスだという事になります。
(2)ゲーム終了
両者ともどこにも置けない時、ゲーム終
了と判定しています。こうすることで、どち
らかの石が0になったり、空きマスがある
のにゲームが終了するようなケースでも
きちんと判定します。
Ⅱ.コンピュータの頭脳は……
Ⅱ-1.評価の方法
(1)コンピュータは自分に手番がまわってくると、打てる手
の全てに対して、評価点をつけ、その中でもっとも点数の高
い手を選んで打ちます。
(2)評価点はいくつかの評価法によってつけるのですが、
それぞれの評価法ごとに今検討している手の評価点を出し、
それにウェイトを掛けて合計したものを最終的な評価点とし
ています。
(3)つまり、「角を取れるなら取れ」ではなく、角に対して大
きなウェイトを与えることで、角が取れる時には他の評価の
影響が相対的に小さくなるため、角を取りに行く、ということ
になります。
Ⅱ-2.戦略の解説①
(1)角の評価
序盤、中盤では角を取ることが大事で、逆に取られると苦
しくなります。そのため、角に置ける時は優先して置くようにし
ています。そして、次に相手が角に置けるような手に対しては
大きな減点としています。
(2)置ける箇所による評価
オセロでは、相手の置ける箇所を少なくすることがとても重
要です。これによって、相手は「置きたくないところ」に置かざ
るを得なくなります。
Ⅱ-3.戦略の解説②
(3)位置による評価
前のページで出てきた「置きたくな
いところ」ということを点数にするのが
この評価です。各マスに図のような点
数をつけています。盤面全体を調べ、
自分の石があれば、その場所に対応
する点数をプラスし、相手の石ならマイ
ナスして、合計を出します。この作業を
今の盤面と次の盤面で行い、その差
が評価点として出てきます。
Ⅱ-4.「位置による評価」計算例
これが今の盤面
今の盤面
次にもしコンピュータ(白)が
ここに置くと
次の盤面
0-(-4)=+4点
-2-(-3)=+1点
よって、評価点は 1-4=-3点 です。
Ⅱ-5.戦略の解説③
(4)開放度
序・中盤の主な戦略として、開放度というものがありま
す。開放度とは、ある手に対し、返した石の周囲にいくつの
空きマスがあるかで定義され、この値が小さい方がよい手
となりやすいと言われています。その理由としては、
(ⅰ)自分の石が少なくなりやすい
(ⅱ)自分の石が中央に集まりやすい
ということが挙げられます。(ⅰ)(ⅱ)の
ような状況(右図)を作ることができれば、
ゲームに勝つ可能性が高くなります。
Ⅱ-6.「開放度」計算例
コンピュータ(白)が赤い丸印のところに置いた時の開放度
を計算してみます。
この時、返る黒石は1と2の石です。
まず、1の石の周りの空きマスを調
べると、空きマスが右上に1マスあ
ることがわかります。次に、2の石
の周りは、今から置く赤丸のあるマ
スは空きマスとして計算するので、
4つ空きマスがあるということになり
ます。よって開放度は、
1+4=5 です。
Ⅱ-7.戦略の解説④
(5)辺の形による評価
オセロでは辺の良し悪しが勝敗
を左右すると言われており、このプ
ログラムでも辺の形を評価すること
にしました。評価の方法は、
(ⅰ)あらかじめ辺の形とそれに対
応する点数を決めておきます。
(ⅱ) 各辺が(ⅰ)で用意した形と一
致するか調べて、一致すれば点数
を与えます。
山・ブロックは良形、ウ
イングは悪形、爆弾は
やや悪形として評価。
Ⅱ-8.戦略の解説⑤
(6)偶数理論
部分的な空きで、最後の一手を打
つことを「手止まりを打つ」と言い、手止
まりを打つことは特に終盤において大
事な事だとされています。そして、残り
2マスのところにはあまり打つべきでは
ない、残り3マスなら打つべきである、と
いう事も言えます。このように、奇数空
きの所に打って、全ての空きを偶数に
するという考え方を、「偶数理論」と呼
んでいます。
THE END