(57)【特許請求の範囲】
【請求項１】
各種装置に出力する最適な物理量を算出するための装置であって、
出力データの各ビットを格子モデルの各格子点にあてはめ、格子モデルの格子点を連結する重みの値であって、センサ信号として取得した取得済みデータの値と、各格子点にあてはめた出力データの各ビットの値との関係性に基づいて設定され、かつ、当該各ビットの値の関係性の強さに応じた値に基づいた格子モデルの特性関数を生成し、
量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、前記生成された特性関数の基底状態における格子点の値を算出させ、
前記格子点の値を出力する
ことを特徴とする最適化装置。
【請求項２】
前記最適化装置は、
制御対象となる装置が有する複数の連結点のそれぞれを動作させるか否かを前記格子モデルの各格子点にあてはめ、前記連結点の接続関係に応じて各格子点を連結し、所定の装置を操作する利用者に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項３】
前記最適化装置は、
利用者が各種別の行動を行うか否かを前記格子モデルの各格子点にあてはめ、各行動間の関連性に応じて各格子点を連結し、前記利用者の生体情報に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項４】
前記最適化装置は、
各種別の感覚を利用者が所望するか否かを前記格子モデルの各格子点にあてはめ、各感覚の関連性に応じて各格子点を連結し、前記利用者が所望する各感覚の強度に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項５】
前記最適化装置は、
利用者がボタンを操作するか否かを前記格子モデルの各格子点にあてはめ、前記利用者が過去に行ったボタン操作の履歴に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項６】
前記最適化装置は、
複数のコンテンツのそれぞれを利用者が閲覧するか否かを前記格子モデルの各格子点にあてはめ、閲覧されたコンテンツの履歴に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項７】
前記最適化装置は、
利用者に所定の生理的状況が起きているか否かを前記格子モデルの各格子点にあてはめ、所定の行動を起こしやすい生理的情報の関連性に応じて各格子点を連結する重みの値を設定した前記格子モデルの特性関数を生成する
ことを特徴とする請求項１に記載の最適化装置。 
【請求項８】
前記最適化装置は、
任意の次元数で各格子点を接続した格子モデルのうち、イジングモデル以外の格子モデルの特定関数を生成する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の最適化装置。 
【請求項９】
各種装置に出力する最適な物理量を算出するための装置が、
出力データの各ビットを格子モデルの各格子点にあてはめ、格子モデルの格子点を連結する重みの値であって、センサ信号として取得した取得済みデータの値と、各格子点にあてはめた出力データの各ビットの値との関係性に基づいて設定され、かつ、当該各ビットの値の関係性の強さに応じた値に基づいた格子モデルの特性関数を生成し、
量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、前記生成された特性関数の基底状態における格子点の値を算出させ、
前記格子点の値を出力する
ことを特徴とする最適化方法。 
【請求項１０】
各種装置に出力する最適な物理量を算出するための装置が有するコンピュータに、
出力データの各ビットを格子モデルの各格子点にあてはめ、格子モデルの格子点を連結する重みの値であって、センサ信号として取得した取得済みデータの値と、各格子点にあてはめた出力データの各ビットの値との関係性に基づいて設定され、かつ、当該各ビットの値の関係性の強さに応じた値に基づいた格子モデルの特性関数を生成し、
量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、前記生成された特性関数の基底状態における格子点の値を算出させ、
前記格子点の値を出力する
処理を実行させることを特徴とする最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適化装置、最適化方法および最適化プログラムに関する。
【背景技術】
【０００２】
近年、光等の電磁波、温度、湿度、音波、電気、磁気、加速度等を取得するセンサが実用化されており、各センサが取得した情報であるセンサデータを用いて、各種の制御が行われている。例えば、各種のセンサが取得したセンサデータを用いて、利用者に提供される情報の生成や提供が行われている。
【０００３】
このようなセンサデータを用いた制御を最適化するには、制御に使用するセンサデータの選択や、選択したセンサデータを制御に反映させる割合の最適化等が求められる。しかしながら、かかる最適化は、制御内容や利用者ごとに異なるため、処理が困難である。
【０００４】
一方で、量子力学的な状態の重ね合わせを用いることで、従来の計算装置では実現できない規模の並列性を実現する量子計算の技術が研究されている。例えば、このような量子計算の技術として、複数の入力を重ね合わせ状態とすることで、所定の条件に対する最適解や入力された情報が有する周期等を従来の計算装置よりも高速に求める技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許５３５４２３３号公報
【非特許文献】
【０００６】
【非特許文献１】「量子力学を使った情報処理」、加藤  豪、人工知能 2014年 05月号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、センサデータを用いた制御を最適化するための量子計算の手法については、これまで提案されていなかった。このため、センサデータを用いた制御の最適化が未だ困難となっている。
【０００８】
本願は、上記に鑑みてなされたものであって、センサデータを用いた制御を最適化する最適化装置、最適化方法および最適化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願に係る最適化装置は、各種装置に出力する最適な物理量を算出するための装置であって、出力を格子モデルの格子点にあてはめ、センサ信号として取得した取得済みデータに基づいて、格子モデルの格子点を連結する重みの値を入力値とした格子モデルの特性関数を生成し、量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、前記生成された特性関数の基底状態における格子点の値を算出させ、前記格子点の値を出力することを特徴とする。
【発明の効果】
【００１０】
実施形態の一態様によれば、センサデータを用いた制御を最適化できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係る最適化処理の一例を示す図である。
【図２】図２は、実施形態に係る最適化装置が有する機能構成の一例を示す図である。
【図３】図３は、実施形態にかかる最適化装置が生成するイジングモデルの一例を説明するための図である。
【図４】図４は、実施形態にかかる量子計算装置が実行する処理の一例を説明するための図である。
【図５】図５は、実施形態に係る最適化装置が実行する処理の一例を説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願に係る最適化装置、最適化方法および最適化プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る最適化装置、最適化方法および最適化プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１３】
〔１．最適化処理〕
まず、図１を用いて、実施形態に係る最適化処理の一例について説明する。図１は、実施形態に係る最適化処理の一例を示す図である。図１では、センサが取得したデータ（以下、「センサデータ」と記載する）に基づいて、利用者に対するサービスの提供や、利用者が使用する装置の制御を行う制御システム１を例に挙げ、サービスの提供や装置の制御を行うためにセンサデータを最適化する最適化処理の一例について説明する。
【００１４】
図１に示すように、制御システム１は、最適化装置１０、複数のセンサ１００〜１０２、制御装置２００とを有する。最適化装置１０は、図示しないネットワーク（例えば、インターネット）を介して、各センサ１００〜１０２および制御装置２００と通信可能に接続される。なお、制御システム１に含まれるセンサ１００〜１０２の数や制御装置２００の台数は、図１に示した例に限られない。
【００１５】
センサ１００〜１０２は、所定の状態を検知する検知器であり、機械的、電磁気的、力学的、熱的、音響的、光学的、化学的な状態を任意の手段により検知可能な装置である。具体例を挙げると、センサ１００〜１０２は、温度センサ、湿度センサ、振動センサ、磁気センサ、照度センサ、加速度センサ、ジャイロセンサ、人感センサ等である。
【００１６】
例えば、センサ１００は、利用者が使用するウェアラブルデバイスに設置されたセンサであり、利用者の脳波、脈拍、筋電、或いは周囲の照度、音量、音波、画像等を取得可能なセンサである。また、センサ１０１は、所定の施設に設置され、人の接近を検出する人感センサである。また、センサ１０２は、所定の施設に設置され、周囲の温度や湿度を検出するセンサである。
【００１７】
各センサ１００〜１０２は、所定の時間間隔で、あるいは、予め設定された状態を検出すると、検出した状態を示すセンサデータを生成し、生成したセンサデータを最適化装置１０に送信する。なお、制御システム１には、図１に示すセンサ以外にも、任意の情報を取得可能なセンサが含まれており、各センサから最適化装置１０へセンサデータが送信されるものとする。また、センサ１００〜１０２は、利用者が使用する移動端末等に設置されたセンサであってもよい。
【００１８】
制御装置２００は、センサデータを用いて利用者に対するサービスの制御や、利用者が使用する装置の制御を行う情報処理装置であり、サーバ装置やクラウドシステム、デジタルサイネージ、利用者が使用する装置の制御を行う制御回路等である。例えば、制御装置２００は、受信したセンサデータを用いて、利用者に対して提供するコンテンツの選択、天気予報等の利用者に対して提供するコンテンツの生成、コンテンツを利用者に対して提供するタイミングの判定等を実行し、実行結果に基づいて、利用者に対するサービスの提供を行う。また、他の例では、制御装置２００は、受信したセンサデータを用いて、装置の制御量や制御タイミングの判定等を実行し、実行結果に基づいて、利用者が使用する装置の制御を行う。
【００１９】
近年、利用可能なセンサの種別や数が増大するに従い、利用者に対するきめ細やかなサービスの提供や、精度の良い装置の制御が実現可能となっている。しかしながら、センサ１００〜１０２が取得するセンサデータには、ノイズが含まれる場合や、制御装置２００が実行する処理に不要なデータが含まれる場合がある。このため、センサデータの数が増大するに従い、制御装置２００が実行する処理において有用なセンサデータを選択する処理や、各センサデータを使用する割合等、センサデータを最適化する処理に要する時間が増大するという問題がある。
【００２０】
そこで、最適化装置１０は、制御装置２００等の各種装置に出力する最適なセンサデータ等の物理量を算出する。より具体的には、最適化装置１０は、その出力を格子モデルの格子点にあてはめ、センサデータに基づいて、格子モデルの格子点を連結する重みの値を入力値とした格子モデルの特性関数を生成する。そして、最適化装置１０は、量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、生成された特性関数の基底状態における格子点の値を算出させ、かかる値を出力する。
【００２１】
例えば、最適化装置１０は、各センサ１００〜１０２から取得したセンサデータに基づいて、格子モデル全体のエネルギーを示す特性関数を生成する。そして、最適化装置１０は、量子揺らぎを用いて特性関数の値が最小値となる基底状態を検索する量子計算の手法を用いて、生成した特定関数が示す格子モデルの基底状態を検索し、格子モデルの基底状態が示すデータを最適化されたデータとして出力する。
【００２２】
具体的には、最適化装置１０は、出力するデータをイジングモデルにおける各格子点にマッピングし、各センサ１００〜１０２から取得したセンサデータに基づいて、イジングモデルにおける格子点と各格子点間の相互作用を示す係数、すなわち、格子点を連結する重みの値にマッピングすることで、かかるイジングモデルのハミルトニアンを生成する。そして、最適化装置１０は、量子アニーリング等、量子揺らぎの特性を用いて計算を行う量子計算装置に、生成したハミルトニアンの値が最小値となる状態、すなわちイジングモデルの基底状態を算出させる。
【００２３】
その後、最適化装置１０は、量子計算装置に算出させたイジングモデルの基底状態からセンサデータを再生し、再生したセンサデータを最適化された出力データとして制御装置２００に出力する。この結果、制御装置２００は、最適化された出力データを用いて、サービスの提供や装置の制御を行うことができる。
【００２４】
以下、図１を用いて、制御システム１による最適化処理の一例を流れに沿って説明する。まず、図１に示した例において、最適化装置１０は、センサ１００〜１０２が生成したセンサデータを取得する（ステップＳ１）。かかる場合、最適化装置１０は、センサデータと出力するデータの条件、すなわち、最適化の条件に基づいて、イジングモデルのハミルトニアンを生成する（ステップＳ２）。
【００２５】
以下、最適化装置１０がセンサデータをイジングモデルにマッピングする処理の一例について説明する。なお、以下の説明では、イジングモデルにセンサデータをマッピングする処理の一例について説明するが、最適化装置１０は、ハイゼンベルクモデルやＸＹモデル等、任意の次元の格子モデル（すなわち、ｎ次元ベクトルモデル）に対してセンサデータをマッピングしてよい。
【００２６】
例えば、イジングモデルのハミルトニアンは、以下の式（１）によって示される。ここで、式（１）に示すＨとは、イジングモデルの全エネルギーを示すハミルトニアンであり、Ｓｉは、格子点ｉの値であり、Ｓｊは格子点ｊの値であり、Ｊは格子点間の相互作用を示す係数である。なお、ＳｉとＳｊとは、±１の値を取る。
【００２７】
【数１】
0006377023.tif 000002
【００２８】
ここで、Ｊの値が格子点間によって異なるとすると、ハミルトニアンは、以下の式（２）で表すことができる。
【００２９】
【数２】
0006377023.tif 000003
【００３０】
ここで、最適化装置１０は、出力する出力データを、イジングモデルにおける各格子点の値「１」または「−１」にマッピングする。例えば、最適化装置１０は、格子点の値（例えば、Ｓｉ）が「１」である場合は、かかる格子点にマッピングしたデータの値を「１」とし、格子点の値が「−１」である場合は、データの値を「０」に設定する。そして、最適化装置１０は、取得したセンサデータに基づいて、各格子間の相互作用を示す係数の値を設定する。
【００３１】
例えば、あるセンサデータが「０」である場合に、２つの格子点にマッピングしたデータの値を同一の値とし、あるセンサデータが「１」である場合に、２つの格子点にマッピングしたデータの値を異なる値とする条件をイジングモデルで再現する場合、最適化装置１０は、以下の設定を行う。すなわち、最適化装置１０は、あるセンサデータが「０」である場合は、２つのデータがマッピングされる格子点間の相互作用を示す係数の値Ｊを負の値に設定し、あるセンサデータが「１」である場合は、かかる２つの格子点間の相互作用を示す係数の値Ｊを正の値に設定する。
【００３２】
また、最適化装置１０は、出力データ間の値が同一であるか異なる値であるかの条件の相対的な強さに応じて、係数の値Ｊの絶対値の値を変更する。例えば、最適化装置１０は、出力データＡおよび出力データＢの値を同一にするという条件を、他の条件よりも強くしたい場合は、出力データＡおよび出力データＢがマッピングされる格子点間の相互作用を示す係数の値Ｊとして、最も小さい値を設定する。
【００３３】
このように、最適化装置１０は、出力データをイジングモデルの格子点にマッピングし、センサデータと、出力データの条件とに基づいて、各格子点間の相互作用を示す係数の値を設定したイジングモデルのハミルトニアンを生成する。すなわち、最適化装置１０は、センサデータと、出力データの条件とに基づく最適化条件を格子点間の相互作用を示す係数にマッピングする。
【００３４】
ここで、最適化装置１０が生成したハミルトニアンを有するイジングモデルには、系全体のエネルギーを最小化する基底状態が存在する。かかる基底状態においては、各格子点の値が、各格子点間の相互作用として設定された条件を可能な限り実現する値、すなわち最適化の条件に対して最適化された値となる。しかしながら、かかる基底状態を古典的な計算により算出するには、時間がかかる。
【００３５】
そこで、最適化装置１０は、量子揺らぎを用いた量子計算を行う量子計算装置に、生成したハミルトニアンを有するイジングモデルの基底状態を検索させる。例えば、最適化装置１０は、任意の接続関係を再現可能な複数の量子ビットからなる量子計算装置を有する。そして、最適化装置１０は、量子計算装置の各量子ビットにイジングモデルの各格子点をマッピングさせ、各量子ビット間の相互作用に、イジングモデルの各格子点間の相互作用を示す係数をマッピングさせる。そして、最適化装置１０は、量子アニーリングの技術を用いて、イジングモデルをマッピングした系の基底状態を検索させる。
【００３６】
例えば、量子計算装置は、各量子ビットの値が一様な重ね合わせ状態から、生成したハミルトニアンが示すイジングモデルへと時間発展させることで、かかるイジングモデルの基底状態、すなわち、センサデータと、出力データの条件とに基づいて最適化された出力データがマッピングされたイジングモデルを検索する（ステップＳ３）。そして、最適化装置１０は、量子計算装置が検索した基底状態のイジングモデルの各格子点の値から、最適化された出力データを逆マッピングし、逆マッピングした出力データを最適化された出力データとして制御装置２００に出力する（ステップＳ４）。
【００３７】
かかる場合、制御装置２００は、最適化装置１０から受信した出力データを用いて、利用者に対するサービスの提供や装置の制御を行う（ステップＳ５）。例えば、制御装置２００は、受信したセンサデータからニュース、天気予報、利用者の体調予測等のコンテンツを生成し、生成したコンテンツを利用者に提供する（ステップＳ６）。また、制御装置２００は、受信したセンサデータに基づいて、ロボットアームのモータ等や義手、義足等の医療用器具の動作等を制御する（ステップＳ７）。
【００３８】
なお、最適化装置１０が生成したイジングモデルの基底状態を検索する処理は、上述した説明に限定されるものではない。例えば、量子計算においては、格子モデル等の断熱モデルと、任意の量子回路を用いた回路モデルとは等価である。このため、量子アニーリングを用いた量子計算は、連続的に量子ゲートを作用させる量子回路と等価であるため、最適化装置１０は、生成したハミルトニアンが示すイジングモデルを、量子ゲートを組み合わせた量子回路を再現する任意のハードウェアによって最適化すればよい。例えば、最適化装置１０は、核磁気共鳴、量子ドット、ジョセフソン素子、イオントラップ、光子等を用いて量子計算を行う量子計算装置を用いて、生成したイジングモデルの基底状態を検索すればよい。
【００３９】
また、最適化装置１０がセンサデータと出力するデータの条件とをイジングモデルにマッピングする手法については、上述した処理に限定されるものではない。すなわち、最適化装置１０は、センサデータと出力するデータの条件とを適切にイジングモデルへとマッピングすることができるのであれば、任意の手法によりマッピングを行う事ができる。
【００４０】
例えば、最適化装置１０は、出力するデータと対応する格子点を設定し、センサデータと、出力するデータの条件基づいて、格子点間の相互作用を示す係数を設定したイジングモデルを生成し、生成したイジングモデルの基底状態を検索させる。そして、最適化装置１０は、検索された基底状態におけるイジングモデルのうち、最適化されたデータと対応する格子点の値を最適化されたデータとして出力してもよい。
【００４１】
このように、最適化装置１０は、その出力を格子モデルの格子点にあてはめ、センサデータと、出力するデータの条件とに基づいて、格子モデルの格子点を連結する重みの値を入力値とした格子モデルの特性関数を生成する。そして、最適化装置１０は、量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、生成された特性関数の基底状態における格子点の値を算出させ、かかる値を出力する。この結果、最適化装置１０は、センサデータの最適化に複雑な条件が設定される場合にも、量子計算を用いてセンサデータの最適化を行うことができるので、センサデータの最適化に要する時間を短縮することができる。
【００４２】
〔２．マッピングの一例〕
次に、最適化装置１０がセンサデータと、出力するデータの条件とに基づいて、格子モデルの格子点を連結する係数を設定する処理の具体例について説明する。
【００４３】
〔２−１．ロボットの制御〕
例えば、義肢ロボットや義手ロボット等のロボットは、部品同士の連結点である関節部分にモーター等の可動部が備えられ、各可動部を動作することで、手や腕等の動きを再現している。しかしながら、義手ロボットの指等は、ある部分を稼働させる可動部が他の可動部によって動く部品上に設置されている場合がある。このため、手や腕の動きを適切に再現するためには、可動部同士の連結関係、すなわち、関節のつながりを考慮する必要がある。
【００４４】
そこで、最適化装置１０は、ロボットの動作を最適化するデータを出力してもよい。例えば、最適化装置１０は、ロボットの各可動部を動作させるか否かを各格子点にマッピングする。例えば、最適化装置１０は、ある格子点の値が「１」である場合は、かかる格子点と対応する可動部を動作させ、かかる格子点の値が「−１」である場合は、かかる格子点と対応する可動部を動作させないようにする。また、最適化装置１０は、関節のつながりに応じて各格子点間を連結する。例えば、最適化装置１０は、第１の可動部によって動く第２の可動部が存在する場合は、第１の可動部がマッピングされる格子点と、第２の可動部がマッピングされる格子点とを連結する。そして、最適化装置１０は、ロボットを操作する利用者の生体情報等、利用者から取得したセンサデータに基づいて、各格子点間を連結する重みの値を設定する。
【００４５】
このような処理を行った場合は、最適化装置１０は、利用者から取得したセンサデータに基づいて、各格子点の値、すなわち、ロボットの可動部を動作させるか否かを最適化することができる。このため、最適化装置１０は、ロボットの動作を最適化することができる。
【００４６】
〔２−２．ユーザの行動〕
また、最適化装置１０は、制御装置２００に、ユーザが心地よいと判断する行動の組み合わせを最適化結果として出力してもよい。例えば、最適化装置１０は、歩く、走る、止まる、店舗に立ち寄る等といった各種の行動を行うか否かを格子モデルの各格子点にマッピングする。例えば、最適化装置１０は、ある格子点の値が「１」である場合は、かかる格子点と対応する行動を行い、かかる格子点の値が「−１」である場合は、かかる格子点と対応する行動を行なわない旨の出力データを出力するものとする。
【００４７】
また、最適化装置１０は、各種の行動が時系列的に行われるか否か、各種の行動が他の行動を想起させるか否か等といった各行動の関連性に応じて各格子点を連結する。そして、最適化装置１０は、利用者の過去のバイオリズム等、利用者から取得した生体情報等のセンサデータに基づいて、各格子点間を連結する重みの値を設定する。
【００４８】
このような処理を行った場合は、最適化装置１０は、利用者から取得した生体情報に基づいて、利用者が心地よいと感じる行動のリストを最適値として出力することができる。このため、最適化装置１０は、利用者が心地よいと感じる行動を提案させることができる。
【００４９】
〔２−３．感覚の組み合わせ〕
また、最適化装置１０は、制御装置２００に、ユーザが心地よいと判断する感覚の組み合わせを最適化結果として出力してもよい。例えば、最適化装置１０は、利用者が好む音源の組み合わせを最適化結果として出力してもよい。
【００５０】
例えば、最適化装置１０は、音源の種類や楽器の種類、音の高低、音の強弱等、各種の音を利用者が所望するか否か（例えば「１」であるなら聴く、「−１」であるなら聴かない等）を各格子点にマッピングする。また、最適化装置１０は、各種の音の時系列的、若しくは性質的な関連性に応じて各格子点を連結する。そして、最適化装置１０は、利用者が好む楽曲の音の種別等のセンサデータに基づいて、各格子点間を連結する重みの値を設定する。
【００５１】
このような処理を行った場合は、最適化装置１０は、利用者が好む楽曲の音の種別等に基づいて、利用者が心地よいと感じる音源のリストを最適値として出力することができる。このため、最適化装置１０は、利用者が心地よいと感じる音源の組み合わせを提案させることができる。なお、最適化装置１０は、音源だけではなく、視覚や嗅覚、味覚、触覚等でも同様の処理を実行することで、利用者が心地よいと感じる視覚の組み合わせや嗅覚の組み合わせを提案させてもよい。
【００５２】
〔２−４．利用者の操作の予測〕
また、最適化装置１０は、制御装置２００に、予測される利用者の操作内容を最適化結果として出力してもよい。例えば、最適化装置１０は、リモコンのボタン等、利用者が操作対象とする各操作対象を操作するか否か（例えば「１」であるならボタンを押す、「−１」であるならボタンを押さない等）を各格子点にマッピングする。また、最適化装置１０は、各操作対象の操作順序にルールが存在する場合には、かかるルールに基づいて、各格子点を連結する。
【００５３】
例えば、最適化装置１０は、第１のボタンを押した後で第２のボタンを押すことがない場合は、第１のボタンをマッピングした格子点と第２のボタンをマッピングした格子点とを接続しない。そして、最適化装置１０は、利用者の過去のボタン操作の履歴から測定したセンサデータに基づいて、各格子点間を連結する重みの値を設定する。
【００５４】
このような処理を行った場合は、最適化装置１０は、利用者が今後操作すると予測される操作対象のリストを最適値として出力することができる。このため、最適化装置１０は、予測される利用者の操作内容を最適化結果として出力できる。
【００５５】
〔２−５．利用者の操作の予測〕
また、最適化装置１０は、制御装置２００に、利用者が閲覧すると予測されるコンテンツを最適化結果として出力してもよい。例えば、最適化装置１０は、広告、動画、音楽、ウェブページ等、各コンテンツを閲覧するか否か（例えば「１」であるならそのコンテンツを利用者が閲覧し、「−１」であるなら閲覧しない等）を各格子点にマッピングする。そして、最適化装置１０は、利用者が各コンテンツを閲覧した順序や種別に応じて、各格子点間を連結する重みの値を設定する。このような処理を行った場合は、最適化装置１０は、利用者が閲覧すると予測されるコンテンツを最適化結果として出力することができる。
【００５６】
〔２−６．利用者の生理的状況〕
また、最適化装置１０は、制御装置２００に、利用者が最も消費行動を起こしてくれるであろう生理的状況のパターンを最適化結果として出力してもよい。例えば、最適化装置１０は、利用者の感情や、発汗、発熱等の利用者の身体的な状況等が発生しているか否か（例えば、「１」であるなら対応する生理的状況が発生しており、「−１」であれば発生していない等）を各格子点にマッピングする。そして、最適化装置１０は、利用者が商品の購入や店舗へ向かった際に取得された生体情報に基づいて、各格子点間を連結する重みの値を設定する。このような処理を行った場合は、最適化装置１０は、利用者が消費行動を起こしやすい生理的な状況を最適化結果として出力することができる。
【００５７】
〔３．最適化装置の構成〕
次に、図２を用いて、実施形態に係る最適化装置１０の構成について説明する。図２は、実施形態に係る最適化装置が有する機能構成の一例を示す図である。図２に示すように、最適化装置１０は、取得部１１、生成部１２、量子計算装置１３、出力部１７を有する。また、量子計算装置１３は、状態再現部１４、操作部１５、観測部１６を有する。また、状態再現部１４は、複数の量子ビット１４ａ〜１４ｄを有する。
【００５８】
取得部１１は、センサ１００〜１０２からセンサデータを取得する。そして、取得部１１は、取得したセンサデータを生成部１２に出力する。
【００５９】
生成部１２は、出力データをイジングモデルの格子点にあてはめ、センサデータと、出力するデータの条件とに基づいて、格子モデルの格子点を連結する重みの値を入力値としたイジングモデルのハミルトニアンを生成する。例えば、生成部１２は、出力データをイジングモデルの各格子点にマッピングし、出力データ同士の関連性に基づいて、各格子点を接続する。そして、生成部１２は、センサ１００〜１０２が取得したセンサデータの値に基づいて、イジングモデルの各格子点を連結する重みの値、すなわち、イジングモデルにおける格子点間の相互作用を示す係数の値を設定する。
【００６０】
例えば、図３は、実施形態にかかる最適化装置が生成するイジングモデルの一例を説明するための図である。なお、図３に示す例では、３つのセンサデータを、格子点Ｓｉ、Ｓｊ、Ｓｋにマッピングする処理の一例について記載した。例えば、生成部１２は、格子点Ｓｉに出力データｉをマッピングし、Ｓｊに出力データｊをマッピングし、Ｓｋに出力データｋをマッピングする。また、生成部１２は、出力データｉと出力データｊとが関連性を有する場合は、格子点ＳｉとＳｊとを連結する。すなわち、生成部１２は、ｊｉｊの値を設定対象とする。一方、生成部１２は、出力データｉと出力データｊとが関連性を有さない場合は、ｊｉｊの値を設定しない。すなわち、生成部１２は、格子点ＳｉとＳｊとの間の連結を切断した状態に設定する。
【００６１】
続いて、生成部１２は、センサデータの値に基づいて、格子点Ｓｉ、Ｓｊの間の相互作用を示す係数の値Ｊｉｊと格子点Ｓｊ、Ｓｋの間の相互作用を示す係数の値Ｊｊｋを設定する。例えば、生成部１２は、格子点Ｓｉにマッピングしたセンサデータと格子点Ｓｊにマッピングしたセンサデータとの値を同じにする場合は、負の値をＪｉｊの値に設定し、格子点Ｓｉにマッピングしたセンサデータと格子点Ｓｊにマッピングしたセンサデータとの値を異なる値にする場合は、正の値をＪｉｊの値に設定する。
【００６２】
かかる係数の値の大きさや正負の符号は、取得されたセンサデータの種別や値により設定される。例えば、生成部１２は、第１のコンテンツを格子点Ｓｉにマッピングし第２のコンテンツを格子点Ｓｊにマッピングする。そして、生成部１２は、利用者からある生体情報が取得された際に、第１のコンテンツまたは第２のコンテンツのいずれかを表示させる場合は、かかる生体情報を取得するセンサのセンサデータが「１」であるならば、係数ｊｉｊの値を正の値に設定する。
【００６３】
また、生成部１２は、隣接する格子点間の相互作用のみならず、格子点Ｓｉ、Ｓｋの間等、離れた格子点間の相互作用を示す係数の値についても設定してもよい。そして、生成部１２は、格子点の値と格子点間の相互作用を示す係数の値とを設定したイジングモデル、すなわち、式（２）で示されるイジングモデルのハミルトニアンを量子計算装置１３に出力することで、イジングモデルの基底状態を検索させる。
【００６４】
なお、生成部１２は、出力データの条件として、任意の条件を採用可能である。すなわち、生成部１２は、出力データの条件を、イジングモデルにおける各格子点間の値を、どれくらいの確率で一致させるか、若しくは、どれくらいの確率で異なる値にするかいう条件に置き換えればよい。
【００６５】
図２に戻り、説明を続ける。量子計算装置１３は、量子計算を用いて、生成部１２が生成したハミルトニアンが示すイジングモデルの基底状態を検索する装置であり、いわゆる量子コンピュータである。例えば、量子計算装置１３は、複数の値を重ね合わせ状態で保持することができる複数の量子ビット１４ａ〜１４ｄを有し、各量子ビット１４ａ〜１４ｄを用いてイジングモデルの状態を再現可能な状態再現部１４を有する。
【００６６】
このような量子計算装置１３の操作部１５は、生成部１２が生成したハミルトニアンを受付けると、状態再現部１４が有する各量子ビット１４ａ〜１４ｄと、各量子ビット１４ａ〜１４ｄ間の接続係数とを制御することにより、生成部１２から受付けたハミルトニアンが示すイジングモデルの基底状態を量子的に算出する。
【００６７】
例えば、量子ビットは、以下の式（３）で示される状態に設定されうる。式（３）に示す状態の量子ビットを観測した場合、値「０」を観測する確率は、αの絶対値の累乗であり、値「１」を観測する確率は、βの絶対値の累乗となる。
【００６８】
【数３】
0006377023.tif 000004
【００６９】
ここで、式（３）に示すαとβとは、以下の式（４）を満たす複素数である。
【００７０】
【数４】
0006377023.tif 000005
【００７１】
まず、操作部１５は、初期状態として、各量子ビット１４ａ〜１４ｄに対して一様な状態を設定する。例えば、操作部１５は、各量子ビット１４ａ〜１４ｄに対し、以下の式（５）に示す状態を設定する。式（５）に示す状態が設定された場合、各量子ビット１４ａ〜１４ｄをそれぞれ個別に観測すると、０または１が同じ確率で観測されることとなる。
【００７２】
【数５】
0006377023.tif 000006
【００７３】
そして、操作部１５は、初期状態から、生成部１２が生成したハミルトニアンが示す状態へと各量子ビット１４ａ〜１４ｄの状態を時間発展させることで、生成部１２が生成したハミルトニアンが示すイジングモデルの基底状態を検索する。
【００７４】
例えば、操作部１５は、Ｊｉｊの値に基づいて、各量子ビット間の相互作用を設定する。そして、操作部１５は、量子ビット１４ａの状態を時間発展させる。上述した時間発展が十分に行われた場合、各量子ビット１４ａ〜１４ｄの状態は、生成部１２が生成したハミルトニアンが示すイジングモデルの基底状態となる。例えば、量子ビット１４ａの状態が式（３）で示される場合、時間発展によりαとβとの値が、Ｊｉｊの値に基づいて徐々に変化する。そして、観測部１６は、時間発展された各量子ビット１４ａ〜１４ｄの状態を観測することで、イジングモデルの基底状態を観測できる。そして、観測部１６は、特定したイジングモデルの基底状態、すなわち、観測した際における各量子ビット１４ａ〜１４ｄの値を出力部１７に出力する。
【００７５】
ここで、図４を用いて、量子計算装置１３が実行する処理の概念を説明する。図４は、実施形態にかかる量子計算装置が実行する処理の一例を説明するための図である。なお、図４に示す例では、ハミルトニアンの値を縦軸とし、各格子点の値の組み合わせを横軸とした上で、生成部１２が生成したイジングモデルにおけるハミルトニアンの値を、各格子点の値の組み合わせ毎に、実線で示した。
【００７６】
例えば、量子計算装置１３は、各量子ビット１４ａ〜１４ｄの値を取りうる値の重ね合わせ状態とする。この結果、量子計算装置１３は、図４中の点線丸印に示すように、イジングモデルにおける各格子点の値の全組み合わせを再現する。そして、量子計算装置１３は、図４中の点線矢印に示すように、各量子ビット１４ａ〜１４ｄの状態を、生成部１２が生成したイジングモデルのハミルトニアンが示す状態へと時間発展させることで、格子点間の値の各組み合わせにおけるハミルトニアンの値を再現する。かかる処理は、各量子ビット１４ａ〜１４ｄを量子状態に保ったままで行われる。
【００７７】
ここで、ハミルトニアンの値が最小の値を取る状態は、系の中で最も安定した状態である。このため、量子状態を保ったままで十分に時間発展させた各量子ビット１４ａ〜１４ｄを観測した場合、図４に示すように、ハミルトニアンの値が最小の値となる状態ωが観測される可能性が高い。そこで、量子計算装置１３は、量子状態を保ったままで十分に時間発展させた各量子ビット１４ａ〜１４ｄの値を観測することで、ハミルトニアンの値が極小値に陥ることなく、最小となるイジングモデルの各格子点の値を特定する。
【００７８】
図２に戻り、説明を続ける。出力部１７は、観測部１６が観測した各量子ビット１４ａ〜１４ｄの値を受付けると、かかる値に基づいて、最適化された出力データを出力する。例えば、出力部１７は、各量子ビット１４ａ〜１４ｄの値を、各量子ビット１４ａ〜１４ｄと対応するイジングモデルの格子点の値とする。そして、出力部１７は、イジングモデルの各格子点から出力データを逆マッピングすることで、最適化されたデータを取得し、取得したデータを制御装置２００に出力する。
【００７９】
〔４．最適化装置が実行する処理の流れ〕
次に、図５を用いて、実施形態に係る最適化装置１０が実行する処理の流れについて説明する。図５は、実施形態に係る最適化装置が実行する処理の一例を説明するための図である。まず、最適化装置１０は、センサ１００〜１０２からセンサデータを取得する（ステップＳ１０１）。また、最適化装置１０は、出力データを出力するデータの条件とに基づいて、センサデータの最適化問題をマッピングしたイジングモデルを生成する（ステップＳ１０２）。より具体的には、最適化装置１０は、その出力を格子モデルの格子点にあてはめ、センサデータと、出力するデータの条件とに基づいて、格子モデルの格子点を連結する重みの値を入力値とした格子モデルの特性関数を生成する。
【００８０】
そして、最適化装置１０は、量子計算を用いて、イジングモデルの基底状態を量子計算装置１３に検索させる（ステップＳ１０３）。また、最適化装置１０は、イジングモデルの基底状態を取得する（ステップＳ１０４）。そして、最適化装置１０は、基底状態を逆マッピングしたデータを最適化結果として出力し（ステップＳ１０５）、処理を終了する。
【００８１】
〔５．変形例〕
上述した実施形態に係る最適化装置１０は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の最適化装置１０の他の実施形態について説明する。
【００８２】
〔５−１．イジングモデルについて〕
なお、上述した最適化装置１０は、イジングモデルの各格子点に出力データをマッピングし、センサデータに基づいて各格子点間を連結する重みの値を設定した。しかしながら、実施形態は、これに限定されるものではない。例えば、最適化装置１０は、イジングモデル以外のモデルに出力データをマッピングし、センサデータに基づいて出力データ同士を連結する重みの値を設定してもよい。このような処理を実行した場合は、最適化装置１０は、「＋１」や「−１」といった２値の値ではなく、連続値を求めることができる。
【００８３】
〔５−２．ハードウェア構成について〕
上述した最適化装置１０は、ハミルトニアンが示すイジングモデルの基底状態を検索する量子計算装置１３を有していた。しかしながら、実施形態は、これに限定されるものではない。例えば、最適化装置１０は、取得部１１、生成部１２、出力部１７のみを有し、外部に設置された量子計算装置１３に基底状態を検索させてもよい。
【００８４】
また、最適化装置１０が有する各機能構成のうち、取得部１１、生成部１２、出力部１７が発揮する処理は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。また、取得部１１、生成部１２、出力部１７が発揮する処理は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、最適化装置１０内部の記憶装置に記憶されている最適化プログラムがＲＡＭ（Random  Access  Memory)を作業領域として実行されることにより実現されてもよい。
【００８５】
〔６．効果〕
このように、最適化装置１０は、最適化装置１０は、その出力を格子モデルの格子点にあてはめ、センサデータと、出力するデータの条件とに基づいて、格子モデルの格子点を連結する重みの値を入力値とした格子モデルの特性関数を生成する。そして、最適化装置１０は、量子揺らぎを用いて特性関数の値が最小値となる格子モデルの基底状態を求める量子計算装置に、生成された特性関数の基底状態における格子点の値を算出させ、かかる値を出力する。このため、最適化装置１０は、センサデータの最適化に複雑な条件が設定される場合にも、量子計算を用いてセンサデータの最適化を行うことができる。
【００８６】
また、最適化装置１０は、ロボットや義手、義足等の医療装置等の各可動部を動作させるか否かを各格子点にマッピングし、関節のつながりに応じて各格子点間を連結し、利用者から取得したセンサデータに基づいて、各格子点間を連結する重みの値を設定する。このため、最適化装置１０は、ロボットの動作を最適化することができる。
【００８７】
また、最適化装置１０は、各種の行動を行うか否かを格子モデルの各格子点にマッピングし、各行動の関連性に応じて各格子点を連結し、利用者から取得した生体情報等のセンサデータに基づいて、各格子点間を連結する重みの値を設定する。このため、最適化装置１０は、利用者が心地よいと感じる行動を提案させることができる。
【００８８】
また、最適化装置１０は、各種の音等の感覚を利用者が所望するか否かを各格子点にマッピングし、各感覚の関連性に応じて各格子点を連結し、利用者が好む感覚の種別等のセンサデータに基づいて、各格子点間を連結する重みの値を設定する。このため、最適化装置１０は、利用者が心地よいと感じる感覚の組み合わせを提案させることができる。
【００８９】
また、最適化装置１０は、各操作対象を操作するか否かを各格子点にマッピングし、利用者の過去のボタン操作の履歴から測定したセンサデータに基づいて、各格子点間を連結する重みの値を設定する。このため、最適化装置１０は、予測される利用者の操作内容を最適化結果として出力できる。
【００９０】
また、最適化装置１０は、各コンテンツを閲覧するか否かを各格子点にマッピングし、利用者が各コンテンツを閲覧した順序や種別に応じて、各格子点間を連結する重みの値を設定する。このため、最適化装置１０は、利用者が閲覧すると予測されるコンテンツを最適化結果として出力することができる。
【００９１】
また、最適化装置１０は、利用者に所定の生理的状況が起きているか否かを各格子点にマッピングし、所定の行動を起こしやすい生理的情報の関連性に応じて、各格子点間を連結する重みの値を設定する。このような処理を行った場合は、最適化装置１０は、利用者が消費行動等、所定の行動を起こしやすい生理的な状況を最適化結果として出力することができる。
【００９２】
また、最適化装置１０は、イジングモデル以外の格子モデルのハミルトニアンを生成する。このため、最適化装置１０は、連続値を有する出力データを求めることができる。
【００９３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９４】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【００９５】
１  制御システム
１０  最適化装置
１１  取得部
１２  生成部
１３  量子計算装置
１４  状態再現部
１４ａ〜１４ｄ  量子ビット
１５  操作部
１６  観測部
１７  出力部
１００〜１０２  センサ
【図１】
0006377023.tif 000007
【図２】
0006377023.tif 000008
【図３】
0006377023.tif 000009
【図４】
0006377023.tif 000010
【図５】
0006377023.tif 000011