(57)【特許請求の範囲】
【請求項１】
システムであって、
メモリと、１つ又は複数のプロセッサとを含み、
前記１つ又は複数のプロセッサが、
第１時刻において取り得る複数の行動に対応する複数の第１スピン及び前記第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシンに設定し、
前記複数の行動に関する利得を表すように、前記複数の第１スピンの間の相互作用及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記第１時刻から前記第２時刻への時間遷移を表すように、前記複数の第１スピン及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記アニーリングマシンによって、前記複数の第１スピン及び前記複数の第２スピンの低エネルギー状態を求めることで、前記第１時刻において取るべき行動及び前記第２時刻において取るべき行動を推定する、
処理を実行する、システム。
【請求項２】
前記第１時刻において取った行動が、前記第２時刻において取り得る前記複数の行動を制限するように、前記複数の第１スピン及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定する、
請求項１に記載のシステム。
【請求項３】
前記第１時刻において取り得る複数の行動は、第１プレイヤーが取り得る複数の行動であり、
前記第２時刻において取り得る複数の行動は、第２プレイヤーが取り得る複数の行動である、
請求項１又は２に記載のシステム。
【請求項４】
時刻に応じた重み付けをして、前記複数の第１スピンの間の相互作用及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定する、
請求項１から３のいずれか一項に記載のシステム。
【請求項５】
メモリと、１つ又は複数のプロセッサとを含むシステムが実行する情報処理方法であって、
前期１つ又は複数のプロセッサが、
第１時刻において取り得る複数の行動に対応する複数の第１スピン及び前記第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシンに設定し、
前記複数の行動に関する利得を表すように、前記複数の第１スピンの間の相互作用及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記第１時刻から前記第２時刻への時間遷移を表すように、前記複数の第１スピン及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記アニーリングマシンによって、前記複数の第１スピン及び前記複数の第２スピンの低エネルギー状態を求めることで、前記第１時刻において取るべき行動及び前記第２時刻において取るべき行動を推定する、
処理を実行する、情報処理方法。
【請求項６】
システムに含まれる、１つ又は複数のプロセッサに、
第１時刻において取り得る複数の行動に対応する複数の第１スピン及び前記第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシンに設定し、
前記複数の行動に関する利得を表すように、前記複数の第１スピンの間の相互作用及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記第１時刻から前記第２時刻への時間遷移を表すように、前記複数の第１スピン及び前記複数の第２スピンの間の相互作用を前記アニーリングマシンに設定し、
前記アニーリングマシンによって、前記複数の第１スピン及び前記複数の第２スピンの低エネルギー状態を求めることで、前記第１時刻において取るべき行動及び前記第２時刻において取るべき行動を推定する、
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複数のスピンの間に所望の相互作用を設定し、複数のスピンの基底状態を求めることで、組み合わせ最適化問題を解くアニーリングマシンが用いられている。
【０００３】
例えば、下記特許文献１には、連続して入力され、時々刻々と変化する問題の解を求める情報処理装置であって、相互作用モデルにおける各素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部を情報処理装置に設け、入力される問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成し、生成した問題の係数データに基づいて、前後する問題間の類似度を表す類似度データを生成し、１つ前の問題及び今回の問題の類似度が所定の閾値以下の場合には、問題変換部から与えられた各素子の状態を相互作用モデルの初期状態に設定し、当該類似度が閾値よりも大きい場合には、直前の各素子の状態を今回の問題に対する相互作用モデルの初期状態とするようにした情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０３７８５９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術を用いることで、例えば、時間の経過とともに変化する移動コストを考慮して、巡回セールスマン問題の解を求めることができる。しかしながら、各時刻において適切な行動を選択する問題の場合、過去に選択した行動が現在の行動の選択に与える影響を考慮することができず、時間の経過とともにどのように行動を選択すべきか推定することは困難だった。
【０００６】
そこで、本発明は、時間の経過とともにどのように行動を選択すべきか推定するシステム、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係るシステムは、メモリと、１つ又は複数のプロセッサとを含み、１つ又は複数のプロセッサが、第１時刻において取り得る複数の行動に対応する複数の第１スピン及び第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシンに設定し、複数の行動に関する利得を表すように、複数の第１スピンの間の相互作用及び複数の第２スピンの間の相互作用をアニーリングマシンに設定し、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用をアニーリングマシンに設定し、アニーリングマシンによって、複数の第１スピン及び複数の第２スピンの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する、処理を実行する。
【０００８】
この態様によれば、第１時刻から第２時刻への時間遷移を表す相互作用を設定することで、各時刻において選択すべき行動のみならず、時間の経過とともにどのように行動を選択すべきかを推定することができる。
【発明の効果】
【０００９】
本発明によれば、時間の経過とともにどのように行動を選択すべきか推定するシステム、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本開示の実施形態に係る行動推定システムの概要を示す図である。
【図２】本実施形態に係る行動推定システムにより設定されるアニーリングマシンのスピンを示す図である。
【図３】本実施形態に係る行動推定システムにより設定されるアニーリングマシンのスピンを模式的に示す図である。
【図４】本実施形態に係るクライアントコンピュータの構成を示す図である。
【図５】本実施形態に係るサーバコンピュータの構成を示す図である。
【図６】本実施形態に係る行動推定システムにより実行される行動推定処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本開示の実施形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１２】
本実施形態では、アニーリングマシンを用いて、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する行動推定システム１０について説明する。
【００１３】
＜システムの適用例＞
図１は、本開示の実施形態に係る行動推定システム１０の概要を示す図である。行動推定システム１０は、クライアントコンピュータ５００、サーバコンピュータ６００及びアニーリングマシン２０を含む。クライアントコンピュータ５００及びサーバコンピュータ６００は、後に詳細に説明するように、汎用の古典コンピュータで構成される。アニーリングマシン２０は、古典コンピュータ又は量子コンピュータで構成され、例えば、複数の量子ビットを備え、量子ビットの間の相互作用を調整することで所望のハミルトニアンを設定し、量子アニーリングを用いて量子ビットの基底状態を求める量子コンピュータであってよい。もっとも、アニーリングマシン２０は、量子アニーリングを再現する古典コンピュータであってもよい。
【００１４】
クライアントコンピュータ５００は、インターネット等の通信ネットワークを介してサーバコンピュータ６００と接続される。サーバコンピュータ６００は、ＬＡＮ（Local Area Network）等の通信ネットワークを介してアニーリングマシン２０と接続される。クライアントコンピュータ５００のユーザは、クライアントコンピュータ５００を操作することで、間接的にアニーリングマシン２０に指令を送り、アニーリングマシン２０を用いて、複数の時刻において取るべき行動を推定する。なお、行動推定システム１０の構成は本適用例に示すものに限られず、例えば、アニーリングマシン２０は、サーバコンピュータ６００を介さずに、ＬＡＮ等の通信ネットワークを介してクライアントコンピュータ５００と接続されてもよい。
【００１５】
図２は、本実施形態に係る行動推定システム１０により設定されるアニーリングマシン２０のスピンを示す図である。本例では、丸印によって複数のスピンを表し、複数のスピンの間を結ぶ実線で、複数のスピンの間の相互作用を表している。
【００１６】
行動推定システム１０は、第１時刻において取り得る複数の行動に対応する複数の第１スピン及び第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシン２０に設定する。図２では、６つの第１スピン２１ａ（符号Ａ１〜Ａ６）と、２つの第１補助スピン２２ａ（符号Ａ７及びＡ８）を示している。また、６つの第２スピン２１ｂ（符号Ｂ１〜Ｂ６）と、２つの第２補助スピン２２ｂ（符号Ｂ７及びＢ８）を示し、６つの第３スピン２１ｃ（符号Ｃ１〜Ｃ６）と、２つの第３補助スピン２２ｃ（符号Ｃ７及びＣ８）を示している。なお、第１補助スピン２２ａ、第２補助スピン２２ｂ及び第３補助スピン２２ｃは、設定されなくてもよい。また、行動推定システム１０は、第Ｎ時刻（Ｎは任意の自然数）において取り得る複数の行動に対応する複数の第Ｎスピンをアニーリングマシン２０に設定してよい。
【００１７】
第１スピン２１ａ、第１補助スピン２２ａ、第２スピン２１ｂ、第２補助スピン２２ｂ、第３スピン２１ｃ及び第３補助スピン２２ｃは、それぞれ２値変数であり、例えば、−１又は１の値をとる変数である。第１スピン２１ａ、第１補助スピン２２ａ、第２スピン２１ｂ、第２補助スピン２２ｂ、第３スピン２１ｃ及び第３補助スピン２２ｃは、超伝導量子回路で構成された量子ビットであってよいが、古典的なビットであってもよい。また、第１時刻及び第２時刻において取り得る複数の行動は、任意の行動であってよいが、例えば、ゲーム理論によって定式化された行動であってよい。
【００１８】
第１時刻及び第２時刻において取り得る複数の行動は、一人のプレイヤーが取り得る複数の行動であってよい。もっとも、第１時刻において取り得る複数の行動は、第１プレイヤーが取り得る複数の行動であり、第２時刻において取り得る複数の行動は、第２プレイヤーが取り得る複数の行動であってもよい。さらに、第１設定部１１ａは、第１時刻において取り得る複数の行動は、第１プレイヤーが取り得る複数の行動であり、第２時刻において取り得る複数の行動は、第２プレイヤーが取り得る複数の行動であり、第３時刻において取り得る複数の行動は、第３プレイヤーが取り得る複数の行動となるように、複数のスピンを設定してもよい。
【００１９】
行動推定システム１０は、複数の行動に関する利得を表すように、複数の第１スピン２１ａ，２２ａの間の相互作用及び複数の第２スピン２１ｂ，２２ｂの間の相互作用を設定する。ここで、複数の行動に関する利得の大きさは、複数のスピンのエネルギーとして表され、行動推定システム１０は、複数のスピンのエネルギーが小さいほど、利得が大きい行動に対応するように相互作用を設定する。行動推定システム１０は、複数の第１スピン２１ａ，２２ａの間の相互作用を設定することで、第１時刻における利得と行動の関係を表す関数を設定する。同様に、行動推定システム１０は、複数の第２スピンの間２１ｂ，２２ｂの相互作用を設定することで、第２時刻における利得と行動の関係を表す関数を設定する。なお、行動推定システム１０は、複数の第３スピン２１ｃ，２２ｃの間の相互作用を設定することで、第３時刻における利得と行動の関係を表す関数を設定する。
【００２０】
行動推定システム１０は、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用を設定する。行動推定システム１０は、第１時刻において取った行動が、第２時刻において取り得る複数の行動を制限するように、複数の第１スピン２１ａ，２２ａ及び複数の第２スピン２１ｂ，２２ｂの間の相互作用を設定する。行動推定システム１０は、第１時刻において取った行動との関係で、第２時刻において取り得ない複数の行動に関する利得が小さくなるように（エネルギーが大きくなるように）、複数の第１スピン及び複数の第２スピンの間の相互作用を設定する。なお、行動推定システム１０は、第２時刻において取った行動が、第３時刻において取り得る複数の行動を制限するように、複数の第２スピン２１ｂ，２２ｂ及び複数の第３スピン２１ｃ，２２ｃの間の相互作用を設定してよい。
【００２１】
行動推定システム１０は、アニーリングマシン２０によって、複数の第１スピン２１ａ，２２ａ及び複数の第２スピン２１ｂ，２２ｂの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。行動推定システム１０は、複数の第１スピン２１ａ，２２ａ及び複数の第２スピン２１ｂ，２２ｂの基底状態又は低次の励起状態に基づいて、その状態に対応する行動を特定することで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。このように、本実施形態に係る行動推定システム１０によれば、第１時刻から第２時刻への時間遷移を表す相互作用を設定することで、各時刻において選択すべき行動のみならず、時間の経過とともにどのように行動を選択すべきかも推定することができる。なお、行動推定システム１０は、アニーリングマシン２０によって、複数の第１スピン２１ａ，２２ａ、複数の第２スピン２１ｂ，２２ｂ及び複数の第３スピン２１ｃ，２２ｃの低エネルギー状態を求めることで、第１時刻において取るべき行動、第２時刻において取るべき行動及び第３時刻において取るべき行動を推定する。
【００２２】
行動推定システム１０は、時刻に応じた重み付けをして、複数の第１スピン２１ａ，２２ａの間の相互作用及び複数の第２スピン２１ｂ，２２ｂの間の相互作用を設定してもよい。例えば、行動推定システム１０は、複数の第２スピン２１ｂ，２２ｂの間の相互作用に関する重み付けを、複数の第１スピン２１ａ，２２ａの間の相互作用に関する重み付けよりも大きくして、第１時刻よりも第２時刻における利得を優先するようにしてもよい。逆に、行動推定システム１０は、複数の第１スピン２１ａ，２２ａの間の相互作用に関する重み付けを、複数の第２スピン２１ｂ，２２ｂの間の相互作用に関する重み付けよりも大きくして、第２時刻よりも第１時刻における利得を優先するようにしてもよい。
【００２３】
＜実施例＞
図３は、本実施形態に係る行動推定システム１０により設定されるアニーリングマシン２０のスピンを模式的に示す図である。以下では、展開型ゲームの一種である三目並べにおいて取るべき行動を行動推定システム１０によって推定する実施例について説明する。
【００２４】
図３に示すｓ0〜ｓ8は、それぞれスピン変数であり、−１又は１の値をとる。ｓ＝１であるマスは、第１プレイヤーが丸印を置いたマスに対応し、ｓ＝−１であるマスは、第２プレイヤーがバツ印を置いたマスに対応するものとする。三目並べは、丸印が直線状に３つ並んだ場合に第１プレイヤーの勝利となり、バツ印が直線状に３つ並んだ場合に第２プレイヤーの勝利となるゲームである。
【００２５】
行動推定システム１０は、複数のスピンの間の相互作用を以下の数式（１）のように設定したハミルトニアンをアニーリングマシン２０に設定する。
【００２６】
【数１】
0006861309.tif 000002
【００２７】
ここで、solutionsは、（０，１，２）、（３，４，５）、（６，７，８）、（０，３，６）、（１，４，７）、（２，５，８）、（０，４，８）、（２，４，６）という８つのゲームに勝利する場合の配置である。また、Ｗ0は、次に説明する相手の勝利を妨害するためのハミルトニアンとの優先順位を調整するための重み係数である。数式（１）のハミルトニアンは、ｓi，ｓj，ｓkのうちいずれか２つが＋１である場合に、残り１つも＋１であれば最もエネルギーが低くなる。このようにして、ゲームに勝利する配置が基底状態となるようにハミルトニアンを設定し、取るべき行動を推定することができる。
【００２８】
行動推定システム１０は、複数のスピンの間の相互作用を以下の数式（２）のように設定したハミルトニアンを、数式（１）のハミルトニアンに加えてアニーリングマシン２０に設定してよい。
【００２９】
【数２】
0006861309.tif 000003
【００３０】
ここで、Ｗ1は、ハミルトニアンＨ0との優先順位を調整するための重み係数である。数式（２）のハミルトニアンは、ｓj，ｓkが−１である場合に、ｓiを＋１として、相手の勝利を妨害する場合に最もエネルギーが低くなる。また、Ｗ1／Ｗ0を調整することで、自らの勝利と相手の勝利の妨害との優先順位を調整することができる。このようにして、相手の勝利を妨げる配置が基底状態となるようにハミルトニアンを設定し、取るべき行動を推定することができる。
【００３１】
行動推定システム１０は、複数のスピンの間の相互作用を以下の数式（３）のように設定したハミルトニアンを、数式（１）のハミルトニアンに加えてアニーリングマシン２０に設定してよい。
【００３２】
【数３】
0006861309.tif 000004
【００３３】
ここで、Ｗ0は、重み係数である。数式（３）の和は、solutionsに含まれる２つの配置の全ての並び替えについてとる。数式（３）のハミルトニアンは、ｓi，ｓjのいずれか一方が＋１である場合に、他方も＋１として、複数のリーチをつくる場合に最もエネルギーが低くなる。このようにして、リーチとなる配置が低エネルギー状態となるようにハミルトニアンを設定し、取るべき行動を推定することができる。
【００３４】
行動推定システム１０は、複数のスピンの間の相互作用を以下の数式（４）のように設定したハミルトニアンを、数式（１）のハミルトニアンに加えてアニーリングマシン２０に設定してよい。
【００３５】
【数４】
0006861309.tif 000005
【００３６】
ここで、Ｗ1は、重み係数である。数式（４）の和は、solutionsに含まれる２つの配置の全ての並び替えについてとる。数式（４）のハミルトニアンは、ｓi，ｓjのいずれか一方が−１である場合に、他方を＋１として、相手のリーチを妨害する場合に最もエネルギーが低くなる。このようにして、相手のリーチを妨害する配置が低エネルギー状態となるようにハミルトニアンを設定し、取るべき行動を推定することができる。
【００３７】
行動推定システム１０は、複数のスピンの間の相互作用を以下の数式（５）のように設定したハミルトニアンを、数式（３）及び（４）のハミルトニアンに加えてアニーリングマシン２０に設定してよい。
【００３８】
【数５】
0006861309.tif 000006
【００３９】
ここで、Ｗ0及びＷ1は、重み係数である。数式（５）のハミルトニアンは、ｓi，ｓj，ｓkのいずれか２つについて＋１と−１が含まれる場合に、残りの１つを＋１とする配置のエネルギーが高くなるように設定されている。このようにして、勝利に至らない配置が高エネルギー状態となるようにハミルトニアンを設定し、取るべき行動を推定することができる。
【００４０】
行動推定システム１０は、数式（１）〜（５）のハミルトニアンを各時刻について設定し、第１時刻ｔにおいて取り得る複数の行動に対応する第１スピンｓitと、第２時刻ｔ＋１において取り得る複数の行動に対応する第２スピンｓit+1との間の相互作用としてｓit−ｓit+1−ｓitｓit+1という項を含むハミルトニアンを、数式（１）のハミルトニアンに加えてアニーリングマシン２０に設定してよい。これにより、ｓitが＋１である場合に、ｓit+1が−１となる配置が高エネルギー状態となり、盤面の時間発展が適切に表現される。
【００４１】
行動推定システム１０は、各時刻のハミルトニアンに対して時刻に応じた重み付けをしてもよい。また、以上の説明では、時刻ｔから時刻ｔ＋１に向かって時間発展するものとしたが、時刻ｔ＋１から時刻ｔに向かって時間発展することとしてもよい。さらに、時刻ｔと時刻ｔ＋１のスピンのみならず、時刻ｔと時刻ｔ＋２等の隣接しないスピンの間に相互作用を設定してもよい。また、三目並べ等の展開型ゲームの第１プレイヤーが有利となる行動を推定する場合、行動推定システム１０は、第２プレイヤーが勝利する行動が推定される場合には、その時点より前の行動に対応する複数のスピンについて、ハミルトニアンの１次項の重みを調整し、アニーリングマシン２０による演算を再実行して、第２プレイヤーが勝利する行動が推定されないようにしてもよい。
【００４２】
本実施例では、展開型ゲームの一種である三目並べについて説明したが、行動推定システム１０は、経済行動に関するゲーム理論や生物進化に関する進化ゲーム理論に適用することができる。より具体的には、行動推定システム１０は、オークションの設計やマッチングの設計に適用することができる。
【００４３】
＜構成の一例＞
図４は、ある実施形態に係るクライアントコンピュータ５００を示すブロック図である。クライアントコンピュータ５００は典型的には、１つ又は複数の処理装置（ＣＰＵ）５０２、１つ又は複数のネットワーク又は他の通信インタフェース５０８、メモリ５０４、及びこれらの構成要素を相互接続するための１つ又は複数の通信バス５１４を含む。
【００４４】
クライアントコンピュータ５００はまた、ディスプレイ装置５１０及びキーボード及び／又はマウス（又は他の何らかのポインティングデバイス）５１２を備えるユーザインタフェース５０６も含み得る。
【００４５】
メモリ５０４は、例えば、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ ＲＡＭ又は他のランダムアクセス固体記憶装置などの高速ランダムアクセスメモリであり、また、１つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、又は他の不揮発性固体記憶装置などの不揮発性メモリでもよい。
【００４６】
また、メモリ５０４の他の例として、ＣＰＵ５０２から遠隔に設置される１つ又は複数の記憶装置でもよい。ある実施形態において、メモリ５０４は次のプログラム、モジュール及びデータ構造、又はそれらのサブセットを格納する。
【００４７】
オペレーティングシステム５１６は、例えば、様々な基本的なシステムサービスを処理するとともにハードウェアを用いてタスクを実行するためのプロシージャを含む。
【００４８】
ネットワーク通信モジュール５１８は、例えば、クライアントコンピュータ５００を他のコンピュータに、１つ又は複数の通信ネットワークインタフェース５０８及び、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つ又は複数の通信ネットワークを介して接続するために使用される。
【００４９】
アニーリングマシン設定モジュール５２０は、例えば、アニーリングマシン２０の複数のスピン及び当該スピンのハミルトニアンを設定するための情報の入力をキーボード及び／又はマウス５１２により受け付けて、サーバコンピュータ６００に送信する。アニーリングマシン設定モジュール５２０は、少なくとも、第１時刻において取り得る複数の行動に対応する複数の第１スピン及び第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシン２０に設定するための情報と、複数の行動に関する利得を表すように、複数の第１スピンの間の相互作用及び複数の第２スピンの間の相互作用をアニーリングマシン２０に設定するための情報と、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用をアニーリングマシン２０に設定するための情報とを、サーバコンピュータ６００に送信する。
【００５０】
推定モジュール５２２は、例えば、アニーリングマシン２０によって求められたスピンの基底状態及び／又は低次の励起状態に基づいて、複数の時刻において取るべき行動を推定する。推定モジュール５２２は、少なくとも、アニーリングマシン２０によって、複数の第１スピン及び複数の第２スピンの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。
【００５１】
クライアントアプリケーション５３０は、例えば、ウェブブラウザなどを含む。
【００５２】
１つ又は複数の処理装置（ＣＰＵ）５０２は、メモリ５０４から、必要に応じて各モジュールを読み出して実行する。例えば、１つ又は複数の処理装置（ＣＰＵ）５０２は、メモリ５０４に格納されているネットワーク通信モジュール５１８を実行することで、通信部を構成してもよい。また、１つ又は複数の処理装置（ＣＰＵ）５０２は、メモリ５０４に格納されているアニーリングマシン設定モジュール５２０を実行することで、アニーリングマシン設定部を構成してもよいし、推定モジュール５２２を実行することで、推定部を構成してもよい。ここで、アニーリングマシン設定部及び推定部は、ＣＰＵ５０２の内部に構成してよい。
【００５３】
他の実施形態において、アニーリングマシン設定モジュール５２０及び推定モジュール５２２は、クライアントコンピュータ５００のメモリ５０４に格納されるスタンドアロンアプリケーションであってもよい。スタンドアロンアプリケーションとしては、限定はされないが、アニーリングマシン設定アプリケーション及び推定アプリケーションが挙げられる。さらに他の実施形態において、アニーリングマシン設定モジュール５２０及び推定モジュール５２２は別のアプリケーションへのアドオン又はプラグインであってもよい。例えば、アニーリングマシン設定モジュール５２０は、ウェブブラウザアプリケーション又は電子メールアプリケーションへのプラグインであってもよい。
【００５４】
ある実施形態において、受信されたデータ項目はメモリ５０４に局所的にキャッシュされ得る。同様に、アニーリングマシン２０により求められたスピンの基底状態に関する情報は、メモリ５０４に局所的にキャッシュされ得る。
【００５５】
上記に示した要素の各々は、先述の記憶装置の１つ又は複数に格納され得る。上記に示したモジュールの各々は、上述される機能を実行するための命令のセットに対応する。上記に示したモジュール又はプログラム（すなわち、命令のセット）は別個のソフトウェアプログラム、プロシージャ又はモジュールとして実装される必要はないとともに、従ってこれらのモジュールの様々なサブセットは様々な実施形態で組み合わされるか、或いは再構成されてもよい。ある実施形態において、メモリ５０４は上記に示されるモジュール及びデータ構造のサブセットを格納し得る。さらには、メモリ５０４は上述されない追加的なモジュール及びデータ構造を格納し得る。
【００５６】
図５は、ある実施形態に係るサーバコンピュータ６００を示すブロック図である。サーバコンピュータ６００は典型的には、１つ又は複数の処理装置（ＣＰＵ）６０２、１つ又は複数のネットワーク又は他の通信インタフェース６０８、メモリ６０４、及びこれらの構成要素を相互接続するための１つ又は複数の通信バス６１０を含む。
【００５７】
サーバシステム６００は場合によりユーザインタフェース６０６を含んでもよく、これとしては、ディスプレイ装置（図示せず）、及びキーボード及び／又はマウス（図示せず）を挙げることができる。
【００５８】
メモリ６０４は、例えば、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ ＲＡＭ又は他のランダムアクセス固体記憶装置などの高速ランダムアクセスメモリであり、また、１つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、又は他の不揮発性固体記憶装置などの不揮発性メモリでもよい。
【００５９】
また、メモリ６０４の他の例は、ＣＰＵ６０２から遠隔に設置される１つ又は複数の記憶装置を挙げることができる。ある実施形態において、メモリ６０４は次のプログラム、モジュール及びデータ構造、又はそれらのサブセットを格納する。
【００６０】
オペレーティングシステム６１２は、例えば、様々な基本的なシステムサービスを処理するとともにハードウェアを用いてタスクを実行するためのプロシージャを含む。
【００６１】
ネットワーク通信モジュール６１４は、例えば、サーバシステム６００を他のコンピュータに、１つ又は複数の通信ネットワークインタフェース６０６及びインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つ又は複数の通信ネットワークを介して接続するために使用される。
【００６２】
アニーリングマシン設定モジュール６１６は、例えば、アニーリングマシン２０の複数のスピン及び当該スピンのハミルトニアンを設定するための情報をクライアントコンピュータ５００から受信し、アニーリングマシン２０を設定する。アニーリングマシン設定モジュール６１６は、少なくとも、第１時刻において取り得る複数の行動に対応する複数の第１スピン及び第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシン２０に設定し、複数の行動に関する利得を表すように、複数の第１スピンの間の相互作用及び複数の第２スピンの間の相互作用をアニーリングマシン２０に設定し、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用をアニーリングマシン２０に設定する。
【００６３】
推定モジュール６１８は、例えば、アニーリングマシン２０によって求められたスピンの基底状態及び／又は低次の励起状態に基づいて、複数の時刻において取るべき行動を推定する。推定モジュール６１８は、少なくとも、アニーリングマシン２０によって、複数の第１スピン及び複数の第２スピンの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。
【００６４】
上記に示した要素の各々は先述される記憶装置の１つ又は複数に格納され得る。上記に示したモジュールの各々は、上述される機能を実行するための命令のセットに対応する。上記に示したモジュール又はプログラム（すなわち、命令のセット）は別個のソフトウェアプログラム、プロシージャ又はモジュールとして実装される必要はないとともに、従ってこれらのモジュールの様々なサブセットが様々な実施形態で組み合わされるか、或いは再構成され得る。ある実施形態において、メモリ６０４は上記に示されるモジュール及びデータ構造のサブセットを格納し得る。さらには、メモリ６０４は上述されない追加的なモジュール及びデータ構造を格納し得る。
【００６５】
図５は「サーバコンピュータ」を示すが、図５は、本明細書に記載される実施形態の構造的な概略としてよりも、サーバのセットに存在し得る様々な特徴についての説明が意図されている。実際には、及び当業者により認識されるとおり、別個に示される項目が組み合わされ得るであろうとともに、ある項目が別個にされ得るであろう。例えば、図５において別個に示される項目は単一サーバ上に実装され得るであろうとともに、単一の項目が１台又は複数のサーバにより実装され得るであろう。
【００６６】
＜動作説明＞
次に、本実施形態に係る行動推定システム１０の動作について説明する。図６は、本実施形態に係る行動推定システム１０の処理の一例を示すフローチャートである。図６に示す例では、ステップＳ１４で、行動推定システム１０は、アニーリングマシン２０によって求められた基底状態に基づいて、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。
【００６７】
（ステップＳ１０）
行動推定システム１０は、はじめに、第１時刻において取り得る複数の行動に対応する複数の第１スピンを設定する。
【００６８】
（ステップＳ１１）
行動推定システム１０は、第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンを設定する。
【００６９】
（ステップＳ１２）
その後、行動推定システム１０は、複数の行動に関する利得を表すように、複数の第１スピンの間の相互作用及び複数の第２スピンの間の相互作用を設定する。
【００７０】
（ステップＳ１３）
また、行動推定システム１０は、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用を設定する。
【００７１】
（ステップＳ１４）
最後に、行動推定システム１０は、アニーリングマシン２０によって、複数の第１スピン及び複数の第２スピンの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する。
【００７２】
これにより、本実施形態に係る行動推定システム１０は、第１時刻から第２時刻への時間遷移を表す相互作用を設定することで、各時刻において選択すべき行動のみならず、時間の経過とともにどのように行動を選択すべきかを推定することができる。
【００７３】
なお、開示技術は、上述した各実施形態に限定されるものではなく、開示技術の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記各実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【００７４】
本開示の実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。
【符号の説明】
【００７５】
１０…行動推定システム、２０…アニーリングマシン、２１ａ…第１スピン、２１ｂ…第２スピン、２１ｃ…第３スピン、２２ａ…第１補助スピン、２２ｂ…第２補助スピン、２２ｃ…第３補助スピン、５００…クライアントコンピュータ、５０２…ＣＰＵ、５０４…メモリ、５０６…ユーザインタフェース、５０８…ネットワーク通信インタフェース、５１０…ディスプレイ、５１２…キーボード／マウス、５１４…通信バス、５１６…オペレーティングシステム、５１８…ネットワーク通信モジュール、５２０…アニーリングマシン設定モジュール、５２２…推定モジュール、５３０…クライアントアプリケーション、６００…サーバコンピュータ、６０２…ＣＰＵ、６０４…メモリ、６０６…ユーザインタフェース、６０８…ネットワーク通信インタフェース、６１０…通信バス、６１２…オペレーティングシステム、６１４…ネットワーク通信モジュール、６１６…アニーリングマシン設定モジュール、６１８…推定モジュール
【要約】
【課題】時間の経過とともにどのように行動を選択すべきか推定するシステム、情報処理方法及びプログラムを提供する。
【解決手段】システムは、第１時刻において取り得る複数の行動に対応する複数の第１スピン及び第１時刻より後の第２時刻において取り得る複数の行動に対応する複数の第２スピンをアニーリングマシンに設定し、複数の行動に関する利得を表すように、複数の第１スピンの間の相互作用及び複数の第２スピンの間の相互作用をアニーリングマシンに設定し、第１時刻から第２時刻への時間遷移を表すように、複数の第１スピン及び複数の第２スピンの間の相互作用をアニーリングマシンに設定し、アニーリングマシンによって、複数の第１スピン及び複数の第２スピンの低エネルギー状態を求めることで、第１時刻において取るべき行動及び第２時刻において取るべき行動を推定する、処理を実行する。
【選択図】図１【図１】
0006861309.tif 000007
【図２】
0006861309.tif 000008
【図３】
0006861309.tif 000009
【図４】
0006861309.tif 000010
【図５】
0006861309.tif 000011
【図６】
0006861309.tif 000012