2006/9/21(Thu) 20:34:21|NO.2546
自分の戦略をそのまま表現すればいいだけなのですが…問題はどう表現するかでしょうか。
とりあえず思いついた手法を説明してみます。
升目にそれぞれ特典をつけていき、一番得点の高いマスに駒を置く方法です。
オセロを例にとってみます。(将棋やチェスも同じ方法でいけると思います。)
標準状態で全てのマスは0点です。
まずは自分の駒が置けるマスに+1点します。
次に、
・端っこなら+1
・角なら+2
・+(相手の駒を返せる数)
・角のひとマス手前なら-1
・… (その他独自の戦略しだいで得点を割り振る。)
という感じで、全てのマスに点数を割り振ります。
点数の割り振りが終わったら、一番点数の大きいマスに駒をおきます。
同じ特典のマスがいくつかあったらそのときはランダムで。
こんな感じでも完全にランダムなのよりはいいと思います。
ちなみに先手を読む場合は、置いた後(相手の順番)のときの盤の状態を評価すれば良いはず…。
評価方法はさっきと同様に点数をつけて最後に点数を合計する。
合計した点数が小さいほうが相手にとって不利なわけだから、これを使って評価すればok…?
適当に思いつくままに書いてみましたがどうでしょうか。
|