Othelloのアルゴリズム

Othelloのアルゴリズム
班員
福富 傑
長井 洋
藤田 直樹
山村 真也
塩路 元気
はじめに
本プレゼンテーションでは、Othelloの
アルゴリズムについて紹介することに重点を置
きます。ですから、javaのプログラミングに関
する技術上の説明は大幅に省略しています。
目次
1.各場所の価値評価
2.ミニマックス法
3.α-β法の概略
4. 先読みプログラムの実力
5.まとめと考察
1.各場所の価値評価
左図のような価値
評価をし、評価値
をコンピュータに
与えました。
これは、まず初心
者が学ぶ最も基本
的なことだと考え
ます。
2.ミニマックス法(先を読む)
右図のように先読みをして評
価値を決定する方法(ミニ
マックス法)を採用しました。
※ 右図は簡単のため2手先ま
でしか記載していませんが、
本プログラムでは5手先ま
で先読みを行います。
3. α-β法の概略
α値
β値


MINノードの評価値が親から受け継いだα値より小さかったらそれ以上の先読みは必要ない(αカット)
MAXノードの評価値が親から受け継いだβ値より大きかったらそれ以上の先読みは必要ない(βカット)
これによりミニマックス法よりパフォーマンスが向上し7手先ま
で先読みが可能となった。
4.先読みプログラムの実力

先読みを実装した場合
23勝5敗2分

各場所の価値評価のみの場合
9勝20敗1分
山村真也くん(初級~中級)との対戦で以上の結果を残しました。
よって、先読みは確実にコンピュータを強くしたことが分かります。
5.まとめと考察
パターンに基づく評価
着手可能数(手の広さ)による評価
など
まだまだ改良の余地は考えられたが、技術上これ以上の
改良は間に合わなかった。しかし、前に述べたように先
読みをとりいれることでコンピュータを非常に強くする
ことができることがわかった。