オセロの先読み探索方法

オセロ思考エンジン内部についてメモ書き。

内部で扱っているデータ構造で以下のようなデータ構造を定義している。

struct ttee{
	int color;     /* プレイヤー番号(自分:1, 相手:-1)*/
	int coo;       /* 置く座標 */
	int flips[20]; /* 置くことによってひっくり返る座標 */
	double eval;   /* 評価値 */
	int depth;     /* 先読みの深さ */
	struct ttee *other; /* 他の手 */
};

このデータ構造は、「手」のデータ構造なんだ。いわゆる線形リスト構造。

せっかく線形リスト構造なので、初めは再帰呼び出しによって各「手」の評価、先読みを行うように書いていた。


んで、昨日からカリカリと再帰ではなく、forループによる各「手」の評価先読みをするように書いてみたんだ。
・・・・クローンコードたくさんしたからバグ取り苦労したけど。


しかし、あんまり速度変わらなかった。むしろホンノ少し遅くなってるかも。
メモリの節約にはなるコードかな?