終局判定の不具合について 2002.5.22
1.問題点
原題
●●┬●○●┬
├○●┼○●┼
○○○○○●┼
●●●●●●┼
├┼┼┼┼┼┼
この問題を終局条件(0手寄コウと指定する)で判定すると
<判定対象 5の三 黒先[全点] 着手領域 7/62(0)
勝点(無条件) [1の二] ptnno=6(0s)
無条件死 ptnno=23(0s) 2002/5/23 12:16>
2.原因と修正
(1)
●32●○●┬
1○●┼○●┼
○○○○○●┼
●●●●●●┼
├┼┼┼┼┼┼
(2)(1)の後4の放り込み−−−白負け
4●┬●○●┬
├○●┼○●┼
○○○○○●┼
●●●●●●┼
├┼┼┼┼┼┼
(3)(1)の後4手目手抜き5の放り込みに6と取る
6●┬●○●┬
5○●┼○●┼
○○○○○●┼
●●●●●●┼
├┼┼┼┼┼┼
手抜きの試行順位を最下位にしたため(3)の手順は先に判定した(2)と同型として白負けと判定される。通常判定(寄コウ指定が0以外)では(3)は手抜きがあるため(2)と同型とはみなさないのですが終局条件では同型とみなしていたのが原因です。
とりあえず終局条件の判定には異手順同型の結果を利用しないという処置をした。修正版では以下の判定になります。
<判定対象 5の三 黒先[全点] 着手領域 7/62(0)
手がありません ptnno=31(0s) 2002/5/23 12:18>
上記の問題は終局判定機能の組み込み方に問題があったのですが、一般論として
「同じ形は同じ判定結果になるか」という命題は当然のようでそうでもない厄介な問題です。
現在同型になった場合、その形に至るまでの双方の手抜き数の差(上げ石の差)が同数の場合同じ結果になるとして処理していますが厳密にはやや問題があるかもしれません。3手寄コウを2手寄コウと判定する程度で大勢に影響はないだろうと思っているのですが。