ファイアウォール

リバーシ
06a1056 藤田将義
スライド一覧





なぜリバーシなのか
Appwizard
プログラム
今の課題
まとめ
理由

ボードゲームの基礎(入門)となる
appwizard


Appwizardはプロジェクト(アプリケーショ
ン)の基本構成を設定するツール
アプリケーションの全体像にあわせて、
appwizardはそれに対応したアプリケー
ションの枠組み(スケルトンプログラム)を
設定
プログラム





ウィンドウの編集
入力・出力処理
ルール
評価関数
探索方法
ウィンドウの編集
探索方法


Minimax法
αβ法(Minimax法の改良)
Minimax法
現在の状態(コンピュータの手番)
-3
相手の手番
-3
N0
N1
-8
N2
-9
コンピュータ
の手番
N0-0
N0-0
N0-0
N1-0
15
-3
8
3
N1-1
N1-2
N2-0
N2-1
N2-2
-8
20
-9
-7
18
αβ法
αの処理
現在の状態(コンピュータの手番)
-3
相手の手番
βの処理
-3
N0
N1
-8
N2
-9
コンピュータ
の手番
αの処理
N0-0
N0-0
N0-0
N1-0
15
-3
8
3
N1-1
N1-2
N2-0
N2-1
N2-2
-8
20
-9
-7
18
αβ法のプログラム
・
・
・
{
if( temp >= alpha )
{
alpha = temp;
vest_x = x; //マス
vest_y = y; //マス
}
if( alpha > beta )return( alpha );
}
else
・
・
・
αβ法のプログラムの動作
y
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
x
実行時
今の課題
・
・
・
int num;
if( m_FlagForPlayer )num = CountStone( WHITE_STONE );
else num = CountStone( BLACK_STONE );
if( num > (double)( m_PutNumber + 4 ) / 2 )MessageBox( "You Win!" );
else if( num < (double)( m_PutNumber + 4 ) / 2 )MessageBox( "You Lose!" );
・
・
・
まとめ



Minimaxとαβ法では、確かにコンピュータ
の処理に差が出た
エラーをなくすのに、ものすごく時間がかか
る
今は最低限の機能しか付いていないので、
出来る限り追加していく
参考文献


リバーシのアルゴリズム
著者 Seal Software
プログラミングティーショップ
http://www.geocities.co.jp/SiliconValleyBay/4543/
ご清聴ありがとうございました