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

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

昨日のエラーの件

 結論から言うと、アルゴリズムの問題でした。

 静止探索ではノードの初期値を「パスしてからStand-Patで*1探索した値」にしているので、本来はPVの中に2回パスが含まれる事は無いはずです。

 ただ、一度パスした状態でハッシュにヒットし、かつ、ハッシュに保存してあったPVにパスが含まれていると、PV中に2回パスが出現する事になってエラーになる(&評価値がおかしくなる)ってのがエラーの状況でした。

 んで、どうしよう…

  1. 探索開始前にハッシュをクリアする
  2. PVに2回パスが含まれてしまうなら、ハッシュの情報を利用しない
  3. パスは何回でもOKにして、2回連続パスで終端する

 実装が楽なのは1だけど、ハッシュを1GB確保していると時間がかかるし、2は実装が面倒だし…

 本音を言うと、ノード数がそんなに増えないなら3にしたいんですけど、どうしよっか…

 

*1:ノードの評価値をそのノードの初期値として