GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

密結合合議って出来ないもんだろうか

 合議は基本的には疎結合なものですが、一部の情報は共有出来ると思うんですよ。

 例えば“詰み”の情報は複数のエンジンで共有しても問題ないはず。これは、評価関数や乱数の違いに依存せず、単純に局面だけに依存する情報なので。

 なので、あるエンジンが詰みを発見したら、それをグローバルなテーブルに記憶しておき、他のエンジンが同一局面の探索を始める前に、テーブルを参照して詰んでいれば探索を省略する、と言うのは可能なはず。

 んで、他にも共有可能な情報があればどんどん共有してやれば、合議のメリットをあまり殺さずに高速化出来ないかな、と。

 もちろん、クラスタ環境で合議を行う場合にどうなのかという問題はありますが*1私は当面1台のPCで合議するつもりなので、そういう問題には目をつぶる事にします。

 ただ、評価関数に依存しない情報ってのはそう多くは無さそうなので、密結合って言ってもそこそこ密にしかならないかも。今考えてるのだと、History Heuristicのテーブルを共有*2とか、その辺しか思いつかないです。

*1:他のマシンのテーブルを逐一参照するのが計算コスト的にどうなのか、とか。

*2:これは厳密に言うと評価値依存だけど、ある程度参考にはなるはず