19路盤でのモンテカルロ法テスト

2眼で活き、なんて分かってないパターン認識同士の対戦

使っているパターンは、以下の11種類です。

パターンは3x3 (直前にどこに打たれたかを含む)
3x3に石がない場合はその周囲12箇所のうち3箇所だけを見るパターン。
3x3に石が1個の場合はその周囲12箇所のうち3箇所だけを見るパターン。

int weak_count_atari[2][2];			// アタリ。[0] コウ、[1] すべて
int weak_count_dis_border[10][2];		// 盤端からの距離
int weak_count_dis_previous[19][2];		// 直前の手からの距離(dx,dyの大きい方)
int weak_count_dis_before_my[19][2];		// 自分の2手前の手からの距離(dx,dyの大きい方)
int weak_count_area[5][2];			// [0] 自分の地の中に打つ、[1] ダメ [2] 相手の地の中 [3] ダメ(自分の地と隣接)[4] ダメ(相手の地と隣接)
int weak_count_attach[6][2];		// 隣接して打つ [0] 自分の活石 [1] 自分の不明 [2] 自分の死石 [3-5] 相手
int weak_count_escape[2][2];		// アタリになった石が逃げる手(シチョウ、シチョウではない)、ダメ1
int weak_count_capture[3][2];		// 石を取る。[0] 直前にアタリになった石に隣接、[1] 死んでない石 [2] 死んでいる石

参考論文
Remi Coulomさんの
Computing Elo Ratings of Move Patterns in the Game of Go
http://remi.coulom.free.fr/Amsterdam2007/
パターンはほとんど一緒です。地の中に打つか、とか活きている石に隣接、とかが
彩の評価関数を利用してるので独自なだけです。
2眼で活き、なんて分かってないパターン認識同士の対戦
// from 10000 games 2007/07/11
double weak_per_atari[2] = {
	0.25858247,
	0.16966141,
};

double weak_per_dis_border[10] = {
	0.08989176,
	0.17021235,
	0.19639820,
	0.16364013,
	0.12469334,
	0.10030867,
	0.07565354,
	0.05068167,
	0.02533058,
	0.00318976,
};

double weak_per_dis_previous[19] = {
	0.00000000,
	0.34806842,
	0.19200222,
	0.10414766,
	0.06738823,
	0.05174408,
	0.04123988,
	0.03372886,
	0.02649632,
	0.02173406,
	0.01958251,
	0.01846288,
	0.02219849,
	0.02083634,
	0.01414492,
	0.00765432,
	0.00548504,
	0.00323284,
	0.00185295,
};

double weak_per_dis_before_my[19] = {
	0.00003901,
	0.22315984,
	0.15785877,
	0.10947581,
	0.08639322,
	0.07012959,
	0.05824564,
	0.04843545,
	0.04070529,
	0.03498196,
	0.03221084,
	0.03010095,
	0.03020834,
	0.02814421,
	0.02119087,
	0.01226490,
	0.00840247,
	0.00515601,
	0.00289682,
};

// [0] 自分の地の中に打つ、[1] ダメ [2] 相手の地の中 [3] ダメ(自分の地と隣接)[4] ダメ(相手の地と隣接)
double weak_per_area[5] = {
	0.07855661,
	0.74699807,
	0.17444532,
	0.11688949,
	0.27518187,
};

// 隣接して打つ [0] 自分の活石 [1] 自分の不明 [2] 自分の死石 [3-5] 相手
double weak_per_attach[6] = {
	0.24595604,
	0.22499057,
	0.09564305,
	0.38263041,
	0.23532591,
	0.04709409,
};

// アタリになった石が逃げる手(シチョウ、シチョウではない)、ダメ1
double weak_per_escape[2] = { 
	0.01131080,
	0.50542379,
};

// 石を取る。[0] 直前にアタリになった石に隣接、[1] 死んでない石 [2] 死んでいる石
double weak_per_capture[3] = {
	0.63439427,
	0.14260177,
	0.00746258,	
};



元のページに戻る