JP3909736B2 - 予測時間表示方法および装置 - Google Patents
予測時間表示方法および装置 Download PDFInfo
- Publication number
- JP3909736B2 JP3909736B2 JP10982999A JP10982999A JP3909736B2 JP 3909736 B2 JP3909736 B2 JP 3909736B2 JP 10982999 A JP10982999 A JP 10982999A JP 10982999 A JP10982999 A JP 10982999A JP 3909736 B2 JP3909736 B2 JP 3909736B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- thinking
- computer
- memory
- handed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、コンピュータと人間が対戦する型の思考ゲームにおいて、コンピュータの思考時間を予測して出力させる予測時間表示方法および装置に関する。
【0002】
【従来の技術】
現在、将棋、囲碁、オセロ(登録商標)等の対戦型思考ゲームソフトをコンピュータに思考させ、人間対コンピュータの対戦を可能としたソフトが多く出回っている。
【0003】
一般にコンピュータ思考部は一手の着手に、より多く時間を消費して思考する程強くなる傾向があり、それに対して人間側のニーズとしては、より強くはもちろんのこと、「より速く」コンピュータが着手することが求められている。
【0004】
人間対コンピュータの対戦において、人間が求める実用的な思考速度は恐らく、一局30分からせいぜい1時間で終局し、その上でコンピュータの思考時間が人間の思考時間と同程度以下であることであろう。
【0005】
現在、最強と言われるコンピュータ思考部でも、人間が求める実用的な思考速度では将棋ではアマチュア初段〜2段程度、囲碁に至ってはアマチュア10級〜5級程度であり、アマチュア高段者にとってはとても楽しめるレベルに無いのが現状である。このことは家庭用テレビゲーム機等のコンピュータの演算速度の遅い機器では、より顕著な問題となる。
【0006】
【発明が解決しようとする課題】
対戦型思考ゲームでは、コンピュータは思考時間を短くすると弱くなり、思考時間を長くすると強くなる。したがってアマチュア高段者に、対戦型思考ゲームをより快適に楽しんで貰うためには、コンピュータの思考時間を増やす必要がある。
【0007】
しかしコンピュータの思考時間を増やすと、コンピュータの着手する時間が大幅に遅くなる。これは上述した「より速く」というニーズに反する。したがって、ゲームソフトにおいて、コンピュータの思考時間を増やすことなく、コンピュータが次の一手にどの程度の思考時間を費やすかをゲーム相手の人間に知らせることができれば、対戦型思考ゲームをより快適に楽しむことが可能となる。
【0008】
ところでパソコンソフトでは、パソコンのインストール時や、インターネット等のファイルのダウンロード時などに、データ容量およびマシンの処理速度の実績値などから、要する待ち時間(予測時間)を求め、予測時間を表示するものがある。これを対戦型思考ゲームに適用して、思考完了までの予測時間を表示させることができれば頗る便利である。
【0009】
ここに両者の機能を述べて比較してみる。図9がその対比表である。この表をもとに説明する。以下、(1)〜(6)において、▲1▼はパソコンソフト(ダウンロード、インストール)、▲2▼はゲームソフト(思考予測時間)、▲3▼は比較考察である。
【0010】
(1)目的
▲1▼作業完了までの予測時間を表示する。
▲2▼思考完了までの予測時間を表示する。
▲3▼完了までの予測時間を表示する点で目的は同じ。
【0011】
(2)効果(重要性)
▲1▼これは進行中であることを告知すること。
ダウンロードの場合は、通信コストがかかるため、総時間を知ることが重要である。
▲2▼思考の強さを強くするほど、思考に時間を要するため、後どれくらいかかるか告知することが重要。
▲3▼それぞれ効果は異なる。
【0012】
(3)対象物
▲1▼対象物は定量的で明確なプログラムソフトであるため、対象物を予測する必要はない。
▲2▼対象物は、思考による分岐が複雑な一手に要する手順であるため、局面による変化が大きい。したがって対象物自身を予測する必要がある。
▲3▼固定的な作業物と変動的な対象物に分れる。
【0013】
(4)予測時間
▲1▼対象物(作業量)が明確であるため、実行過程において、実行実績から予測時間を求めることが可能。
▲2▼予測した対象物(作業量)から、実行過程において、実行実績より予測時間を求める。
▲3▼予測時間を求める手法自体は同じでも、対象物が異なるから、全体として手法は異なる。
【0014】
(5)誤差の要因
▲1▼コンピュータの処理状況(マルチタスクなど)により誤差が予測される。特にダウンロードでは、通信回線の状況変化により誤差が予測される。
▲2▼作業量があくまでも見込であることにより誤差が予測される。
▲3▼双方とも誤差はある。
【0015】
(6)誤差の補正
▲1▼実績値より予測時間の補正は容易である。
▲2▼対象物を予測しているため、対象物の予測方法に依存するが、ある程度は実績値より予測時間の補正は可能である。
▲3▼それぞれ異なる。
【0016】
上述した考察から、パソコンで行われているダウンロードやインストールの作業完了までの予測時間表示方式は、対象物が定量的であるので、対象物が変量的であるゲームにはそのまま適用できないことが分る。
【0017】
本発明の課題は、パソコンソフトとは異なる手法を対戦型思考ゲームに導入することによって、上述した従来技術の問題点を解消して、コンピュータの思考時間を適切に予測して、より快適にゲームを楽しむことができる予測時間表示方法および装置を提供することにある。
【0018】
【課題を解決するための手段】
本発明の予測時間表示方法を実施するための予測時間表示装置は、図7に示すように、ディスプレイ1とコントローラまたはキーボードおよびマウス等からなる入力部3を有し、前記ディスプレイ1上に映し出された画像(盤面)において、入力部3より必要な操作手順を入力するゲーム機本体またはパソコン本体2を用いたゲーム機およびパソコン(コンピュータ)を前提とする。本体2で行う予測時間の計算方法は種々あり、思考ゲームの種類に合わせて任意に選択する。本体2には、プログラムを記憶した記憶媒体が設けられる。記憶媒体としては、ハードディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、ROMカートリッジ等、プログラムを記憶でき、かつコンピュータが読取可能な記憶媒体であれば、その記憶形式はいずれの形態であってもよい。また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づき本実施形態を実現するための各処理を実行する。
【0019】
請求項1の発明は、コンピュータ対人間が交互に手を進める将棋等の対戦型思考ゲームにおいて、コンピュータが思考を開始する際に、次の一手のためにコンピュータが思考に要するであろう予測時間を求めるとともに、コンピュータが思考を開始してからの経過時間または前記予測時間に対する残り時間を求め、前記予測時間、経過時間または残り時間を直感的に判断できる形でリアルタイム表示させることを特徴とする予測時間表示方法である。本発明によれば、コンピュータの思考時間を適切に予測して、予測時間を直感的に判断できるようにしたので、より快適にゲームを楽しむことができる。
【0020】
請求項2の発明は、前記コンピュータの一手の思考に要するであろう予測時間が、次式
( 一手思考の予測時間)=( 探索総手数) ×( 一着手あたりの平均時間)
(1) から求められる請求項1に記載の予測時間表示方法である。
【0021】
ここで、探索総手数は、Σni (nは着手数、iは先読み深さ)であり、一着手あたりの平均時間は、過去複数回の着手に要した実績時間から求めた一回の着手平均時間をいう。なお前記着手数とは、先読みした局面において考えられる手の数をいう。
本発明によれば、探索総手数に一着手あたりの平均時間を乗ずるだけの簡単な式を計算するだけで、コンピュータの一手に要する時間を把握することができる。
【0022】
請求項3の発明は、コンピュータが思考を開始してからの前記予測時間に対する残り時間が、次式
( 残り時間) =( 一手思考の予測時間) −( 経過時間)
から求められる請求項1または2に記載の予測時間表示方法である。
【0023】
ここで、経過時間は、一手思考開始から現在までの経過時間
本発明によれば、一手思考の予測時間から経過時間を減ずるだけの簡単な式を計算するだけで、コンピュータの残り思考予測時間を把握することができる。
【0024】
請求項4の発明は、請求項2または3に記載の予測時間表示方法において、次式
をそれぞれ求め、前記手数の進行度合いと予測時間の進行度合いとを比較して、これらが不一致になって前記一手思考の予測時間が実際の実行時間との間で差異が生じたとき、式(1)に代えて予測時間を補正する次の式
( 思考の経過時間/ 現在の探索手数) ×( 探索総手数)
を一手思考の予測時間を求める式とする予測時間表示方法。
【0025】
本発明によれば、手数の進行度合いと予測時間の進行度合いとに不一致が生じたときは、一手思考の予測時間を求める式を補正するので、実際との実行時間との差異を解消でき、より実際に近い予測時間を求めることができる。
【0026】
請求項5の発明は、インタフェース部からパケットを介して通知された情報を基に思考する思考主体部および思考予測手数評価部を有し、前記思考主体部で思考の動作を、前記思考予測手数評価部で思考予測の動作をそれぞれ開始し、結果をパケットを介してインタフェース部に通知する思考部と、前記思考部とは別に設けられ、人間の着手の入力や盤の表示等を受け持ち、それらの情報を思考部に通知するインタフェース部と、前記インタフェース部と前記思考部の双方から読み書きできるリアルタイム情報用の共有メモリとして機能するパケットと、人間の着手の入力を行う入力部と、盤の表示や予測時間を表示する表示部と、表示部を制御する表示制御部とを備えたコンピュータ対人間が交互に手を進める将棋等の対戦型思考ゲームの予測時間表示装置である。
【0027】
前記思考予測手数評価部は、思考部本体からの着手数とインタフェース部からのコンピュータの強さに対応する先読みの深さが入力され、Σni (nは着手数、iは先読み深さ)から探索総手数を求め、更にこの探索総手数に一着手当たりの平均時間を乗じたものを一手思考の予測時間として出力するものであり、表示制御部は、前記一手思考の予測時間に基づいて予測時間を直感的に判断できる形で前記表示部に表示させるものである予測時間表示装置である。
【0028】
思考部とインタフェース部を切り分けたので、思考部設計者はインタフェース部等の設計にわずらわされることなく思考部の開発に専念できる。本発明によれば、コンピュータの思考時間を適切に予測して、より快適にゲームを楽しむことができる。
【0029】
請求項6の発明は、請求項5に記載の予測時間表示装置において、前記思考予測手数評価部は、さらに次式
をそれぞれ求め、
前記手数の進行度合いと予測時間の進行度合いとを比較して、これらが不一致になって、前記一手思考の予測時間が実際の実行時間との間で差異が生じたとき、式(1)に代えて予測時間を補正する次の式
( 思考の経過時間/ 現在の探索手数) ×( 探索総手数)
から求めたものを一手思考の予測時間として出力するものである
予測時間表示装置。
【0030】
請求項7の発明は、コンピュータ対人間が交互に手を進める将棋等の対戦型思考ゲームにおいて、コンピュータが思考を開始する際に、次の一手のためにコンピュータが思考に要するであろう予測時間を次式
( 一手思考の予測時間)=( 探索総手数) ×( 一着手あたりの平均時間)
(1) から求める機能と、コンピュータが思考を開始してからの経過時間または前記予測時間に対する残り時間を次式
( 残り時間) =( 一手思考の予測時間) −( 経過時間)
から求める機能と、
を求める機能と、
を求める機能と、前記手数の進行度合いと予測時間の進行度合いとを比較して、これらが不一致になって、前記一手思考の予測時間が実際の実行時間との間で差異が生じたとき、式(1)に代えて、次の一手のためにコンピュータが思考に要するであろう予測時間を次式
( 思考の経過時間/ 現在の探索手数) ×( 探索総手数)
から求める機能と、
前記予測時間、経過時間または残り時間を直感的に判断できる形でリアルタイム表示させる機能と
をコンピュータに実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体である。
【0031】
ここで、探索総手数は、Σni (nは着手数、iは先読み深さ)、一着手あたりの平均時間は、過去の複数着手に要した実績時間から求めた平均時間、経過時間は、一手思考開始から現在までの経過時間である。
本発明を実施例に対応する図1を用いて説明すると、対局開始時にはその対局の初期条件に関する全ての情報(初期盤面状態、それぞれの対局者の手番、持ち時間、コンピュータ側の強さ(難易度)の設定等)がインタフェース部25から思考部11に通知され、思考部11はそれを受けて自らの初期化を行う。人間とコンピュータ双方の着手の後には、着手の情報が伝えられ、思考部11は内部の棋譜を更新する。
【0032】
コンピュータの手番においてコンピュータの思考部11を呼び出す時には、思考部11はインタフェース部25とは別スレッドとして呼び出され、思考部11とインタフェース部25が" 同時" (マルチタスク)に動作できるようにする。
【0033】
前記呼出しには図8に示すような一般的な処理方式を採用する。例えばテレビゲーム等の画像表現を用いるプログラムは、テレビの同期信号に合わせて垂直方向の同期サイクル(Vブランク)に同期した約1/60秒毎の割込み処理によりプログラムを実行する。一般的には、マルチタスクにより、モジュール毎にスレッドをもち、割込み処理時、タスクコントローラよりスレッドが呼び出される仕組みを取る。
【0034】
図1において、インタフェース部25は思考部11に現局面を認識するために必要な全ての情報(盤面状態、初期盤面状態、現在までの棋譜、現在の消費時間など)と一緒に、リアルタイムで情報をやりとりするためのパケット21のアドレスを通知する。インタフェース部25はこの時に思考部11の動作をなるべく妨げないように必要最小限の動作しか行わないように設計する必要がある。そして、対局終了時には対局結果等が思考部11に通知され、思考部11はこれを受けて自らの終了処理を行う。
【0035】
インタフェース部25は、思考を促すために思考部11を呼び出した後、思考部11と" 同時" に動作しながら、パケット21に思考部11が書き込んだ情報をもとに、思考部11の思考時間の予測値と進行状況を表示し続け、最後に思考完了時に思考部11が決定した着手を受け取り、その表示と盤面の更新を行う。
【0036】
上述の思考部11とインタフェース部25を切り分けた手法により、思考部設計者はインタフェース部25等の設計にわずらわされることなく思考部11の開発に専念できる。しかるに、与えられた任意の局面に対して思考部11の思考時間を予測することや、リアルタイムにその予測を修正することは、思考部11の設計の複雑さと比例して困難となることが予想される。よって、思考部開発作業には、今までと同様の思考部11のチューニング作業の終了後、思考時間予測のための統計作業や実装作業という新たなフェーズが付け加えられることとなる。
【0037】
また、思考時間予測の精度は思考部設計者に完全に委ねられるため、著しく予測精度の悪い思考部11の場合、返って人間側のストレスの原因ともなりかねない。これらの困難さと注意点を認識した上で設計に当たれば予測精度は向上すると考えられる。
【0038】
【発明の実施の形態】
以下に本発明の実施の形態について説明する。図1は、予測時間表示装置のブロック図を示し、主に思考部11、パケット21、インタフェース部25から構成され、これらはプログラムによって各機能が実現されるものである。ここでは予測時間を表示させるために、コンピュータ対人間の対戦を実現する対戦型思考ゲームの機能を整理して、インタフェース部25と思考部11とをプログラム上明確に切り分けてある。
【0039】
思考部11は、インタフェース部25からパケット21を介して通知された情報を基に思考等の動作を開始し、結果をパケット21を介してインタフェース部25に通知する。思考部11は、ここではフェーズ(I) 13とフェーズ(II)14とを有する最も古典的な手法を採用している。思考予測手数評価部15はコンピュータの一手に要する時間を予測するための探索総手数計算部16を有する。フェーズ(II)14で求めた結果は思考予測手数評価部15に渡される。
【0040】
前記フェーズ(I) 13は、定石(定跡)等のデータベースの検索で、この検索がヒットすればフェーズ(II)14に移ることなく着手を決定する。なお、ゲームにより差はあるが、手法は対局開始時から数十手までは一般的に単純な局面配置のため、この手法が有効利用される。
【0041】
前記フェーズ(II)14は合法着手の評価、現在の探索手数を求める。ここで合法着手とは、ゲームのルールに基づきその局面において打つことが可能な全ての候補手数のうち、コンピュータが評価可能な手数のことである。与えられた局面からあらゆる合法着手を評価していく。任意の着手により更新された局面に対して同様の評価を行い、以下予め定めた深さまで評価する。最終的に、初期の与えられた局面において最高の評価を下された着手を選択することになる。
【0042】
この手法では、フェーズ(I) 13にて終了した場合は極めて短時間に思考を終了することが出来るため、思考時間予測は行わない。フェーズ(II)14においては、
▲1▼1局面の一着手を評価するのにかかる時間をまず計測し(この計測は対局開始の初期化時に予め行っておいてもよい。)、
▲2▼次に、予測される評価数を計算してそれを乗ずることにより行う。評価数の計算は与えられた局面の「合法着手数」と予め定めた「先読みの深さ」、理論的な「枝刈効率の予測値」等からおおまかに計算することが出来る。ここで枝刈効率とは、採用する探索効率化アルゴリズムに依存する効率化の期待値である。
【0043】
多くの思考部11は、上述した古典手法の変形である。これらの手法はフェーズ(II)14が極めて複雑であり、予め評価数を予測することが極めて困難である場合がある。その場合でも、最終的にチューニングされた思考部11を予め動作させて統計をとることで、与えられた局面からおおまかな評価数を算出することは可能である。
【0044】
また、思考部11によっては、フェーズ(III )以降としてフェーズ(II)14とは別の評価を行ってそれらの総合評価を行う場合もあるが、それらの場合も各フェーズの1評価当たりにかかる時間を初期化時などに予め測定しておくか、統計により、フェーズ(II)14とそれ以降のフェーズの実行速度の比率等を算出しておけば予測可能である。
【0045】
パケット21は、インタフェース部25と思考部11の双方から読み書きできるリアルタイム情報用の共有メモリとして機能する。インタフェース部25からパケット21は、思考を開始してからの経過時間がミリ秒単位(実際の分解能はハードウエアやOS等に依存する)で通知され、思考部11からインタフェース部25へは思考完了予測時間が秒単位で通知される。また、思考部11に対する人間の中断要求や、思考部11が現在最善手とみなしている着手などリアルタイム性を要求される情報がこのパケット21を通じてやり取りされる。パケット21は、思考主体部12でコンピュータが思考した結果等を格納する思考結果格納部22、局面の盤面情報を格納する盤面情報格納部23、および予測時間の計算に必要な探索情報を格納する探索情報格納部24を有する。
【0046】
パケット21から思考部11の思考主体部12へは盤面情報18が供給され、思考主体部12からパケット21へは思考結果17が送られる。また思考部11の思考予測手数評価部15からパケット21へは手数の進行度合い(=現在の探索手数/探索総手数)が供給され、パケット21から思考予測手数評価部15へは盤面情報20が送られる。
【0047】
また、インタフェース部25は、人間の着手の入力や盤の表示等を受け持ち、それらの情報を思考部11に通知する。インタフェース部25は、初期盤面状態,対局者の手番,持ち時間,現在の消費時間,現在の盤面状態,対局開始から現在までの情報(履歴),コンピュータの強さ等を記憶する盤面情報記憶部28、人間からの入力を処理する入力情報処理部29、盤面表示,予測時間表示を表示するディスプレイ32を制御する映像表示制御部30を有する。
【0048】
インタフェース部25の盤面情報記憶部28からパケット21の盤面情報格納部23に盤面情報・探索情報26が格納される。逆にパケット21からインタフェース部25の盤面情報記憶部28に思考結果27が加えられる。入力部(コントローラまたはキーボード及びマウス)31の情報はインタフェース部25の入力情報処理部29に加えられる。インタフェース部25の映像表示制御部30からディスプレイ32に盤面表示、予測時間表示信号が加えられる。
【0049】
なお、インタフェース部25から思考部11を呼び出すタイミングは、概ね、対局開始時に初期化のために1回、双方の着手の後に着手を通知するために1回ずつ、コンピュータの手番の時にコンピュータに思考を促すために1回ずつ、対局終了時に終了処理を促すために1回である。
【0050】
つぎに図2〜図5を用いて、予測時間表示装置による思考予測手数評価〜画面表示までの時系列に沿った処理形態を説明する。図2、図3は実施形態による処理形態(時系列)の前半部のシーケンス図および後半部のシーケンス図、図4の例は着手数3、先読みの深さ3の場合の予測構成を示し、(a)は探索の系統図、(b)は時系列図である。また図5は主要項目をまとめた表図である。
【0051】
(1)ゲーム開始(初期設定)
▲1▼インタフェース部25から、対局の初期条件に関する全ての情報(初期盤面状態,それぞれの対局の手番,持ち時間,コンピュータの強さ等)を、パケット21の盤面情報格納部23へ格納する。この情報に基づいて対局が開始される。
【0052】
(2)思考予測手数の初期設定
▲1▼盤面情報格納部23に格納した盤面情報20のうちの局面を思考部11の思考予測手数評価部15へ読み込む。
▲2▼思考予測手数評価部15の探索総手数計算部16は、前記局面においてゲームルールに基づき評価可能な「着手数」を求める。「着手数」は、図4の例ではいずれの局面においても一律に3個としてある。
【0053】
▲3▼盤面情報格納部23に格納した盤面情報20のうちのコンピュータの強さを思考予測手数評価部15へ読み込む。コンピュータの強さは先読みの深さに対応する。
▲4▼思考予測手数評価部15はコンピュータの強さより予め定めた「先読みの深さ」より先読みの着手数(探索総手数)を求める。先読みの深さは、図4の例では3である。
▲5▼思考予測手数評価部15は、「着手数」=n、「先読みの深さ」=iとすると、「探索総手数」を次式にしたがって求める。
【0054】
Σni =「探索総手数」(i=1、2、…)
図4の例では、先読みの深さは3であるから、
「31 」+「32 」+「33 」=「39」
となる。
▲6▼思考部11の探索総手数計算部16で求めた「探索総手数」をパケット21の盤面情報格納部23に格納する。図4の例では、探索総手数「39」を盤面情報格納部に格納する。
【0055】
(3)思考の進行状況をパケットへ返す
▲1▼思考部11はゲームルールに基づき思考主体部12で思考(評価)を行う。
▲2▼思考予測手数評価部15は、思考プログラムの現在の進行状況として探索した着手数を探索状況19の「現在の探索手数」として、パケット21の探索情報格納部24に格納する。図4の例では、現在の探索手数は「3」である。
【0056】
なお、思考部11にて一手が確定した場合には、「完了フラグ」および「結果」を思考結果17としてパケット21の思考結果格納部22に格納する。
▲3▼思考予測手数評価部15で例えば過去100着手を思考(評価)するのに要した実績時間から、「一着手あたりの平均時間」を求める。ここで一着手あたりの平均時間とは、一手あたりにコンピュータが要した思考の平均時間である。図4の例ではtm で示し、tm =2秒としている(図5)。
【0057】
思考開始後、過去100着手未満の場合は、例えば予め定めた固定値を定数として「一着手あたりの平均時間」とする。これらの「一着手あたりの平均時間」をパケット21の探索情報格納部24に格納する。
▲4▼思考予測手数評価部15は、一手思考するのに要している一手思考開始から現在までの経過時間を「経過時間」として探索情報格納部24に格納する。この経過時間は、図4の例ではTで示し、T=45秒としている(図5)。
【0058】
(4)思考予測時間の算出
▲1▼パケット21の探索情報格納部24より思考部11に「探索総手数」、
「一着手あたりの平均時間」、「現在の探索手数」を読み込む。図4の例では、それぞれ「39」、「2秒」、「15」を読み込む。
▲2▼思考予測手数評価部15の探索総手数計算部16は、一手思考するのに要するであろう予測時間を次式により求める。
【0059】
「探索総手数」×「一着手あたりの平均時間」=「一手思考の予測時間」 (1)
図4の例では
「39」×「2秒」=「78秒」=「1分18秒」
となる。
▲3▼思考予測手数評価部15は、「一手思考の予測時間」をパケット21の探索情報格納部24に格納する。図4の例では「1分18秒」を格納する。
【0060】
(5)思考予測時間の画面表示
▲1▼インタフェース部25は、パケット21の探索情報格納部24より「一手思考の予測時間」、「経過時間」を思考結果27として盤面情報記憶部28に読み込む。図4の例では「1分18秒」、「45秒」を読み込む。
▲2▼「一手思考の予測時間」、「経過時間」を映像表示制御部30に送って、ディスプレイ32に思考予測時間の画面表示を行う。図4の例では、コンピュータの一手思考の予測時間が「1分18秒」であり、思考を開始してからの経過時間が「45秒」であることがディスプレイ32に直感的に判断できる形で表示される。
【0061】
(6)一手終了確認
▲1▼インタフェース部25はパケット21の思考結果格納部22より「完了フラグ」を読み込む。
▲2▼「完了フラグ」が立っていない場合は、思考中であることから(3)▲1▼へ戻る。
【0062】
(7)一手思考完了処理
▲1▼パケット21の思考結果格納部22よりインタフェース部25は「思考結果27」を読み込む。
▲2▼盤面情報記憶部28に記憶されている更新盤面を映像表示制御部30に送って、盤面を更新しディスプレイ32に表示する。
▲3▼インタフェース部25で「完了フラグ」をクリアし、これを盤面情報・探索情報26としてパケット21の盤面情報格納部23に格納する。
【0063】
▲4▼インタフェース部25で更新した対局情報を盤面情報・探索情報26として盤面情報格納部23に格納する。
▲5▼人間が次の一手を指すまでループする。すなわち入力部3から、インタフェース部25の入力情報処理部29に入力されるまで待機する。
▲6▼更新した対局情報を盤面情報・探索情報26として盤面情報格納部23に格納する。
【0064】
▲7▼インタフェース部25は、ゲーム終了か否かチェックし、終了でない場合は(2)▲1▼へ戻る。
▲8▼終了であればゲームを終わる。
【0065】
ところで、上記実施の形態で取り上げた「一手思考の予測時間」の算出原理は、過去100着手における実績をベースとし「一着手あたりの平均時間」を求めていること、さらに「探索総手数」はコンピュータの先読みの深さを単純に基本(現状)の盤面の着手数との積により求めていることから、実際との実行時間との差異が生じる。このため予測時間の補正が必要となる。以下に補正の一例を挙げる。
【0066】
図5の(3)▲2▼で求めた「現在の探索手数」を利用し、
図4の例では
(「15」/「39」)×100=38.5%
となる。
【0067】
図4の例では、
(「45秒」/「78秒」)×100=57.7%
となる。
【0068】
式(2)と式(3)の結果を比較する。その結果、
ケース1:
予測時間の進行度合いが手数の進行度合いより大きい場合(図4の例)
当初見込んだ「一手思考の予測時間」では、思考が完了しない恐れがあるため、「一手思考の予測時間」を次式(4)で見直す。
【0069】
(4)
図4の例では、
(「45秒」/「15」)×「39」=117秒(=1分57秒)
となる。
【0070】
ケース2:
予測時間の進行度合いが手数の進行度合いより小さい場合
当初見込んだ「一手思考の予測時間」以内で、思考が完了する恐れがあるため、「一手思考の予測時間」を見直す。式は、式3と同じ。
【0071】
ケース3:
ケース1、2に該当しない場合
見直しの必要はなし。
【0072】
上述した各ケースに応じて必要であれば全体の予測値を計算し直して、その補正した予測時間をディスプレイ32に表示させる。
【0073】
上述したディスプレイ32の思考予測時間は、この例では次のように表示する。
「一手思考の予測時間」=1:57(1分57秒)
「経過時間」=0:45(0分45秒)
また、ディスプレイ画面表示例を図6に示す。図中、「あと1:12」は残り思考予測時間を意味し、算出方法はつぎの通りである。
【0074】
残り=「一手思考の予測時間」−「経過時間」
図4の例では
72秒(1分12秒)=「117秒」−「45秒」
である。
【0075】
画面表示例のように、アナログ表示またはデジタル表示を行う。アナログ表示(棒状や円状)では視覚的に半分(50%)は終了したことが瞬時に把握でき、デジタル表示は具体的な残時間が「あと1分12秒」であると判断できる。表現方法はこれらに限定されるものではなく、この他にもビジュアル的に多々可能である。
【0076】
以上述べたように本実施の形態によれば、コンピュータが思考を開始する際につぎの着手のためにどの程度の思考時間を費やすかを予測し、思考過程において全体のどの程度の割合の演算を完了したかをリアルタイムに表示することができる。この場合、思考開始時点において正確な思考時間を計算することは非常に困難であるから、初期の予測値はおおまかな値とし、思考過程において予測値を補正しながら表示する。
【0077】
コンピュータが、あとどの程度考えるかがディスプレイに直感的に理解できるように表示されるので、コンピュータの思考時間の体感上の長さを短くすることができる。また、予測時間が把握できることにより、人間側がその間に他の用事を済ませる等の行動が取り易くなる。従って、この予測時間表示機能を対戦型ゲームソフトに搭載することにより、アマチュア高段者が、より強力ではあるが、それほど速くもないコンピュータの思考部11と対戦しやすい状況を喚起することが出来るようになる。
【0078】
なお、上述した実施の形態では、2つのフェーズをもつ思考部という最も古典的な手法を採用したが、その他、ニューロネット等を使用した特殊な思考部も考えられ、それらも予め実行時間の統計を取っておくことにより、予測可能である。また、思考過程で或程度区切りがよくなった段階で改めて全体の予測値を計算し直して調整を繰り返せば、さほどの狂いなく予測表示を行うことが可能であると考えられる。
【0079】
【発明の効果】
本発明によれば、コンピュータのつぎの一手に要する予測時間が把握できるので、予測時間が把握できないものに比べて、より快適にゲームを楽しむことができる。また、思考開始時点において正確な思考時間を予測することは非常に困難であるが、初期の予測値はおおまかな値とし、思考過程において予測値を補正しながら表示するので、より正確な予測が行える。
【図面の簡単な説明】
【図1】実施形態による予測時間表示装置を構成する思考部、パケット、インタフェース部のブロック図である。
【図2】実施形態による処理形態(時系列)の前半部のシーケンス図である。
【図3】実施形態による処理形態(時系列)の後半部のシーケンス図である。
【図4】実施形態による着手数3、先読みの深さ3の場合の具体的な予測構成を示し、(a)は構成図、(b)は時系列を示す図である。
【図5】図4の例の主要項目をまとめた表である。
【図6】実施形態による思考予測時間の画面表示例を示す図である。
【図7】実施形態によるシステムの概略構成図である。
【図8】基本的なプログラムの処理方式を示す説明図である。
【図9】従来のパソコンソフト(ダウンロード、インストール)とゲームソフト(思考の予測時間)の対比表である。
【符号の説明】
11 思考部
15 思考予測手数評価部
21 パケット
25 インタフェース部
31 入力部
32 ディスプレイ(表示部)
Claims (12)
- コンピュータ対人間が交互に手を進める型の対戦型思考ゲームにおいて、コンピュータが次の一手のための思考に要するであろう予測時間を求める予測時間表示方法であって、
インタフェース部が、
前記コンピュータの着手数及び前記コンピュータの先読みの深さの量をメモリに格納し、
思考部が、
前記コンピュータの一着手当りの平均時間を求めて前記メモリに格納し、
定石を格納したデータベースを検索し、前記コンピュータの現在の局面で着手すべき手が、格納した定石と一致するか否かを判断し、一致しない場合に、前記メモリより前記思考部に、前記コンピュータの着手数及び前記コンピュータの先読みの深さの量を読み込んで、前記コンピュータの探索総手数を、前記コンピュータの着手数及び前記コンピュータの先読みの深さの量に基づいて求めて前記メモリに格納し、
前記メモリより前記思考部に、前記探索総手数及び前記一着手当りの平均時間を読み込んで、前記コンピュータが次の一手のための思考に要するであろう予測時間を、前記探索総手数及び前記一着手当りの平均時間に基づいて求めて前記メモリに格納し、
前記インタフェース部が、
前記メモリより前記一手思考の予測時間を前記インタフェース部に読み込んで表示部に視覚的に表示させる
予測時間表示方法。 - 請求項1に記載の予測時間表示方法において、
前記コンピュータの探索総手数を、
(探索総手数)=Σn i (nは着手数、iは先読み深さ)
により求め、
前記コンピュータが次の一手のための思考に要するであろう予測時間を、
( 一手思考の予測時間 )= (探索総手数)× ( 一着手あたりの平均時間 ) (1)
により求める
予測時間表示方法。 - 請求項2に記載の予測時間表示方法において、
前記思考部が、一手思考開始から現在までの思考時間の経過時間を求めて前記メモリに格納し、
前記メモリより前記思考部に、一手思考の予測時間及び前記思考時間の経過時間を読み込んで、前記予測時間に対する残り時間を、
( 残り時間 ) = ( 一手思考の予測時間 ) − ( 思考時間の経過時間 )
により求めて前記メモリに格納し、
前記インタフェース部が、
前記メモリより前記残り時間を前記インタフェース部に読み込んで表示部に視覚的に表示させる
る予測時間表示方法。 - 請求項2または3に記載の予測時間表示方法において、
前記思考部が、
現在の探索手数を求めて前記メモリに格納し、
前記メモリより前記思考部に、現在の探索手数及び探索総手数を読み込んで、前記コンピュータの手数の進行度合を
(手数の進行度合い) (%)=( 現在の探索手数 / 探索総手数 ) × 100
により求めて前記メモリに格納し、
前記メモリより前記思考部に、前記思考時間の経過時間及び一手思考の予測時間を読み込んで、前記コンピュータの予測時間の進行度合を
(予測時間の進行度合い) (%)
=( 思考時間の経過時間 / 一手思考の予測時間 ) × 100
により求めて前記メモリに格納し、
前記メモリより前記思考部に、前記手数の進行度合いと前記予測時間の進行度合いとを読み込んで比較し、これらが一致するか否かにより前記一手思考の予測時間と実際の実行時間との間の差異を検査し、前記一手思考の予測時間と実際の実行時間との間に差異が生じた場合に、前記メモリより前記思考部に、前記思考時間の経過時間、現在の探索手数、及び探索総手数を読み込んで、一手思考の予測時間を、前記式(1)に代えて、補正された次式
( 一手思考の予測時間 )=( 思考の経過時間 / 現在の探索手数 ) × ( 探索総手数 )
により求める予測時間表示方法。 - コンピュータ対人間が交互に手を進める型の対戦型思考ゲームにおいて、コンピュータが次の一手のための思考に要するであろう予測時間を求める予測時間表示装置であって、
前記コンピュータの着手数、前記コンピュータの先読みの深さの量、前記コンピュータの一着手当りの平均時間、前記コンピュータの探索総手数、前記コンピュータの一手思考の予測時間を格納するメモリと、
前記コンピュータの一着手当りの平均時間を求めて前記メモリに格納し、
定石を格納したデータベースを検索し、前記コンピュータの現在の局面で着手すべき手が、格納した定石と一致するか否かを判断し、一致しない場合に、前記メモリより前記コンピュータの着手数および前記コンピュータの先読みの深さの量を読み込んで、前記コンピュータの探索総手数を、前記コンピュータの着手数および前記コンピュータの先読みの深さの量に基づいて求めて前記メモリに格納し、
前記メモリより前記思考部に、前記探索総手数及び前記一着手当りの平均時間を読み込んで、前記コンピュータが次の一手のための思考に要するであろう予測時間を、前記探索総手数及び前記一着手当りの平均時間に基づいて求めて、前記メモリに格納する思考部と、
前記コンピュータの着手数、前記コンピュータの先読みの深さの量を前記メモリに格納し、前記メモリより前記一手思考の予測時間を読み込んで表示部に視覚的に表示させるインタフェース部と、
を備えた予測時間表示装置。 - 請求項5に記載の予測時間表示装置において、
前記コンピュータの探索総手数を
(探索総手数)=Σn i (nは着手数、iは先読み深さ)
により求め、
前記メモリより前記思考部に、前記探索総手数及び前記一着手当りの平均時間を読み込んで、前記コンピュータが次の一手のための思考に要するであろう予測時間を、次式
( 一手思考の予測時間 )= (探索総手数)× ( 一着手あたりの平均時間 ) (2)
により求める
予測時間表示装置。 - 請求項6に記載の予測時間表示装置において、
前記思考部が、一手思考開始から現在までの思考時間の経過時間を求めて前記メモリに格納し、
前記メモリより前記思考部に、一手思考の予測時間及び前記思考時間の経過時間を読み込んで、前記予測時間に対する残り時間を、
( 残り時間 ) = ( 一手思考の予測時間 ) − ( 思考時間の経過時間 )
により求めて前記メモリに格納するものであり、
前記インタフェース部が、
前記メモリより前記残り時間を前記インタフェース部に読み込んで表示部に視覚的に表示させるものである
予測時間表示装置。 - 請求項6または7に記載の予測時間表示装置において、
前記思考部が、
現在の探索手数を求めて前記メモリに格納し、
前記メモリより前記思考部に、現在の探索手数及び探索総手数を読み込んで、前記コンピュータの手数の進行度合を
(手数の進行度合い) (%)=( 現在の探索手数 / 探索総手数 ) × 100
により求め、
前記メモリより前記思考部に、前記思考時間の経過時間及び一手思考の予測時間を読み込んで、前記コンピュータの予測時間の進行度合を
(予測時間の進行度合い) (%)
=( 思考時間の経過時間 / 一手思考の予測時間 ) × 100
により求め、
前記求めた手数の進行度合及び予測時間の進行度合を前記メモリに格納し、
前記メモリより前記思考部に、前記手数の進行度合いと前記予測時間の進行度合いとを読み込んで比較し、これらが一致するか否かにより前記一手思考の予測時間と実際の実行時間との間の差異を検査し、前記一手思考の予測時間と実際の実行時間との間に差異が生じた場合に、前記メモリより前記思考部に、前記思考時間の経過時間、現在の探索手数、及び探索総手数を読み込んで、一手思考の予測時間を、前記式(2)に代えて、補正された次式
( 一手思考の予測時間 )=( 思考の経過時間 / 現在の探索手数 ) × ( 探索総手数 )
により求めるものである
予測時間表示装置。 - コンピュータ対人間が交互に手を進める型の対戦型思考ゲームにおいて、コンピュータが次の一手のための思考に要するであろう予測時間を求める機能をコンピュータに実現させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
コンピュータの着手数、前記コンピュータの先読みの深さの量、前記コンピュータの一着手当りの平均時間をそれぞれメモリに格納する機能と、
定石を格納したデータベースを検索し、前記コンピュータの現在の局面で着手すべき手が、格納した定石と一致するか否かを判断し、一致しない場合に、前記メモリより前記コンピュータの着手数及び前記コンピュータの先読みの深さの量を思考部に読み込んで、前記コンピュータの探索総手数を、前記コンピュータの着手数及び前記コンピュータの先読みの深さの量に基づいて求めて前記メモリに格納する機能と、
前記コンピュータが次の一手のための思考に要するであろう予測時間を、前記探索総手数及び前記一着手当りの平均時間に基づいて求めて前記メモリに格納する機能と、
、前記メモリより一手思考の予測時間を読み込んで表示部に表示させる機能と
をコンピュータに実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体。 - 請求項9に記載の記録媒体において、
前記コンピュータの探索総手数を
(探索総手数)=Σn i (nは着手数、iは先読み深さ)
により求め、
前記コンピュータが次の一手のための思考に要するであろう予測時間を、次式
( 一手思考の予測時間 )= (探索総手数)× ( 一着手あたりの平均時間 ) (3)
により求める
コンピュータ読取可能な記録媒体。 - 請求項10に記載の記録媒体において、
一手思考開始から現在までの思考時間の経過時間を求めて前記メモリに格納する機能と、
前記一手思考の予測時間及び前記思考時間の経過時間を読み込んで、前記予測時間に対する残り時間を、
( 残り時間 ) = ( 一手思考の予測時間 ) − ( 思考時間の経過時間 )
により求めて前記メモリに格納する機能と、
前記メモリより前記残り時間を前記インタフェース部に読み込んで表示部に視覚的に表示させる機能と
をコンピュータに実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体。 - 請求項10または11に記載の記録媒体において、
前記コンピュータの手数の進行度合いを、前記メモリより現在の探索手数及び探索総手数を読み込んで、次式
(手数の進行度合い) (%)=( 現在の探索手数 / 探索総手数 ) × 100
により求めて前記メモリに格納する機能と、
前記コンピュータの予測時間の進行度合いを、前記メモリより前記思考時間の経過時間及び一手思考の予測時間を読み込んで、次式
(予測時間の進行度合い) (%)=( 思考時間の経過時間 / 一手思考の予測時間 ) × 100
により求めて前記メモリに格納する機能と、
前記メモリに格納された前記手数の進行度合いと前記予測時間の進行度合いとを比較して、これらが一致するか否かにより前記一手思考の予測時間と実際の実行時間との間の差異を検査する機能と、
前記一手思考の予測時間と実際の実行時間との間に差異が生じた場合に、一手思考の予測時間を、前記式(3)に代えて、補正された次式
( 一手思考の予測時間 )=( 思考の経過時間 / 現在の探索手数 ) × ( 探索総手数 )
により求める機能とを
備えた記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10982999A JP3909736B2 (ja) | 1999-04-16 | 1999-04-16 | 予測時間表示方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10982999A JP3909736B2 (ja) | 1999-04-16 | 1999-04-16 | 予測時間表示方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000300840A JP2000300840A (ja) | 2000-10-31 |
JP3909736B2 true JP3909736B2 (ja) | 2007-04-25 |
Family
ID=14520274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10982999A Expired - Fee Related JP3909736B2 (ja) | 1999-04-16 | 1999-04-16 | 予測時間表示方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3909736B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4169502B2 (ja) | 2001-10-11 | 2008-10-22 | 株式会社セガ | 画像表示方法、画像生成装置及びプログラム |
JP5010622B2 (ja) * | 2009-01-30 | 2012-08-29 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム情報表示方法及びゲームプログラム |
JP2012164370A (ja) * | 2012-06-08 | 2012-08-30 | Hochiki Corp | 防災受信機 |
-
1999
- 1999-04-16 JP JP10982999A patent/JP3909736B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000300840A (ja) | 2000-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1555641A1 (en) | Simulation of virtual commercial transactions | |
CN113365705B (zh) | 游戏内信息平台 | |
US9468856B2 (en) | Computer implemented method for calculating a game score to create a ranking | |
JP2010284273A (ja) | 対戦ゲームシステム及びゲームサーバ | |
JP2021530323A (ja) | ゲーム内リソースサーフェシングプラットフォーム | |
WO2006001630A1 (en) | Method and system for loading of image resource | |
GB2593176A (en) | Apparatus and method of user analysis and content selection | |
JP3909736B2 (ja) | 予測時間表示方法および装置 | |
JP4017114B2 (ja) | 対局ゲーム装置、及び対局ゲームプログラム | |
JP5579911B1 (ja) | 報酬付与プログラム及び報酬付与装置 | |
JP5617023B1 (ja) | ゲームプログラム及びゲーム装置 | |
JP5611914B2 (ja) | ビデオゲーム処理装置、およびビデオゲーム処理プログラム | |
JP5977805B2 (ja) | ゲームプログラム及びゲーム装置 | |
JP6267484B2 (ja) | ゲームプログラム及びゲームシステム | |
JP7252745B2 (ja) | プログラムおよびコンピュータシステム | |
JP2002292117A (ja) | ゲーム装置、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム | |
JP5617024B1 (ja) | ゲームプログラム及びゲーム装置 | |
JP2020081755A (ja) | プログラムおよびコンピュータシステム | |
JP5622916B1 (ja) | ゲームプログラム及びゲーム装置 | |
JP7332521B2 (ja) | サーバシステム、ゲームシステム及びプログラム | |
JP2021035591A (ja) | 情報処理装置及びプログラム | |
JP5723950B2 (ja) | ゲームプログラム及びゲーム装置 | |
JP5622917B1 (ja) | ゲームプログラム及びゲーム装置 | |
JP2011115420A (ja) | ゲーム機及びゲームプログラム | |
JP3419804B2 (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3909736 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140202 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |