積みの評価時に,NEXT以降のツモを考慮することを深読みと呼ぶことにする. この内容について検討する.
概要フィールドに,ある積み(NEXT)を置いたと仮定する. そのフィールドにさらにある積み(NEXT2)を置いたと仮定して,その状態を評価する.NEXTを評価するときにNEXT2まで考えることによって,
という積みを採用できるようにすることを,狙う. 具体的にありそうなのは,「発火点から伸ばす」という状況. NEXTを置いた時点では発火点がふさがる(悪状況)が,NEXT2を置いたときには連鎖数が増加していると.
深読みの具体的な実装連鎖数を用いた各積み(NEXT〜NEXT3)の評価深読みでは実際には,未来において連鎖数がどうなるかに着目することとする. 以下の値を導出すれば良いと思っている.
発火候補点については,発火候補点による積みの評価を参照.
連鎖数評価を評価関数へ組み込む方法深読み結果を,実際に評価関数に組み込む時に使用する評価式.RensaYomi4の場合
RensaYomi6の場合
RensaYomi7の場合
その他の話題楽観的読みと現実的読み上述の「発火候補点で発火するとどうなるか?」という読みは,発火候補点で発火できるという前提に立っている. しかし現実には,発火候補点の発火色が来る保証は何もない. 終盤になってフィールドの空きが少なくなってくると,この精度の低さが問題になりそう.具体的には,発火できるだろうと楽観視していたのに,発火色が来る前にフィールドが埋まって窒息死してしまうことが,起こりうる. そこで,今見えているツモ(NEXT〜NEXT3)のみを使って何が起きるか?を読むことを考える. これを,現実的読みと呼ぶことにする. 見えるものしか信じない. それなら常に,現実的読みを使っていれば良いような気もするが,試してみたところ,現実的読みを使った場合は序盤がうまく形にならなかった. そのため,
という風に,読み方を切り替えることにする. もちろん,
という問題は残るわけだが. ...RensaYomi6では下表のように,まず楽観的読みでスタートして,危険度がRedになったら現実的読みに切り替えるという方法を採った.
枝刈り深さnの深読みを行うと,最大22^n手の評価を行う必要がある. この手数をできるだけ少なくして,計算量を削減する. RensaYomi4-2から導入し始めた.明らかに採用しないような悪手を早い段階で候補から排除するわけだが,今のところ
しか排除できていない. |