ページ 11

オセロの重みづけについて

Posted: 2020年7月31日(金) 23:38
by poket
現在6*6マスのオセロのコンピュータプログラムを作成しており、配列で各マス目に対して重みを付け、自分の石が置かれていればその値を加算、相手の石が置かれていれば減算という風にして静的評価アルゴリズムを組んでいます。
そして、現在、
float[][] weight = {
{100, -10, 20, 20, -10, 100},
{-10, -50, 1, 1, -50, -10},
{ 20, 1, 1, 1, 1, 20},
{ 20, 1, 1, 1, 1, 20},
{-10, -50, 1, 1, -50, -10},
{100, -10, 20, 20, -10, 100},
}
のように重みを付けているのですがこれよりもよりコンピュータが強くなるような重みの付け方があるのでしょうか?有識者の方々教えていただきたいです

Re: オセロの重みづけについて

Posted: 2020年8月01日(土) 06:14
by あたっしゅ
 そりゃあ、「藤井棋聖に勝てる将棋の評価関数を教えてください」と言っているようなもので、「自分で考えろ」と言われるのがオチでしょ。強いプログラムのコピーが欲しいのか。それとも、自分オリジナルのモノを作りたいのか。

 ちなみに、8x8 のオセロだと、強い人/プログラムは、四スミ取らせて、四スミの隣に割り込んで勝ちますので、四スミの評価値が高く、その隣が低いのは疑問。でも、「四スミ取らせてから、隣に打つ」を表現するのは、動的な評価関数が必要か ? それとも、終盤は完全読みきりか ?

 ま、いろんな評価関数のプログラム同士を戦わせて、強いのを選ぶ、みたいな仕組みを考えるのも、いいのでは ?