(57)【要約】  コンピュータ上で囲碁の対局ゲームを行う場合の、囲碁の死活判定システムを提供することを目的とする。  対局者による入力を受け付ける入力受付部と、目標石の死活判定を行う判定処理部と、判定処理部における死活判定の結果を出力する出力処理部と、を備えており、判定処理部は、少なくとも一以上の目標石の指定の入力を受け付け、盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張することで判定領域を補正し、補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、囲碁の死活判定システムである。
2012085991.tif 000002
【特許請求の範囲】
【請求項１】
囲碁の死活判定を行う囲碁の死活判定システムであって、
前記死活判定システムは、
対局者による入力を受け付ける入力受付部と、
目標石の死活判定を行う判定処理部と、
前記判定処理部における死活判定の結果を出力する出力処理部と、を備えており、
前記判定処理部は、
少なくとも一以上の前記目標石の指定の入力を受け付け、
前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張することで判定領域を補正し、
前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、
ことを特徴とする囲碁の死活判定システム。
【請求項２】
前記判定処理部は、
前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張し、前記拡張した点がすでに判定領域に含まれていた場合には、それにより判定領域に内包された外周を判定領域とすることで、判定領域を補正し、
前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、
ことを特徴とする請求項１に記載の囲碁の死活判定システム。
【請求項３】
コンピュータを、
対局者による入力を受け付ける入力受付部、
目標石の死活判定を行う判定処理部、
前記判定処理部における死活判定の結果を出力する出力処理部、として機能させる囲碁の死活判定プログラムであって、
前記判定処理部は、
少なくとも一以上の前記目標石の指定の入力を受け付け、
前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張することで判定領域を補正し、
前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、
ことを特徴とする囲碁の死活判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で囲碁の対局ゲームを行う場合の、囲碁の死活判定システムに関する。
【背景技術】
【０００２】
コンピュータ上でコンピュータを相手に、あるいはネットワークを介してほかのユーザを相手に、囲碁の対局ゲームを行うことが出来る。囲碁は陣地の広さを争うゲームであるが、ある局面において自らの石を活かすためにはどうしたらよいのか、あるいは相手の石を殺すためにはどうしたらよいのか、を常に考慮しながら戦略を立案し、着手を行うことが重要である。【０００３】
例えば、自らの石が死んでいることを早期に判断できれば，当該陣地を放棄し、別の場所に集中を行うことが出来、全体的な戦略としても非常に効率的である。そのため、自らの石、あるいは相手の石が活きているのか死んでいるのかを判断することは、囲碁においては極めて重要である。なお石が活きているのか死んでいるのかを「死活」という。また活きている石とは、相手方の着手により取られない石または取られても新たに相手方に取られない石を生じうる石のことであり、死んでいる石とは、活き石以外であって、相手方の着手により取られる石のことである。【０００４】
また囲碁のゲーム中の戦略のほかにも、終局状態においても石の死活を判断しなくてはならず、その観点からも石の死活は重要である。そのため詰碁と呼ばれる、部分的な死活を問う問題もある。【０００５】
このように、囲碁において、石の死活を判定することは極めて重要であるが、実際に石の死活を判定することは容易ではない。特にコンピュータが自動的に行うことは難しい。そこで、例えば下記特許文献、非特許文献にあるように石の死活にかかる処理を行うシステムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−１２６０２１号公報
【特許文献２】特開平１０−２７２２５９号公報
【特許文献３】特開平１１−２２６２６２号公報
【特許文献４】特開２００２−２９２１２６号公報
【非特許文献】
【０００７】
【非特許文献１】株式会社パンダネット、”実戦詰碁「死活ナビ」”、[online]、インターネット＜ＵＲＬ：http://www.pandanet.co.jp/members/lifedeath/index.htm＞
【非特許文献２】トーマス・ウルフ（Thomas Wolf）、”ＧｏＴｏｏｌｓ”、[online]、インターネット＜ＵＲＬ：http://lie.math.brocku.ca/gotools/＞
【非特許文献３】”詰碁「鈍」”、[online]、インターネット＜ＵＲＬ：http://hp.vector.co.jp/authors/VA024708/＞
【非特許文献４】日本コンピュータ囲碁協会、”詰碁プログラム”、[online]、インターネット＜ＵＲＬ：http://www.geocities.jp/otto4yoshi/jcga/indexkp.html＞
【非特許文献５】加藤恒、山崎勝弘、事例を用いたコンピュータ９路盤囲碁における死活判定、第５３回（平成８年後期）全国大会講演論文集（２）、日本、社団法人情報処理学会、１９９６年９月４日、２−１４５〜２−１４６
【非特許文献６】コンピュータ囲碁の入門、日本、共立出版株式会社、２００５年１１月１０日、初版、ｐ．１０８−１１０、１１４−１１５
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載のシステムでは石の死活に係る処理を行っているものの、それは、対局者が死んでいる石を指定する際に、一つの石を指定することで、当該石に隣接する一群の石も死んでいることを指定することが出来るシステムである。従って、対局者は一つの石を指定するだけで、その周辺の石を指定することなく、一群の石を死んでいる石として指定することが出来るので、対局者が死んでいる石を指定するプロセスを減らすことは出来る。しかし、石の死活そのものは対局者が判断しなくてはならず、また死活を自動的に判定できるシステムではない。【０００９】
また特許文献２に記載のシステムでは、碁盤に置かれている石やその特徴を管理することが出来る。例えば碁盤に置かれている石同士のつながりや一群を構成する石などを管理することが出来る。従って、碁盤の石やその並びの管理などを行うとともに、非常に単純なパターン（たとえば２眼あれば活き）の石の活きの判定を行うことは出来る。しかし、非常に単純なパターンの判定しか行えず、実際の対局での使用に耐えうるものではない。【００１０】
特許文献３に記載のシステムでは、対局の途中で、盤面上にすでに置かれている石が囲碁的に強いか弱いかを判定することは出来る。囲碁的に石が強い、弱いとは、ある石の外側が囲われていればその石は弱く、外側が囲われていなければその石は強いことを意味する。このシステムの場合、ある石の周囲（ここでは４目以内）に置かれている異なる色の石の数によって、当該石の強弱を判定している。しかし、石が囲碁的に強いか弱いかを判定できるだけであり、石の死活判定そのものが行われるわけではない。【００１１】
さらに特許文献４に記載のシステムは、囲碁の終局時に石の死活判定を自動的に行うシステムである。このシステムは終局時、すなわち陣地（閉領域）がすでに出来ていることが前提となり、そのうえで簡易的に死活の判定を行っているに過ぎない。従って、終局していない状態、すなわち対局中に死活の判定を行うことは出来ないし、また終局時であっても、限られたパターンの死活の判定しか行うことは出来ない。【００１２】
以上のように、上述の各特許文献に記載の死活に係る処理では、かならずしも優れた死活判定を行うことが出来ない。【００１３】
また上述の各特許文献に記載の死活判定を行うシステムのほかにも、非特許文献に記載のように、コンピュータ上で石の死活判定を行うシステムがある。例えば、問題図と正解図、想定される失敗図を何パターンも事前に記憶させておき、それらとマッチングさせながら判定を行う方法である。【００１４】
この場合、想定されていない着手が行われた場合には判定を行うことが出来ないし、そもそも問題図と正解図、想定される失敗図のパターンを何パターンも記憶させておくことは、記憶量の問題からあまり好ましいものではない。【００１５】
さらに上述の特許文献および非特許文献、あるいは既存の囲碁の死活判定システムを用いた場合、判定領域の外周が白または黒のいずれか一色で構成されている必要がある。これは、囲碁においては、部分的な死活を判定することが重要ということがあり、それをコンピュータで行うためには、死活の判定対象となる石について脱出（外周領域に連結する）ができない状態、すなわち外周が一色であることが必要である、という前提があったためである。そのため、外周が白および黒の二色から構成されている場合には、判定領域の外周が一色となるように盤面を変形した上で、死活判定処理を行う必要がある。【００１６】
しかし盤面の変形の自動化の性能は高いとは言えない。一方で、ユーザが盤面を手動で変形するには、囲碁に関する知識が必要で、誰でもが容易に行えるものではない。【００１７】
たとえば、死活判定の対象となる盤面が図２１の場合、外周に白石および黒石の二色が含まれていることから、たとえば図２２のように外周が白石一色となるように、ユーザがまたは自動的に変形をしないと、従来の死活判定システムでは判定を行うことが出来ない。【００１８】
また、仮に盤面の変形が自動化できても、あるいはユーザが盤面を手動で変形できても、外周が一色の場合の死活判定しか行うことができず、汎用性に欠けている。とくに、対局中の盤面について死活判定を行う場合には、外周に白および黒の双方が含まれることも多い。そのため、外周に白および黒の二色が含まれている場合であっても、死活判定をコンピュータで行えることが望まれている。
【課題を解決するための手段】
【００１９】
そこで本願発明では、上述の課題に鑑み、外周に白石および黒石の双方が含まれている場合であっても、死活判定処理が可能な囲碁の死活判定システムを発明した。【００２０】
第１の発明は、囲碁の死活判定を行う囲碁の死活判定システムであって、前記死活判定システムは、対局者による入力を受け付ける入力受付部と、目標石の死活判定を行う判定処理部と、前記判定処理部における死活判定の結果を出力する出力処理部と、を備えており、前記判定処理部は、少なくとも一以上の前記目標石の指定の入力を受け付け、前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張することで判定領域を補正し、前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、囲碁の死活判定システムである。【００２１】
本願発明のように、外周から脱出に対応した場合の処理を設けることで、外周に白および黒の双方が含まれる場合であっても、死活判定処理が可能となる。これによって、汎用性の高い死活判定システムが可能となる。【００２２】
上述の発明において、以下のような処理とすることで、精度を向上させることができる。すなわち、前記判定処理部は、前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張し、前記拡張した点がすでに判定領域に含まれていた場合には、それにより判定領域に内包された外周を判定領域とすることで、判定領域を補正し、前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、囲碁の死活判定システムのように構成することもできる。【００２３】
また、従来は死活判定をコンピュータで行えるのは、外周が一箇所の場合である。そのため、外周が二箇所以上となる場合には、外周が一箇所となるように補正しなければ死活判定を行うことができなかった。たとえば、死活判定の対象となる盤面が図２３の場合、外周が二箇所に分かれている。そのため、たとえば図２４のように、外周が一箇所となるように、自動的にあるいはユーザが変形をしないと、従来の死活判定システムで判定を行うことができなかった。【００２４】
しかし、外周が二色の場合と同様に、囲碁の対局の盤面においては、外周が複数領域となる場合も多く、そのような場合にも死活判定システムを用いることが望まれていた。そこで、本発明を用いることで、外周が二箇所以上の場合であっても、対応することが可能となる。【００２５】
外周が一箇所、すなわち外周領域が一箇所の場合、外周となる石は一群のみなので、脱出可能な点は最大でも２点であった。しかし外周が複数箇所になる場合には、死活判定処理の際に、脱出可能な点が３点以上となってもよいように、判定領域の設定を補正する必要がある。一方、囲碁的には、脱出すると、原則的として活きとみなして良いが、脱出したとしてもさらにその外側が相手方の石で囲われているような場合には必ずしも活きるとは限らない。しかし、盤端が空いている場合には、かかる状況が発生しにくくなるので、活きとみなして問題がないと言える。とすると、石が外周に逃げた方が活きやすくなると考えられる。【００２６】
そこで、本発明のように、外周に内包され盤端が空いていない領域については、活きない可能性があるため、外周に内包された領域を判定領域として含めることによって、精度を高めることができる。【００２７】
本発明のコンピュータプログラムをコンピュータに読み込ませて実行することで、第１の発明を構成することができる。すなわち、コンピュータを、対局者による入力を受け付ける入力受付部、目標石の死活判定を行う判定処理部、前記判定処理部における死活判定の結果を出力する出力処理部、として機能させる囲碁の死活判定プログラムであって、前記判定処理部は、少なくとも一以上の前記目標石の指定の入力を受け付け、前記盤面において、外周と盤端とが所定の範囲以内で離れている点を特定し、離れている距離に応じて判定領域を外周領域の方向に拡張することで判定領域を補正し、前記補正後の判定領域において、任意の石が脱出したときに該石が目標石であった場合には活きと判定し、該石が目標石以外であった場合には、該石を取られない石として該石に連結した目標石は活きとするという条件を付加した上で死活判定処理を実行する、囲碁の死活判定プログラムのように構成することもできる。
【発明の効果】
【００２８】
本発明の囲碁の死活判定システムを用いることによって、外周に白石および黒石の双方が含まれている場合であっても、そのまま死活判定をすることが可能となる。これによって、従来よりも、死活判定が行える場合が増える。
【図面の簡単な説明】
【００２９】
【図１】囲碁の対局をネットワークを介して実現する場合の構成の一例を模式的に示す図である。
【図２】本発明の全体の処理機能の一例を模式的に示す図である。
【図３】本発明で用いられるコンピュータのハードウェア構成の一例を模式的に示す図である。
【図４】判定処理部の処理機能の一例を模式的に示す図である。
【図５】本発明のフローチャートの一例を模式的に示す図である。
【図６】判定領域補正処理のフローチャートの一例を模式的に示す図である。
【図７】判定領域補正処理において外周領域の一部または全部を判定領域とする場合のフローチャートの一例を模式的に示す図である。
【図８】死活判定処理のフローチャートの一例を模式的に示す図である。
【図９】活き死にのフローチャートの一例を模式的に示す図である。
【図１０】目標石の脱出判定処理のフローチャートの一例を模式的に示す図である。
【図１１】脱出可能な着点を求める処理のフローチャートの一例を模式的に示す図である。
【図１２】連結判定処理のフローチャートの一例を模式的に示す図である。
【図１３】Ｅ点を示す図である。
【図１４】複数の石の群におけるＥ点を求める処理を示す図である。
【図１５】Ｏ点を示す図である。
【図１６】複数の石の群におけるＯ点を求める処理を示す図である。
【図１７】Ｅ空点、Ｏ空点の一例を示す図である。
【図１８】対局画面の一例を示す図である。
【図１９】編集画面の一例を示す図である。
【図２０】編集画面の一例を示す図である。
【図２１】従来はそのままでは死活判定ができなかった盤面の一例を示す図である。
【図２２】図２１の盤面に対して、従来どおりの変形を行った盤面の一例を示す図である。
【図２３】従来はそのままでは死活判定ができなかった盤面の一例を示す図である。
【図２４】図２３の盤面に対して、従来どおりの変形を行った盤面の一例を示す図である。
【発明を実施するための形態】
【００３０】
本発明の囲碁の死活判定システム１（以下、単に「死活判定システム１」という）は、インターネットなどのネットワークを介した囲碁の対局システムにおいて、あるいはネットワークを介さない囲碁の対局システムにおいて、用いることが出来る。なお、本明細書では対局システムと同時に、死活判定システム１を用いる場合を説明するが、死活判定システム１単独で機能させることも可能である。その場合にも同様に処理が行える。
【００３１】
図１に、本発明の死活判定システム１を備えた、ネットワークを介した囲碁の対局システムの構成の一例を模式的に示す。この場合、各対局者が利用するコンピュータ（対局者端末３）と、対局システムを実現するサーバ２とがネットワークを介して情報の送受信が可能である。本明細書では、対局システムと死活判定システム１とは同一のサーバ２内で処理が実行される場合を示すが、異なるサーバ２で処理が実行されていても良い。また上述のように、サーバ２で対局システムが実現されるほか、死活判定システム１を備えた対局システムが対局者端末３に備えられることで、ネットワークを介さずに本発明に係る処理が実行されても良い。また、対局システムに本発明の死活判定システム１がその機能として組み込まれ、一体的に構成されていても良い。
【００３２】
なお死活判定システム１、対局システムは、サーバ２以外にも、パーソナルコンピュータ端末や、携帯電話、ＰＨＳ、ＰＤＡ、スマートフォンなどの可搬型通信端末であっても良い。また、対局者端末３は、可搬型通信端末であっても良い。なお、サーバ２、パーソナルコンピュータ端末、可搬型端末などを総称してコンピュータと呼ぶ。
【００３３】
本発明の囲碁の死活判定システム１の処理機能の一例の概念図を模式的に図２に示す。上述のように、本明細書ではネットワークを介して囲碁の対局システムが構成される場合なので、サーバ２に各処理機能が備えられ、対局者が利用する対局者端末３との間で情報の送受信をネットワークを介して行うことで、その処理が実現される。
【００３４】
またサーバ２および対局者端末３であるパーソナルコンピュータ端末などの、コンピュータのハードウェア構成の一例を図３に模式的に示す。コンピュータは、プログラムの演算処理を実行するＣＰＵなどの演算装置１０と、情報を記憶するＲＡＭやハードディスクなどの記憶装置１１と、ディスプレイ（画面）などの表示装置１２と、キーボードやポインティングデバイス（マウスやテンキーなど）などの入力装置１３と、演算装置１０の処理結果や記憶装置１１に記憶する情報をインターネットやＬＡＮなどのネットワークを介して送受信する通信装置１４とを有している。コンピュータ上で実現する各機能（各手段）は、その処理を実行する手段（プログラムやモジュールなど）が演算装置１０に読み込まれることでその処理が実行される。各機能は、記憶装置１１に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置１１から読み出し、読み出した情報を適宜、演算装置１０における処理に用いる。また、コンピュータは、複数のコンピュータに、その機能が分散配置されていても良い。
【００３５】
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。
【００３６】
サーバ２は入力受付部２０と判定処理部２１と出力処理部２２とを有する。なお本明細書では図示していないが、同一または異なるサーバ２には、囲碁の対局システムを実現する処理機能が備えられており、そこでは盤面の情報（すなわち、どの目にどの石が置かれているか、手番など、囲碁の対局をコンピュータで実現するために必要な情報）を記憶・管理している。そして死活判定処理システムが死活判定処理を行う場合には、その盤面の情報などを適宜、対局システムから取得し、死活判定処理に用いる。
【００３７】
入力受付部２０は、死活判定を行うことの要求や着手の情報、手番の情報、判定対象の石、目標石などの情報などの死活判定を行うのに必要な情報を対局者端末３から受け付ける。また出力処理部２２は、判定処理部２１における処理結果や対局者端末３に表示させる情報などを、対局者端末３に送る。
【００３８】
判定処理部２１は、入力受付部２０で死活判定処理を行うことの要求を対局者端末３から受け付けると、対局システムから盤面の情報を取得し、その盤面または対局者によって編集された編集後の盤面の情報に基づいて死活判定処理を行う。またこの際に、盤面すべてについてではなく、どの領域について死活判定処理を行うかの領域を指定する情報を対局者端末３から受け付けることで、当該領域についての盤面の情報を取得し、死活判定処理を行っても良い。また、そのほか手番の情報、判定対象の石、目標石などの死活判定処理に必要な情報を対局者端末３から入力受付部２０が受け付け、あるいは自動的に判定し、それを用いて処理を実行する。
【００３９】
死活判定処理は基本的には、従来と同様に、石が置かれていない点に総あたりで石を置き、それをすべてのパターンについて逐次判定することで、石の死活判定処理を行うが、その前提として、外周（後述）が一色かつ一箇所でなければ判定を行うことが出来ない。そこで本願発明の判定処理部２１では、第１処理部２１０と第２処理部２１１とを備え、それらの処理を実行することで、従来は実行できなかった、あるいは外周を変形してからでなければ実行できなかった死活判定処理を実行する。
【００４０】
なお判定処理部２１においては、目標石（後述）の活き死にの判定処理を実行するが、その場合には、従来と同様の死活判定処理プログラムを用いることが出来る。なお以下の実施例では、総あたりによる死活判定処理を行う場合を示すが、それ以外の従来の死活判定処理プログラムによる方法を用いることも可能である。また総あたりでの死活判定処理とは、従来の死活判定処理プログラムにおいて用いられている死活判定処理であっても良く、必ずしも判定領域内のすべての空点に対する総あたり処理を行わなくても良い。例えば判定領域内の空点のうち、一部の空点については処理を省略するなどの方法であっても良い。たとえば、価値が全く同じ着手が複数あった場合、一つの着手のみを実行する、といったように処理を省略する方法などがある。すなわち、活き死にの判定処理は、任意の方法により、判定領域内にある目標石に対しての活き死にの判定処理を実行できる方法であれば如何なる方法であっても良い。また本明細書での活き死にの判定処理として総あたり（または一部の空点について処理を行わない効率化処理を施した総あたり）での判定処理の場合を示すが、総あたりでの死活判定処理でなくても、活き死にを判定できる方法であれば、如何なる方法を用いることも出来る。
【００４１】
なお、従来の死活判定処理プログラムの一例として、上述の各非特許文献に記載のコンピュータプログラムなどがあり、それらを適宜用いることが可能であるが、それらに限定されるものではない。
【００４２】
さらに上記のほかに、特許第４６０７２３０号、特許第４６０７２３６号、特願２０１０−５０４０６号、特願２０１０−５０４０７号、特願２０１０−５０４０８号などの死活判定処理を用いることも出来る。
【００４３】
なお、後述の各実施例の説明で用いる用語を以下に説明する。判定対象の石とは、活きまたは死にの結論を出すべき石であり、判定領域内の一方の色の石のすべてが含まれる。少なくとも一つの石が活きる場合、死活判定の結果は活きとなり、すべての石が取られる場合、死活判定の結果は死にとなる。また目標石とは判定対象の石の一部の石またはすべての石であって、活きまたは死にの結論を出すべき石である。ただし目標石が指定された場合、目標石のすべてが活きる場合には死活判定の結果は活きとなり、目標石の少なくとも一つの石が取られる場合には死活判定の結果は死にとなる。なお目標石は対局者によって指定されても指定されなくても良い。
【００４４】
判定領域とは、判定の際、石の着手を可能とする領域である。グループとは隣接（縦横に位置する石）して連結している同色の石の集まりである。外周領域とは、判定領域以外の一部または全部の領域にある点である。外周とは、外周領域内の点であって、かつＥ点またはＯ点が判定領域に含まれる点である。
【００４５】
判定処理部２１は、第１処理部２１０と第２処理部２１１とを有している。
【００４６】
従来の死活判定処理では、外周を形成する石は一群（一色かつ一箇所）であったため、脱出可能な点は最大で２点である。しかしそれでは上述のような制限が出来る。しかし外周を形成する石の群が複数箇所となると、判定の際に脱出可能な点が３点以上となるように判定領域の設定方法を変更する必要がある。そこでその処理を第１処理部２１０で実行する。
【００４７】
具体的には、まず第１処理部２１０は、外周と盤端とが２路以内（なお、２路に限られず、１路、３路など所定範囲内であればよい）で離れている点を、好ましくはすべて求め、離れている距離に応じて判定領域を外周領域の方向に拡張する。そして拡張した点がすでに判定領域に含まれていた場合には、それにより判定領域に内包された外周の領域（外周領域）をすべて判定領域として設定する。
【００４８】
また第２処理部２１１は、第１処理部２１０で補正された判定領域に対して、第２処理部２１１が活きに死の判定処理を実行する処理を実行する。すなわち、第１処理部２１０で設定した判定領域において、ある石が脱出したときに、目標石が全く指定されていない、あるいは脱出した石が目標石であった場合は活きと判定し、それ以外の場合には、その脱出した石は取られない石として、判定処理を継続する。そしてこの際に、その石（取られない石）に連結した目標石は、活きとする条件を付加した上で、判定処理を継続する。
【００４９】
なお、目標石の活き死にの判定処理は、従来と同様の死活判定処理プログラムを用いることが出来る。以下の各実施例では、総あたりによる目標石の死活判定処理を行う場合を示すが、それ以外の従来の死活判定処理プログラムによる方法を用いることも可能である。また総あたりでの死活判定処理とは、従来の死活判定処理プログラムにおいて用いられている死活判定処理であっても良く、必ずしも判定領域内のすべての空点に対する総あたり処理を行わなくても良い。たとえば判定領域内の空点のうち、一部の空点については処理を省略するなどの方法であっても良い。たとえば、価値が全く同じ着手が複数あった場合、一つの着手のみを実行する、といったように処理を省略する方法などがある。
【００５０】
また、第２処理部２１１は、従来の、目標石の死活判定処理を高速化するための各種の処理（高速判定処理）、たとえば、特許第４６０７２３０号、特許第４６０７２３６号、特願２０１０−５０４０６号、特願２０１０−５０４０７号、特願２０１０−５０４０８号などの死活判定処理を用いることも出来る。
【００５１】
たとえば総あたり（または一部）の死活判定処理を行うにあたり、各点に対して与えられる着手の優先度について、死活判定の結果が出る可能性が高い点から優先的に総あたりを行うように、各点の処理を優先度を変更した上で、その優先度に従って、総あたり（または一部）の死活判定処理を実行する方法がある。
【００５２】
また、総あたり（または一部）の死活判定処理を行うにあたり、処理対象となる点を減らした上で、総あたりの死活判定処理を実行する方法がある。そして処理対象となる点を減らす処理としては、たとえば、本来または補正後の判定領域のうち、目標石を含む閉領域（相手の石を無視して自分の石のみまたは自分の石と盤端とで閉じている領域）を抽出し、その閉領域の外側の点であって所定条件を充足する点（たとえば外周に隣接する点のうち少なくとも一以上の点）に、目標石とは異なる色の石を配置し、新たに配置した石を外周とみなすことで、処理対象となる点を減らす。あるいは、判定領域のうち外周のＥ空点を抽出し、抽出したＥ空点のうち少なくとも一以上の点（たとえば、判定領域のうち外周のＥ空点を抽出し、その各点のＥ点に外周の石が２以上含まれ、目標石が一つも含まれていない点）に、目標石とは異なる色の石を配置し、新たに配置した石を外周とみなすことで、処理対象となる点を減らす。このようにして処理対象となる点を減らした上で、総あたりまたは一部あたりの死活判定処理を実行する。
【００５３】
さらに、総あたり（または一部）の死活判定処理を行うにあたり、判定領域の盤面を所定の方法で分割し、それぞれの眼形に変形した上で、死活判定処理を実行する。つまり、判定領域の盤面を所定の方法で分割し、分割した領域のうち一の領域について、もっとも不利な眼形の形状に変形した上で、判定領域全体の総あたりまたは一部あたりの死活判定処理を実行する。
【００５４】
加えて、総あたり（または一部）の死活判定処理を行うにあたり、着手を制限し、通常の活きの条件のほかに目標石に隣接する空点が多ければ活きと判定することで、容易に死ぬ石かどうかを判定する総あたりまたは一部あたりの死活判定処理を実行する。
【００５５】
以上のような高速判定処理を実行することで、単純な総あたりの処理よりも早く、死活の判定を行うことが可能となる。
【実施例１】
【００５６】
まず以下の実施例の説明で用いるデータ形式および用語を以下に説明する。【００５７】
盤面データはＢｏａｒｄ［ｘ］［ｙ］とする（ただし１≦ｘ≦１９，１≦ｙ≦１９）。そして盤面の各点は空点であれば０、黒石があれば１、白石があれば２が代入される。
手番はｔｎで示される。なおｔｎ＾３で相手の石の色になるが、「＾」はビット演算を示す。
判定対象の石はＨ［ｘ］［ｙ］とする。判定対象となる石には１、目標石でもある石には２が代入される。
判定領域はＡｒｅａ［ｘ］［ｙ］とする（ただし１≦ｘ≦１９，１≦ｙ≦１９）。判定領域である点には１が代入され、判定領域外の点には０が代入される。
グループ化とは、ある点から同じ色で、縦または横に隣接している点の集合を配列に代入する処理である。【００５８】
Ｅ点とは、その石から縦路または横路に隣接している（距離が１だけ離れた）点の集合である。図１３に示すように、黒１子に対するＥと書かれている点がＥ点となる。また、複数の石の群におけるＥ点は、その石群を構成するすべての石のＥ点の和集合から、その石群が存在する点を除いたものとなる。これを示す一例が図１４である。【００５９】
Ｏ点とは、その石から斜めに隣接している（距離が１だけ離れた）点の集合である。図１５に示すように、黒１子に対するＯと書かれている点がＯ点となる。また、複数の石の群におけるＯ点は、その石群を構成するすべての石のＯ点の和集合から、その石群が存在する点とその石群のＥ点に含まれる点を除いたものとなる。これを示す一例が図１６である。【００６０】
Ｅ空点とは、その石群のＥ点のうち、いずれの石も置かれていない点の集合である。Ｏ空点とは、その石群のＯ点のうち、いずれの石も置かれていない点の集合である。これらの一例を示すのが図１７である。【００６１】
またある点の群（同じ色で縦横に繋がっている点の集合）を取得した場合には、その結果が配列に代入される。たとえばある点（ｘ１，ｙ１）の群を配列Ｇに代入した場合、Ｇ[ｘ］［ｙ］に、群の点であれば１が、群の点でなければ０が代入される。【００６２】
またある点を含む特定の色の閉領域を取得した場合、その結果が配列に代入される。たとえばある点（ｘ１，ｙ１）を含むｔｎの閉領域を配列Ｃに代入した場合、Ｃ［ｘ］［ｙ］に、閉領域を構成する石であれば１が、閉領域の内部を構成する点であれば２が、それ以外の点であれば０が代入される。【００６３】
つぎに本実施例における死活判定処理システムにおける処理プロセスの一例を図５乃至図１２を用いて説明する。【００６４】
対局者が利用する対局者端末３同士では、ネットワークを介して囲碁の対局が行われている。この際に囲碁の対局は対局システムを実現するサーバ２上でその処理が行われている。そしてその対局中、あるいは終局後、対局者のいずれかがその表示される画面から所定のボタン等を押下することで、死活判定処理を行うことの要求が対局者端末３から、死活判定処理を行うサーバ２に送信される。対局画面の一例を図１８に示す。【００６５】
対局画面が図１８の場合、その画面のうち、「死活ナビ」など、死活判定処理を行うことを要求するボタンを押下することで、死活判定処理を行うことの要求が対局者端末３からサーバ２に送信される。【００６６】
サーバ２の入力受付部２０でその要求を受け付けると、判定処理部２１は、対局システムの記憶装置１１から当該盤面の情報（たとえば棋譜の情報）を取得する。そして盤面の情報が含まれた死活判定処理の画面を出力処理部２２が対局者端末３に送信する。この際の画面の一例が図１９である。なお実際に対局している盤面の情報のほか、すでに対局し、所定の記憶装置１１に保存している棋譜の情報、あるいは観戦している対局の棋譜の情報を判定処理部２１が対局システムの記憶装置１１から取得し、その棋譜の情報を図１９の画面に含めて対局者端末３に送信しても良い。【００６７】
死活判定を行う対局者は、図１９に示す死活判定処理を行う画面から盤面の編集を行う。例えば表示されている石を指定することで、石を取り除いたり、あるいは石を置く。またマウスなどの入力装置１３をクリックやドラッグするなどにより、判定領域を指定する。このように死活判定処理を所望する対局者は、適宜、盤面の情報を編集する。この際の編集される石の情報、手番の情報などは、対局者端末３からサーバ２に適宜、送られる。なお、判定領域は、盤面の情報に基づいて自動的に設定されても良い。【００６８】
上述のように対局者が判定領域を指定することにより、その判定領域内にある結論を出すべき石を判定対象の石として設定する。なお、対局者が判定対象の石のうち、さらに特定の石を結論を出すべき石（目標石）として設定する。なお判定対象の石のすべてを目標石として設定しても良いし、一部であっても良い。【００６９】
編集後の死活判定処理を行う画面の一例を図２０に示す。なお図２０では目標石が黒の１６子、手番は白であるとする。囲碁において「手番」とは次の順番の石の色を示すほか、手番から見た勝ち負け（活き死に）を判定することを示す。従って、この場合、次の順番は白石であり、さらに白石から見て黒の１６子の死活判定を行うことを意味している。【００７０】
例えば図２０の画面における「判定開始」を押下することで、編集後の盤面の情報（棋譜の情報と目標石の情報など）と手番の情報と、死活判定処理を開始することの要求とが対局者端末３からサーバ２に送信される。サーバ２の入力受付部２０で編集後の盤面の情報と手番の情報と死活判定処理を開始することの要求を受け付けると、判定処理部２１は、入力を受け付けた編集後の盤面の情報に基づいて、死活判定処理を開始する。【００７１】
まず判定処理部２１は、第１処理部２１０において、判定領域の補正処理を実行する（Ｓ１００）。【００７２】
具体的には、まず、第１処理部２１０は、外周の石が連結するように、外周と同色の石を隣接させて配置する（Ｓ１０００）。そして第１処理部２１０は、盤端から一線または二線の領域を拡張するのに必要な外周と同色の石を二線または三線に配置する（Ｓ１０１０）。【００７３】
そして、Ｓ１０００またはＳ１０１０で判定領域および盤面が変化した場合には、再度、Ｓ１０００以降を反復処理する（Ｓ１０２０）。【００７４】
一方、Ｓ１０００またはＳ１０１０で判定領域および盤面が変化しなかった場合には、第１処理部２１０は、Ｓ１０３０の処理を実行する（Ｓ１０２０）。すなわち、第１処理部２１０は、判定領域に内包された外周領域が存在した場合に、その外周領域を判定領域とする処理を実行する（Ｓ１０３０）。【００７５】
具体的には、まず、すべての点（ｘ，ｙ）に対して、配列Ｂ［ｘ］［ｙ］＝Ｈ［ｘ］［ｙ］を代入する（Ｓ１１００）。【００７６】
そして、Ｂ［ｘ］［ｙ］＝０となるすべての点（ｘ，ｙ）に対して、まず、点（ｘ，ｙ）を一群とする。すなわち、配列Ｇ［ｘ’］［ｙ’］＝１とする（Ｓ１１１０）。【００７７】
そして、Ｇ［ｘ’］［ｙ’］＝１となるすべての点（ｘ’、ｙ’）に対して、Ｂ［ｘ’］［ｙ’］＝１を代入する（Ｓ１１２０）。【００７８】
Ｓ１１２０の処理をすべての点（ｘ’，ｙ’）に対して実行すると、Ｇ［ｘ’］［ｙ’］＝１となる点（ｘ’，ｙ’）に対して、点（ｘ’，ｙ’）が盤端の座標であるかを判定する（Ｓ１１３０）。もし盤端の座標である場合には、上記の反復処理を中断し、Ｂ［ｘ］［ｙ］＝０となる点（ｘ，ｙ）の次の点の処理に移る。一方、盤端の座標ではない場合には、次の点（ｘ’，ｙ’）について、Ｓ１１３０の処理を実行する。【００７９】
Ｓ１１３０の処理において、すべての点（ｘ’，ｙ’）が盤端の座標ではないならば、次に、Ｇ［ｘ’］［ｙ’］＝１となるすべての点（ｘ’，ｙ’）について、Ｈ［ｘ’］［ｙ’］＝１を代入する（Ｓ１１４０）。【００８０】
Ｓ１１４０の処理を、Ｇ［ｘ’］［ｙ’］＝１となるすべての点（ｘ’，ｙ’）に対して実行すると、Ｂ［ｘ］［ｙ］＝０となる点（ｘ，ｙ）の次の点の処理に移る。【００８１】
以上の処理を、すべてのＢ［ｘ］［ｙ］＝０となる点（ｘ，ｙ）に対して実行することで、第１処理部２１０は、判定領域に内包された外周領域が存在した場合に、その外周領域を判定領域とする処理を実行できる。【００８２】
以上のようにしてＳ１０３０の処理を実行後、第１処理部２１０は、Ｓ１０３０で判定領域および盤面が変化したかを判定する（Ｓ１０４０）。もし判定領域および盤面が変化した場合には、再度、Ｓ１０００から上述の処理を実行する。一方、判定領域および盤面が変化しなかった場合には、第１処理部２１０は、判定領域の補正処理を終了する。【００８３】
次に、判定処理部２１は、第１処理部２１０における処理を終了後、第２処理部２１１における処理を実行する（Ｓ２００）。【００８４】
まず第２処理部２１１は、第１処理部２１０で補正した判定領域において、目標石の活き死にの高速判定処理を実行し、それが成功したかどうかを判定する。たとえば、特許第４６０７２３０号、特許第４６０７２３６号、特願２０１０−５０４０６号、特願２０１０−５０４０７号、特願２０１０−５０４０８号などの高速死活判定処理を、Ｓ１００における補正後の判定領域に基づいて実行し、それによって目標石の活き死にの結論が出たかを判定する（Ｓ２００５）。そして結論が出た場合には、その判定結果を出力処理部２２で出力する。すなわち、死活判定の結果を出力処理部２２がその処理結果を対局者端末３に送信する。この画面を対局者が見ることで、死活の判定結果を知ることができる。【００８５】
たとえば、総あたり（または一部）の死活判定処理を行うにあたり、死活判定の結果が出る可能性が高い点から優先的に総あたりを行うように、各点の処理を優先度を変更した上で、その優先度に従って、総あたり（または一部）の死活判定処理を実行する。【００８６】
また、総あたり（または一部）の死活判定処理を行うにあたり、処理対象となる点を減らした上で、総あたりの死活判定処理を実行する。【００８７】
さらに、総あたり（または一部）の死活判定処理を行うにあたり、判定領域の盤面を所定の方法で分割し、それぞれの眼形に変形した上で、死活判定処理を実行する。つまり、判定領域の盤面を所定の方法で分割し、分割した領域のうち一の領域について、もっとも不利な眼形の形状に変形した上で、判定領域全体の死活判定処理を実行する。【００８８】
加えて、総あたり（または一部）の死活判定処理を行うにあたり、着手を制限し、通常の活きの条件のほかに目標石に隣接する空点が多ければ活きと判定することで、容易に死ぬ石かどうかを判定する死活判定処理を実行する。【００８９】
以上のように、第２処理部２１１は、Ｓ１００で補正した判定領域に対して、高速判定処理を実行し、その実行結果が出た場合には、それによる活き死にの結果を出力する。一方、高速判定処理によって活き死にの結果が出なかった場合には、Ｓ２０２０以降の処理を実行する。【００９０】
なお、高速判定処理を実行するかは、任意であることから実行をしなくても良い。その場合には、Ｓ２０１０の処理をすぐに実行する。すなわち、手番と目標石の色が一致するかを判定する（Ｓ２０１０）。すなわち、目標石の色が黒であって、手番が黒の場合には一致すると判定し、手番が白の場合には一致しないと判定する。【００９１】
手番と目標石の色が一致する場合には、当該手番で着手可能な点ｐ（すべての点ｐであっても良いし、すべてでなくても良い）に対して、Ｓ２０２０、Ｓ２０３０、Ｓ２０４０、Ｓ２０５０、Ｓ２０６０、Ｓ２０７０、Ｓ２０８０、Ｓ２０９０を実行する。一方、手番と目標石の色が一致しない場合には、当該手番で着手可能なすべての点ｐ（すべての点ｐであっても良いし、すべてでなくても良い）に対して、Ｓ２０２５、Ｓ２０３５、Ｓ２０４５、Ｓ２０５５、Ｓ２０６５、Ｓ２０７５、Ｓ２０８５、Ｓ２０９５の処理を実行する。【００９２】
まず手番と目標石の色が一致する場合には、手番ｔｎ’で着手可能な点ｐについて、ｔｎ’で着手を行う（Ｓ２０２０）。そして、その着手に基づいて、生死判定処理（活き死にの判定処理）を実行する（Ｓ２０３０）。【００９３】
まず第２処理部２１１は、Ｓ２０２０で着手が行われた状態において、目標石の脱出判定処理を実行する（Ｓ２１００）。【００９４】
目標石の脱出判定処理としては、まず、脱出可能な着点となる点を求め、配列Ｄに代入をする（Ｓ２２００）。なお脱出可能な着点となる点があるかを求めるには、外周に隣接する点であって、そこに着手すれば脱出できる点、あるいは、すでに脱出済の点に隣接している点であって、そこに着手すれば脱出できる点、を求めればよい。【００９５】
すなわち、Ｓ２２００の処理は、まず、判定領域であるＡｒｅａ［ｘ］［ｙ］＝１となるすべての点（ｘ，ｙ）について、点（ｘ，ｙ）のＥ点を求める。そして、Ｅ［ｘ’］［ｙ’］＝１かつＨ［ｘ’］［ｙ’］＝０となる点を求める。【００９６】
そしてそれを満たす点（ｘ’，ｙ’）に対して、Ｂｏａｒｄ［ｘ’］［ｙ’］≠ｔｎ＾３、すなわちＢｏａｒｄ［ｘ’］［ｙ’］が、相手の色の石ではないかを判定する（Ｓ２３００）。【００９７】
もしそうでないならば、点（ｘ，ｙ）を配列Ｄに追加する（Ｓ２３１０）。そして、点（ｘ，ｙ）のＥ点であって、Ｅ［ｘ］［ｙ］＝１かつＨ［ｘ’］［ｙ’］＝０となる次の点の処理を実行する。【００９８】
一方、Ｓ２３００において、Ｂｏａｒｄ［ｘ’］［ｙ’］＝ｔｎ＾３の場合には、点（ｘ，ｙ）のＥ点であって、Ｅ［ｘ］［ｙ］＝１かつＨ［ｘ’］［ｙ’］＝０となる次の点の処理を実行する。【００９９】
以上の処理を、点（ｘ，ｙ）のＥ点であって、Ｅ［ｘ］［ｙ］＝１かつＨ［ｘ’］［ｙ’］＝０となるすべての点に対して処理を実行する。【０１００】
つぎに、点（ｘ，ｙ）のＥ点であって、Ｅ［ｘ’］［ｙ’］＝１となる点に対して、点（ｘ’，ｙ’）の点の石が脱出済であるかを判定する（Ｓ２３２０）。なお脱出済であるとは、判定領域内のある石が、外周と連結した（連結可能な状態となった）状態である。また目標石が脱出済として判定できた場合、活きと判定する。【０１０１】
もし脱出済ではない場合、点（ｘ，ｙ）のＥ点であって、Ｅ［ｘ’］［ｙ’］＝１となる次の点に対して、Ｓ２３２０の処理を実行する。一方、脱出済の場合、点（ｘ，ｙ）を配列Ｄに追加し（Ｓ２３３０）、Ａｒｅａ［ｘ］［ｙ］＝１となる次の点（ｘ，ｙ）の処理を実行する。【０１０２】
以上の処理を、Ａｒｅａ［ｘ］［ｙ］＝１となるすべての点（ｘ，ｙ）に対して実行することで、脱出可能な着点となる点を求め、その点を配列Ｄに代入する処理、すなわちＳ２２００の処理を実行できる。【０１０３】
以上のようにして、Ｓ２２００の処理を実行することで脱出可能な着点となる点を求めることができる。そして、第２処理部２１１は、配列Ｄ内のいずれかの点Ｐ１が、着手可能な点ｐと連結が可能かを判定する（Ｓ２２１０）。すなわち、外周と連結できるかどうかの判定を行う。【０１０４】
なお、ある点ＰＡと点ＰＢとが連結可能かは、以下のような処理を第２処理部２１１で実行することで判定できる。【０１０５】
まず、点ＰＡと点ＰＢとで、手番ｔｎの石が縦横に連結しているかを判定する（Ｓ３００）。そして、連結をしている場合には、連結可能と判定する。一方、連結をしていない場合には、判定領域に着手可能な点が存在するかを判定する（Ｓ３１０）。もし、着手可能な点が存在しない場合には、連結不可能と判定する。【０１０６】
そして判定領域に着手可能な点が存在する場合であって、点Ｐ１で手番ｔｎとは異なる色（ｔｎ＾３）が着手可能である点について、ｔｎ＾３をＰ１に着手する（Ｓ３２０）。そして、つぎに点Ｐ２で手番ｔｎと同じ色が着手可能である点について、ｔｎをＰ２に着手する（Ｓ３３０）。そして、Ｓ３２０、Ｓ３３０での着手後の状態で点ＰＡ、ＰＢが縦または横に連結しているかを判定し（Ｓ３４０）、連結していない場合には、点Ｐ２で手番ｔｎと同じ色を、先ほどの着手点とは異なる石に着手し（Ｓ３３０）、再度、Ｓ３４０の判定処理を実行する。【０１０７】
これを点Ｐ２が着手可能なすべての点に実行し、Ｓ３４０での判定において、すべて連結不可能と判定した場合には、最終的に連結不可能と判定をする。【０１０８】
一方、点Ｐ２が着手可能ないずれかの点で、Ｓ３４０での判定において連結可能と判定できる場合には、次の点Ｐ１の次の着手点の処理を実行する。そして点Ｐ１の着手可能な点において、連結可能と判定できる場合には、最終的に連結可能と判定する。【０１０９】
以上のような処理を第２処理部２１１で実行することで、Ｓ２２１０における、配列Ｄ内のいずれかの点Ｐ１と、着手可能な点ｐとが連結可能かを判定する。【０１１０】
そして、Ｓ２２１０において、連結可能と判定できなかった場合には、脱出不可能と判定し、その処理結果を返す。【０１１１】
一方、Ｓ２２１０において、連結可能と判定した場合には、点ｐが目標石であるかを判定し（Ｓ２２３０）、目標石である場合には、活きと判定してその処理結果を返す（Ｓ２２４０）。一方、Ｓ２２３０において、点ｐが目標石ではないと判定した場合には、点ｐのグループを脱出済として、その処理結果を返す（Ｓ２２５０）。【０１１２】
以上のようにしてＳ２１００における目標石の脱出判定処理を実行後、目標石が脱出している、あるいは活きと判定した場合には（Ｓ２１１０）、判定を終了する。そして目標石を活きと判定する。【０１１３】
一方、目標石が脱出不可能と判定された場合には、Ｓ２１００の目標石の脱出判定処理において、判定領域、外周に変更があるかを判定し（Ｓ２１２０）、変更がある場合には（Ｓ２１３０）、再度、Ｓ２１００の処理を実行する。【０１１４】
以上のようにＳ２２１０乃至Ｓ２２５０の処理を実行することで、外周が２色になっても死活判定を行うことが可能となる。【０１１５】
また一方、変更がない場合には（Ｓ２１３０）、第２処理部２１１は、第１処理部２１０で補正した判定領域に対して、通常の死活判定処理を実行する（Ｓ２１４０）。すなわち、総あたりまたは一部を除いた判定処理を実行する。【０１１６】
そして、通常の死活判定処理の結果、判定可能な場合には（Ｓ２１５０）、目標石の活き死にの判定結果を算出し、生死判定処理を終了する。一方、Ｓ２１４０の通常の死活判定処理の結果、判定不可能な場合には（Ｓ２１５０）、判定不能として、処理結果を返す。【０１１７】
以上のようにして、Ｓ２０２０における、点ｐにｔｎ’で着手された点に対する生死判定処理を第２処理部２１１が実行できる。【０１１８】
そして生死判定処理の結果、目標石が活きと判定できた場合には（Ｓ２０４０）、点ｐの着手を一手前に戻して（Ｓ２０５０）、死活判定処理を終了し、最終結果として、活きの処理結果を、出力処理部２２が出力する。【０１１９】
一方、生死判定処理の結果、目標石が活き、死にのいずれとも判定できなかった場合（すなわち不明の場合には（Ｓ２０４０）、ｔｎ’にｔｎ’＾３を代入する（Ｓ２０６０）。そして、Ｓ２００における死活判定処理に対する再帰処理を実行する（Ｓ２０７０）。【０１２０】
そしてＳ２０７０での再帰処理の結果、目標石が活きと判定できた場合には（Ｓ２０８０）、点ｐの着手を一手前に戻して（Ｓ２０５０）、死活判定処理を終了し、最終結果として、活きの処理結果を、出力処理部２２が出力する。一方、目標石が死にと判定できた場合には、ｔｎ’、点ｐをループの最初の状態に戻す（Ｓ２０９０）。なお、変数ｔｎ’、点ｐをループの最初の状態に戻すためには、これらの値の最初の状態を、何らかの一時変数に記憶させ、Ｓ２０９０で戻す場合に、この一時変数を呼び出して、値を代入すればよい。【０１２１】
そしてＳ２０９０の処理後、ｔｎ’で着手可能な次の点ｐに着手し（Ｓ２０２０）、Ｓ２０２０、Ｓ２０３０、Ｓ２０４０、Ｓ２０５０、Ｓ２０６０、Ｓ２０７０、Ｓ２０８０、Ｓ２０９０の処理を反復する。そしてｔｎ’で着手可能なすべての点において上述の処理を実行した場合には、目標石を死にとして判定する。【０１２２】
一方、Ｓ２０１０において、手番と目標石の色が一致しない場合には、Ｓ２０２０乃至Ｓ２０９０と同様の処理を実行する。しかし、Ｓ２０４０、Ｓ２０８０とは異なり、生死判定処理の結果として、目標石の生死を死にと判定した場合には（Ｓ２０４５）、点ｐの着手を一手前に戻して（Ｓ２０５５）、死活判定処理を終了し、最終結果として、活きの処理結果を、出力処理部２２が出力する。【０１２３】
一方、生死判定処理の結果、目標石を活きと判定した場合には（Ｓ２０４５）、ｔｎ’、点ｐをループの最初の状態に戻す（Ｓ２０９５）。【０１２４】
以上のような死活判定処理を第２処理部２１１で実行することで、目標石の活き死にの判定を実行する。なお死活判定処理においては、ｔｎ’と目標石の色が一致するか否かで処理を分岐させたが、これはわかりやすさのためであり、まとめて処理を行っても良い。【０１２５】
そして目標石の活き死にの判定結果を、出力処理部２２で出力する（Ｓ２２０）。すなわち、死活判定の結果を出力処理部２２がその処理結果を対局者端末３に送信する。この画面を対局者が見ることで、死活の判定結果を知ることができる。
【産業上の利用可能性】
【０１２６】
上述の本発明の囲碁の死活判定システム１を用いることによって、外周に白石および黒石の双方が含まれている場合、あるいは外周が二箇所にある場合であっても、そのまま死活判定をすることが可能となる。これによって、従来よりも、死活判定が行える場合が増える。
【符号の説明】
【０１２７】
１：囲碁の死活判定システム
２：サーバ
３：対局者端末
１０：演算装置
１１：記憶装置
１２：表示装置
１３：入力装置
１４：通信装置
２０：入力受付部
２１：判定処理部
２２：出力処理部
２１０：第１処理部
２１１：第２処理部
【図１】
2012085991.tif 000003
【図２】
2012085991.tif 000004
【図３】
2012085991.tif 000005
【図４】
2012085991.tif 000006
【図５】
2012085991.tif 000007
【図６】
2012085991.tif 000008
【図７】
2012085991.tif 000009
【図８】
2012085991.tif 000010
【図９】
2012085991.tif 000011
【図１０】
2012085991.tif 000012
【図１１】
2012085991.tif 000013
【図１２】
2012085991.tif 000014
【図１３】
2012085991.tif 000015
【図１４】
2012085991.tif 000016
【図１５】
2012085991.tif 000017
【図１６】
2012085991.tif 000018
【図１７】
2012085991.tif 000019
【図１８】
2012085991.tif 000020
【図１９】
2012085991.tif 000021
【図２０】
2012085991.tif 000022
【図２１】
2012085991.tif 000023
【図２２】
2012085991.tif 000024
【図２３】
2012085991.tif 000025
【図２４】
2012085991.tif 000026
【国際調査報告】
2012085991.tif 000027
2012085991.tif 000028
2012085991.tif 000029
2012085991.tif 000030