私の趣味の一つがプログラミングなので、対局囲碁プログラムを作ることになるのは必然でした。
対局囲碁プログラムを作るにあたって、最初に苦労するのが、石の生死判定です。
生きているとはどういうことなのか。
厳密に突き詰めていくことになります。
生きには、2眼の生きとセキ生きの2種類があります。
(セキはまた別途)
「2眼ある石は生き」
この定義のためには、眼の定義が先に必要です。
ところが眼とは、生き石(取られない石)に囲まれている空点、ですので、話がループします。
よくよく考えた結果、2眼の生き石とは、
相手の着手に対して無限にパスをしても取られない石、
のことだと気が付きました。
この定義だと、なんと初心者が最初につまづく「カケ眼」問題も解決します。
相手の着手に無限にパスしても取られなければ眼であり、取られるならカケ眼だということです。
さらに、この定義だと、眼の考えも不要となります。
この図です。

黒は生きてますが、眼はありません。
黒の眼を眼だと判断するためには、中の白1子が死んで居ることを先に判断しなければならないのです。
この黒は、2眼があるから生きているのではなく、白の着手禁止点を2つ持っているから取られない、から生きているのです。
2眼の生きとは、2つの着手禁止点で生き、という意味です。
カケ眼は、ダメが詰まるまでは着手禁止点ですから、ダメが詰まるまでは取られません。
しかし、無限にパス、という評価方法を入れると、簡単にカケ眼であることが判明します。
ちなみに、私のアイコン図の右側の黒は、2つのカケ眼を持つ生き石になっています。
カケ眼だから2眼じゃないけど、2つの着手禁止点だから生き、の証拠です。
以上、理屈っぽいプログラマの戯言でした。
対局囲碁プログラムを作るにあたって、最初に苦労するのが、石の生死判定です。
生きているとはどういうことなのか。
厳密に突き詰めていくことになります。
生きには、2眼の生きとセキ生きの2種類があります。
(セキはまた別途)
「2眼ある石は生き」
この定義のためには、眼の定義が先に必要です。
ところが眼とは、生き石(取られない石)に囲まれている空点、ですので、話がループします。
よくよく考えた結果、2眼の生き石とは、
相手の着手に対して無限にパスをしても取られない石、
のことだと気が付きました。
この定義だと、なんと初心者が最初につまづく「カケ眼」問題も解決します。
相手の着手に無限にパスしても取られなければ眼であり、取られるならカケ眼だということです。
さらに、この定義だと、眼の考えも不要となります。
この図です。

黒は生きてますが、眼はありません。
黒の眼を眼だと判断するためには、中の白1子が死んで居ることを先に判断しなければならないのです。
この黒は、2眼があるから生きているのではなく、白の着手禁止点を2つ持っているから取られない、から生きているのです。
2眼の生きとは、2つの着手禁止点で生き、という意味です。
カケ眼は、ダメが詰まるまでは着手禁止点ですから、ダメが詰まるまでは取られません。
しかし、無限にパス、という評価方法を入れると、簡単にカケ眼であることが判明します。
ちなみに、私のアイコン図の右側の黒は、2つのカケ眼を持つ生き石になっています。
カケ眼だから2眼じゃないけど、2つの着手禁止点だから生き、の証拠です。
以上、理屈っぽいプログラマの戯言でした。