ボードゲーム情報処理装置、ボードゲーム情報処理方法、囲碁情報処理装置、囲碁情報処理方法、およびプログラム
【課題】囲碁等のボードゲームの盤面の状況を、ユーザに分かりやすく表示することが可能なボードゲーム情報処理装置を提供する。
【解決手段】碁石の配置を示す配置情報が格納される配置格納部101と、碁石を配置する配置指示を受け付ける配置指示受付部102と、配置指示に応じて碁石の配置情報を蓄積する蓄積部103と、配置情報を用いて、碁石の状況を判断する状況判断部104と、碁石の状況に応じた表情の顔を有する碁石の画像やコメント情報が格納されている状況対応情報格納部105と、状況判断部104による状況の判断結果に応じた表情の顔を有する碁石の画像やコメント情報を、状況対応情報格納部105から取得する碁石出力情報取得部106と、碁石出力情報取得部106が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部107とを備えた。
【解決手段】碁石の配置を示す配置情報が格納される配置格納部101と、碁石を配置する配置指示を受け付ける配置指示受付部102と、配置指示に応じて碁石の配置情報を蓄積する蓄積部103と、配置情報を用いて、碁石の状況を判断する状況判断部104と、碁石の状況に応じた表情の顔を有する碁石の画像やコメント情報が格納されている状況対応情報格納部105と、状況判断部104による状況の判断結果に応じた表情の顔を有する碁石の画像やコメント情報を、状況対応情報格納部105から取得する碁石出力情報取得部106と、碁石出力情報取得部106が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部107とを備えた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、囲碁等のボードゲームの対戦やボードゲームの学習等に関する情報を処理する装置等に関するものである。
【背景技術】
【0002】
従来のボードゲームに対するユーザの着手等の情報を処理したり、ボードゲームの進行を自動化したり、ボードゲームの自動対戦等を行うための情報処理装置であるボードゲーム情報処理装置としては、コンピュータ囲碁の地合計算を行うシステム等が知られていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−126019号公報(第1頁、第1図等)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のボードゲーム情報処理装置においては、ボードゲームに参加しているユーザに対して、ユーザの着手についての評価結果や、ボードゲーム上の形勢等についての評価結果や、ユーザのボードゲームに対する技量の向上を図るためのアドバイス等を、ユーザに分かりやすく表示することができないという課題があった。
例えば、いわゆる囲碁の対局を行うボードゲーム情報処理装置である囲碁情報処理装置においては、囲碁を打っているユーザに対して、ユーザの着手についての評価結果や、碁盤の盤面上の形勢等についての評価結果や、ユーザの棋力の向上を図るためのアドバイス等を、ユーザに分かりやすく表示することができないという課題があった。
【課題を解決するための手段】
【0005】
本発明の囲碁情報処理装置は、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、配置指示に応じて碁石の配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、碁石の状況を判断する状況判断部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する碁石出力情報取得部と、配置情報を用いて、碁石出力情報取得部が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えた囲碁情報処理装置である。
【0006】
かかる構成により、例えば、碁石上に状況に応じた表情の顔を表示したり、碁石の近傍に状況に応じたコメントを表示したりすることができ、囲碁の盤面における碁石の状況を、ユーザに分かりやすく表示することができる。
【0007】
また、本発明の囲碁情報処理装置は、前記囲碁情報処理装置において、配置格納部には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報と質問内容を示す情報とを有する問題情報が格納され、表示部は、問題情報に含まれる問題用の配置情報に応じて碁石を配置した盤面の画像と、問題情報に含まれる質問内容を示す情報とを表示し、配置指示受付部は、表示部が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付け、状況判断部は、配置指示が示す碁石についての状況を判断する囲碁情報処理装置である。
【0008】
かかる構成により、囲碁の学習に用いられる問題に対するユーザの解答についての評価を、例えば、碁石上の顔の表情で表現したり、碁石の近傍に配置したコメントで表現したりすることによって、ユーザに分かりやすく表示することができる。
【0009】
本発明のボードゲーム情報処理装置は、ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えたボードゲーム情報処理装置である。
【0010】
かかる構成により、ボードゲームの盤面の状況を、ユーザに分かりやすく表示することができる。
【発明の効果】
【0011】
本発明によるボードゲーム情報処理装置によれば、ボードゲームの盤面の状況を、ユーザに分かりやすく表示することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1における囲碁情報処理装置の構成を示すブロック図
【図2】同囲碁情報処理装置の動作を説明するためのフローチャート
【図3】同囲碁情報処理装置の動作を説明するためのフローチャート
【図4】同囲碁情報処理装置の動作を説明するためのフローチャート
【図5】同囲碁情報処理装置の配置情報の一例を示す図
【図6】同囲碁情報処理装置の表示例を示す図
【図7】同囲碁情報処理装置の第一状況対応情報管理表を示す図
【図8】同囲碁情報処理装置の碁石画像管理表を示す図
【図9】同囲碁情報処理装置のコメント情報管理表を示す図
【図10】同囲碁情報処理装置の定石配置管理情報を示す図
【図11】同囲碁情報処理装置の処理に関連した棋譜の情報を示す図
【図12】同囲碁情報処理装置の処理に関連した棋譜に対する評価結果を示す図
【図13】同囲碁情報処理装置の濃度分布を示す図
【図14】同囲碁情報処理装置の第二状況対応情報管理表を示す図
【図15】同囲碁情報処理装置の切断可能性箇所情報管理情報を示す図
【図16】同囲碁情報処理装置の切断可能性箇所情報管理表が示す切断可能性箇所の配置例を示す図
【図17】同囲碁情報処理装置の味方の碁石の盤面上の配置例を示す図(図17(a))および、盤面の濃度分布を模式的に表した図(図17(b))
【図18】同囲碁情報処理装置の味方の碁石の盤面上の配置例を示す図(図18(a))および、盤面の濃度分布を模式的に表した図(図18(b))
【図19】同囲碁情報処理装置の表示例を示す図
【図20】本発明の実施の形態2における囲碁情報処理装置2の構成を示すブロック図
【図21】同囲碁情報処理装置の動作を説明するためのフローチャート
【図22】同囲碁情報処理装置の問題情報の一例を示す図
【図23】同囲碁情報処理装置の問題の表示例を示す図
【図24】同囲碁情報処理装置の解答評価情報を示す図
【図25】同囲碁情報処理装置の問題を示す碁盤の画像上に、点数の値を重ねて配置した模式図
【図26】同囲碁情報処理装置の距離評価情報管理表を示す図
【図27】同囲碁情報処理装置の、「tanθ」が「1」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(a))、「tanθ」が「2」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(b))、「tanθ」が「3」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(c))
【図28】同囲碁情報処理装置の、「tanθ」が「1」である場合の碁石の配置例(図28(a))、「tanθ」が「2」である場合の碁石の配置例(図28(b))、「tanθ」が「3」である場合の碁石の配置例(図28(c))を示す図
【図29】同囲碁情報処理装置の表示例を示す図
【図30】同囲碁情報処理装置の碁石の碁盤上の配置を示す図(図30(a)、図30(c))、この配置において取得したweakness分布を示す図(図30(b)、図30(d))
【図31】本発明の各実施の形態におけるコンピュータシステムの外観の一例を示す図
【図32】本発明の各実施の形態におけるコンピュータシステムの構成の一例を示す図
【図33】本発明の実施の形態1に係る囲碁情報処理装置を説明するための図
【図34】同囲碁情報処理装置のトリガーを管理する管理情報を示す図
【図35】本発明の実施の形態1に係る囲碁情報処理装置の外観の一例を示す図
【図36】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【図37】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【図38】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【発明を実施するための形態】
【0013】
以下、ボードゲーム情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0014】
(実施の形態1)
本実施の形態においては、ボードゲームの情報を処理するボードゲーム情報処理装置のうちの、特に囲碁の情報を処理する囲碁情報処理装置1を例に挙げて説明する。なお、ボードゲームとは、ボード(盤)上に駒やカードやパイを置いたり、動かしたり、取り除いたりして遊ぶゲームである。ただし、ここでは、特に、実際のボードや駒やカードやパイを使わずにモニタ等に表示される仮想上のボードや駒やカードやパイを用いて遊ばれるゲームをボードゲームと呼ぶ。
図1は、本実施の形態における囲碁情報処理装置1のブロック図である。
囲碁情報処理装置1は、配置格納部101、配置指示受付部102、蓄積部103、状況判断部104、状況対応情報格納部105、碁石出力情報取得部106、および表示部107を備える。
【0015】
配置格納部101には、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される。配置情報は、具体的に、碁盤の盤面(以下、単に碁盤や盤面とも称す)上に配置された黒の碁石(黒石)および白の碁石(白石)の位置を示す情報である。通常、碁石は、盤面上に格子状に引かれた縦19本および横19本の直線の交点に配置されるため、配置情報は、例えば、碁盤の左端(あるいは右端)から、碁石が置かれている交点までの、横方向に配列された直線の数をx座標の値とし、碁盤の下端(あるいは上端)から、碁石が置かれている交点までの、縦方向に配列された直線の数をy座標の値とした座標で表される。ただし、交点にそれぞれ識別情報を対応付けるようにして、配置情報を、この交点の識別情報で碁石の配置を示す情報としても良い。なお、ここでは、碁石のことを単に石と呼ぶ場合がある。配置情報は、例えば、碁盤上の石の配置された順番を示す情報である順番情報を有することが好ましい。順番情報は、碁石が配置された順番を示すことが可能な情報であれば、例えば、碁石の配置された時刻等を示す情報であってもよい。配置情報は、例えば、石の配置される位置を示す情報と、石の色と、配置順番と、を対応付けて有する情報である。配置情報は、いわゆる棋譜の情報と考えても良い。例えば、従来の棋譜管理ソフトウェアで利用される棋譜の情報や、従来の囲碁対局ソフトウェアで利用される棋譜の情報等と同様の棋譜の情報を、配置情報として利用してもよい。ここでは石の配置される位置を示す情報として、上述した座標を用いる場合を例に挙げて説明する。配置格納部101は、対局別の配置情報が1以上格納されていても良い。また、配置情報では、アゲハマの石の情報も有していてもよい。アゲハマの石の情報は、例えば、アゲハマに配置されている石の色と、配置順番とを対応付けて有する情報である。配置格納部101には、予め配置情報が格納されていても良い。また、例えば、配置指示受付部102が受け付けた石の配置を示す情報が、随時、蓄積部103により、配置格納部101に蓄積されても良い。ここでの格納は一時記憶も含む概念である。配置格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0016】
配置指示受付部102は、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける。配置指示は、例えば、碁石が配置される位置を示す情報(例えば上述した交点の座標)とを有する情報である。配置指示は、ユーザの担当する碁石の色を示す情報や、配置する順番を示す情報を有していても良い。配置指示受付部102は、対局する2人のユーザの配置指示をそれぞれ交互に受け付けても良い。また、囲碁情報処理装置1が、囲碁の自動対局を行う装置である場合、囲碁情報処理装置1を対戦相手として対局する一のユーザの配置指示だけを受け付けても良い。なお、ユーザが入力した一の配置指示を、ここでは手と呼ぶ場合がある。また、配置指示を入力することを、ここでは打つ(石を打つ)と呼ぶ場合がある。また、ユーザにより入力された配置指示を、ここでは着手と呼ぶ場合がある。ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。入力手段は、テンキーやキーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。配置指示受付部102は、テンキーやキーボードやタッチパネル等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0017】
なお、配置指示受付部102は、通常、碁石を配置する位置を完全に確定する操作が、ユーザによって行われた場合に、この操作に応じて配置指示を受け付けることが好ましいが、配置される位置を完全に確定する操作が行われていない場合においても、予め指定された操作等に応じて一時的な配置指示を受け付けても良い。一時的な配置指示は、例えば、試しとして、碁石を仮の位置に配置する指示と考えても良い。例えば、ユーザが、ポインタやカーソル等を碁盤上の直線の一の交点近傍に配置した状態でマウス等をクリックした場合に、このクリックされた位置近傍の交点が、碁石を配置する位置に確定されたと判断して、この交点についての配置指示を受け付けるようにするとともに、ユーザが、ポインタやカーソル等を後述するディスプレイ等に表示される碁盤上の直線の一の交点近傍に予め指定された時間以上停止していた場合(停留させた場合)においても、この操作に応じて、この停止していた位置についての一時的な配置指示を受け付けるようにしても良い。なお、配置する位置の確定に伴う配置指示を受け付けた場合には、ユーザからの配置指示の受付が終了して、ユーザの一の手番(即ちユーザが碁石を打つ順番)が終了するが、一時的な配置指示を受け付けた場合は、本来の配置指示とは異なるため、ユーザの手番は終了しないようにする。
【0018】
蓄積部103は、配置指示に応じて上述したような碁石の配置情報を配置格納部101に蓄積する。ここでの蓄積は配置情報の追記や更新である。例えば、配置指示に含まれる碁石を配置する位置を示す情報を、配置情報として配置格納部101に蓄積する。また、配置指示に含まれる碁石の色の情報や、配置する順番を示す情報も、碁石を配置する位置を示す情報と対応付けて、配置情報として蓄積してもよい。配置指示受付部102が受け付ける配置指示が、碁石の色や配置する順番を有していない場合、ユーザに予め設定されている碁石の色の情報と、配置格納部101に格納されている配置情報が示す最新の碁石の配置順番を示す情報を用いて取得した今回の碁石の配置順番とを、碁石の配置する位置を示す情報と対応付けて蓄積してもよい。
【0019】
また、蓄積部103は、配置格納部101に格納されている配置情報を用いて、配置指示によって配置された碁石により、当たりとなった石があるか否かを判断し、当たりとなった碁石を碁盤上から取り除くようにしても良い。取り除いた碁石は、上述したアゲハマの石の情報として管理するようにしても良い。
【0020】
なお、囲碁情報処理装置1が、囲碁の自動対局を行う装置である場合、ユーザの配置指示に応じた配置情報が格納されると、蓄積部103が、予め用意されたアルゴリズム等を利用して、ユーザが担当する色と異なる色の碁石の配置情報を配置格納部101に格納されている配置情報に応じて取得して、配置格納部101に蓄積するようにしてもよい。つまり、蓄積部103は、ユーザに対する応手を示す配置情報を自動取得して配置格納部101に蓄積しても良い。なお、ユーザの配置指示等に応じて、対局相手の応手の配置情報を自動取得して自動対局を行う処理については、通常の囲碁対局ソフトウェア等において公知の技術であるので、ここでは詳細な説明は省略する。
【0021】
なお、上述したように、配置指示受付部102が一時的な配置指示を受け付けた場合、蓄積部103は、例えば、この配置指示に応じた配置情報を配置格納部101等の格納部に、本来の配置指示が配置されるまで、一時記憶するようにしても良い。
【0022】
蓄積部103は、通常、MPUやメモリ等から実現され得る。蓄積部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0023】
状況判断部104は、配置格納部101に格納された配置情報を用いて、碁石の状況を判断する。状況判断部104は、盤面上の1以上の碁石の状況を判断する。碁石の状況とは、例えば、最新の配置指示が示す位置に配置される碁石や、それ以前に配置格納部101に格納されている配置情報が示す位置に配置されている碁石が、適切な位置に配置されているか否かや、良い手であるかということである。また、例えば、配置情報が示す碁盤上の各碁石が死んでいるか生きているかということや、碁盤上の碁石の形勢が、白側および黒側のどちらに優勢であるか(どちらが勝っているか)ということである。また、状況判断部104は、複数の異なる種類の状況判断を行っても良い。状況判断部104は、例えば、碁石の状況を、碁盤上の部分的な領域についてそれぞれ判断してもよいし、碁盤全体について判断してもよい。また、状況判断部104は、最新の配置指示が示す着手について状況を判断してもよい。
【0024】
状況判断部104は、どのように碁石の状況を判断してもよい。例えば、状況判断部104は、1以上の各碁石が、碁石の状況を判断するために予め用意された条件を満たすか否かによって碁石の状況を判断する。また、1以上の各碁石の配置情報を用いて、碁石の状況を示す値を取得するための予め指定された演算式による演算を行って演算結果を示す値を得ることも碁石の状況を判断することと考えても良い。状況判断部104は、一の碁石のそれぞれの状況を判断しても良いし、複数の碁石の群について状況を判断してもよい。また、状況判断部104が取得する判断結果はどのような情報であってもよい。例えば、状況判断部104は、碁石の状況を指標や数値等で示した判断結果を取得してもよい。具体的には、状況判断部104は、碁石の状況を70点、50点等の点数等で表した判断結果を取得しても良い。また、状況判断部104は、状況判断の結果を予め用意された複数段階のいずれかの値で示した判断結果を取得しても良い。例えば、「最善手」、「良手」、「悪手」等の値で示した判断結果を取得しても良い。また、状況判断の結果に応じた石の状況を示す情報を判断結果として取得しても良い。例えば、状況判断として、碁石の「生き死に」を判断した場合、判断結果によって、「生き」、「死に」等の判断結果を取得しても良い。
【0025】
以下、状況判断部104が行う碁石についての状況判断の例を以下に説明する。なお、ここでは、盤面上の急場(早急にユーザによる対応が必要な状況)についての状況判断と、大場(できるだけ広く、勢力的に価値の高い部分に打つことが好ましい状況)についての状況判断とに分けて説明する。
【0026】
(a)急場についての状況判断
(1)反応拡散方程式を用いた濃度分布による状況判断の例
まず、アマチュア等の棋譜のデータを複数用意する。そして、これらの棋譜のデータが示す各手番に打たれた手の、囲碁のプロによる評価結果やプロの手筋を参考にした評価結果を取得する。評価結果は、例えば点数とする。また、これらの各棋譜の各手番の棋譜から反応拡散方程式を用いて、各手番において碁石を打つ直前の碁盤上の直線の交点における石の濃度分布を算出する。例えば、以下に示すような反応拡散方程式に、棋譜が示す座標を代入することで、濃度分布が算出される。
【0027】
【数1】
【0028】
そして、各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報をテンプレートとして後述する状況対応情報格納部105等に蓄積する。また、棋譜が示す各手番において、プロ等による次の一手に対する添削指導を受け付けた場合、添削指導により配置された碁石の配置情報と、その配置情報に対する上記と同様の評価結果と、その添削指導が行われるまでの棋譜に対する上記と同様の濃度分布とを対応付けたものもテンプレートとして、後述する状況対応情報格納部105等に蓄積してもよい。
【0029】
つぎに、状況判断部104は、配置指示受付部102が受け付けた最新の配置指示よりも前に蓄積されていた配置情報を配置格納部101から読み出し、読み出した配置情報が示す座標を反応拡散方程式に代入することで、上記と同様の碁石の濃度分布の情報を取得する。
【0030】
そして、状況判断部104は、取得した濃度分布と最も近い濃度分布を有するテンプレートを、状況対応情報格納部105等に格納されているテンプレートから検出する。この検出は例えばパターンマッチング等を用いることで行われる。
【0031】
そして、検出した濃度分布を有するテンプレートに含まれる次の一手の配置情報が示す位置と、最新の配置指示が示す位置とが、一致するか否かを判断し、一致する場合、そのテンプレートに含まれる次の一手の配置情報の評価結果を、最新の配置指示が示す碁石の配置に関する状況判断の判断結果として取得する。あるいは、一致すると判断されたことを状況の判断結果として取得しても良い。また、一致しないと判断された場合、濃度分布が近いテンプレートを複数検出し、さらに、その中から、そのテンプレートのうちの、次の一手の配置情報が、最新の配置指示が示す位置との距離が近いものを検出して、検出したテンプレートのうちの、次の一手についての評価結果を示す点数の平均値を、最新の配置指示が示す碁石の配置に関する状況判断の判断結果として取得する。距離が近いとは、例えば、距離が予め指定された距離よりも短いことを意味する。なお、平均値を算出する際は、距離等による重み付けを行っても良い。
【0032】
(2)切断可能性箇所との関係による状況判断の例
例えば、予め指定された碁石の形を示すための複数の碁石の配置情報である形指定情報と、この配置情報が示す碁石の形の1以上の切断可能性箇所の位置を指定する配置情報である切断可能性箇所指定情報とを対応付けて有する切断可能性箇所情報を、状況対応情報格納部105に予め指定しておく。切断可能性箇所とは、放っておけば、形勢が悪くなる碁石が配置される位置である。ここでの碁石の配置情報は、碁盤上における絶対的な位置を示す情報でなくてもよく、碁石間の相対的な位置関係を示す情報であっても良い。例えば、碁石の相対的な座標であっても良い。碁石の形とは、碁石の相対的な位置関係が示す形であり、例えば、コスミや、ケイマ、大ゲイマ、一間トビ、二間トビ等の形が知られている。
【0033】
次に、状況判断部104は、最新の配置指示の直前までの配置情報を、配置格納部101から読み出し、最新の配置指示の直前までに碁盤上に配置されている碁石の中から、形指定情報と一致する形で配置されている碁石を検出する。そして、一致する碁石が検出された形指定情報を含む切断可能性箇所情報から切断可能性箇所指定情報を読み出して、碁盤上のこの切断可能性箇所指定情報が示す位置の配置情報である1以上の切断可能性箇所配置情報を取得する。そして、この切断可能性箇所配置情報が示す位置と最新の配置指示が示す位置との距離に応じた状況の判断結果を取得する。例えば、切断可能性箇所配置情報が示す位置と最新の配置指示が示す位置との間の距離と、判断結果を示す点数とを対応付けた情報が図示しない記憶媒体に蓄積しておくようにして、この情報から判断結果を示す点数を取得するようにすればよい。また、この距離と、判断結果の点数との関係を示す関数を用意しておくように、この関数から距離に応じた判断結果の点数を算出して取得しても良い。例えば、切断可能性箇所を1とした距離の乗数の逆数(等比数列)で決定しても良い。また、以下のような特異点関数を用いて、判断結果を示す点数を算出しても良い。
【0034】
【数2】
【0035】
なお、最新の配置指示が示す位置が、味方の碁石の切断可能性箇所に近い位置であるか、敵の碁石の切断可能性箇所に近い位置であるかを判断して、それぞれの判断結果の場合で、異なる状況判断の結果を得るようにしても良い。
【0036】
(3)味方の碁石との関係による状況判断の例
最新の配置指示が示す位置との距離が最も近い位置に配置された味方の碁石の配置情報を、配置格納部101に格納されている配置情報の中から検出する。そして、最新の配置指示が示す位置と検出された碁石との距離と、最新の配置指示が示す位置と検出された最も近い位置に配置された味方の碁石との角度、具体的には、最新の配置指示が示す位置と検出した碁石とを結んだ直線の、碁盤上の横(または縦)の直線との角度(例えば、x軸(またはy軸)との角度)との組み合わせから、状況判断の結果を示す点数を取得するようにしてもよい。例えば、予め最新の配置指示が示す位置と検出した最も近い位置に配置された味方の碁石との角度別に、距離と碁石の状況についての判断結果との関係を対応付けた管理表や、グラフ等を状況対応情報格納部105等に用意しておくようにし、この管理表やグラフ等から、最新の配置指示が示す位置について検出された最も近い位置に配置された味方の碁石との角度と距離とに対応した値を状況の判断結果として取得する。なお、このような距離と碁石の状況の判断結果との関係を示す情報を、味方の碁石との角度によって異なるFuzzyのメンバーシップ関数として用いても良い。
【0037】
(4)定石に通りであるかについての状況判断の例
例えば、状況対応情報格納部105等に、1以上の定石を示すための複数の碁石の配置情報である1以上の定石配置情報を格納しておく。定石配置情報は、定石を打つための碁石の位置を示す情報と、碁石を打つ順番を示す順番情報とを対応付けて有する情報である。なお、ここでの定石配置情報の位置を示す情報は、絶対的な位置の情報でなくても良く、相対的な座標等の相対的な位置の情報であればよい。また、碁石の色も、白黒を特定せず、奇数番目にうった碁石の色を、例えば、第一の色、偶数番目に打った碁石の色を、例えば、第二の色として、順番情報等と対応付けられているようにすればよい。
【0038】
そして、状況判断部104は、配置格納部101に格納されている最新の配置指示の直前に蓄積された1以上の配置情報が示す碁石の配置が、順番情報が示す配置順番も含めて、各定石配置情報が示す配置順番が早い所定数以上の碁石の配置と一致するか否かを判断していく。そして、一致している場合、一致していると判断された定石配置情報が示す定石で碁石が配置されていると判断して、最新の配置指定が、この定石配置情報が示す次の配置順番の位置を指定する配置指定であるか否かを判断する。そして、次の配置順番を示す場合、この定石配置情報が示す定石通りに碁石が打たれていることを示す状況判断の結果を取得する。また、次の配置順番を示さない場合、この定石配置情報が示す定石通りに碁石が打たれていないことを示す助教判断の結果を取得する。
【0039】
(5)死活による状況判断の例
状況判断部104は、最新の配置指示を受け付ける前に配置格納部101に格納されている配置情報を読み出して、死活の判断を行う。そして、手を入れずに放置した場合、予め指定された手数以下の手数で死んでしまう状態にある碁石を検出する。そして、最新の配置指示が、この死んでしまう状態にある碁石を助けるための配置指示であるか否かを判断する。例えば、最新の配置指示が示す位置に碁石を配置した場合に、再度死活の判断を行って、上記の死んでしまう状態にある碁石が、死んでしまう状態を脱したか否かを判断する。そして、その判断結果を、状況情報として取得する。死活の判断は、例えば、二眼あるか否か、一眼あり、もう一眼作るスペースがあるか、もう一眼作るために相手の手があっても確実に作れるか、二眼作るスペースがあるか、等を判断することで判断可能である。もう一眼作るために相手の手があっても確実に作れるか否かの判断は、狭い空間内において石の配置可能な位置を探索していくことで判断可能である。また、死ぬまでの手数については、例えば、一眼あり、もう一眼作るスペースがあると判断された場合や、もう一眼作るために相手の手があっても確実に作れると判断された場合において、確実に死ぬパターンに陥るまでの手数を探索することで、取得可能である。碁石の死活を判断する処理や、碁石が予め指定された手数で死んでしまうか否かを判断する処理は、囲碁対局ソフトウェア等において公知の技術であるので、ここでは説明を省略する。
【0040】
なお、死活による状況判断は、急所についての状況判断と考えても良い。急所とは、死活に関係する、生き死にを決定づける一手が打たれる位置である。例えば、予め指定された碁石の形を示すための複数の碁石の配置情報である形指定情報と、この配置情報が示す碁石の形の1以上の急所の位置を指定する配置情報である急所指定情報とを対応付けて有する急所情報を、状況対応情報格納部105に予め指定しておく。そして、この急所情報が示す位置に、味方の碁石が配置されたか否かを状況判断部104が判断してもよい。ここでの碁石の配置情報は、碁盤上における絶対的な位置を示す情報でなくてもよく、碁石間の相対的な位置関係を示す情報であっても良い。例えば、碁石の相対的な座標であっても良い。碁石の形とは、碁石の相対的な位置関係が示す形であり、例えば、三目中手や五目中手等の形が知られている。
【0041】
図33は、急所の位置の形を示す図である。図33において、三角で示す位置は、黒石が打たれると白石が死に、白石が打たれると白石が生きる白石の急所を示している。
【0042】
(6)目による状況判断の例
状況判断部104は、最新の配置指示を受け付ける前に配置格納部101に格納されている配置情報を読み出して、死活の判断を行う。そして、最新の配置指示が、既に生死が確定している目に対して手入れを行う手であるか否かを判断し、これらのいずれかの目に対して手入れを行う手であると判断された場合、その判断結果を、状況判断の結果とし手取得する。
【0043】
(b)大場およびその他についての状況判断
(7)反応拡散方程式を用いた味方の碁石についての濃度分布による状況判断の例
状況判断部104は、最新の配置指示よりも前に配置格納部101に格納されている配置情報のうちの、最新の配置指示が示す碁石と同じ色の碁石(即ち、ユーザが担当している色の碁石)についての配置情報とを読み出して、上述したような反応拡散方程式により、ユーザの石だけについての盤面上の濃度分布を示す情報を取得する。そして、この濃度分布を示す情報から、最新の配置指示が示す位置が、濃度分布の低い位置であるか否かを判断する。濃度分布が低いとは、例えば、濃度分布が予め指定された閾値よりも低いことである。そして低い位置であるか否かを示す情報を、状況判断部104は、状況判断の結果を示す情報として取得する。
【0044】
(8)形勢判断による状況判断
状況判断部104は、最新の配置指示に対応した配置情報と、配置格納部101に格納されている配置情報を読み出して、盤面全体の形勢判断を行う。形勢判断とは、白石と、黒石のどちらが優勢であるか否かを判断することである。状況判断部104は、形勢判断を行って、その判断結果を取得する。形勢判断の処理については、通常の囲碁対局ソフトウェア等において公知の技術であるのでここでは説明を省略する。
【0045】
(9)死活判断による大場についての状況判断
状況判断部104は、最新の配置指示に対応した配置情報と、配置格納部101に格納されている配置情報を読み出して、盤面全体についての死活判断を行う。そして、例えば、死んでいると判断された碁石については、死んでいることを示す状況判断の結果を示す情報を取得する。また、例えば、生きていると判断された碁石については、生きていることを示す状況判断の結果を示す情報を取得する。
【0046】
なお、状況判断部104は、上記で述べた状況判断の例以外の処理によって最新の配置指示に関する状況判断を行うようにしてもよい。
【0047】
また、上記の状況判断の1以上を適宜組み合わせて、任意の順番で行うようにしても良い。また、組み合わせて行う際に、優先度を設定して、優先度の高い順に状況判断を行って、状況判断が行えない場合に、順次次の優先度の高い状況判断を行っていくようにしても良い。
【0048】
例えば、上記の(1)で示した反応拡散方程式を用いた状況判断をまず行い、テンプレートに合致する状況判断の結果が得られない場合には、上記の(3)で示した味方の碁石との関係による状況判断を行い、さらに、切断可能性箇所に対応した位置に碁石が配置されない、もしくは、状況を示す値がゼロに近い値になる等によって状況判断の結果が得られない場合には、上記の(2)で示した切断可能性箇所との関係による状況判断によって状況判断を行うようにしてもよい。
【0049】
また、一の状況判断によって状況の判断結果を既に取得済の碁石については、その後に他の状況判断を行って状況の判断結果を取得しないようにしてもよいし、他の状況判断を行って状況の判断結果を取得するようにしても良い。
【0050】
状況判断部104が、状況の判断を行うタイミングは問わない。例えば、ユーザからの配置指示の受け付けた場合に、状況の判断を行っても良い。また、蓄積部103によって、最新の配置指示に対応した配置情報が配置格納部101に蓄積された場合に、状況の判断を行っても良い。また、上述したような一時的な配置指示を受け付けた場合に、状況の判断を行っても良い。
【0051】
状況判断部104は、通常、MPUやメモリ等から実現され得る。状況判断部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0052】
状況対応情報格納部105には、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が1以上格納されている。表情の顔を有する碁石の画像とは、例えば、様々な表情の顔が描かれた碁石の画像である。また、様々な表情の顔の画像が配置された碁石の画像である。なお、ここで述べる碁石の状況に応じた表情の碁石の画像は、碁石の状況に応じた表情の顔を有している一の碁石全体の画像と考えても良いし、一の碁石の画像上等に配置される碁石の状況に応じた表情の顔を有する画像と考えても良い。碁石の状況に応じた表情の顔を有する碁石の画像は、静止画像であっても動画像であっても良い。また、碁石の状況に応じた表情の顔を有する碁石の画像は、このような画像の元となる情報であっても良い。例えば、いわゆる顔文字のように文字列で構成される情報でも良いし、画像を生成するためのレンダリングの元となる情報でもよい。このような情報である場合、例えば、後述する碁石出力情報取得部が、この元となる情報から、適宜、碁石の画像を生成するようにしても良い。碁石の状況に応じた表情とは、例えば、碁石の状況を人間の喜怒哀楽等に対応させて表した表情である。例えば、碁石の状況が良くないことを示す碁石の表情は、人間の悲しそうな表情である。また、碁石の状況が良いことを示す碁石の表情は、人間の笑っている表情である。碁石の状況に応じたコメント情報とは、碁石の状況をユーザに示すコメントの情報や、碁石の状況に応じて、ユーザをほめたり、叱ったりするコメントの情報である。コメント情報は、通常テキストの情報であるが、画像情報であっても良いし、音声情報であってもよい。ここでは、碁石の状況に応じた表情の顔を有する碁石の画像または碁石の状況に応じたコメント情報の少なくとも一方を顔画像コメント情報と呼ぶ。
【0053】
顔画像コメント情報は、例えば、碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている。碁石の状況の判断結果を示す情報とは、例えば、碁石の配置が予め指定された条件を満たしている(あるいは満たしていない)ことを示す情報であっても良い。この予め指定された条件とは、例えば、碁石の状況の判断に用いられる条件である。例えば、一の碁石が、予め指定された位置に配置されたか、という条件や、一の碁石と他の碁石との位置関係が指定された関係にあるか、という条件である。この場合、碁石の状況の判断に用いられる条件の情報を、碁石の状況の判断結果を示す情報として用いるようにして、顔画像コメント情報を、碁石の状況の判断結果を示す情報と対応付けて状況対応情報格納部105に格納するようにしても良い。
【0054】
また、碁石の状況の判断結果を示す情報とは、碁石について取得した状況の判断結果を示す値(点数等)の範囲等を示す情報であってもよい。例えば、判断結果を示す情報は、状況判断部104が行う一の演算によって取得した碁石の状況の判断結果を示す値(例えば点数)が、60点以上であるという情報や、30点以上40点未満の値であるという情報である。また、判断結果を示す情報は、状況判断部104が一の演算や一の判断の処理によって取得した碁石の状況の判断結果を示す値が「良手」であるという情報や、「最善手」であるという情報である。
【0055】
状況対応情報格納部105には、更に、状況判断部104による状況判断に用いられる情報が格納されていてもよい。例えば、上述したようなテンプレートや、切断可能性箇所情報や、定石配置情報や、最新の配置指示が示す碁石と、これに最も近い位置に配置された味方の碁石との、角度および距離との関係を対応付けた管理表やグラフや、定石配置情報等の情報が格納されていても良い。また、この状況判断に用いられる情報のうちの、状況の判断に用いられる条件を示す情報を、上述したように、碁石の状況の判断結果を示す情報として顔画像コメント情報と対応付けて状況対応情報格納部105に格納するようにしても良い。
【0056】
状況対応情報格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0057】
碁石出力情報取得部106は、状況判断部104による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況判断の結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部105から取得する。例えば、碁石出力情報取得部106は、状況判断部104による状況の判断結果と一致する碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている顔画像コメント情報を取得する。特に、状況対応情報格納部105に顔画像コメント情報と対応付けられて格納されている碁石の状況の判断結果を示す情報が、状況判断部104が状況判断に用いる条件の情報である場合、状況判断部104が、碁石の状況が条件を満たしていると判断した条件と対応付けられた顔画像コメント情報を取得してもよい。また、碁石出力情報取得部106は、例えば、状況判断部104による状況の判断結果が示す値を満たすような値の範囲を示す碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている顔画像コメント情報を取得する。例えば、状況判断部104が一の演算によって碁石から取得した値が「70」であった場合において、この演算と同一の演算によって得られる値の範囲を「40以上80未満」に指定する碁石の状況の判断結果を示す情報が状況対応情報格納部105に格納されていたとすると、碁石出力情報取得部106は、この碁石の状況の判断結果を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。
【0058】
碁石出力情報取得部106は、通常、MPUやメモリ等から実現され得る。碁石出力情報取得部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0059】
表示部107は、例えば、配置格納部101に格納されている配置情報を用いて、配置情報が示す位置に碁石を配置した碁盤の盤面の画像を表示する。表示部107は、ここでは特に、配置格納部101に格納されている配置情報を用いて、碁石出力情報取得部106が取得した碁石の画像またはコメントを、配置情報が示す位置近傍に配置した盤面の画像を表示する。配置情報が示す位置近傍とは、例えば、顔画像コメント情報が取得された配置情報が示す位置(座標)上や、その位置に隣接した領域等である。例えば、配置情報が示す位置に配置された碁石の画像上であっても良いし、この碁石の近傍(例えば、この碁石に隣接する位置)であっても良い。例えば、表示部107は、碁盤上の、1以上の配置情報が示す位置に配置情報が示す色の碁石をそれぞれ配置した画像であって、碁石出力情報取得部106が碁石の状況に応じて取得した碁石の状況に応じた表情の顔を有する碁石の画像情報を対応する碁石の画像として配置し、碁石出力情報取得部106が碁石の状況に応じて取得した碁石のコメント情報を対応する碁石の近傍に配置した画像を生成し、出力する。なお、顔を有する碁石の画像が、碁石上に配置される表情だけを有する画像である場合、碁石の画像上に、この顔を有する画像を配置した碁石の画像を配置した画像を適宜生成するようにすればよい。また、このように画像を配置する際に、下に配置される碁石の色に応じて、配置される画像の色を反転させて合成するようにしても良い。また、複数の顔画像コメント情報を取得した場合、予め指定された一定または不定のタイミング等で、複数の顔画像コメント情報がそれぞれ示す碁石の画像やコメントを切り替えて表示するようにしても良い。なお、表示部107は、図示しない記憶媒体等に予め格納されている碁盤の盤面の画像や、表情を有さない碁石の画像を適宜読み出してもよい。表示部107は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部107は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
【0060】
図2は、本発明の実施の形態1に係る囲碁情報処理装置1の動作の一例を説明するためのフローチャートである。以下、図2を用いて動作について説明する。
【0061】
(ステップS201)配置指示受付部102は、ユーザからの配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
【0062】
(ステップS202)蓄積部103は、ステップS201で受け付けた配置指示に応じた配置情報を配置格納部101に蓄積する。なお、ステップS201の配置指示が、一時的な配置指示である場合、配置格納部101への蓄積を行わないようにしても良い。なお、蓄積はステップS206の終了までに蓄積されればよい。
【0063】
(ステップS203)状況判断部104が、碁盤上の碁石についての、急場等についての状況判断を行い、碁石出力情報取得部106は、判断結果に応じた顔画像コメント情報を取得する。この処理の詳細については後述する。
【0064】
(ステップS204)状況判断部104は、碁盤上の碁石についての、大場等についての状況判断を行い、碁石出力情報取得部106は、判断結果に応じた顔画像コメント情報を取得する。この処理の詳細については後述する。
【0065】
(ステップS205)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像であって、ステップS203およびステップS204で取得された顔画像コメント情報が示す碁石の状況を示す表情の顔を有する碁石の画像または碁石の状況を示すコメント情報の少なくとも一方を含む盤面上の画像を表示する。
【0066】
(ステップS206)状況判断部104等が、対局が終了したか否かを判断する。対局終了はどのように判断してもよく、例えば、ユーザが対局終了の申込みを配置指示受付部102等を介して入力した場合や、盤面上に打つ手がなくなった場合に対局終了を決定し、それ以外は対局を継続する。対局終了と判断した場合、処理を終了し、対局終了でない場合、ステップS207に進む。
【0067】
(ステップS207)蓄積部103は、従来から知られている囲碁対局ソフトウェアのアルゴリズム等を利用して、ユーザの対戦相手の碁石の配置情報を取得して、碁石の配置情報を配置格納部101に蓄積する。
【0068】
(ステップS208)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像を表示する。なお、対戦相手の配置情報等についても、状況判断等を行う場合、ステップS207とステップS208の処理の間に、ステップS203やステップS204と同様の処理を行うようにしても良い。
【0069】
(ステップS209)状況判断部104等が、対局が終了したか否かを判断する。終了した場合、処理を終了し、終了でなければステップS201に戻る。
【0070】
図3は、囲碁情報処理装置1による急場等に関する判断処理の動作の一例を説明するフローチャートである。この動作は、図2のステップS203の処理に相当する処理である。以下、この動作について説明する。
【0071】
(ステップS301)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の死活判断を行う。そして、予め指定された手数で死が確定する死にそうな碁石があるか否かを判断する。死にそうな碁石がある場合、ステップS302に進み、ない場合、ステップS304に進む。
【0072】
(ステップS302)状況判断部104は、ステップS201で配置指示受付部102が受け付けた最新の配置指示が、死にそうな碁石に対して手入れをする手、即ち死にそうな碁石を助けるための碁石の配置指示であるか否かを判断する。
【0073】
(ステップS303)碁石出力情報取得部106は、判断結果と対応付けられた顔画像コメント情報を取得する。そして、上位の処理にリターンする。
【0074】
(ステップS304)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報と、状況対応情報格納部105に格納されている定石配置情報とを用いて、直前までに打ちかけの一の定石があるか否かを判断する。ない場合、ステップS305に進み、ある場合、ステップS307に進む。
【0075】
(ステップS305)状況判断部104は、ステップS201で受け付けた最新の配置指示が、定石通りの手であるか、即ち、ステップS301で判断した直前までに打ちかけであった一の定石通りにその続きを打つための配置指示であるか否かを判断する。
【0076】
(ステップS306)碁石出力情報取得部106は、判断結果と対応付けられた顔画像コメント情報を取得する。そして、上位の処理にリターンする。
【0077】
(ステップS307)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0078】
(ステップS308)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS307において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0079】
(ステップS309)状況判断部104は、最も類似するテンプレートに対応付けられた次の一手を示す配置情報が示す位置と、最新の配置指示が示す位置とが一致するか否かを判断する。一致する場合、ステップS310に進み、一致しない場合、ステップS311に進む。
【0080】
(ステップS310)状況判断部104は、ステップS309で一致すると判断された次の一手を示す配置情報と対応付けられた点数を、判断結果として状況対応情報格納部105等から取得する。そして、ステップS315に進む。なお、テンプレートに対して、碁盤上の次の一手が示す位置以外の他の位置にも点数が対応付けられている場合、ステップS309において、これらの位置と最新の配置指示が示す位置とが一致するか否かを判断し、一致すると判断された場合、一致する位置と対応付けられた点数をこの処理ステップで取得するようにしても良い。
【0081】
(ステップS311)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS307において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0082】
(ステップS312)状況判断部104は、ステップS311で検出したテンプレートの中から、対応する次の一手の配置情報と、最新の配置指示が示す位置との距離が、予め指定された距離よりも短いものを検出する。
【0083】
(ステップS313)状況判断部104は、ステップS312において、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い次の一手の配置情報と対応付けられたテンプレートがあるか否かを判断する。ある場合、ステップS314に進み、ない場合、ステップS316に進む。
【0084】
(ステップS314)状況判断部104は、ステップS312で検出された1以上のテンプレートの次の一手を示す配置情報と対応付けられた点数の平均を、最新の配置指示が示す碁石の状況の判断結果として取得する。
【0085】
(ステップS315)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部105に格納されている、濃度分布に関する碁石の状況の判断結果の点数の範囲を示す1以上の情報のうちの、ステップS312で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。そして、上位の処理にリターンする。
【0086】
(ステップS316)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、状況対応情報格納部105に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS317に進み、ない場合、上位の処理にリターンする。
【0087】
(ステップS317)状況判断部104は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所の、各切断可能性箇所指定情報が示す1以上の切断箇所のうちの、最新の配置指示が示す位置との距離が最も近いものを検出し、その距離に応じた点数を判断結果の値として取得する。
【0088】
(ステップS318)状況判断部104は、予め指定された値以上の、距離に応じた点数が取得できたか否かを判断する。取得できた場合、ステップS319に進み、取得できなかった場合、上位の処理にリターンする。
【0089】
(ステップS319)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部105に格納されている、切断可能性箇所に関する碁石の状況の判断結果の値の範囲を示す1以上の情報のうちの、ステップS318で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。そして、上位の処理にリターンする。
【0090】
図4は、囲碁情報処理装置1による大場等に関する判断処理の動作の一例を説明するフローチャートである。この動作は、図2のステップS204の処理に相当する処理である。以下、この動作について説明する。
【0091】
(ステップS401)状況判断部104は、既に最新の配置指示に対応した顔画像コメント情報が取得済であるか否かを判断する。取得済である場合、ステップS405に進み、取得されていない場合、ステップS402に進む。
【0092】
(ステップS402)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された味方の碁石の配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0093】
(ステップS403)状況判断部104は、最新の配置指示が、濃度の低い位置を示すものであるか否かを判断する。
【0094】
(ステップS404)碁石出力情報取得部106は、ステップS403による判断結果と一致する判断結果を示す情報と対応付けられた顔画像コメント情報を取得する。
【0095】
(ステップS405)状況判断部104は、最新の配置指示に対応した配置情報を含む配置格納部101に格納されている全ての配置情報を用いて、碁盤上の死活判断を行って、死んでいる碁石について、「死に」であることを示す判断結果を取得する。ただし、既に顔画像コメント情報が取得済の碁石については、この死活判断についての判断結果を取得しないようにする。
【0096】
(ステップS406)状況判断部104は、死活判断の結果、死んでいる碁石があったか否かを判断する。あった場合、ステップS407に進み、なかった場合、上位の処理にリターンする。
【0097】
(ステップS407)碁石出力情報取得部106は、ステップS405において死にと判断された碁石のうちの顔画像コメント情報が取得済でない碁石について、状況の判断結果である「死に」と一致する判断結果を示す情報と対応付けられた顔画像コメント情報を取得する。そして上位の処理にリターンする。
【0098】
なお、上記の図3および図4に示したフローチャートはあくまでも一例であり、上記のフローチャートにおいて、上記以外の状況を判断する処理を追加したり、一部の状況を判断する処理を削除したり、処理の順番を変更したりしても良いことはいうまでもない。
【0099】
以下、本実施の形態における囲碁情報処理装置1の具体的な動作について説明する。
図35は、この具体例における囲碁情報処理装置1の外観の一例を示す図である。ここでは、囲碁情報処理装置1は、いわゆるタッチパネルで操作可能なタブレット型の情報端末である場合を例に挙げて説明する。但し、囲碁情報処理装置1は、携帯電話等であっても良いし、ノート型やデスクトップ型のコンピュータ等であっても良く、その外観や、形態等は問わない。
【0100】
図5は、配置格納部101に格納されている配置情報の一例を示す図である。配置情報は、「配置順番」、「色」、「座標」という項目を有している。「配置順番」は、石が配置された順番である。また、「色」は、配置された石の色、「座標」は配置された石の位置を示す座標であり、ここでは、碁盤の線を座標の一目盛りとしている。また、左下隅の縦線と横線とが接している部分の座標を(1,1)としている。なお、「色」という項目を用いる代わりに、「配置順番」が奇数のものを、黒色の石の位置を示す配置情報と考えるようにしても良い。
【0101】
図6は、図5に示すような配置情報を用いて碁石を配置した盤面の画像の、表示部107による表示例を示す図である。ただし、ここでは顔を有する碁石の画像やコメント情報の盤面への表示等は省略している。
【0102】
ここで、例えば、黒番であるユーザが、12番目の配置順番の石として、黒の碁石を盤面上の直線の一の交点(x、y)(ただし、x、yは1から19までの整数)に配置する指示を囲碁情報処理装置1に与えたとすると、配置指示受付部102は、この交点(x、y)に対する配置指示を受け付ける。そして、蓄積部103は、この配置指示が示す位置に12番目の黒石を配置する配置情報を取得して、配置格納部101に追記する。例えば、「配置順番」が「12」で、「色」が「黒」で、「座標」が「(x、y)」である配置情報のレコードが追記される。
【0103】
図7は、状況対応情報格納部105に格納されている顔画像コメント情報と、碁石の状況の判断結果を示す情報とを、対応付けて管理する第一状況対応情報管理表を示す図である。この管理表は、「顔ID」と、「コメントID」と、「碁石状況」という項目を有している。「顔ID」は、碁石の状況に応じた表情の顔の碁石画像の識別情報である。「コメントID」は、碁石の状況に応じたコメント情報の識別情報である。「碁石状況」は、どのような状況判断によって状況がどのように判断されたかを示す情報である。例えば、「碁石状況」は、「判断内容:判断結果」で表される。例えば、「死活判断:手入れあり」は、死活の判断によって予め指定された手数で死にそうな箇所と判断された箇所を助ける手が打たれたことを示す。また、「定石判断:定石通り」は、定石の判断によって予め指定された定石通りに打たれていることを示す。
【0104】
図8は、状況対応情報格納部105に格納されている碁石の状況に応じた表情の顔の碁石画像と、図7に示した碁石画像の識別情報とを対応付けて管理する碁石画像管理表である。碁石画像管理表は、碁石画像の識別情報を示す「顔ID」と、碁石画像を示す「碁石画像」という項目を有している。
【0105】
図9は、状況対応情報格納部105に格納されている碁石の状況に応じたコメント情報と、図7に示したコメント情報の識別情報とを対応付けて管理するコメント情報管理表である。コメント情報管理表は、コメント情報の識別情報を示す「コメントID」と、コメント情報を示す「コメント情報」という項目を有している。
【0106】
状況判断部104は、配置順番が11番目までの碁石を盤面に配置した場合の死活を判断して、予め指定された手数内で死にそうな碁石が盤面上にあるか否かを判断する。ある場合、最新の12番目の碁石の位置が、この死にそうな碁石に対して手入れをする手(即ち、死にそうな石を助け出す手)であるか否かを判断する。例えば、この12番目の碁石を配置した場合に、死にそうな碁石が助かったか否かを判断する。
【0107】
そして、その判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、判断結果が、状況判断部104による死活判断に対する状況判断の結果、「手入れあり」と判断された場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「死活判断:手入れあり」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「手入れなし」と判断された場合も同様である。
【0108】
ここでは、仮に、この死活に関する処理によって、予め指定された手数内で死にそうな碁石が盤面上に無いと判断されたとし、次の定石の判断を行う。
【0109】
図10は、状況対応情報格納部105に格納されている定石の配置情報を管理する定石配置管理情報を示す図である。定石の配置情報とは、定石を並べるための配置情報である。定石配置管理情報は、「定石ID」、「配置順番」、「座標」という項目を有している。「定石ID」は、定石の識別情報、「配置順番」は、定石を打つための石の配置順番、「座標」は、碁石が配置される座標を示す。
【0110】
次に、状況判断部104は、定石についての判断を行う。具体的には、配置格納部101に格納されている11番目の配置情報から予め指定された数(例えば3等)だけ配置順番を過去に遡って複数の配置情報を取得する。そして、この複数の配置情報から、複数の座標を配置情報の配置順番にそって読み出す。そして、図10に示した定石配置管理情報の各「定石ID」が示す定石配置情報から、「配置順番」の値が1から上記と同じ予め指定された数(例えば、3等)までである複数の座標を順次読み出し、配置格納部101の配置情報から取得した複数の座標と、それぞれの相対的な配置順番も含めて一致するか否かを判断していく。そして一致する場合、一致する定石IDが示す定石が打たれていると判断する。そして、最新の12番目の配置情報が、定石通りの手であるか否かを判断する。即ち、12番目の配置情報が示す座標が、一致する定石IDが示す定石配置管理情報の、予め指定された数が示す配置順番の次の配置順番(例えば4番目等)の座標と一致するか否かを判断する。そして、一致する場合は、定石通り碁石が打たれたと判断し、一致しない場合、定石通り打たれなかったと判断する。
【0111】
定石通り打たれたと判断した場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表の「碁石状況」が「定石判断:定石通り」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「定石通りでない」と判断された場合も同様である。
【0112】
なお、定石通り打たれたと判断した場合、次以降の配置指示に応じた配置情報については、この一致する定石IDが示す更なる次の一手(例えば定石配置管理情報の配置順番が5番目の座標と一致する手)が打たれたか否かを判断するようにすればよい。また、定石通りでないと判断された場合は、定石通りと判断された以降の手について、新たに、上記の定石の判断を最初からやり直すようにしても良い。
【0113】
ここでは、仮に、この定石に関する処理によって、定石通りに打たれている箇所が盤面上に無いと判断されたとし、次の濃度分布による判断を行う。
【0114】
まず、ここでは、状況対応情報格納部105に、アマチュア等の複数の棋譜のデータから取得された、各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報であるテンプレートが格納されているものとする。また、このテンプレートには、プロによる添削された次の一手の配置情報とその評価結果が格納されているものとする。ここでの評価結果は点数で表されているものとし、値が高いものほど良い手であることを示す。
【0115】
テンプレートは、具体的には以下のように生成されて、蓄積される。
【0116】
例えば、まず、図11に示すようなアマの棋譜から、プロの手筋を参考にしたり、プロのアドバイス等を受けることで、図12のような表を予め用意された大量の棋譜のそれぞれについて作成しておく。棋譜は予め大量に用意しておく。
【0117】
次に、各棋譜の各手番の一つ前の棋譜から、反応拡散方程式を用いて碁石が配置可能な縦横の直線の交点(座標)についての碁石の濃度を求める。入力は、石の座標、味方の石一つに対して、+1(味方)、敵の石一つに対して−1(敵)となり、各碁石がそれぞれ濃度を分泌している。それぞれの碁石から波動のように出ている濃度の合計が、碁石が置かれていない座標の濃度となる。
【0118】
例えば、図13(a)は、図11に示す棋譜について、白12までの碁石が配置された場合について算出した濃度分布を示す図である。また、図13(b)は、その濃度分布の濃淡で示した模式図である。なお、白12とは、ここでは、盤面に配置された12番目の手であって、白の手番による手を意味するものとする。以下他についても同様とする。そして、この濃度分布を示す情報をまず状況対応情報格納部105に蓄積する。また、13番目の次の一手の配置情報(あるいは座標)と濃度とを蓄積する。そして、プロの知識の点数表から、報酬、ペナルティを与える。このとき、例えば50点を0として、値を−1から1に正規化する。そして、黒13の周りの濃度を更新する。そして更新した濃度分布をテンプレートとして状況対応情報格納部105に蓄積する。図13(c)は更新した濃度分布を示す図である。また、プロによる修正指導の入った手についても、全てテンプレートとして保存する。
【0119】
状況判断部104は、上記のようなテンプレートを用いて、最新の配置指示が示す配置情報についての状況判断を行う。具体的には、新しい配置指示が示す配置情報と、配置格納部101に格納されている配置情報を用いて、反応拡散方程式により盤面上の濃度分布を算出する。そして、テンプレートから最も近いテンプレートを探す。そして、マッチしたテンプレートの次の一手を示す位置を探索し、この位置が、最新の配置指示が示す位置と一致する場合、次の一手と対応付けられた点数を配置情報から取得する。無ければ、濃度分布が近いテンプレートをいくつか取り出し、最新の配置指示が示す位置に対して近い位置にある1以上の次の一手と対応付けられた点数の平均値を取得する。
【0120】
これによって、状況判断部104は最新の配置指示が示す碁石についての状況を示す情報である点数を取得することができる。
【0121】
図14は、状況対応情報格納部105に格納されている顔画像コメント情報と、碁石の状況の判断結果を示す点数とを、対応付けて管理する第二状況対応情報管理表を示す図である。この管理表は、「顔ID」と、「コメントID」と、「点数」という項目を有している。「点数」は、状況判断部104が濃度分布について取得した点数に対応している。
【0122】
碁石出力情報取得部106は、例えば、状況判断部104が濃度分布について取得した点数が60点であったとすると、図14に示した第二状況対応情報管理表から、「点数」が60点を含む点数の範囲を示す「50以上75未満」であるレコードの「顔ID」である「face22」と「コメントID」である「com22」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。
【0123】
ここで、例えば、濃度分布の配置情報が示す濃度分布と類似するテンプレートに、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い次の一手の配置情報と対応付けられたテンプレートが一つも検出されなかったとすると、状況判断部104は、上記のような濃度分布に対応した点数の取得を行わずに、次の切断可能性箇所に応じた碁石の状況の判断を行う。
【0124】
図15は、状況対応情報格納部105に格納されている切断可能性箇所情報を管理する切断可能性箇所情報管理情報を示す図である。切断可能性箇所情報とは、複数の味方の碁石の配置情報である形配置情報と、その碁石の配置によって生じる切断可能性箇所の配置を示す情報である切断可能性箇所配置情報とで構成される。定石配置管理情報は、「切断可能性箇所ID」、「形配置情報」、「切断可能性箇所配置情報」という項目を有している。「切断可能性箇所ID」は切断可能性箇所の識別情報、「形配置情報」は形配置情報、「切断可能性箇所配置情報」は切断可能性箇所配置情報であり、それぞれ座標を示している。ただし、この座標は、碁石間の相対的な座標であるとする。また、味方以外の配置情報には、敵という文字が座標の前に付与されているものとする。一の切断可能性箇所IDに対応したレコードに含まれる複数の形配置情報が示す座標に味方の座標が配置されている場合、同じ切断可能性箇所IDに対応したレコードの切断可能性箇所配置情報が示す位置が切断可能性箇所である。
【0125】
図16は、切断可能性箇所情報管理表が示す切断可能性箇所の盤面上の配置例を示す図であり、図16(a)は、切断可能性箇所ID「0001」に対応した切断可能性箇所の配置例を示し、図16(b)は、切断可能性箇所ID「0002」に対応した切断可能性箇所の配置例を示す。なお、図中の三角は切断可能性箇所を示す。
【0126】
状況判断部104は、図15に示す切断可能性箇所情報を切断可能性箇所IDごとに読み出し、配置順番が11番目までの碁石を盤面に配置した場合の、形配置情報が示す碁石の相対的な配置と一致する碁石の配置を示す箇所を検出する。そして、検出された場合、最新の配置指示が示す12番目の碁石が配置される座標と、形配置情報に対応する切断可能性箇所情報が示す切断可能性箇所との距離を算出し、その距離を用いて、上述した式(1)で示される特異点関数を用いて判断結果を示す点数を取得する。
【0127】
例えば、切断可能性箇所IDが「0001」である切断可能性箇所情報の形配置情報が示す碁石の配置と一致する碁石の配置を示す配置情報が検出されたとすると、この切断可能性箇所IDに対応する切断可能性箇所配置情報が示す切断可能性箇所の座標と、最新の配置指示が示す座標との距離を取得し、この距離の値を用いて、式(1)から点数を取得する。
【0128】
そして、配置濃度の場合と同様に、第二状況対応情報管理表等を用いて、取得した点数に応じた顔画像情報やコメント情報を取得する。ただし、第二状況対応情報管理表と異なる管理表を用いて、取得した点数に応じた顔画像情報やコメント情報を取得してもよい。
【0129】
なお、式(1)を用いて取得した点数が予め指定された点数より少ない場合等には、顔画像情報やコメント情報等を取得しないようにしてもよい。ここでは、顔画像情報やコメント情報等が取得ができず、次の味方の濃度情報を用いた状況判断を行う場合について説明する。
【0130】
次に、状況判断部104は、ユーザの味方の碁石(即ちユーザの担当する碁石)について、上記と同様の反応拡散方程式を用いた濃度分布による状況の判断を行う。まず、状況判断部104は、最新の配置指示を受け付ける直前までに配置格納部101に格納されている配置情報のうちの、味方の碁石の配置情報を読み出す。そして、読み出した碁石の配置情報について反応拡散方程式を用いて濃度分布を求める。
【0131】
図17は、配置情報が示す味方の碁石の盤面上の配置を示す図(図17(a))と、反応拡散方程式を用いてこの配置情報から算出した盤面情報各座標の濃度分布を、盤面上に濃淡で模式的に表した図(図17(b))である。
【0132】
図18は、更に、図17(a)に示す状態から、数手だけ進行した後の、配置情報が示す味方の碁石の盤面上の配置を示す図(図18(a))と、反応拡散方程式を用いてこの配置情報から算出した盤面情報各座標の濃度分布を、盤面上に濃淡で模式的に表した図(図18(b))である。
【0133】
そして、状況判断部104は、最新の配置指示が示す位置の濃度の値を、上記で取得した味方の碁石の濃度分布から取得し、その値が予め指定された閾値を超えるか否かによって、碁石が配置される位置が、濃度が高い位置か否かを判断する。そして、その判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、碁石が配置される位置の濃度分布の値が閾値よりも高く、「濃度が高い」と判断された場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「味方濃度判断:高い」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「濃度が低い」と判断された場合も同様である。なお、ここでは、「濃度が高い」と判断され、図8、図9から、「顔ID」が「FACE01」である画像情報と、「コメントID」が「com05」であるコメント情報とを最新の配置指示に対応した碁石用に取得する。
【0134】
つぎに、状況判断部104は、最新の配置指示に対応した配置情報を除いた配置情報について死活判断を行って、死んでいる碁石を検出する。そして、死んでいる各碁石について、死んでいることを示す判断結果の情報を取得する。そして、この判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「死活判断:死んでいる」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」である「FACE06」に対応する碁石画像と、読み出した「コメントID」である「com07」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。
【0135】
そして、表示部107は、碁石出力情報取得部106が取得した碁石の状況に応じた表情の顔を有する碁石の画像を取得対象となった碁石の画像に重ねて表示するとともに、碁石出力情報取得部106が取得したコメント情報を取得対象となった碁石の近傍に表示する。
【0136】
図19は、表示部107が出力する碁盤上の画像の一部の表示例を示す図である。但し、この図は、図5に示したような配置情報とは異なる配置情報についての出力例であるとする。
【0137】
そして、対局が続く場合は、ユーザの配置指示に応じて順次上記の処理が繰り返され、盤面上の画像が順次更新される。なお、蓄積部103がユーザの配置指示に応じてユーザの対戦相手の配置情報等を順次取得した場合も、表示部107は、この配置指示に従って碁石を配置した盤面上の画像で、表示されている画像を更新する。なお、このとき、対戦相手の配置情報を取得した際には、上記のような顔画像コメント情報等を取得する処理を行うようにしてもよいし、取得しないようにしてもよい。
【0138】
以上のように、本実施の形態によれば、囲碁の対局中等に囲碁の盤面の碁石の状況を、ユーザに分かりやすく表示することができる。
【0139】
なお、図34に示すような、配置指示が示す碁石以外の他の碁石の顔画像コメント情報を取得するためのトリガーを管理するための管理情報を、図示しない格納部等に予め格納しておくようにして、この管理情報を用いて、配置指示を受け付けた場合に、その配置指示が示す碁石以外の配置済の碁石についての顔画像コメント情報を取得するようにしても良い。なお、図34において、「TR」は、配置指示が示す碁石以外の顔画像コメント情報を取得するためのトリガーを示す。また、「ST」は、強くなった碁石の顔画像コメント情報を取得することを示す情報、「WE」は、弱くなった碁石の顔画像コメント情報を取得することを示す情報、「DE」は、死んだ石を示す情報、「LI」は、生きた石を示す情報である。
【0140】
また、上記実施の形態においては、配置指示が示す手について、上述した(1)〜(6)に示すような急場の判断を順番に行うようにして顔画像コメント情報を取得する例について説明したが、予め、配置指示を受け付ける前に、配置情報を用いて、上述した(1)〜(6)に示したような判断処理をそれぞれ行うことで、碁石を配置すべき候補となる位置(候補手)を示す情報と、その位置を決定した判断処理に対応した顔画像コメント情報を取得し、配置指示が示す位置(候補手が示す位置)が、この取得した位置を示す情報のいずれかと合致した場合に、その合致した判断処理に対応した顔画像コメント情報を碁石出力情報取得部106が取得するようにしてもよい。碁石を配置すべき候補となる位置とは、例えば、判断処理によって、好ましい、あるいは好ましくないと判断された碁石が配置されうる位置である。なお、かかることは、上述した(7)〜(9)等の大場等についての判断においても同様である。また、かかることは、他の実施の形態においても同様である。
【0141】
以下、このような予め候補手を取得して、配置指示が示す手の判断を行う場合の囲碁情報処理装置1の動作の変形例について図36のフローチャートを用いて説明する。
【0142】
(ステップS3601)状況判断部104は、配置情報を取得する。
【0143】
(ステップS3602)状況判断部104は、碁盤上の碁石の配置を利用して、急場等の判断をして候補手を取得する。候補手とは、碁石が配置される候補となる位置の情報であり、配置指示が示す位置が、どの候補手と同じ位置であるかによって、状況判断部104が、結果的に碁石の状況を判断することとなる。この処理の詳細については図37を用いて後述する。
【0144】
(ステップS3603)状況判断部104は、碁盤上の碁石の配置を利用して、大場等の判断をして候補手を取得する。この処理の詳細については、図38を用いて後述する。
【0145】
(ステップS3604)ステップS3603およびステップS3604で取得した候補手を図示しない記憶媒体等に保持する。
【0146】
(ステップS3605)状況判断部104は、形勢判断により候補手に点数付けを行う。具体的には、ステップS3604で保持された候補手リストの中から、地の計算をして、取られる地の数と取る地の数の差分値の大きさに応じて、プラスから順に高い点数を割り当てる。そして、最高のプラスの目数(地の数)が1、マイナスの目数−1となるよう正規化して、候補手に順位づけを行う。つまり、地合から優先順位を確定する。なお、盤上に碁石が配置されていない場合、四隅(隅からの距離が4,4まで)を高い点数とする。
【0147】
(ステップS3606)配置指示受付部102は、配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS3607に進み、受け付けていない場合、ステップS3606に戻る。
【0148】
(ステップS3607)状況判断部104は、ステップS3605で順位づけを行った候補手が示す位置と、配置指示が示す位置とのマッチング処理(一致するか否かの判断処理)を行って、マッチする候補手があるか否かを判断する。そして、一致する候補手がある場合、ステップS3608に進み、一致する候補手がない場合、ステップS3609に進む。
【0149】
(ステップS3608)碁石出力情報取得部106は、ステップS3607において検出した候補手に対応した顔画像コメント情報を、候補手に対応付けられた点数や、候補手に対応付けられた顔画像コメント情報等から取得する。そして、表示部107が、顔画像コメント情報を用いた盤面上の画像を表示する。そして、ステップS3610に進む。
【0150】
(ステップS3609)状況判断部104は、反応拡散方程式等から、平均点等を改めて算出して、候補手を取得し、マッチングを行って、配置指示と一致する候補手を検出する。そして検出した候補手に対応した画像コメント情報を碁石出力情報取得部106が取得して、表示部107が、顔画像コメント情報を用いた盤面上の画像を表示する。そして、ステップS3610に進む。
【0151】
(ステップS3610)状況判断部104等が、対局が終了したか否かを判断する。対局終了はどのように判断してもよく、例えば、ユーザが対局終了の申込みを配置指示受付部102等を介して入力した場合や、盤面上に打つ手がなくなった場合に対局終了を決定し、それ以外は対局を継続する。対局終了と判断した場合、処理を終了し、対局終了でない場合、ステップS3611に進む。
【0152】
(ステップS3611)蓄積部103は、従来から知られている囲碁対局ソフトウェアのアルゴリズム等を利用して、ユーザの対戦相手の碁石の配置情報を取得して、碁石の配置情報を配置格納部101に蓄積する。
【0153】
(ステップS3612)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像を表示する。
【0154】
(ステップS3613)状況判断部104等が、対局が終了したか否かを判断する。終了した場合、処理を終了し、終了でなければステップS3601に戻る。
【0155】
以下、ステップS3602の処理の詳細について、図37のフローチャートを用いて説明する。
【0156】
(ステップS3701)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の死活判断を行う。そして、予め指定された手数で死が確定する死にそうな碁石があるか否かを判断する。死にそうな碁石がある場合、ステップS3702に進み、ない場合、ステップS3704に進む。
【0157】
(ステップS3702)状況判断部104は、味方の死にそうな碁石に対して手入れをする手、即ち死にそうな碁石を助けるための碁石の位置を示す候補手を取得する。また、対局相手の死にそうな碁石を殺すための碁石の位置を示す候補手を取得する。この候補手は急所に対する候補手としてもよい。
【0158】
(ステップS3703)碁石出力情報取得部106は、死にそうな箇所に手を入れる候補手に対応付けられた顔画像コメント情報や、死にそうな箇所を殺す候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0159】
(ステップS3704)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報と、状況対応情報格納部105に格納されている定石配置情報とを用いて、直前までに打ちかけの一の定石があるか否かを判断する。ない場合、ステップS3705に進み、ある場合、ステップS3707に進む。
【0160】
(ステップS3705)状況判断部104は、ステップS3704で定石通りの手であると判断された箇所について、定石に沿った次の一手を示す候補手を取得する。
【0161】
(ステップS3706)碁石出力情報取得部106は、定石に沿った次の一手となる候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0162】
(ステップS3707)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0163】
(ステップS3708)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS3707において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0164】
(ステップS3709)状況判断部104は、最も類似するテンプレートに対応付けられた次の一手を示す配置情報を候補手として取得する。
【0165】
(ステップS3710)状況判断部104は、テンプレートから取得した最適な次の一手であることを示す候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0166】
(ステップS3711)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS3707において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0167】
(ステップS3712)状況判断部104は、ステップS3711で検出したテンプレートの中から、対応する次の一手の配置情報同士の距離が、予め指定された距離よりも短いものを検出する。
【0168】
(ステップS3713)状況判断部104は、ステップS3712において、対応する次の一手の配置情報同士の距離が、予め指定された距離よりも短いテンプレートがあったか否かを判断する。あった場合、ステップS3714に進み、なかった場合、ステップS3716に進む。
【0169】
(ステップS3714)状況判断部104は、ステップS3712で検出された1以上のテンプレートの次の一手を示す配置情報が示す位置の近傍を候補手として取得する。
【0170】
(ステップS3715)碁石出力情報取得部106は、類似するテンプレート群から取得された候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0171】
(ステップS3716)状況判断部104は、配置情報を用いて、状況対応情報格納部105に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS3717に進み、ない場合、上位の処理にリターンする。
【0172】
(ステップS3717)状況判断部104は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所のうちの、各切断可能性箇所情報が示す切断可能性箇所の近傍の位置を示す候補手を取得する。
【0173】
(ステップS3718)状況判断部104は、各候補手について、候補手と切断可能性箇所との距離に応じた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。そして、上位の処理にリターンする。
【0174】
以下、ステップS3603の処理の詳細について、図38のフローチャートを用いて説明する。
【0175】
(ステップS3801)状況判断部104は、反応拡散方程式を用いて計算を行うことで、模様を広げる配置となる箇所を検出する。模様とは、例えば、石の拡散の度合いである。
【0176】
(ステップS3802)状況判断部104は、ステップS3801で検出した1以上の箇所を候補手として取得する。
(ステップS3803)状況判断部104は、模様を広げる箇所を示す候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0177】
(ステップS3804)状況判断部104は、確定地を決定する配置の判断を行う。例えば、2線(辺からの距離が2である直線)に石がおけるかどうかで判断が行われる。おけなければ確定地でなく、おければ確定地にできる可能性が高い。
【0178】
(ステップS3805)状況判断部104は、確定地を決定する碁石の配置を示す候補手を取得する。
【0179】
(ステップS3806)状況判断部104は、確定地を決定する候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0180】
(ステップS3807)状況判断部104は、相手の地を荒らす手を示す箇所を検出する。例えば相手の広い地の中に味方石を打ち込んで生きる可能性から判断する。二眼作れるスペースと近くの味方との距離から判断する。
【0181】
(ステップS3808)状況判断部104は、ステップS3807で検出した相手の地を荒らす手を示す候補手を取得する。
【0182】
(ステップS3809)状況判断部104は、状況判断部104は、相手の地を荒らす候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。そして、上位の処理にリターンする。
【0183】
このような処理によっても、上記実施の形態1と同様の効果を得ることができる。なお、かかることは、後述する実施の形態2についても適用可能である。
【0184】
(実施の形態2)
本実施の形態の囲碁情報処理装置2は、上記実施の形態1において示した囲碁情報処理装置1を囲碁の学習用装置として利用できるようにしたものである。
【0185】
図20は、本実施の形態における囲碁情報処理装置2のブロック図である。
囲碁情報処理装置2は、配置格納部201、配置指示受付部202、蓄積部103、状況判断部204、状況対応情報格納部205、碁石出力情報取得部106、表示部107、を備える。蓄積部103、碁石出力情報取得部106、および表示部107の構成については、上記実施の形態1と同様であるので、ここでは説明を省略する。なお、ここでの蓄積部103は、上記実施の形態1のように、対局を行う機能を備えていなくても良い。
【0186】
配置格納部201には、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される。特に、配置格納部201には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報(以下、問題配置情報と称す)と質問内容を示す情報(以下、質問内容情報)とを有する問題情報が格納される。問題配置情報は、上記実施の形態1の配置情報と同様のものであるので、ここでは説明を省略する。配置格納部201は、問題別に配置情報が複数格納されていても良い。問題情報は、例えば、問題配置情報が示す碁石の配置に関する質問内容を示すテキスト情報である。例えば、何を解答すべきかをユーザに文章等で説明する情報である。ただし、質問内容が表示された画像情報でも良い。質問内容は問題の内容を示す情報や、問題に対してどのように返答するかを指示する情報等である。この配置格納部201のその他の構成等については、配置格納部101と同様であるので説明は省略する。
【0187】
配置指示受付部202は、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける。ここでは特に、配置指示受付部202は、表示部107が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付ける。この配置指示を以下、解答配置指示と呼ぶ。配置指示受付部202は、例えば、上述した問題配置情報と質問内容情報との表示によって示される問題に対する解答となる碁石の配置を指示する情報を受け付ける。この配置指示は、実施の形態1において説明した配置指示と同様のものであり、ここでは詳細な説明を省略する。配置指示受付部202のその他の構成等については、配置格納部101と同様であるので説明は省略する。
【0188】
状況判断部204は、配置格納部201に格納された配置情報を用いて、碁石の状況を判断する。ここでは、状況判断部204は、上述した解答配置指示が示す碁石の盤面上の状況を判断する。状況判断部204が行う碁石の状況の判断は、問題配置情報等で示される問題に対する解答配置指示が示すユーザの解答が正解であるか否かや、好ましい解答であるか否かや、適切な解答であるか否かの判断と考えても良い。
【0189】
状況判断部204は、例えば、問題情報と対応付けられて後述する状況対応情報格納部205に格納されている問題情報が示す問題に対する解答となる碁石を置くべき位置(座標)を示す情報が示す位置と、解答配置指示が示す位置とが一致するか否かを判断して、一致する場合、碁石の位置が正解であると判断し、一致しなければ、碁石の位置が不正解であると判断しても良い。また、解答となる碁石を置くべき位置が複数ある場合、解答となる位置のうちのいずれかと一致したか否かを判断して、一致すると判断された位置を示す情報を取得してもよい。なお、解答となる碁石を置くべき位置と、その位置についての顔画像コメント情報とが予め対応付けられて後述する状況対応情報格納部105等に蓄積されている場合、碁石出力情報取得部106は、状況対応情報格納部105から一致すると判断された解答となる碁石を置くべき位置に対応付けら顔画像コメント情報を取得するようにしても良い。
【0190】
状況判断部204が行う判断としては、例えば、上記実施の形態1において説明した状況判断部104が行う判断と同様の判断の1以上が利用可能である。また、複数の判断を組み合わせて利用しても良い。
【0191】
また、状況判断部204は、以下に説明するような味方の石との距離によって状況の判断を行っても良い。まず、上述した解答配置指示が示す位置(座標)に対して最も近い位置にある味方の碁石であって、敵の碁石で遮られていない碁盤上の碁石を、問題配置情報を用いて検出し、検出した碁石との距離を計算する。そして、最も距離が近い碁石と、解答配置指示が示す位置との角度を計算等により取得する。この角度は、例えば碁盤の横線あるいは縦線を基準の0度とした場合の角度である。そして、後述する状況対応情報格納部205に予め格納されている碁石間の角度別に用意された碁石間の距離と、碁石の状況の判断結果を示す情報である点数とを有する情報から、状況判断部204が取得した碁石間の角度と碁石間の距離とに対応する点数を検索により取得する。そして、碁石出力情報取得部106が、取得した点数に応じた顔画像コメント情報を、状況対応情報格納部205に予め格納されている点数と顔画像コメント情報とを対応付けて有する情報から、取得する。
【0192】
なお、状況判断部204は、上記の複数の判断処理の2以上を適宜組み合わせて利用しても良い。状況判断部204のこれ以外の構成等については、状況判断部104と同様であるのでここでは詳細な説明は省略する。
【0193】
状況対応情報格納部205には、例えば、配置格納部201に格納されている問題情報と対応付けられた、問題に対する解答となる碁石を置くべき位置(座標)を示す情報が格納されている。なお、この碁石を置くべき位置は、一でなくても良い。例えば一の問題情報に対して、複数の位置が指定されていても良い。また、1以上の位置を示す情報と、それぞれの位置に碁石を置いた場合のユーザの着手に対するプロ等による評価結果を示す情報(例えば点数等)とを有する解答評価情報が格納されていても良い。
【0194】
また、状況対応情報格納部205には、例えば、碁石間の角度別に用意された碁石間の距離と、碁石の状況の判断結果を示す情報である点数とを有する情報が格納されていても良い。
【0195】
また、上述したテンプレートに、当該テンプレートに対応する配置情報を次の一手をユーザに解答させるための問題情報と考えた場合の、上述したような解答評価情報が含まれているようにしておいても良い。
【0196】
また、状況対応情報格納部205には、例えば、上記のような情報の他に、上述した状況対応情報格納部105において説明したような情報が格納されている。状況対応情報格納部205は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0197】
表示部207は、配置情報を用いて、碁石出力情報取得部106が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する。また、ここでは特に、表示部107は、問題情報に含まれる問題配置情報に応じて碁石を配置した盤面の画像と、問題情報に含まれる質問内容情報とを表示することで、ユーザに対して問題を表示する。表示部207が、問題配置情報や質問内容情報をどのようなタイミングで表示するかは問わない。ユーザの指示によって表示しても良いし、囲碁情報処理装置2の起動等をトリガーとして表示しても良い。なお、表示部207のこれ以外の構成等については、例えば、表示部107と同様であるのでここでは詳細な説明は省略する。
【0198】
図21は、本発明の実施の形態1に係る囲碁情報処理装置2の動作の一例を説明するためのフローチャートである。以下、図21を用いて動作について説明する。
【0199】
(ステップS2101)表示部207は、囲碁についての問題を表示するタイミングであるか否かを判断する。表示するタイミングである場合、ステップS2102に進み、表示するタイミングでない場合、ステップS2101に戻る。
【0200】
(ステップS2102)表示部207は、カウンターnに1を代入する。
【0201】
(ステップS2103)表示部207は、n番目の問題情報が配置格納部201に格納されているか否かを判断する。格納されている場合、ステップS2104に進み、格納されていない場合、処理を終了する。
【0202】
(ステップS2104)表示部207は、n番目の問題情報に含まれる問題配置情報と、質問内容情報とを配置格納部201から読み出して、碁盤に問題となる局面の碁石を配置した、質問内容を示すテキスト情報等を備えた問題を図示しないモニタ等に表示する。
【0203】
(ステップS2105)配置指示受付部102は、解答配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS2106に進み、受け付けていない場合、ステップS2105に戻る。
【0204】
(ステップS2106)状況判断部204は、解答配置指示が示す位置(座標)が、n番目の問題情報に対応して用意された解答評価情報が示す位置のいずれか一つであるか否かを判断する。いずれか一つである場合、ステップS2107に進み、一つでない場合、2108に進む。
【0205】
(ステップS2107)碁石出力情報取得部106は、解答配置指示が示す位置に対応した顔画像コメント情報を取得する。ここでは、例えば、解答配置指示が示す位置と一致する位置を示す解答評価情報に含まれるユーザの着手を評価する情報(例えば点数等)を状況対応情報格納部105から取得し、取得した情報(点数等)に対応した顔画像コメント情報を状況対応情報格納部105から取得する。そして、ステップS2125に進む。
【0206】
(ステップS2108)状況判断部204は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0207】
(ステップS2109)状況判断部204は、状況対応情報格納部205に格納されている濃度分布を示すテンプレートの中から、ステップS2108において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0208】
(ステップS2110)状況判断部204は、最も類似するテンプレートに対応付けられた解答配置情報が示す1以上の位置と、最新の配置指示が示す位置とが一致するか否かを判断する。一致する場合、ステップS2111に進み、一致しない場合、ステップ2112に進む。
【0209】
(ステップS2111)碁石出力情報取得部106は、一致すると判断された解答配置情報の位置に対応したユーザの着手を評価する情報である点数を取得する。但し、評価する情報は、点数以外の情報としても良い。
【0210】
(ステップS2112)状況判断部204は、状況対応情報格納部205に格納されている濃度分布を示すテンプレートの中から、ステップS2108において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0211】
(ステップS2113)状況判断部104は、ステップS2112で検出した1以上のテンプレートに含まれる各解答配置情報が示す1以上の位置の中から、最新の配置指示が示す位置との距離が、予め指定された距離よりも短いものを検出する。
【0212】
(ステップS2114)状況判断部204は、ステップS2113において、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い位置が検出されたか否かを判断する。検出された場合、ステップS2115に進み、ない場合、ステップS2117に進む。
【0213】
(ステップS2115)状況判断部204は、ステップS2113で検出された位置と対応付けられた点数を解答配置情報から取得し、その平均を、最新の配置指示が示す碁石の状況の判断結果として取得する。
【0214】
(ステップS2116)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部205に格納されている、濃度分布に関する碁石の状況の判断結果の点数の範囲を示す1以上の情報のうちの、ステップS312で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部205から取得する。そして、ステップS2125に進む。
【0215】
(ステップS2117)状況判断部204は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、状況対応情報格納部205に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS2118に進み、ない場合、ステップS2121に進む。
【0216】
(ステップS2118)状況判断部204は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所の、各切断可能性箇所情報に含まれる切断可能性箇所指定情報が示す1以上箇所のうちの、最新の配置指示が示す位置との距離が最も近いものを検出し、その距離に応じた点数を判断結果の値として取得する。
【0217】
(ステップS2119)状況判断部204は、予め指定された値以上の、距離に応じた点数が取得できたか否かを判断する。取得できた場合、ステップS2125に進み、取得できなかった場合、ステップS2120に進む。
【0218】
(ステップS2120)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部205に格納されている、切断可能性箇所に関する碁石の状況の判断結果の値の範囲を示す1以上の情報のうちの、ステップS2118で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部205から取得する。そして、ステップS2125に進む。
【0219】
(ステップS2121)状況判断部204は、配置格納部201に格納されている問題配置情報を用いて、最新の配置指示が示す位置に最も距離が近い味方の碁石を検出する。
【0220】
(ステップS2122)状況判断部204は、ステップS2121で検出した碁石の位置と、最新の配置指示が示す位置とを結んだ直線の、碁盤上の直線(例えば、横線や縦線)に対する角度を取得する。角度は、例えば三角関数等を用いて算出可能である。なお、角度を用いる代わりに、碁石の配置情報から算出した三角関数の値を用いることも、ここでは、結果的に角度を利用することと考える。
【0221】
(ステップS2123)状況判断部204は、最新の配置指示が示す位置に配置される碁石の状況を示す情報として、状況対応情報格納部205に格納されている二点間の距離と、碁石を結んだ直線と碁盤上の横線または縦線とがなす角度と、碁石の状況を示す点数とを対応付けた情報等を用いて、ステップS2121で取得した距離と、ステップS2122で取得した角度とに対応した点数を取得する。
【0222】
(ステップS2124)碁石出力情報取得部106は、ステップS2123で取得した点数に応じた顔画像コメント情報を取得する。
【0223】
(ステップS2125)表示部107は、配置格納部201に格納されている問題配置情報が示す位置に碁石を配置し、解答配置指示が示す位置にも碁石を配置した碁盤の盤面上の画像であって、ステップS2107や、ステップS2116や、ステップS2120や、ステップS2124で取得された顔画像コメント情報が示す碁石の状況を示す表情の顔を有する碁石の画像または碁石の状況を示すコメント情報の少なくとも一方を含む盤面上の画像を表示する。
【0224】
(ステップS2126)表示部107は、次の問題を表示するか否かを判断する。例えば、デフォルトで終了の指示が与えられるまでは、順次次の問題を表示すると判断しても良い。あるいは、次の問題を表示する指示を受け付けるまでは次の問題を表示しないと判断しても良い。表示する場合、ステップS2127に進み、表示しない場合、処理を終了する。
【0225】
(ステップS2127)表示部107は、カウンターnの値を1インクリメントする。そして、ステップS2103に戻る。
【0226】
以下、本実施の形態における囲碁情報処理装置2の具体的な動作について説明する。
【0227】
図22は、配置格納部201に格納されている問題情報の一例を示す図である。問題情報は、「問題ID」、「問題配置情報」、「質問内容情報」という項目を有している。「問題ID」は、問題を識別する情報であり、一の問題には、一の問題IDが対応付けられている。「問題配置情報」は、「配置順番」、「色」、「座標」という、図5に示した配置情報と同様の項目を更に有している。「問題情報」は、質問文のテキスト情報であるとする。
【0228】
まず、囲碁情報処理装置2に対し、ユーザ等が、図示しない受付部等を介して、囲碁を学習するための問題を出題する指示を与えたとする。
【0229】
表示部107は、配置格納部201に格納されている一の問題情報を読み出し、問題情報の問題配置情報を用いて、碁石を配置した問題用の碁盤の盤面の画像を生成する。また、問題情報の質問内容情報を用いて、質問文の画像も生成する。そして、生成した画像を図示しないモニタ等に表示する。ここでは、「問題ID」が「Q1」である問題情報を読み出し、画像を生成して表示したとする。
【0230】
図23は、表示部107による囲碁の学習用の問題の表示例を示す図である。なお、ここでは、一例として、「配置順番」の値を碁石の表面に配置した画像を表示している。
【0231】
図24は、状況対応情報格納部205に格納されている解答評価情報を示す図である。解答評価情報は、「問題ID」と、「解答位置」と、「点数」という項目を有している。「問題ID」は、上述した問題情報の「問題ID」と対応する。「解答位置」は、問題の解答として考えられる位置を示す座標である。ただし、一の問題に対する解答位置として、評価の異なる複数の解答位置が用意されていても良い。「点数」は、「解答位置」が示す位置を解答配置指示で指定した場合の、その碁石の状況に対する評価を示す点数である。
【0232】
図25は、図23に示した「問題ID」が「Q1」である問題を示す碁盤の画像上に、図24の「問題ID」が「Q1」である解答評価情報の「点数」の値を、対応する「解答位置」が示す座標に重ねて配置した画像を示す図である。ただし、この図は、説明の為のものであり,通常は表示されない。
【0233】
ここで、ユーザが、「解答位置」の一つの座標と同じ座標を示す解答配置指示を囲碁情報処理装置2に入力したとする。例えば(16,10)を指定する解答配置指示を入力したとすると、配置指示受付部202は、この座標を示す情報として受け付ける。そして、状況判断部104は、解答評価情報の「問題ID」が「Q1」であるレコードの中に、ここで受け付けた解答位置を示す座標(16,10)と一致する「解答位置」を有するレコードがあるか否かを判断する。ここでは、一致するレコードがあると判断する。そして、この一致すると判断されたレコードの「点数」の値である「70」を碁石の状況を評価する値として取得する。
【0234】
そして、碁石出力情報取得部106は、この値に対応した顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の、解答評価情報用に設けられた管理表を用いて取得する。なお、上述した碁石の状況を評価する値「70」も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値「70」も出力するようにしてもよい。
【0235】
ここでは、仮に、解答配置指示が示す座標に一致する「解答位置」を有する解答評価情報のレコードが検出されなかったとする。
【0236】
この場合、上記実施の形態1の具体例において説明したような、状況対応情報格納部105に格納されている、アマチュア等の複数の棋譜のデータから取得された各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報であるテンプレートを用いて、碁石の状況を評価する値を取得するようにしても良い。ただし、ここでは、テンプレートには、次の一手の配置情報を対応付けた情報の代わりに、次の一手となり得る複数の位置を示す複数の配置情報と、各配置情報が示す位置が配置指定情報で指定された場合の碁石の状況を評価する値とを対応付けた解答評価情報が含まれているようにする。
【0237】
そして、状況判断部204は、上述した反応拡散方程式を利用して、問題配置情報が示す碁盤上の碁石の配置についての濃度分布を算出する。そして、この濃度分布と同様の濃度分布を示すテンプレートを検出して、解答配置指示が示す位置が、このテンプレートに含まれる解答評価情報が有する1以上の配置情報が示す位置のいずれかと一致するか否かを判断する。一致する場合、その点数を取得する。一致しない場合(即ち、予め内部に用意された解答の位置とは異なる位置が指定された場合)には、近いテンプレートをいくつか取り出して、配置情報が示す位置に近い解答位置に対応付けられた値をテンプレートに含まれる解答評価情報から取得して平均値を取得する。
【0238】
そして、このようにして取得した点数に応じた顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の管理表を用いて取得する。なお、上述した碁石の状況を評価する値も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値も出力するようにしてもよい。
【0239】
なお、ここでは、仮に、問題配置情報が示す碁盤上の碁石の配置についての濃度分布と、テンプレートが有する濃度分布とが一致しない場合等によって、点数や顔画像コメント情報等が取得できなかったとする。
【0240】
このため、囲碁情報処理装置2は、上記実施の形態1の具体例において説明したように、石の形の切断可能性箇所を利用して碁石の状況を評価する値を取得して、顔画像コメント情報等を取得し、碁盤の盤面の画像を表示するようにしても良い。
【0241】
さらに、ここでは、仮に、切断可能性箇所に相当する座標を示す解答配置指示を受け付けることができなかった場合や、取得した値が、0に近い値となり、顔画像コメント情報等が取得されなかったとする。
【0242】
この場合、状況判断部204は、解答配置指示が示す位置に配置される碁石の状況を示す情報を、この碁石が配置される位置に最も近い味方の石の角度と距離に応じて取得する。
【0243】
図26は、解答配置指示が示す位置とこの位置の最も近くに配置された味方の碁石の位置との距離と、この2点を通る直線が碁盤上の横線または縦線となす角度と、解答配置指示が示す位置に配置された碁石の状況を評価する点数とを対応付けて管理する距離評価情報管理表である。距離評価情報管理表は、「tanθ」と、「距離」と、「点数」という項目を有している。なお、ここでの距離の単位は、隣り合う縦線同士や横線同士の距離を1とした値(つまり、座標の一目盛りを1とした値)である。また、「tanθ」は、2点を通る直線が碁盤上の横線または縦線となす角度θの正接関数(タンジェント)である。ここでは、角度θの代わりに、角度θの正接関数を用いている。
【0244】
図27は、図26に示した距離評価情報管理表における、「tanθ」が「1」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(a))、「tanθ」が「2」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(b))、「tanθ」が「3」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(c))である。
【0245】
また、図28は、「tanθ」が「1」である場合の碁石の配置例(図28(a))、「tanθ」が「2」である場合の碁石の配置例(図28(b))、「tanθ」が「3」である場合の碁石の配置例(図28(c))を示す図である。
【0246】
状況判断部204は、解答配置指示が示す位置に最も近い味方の碁石が配置される位置であって、位置同士を結ぶ間に、敵の碁石が存在しない位置を検出する。そして、この2つの位置を通る直線と、碁盤の横線とのなす角θの正接関数を算出する。また、この2つの位置の間の距離を算出する。例えば、仮に、2つの石の配置が、算出した角θのtanθが2であり、距離が3であったとする。状況判断部204は、算出した角θのtanθが2であるので、図26に示した距離評価情報管理表から、「tanθ」が2で、「距離」が3であるレコードの「点数」である「50」を取得する。
【0247】
そして、碁石出力情報取得部106は、この値に対応した顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の、距離と角度で状況を判断する場合用に設けられた管理表を用いて取得する。なお、碁石出力情報取得部106は、上述した碁石の状況を評価する値「50」も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値「50」も出力するようにしてもよい。
【0248】
なお、図26に示したような角度と距離と点数との関係を示す情報を、Fuzzyのメンバーシップ関数として用いるようにしてもよい。
【0249】
図29は、問題情報に応じて入力された解答配置指示に対応して表示部107に表示された碁盤の盤面の主要部の画像を示す図である。
【0250】
その後、例えば、配置格納部201に格納されている他の問題配置情報を用いて、更に問題を出力して、これに対する解答に対して評価を行っていくことで囲碁の学習が可能となる。
【0251】
以上、本実施の形態によれば、学習中の囲碁の盤面の碁石の状況を、ユーザに分かりやすく表示することができ、ユーザは囲碁の学習を楽しく継続することが可能となる。
【0252】
なお、上記各実施の形態において、碁石の切断可能性箇所との関係によって碁石の状況を判断する際に、状況判断部104等が、碁石の配置情報(つまり石の形)から検出した切断可能性箇所の位置を特異点として、この周りのweakness分布を作成して、このweakness分布から最新の配置指示が示す位置に対応した値を状況判断の結果として取得するようにしても良い。weakness分布は、例えば、検出さえた形を有する2以上の石が切断される危険度を示す値の分布である。例えば、切断可能性箇所に相手の碁石が配置されると、味方の石が切断されるが、単独で相手の石が配置されると、その石を味方の石で殺すことが可能となる。例えば、weakness分布内に敵の石が来ると、特異点の値を大きくし、weakness分布を変更する。このweakness分布を用いることで、このような石の状況を適切に判断することが可能となる。Z=aの特異点のまわりでの解析関数は、例えば以下の式で表される。ただし、aは、切断可能性箇所からの距離を示す。
【0253】
【数3】
【0254】
図30は、配置情報が示す碁石の碁盤上の配置を示す図(図30(a))、この配置において取得したweakness分布を示す図(図30(b))、更に、敵が近づいて来た場合の碁石の碁盤上の配置を示す図(図30(c))、この配置において取得したweakness分布を示す図(図30(d))である。
【0255】
また、上記実施の形態においては、状況判断部104は、全体の形勢判断を、Fuzzyや強化学習によって判断しても良い。強化学習の場合、相手の切断可能性箇所を報酬として利用しても良い。
【0256】
なお、上記各実施の形態においては、囲碁の情報を処理する囲碁情報処理装置について説明したが、本発明は、ユーザの打った手に対して、評価等を行うことが可能な、将棋、チェス、オセロ、麻雀等のボードゲームの情報を処理するボードゲーム情報処理装置についても適用可能なものであり、このような場合においても、上記各実施の形態と同様の効果を奏する。なお、この場合、上記具体例において、例えば、碁石を駒、カードまたはパイと適宜読み替え、碁石出力情報取得部を、適宜出力情報取得部等と読み替えるようにすればよい。
【0257】
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0258】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0259】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【0260】
また、上記各実施の形態では、ボードゲーム情報処理装置がスタンドアロンである場合について説明したが、ボードゲーム情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【0261】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【0262】
なお、上記各実施の形態における囲碁情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と配置指示に応じて碁石の配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、碁石の状況を判断する状況判断部と、状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する碁石出力情報取得部と、配置情報を用いて、碁石出力情報取得部が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラムである。
【0263】
また、上記各実施の形態におけるボードゲーム情報処理装置を実現するソフトウェアは、ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、配置指示に応じて駒、カードまたはパイの配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、駒、カードまたはパイの状況を判断する状況判断部と、状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する出力情報取得部と、配置情報を用いて、出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラムである。
【0264】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0265】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【0266】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0267】
図31は、上記プログラムを実行して、上記実施の形態によるボードゲーム情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【0268】
図31において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
【0269】
図32は、コンピュータシステム900の内部構成を示す図である。図32において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【0270】
コンピュータシステム900に、上記実施の形態によるボードゲーム情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
【0271】
プログラムは、コンピュータ901に、上記実施の形態によるボードゲーム情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0272】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0273】
以上のように、本発明にかかるボードゲーム情報処理装置等は、囲碁等のボードゲームの対戦(対局)や学習等に関数情報を処理する装置等として適しており、特に、ユーザの打った手についての評価結果を適切に表示する装置等として有用である。
【符号の説明】
【0274】
1、2 囲碁情報処理装置
101、201 配置格納部
102、202 配置指示受付部
103 蓄積部
104、204 状況判断部
105、205 状況対応情報格納部
106 碁石出力情報取得部
107、207 表示部
【技術分野】
【0001】
本発明は、囲碁等のボードゲームの対戦やボードゲームの学習等に関する情報を処理する装置等に関するものである。
【背景技術】
【0002】
従来のボードゲームに対するユーザの着手等の情報を処理したり、ボードゲームの進行を自動化したり、ボードゲームの自動対戦等を行うための情報処理装置であるボードゲーム情報処理装置としては、コンピュータ囲碁の地合計算を行うシステム等が知られていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−126019号公報(第1頁、第1図等)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のボードゲーム情報処理装置においては、ボードゲームに参加しているユーザに対して、ユーザの着手についての評価結果や、ボードゲーム上の形勢等についての評価結果や、ユーザのボードゲームに対する技量の向上を図るためのアドバイス等を、ユーザに分かりやすく表示することができないという課題があった。
例えば、いわゆる囲碁の対局を行うボードゲーム情報処理装置である囲碁情報処理装置においては、囲碁を打っているユーザに対して、ユーザの着手についての評価結果や、碁盤の盤面上の形勢等についての評価結果や、ユーザの棋力の向上を図るためのアドバイス等を、ユーザに分かりやすく表示することができないという課題があった。
【課題を解決するための手段】
【0005】
本発明の囲碁情報処理装置は、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、配置指示に応じて碁石の配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、碁石の状況を判断する状況判断部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する碁石出力情報取得部と、配置情報を用いて、碁石出力情報取得部が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えた囲碁情報処理装置である。
【0006】
かかる構成により、例えば、碁石上に状況に応じた表情の顔を表示したり、碁石の近傍に状況に応じたコメントを表示したりすることができ、囲碁の盤面における碁石の状況を、ユーザに分かりやすく表示することができる。
【0007】
また、本発明の囲碁情報処理装置は、前記囲碁情報処理装置において、配置格納部には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報と質問内容を示す情報とを有する問題情報が格納され、表示部は、問題情報に含まれる問題用の配置情報に応じて碁石を配置した盤面の画像と、問題情報に含まれる質問内容を示す情報とを表示し、配置指示受付部は、表示部が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付け、状況判断部は、配置指示が示す碁石についての状況を判断する囲碁情報処理装置である。
【0008】
かかる構成により、囲碁の学習に用いられる問題に対するユーザの解答についての評価を、例えば、碁石上の顔の表情で表現したり、碁石の近傍に配置したコメントで表現したりすることによって、ユーザに分かりやすく表示することができる。
【0009】
本発明のボードゲーム情報処理装置は、ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えたボードゲーム情報処理装置である。
【0010】
かかる構成により、ボードゲームの盤面の状況を、ユーザに分かりやすく表示することができる。
【発明の効果】
【0011】
本発明によるボードゲーム情報処理装置によれば、ボードゲームの盤面の状況を、ユーザに分かりやすく表示することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1における囲碁情報処理装置の構成を示すブロック図
【図2】同囲碁情報処理装置の動作を説明するためのフローチャート
【図3】同囲碁情報処理装置の動作を説明するためのフローチャート
【図4】同囲碁情報処理装置の動作を説明するためのフローチャート
【図5】同囲碁情報処理装置の配置情報の一例を示す図
【図6】同囲碁情報処理装置の表示例を示す図
【図7】同囲碁情報処理装置の第一状況対応情報管理表を示す図
【図8】同囲碁情報処理装置の碁石画像管理表を示す図
【図9】同囲碁情報処理装置のコメント情報管理表を示す図
【図10】同囲碁情報処理装置の定石配置管理情報を示す図
【図11】同囲碁情報処理装置の処理に関連した棋譜の情報を示す図
【図12】同囲碁情報処理装置の処理に関連した棋譜に対する評価結果を示す図
【図13】同囲碁情報処理装置の濃度分布を示す図
【図14】同囲碁情報処理装置の第二状況対応情報管理表を示す図
【図15】同囲碁情報処理装置の切断可能性箇所情報管理情報を示す図
【図16】同囲碁情報処理装置の切断可能性箇所情報管理表が示す切断可能性箇所の配置例を示す図
【図17】同囲碁情報処理装置の味方の碁石の盤面上の配置例を示す図(図17(a))および、盤面の濃度分布を模式的に表した図(図17(b))
【図18】同囲碁情報処理装置の味方の碁石の盤面上の配置例を示す図(図18(a))および、盤面の濃度分布を模式的に表した図(図18(b))
【図19】同囲碁情報処理装置の表示例を示す図
【図20】本発明の実施の形態2における囲碁情報処理装置2の構成を示すブロック図
【図21】同囲碁情報処理装置の動作を説明するためのフローチャート
【図22】同囲碁情報処理装置の問題情報の一例を示す図
【図23】同囲碁情報処理装置の問題の表示例を示す図
【図24】同囲碁情報処理装置の解答評価情報を示す図
【図25】同囲碁情報処理装置の問題を示す碁盤の画像上に、点数の値を重ねて配置した模式図
【図26】同囲碁情報処理装置の距離評価情報管理表を示す図
【図27】同囲碁情報処理装置の、「tanθ」が「1」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(a))、「tanθ」が「2」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(b))、「tanθ」が「3」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(c))
【図28】同囲碁情報処理装置の、「tanθ」が「1」である場合の碁石の配置例(図28(a))、「tanθ」が「2」である場合の碁石の配置例(図28(b))、「tanθ」が「3」である場合の碁石の配置例(図28(c))を示す図
【図29】同囲碁情報処理装置の表示例を示す図
【図30】同囲碁情報処理装置の碁石の碁盤上の配置を示す図(図30(a)、図30(c))、この配置において取得したweakness分布を示す図(図30(b)、図30(d))
【図31】本発明の各実施の形態におけるコンピュータシステムの外観の一例を示す図
【図32】本発明の各実施の形態におけるコンピュータシステムの構成の一例を示す図
【図33】本発明の実施の形態1に係る囲碁情報処理装置を説明するための図
【図34】同囲碁情報処理装置のトリガーを管理する管理情報を示す図
【図35】本発明の実施の形態1に係る囲碁情報処理装置の外観の一例を示す図
【図36】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【図37】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【図38】同囲碁情報処理装置の変形例の動作を説明するためのフローチャート
【発明を実施するための形態】
【0013】
以下、ボードゲーム情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0014】
(実施の形態1)
本実施の形態においては、ボードゲームの情報を処理するボードゲーム情報処理装置のうちの、特に囲碁の情報を処理する囲碁情報処理装置1を例に挙げて説明する。なお、ボードゲームとは、ボード(盤)上に駒やカードやパイを置いたり、動かしたり、取り除いたりして遊ぶゲームである。ただし、ここでは、特に、実際のボードや駒やカードやパイを使わずにモニタ等に表示される仮想上のボードや駒やカードやパイを用いて遊ばれるゲームをボードゲームと呼ぶ。
図1は、本実施の形態における囲碁情報処理装置1のブロック図である。
囲碁情報処理装置1は、配置格納部101、配置指示受付部102、蓄積部103、状況判断部104、状況対応情報格納部105、碁石出力情報取得部106、および表示部107を備える。
【0015】
配置格納部101には、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される。配置情報は、具体的に、碁盤の盤面(以下、単に碁盤や盤面とも称す)上に配置された黒の碁石(黒石)および白の碁石(白石)の位置を示す情報である。通常、碁石は、盤面上に格子状に引かれた縦19本および横19本の直線の交点に配置されるため、配置情報は、例えば、碁盤の左端(あるいは右端)から、碁石が置かれている交点までの、横方向に配列された直線の数をx座標の値とし、碁盤の下端(あるいは上端)から、碁石が置かれている交点までの、縦方向に配列された直線の数をy座標の値とした座標で表される。ただし、交点にそれぞれ識別情報を対応付けるようにして、配置情報を、この交点の識別情報で碁石の配置を示す情報としても良い。なお、ここでは、碁石のことを単に石と呼ぶ場合がある。配置情報は、例えば、碁盤上の石の配置された順番を示す情報である順番情報を有することが好ましい。順番情報は、碁石が配置された順番を示すことが可能な情報であれば、例えば、碁石の配置された時刻等を示す情報であってもよい。配置情報は、例えば、石の配置される位置を示す情報と、石の色と、配置順番と、を対応付けて有する情報である。配置情報は、いわゆる棋譜の情報と考えても良い。例えば、従来の棋譜管理ソフトウェアで利用される棋譜の情報や、従来の囲碁対局ソフトウェアで利用される棋譜の情報等と同様の棋譜の情報を、配置情報として利用してもよい。ここでは石の配置される位置を示す情報として、上述した座標を用いる場合を例に挙げて説明する。配置格納部101は、対局別の配置情報が1以上格納されていても良い。また、配置情報では、アゲハマの石の情報も有していてもよい。アゲハマの石の情報は、例えば、アゲハマに配置されている石の色と、配置順番とを対応付けて有する情報である。配置格納部101には、予め配置情報が格納されていても良い。また、例えば、配置指示受付部102が受け付けた石の配置を示す情報が、随時、蓄積部103により、配置格納部101に蓄積されても良い。ここでの格納は一時記憶も含む概念である。配置格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0016】
配置指示受付部102は、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける。配置指示は、例えば、碁石が配置される位置を示す情報(例えば上述した交点の座標)とを有する情報である。配置指示は、ユーザの担当する碁石の色を示す情報や、配置する順番を示す情報を有していても良い。配置指示受付部102は、対局する2人のユーザの配置指示をそれぞれ交互に受け付けても良い。また、囲碁情報処理装置1が、囲碁の自動対局を行う装置である場合、囲碁情報処理装置1を対戦相手として対局する一のユーザの配置指示だけを受け付けても良い。なお、ユーザが入力した一の配置指示を、ここでは手と呼ぶ場合がある。また、配置指示を入力することを、ここでは打つ(石を打つ)と呼ぶ場合がある。また、ユーザにより入力された配置指示を、ここでは着手と呼ぶ場合がある。ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。入力手段は、テンキーやキーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。配置指示受付部102は、テンキーやキーボードやタッチパネル等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0017】
なお、配置指示受付部102は、通常、碁石を配置する位置を完全に確定する操作が、ユーザによって行われた場合に、この操作に応じて配置指示を受け付けることが好ましいが、配置される位置を完全に確定する操作が行われていない場合においても、予め指定された操作等に応じて一時的な配置指示を受け付けても良い。一時的な配置指示は、例えば、試しとして、碁石を仮の位置に配置する指示と考えても良い。例えば、ユーザが、ポインタやカーソル等を碁盤上の直線の一の交点近傍に配置した状態でマウス等をクリックした場合に、このクリックされた位置近傍の交点が、碁石を配置する位置に確定されたと判断して、この交点についての配置指示を受け付けるようにするとともに、ユーザが、ポインタやカーソル等を後述するディスプレイ等に表示される碁盤上の直線の一の交点近傍に予め指定された時間以上停止していた場合(停留させた場合)においても、この操作に応じて、この停止していた位置についての一時的な配置指示を受け付けるようにしても良い。なお、配置する位置の確定に伴う配置指示を受け付けた場合には、ユーザからの配置指示の受付が終了して、ユーザの一の手番(即ちユーザが碁石を打つ順番)が終了するが、一時的な配置指示を受け付けた場合は、本来の配置指示とは異なるため、ユーザの手番は終了しないようにする。
【0018】
蓄積部103は、配置指示に応じて上述したような碁石の配置情報を配置格納部101に蓄積する。ここでの蓄積は配置情報の追記や更新である。例えば、配置指示に含まれる碁石を配置する位置を示す情報を、配置情報として配置格納部101に蓄積する。また、配置指示に含まれる碁石の色の情報や、配置する順番を示す情報も、碁石を配置する位置を示す情報と対応付けて、配置情報として蓄積してもよい。配置指示受付部102が受け付ける配置指示が、碁石の色や配置する順番を有していない場合、ユーザに予め設定されている碁石の色の情報と、配置格納部101に格納されている配置情報が示す最新の碁石の配置順番を示す情報を用いて取得した今回の碁石の配置順番とを、碁石の配置する位置を示す情報と対応付けて蓄積してもよい。
【0019】
また、蓄積部103は、配置格納部101に格納されている配置情報を用いて、配置指示によって配置された碁石により、当たりとなった石があるか否かを判断し、当たりとなった碁石を碁盤上から取り除くようにしても良い。取り除いた碁石は、上述したアゲハマの石の情報として管理するようにしても良い。
【0020】
なお、囲碁情報処理装置1が、囲碁の自動対局を行う装置である場合、ユーザの配置指示に応じた配置情報が格納されると、蓄積部103が、予め用意されたアルゴリズム等を利用して、ユーザが担当する色と異なる色の碁石の配置情報を配置格納部101に格納されている配置情報に応じて取得して、配置格納部101に蓄積するようにしてもよい。つまり、蓄積部103は、ユーザに対する応手を示す配置情報を自動取得して配置格納部101に蓄積しても良い。なお、ユーザの配置指示等に応じて、対局相手の応手の配置情報を自動取得して自動対局を行う処理については、通常の囲碁対局ソフトウェア等において公知の技術であるので、ここでは詳細な説明は省略する。
【0021】
なお、上述したように、配置指示受付部102が一時的な配置指示を受け付けた場合、蓄積部103は、例えば、この配置指示に応じた配置情報を配置格納部101等の格納部に、本来の配置指示が配置されるまで、一時記憶するようにしても良い。
【0022】
蓄積部103は、通常、MPUやメモリ等から実現され得る。蓄積部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0023】
状況判断部104は、配置格納部101に格納された配置情報を用いて、碁石の状況を判断する。状況判断部104は、盤面上の1以上の碁石の状況を判断する。碁石の状況とは、例えば、最新の配置指示が示す位置に配置される碁石や、それ以前に配置格納部101に格納されている配置情報が示す位置に配置されている碁石が、適切な位置に配置されているか否かや、良い手であるかということである。また、例えば、配置情報が示す碁盤上の各碁石が死んでいるか生きているかということや、碁盤上の碁石の形勢が、白側および黒側のどちらに優勢であるか(どちらが勝っているか)ということである。また、状況判断部104は、複数の異なる種類の状況判断を行っても良い。状況判断部104は、例えば、碁石の状況を、碁盤上の部分的な領域についてそれぞれ判断してもよいし、碁盤全体について判断してもよい。また、状況判断部104は、最新の配置指示が示す着手について状況を判断してもよい。
【0024】
状況判断部104は、どのように碁石の状況を判断してもよい。例えば、状況判断部104は、1以上の各碁石が、碁石の状況を判断するために予め用意された条件を満たすか否かによって碁石の状況を判断する。また、1以上の各碁石の配置情報を用いて、碁石の状況を示す値を取得するための予め指定された演算式による演算を行って演算結果を示す値を得ることも碁石の状況を判断することと考えても良い。状況判断部104は、一の碁石のそれぞれの状況を判断しても良いし、複数の碁石の群について状況を判断してもよい。また、状況判断部104が取得する判断結果はどのような情報であってもよい。例えば、状況判断部104は、碁石の状況を指標や数値等で示した判断結果を取得してもよい。具体的には、状況判断部104は、碁石の状況を70点、50点等の点数等で表した判断結果を取得しても良い。また、状況判断部104は、状況判断の結果を予め用意された複数段階のいずれかの値で示した判断結果を取得しても良い。例えば、「最善手」、「良手」、「悪手」等の値で示した判断結果を取得しても良い。また、状況判断の結果に応じた石の状況を示す情報を判断結果として取得しても良い。例えば、状況判断として、碁石の「生き死に」を判断した場合、判断結果によって、「生き」、「死に」等の判断結果を取得しても良い。
【0025】
以下、状況判断部104が行う碁石についての状況判断の例を以下に説明する。なお、ここでは、盤面上の急場(早急にユーザによる対応が必要な状況)についての状況判断と、大場(できるだけ広く、勢力的に価値の高い部分に打つことが好ましい状況)についての状況判断とに分けて説明する。
【0026】
(a)急場についての状況判断
(1)反応拡散方程式を用いた濃度分布による状況判断の例
まず、アマチュア等の棋譜のデータを複数用意する。そして、これらの棋譜のデータが示す各手番に打たれた手の、囲碁のプロによる評価結果やプロの手筋を参考にした評価結果を取得する。評価結果は、例えば点数とする。また、これらの各棋譜の各手番の棋譜から反応拡散方程式を用いて、各手番において碁石を打つ直前の碁盤上の直線の交点における石の濃度分布を算出する。例えば、以下に示すような反応拡散方程式に、棋譜が示す座標を代入することで、濃度分布が算出される。
【0027】
【数1】
【0028】
そして、各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報をテンプレートとして後述する状況対応情報格納部105等に蓄積する。また、棋譜が示す各手番において、プロ等による次の一手に対する添削指導を受け付けた場合、添削指導により配置された碁石の配置情報と、その配置情報に対する上記と同様の評価結果と、その添削指導が行われるまでの棋譜に対する上記と同様の濃度分布とを対応付けたものもテンプレートとして、後述する状況対応情報格納部105等に蓄積してもよい。
【0029】
つぎに、状況判断部104は、配置指示受付部102が受け付けた最新の配置指示よりも前に蓄積されていた配置情報を配置格納部101から読み出し、読み出した配置情報が示す座標を反応拡散方程式に代入することで、上記と同様の碁石の濃度分布の情報を取得する。
【0030】
そして、状況判断部104は、取得した濃度分布と最も近い濃度分布を有するテンプレートを、状況対応情報格納部105等に格納されているテンプレートから検出する。この検出は例えばパターンマッチング等を用いることで行われる。
【0031】
そして、検出した濃度分布を有するテンプレートに含まれる次の一手の配置情報が示す位置と、最新の配置指示が示す位置とが、一致するか否かを判断し、一致する場合、そのテンプレートに含まれる次の一手の配置情報の評価結果を、最新の配置指示が示す碁石の配置に関する状況判断の判断結果として取得する。あるいは、一致すると判断されたことを状況の判断結果として取得しても良い。また、一致しないと判断された場合、濃度分布が近いテンプレートを複数検出し、さらに、その中から、そのテンプレートのうちの、次の一手の配置情報が、最新の配置指示が示す位置との距離が近いものを検出して、検出したテンプレートのうちの、次の一手についての評価結果を示す点数の平均値を、最新の配置指示が示す碁石の配置に関する状況判断の判断結果として取得する。距離が近いとは、例えば、距離が予め指定された距離よりも短いことを意味する。なお、平均値を算出する際は、距離等による重み付けを行っても良い。
【0032】
(2)切断可能性箇所との関係による状況判断の例
例えば、予め指定された碁石の形を示すための複数の碁石の配置情報である形指定情報と、この配置情報が示す碁石の形の1以上の切断可能性箇所の位置を指定する配置情報である切断可能性箇所指定情報とを対応付けて有する切断可能性箇所情報を、状況対応情報格納部105に予め指定しておく。切断可能性箇所とは、放っておけば、形勢が悪くなる碁石が配置される位置である。ここでの碁石の配置情報は、碁盤上における絶対的な位置を示す情報でなくてもよく、碁石間の相対的な位置関係を示す情報であっても良い。例えば、碁石の相対的な座標であっても良い。碁石の形とは、碁石の相対的な位置関係が示す形であり、例えば、コスミや、ケイマ、大ゲイマ、一間トビ、二間トビ等の形が知られている。
【0033】
次に、状況判断部104は、最新の配置指示の直前までの配置情報を、配置格納部101から読み出し、最新の配置指示の直前までに碁盤上に配置されている碁石の中から、形指定情報と一致する形で配置されている碁石を検出する。そして、一致する碁石が検出された形指定情報を含む切断可能性箇所情報から切断可能性箇所指定情報を読み出して、碁盤上のこの切断可能性箇所指定情報が示す位置の配置情報である1以上の切断可能性箇所配置情報を取得する。そして、この切断可能性箇所配置情報が示す位置と最新の配置指示が示す位置との距離に応じた状況の判断結果を取得する。例えば、切断可能性箇所配置情報が示す位置と最新の配置指示が示す位置との間の距離と、判断結果を示す点数とを対応付けた情報が図示しない記憶媒体に蓄積しておくようにして、この情報から判断結果を示す点数を取得するようにすればよい。また、この距離と、判断結果の点数との関係を示す関数を用意しておくように、この関数から距離に応じた判断結果の点数を算出して取得しても良い。例えば、切断可能性箇所を1とした距離の乗数の逆数(等比数列)で決定しても良い。また、以下のような特異点関数を用いて、判断結果を示す点数を算出しても良い。
【0034】
【数2】
【0035】
なお、最新の配置指示が示す位置が、味方の碁石の切断可能性箇所に近い位置であるか、敵の碁石の切断可能性箇所に近い位置であるかを判断して、それぞれの判断結果の場合で、異なる状況判断の結果を得るようにしても良い。
【0036】
(3)味方の碁石との関係による状況判断の例
最新の配置指示が示す位置との距離が最も近い位置に配置された味方の碁石の配置情報を、配置格納部101に格納されている配置情報の中から検出する。そして、最新の配置指示が示す位置と検出された碁石との距離と、最新の配置指示が示す位置と検出された最も近い位置に配置された味方の碁石との角度、具体的には、最新の配置指示が示す位置と検出した碁石とを結んだ直線の、碁盤上の横(または縦)の直線との角度(例えば、x軸(またはy軸)との角度)との組み合わせから、状況判断の結果を示す点数を取得するようにしてもよい。例えば、予め最新の配置指示が示す位置と検出した最も近い位置に配置された味方の碁石との角度別に、距離と碁石の状況についての判断結果との関係を対応付けた管理表や、グラフ等を状況対応情報格納部105等に用意しておくようにし、この管理表やグラフ等から、最新の配置指示が示す位置について検出された最も近い位置に配置された味方の碁石との角度と距離とに対応した値を状況の判断結果として取得する。なお、このような距離と碁石の状況の判断結果との関係を示す情報を、味方の碁石との角度によって異なるFuzzyのメンバーシップ関数として用いても良い。
【0037】
(4)定石に通りであるかについての状況判断の例
例えば、状況対応情報格納部105等に、1以上の定石を示すための複数の碁石の配置情報である1以上の定石配置情報を格納しておく。定石配置情報は、定石を打つための碁石の位置を示す情報と、碁石を打つ順番を示す順番情報とを対応付けて有する情報である。なお、ここでの定石配置情報の位置を示す情報は、絶対的な位置の情報でなくても良く、相対的な座標等の相対的な位置の情報であればよい。また、碁石の色も、白黒を特定せず、奇数番目にうった碁石の色を、例えば、第一の色、偶数番目に打った碁石の色を、例えば、第二の色として、順番情報等と対応付けられているようにすればよい。
【0038】
そして、状況判断部104は、配置格納部101に格納されている最新の配置指示の直前に蓄積された1以上の配置情報が示す碁石の配置が、順番情報が示す配置順番も含めて、各定石配置情報が示す配置順番が早い所定数以上の碁石の配置と一致するか否かを判断していく。そして、一致している場合、一致していると判断された定石配置情報が示す定石で碁石が配置されていると判断して、最新の配置指定が、この定石配置情報が示す次の配置順番の位置を指定する配置指定であるか否かを判断する。そして、次の配置順番を示す場合、この定石配置情報が示す定石通りに碁石が打たれていることを示す状況判断の結果を取得する。また、次の配置順番を示さない場合、この定石配置情報が示す定石通りに碁石が打たれていないことを示す助教判断の結果を取得する。
【0039】
(5)死活による状況判断の例
状況判断部104は、最新の配置指示を受け付ける前に配置格納部101に格納されている配置情報を読み出して、死活の判断を行う。そして、手を入れずに放置した場合、予め指定された手数以下の手数で死んでしまう状態にある碁石を検出する。そして、最新の配置指示が、この死んでしまう状態にある碁石を助けるための配置指示であるか否かを判断する。例えば、最新の配置指示が示す位置に碁石を配置した場合に、再度死活の判断を行って、上記の死んでしまう状態にある碁石が、死んでしまう状態を脱したか否かを判断する。そして、その判断結果を、状況情報として取得する。死活の判断は、例えば、二眼あるか否か、一眼あり、もう一眼作るスペースがあるか、もう一眼作るために相手の手があっても確実に作れるか、二眼作るスペースがあるか、等を判断することで判断可能である。もう一眼作るために相手の手があっても確実に作れるか否かの判断は、狭い空間内において石の配置可能な位置を探索していくことで判断可能である。また、死ぬまでの手数については、例えば、一眼あり、もう一眼作るスペースがあると判断された場合や、もう一眼作るために相手の手があっても確実に作れると判断された場合において、確実に死ぬパターンに陥るまでの手数を探索することで、取得可能である。碁石の死活を判断する処理や、碁石が予め指定された手数で死んでしまうか否かを判断する処理は、囲碁対局ソフトウェア等において公知の技術であるので、ここでは説明を省略する。
【0040】
なお、死活による状況判断は、急所についての状況判断と考えても良い。急所とは、死活に関係する、生き死にを決定づける一手が打たれる位置である。例えば、予め指定された碁石の形を示すための複数の碁石の配置情報である形指定情報と、この配置情報が示す碁石の形の1以上の急所の位置を指定する配置情報である急所指定情報とを対応付けて有する急所情報を、状況対応情報格納部105に予め指定しておく。そして、この急所情報が示す位置に、味方の碁石が配置されたか否かを状況判断部104が判断してもよい。ここでの碁石の配置情報は、碁盤上における絶対的な位置を示す情報でなくてもよく、碁石間の相対的な位置関係を示す情報であっても良い。例えば、碁石の相対的な座標であっても良い。碁石の形とは、碁石の相対的な位置関係が示す形であり、例えば、三目中手や五目中手等の形が知られている。
【0041】
図33は、急所の位置の形を示す図である。図33において、三角で示す位置は、黒石が打たれると白石が死に、白石が打たれると白石が生きる白石の急所を示している。
【0042】
(6)目による状況判断の例
状況判断部104は、最新の配置指示を受け付ける前に配置格納部101に格納されている配置情報を読み出して、死活の判断を行う。そして、最新の配置指示が、既に生死が確定している目に対して手入れを行う手であるか否かを判断し、これらのいずれかの目に対して手入れを行う手であると判断された場合、その判断結果を、状況判断の結果とし手取得する。
【0043】
(b)大場およびその他についての状況判断
(7)反応拡散方程式を用いた味方の碁石についての濃度分布による状況判断の例
状況判断部104は、最新の配置指示よりも前に配置格納部101に格納されている配置情報のうちの、最新の配置指示が示す碁石と同じ色の碁石(即ち、ユーザが担当している色の碁石)についての配置情報とを読み出して、上述したような反応拡散方程式により、ユーザの石だけについての盤面上の濃度分布を示す情報を取得する。そして、この濃度分布を示す情報から、最新の配置指示が示す位置が、濃度分布の低い位置であるか否かを判断する。濃度分布が低いとは、例えば、濃度分布が予め指定された閾値よりも低いことである。そして低い位置であるか否かを示す情報を、状況判断部104は、状況判断の結果を示す情報として取得する。
【0044】
(8)形勢判断による状況判断
状況判断部104は、最新の配置指示に対応した配置情報と、配置格納部101に格納されている配置情報を読み出して、盤面全体の形勢判断を行う。形勢判断とは、白石と、黒石のどちらが優勢であるか否かを判断することである。状況判断部104は、形勢判断を行って、その判断結果を取得する。形勢判断の処理については、通常の囲碁対局ソフトウェア等において公知の技術であるのでここでは説明を省略する。
【0045】
(9)死活判断による大場についての状況判断
状況判断部104は、最新の配置指示に対応した配置情報と、配置格納部101に格納されている配置情報を読み出して、盤面全体についての死活判断を行う。そして、例えば、死んでいると判断された碁石については、死んでいることを示す状況判断の結果を示す情報を取得する。また、例えば、生きていると判断された碁石については、生きていることを示す状況判断の結果を示す情報を取得する。
【0046】
なお、状況判断部104は、上記で述べた状況判断の例以外の処理によって最新の配置指示に関する状況判断を行うようにしてもよい。
【0047】
また、上記の状況判断の1以上を適宜組み合わせて、任意の順番で行うようにしても良い。また、組み合わせて行う際に、優先度を設定して、優先度の高い順に状況判断を行って、状況判断が行えない場合に、順次次の優先度の高い状況判断を行っていくようにしても良い。
【0048】
例えば、上記の(1)で示した反応拡散方程式を用いた状況判断をまず行い、テンプレートに合致する状況判断の結果が得られない場合には、上記の(3)で示した味方の碁石との関係による状況判断を行い、さらに、切断可能性箇所に対応した位置に碁石が配置されない、もしくは、状況を示す値がゼロに近い値になる等によって状況判断の結果が得られない場合には、上記の(2)で示した切断可能性箇所との関係による状況判断によって状況判断を行うようにしてもよい。
【0049】
また、一の状況判断によって状況の判断結果を既に取得済の碁石については、その後に他の状況判断を行って状況の判断結果を取得しないようにしてもよいし、他の状況判断を行って状況の判断結果を取得するようにしても良い。
【0050】
状況判断部104が、状況の判断を行うタイミングは問わない。例えば、ユーザからの配置指示の受け付けた場合に、状況の判断を行っても良い。また、蓄積部103によって、最新の配置指示に対応した配置情報が配置格納部101に蓄積された場合に、状況の判断を行っても良い。また、上述したような一時的な配置指示を受け付けた場合に、状況の判断を行っても良い。
【0051】
状況判断部104は、通常、MPUやメモリ等から実現され得る。状況判断部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0052】
状況対応情報格納部105には、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が1以上格納されている。表情の顔を有する碁石の画像とは、例えば、様々な表情の顔が描かれた碁石の画像である。また、様々な表情の顔の画像が配置された碁石の画像である。なお、ここで述べる碁石の状況に応じた表情の碁石の画像は、碁石の状況に応じた表情の顔を有している一の碁石全体の画像と考えても良いし、一の碁石の画像上等に配置される碁石の状況に応じた表情の顔を有する画像と考えても良い。碁石の状況に応じた表情の顔を有する碁石の画像は、静止画像であっても動画像であっても良い。また、碁石の状況に応じた表情の顔を有する碁石の画像は、このような画像の元となる情報であっても良い。例えば、いわゆる顔文字のように文字列で構成される情報でも良いし、画像を生成するためのレンダリングの元となる情報でもよい。このような情報である場合、例えば、後述する碁石出力情報取得部が、この元となる情報から、適宜、碁石の画像を生成するようにしても良い。碁石の状況に応じた表情とは、例えば、碁石の状況を人間の喜怒哀楽等に対応させて表した表情である。例えば、碁石の状況が良くないことを示す碁石の表情は、人間の悲しそうな表情である。また、碁石の状況が良いことを示す碁石の表情は、人間の笑っている表情である。碁石の状況に応じたコメント情報とは、碁石の状況をユーザに示すコメントの情報や、碁石の状況に応じて、ユーザをほめたり、叱ったりするコメントの情報である。コメント情報は、通常テキストの情報であるが、画像情報であっても良いし、音声情報であってもよい。ここでは、碁石の状況に応じた表情の顔を有する碁石の画像または碁石の状況に応じたコメント情報の少なくとも一方を顔画像コメント情報と呼ぶ。
【0053】
顔画像コメント情報は、例えば、碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている。碁石の状況の判断結果を示す情報とは、例えば、碁石の配置が予め指定された条件を満たしている(あるいは満たしていない)ことを示す情報であっても良い。この予め指定された条件とは、例えば、碁石の状況の判断に用いられる条件である。例えば、一の碁石が、予め指定された位置に配置されたか、という条件や、一の碁石と他の碁石との位置関係が指定された関係にあるか、という条件である。この場合、碁石の状況の判断に用いられる条件の情報を、碁石の状況の判断結果を示す情報として用いるようにして、顔画像コメント情報を、碁石の状況の判断結果を示す情報と対応付けて状況対応情報格納部105に格納するようにしても良い。
【0054】
また、碁石の状況の判断結果を示す情報とは、碁石について取得した状況の判断結果を示す値(点数等)の範囲等を示す情報であってもよい。例えば、判断結果を示す情報は、状況判断部104が行う一の演算によって取得した碁石の状況の判断結果を示す値(例えば点数)が、60点以上であるという情報や、30点以上40点未満の値であるという情報である。また、判断結果を示す情報は、状況判断部104が一の演算や一の判断の処理によって取得した碁石の状況の判断結果を示す値が「良手」であるという情報や、「最善手」であるという情報である。
【0055】
状況対応情報格納部105には、更に、状況判断部104による状況判断に用いられる情報が格納されていてもよい。例えば、上述したようなテンプレートや、切断可能性箇所情報や、定石配置情報や、最新の配置指示が示す碁石と、これに最も近い位置に配置された味方の碁石との、角度および距離との関係を対応付けた管理表やグラフや、定石配置情報等の情報が格納されていても良い。また、この状況判断に用いられる情報のうちの、状況の判断に用いられる条件を示す情報を、上述したように、碁石の状況の判断結果を示す情報として顔画像コメント情報と対応付けて状況対応情報格納部105に格納するようにしても良い。
【0056】
状況対応情報格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0057】
碁石出力情報取得部106は、状況判断部104による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況判断の結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部105から取得する。例えば、碁石出力情報取得部106は、状況判断部104による状況の判断結果と一致する碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている顔画像コメント情報を取得する。特に、状況対応情報格納部105に顔画像コメント情報と対応付けられて格納されている碁石の状況の判断結果を示す情報が、状況判断部104が状況判断に用いる条件の情報である場合、状況判断部104が、碁石の状況が条件を満たしていると判断した条件と対応付けられた顔画像コメント情報を取得してもよい。また、碁石出力情報取得部106は、例えば、状況判断部104による状況の判断結果が示す値を満たすような値の範囲を示す碁石の状況の判断結果を示す情報と対応付けられて状況対応情報格納部105に格納されている顔画像コメント情報を取得する。例えば、状況判断部104が一の演算によって碁石から取得した値が「70」であった場合において、この演算と同一の演算によって得られる値の範囲を「40以上80未満」に指定する碁石の状況の判断結果を示す情報が状況対応情報格納部105に格納されていたとすると、碁石出力情報取得部106は、この碁石の状況の判断結果を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。
【0058】
碁石出力情報取得部106は、通常、MPUやメモリ等から実現され得る。碁石出力情報取得部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0059】
表示部107は、例えば、配置格納部101に格納されている配置情報を用いて、配置情報が示す位置に碁石を配置した碁盤の盤面の画像を表示する。表示部107は、ここでは特に、配置格納部101に格納されている配置情報を用いて、碁石出力情報取得部106が取得した碁石の画像またはコメントを、配置情報が示す位置近傍に配置した盤面の画像を表示する。配置情報が示す位置近傍とは、例えば、顔画像コメント情報が取得された配置情報が示す位置(座標)上や、その位置に隣接した領域等である。例えば、配置情報が示す位置に配置された碁石の画像上であっても良いし、この碁石の近傍(例えば、この碁石に隣接する位置)であっても良い。例えば、表示部107は、碁盤上の、1以上の配置情報が示す位置に配置情報が示す色の碁石をそれぞれ配置した画像であって、碁石出力情報取得部106が碁石の状況に応じて取得した碁石の状況に応じた表情の顔を有する碁石の画像情報を対応する碁石の画像として配置し、碁石出力情報取得部106が碁石の状況に応じて取得した碁石のコメント情報を対応する碁石の近傍に配置した画像を生成し、出力する。なお、顔を有する碁石の画像が、碁石上に配置される表情だけを有する画像である場合、碁石の画像上に、この顔を有する画像を配置した碁石の画像を配置した画像を適宜生成するようにすればよい。また、このように画像を配置する際に、下に配置される碁石の色に応じて、配置される画像の色を反転させて合成するようにしても良い。また、複数の顔画像コメント情報を取得した場合、予め指定された一定または不定のタイミング等で、複数の顔画像コメント情報がそれぞれ示す碁石の画像やコメントを切り替えて表示するようにしても良い。なお、表示部107は、図示しない記憶媒体等に予め格納されている碁盤の盤面の画像や、表情を有さない碁石の画像を適宜読み出してもよい。表示部107は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部107は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
【0060】
図2は、本発明の実施の形態1に係る囲碁情報処理装置1の動作の一例を説明するためのフローチャートである。以下、図2を用いて動作について説明する。
【0061】
(ステップS201)配置指示受付部102は、ユーザからの配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
【0062】
(ステップS202)蓄積部103は、ステップS201で受け付けた配置指示に応じた配置情報を配置格納部101に蓄積する。なお、ステップS201の配置指示が、一時的な配置指示である場合、配置格納部101への蓄積を行わないようにしても良い。なお、蓄積はステップS206の終了までに蓄積されればよい。
【0063】
(ステップS203)状況判断部104が、碁盤上の碁石についての、急場等についての状況判断を行い、碁石出力情報取得部106は、判断結果に応じた顔画像コメント情報を取得する。この処理の詳細については後述する。
【0064】
(ステップS204)状況判断部104は、碁盤上の碁石についての、大場等についての状況判断を行い、碁石出力情報取得部106は、判断結果に応じた顔画像コメント情報を取得する。この処理の詳細については後述する。
【0065】
(ステップS205)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像であって、ステップS203およびステップS204で取得された顔画像コメント情報が示す碁石の状況を示す表情の顔を有する碁石の画像または碁石の状況を示すコメント情報の少なくとも一方を含む盤面上の画像を表示する。
【0066】
(ステップS206)状況判断部104等が、対局が終了したか否かを判断する。対局終了はどのように判断してもよく、例えば、ユーザが対局終了の申込みを配置指示受付部102等を介して入力した場合や、盤面上に打つ手がなくなった場合に対局終了を決定し、それ以外は対局を継続する。対局終了と判断した場合、処理を終了し、対局終了でない場合、ステップS207に進む。
【0067】
(ステップS207)蓄積部103は、従来から知られている囲碁対局ソフトウェアのアルゴリズム等を利用して、ユーザの対戦相手の碁石の配置情報を取得して、碁石の配置情報を配置格納部101に蓄積する。
【0068】
(ステップS208)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像を表示する。なお、対戦相手の配置情報等についても、状況判断等を行う場合、ステップS207とステップS208の処理の間に、ステップS203やステップS204と同様の処理を行うようにしても良い。
【0069】
(ステップS209)状況判断部104等が、対局が終了したか否かを判断する。終了した場合、処理を終了し、終了でなければステップS201に戻る。
【0070】
図3は、囲碁情報処理装置1による急場等に関する判断処理の動作の一例を説明するフローチャートである。この動作は、図2のステップS203の処理に相当する処理である。以下、この動作について説明する。
【0071】
(ステップS301)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の死活判断を行う。そして、予め指定された手数で死が確定する死にそうな碁石があるか否かを判断する。死にそうな碁石がある場合、ステップS302に進み、ない場合、ステップS304に進む。
【0072】
(ステップS302)状況判断部104は、ステップS201で配置指示受付部102が受け付けた最新の配置指示が、死にそうな碁石に対して手入れをする手、即ち死にそうな碁石を助けるための碁石の配置指示であるか否かを判断する。
【0073】
(ステップS303)碁石出力情報取得部106は、判断結果と対応付けられた顔画像コメント情報を取得する。そして、上位の処理にリターンする。
【0074】
(ステップS304)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報と、状況対応情報格納部105に格納されている定石配置情報とを用いて、直前までに打ちかけの一の定石があるか否かを判断する。ない場合、ステップS305に進み、ある場合、ステップS307に進む。
【0075】
(ステップS305)状況判断部104は、ステップS201で受け付けた最新の配置指示が、定石通りの手であるか、即ち、ステップS301で判断した直前までに打ちかけであった一の定石通りにその続きを打つための配置指示であるか否かを判断する。
【0076】
(ステップS306)碁石出力情報取得部106は、判断結果と対応付けられた顔画像コメント情報を取得する。そして、上位の処理にリターンする。
【0077】
(ステップS307)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0078】
(ステップS308)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS307において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0079】
(ステップS309)状況判断部104は、最も類似するテンプレートに対応付けられた次の一手を示す配置情報が示す位置と、最新の配置指示が示す位置とが一致するか否かを判断する。一致する場合、ステップS310に進み、一致しない場合、ステップS311に進む。
【0080】
(ステップS310)状況判断部104は、ステップS309で一致すると判断された次の一手を示す配置情報と対応付けられた点数を、判断結果として状況対応情報格納部105等から取得する。そして、ステップS315に進む。なお、テンプレートに対して、碁盤上の次の一手が示す位置以外の他の位置にも点数が対応付けられている場合、ステップS309において、これらの位置と最新の配置指示が示す位置とが一致するか否かを判断し、一致すると判断された場合、一致する位置と対応付けられた点数をこの処理ステップで取得するようにしても良い。
【0081】
(ステップS311)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS307において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0082】
(ステップS312)状況判断部104は、ステップS311で検出したテンプレートの中から、対応する次の一手の配置情報と、最新の配置指示が示す位置との距離が、予め指定された距離よりも短いものを検出する。
【0083】
(ステップS313)状況判断部104は、ステップS312において、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い次の一手の配置情報と対応付けられたテンプレートがあるか否かを判断する。ある場合、ステップS314に進み、ない場合、ステップS316に進む。
【0084】
(ステップS314)状況判断部104は、ステップS312で検出された1以上のテンプレートの次の一手を示す配置情報と対応付けられた点数の平均を、最新の配置指示が示す碁石の状況の判断結果として取得する。
【0085】
(ステップS315)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部105に格納されている、濃度分布に関する碁石の状況の判断結果の点数の範囲を示す1以上の情報のうちの、ステップS312で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。そして、上位の処理にリターンする。
【0086】
(ステップS316)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、状況対応情報格納部105に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS317に進み、ない場合、上位の処理にリターンする。
【0087】
(ステップS317)状況判断部104は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所の、各切断可能性箇所指定情報が示す1以上の切断箇所のうちの、最新の配置指示が示す位置との距離が最も近いものを検出し、その距離に応じた点数を判断結果の値として取得する。
【0088】
(ステップS318)状況判断部104は、予め指定された値以上の、距離に応じた点数が取得できたか否かを判断する。取得できた場合、ステップS319に進み、取得できなかった場合、上位の処理にリターンする。
【0089】
(ステップS319)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部105に格納されている、切断可能性箇所に関する碁石の状況の判断結果の値の範囲を示す1以上の情報のうちの、ステップS318で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部105から取得する。そして、上位の処理にリターンする。
【0090】
図4は、囲碁情報処理装置1による大場等に関する判断処理の動作の一例を説明するフローチャートである。この動作は、図2のステップS204の処理に相当する処理である。以下、この動作について説明する。
【0091】
(ステップS401)状況判断部104は、既に最新の配置指示に対応した顔画像コメント情報が取得済であるか否かを判断する。取得済である場合、ステップS405に進み、取得されていない場合、ステップS402に進む。
【0092】
(ステップS402)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された味方の碁石の配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0093】
(ステップS403)状況判断部104は、最新の配置指示が、濃度の低い位置を示すものであるか否かを判断する。
【0094】
(ステップS404)碁石出力情報取得部106は、ステップS403による判断結果と一致する判断結果を示す情報と対応付けられた顔画像コメント情報を取得する。
【0095】
(ステップS405)状況判断部104は、最新の配置指示に対応した配置情報を含む配置格納部101に格納されている全ての配置情報を用いて、碁盤上の死活判断を行って、死んでいる碁石について、「死に」であることを示す判断結果を取得する。ただし、既に顔画像コメント情報が取得済の碁石については、この死活判断についての判断結果を取得しないようにする。
【0096】
(ステップS406)状況判断部104は、死活判断の結果、死んでいる碁石があったか否かを判断する。あった場合、ステップS407に進み、なかった場合、上位の処理にリターンする。
【0097】
(ステップS407)碁石出力情報取得部106は、ステップS405において死にと判断された碁石のうちの顔画像コメント情報が取得済でない碁石について、状況の判断結果である「死に」と一致する判断結果を示す情報と対応付けられた顔画像コメント情報を取得する。そして上位の処理にリターンする。
【0098】
なお、上記の図3および図4に示したフローチャートはあくまでも一例であり、上記のフローチャートにおいて、上記以外の状況を判断する処理を追加したり、一部の状況を判断する処理を削除したり、処理の順番を変更したりしても良いことはいうまでもない。
【0099】
以下、本実施の形態における囲碁情報処理装置1の具体的な動作について説明する。
図35は、この具体例における囲碁情報処理装置1の外観の一例を示す図である。ここでは、囲碁情報処理装置1は、いわゆるタッチパネルで操作可能なタブレット型の情報端末である場合を例に挙げて説明する。但し、囲碁情報処理装置1は、携帯電話等であっても良いし、ノート型やデスクトップ型のコンピュータ等であっても良く、その外観や、形態等は問わない。
【0100】
図5は、配置格納部101に格納されている配置情報の一例を示す図である。配置情報は、「配置順番」、「色」、「座標」という項目を有している。「配置順番」は、石が配置された順番である。また、「色」は、配置された石の色、「座標」は配置された石の位置を示す座標であり、ここでは、碁盤の線を座標の一目盛りとしている。また、左下隅の縦線と横線とが接している部分の座標を(1,1)としている。なお、「色」という項目を用いる代わりに、「配置順番」が奇数のものを、黒色の石の位置を示す配置情報と考えるようにしても良い。
【0101】
図6は、図5に示すような配置情報を用いて碁石を配置した盤面の画像の、表示部107による表示例を示す図である。ただし、ここでは顔を有する碁石の画像やコメント情報の盤面への表示等は省略している。
【0102】
ここで、例えば、黒番であるユーザが、12番目の配置順番の石として、黒の碁石を盤面上の直線の一の交点(x、y)(ただし、x、yは1から19までの整数)に配置する指示を囲碁情報処理装置1に与えたとすると、配置指示受付部102は、この交点(x、y)に対する配置指示を受け付ける。そして、蓄積部103は、この配置指示が示す位置に12番目の黒石を配置する配置情報を取得して、配置格納部101に追記する。例えば、「配置順番」が「12」で、「色」が「黒」で、「座標」が「(x、y)」である配置情報のレコードが追記される。
【0103】
図7は、状況対応情報格納部105に格納されている顔画像コメント情報と、碁石の状況の判断結果を示す情報とを、対応付けて管理する第一状況対応情報管理表を示す図である。この管理表は、「顔ID」と、「コメントID」と、「碁石状況」という項目を有している。「顔ID」は、碁石の状況に応じた表情の顔の碁石画像の識別情報である。「コメントID」は、碁石の状況に応じたコメント情報の識別情報である。「碁石状況」は、どのような状況判断によって状況がどのように判断されたかを示す情報である。例えば、「碁石状況」は、「判断内容:判断結果」で表される。例えば、「死活判断:手入れあり」は、死活の判断によって予め指定された手数で死にそうな箇所と判断された箇所を助ける手が打たれたことを示す。また、「定石判断:定石通り」は、定石の判断によって予め指定された定石通りに打たれていることを示す。
【0104】
図8は、状況対応情報格納部105に格納されている碁石の状況に応じた表情の顔の碁石画像と、図7に示した碁石画像の識別情報とを対応付けて管理する碁石画像管理表である。碁石画像管理表は、碁石画像の識別情報を示す「顔ID」と、碁石画像を示す「碁石画像」という項目を有している。
【0105】
図9は、状況対応情報格納部105に格納されている碁石の状況に応じたコメント情報と、図7に示したコメント情報の識別情報とを対応付けて管理するコメント情報管理表である。コメント情報管理表は、コメント情報の識別情報を示す「コメントID」と、コメント情報を示す「コメント情報」という項目を有している。
【0106】
状況判断部104は、配置順番が11番目までの碁石を盤面に配置した場合の死活を判断して、予め指定された手数内で死にそうな碁石が盤面上にあるか否かを判断する。ある場合、最新の12番目の碁石の位置が、この死にそうな碁石に対して手入れをする手(即ち、死にそうな石を助け出す手)であるか否かを判断する。例えば、この12番目の碁石を配置した場合に、死にそうな碁石が助かったか否かを判断する。
【0107】
そして、その判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、判断結果が、状況判断部104による死活判断に対する状況判断の結果、「手入れあり」と判断された場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「死活判断:手入れあり」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「手入れなし」と判断された場合も同様である。
【0108】
ここでは、仮に、この死活に関する処理によって、予め指定された手数内で死にそうな碁石が盤面上に無いと判断されたとし、次の定石の判断を行う。
【0109】
図10は、状況対応情報格納部105に格納されている定石の配置情報を管理する定石配置管理情報を示す図である。定石の配置情報とは、定石を並べるための配置情報である。定石配置管理情報は、「定石ID」、「配置順番」、「座標」という項目を有している。「定石ID」は、定石の識別情報、「配置順番」は、定石を打つための石の配置順番、「座標」は、碁石が配置される座標を示す。
【0110】
次に、状況判断部104は、定石についての判断を行う。具体的には、配置格納部101に格納されている11番目の配置情報から予め指定された数(例えば3等)だけ配置順番を過去に遡って複数の配置情報を取得する。そして、この複数の配置情報から、複数の座標を配置情報の配置順番にそって読み出す。そして、図10に示した定石配置管理情報の各「定石ID」が示す定石配置情報から、「配置順番」の値が1から上記と同じ予め指定された数(例えば、3等)までである複数の座標を順次読み出し、配置格納部101の配置情報から取得した複数の座標と、それぞれの相対的な配置順番も含めて一致するか否かを判断していく。そして一致する場合、一致する定石IDが示す定石が打たれていると判断する。そして、最新の12番目の配置情報が、定石通りの手であるか否かを判断する。即ち、12番目の配置情報が示す座標が、一致する定石IDが示す定石配置管理情報の、予め指定された数が示す配置順番の次の配置順番(例えば4番目等)の座標と一致するか否かを判断する。そして、一致する場合は、定石通り碁石が打たれたと判断し、一致しない場合、定石通り打たれなかったと判断する。
【0111】
定石通り打たれたと判断した場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表の「碁石状況」が「定石判断:定石通り」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「定石通りでない」と判断された場合も同様である。
【0112】
なお、定石通り打たれたと判断した場合、次以降の配置指示に応じた配置情報については、この一致する定石IDが示す更なる次の一手(例えば定石配置管理情報の配置順番が5番目の座標と一致する手)が打たれたか否かを判断するようにすればよい。また、定石通りでないと判断された場合は、定石通りと判断された以降の手について、新たに、上記の定石の判断を最初からやり直すようにしても良い。
【0113】
ここでは、仮に、この定石に関する処理によって、定石通りに打たれている箇所が盤面上に無いと判断されたとし、次の濃度分布による判断を行う。
【0114】
まず、ここでは、状況対応情報格納部105に、アマチュア等の複数の棋譜のデータから取得された、各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報であるテンプレートが格納されているものとする。また、このテンプレートには、プロによる添削された次の一手の配置情報とその評価結果が格納されているものとする。ここでの評価結果は点数で表されているものとし、値が高いものほど良い手であることを示す。
【0115】
テンプレートは、具体的には以下のように生成されて、蓄積される。
【0116】
例えば、まず、図11に示すようなアマの棋譜から、プロの手筋を参考にしたり、プロのアドバイス等を受けることで、図12のような表を予め用意された大量の棋譜のそれぞれについて作成しておく。棋譜は予め大量に用意しておく。
【0117】
次に、各棋譜の各手番の一つ前の棋譜から、反応拡散方程式を用いて碁石が配置可能な縦横の直線の交点(座標)についての碁石の濃度を求める。入力は、石の座標、味方の石一つに対して、+1(味方)、敵の石一つに対して−1(敵)となり、各碁石がそれぞれ濃度を分泌している。それぞれの碁石から波動のように出ている濃度の合計が、碁石が置かれていない座標の濃度となる。
【0118】
例えば、図13(a)は、図11に示す棋譜について、白12までの碁石が配置された場合について算出した濃度分布を示す図である。また、図13(b)は、その濃度分布の濃淡で示した模式図である。なお、白12とは、ここでは、盤面に配置された12番目の手であって、白の手番による手を意味するものとする。以下他についても同様とする。そして、この濃度分布を示す情報をまず状況対応情報格納部105に蓄積する。また、13番目の次の一手の配置情報(あるいは座標)と濃度とを蓄積する。そして、プロの知識の点数表から、報酬、ペナルティを与える。このとき、例えば50点を0として、値を−1から1に正規化する。そして、黒13の周りの濃度を更新する。そして更新した濃度分布をテンプレートとして状況対応情報格納部105に蓄積する。図13(c)は更新した濃度分布を示す図である。また、プロによる修正指導の入った手についても、全てテンプレートとして保存する。
【0119】
状況判断部104は、上記のようなテンプレートを用いて、最新の配置指示が示す配置情報についての状況判断を行う。具体的には、新しい配置指示が示す配置情報と、配置格納部101に格納されている配置情報を用いて、反応拡散方程式により盤面上の濃度分布を算出する。そして、テンプレートから最も近いテンプレートを探す。そして、マッチしたテンプレートの次の一手を示す位置を探索し、この位置が、最新の配置指示が示す位置と一致する場合、次の一手と対応付けられた点数を配置情報から取得する。無ければ、濃度分布が近いテンプレートをいくつか取り出し、最新の配置指示が示す位置に対して近い位置にある1以上の次の一手と対応付けられた点数の平均値を取得する。
【0120】
これによって、状況判断部104は最新の配置指示が示す碁石についての状況を示す情報である点数を取得することができる。
【0121】
図14は、状況対応情報格納部105に格納されている顔画像コメント情報と、碁石の状況の判断結果を示す点数とを、対応付けて管理する第二状況対応情報管理表を示す図である。この管理表は、「顔ID」と、「コメントID」と、「点数」という項目を有している。「点数」は、状況判断部104が濃度分布について取得した点数に対応している。
【0122】
碁石出力情報取得部106は、例えば、状況判断部104が濃度分布について取得した点数が60点であったとすると、図14に示した第二状況対応情報管理表から、「点数」が60点を含む点数の範囲を示す「50以上75未満」であるレコードの「顔ID」である「face22」と「コメントID」である「com22」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。
【0123】
ここで、例えば、濃度分布の配置情報が示す濃度分布と類似するテンプレートに、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い次の一手の配置情報と対応付けられたテンプレートが一つも検出されなかったとすると、状況判断部104は、上記のような濃度分布に対応した点数の取得を行わずに、次の切断可能性箇所に応じた碁石の状況の判断を行う。
【0124】
図15は、状況対応情報格納部105に格納されている切断可能性箇所情報を管理する切断可能性箇所情報管理情報を示す図である。切断可能性箇所情報とは、複数の味方の碁石の配置情報である形配置情報と、その碁石の配置によって生じる切断可能性箇所の配置を示す情報である切断可能性箇所配置情報とで構成される。定石配置管理情報は、「切断可能性箇所ID」、「形配置情報」、「切断可能性箇所配置情報」という項目を有している。「切断可能性箇所ID」は切断可能性箇所の識別情報、「形配置情報」は形配置情報、「切断可能性箇所配置情報」は切断可能性箇所配置情報であり、それぞれ座標を示している。ただし、この座標は、碁石間の相対的な座標であるとする。また、味方以外の配置情報には、敵という文字が座標の前に付与されているものとする。一の切断可能性箇所IDに対応したレコードに含まれる複数の形配置情報が示す座標に味方の座標が配置されている場合、同じ切断可能性箇所IDに対応したレコードの切断可能性箇所配置情報が示す位置が切断可能性箇所である。
【0125】
図16は、切断可能性箇所情報管理表が示す切断可能性箇所の盤面上の配置例を示す図であり、図16(a)は、切断可能性箇所ID「0001」に対応した切断可能性箇所の配置例を示し、図16(b)は、切断可能性箇所ID「0002」に対応した切断可能性箇所の配置例を示す。なお、図中の三角は切断可能性箇所を示す。
【0126】
状況判断部104は、図15に示す切断可能性箇所情報を切断可能性箇所IDごとに読み出し、配置順番が11番目までの碁石を盤面に配置した場合の、形配置情報が示す碁石の相対的な配置と一致する碁石の配置を示す箇所を検出する。そして、検出された場合、最新の配置指示が示す12番目の碁石が配置される座標と、形配置情報に対応する切断可能性箇所情報が示す切断可能性箇所との距離を算出し、その距離を用いて、上述した式(1)で示される特異点関数を用いて判断結果を示す点数を取得する。
【0127】
例えば、切断可能性箇所IDが「0001」である切断可能性箇所情報の形配置情報が示す碁石の配置と一致する碁石の配置を示す配置情報が検出されたとすると、この切断可能性箇所IDに対応する切断可能性箇所配置情報が示す切断可能性箇所の座標と、最新の配置指示が示す座標との距離を取得し、この距離の値を用いて、式(1)から点数を取得する。
【0128】
そして、配置濃度の場合と同様に、第二状況対応情報管理表等を用いて、取得した点数に応じた顔画像情報やコメント情報を取得する。ただし、第二状況対応情報管理表と異なる管理表を用いて、取得した点数に応じた顔画像情報やコメント情報を取得してもよい。
【0129】
なお、式(1)を用いて取得した点数が予め指定された点数より少ない場合等には、顔画像情報やコメント情報等を取得しないようにしてもよい。ここでは、顔画像情報やコメント情報等が取得ができず、次の味方の濃度情報を用いた状況判断を行う場合について説明する。
【0130】
次に、状況判断部104は、ユーザの味方の碁石(即ちユーザの担当する碁石)について、上記と同様の反応拡散方程式を用いた濃度分布による状況の判断を行う。まず、状況判断部104は、最新の配置指示を受け付ける直前までに配置格納部101に格納されている配置情報のうちの、味方の碁石の配置情報を読み出す。そして、読み出した碁石の配置情報について反応拡散方程式を用いて濃度分布を求める。
【0131】
図17は、配置情報が示す味方の碁石の盤面上の配置を示す図(図17(a))と、反応拡散方程式を用いてこの配置情報から算出した盤面情報各座標の濃度分布を、盤面上に濃淡で模式的に表した図(図17(b))である。
【0132】
図18は、更に、図17(a)に示す状態から、数手だけ進行した後の、配置情報が示す味方の碁石の盤面上の配置を示す図(図18(a))と、反応拡散方程式を用いてこの配置情報から算出した盤面情報各座標の濃度分布を、盤面上に濃淡で模式的に表した図(図18(b))である。
【0133】
そして、状況判断部104は、最新の配置指示が示す位置の濃度の値を、上記で取得した味方の碁石の濃度分布から取得し、その値が予め指定された閾値を超えるか否かによって、碁石が配置される位置が、濃度が高い位置か否かを判断する。そして、その判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、碁石が配置される位置の濃度分布の値が閾値よりも高く、「濃度が高い」と判断された場合、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「味方濃度判断:高い」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」に対応する碁石画像と、読み出した「コメントID」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。また、「濃度が低い」と判断された場合も同様である。なお、ここでは、「濃度が高い」と判断され、図8、図9から、「顔ID」が「FACE01」である画像情報と、「コメントID」が「com05」であるコメント情報とを最新の配置指示に対応した碁石用に取得する。
【0134】
つぎに、状況判断部104は、最新の配置指示に対応した配置情報を除いた配置情報について死活判断を行って、死んでいる碁石を検出する。そして、死んでいる各碁石について、死んでいることを示す判断結果の情報を取得する。そして、この判断結果に応じて、予め用意された碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報を状況対応情報格納部105から読み出す。例えば、碁石出力情報取得部106は、図7に示した第一状況対応情報管理表から、「碁石状況」が「死活判断:死んでいる」であるレコードの「顔ID」と「コメントID」とをそれぞれ読み出す。そして読み出した「顔ID」である「FACE06」に対応する碁石画像と、読み出した「コメントID」である「com07」に対応するコメント情報を、図8に示した碁石画像管理表と、図9に示したコメント情報管理表とから取得する。
【0135】
そして、表示部107は、碁石出力情報取得部106が取得した碁石の状況に応じた表情の顔を有する碁石の画像を取得対象となった碁石の画像に重ねて表示するとともに、碁石出力情報取得部106が取得したコメント情報を取得対象となった碁石の近傍に表示する。
【0136】
図19は、表示部107が出力する碁盤上の画像の一部の表示例を示す図である。但し、この図は、図5に示したような配置情報とは異なる配置情報についての出力例であるとする。
【0137】
そして、対局が続く場合は、ユーザの配置指示に応じて順次上記の処理が繰り返され、盤面上の画像が順次更新される。なお、蓄積部103がユーザの配置指示に応じてユーザの対戦相手の配置情報等を順次取得した場合も、表示部107は、この配置指示に従って碁石を配置した盤面上の画像で、表示されている画像を更新する。なお、このとき、対戦相手の配置情報を取得した際には、上記のような顔画像コメント情報等を取得する処理を行うようにしてもよいし、取得しないようにしてもよい。
【0138】
以上のように、本実施の形態によれば、囲碁の対局中等に囲碁の盤面の碁石の状況を、ユーザに分かりやすく表示することができる。
【0139】
なお、図34に示すような、配置指示が示す碁石以外の他の碁石の顔画像コメント情報を取得するためのトリガーを管理するための管理情報を、図示しない格納部等に予め格納しておくようにして、この管理情報を用いて、配置指示を受け付けた場合に、その配置指示が示す碁石以外の配置済の碁石についての顔画像コメント情報を取得するようにしても良い。なお、図34において、「TR」は、配置指示が示す碁石以外の顔画像コメント情報を取得するためのトリガーを示す。また、「ST」は、強くなった碁石の顔画像コメント情報を取得することを示す情報、「WE」は、弱くなった碁石の顔画像コメント情報を取得することを示す情報、「DE」は、死んだ石を示す情報、「LI」は、生きた石を示す情報である。
【0140】
また、上記実施の形態においては、配置指示が示す手について、上述した(1)〜(6)に示すような急場の判断を順番に行うようにして顔画像コメント情報を取得する例について説明したが、予め、配置指示を受け付ける前に、配置情報を用いて、上述した(1)〜(6)に示したような判断処理をそれぞれ行うことで、碁石を配置すべき候補となる位置(候補手)を示す情報と、その位置を決定した判断処理に対応した顔画像コメント情報を取得し、配置指示が示す位置(候補手が示す位置)が、この取得した位置を示す情報のいずれかと合致した場合に、その合致した判断処理に対応した顔画像コメント情報を碁石出力情報取得部106が取得するようにしてもよい。碁石を配置すべき候補となる位置とは、例えば、判断処理によって、好ましい、あるいは好ましくないと判断された碁石が配置されうる位置である。なお、かかることは、上述した(7)〜(9)等の大場等についての判断においても同様である。また、かかることは、他の実施の形態においても同様である。
【0141】
以下、このような予め候補手を取得して、配置指示が示す手の判断を行う場合の囲碁情報処理装置1の動作の変形例について図36のフローチャートを用いて説明する。
【0142】
(ステップS3601)状況判断部104は、配置情報を取得する。
【0143】
(ステップS3602)状況判断部104は、碁盤上の碁石の配置を利用して、急場等の判断をして候補手を取得する。候補手とは、碁石が配置される候補となる位置の情報であり、配置指示が示す位置が、どの候補手と同じ位置であるかによって、状況判断部104が、結果的に碁石の状況を判断することとなる。この処理の詳細については図37を用いて後述する。
【0144】
(ステップS3603)状況判断部104は、碁盤上の碁石の配置を利用して、大場等の判断をして候補手を取得する。この処理の詳細については、図38を用いて後述する。
【0145】
(ステップS3604)ステップS3603およびステップS3604で取得した候補手を図示しない記憶媒体等に保持する。
【0146】
(ステップS3605)状況判断部104は、形勢判断により候補手に点数付けを行う。具体的には、ステップS3604で保持された候補手リストの中から、地の計算をして、取られる地の数と取る地の数の差分値の大きさに応じて、プラスから順に高い点数を割り当てる。そして、最高のプラスの目数(地の数)が1、マイナスの目数−1となるよう正規化して、候補手に順位づけを行う。つまり、地合から優先順位を確定する。なお、盤上に碁石が配置されていない場合、四隅(隅からの距離が4,4まで)を高い点数とする。
【0147】
(ステップS3606)配置指示受付部102は、配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS3607に進み、受け付けていない場合、ステップS3606に戻る。
【0148】
(ステップS3607)状況判断部104は、ステップS3605で順位づけを行った候補手が示す位置と、配置指示が示す位置とのマッチング処理(一致するか否かの判断処理)を行って、マッチする候補手があるか否かを判断する。そして、一致する候補手がある場合、ステップS3608に進み、一致する候補手がない場合、ステップS3609に進む。
【0149】
(ステップS3608)碁石出力情報取得部106は、ステップS3607において検出した候補手に対応した顔画像コメント情報を、候補手に対応付けられた点数や、候補手に対応付けられた顔画像コメント情報等から取得する。そして、表示部107が、顔画像コメント情報を用いた盤面上の画像を表示する。そして、ステップS3610に進む。
【0150】
(ステップS3609)状況判断部104は、反応拡散方程式等から、平均点等を改めて算出して、候補手を取得し、マッチングを行って、配置指示と一致する候補手を検出する。そして検出した候補手に対応した画像コメント情報を碁石出力情報取得部106が取得して、表示部107が、顔画像コメント情報を用いた盤面上の画像を表示する。そして、ステップS3610に進む。
【0151】
(ステップS3610)状況判断部104等が、対局が終了したか否かを判断する。対局終了はどのように判断してもよく、例えば、ユーザが対局終了の申込みを配置指示受付部102等を介して入力した場合や、盤面上に打つ手がなくなった場合に対局終了を決定し、それ以外は対局を継続する。対局終了と判断した場合、処理を終了し、対局終了でない場合、ステップS3611に進む。
【0152】
(ステップS3611)蓄積部103は、従来から知られている囲碁対局ソフトウェアのアルゴリズム等を利用して、ユーザの対戦相手の碁石の配置情報を取得して、碁石の配置情報を配置格納部101に蓄積する。
【0153】
(ステップS3612)表示部107は、配置格納部101に格納されている配置情報が示す位置に碁石を配置した碁盤の盤面上の画像を表示する。
【0154】
(ステップS3613)状況判断部104等が、対局が終了したか否かを判断する。終了した場合、処理を終了し、終了でなければステップS3601に戻る。
【0155】
以下、ステップS3602の処理の詳細について、図37のフローチャートを用いて説明する。
【0156】
(ステップS3701)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の死活判断を行う。そして、予め指定された手数で死が確定する死にそうな碁石があるか否かを判断する。死にそうな碁石がある場合、ステップS3702に進み、ない場合、ステップS3704に進む。
【0157】
(ステップS3702)状況判断部104は、味方の死にそうな碁石に対して手入れをする手、即ち死にそうな碁石を助けるための碁石の位置を示す候補手を取得する。また、対局相手の死にそうな碁石を殺すための碁石の位置を示す候補手を取得する。この候補手は急所に対する候補手としてもよい。
【0158】
(ステップS3703)碁石出力情報取得部106は、死にそうな箇所に手を入れる候補手に対応付けられた顔画像コメント情報や、死にそうな箇所を殺す候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0159】
(ステップS3704)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報と、状況対応情報格納部105に格納されている定石配置情報とを用いて、直前までに打ちかけの一の定石があるか否かを判断する。ない場合、ステップS3705に進み、ある場合、ステップS3707に進む。
【0160】
(ステップS3705)状況判断部104は、ステップS3704で定石通りの手であると判断された箇所について、定石に沿った次の一手を示す候補手を取得する。
【0161】
(ステップS3706)碁石出力情報取得部106は、定石に沿った次の一手となる候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0162】
(ステップS3707)状況判断部104は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0163】
(ステップS3708)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS3707において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0164】
(ステップS3709)状況判断部104は、最も類似するテンプレートに対応付けられた次の一手を示す配置情報を候補手として取得する。
【0165】
(ステップS3710)状況判断部104は、テンプレートから取得した最適な次の一手であることを示す候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0166】
(ステップS3711)状況判断部104は、状況対応情報格納部105に格納されている濃度分布を示すテンプレートの中から、ステップS3707において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0167】
(ステップS3712)状況判断部104は、ステップS3711で検出したテンプレートの中から、対応する次の一手の配置情報同士の距離が、予め指定された距離よりも短いものを検出する。
【0168】
(ステップS3713)状況判断部104は、ステップS3712において、対応する次の一手の配置情報同士の距離が、予め指定された距離よりも短いテンプレートがあったか否かを判断する。あった場合、ステップS3714に進み、なかった場合、ステップS3716に進む。
【0169】
(ステップS3714)状況判断部104は、ステップS3712で検出された1以上のテンプレートの次の一手を示す配置情報が示す位置の近傍を候補手として取得する。
【0170】
(ステップS3715)碁石出力情報取得部106は、類似するテンプレート群から取得された候補手に対応付けられた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0171】
(ステップS3716)状況判断部104は、配置情報を用いて、状況対応情報格納部105に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS3717に進み、ない場合、上位の処理にリターンする。
【0172】
(ステップS3717)状況判断部104は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所のうちの、各切断可能性箇所情報が示す切断可能性箇所の近傍の位置を示す候補手を取得する。
【0173】
(ステップS3718)状況判断部104は、各候補手について、候補手と切断可能性箇所との距離に応じた顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。そして、上位の処理にリターンする。
【0174】
以下、ステップS3603の処理の詳細について、図38のフローチャートを用いて説明する。
【0175】
(ステップS3801)状況判断部104は、反応拡散方程式を用いて計算を行うことで、模様を広げる配置となる箇所を検出する。模様とは、例えば、石の拡散の度合いである。
【0176】
(ステップS3802)状況判断部104は、ステップS3801で検出した1以上の箇所を候補手として取得する。
(ステップS3803)状況判断部104は、模様を広げる箇所を示す候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0177】
(ステップS3804)状況判断部104は、確定地を決定する配置の判断を行う。例えば、2線(辺からの距離が2である直線)に石がおけるかどうかで判断が行われる。おけなければ確定地でなく、おければ確定地にできる可能性が高い。
【0178】
(ステップS3805)状況判断部104は、確定地を決定する碁石の配置を示す候補手を取得する。
【0179】
(ステップS3806)状況判断部104は、確定地を決定する候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。
【0180】
(ステップS3807)状況判断部104は、相手の地を荒らす手を示す箇所を検出する。例えば相手の広い地の中に味方石を打ち込んで生きる可能性から判断する。二眼作れるスペースと近くの味方との距離から判断する。
【0181】
(ステップS3808)状況判断部104は、ステップS3807で検出した相手の地を荒らす手を示す候補手を取得する。
【0182】
(ステップS3809)状況判断部104は、状況判断部104は、相手の地を荒らす候補手に対応した顔画像コメント情報を取得する。取得した顔画像コメント情報を候補手と対応付けて図示しない記憶媒体等に蓄積する。そして、上位の処理にリターンする。
【0183】
このような処理によっても、上記実施の形態1と同様の効果を得ることができる。なお、かかることは、後述する実施の形態2についても適用可能である。
【0184】
(実施の形態2)
本実施の形態の囲碁情報処理装置2は、上記実施の形態1において示した囲碁情報処理装置1を囲碁の学習用装置として利用できるようにしたものである。
【0185】
図20は、本実施の形態における囲碁情報処理装置2のブロック図である。
囲碁情報処理装置2は、配置格納部201、配置指示受付部202、蓄積部103、状況判断部204、状況対応情報格納部205、碁石出力情報取得部106、表示部107、を備える。蓄積部103、碁石出力情報取得部106、および表示部107の構成については、上記実施の形態1と同様であるので、ここでは説明を省略する。なお、ここでの蓄積部103は、上記実施の形態1のように、対局を行う機能を備えていなくても良い。
【0186】
配置格納部201には、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される。特に、配置格納部201には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報(以下、問題配置情報と称す)と質問内容を示す情報(以下、質問内容情報)とを有する問題情報が格納される。問題配置情報は、上記実施の形態1の配置情報と同様のものであるので、ここでは説明を省略する。配置格納部201は、問題別に配置情報が複数格納されていても良い。問題情報は、例えば、問題配置情報が示す碁石の配置に関する質問内容を示すテキスト情報である。例えば、何を解答すべきかをユーザに文章等で説明する情報である。ただし、質問内容が表示された画像情報でも良い。質問内容は問題の内容を示す情報や、問題に対してどのように返答するかを指示する情報等である。この配置格納部201のその他の構成等については、配置格納部101と同様であるので説明は省略する。
【0187】
配置指示受付部202は、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける。ここでは特に、配置指示受付部202は、表示部107が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付ける。この配置指示を以下、解答配置指示と呼ぶ。配置指示受付部202は、例えば、上述した問題配置情報と質問内容情報との表示によって示される問題に対する解答となる碁石の配置を指示する情報を受け付ける。この配置指示は、実施の形態1において説明した配置指示と同様のものであり、ここでは詳細な説明を省略する。配置指示受付部202のその他の構成等については、配置格納部101と同様であるので説明は省略する。
【0188】
状況判断部204は、配置格納部201に格納された配置情報を用いて、碁石の状況を判断する。ここでは、状況判断部204は、上述した解答配置指示が示す碁石の盤面上の状況を判断する。状況判断部204が行う碁石の状況の判断は、問題配置情報等で示される問題に対する解答配置指示が示すユーザの解答が正解であるか否かや、好ましい解答であるか否かや、適切な解答であるか否かの判断と考えても良い。
【0189】
状況判断部204は、例えば、問題情報と対応付けられて後述する状況対応情報格納部205に格納されている問題情報が示す問題に対する解答となる碁石を置くべき位置(座標)を示す情報が示す位置と、解答配置指示が示す位置とが一致するか否かを判断して、一致する場合、碁石の位置が正解であると判断し、一致しなければ、碁石の位置が不正解であると判断しても良い。また、解答となる碁石を置くべき位置が複数ある場合、解答となる位置のうちのいずれかと一致したか否かを判断して、一致すると判断された位置を示す情報を取得してもよい。なお、解答となる碁石を置くべき位置と、その位置についての顔画像コメント情報とが予め対応付けられて後述する状況対応情報格納部105等に蓄積されている場合、碁石出力情報取得部106は、状況対応情報格納部105から一致すると判断された解答となる碁石を置くべき位置に対応付けら顔画像コメント情報を取得するようにしても良い。
【0190】
状況判断部204が行う判断としては、例えば、上記実施の形態1において説明した状況判断部104が行う判断と同様の判断の1以上が利用可能である。また、複数の判断を組み合わせて利用しても良い。
【0191】
また、状況判断部204は、以下に説明するような味方の石との距離によって状況の判断を行っても良い。まず、上述した解答配置指示が示す位置(座標)に対して最も近い位置にある味方の碁石であって、敵の碁石で遮られていない碁盤上の碁石を、問題配置情報を用いて検出し、検出した碁石との距離を計算する。そして、最も距離が近い碁石と、解答配置指示が示す位置との角度を計算等により取得する。この角度は、例えば碁盤の横線あるいは縦線を基準の0度とした場合の角度である。そして、後述する状況対応情報格納部205に予め格納されている碁石間の角度別に用意された碁石間の距離と、碁石の状況の判断結果を示す情報である点数とを有する情報から、状況判断部204が取得した碁石間の角度と碁石間の距離とに対応する点数を検索により取得する。そして、碁石出力情報取得部106が、取得した点数に応じた顔画像コメント情報を、状況対応情報格納部205に予め格納されている点数と顔画像コメント情報とを対応付けて有する情報から、取得する。
【0192】
なお、状況判断部204は、上記の複数の判断処理の2以上を適宜組み合わせて利用しても良い。状況判断部204のこれ以外の構成等については、状況判断部104と同様であるのでここでは詳細な説明は省略する。
【0193】
状況対応情報格納部205には、例えば、配置格納部201に格納されている問題情報と対応付けられた、問題に対する解答となる碁石を置くべき位置(座標)を示す情報が格納されている。なお、この碁石を置くべき位置は、一でなくても良い。例えば一の問題情報に対して、複数の位置が指定されていても良い。また、1以上の位置を示す情報と、それぞれの位置に碁石を置いた場合のユーザの着手に対するプロ等による評価結果を示す情報(例えば点数等)とを有する解答評価情報が格納されていても良い。
【0194】
また、状況対応情報格納部205には、例えば、碁石間の角度別に用意された碁石間の距離と、碁石の状況の判断結果を示す情報である点数とを有する情報が格納されていても良い。
【0195】
また、上述したテンプレートに、当該テンプレートに対応する配置情報を次の一手をユーザに解答させるための問題情報と考えた場合の、上述したような解答評価情報が含まれているようにしておいても良い。
【0196】
また、状況対応情報格納部205には、例えば、上記のような情報の他に、上述した状況対応情報格納部105において説明したような情報が格納されている。状況対応情報格納部205は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0197】
表示部207は、配置情報を用いて、碁石出力情報取得部106が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する。また、ここでは特に、表示部107は、問題情報に含まれる問題配置情報に応じて碁石を配置した盤面の画像と、問題情報に含まれる質問内容情報とを表示することで、ユーザに対して問題を表示する。表示部207が、問題配置情報や質問内容情報をどのようなタイミングで表示するかは問わない。ユーザの指示によって表示しても良いし、囲碁情報処理装置2の起動等をトリガーとして表示しても良い。なお、表示部207のこれ以外の構成等については、例えば、表示部107と同様であるのでここでは詳細な説明は省略する。
【0198】
図21は、本発明の実施の形態1に係る囲碁情報処理装置2の動作の一例を説明するためのフローチャートである。以下、図21を用いて動作について説明する。
【0199】
(ステップS2101)表示部207は、囲碁についての問題を表示するタイミングであるか否かを判断する。表示するタイミングである場合、ステップS2102に進み、表示するタイミングでない場合、ステップS2101に戻る。
【0200】
(ステップS2102)表示部207は、カウンターnに1を代入する。
【0201】
(ステップS2103)表示部207は、n番目の問題情報が配置格納部201に格納されているか否かを判断する。格納されている場合、ステップS2104に進み、格納されていない場合、処理を終了する。
【0202】
(ステップS2104)表示部207は、n番目の問題情報に含まれる問題配置情報と、質問内容情報とを配置格納部201から読み出して、碁盤に問題となる局面の碁石を配置した、質問内容を示すテキスト情報等を備えた問題を図示しないモニタ等に表示する。
【0203】
(ステップS2105)配置指示受付部102は、解答配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS2106に進み、受け付けていない場合、ステップS2105に戻る。
【0204】
(ステップS2106)状況判断部204は、解答配置指示が示す位置(座標)が、n番目の問題情報に対応して用意された解答評価情報が示す位置のいずれか一つであるか否かを判断する。いずれか一つである場合、ステップS2107に進み、一つでない場合、2108に進む。
【0205】
(ステップS2107)碁石出力情報取得部106は、解答配置指示が示す位置に対応した顔画像コメント情報を取得する。ここでは、例えば、解答配置指示が示す位置と一致する位置を示す解答評価情報に含まれるユーザの着手を評価する情報(例えば点数等)を状況対応情報格納部105から取得し、取得した情報(点数等)に対応した顔画像コメント情報を状況対応情報格納部105から取得する。そして、ステップS2125に進む。
【0206】
(ステップS2108)状況判断部204は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、碁盤上の碁石の濃度分布を取得する。
【0207】
(ステップS2109)状況判断部204は、状況対応情報格納部205に格納されている濃度分布を示すテンプレートの中から、ステップS2108において取得した濃度分布と最も類似するテンプレートを検出する。例えば、画像のパターンマッチング等を用いて、類似するテンプレートを取得する。
【0208】
(ステップS2110)状況判断部204は、最も類似するテンプレートに対応付けられた解答配置情報が示す1以上の位置と、最新の配置指示が示す位置とが一致するか否かを判断する。一致する場合、ステップS2111に進み、一致しない場合、ステップ2112に進む。
【0209】
(ステップS2111)碁石出力情報取得部106は、一致すると判断された解答配置情報の位置に対応したユーザの着手を評価する情報である点数を取得する。但し、評価する情報は、点数以外の情報としても良い。
【0210】
(ステップS2112)状況判断部204は、状況対応情報格納部205に格納されている濃度分布を示すテンプレートの中から、ステップS2108において取得した濃度分布と類似する予め指定された数のテンプレートを、類似度の高いものから順に検出する。
【0211】
(ステップS2113)状況判断部104は、ステップS2112で検出した1以上のテンプレートに含まれる各解答配置情報が示す1以上の位置の中から、最新の配置指示が示す位置との距離が、予め指定された距離よりも短いものを検出する。
【0212】
(ステップS2114)状況判断部204は、ステップS2113において、最新の配置指示が示す位置との間の距離が、予め指定された距離よりも短い位置が検出されたか否かを判断する。検出された場合、ステップS2115に進み、ない場合、ステップS2117に進む。
【0213】
(ステップS2115)状況判断部204は、ステップS2113で検出された位置と対応付けられた点数を解答配置情報から取得し、その平均を、最新の配置指示が示す碁石の状況の判断結果として取得する。
【0214】
(ステップS2116)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部205に格納されている、濃度分布に関する碁石の状況の判断結果の点数の範囲を示す1以上の情報のうちの、ステップS312で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部205から取得する。そして、ステップS2125に進む。
【0215】
(ステップS2117)状況判断部204は、最新の配置指示を受け付ける直前までに蓄積された配置情報を用いて、状況対応情報格納部205に格納されている1以上の切断可能性箇所情報に含まれる形指定情報と一致する形の箇所、即ち、切断可能性箇所があるか否かを判断する。切断可能性箇所がある場合、ステップS2118に進み、ない場合、ステップS2121に進む。
【0216】
(ステップS2118)状況判断部204は、1以上の切断可能性箇所情報に含まれる形指定情報が示す形と一致する碁石の形の箇所の、各切断可能性箇所情報に含まれる切断可能性箇所指定情報が示す1以上箇所のうちの、最新の配置指示が示す位置との距離が最も近いものを検出し、その距離に応じた点数を判断結果の値として取得する。
【0217】
(ステップS2119)状況判断部204は、予め指定された値以上の、距離に応じた点数が取得できたか否かを判断する。取得できた場合、ステップS2125に進み、取得できなかった場合、ステップS2120に進む。
【0218】
(ステップS2120)碁石出力情報取得部106は、1以上の顔画像コメント情報のそれぞれと対応付けられて状況対応情報格納部205に格納されている、切断可能性箇所に関する碁石の状況の判断結果の値の範囲を示す1以上の情報のうちの、ステップS2118で取得した点数を含む範囲を示す情報と対応付けられた顔画像コメント情報を状況対応情報格納部205から取得する。そして、ステップS2125に進む。
【0219】
(ステップS2121)状況判断部204は、配置格納部201に格納されている問題配置情報を用いて、最新の配置指示が示す位置に最も距離が近い味方の碁石を検出する。
【0220】
(ステップS2122)状況判断部204は、ステップS2121で検出した碁石の位置と、最新の配置指示が示す位置とを結んだ直線の、碁盤上の直線(例えば、横線や縦線)に対する角度を取得する。角度は、例えば三角関数等を用いて算出可能である。なお、角度を用いる代わりに、碁石の配置情報から算出した三角関数の値を用いることも、ここでは、結果的に角度を利用することと考える。
【0221】
(ステップS2123)状況判断部204は、最新の配置指示が示す位置に配置される碁石の状況を示す情報として、状況対応情報格納部205に格納されている二点間の距離と、碁石を結んだ直線と碁盤上の横線または縦線とがなす角度と、碁石の状況を示す点数とを対応付けた情報等を用いて、ステップS2121で取得した距離と、ステップS2122で取得した角度とに対応した点数を取得する。
【0222】
(ステップS2124)碁石出力情報取得部106は、ステップS2123で取得した点数に応じた顔画像コメント情報を取得する。
【0223】
(ステップS2125)表示部107は、配置格納部201に格納されている問題配置情報が示す位置に碁石を配置し、解答配置指示が示す位置にも碁石を配置した碁盤の盤面上の画像であって、ステップS2107や、ステップS2116や、ステップS2120や、ステップS2124で取得された顔画像コメント情報が示す碁石の状況を示す表情の顔を有する碁石の画像または碁石の状況を示すコメント情報の少なくとも一方を含む盤面上の画像を表示する。
【0224】
(ステップS2126)表示部107は、次の問題を表示するか否かを判断する。例えば、デフォルトで終了の指示が与えられるまでは、順次次の問題を表示すると判断しても良い。あるいは、次の問題を表示する指示を受け付けるまでは次の問題を表示しないと判断しても良い。表示する場合、ステップS2127に進み、表示しない場合、処理を終了する。
【0225】
(ステップS2127)表示部107は、カウンターnの値を1インクリメントする。そして、ステップS2103に戻る。
【0226】
以下、本実施の形態における囲碁情報処理装置2の具体的な動作について説明する。
【0227】
図22は、配置格納部201に格納されている問題情報の一例を示す図である。問題情報は、「問題ID」、「問題配置情報」、「質問内容情報」という項目を有している。「問題ID」は、問題を識別する情報であり、一の問題には、一の問題IDが対応付けられている。「問題配置情報」は、「配置順番」、「色」、「座標」という、図5に示した配置情報と同様の項目を更に有している。「問題情報」は、質問文のテキスト情報であるとする。
【0228】
まず、囲碁情報処理装置2に対し、ユーザ等が、図示しない受付部等を介して、囲碁を学習するための問題を出題する指示を与えたとする。
【0229】
表示部107は、配置格納部201に格納されている一の問題情報を読み出し、問題情報の問題配置情報を用いて、碁石を配置した問題用の碁盤の盤面の画像を生成する。また、問題情報の質問内容情報を用いて、質問文の画像も生成する。そして、生成した画像を図示しないモニタ等に表示する。ここでは、「問題ID」が「Q1」である問題情報を読み出し、画像を生成して表示したとする。
【0230】
図23は、表示部107による囲碁の学習用の問題の表示例を示す図である。なお、ここでは、一例として、「配置順番」の値を碁石の表面に配置した画像を表示している。
【0231】
図24は、状況対応情報格納部205に格納されている解答評価情報を示す図である。解答評価情報は、「問題ID」と、「解答位置」と、「点数」という項目を有している。「問題ID」は、上述した問題情報の「問題ID」と対応する。「解答位置」は、問題の解答として考えられる位置を示す座標である。ただし、一の問題に対する解答位置として、評価の異なる複数の解答位置が用意されていても良い。「点数」は、「解答位置」が示す位置を解答配置指示で指定した場合の、その碁石の状況に対する評価を示す点数である。
【0232】
図25は、図23に示した「問題ID」が「Q1」である問題を示す碁盤の画像上に、図24の「問題ID」が「Q1」である解答評価情報の「点数」の値を、対応する「解答位置」が示す座標に重ねて配置した画像を示す図である。ただし、この図は、説明の為のものであり,通常は表示されない。
【0233】
ここで、ユーザが、「解答位置」の一つの座標と同じ座標を示す解答配置指示を囲碁情報処理装置2に入力したとする。例えば(16,10)を指定する解答配置指示を入力したとすると、配置指示受付部202は、この座標を示す情報として受け付ける。そして、状況判断部104は、解答評価情報の「問題ID」が「Q1」であるレコードの中に、ここで受け付けた解答位置を示す座標(16,10)と一致する「解答位置」を有するレコードがあるか否かを判断する。ここでは、一致するレコードがあると判断する。そして、この一致すると判断されたレコードの「点数」の値である「70」を碁石の状況を評価する値として取得する。
【0234】
そして、碁石出力情報取得部106は、この値に対応した顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の、解答評価情報用に設けられた管理表を用いて取得する。なお、上述した碁石の状況を評価する値「70」も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値「70」も出力するようにしてもよい。
【0235】
ここでは、仮に、解答配置指示が示す座標に一致する「解答位置」を有する解答評価情報のレコードが検出されなかったとする。
【0236】
この場合、上記実施の形態1の具体例において説明したような、状況対応情報格納部105に格納されている、アマチュア等の複数の棋譜のデータから取得された各手番の碁盤上の反応拡散方程式で算出した濃度分布と、次の手番に配置した碁石の配置情報(即ち、次の一手の配置情報)と、この次の一手の配置情報に対するプロ等による評価結果とを対応付けた情報であるテンプレートを用いて、碁石の状況を評価する値を取得するようにしても良い。ただし、ここでは、テンプレートには、次の一手の配置情報を対応付けた情報の代わりに、次の一手となり得る複数の位置を示す複数の配置情報と、各配置情報が示す位置が配置指定情報で指定された場合の碁石の状況を評価する値とを対応付けた解答評価情報が含まれているようにする。
【0237】
そして、状況判断部204は、上述した反応拡散方程式を利用して、問題配置情報が示す碁盤上の碁石の配置についての濃度分布を算出する。そして、この濃度分布と同様の濃度分布を示すテンプレートを検出して、解答配置指示が示す位置が、このテンプレートに含まれる解答評価情報が有する1以上の配置情報が示す位置のいずれかと一致するか否かを判断する。一致する場合、その点数を取得する。一致しない場合(即ち、予め内部に用意された解答の位置とは異なる位置が指定された場合)には、近いテンプレートをいくつか取り出して、配置情報が示す位置に近い解答位置に対応付けられた値をテンプレートに含まれる解答評価情報から取得して平均値を取得する。
【0238】
そして、このようにして取得した点数に応じた顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の管理表を用いて取得する。なお、上述した碁石の状況を評価する値も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値も出力するようにしてもよい。
【0239】
なお、ここでは、仮に、問題配置情報が示す碁盤上の碁石の配置についての濃度分布と、テンプレートが有する濃度分布とが一致しない場合等によって、点数や顔画像コメント情報等が取得できなかったとする。
【0240】
このため、囲碁情報処理装置2は、上記実施の形態1の具体例において説明したように、石の形の切断可能性箇所を利用して碁石の状況を評価する値を取得して、顔画像コメント情報等を取得し、碁盤の盤面の画像を表示するようにしても良い。
【0241】
さらに、ここでは、仮に、切断可能性箇所に相当する座標を示す解答配置指示を受け付けることができなかった場合や、取得した値が、0に近い値となり、顔画像コメント情報等が取得されなかったとする。
【0242】
この場合、状況判断部204は、解答配置指示が示す位置に配置される碁石の状況を示す情報を、この碁石が配置される位置に最も近い味方の石の角度と距離に応じて取得する。
【0243】
図26は、解答配置指示が示す位置とこの位置の最も近くに配置された味方の碁石の位置との距離と、この2点を通る直線が碁盤上の横線または縦線となす角度と、解答配置指示が示す位置に配置された碁石の状況を評価する点数とを対応付けて管理する距離評価情報管理表である。距離評価情報管理表は、「tanθ」と、「距離」と、「点数」という項目を有している。なお、ここでの距離の単位は、隣り合う縦線同士や横線同士の距離を1とした値(つまり、座標の一目盛りを1とした値)である。また、「tanθ」は、2点を通る直線が碁盤上の横線または縦線となす角度θの正接関数(タンジェント)である。ここでは、角度θの代わりに、角度θの正接関数を用いている。
【0244】
図27は、図26に示した距離評価情報管理表における、「tanθ」が「1」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(a))、「tanθ」が「2」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(b))、「tanθ」が「3」である場合の碁石間の距離と点数との関係をグラフで示した図(図27(c))である。
【0245】
また、図28は、「tanθ」が「1」である場合の碁石の配置例(図28(a))、「tanθ」が「2」である場合の碁石の配置例(図28(b))、「tanθ」が「3」である場合の碁石の配置例(図28(c))を示す図である。
【0246】
状況判断部204は、解答配置指示が示す位置に最も近い味方の碁石が配置される位置であって、位置同士を結ぶ間に、敵の碁石が存在しない位置を検出する。そして、この2つの位置を通る直線と、碁盤の横線とのなす角θの正接関数を算出する。また、この2つの位置の間の距離を算出する。例えば、仮に、2つの石の配置が、算出した角θのtanθが2であり、距離が3であったとする。状況判断部204は、算出した角θのtanθが2であるので、図26に示した距離評価情報管理表から、「tanθ」が2で、「距離」が3であるレコードの「点数」である「50」を取得する。
【0247】
そして、碁石出力情報取得部106は、この値に対応した顔画像コメント情報を、例えば、図14に示した第二状況対応情報管理表と同様の、距離と角度で状況を判断する場合用に設けられた管理表を用いて取得する。なお、碁石出力情報取得部106は、上述した碁石の状況を評価する値「50」も取得しても良い。そして、表示部107は、上記実施の形態1の具体例と同様に、顔画像コメント情報を用いた碁盤の盤面の画像を表示する。なお、碁石の状況を評価する値「50」も出力するようにしてもよい。
【0248】
なお、図26に示したような角度と距離と点数との関係を示す情報を、Fuzzyのメンバーシップ関数として用いるようにしてもよい。
【0249】
図29は、問題情報に応じて入力された解答配置指示に対応して表示部107に表示された碁盤の盤面の主要部の画像を示す図である。
【0250】
その後、例えば、配置格納部201に格納されている他の問題配置情報を用いて、更に問題を出力して、これに対する解答に対して評価を行っていくことで囲碁の学習が可能となる。
【0251】
以上、本実施の形態によれば、学習中の囲碁の盤面の碁石の状況を、ユーザに分かりやすく表示することができ、ユーザは囲碁の学習を楽しく継続することが可能となる。
【0252】
なお、上記各実施の形態において、碁石の切断可能性箇所との関係によって碁石の状況を判断する際に、状況判断部104等が、碁石の配置情報(つまり石の形)から検出した切断可能性箇所の位置を特異点として、この周りのweakness分布を作成して、このweakness分布から最新の配置指示が示す位置に対応した値を状況判断の結果として取得するようにしても良い。weakness分布は、例えば、検出さえた形を有する2以上の石が切断される危険度を示す値の分布である。例えば、切断可能性箇所に相手の碁石が配置されると、味方の石が切断されるが、単独で相手の石が配置されると、その石を味方の石で殺すことが可能となる。例えば、weakness分布内に敵の石が来ると、特異点の値を大きくし、weakness分布を変更する。このweakness分布を用いることで、このような石の状況を適切に判断することが可能となる。Z=aの特異点のまわりでの解析関数は、例えば以下の式で表される。ただし、aは、切断可能性箇所からの距離を示す。
【0253】
【数3】
【0254】
図30は、配置情報が示す碁石の碁盤上の配置を示す図(図30(a))、この配置において取得したweakness分布を示す図(図30(b))、更に、敵が近づいて来た場合の碁石の碁盤上の配置を示す図(図30(c))、この配置において取得したweakness分布を示す図(図30(d))である。
【0255】
また、上記実施の形態においては、状況判断部104は、全体の形勢判断を、Fuzzyや強化学習によって判断しても良い。強化学習の場合、相手の切断可能性箇所を報酬として利用しても良い。
【0256】
なお、上記各実施の形態においては、囲碁の情報を処理する囲碁情報処理装置について説明したが、本発明は、ユーザの打った手に対して、評価等を行うことが可能な、将棋、チェス、オセロ、麻雀等のボードゲームの情報を処理するボードゲーム情報処理装置についても適用可能なものであり、このような場合においても、上記各実施の形態と同様の効果を奏する。なお、この場合、上記具体例において、例えば、碁石を駒、カードまたはパイと適宜読み替え、碁石出力情報取得部を、適宜出力情報取得部等と読み替えるようにすればよい。
【0257】
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0258】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0259】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【0260】
また、上記各実施の形態では、ボードゲーム情報処理装置がスタンドアロンである場合について説明したが、ボードゲーム情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【0261】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【0262】
なお、上記各実施の形態における囲碁情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と配置指示に応じて碁石の配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、碁石の状況を判断する状況判断部と、状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する碁石出力情報取得部と、配置情報を用いて、碁石出力情報取得部が取得した碁石の画像またはコメントを配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラムである。
【0263】
また、上記各実施の形態におけるボードゲーム情報処理装置を実現するソフトウェアは、ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、配置指示に応じて駒、カードまたはパイの配置情報を配置格納部に蓄積する蓄積部と、配置格納部に格納された配置情報を用いて、駒、カードまたはパイの状況を判断する状況判断部と、状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、状況対応情報格納部から取得する出力情報取得部と、配置情報を用いて、出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラムである。
【0264】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0265】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【0266】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0267】
図31は、上記プログラムを実行して、上記実施の形態によるボードゲーム情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【0268】
図31において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
【0269】
図32は、コンピュータシステム900の内部構成を示す図である。図32において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【0270】
コンピュータシステム900に、上記実施の形態によるボードゲーム情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
【0271】
プログラムは、コンピュータ901に、上記実施の形態によるボードゲーム情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0272】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0273】
以上のように、本発明にかかるボードゲーム情報処理装置等は、囲碁等のボードゲームの対戦(対局)や学習等に関数情報を処理する装置等として適しており、特に、ユーザの打った手についての評価結果を適切に表示する装置等として有用である。
【符号の説明】
【0274】
1、2 囲碁情報処理装置
101、201 配置格納部
102、202 配置指示受付部
103 蓄積部
104、204 状況判断部
105、205 状況対応情報格納部
106 碁石出力情報取得部
107、207 表示部
【特許請求の範囲】
【請求項1】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、
碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断部と、
碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得部と、
前記配置情報を用いて、前記碁石出力情報取得部が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えた囲碁情報処理装置。
【請求項2】
前記配置格納部には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報と質問内容を示す情報とを有する問題情報が格納され、
前記表示部は、前記問題情報に含まれる問題用の配置情報に応じて碁石を配置した盤面の画像と、当該問題情報に含まれる質問内容を示す情報とを表示し、
前記配置指示受付部は、前記表示部が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付け、
前記状況判断部は、前記配置指示が示す碁石についての状況を判断する請求項1記載の囲碁情報処理装置。
【請求項3】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、配置指示受付部と、蓄積部と、状況判断部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、碁石出力情報取得部と、表示部とを用いて行われる囲碁情報処理方法であって、
前記配置指示受付部が、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付ステップと、
前記蓄積部が、前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積ステップと、
前記状況判断部が、前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断ステップと、
前記碁石出力情報取得部が、前記状況判断ステップによる状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得ステップと、
前記表示部が、前記配置情報を用いて、前記碁石出力情報取得ステップにより取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示ステップとを備えた囲碁情報処理方法。
【請求項4】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、
碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得部と、
前記配置情報を用いて、前記碁石出力情報取得部が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラム。
【請求項5】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、
駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、
駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、
前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えたボードゲーム情報処理装置。
【請求項6】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、配置指示受付部と、蓄積部と、状況判断部と、出力情報取得部と、表示部とを用いて行われるボードゲーム情報処理方法であって、
前記配置指示受付部が、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付ステップと、
前記蓄積部が、前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積ステップと、
前記状況判断部が、前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断ステップと、
前記出力情報取得部が、前記状況判断ステップによる状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得ステップと、
前記表示部が、前記配置情報を用いて、前記出力情報取得ステップにおいて取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示ステップとを備えたボードゲーム情報処理方法。
【請求項7】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、
駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、
前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラム。
【請求項1】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、
碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断部と、
碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得部と、
前記配置情報を用いて、前記碁石出力情報取得部が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えた囲碁情報処理装置。
【請求項2】
前記配置格納部には、囲碁の学習に用いられる問題用の碁石の配置を示す配置情報と質問内容を示す情報とを有する問題情報が格納され、
前記表示部は、前記問題情報に含まれる問題用の配置情報に応じて碁石を配置した盤面の画像と、当該問題情報に含まれる質問内容を示す情報とを表示し、
前記配置指示受付部は、前記表示部が表示する盤面の画像と質問内容を示す情報とに応じた碁盤に対する配置指示を受け付け、
前記状況判断部は、前記配置指示が示す碁石についての状況を判断する請求項1記載の囲碁情報処理装置。
【請求項3】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、配置指示受付部と、蓄積部と、状況判断部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、碁石出力情報取得部と、表示部とを用いて行われる囲碁情報処理方法であって、
前記配置指示受付部が、碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付ステップと、
前記蓄積部が、前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積ステップと、
前記状況判断部が、前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断ステップと、
前記碁石出力情報取得部が、前記状況判断ステップによる状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得ステップと、
前記表示部が、前記配置情報を用いて、前記碁石出力情報取得ステップにより取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示ステップとを備えた囲碁情報処理方法。
【請求項4】
碁盤の盤面に対する碁石の配置を示す情報である配置情報が格納される配置格納部と、碁石の状況に応じた表情の顔を有する碁石の画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、
碁盤に対して碁石を配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて碁石の配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記碁石の状況を判断する状況判断部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する碁石の画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する碁石出力情報取得部と、
前記配置情報を用いて、前記碁石出力情報取得部が取得した碁石の画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラム。
【請求項5】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、
駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、
駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、
前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部とを備えたボードゲーム情報処理装置。
【請求項6】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部と、配置指示受付部と、蓄積部と、状況判断部と、出力情報取得部と、表示部とを用いて行われるボードゲーム情報処理方法であって、
前記配置指示受付部が、駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付ステップと、
前記蓄積部が、前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積ステップと、
前記状況判断部が、前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断ステップと、
前記出力情報取得部が、前記状況判断ステップによる状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得ステップと、
前記表示部が、前記配置情報を用いて、前記出力情報取得ステップにおいて取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示ステップとを備えたボードゲーム情報処理方法。
【請求項7】
ボードゲームの盤面に対する駒、カードまたはパイについての情報が格納される配置格納部と、駒、カードまたはパイの状況に応じた表情の顔を有する駒、カードまたはパイの画像またはコメント情報の少なくとも一方が格納されている状況対応情報格納部とにアクセス可能なコンピュータを、
駒、カードまたはパイを配置する指示である配置指示をユーザから受け付ける配置指示受付部と、
前記配置指示に応じて駒、カードまたはパイの配置情報を前記配置格納部に蓄積する蓄積部と、
前記配置格納部に格納された配置情報を用いて、前記駒、カードまたはパイの状況を判断する状況判断部と、
前記状況判断部による状況の判断結果に応じた表情の顔を有する駒、カードまたはパイの画像、または状況の判断結果に応じたコメント情報の少なくとも一方を、前記状況対応情報格納部から取得する出力情報取得部と、
前記配置情報を用いて、前記出力情報取得部が取得した駒、カードまたはパイの画像またはコメントを前記配置情報が示す位置近傍に配置した盤面の画像を表示する表示部として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図7】
【図9】
【図10】
【図12】
【図14】
【図15】
【図16】
【図20】
【図21】
【図22】
【図25】
【図26】
【図27】
【図28】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図6】
【図8】
【図11】
【図13】
【図17】
【図18】
【図19】
【図23】
【図24】
【図29】
【図30】
【図2】
【図3】
【図4】
【図5】
【図7】
【図9】
【図10】
【図12】
【図14】
【図15】
【図16】
【図20】
【図21】
【図22】
【図25】
【図26】
【図27】
【図28】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図6】
【図8】
【図11】
【図13】
【図17】
【図18】
【図19】
【図23】
【図24】
【図29】
【図30】
【公開番号】特開2012−65852(P2012−65852A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−213210(P2010−213210)
【出願日】平成22年9月24日(2010.9.24)
【出願人】(510058391)株式会社調和技研 (1)
【出願人】(510255129)ディー・エー株式会社 (1)
【出願人】(506166022)
【出願人】(510255130)
【出願人】(510255303)
【出願人】(510255141)
【Fターム(参考)】
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願日】平成22年9月24日(2010.9.24)
【出願人】(510058391)株式会社調和技研 (1)
【出願人】(510255129)ディー・エー株式会社 (1)
【出願人】(506166022)
【出願人】(510255130)
【出願人】(510255303)
【出願人】(510255141)
【Fターム(参考)】
[ Back to top ]