(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-16
(45)【発行日】2022-03-25
(54)【発明の名称】量子コンピュータを使用して3SATを解くためのシステムおよび方法
(51)【国際特許分類】
G06N 10/00 20220101AFI20220317BHJP
【FI】
G06N10/00
(21)【出願番号】P 2018532530
(86)(22)【出願日】2016-09-12
(86)【国際出願番号】 US2016051376
(87)【国際公開番号】W WO2017044974
(87)【国際公開日】2017-03-16
【審査請求日】2019-09-03
(32)【優先日】2016-09-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2015-11-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2015-09-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518081957
【氏名又は名称】ザカリー・ビー.・ウォルターズ
(74)【代理人】
【識別番号】100140109
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】ザカリー・ビー.・ウォルターズ
【審査官】久保 光宏
(56)【参考文献】
【文献】米国特許出願公開第2005/0167658(US,A1)
【文献】米国特許出願公開第2009/0015447(US,A1)
【文献】Antonio Ledda,"Logical and algebraic structures from Quantum Computation",[online], UNIVERSITA DEGLI STUDI DI CAGLIARI,2008年,第1~67頁,[令和3年3月16日検索], インターネット, <URL: https://core.ac.uk/display/35314941?recSetID=>.
【文献】Graciela Domenech, et al.,"Fuzzy propositional logic associated with quantum computational gates",arXiv:quant-ph/0612211v1,[online], arXiv (Cornell University),2006年12月26日,第1~41頁,[令和3年3月16日検索], インターネット, <URL: https://arxiv.org/abs/quant-ph/0612211v1>.
【文献】宮野健次郎(外1名),「量子コンピュータ入門」,第1版,日本,株式会社 日本評論社,2008年03月25日,第49~68,76~84頁,ISBN: 978-4-535-78479-6.
【文献】富田 章久,「半古典的量子フーリエ変換 ショアのアルゴリズムの後半部を実現」,数理科学,日本,株式会社 サイエンス社,2004年06月01日,第42巻, 第6号(2004年6月号),第20~24頁,ISSN: 0386-2240.
【文献】中原幹夫,「量子計算入門」,物性研究,日本,物性研究刊行会,2005年03月20日,Vol.83, No.6,第699~786頁,[online], [令和3年3月22日検索], インターネット, <URL: http://hdl.handle.net/2433/110153>,ISSN: 0525-2997.
【文献】齋藤 暁,「量子緩和を利用した量子DA変換アルゴリズム」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2014年08月26日,Vol.114, No.199,第43~49頁,ISSN: 0913-5685.
(58)【調査した分野】(Int.Cl.,DB名)
G06N10/00
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
非可逆的な量子計算を実行するための方法であって
、
各々が複数の状態を有する複数のビットを設けるステップと、
非可逆的な論理演算の出力を、
制御された回転演算子による演算を含む量子計算により、前記複数のビットのうちの第1のビットの状態においてエンコードするステップと、
前記第1のビットの状態を用いて、1つまたは複数の他のビットの状態を制御するステップと、
前記第1のビットの状態を記憶するか、削除するか、または、修正するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本特許出願は、2015年11月2日に出願された米国仮特許出願第62/249,438号の利益を主張する、2016年9月12日に出願された米国特許出願第15/263,240号の利益を主張し、また、2015年9月11日に出願された米国仮特許出願第62/217,432号の利益も主張し、これらはともに、参照によって本明細書に組み込まれる。
【0002】
[0002]本発明は、一般に、コンピュータ計算に関し、特に、量子コンピュータ計算に関する。
【背景技術】
【0003】
[0003]量子コンピュータは、有限量子力学系に対して、所望される特性を有する状態を占有させるために、有限量子力学系に対して、物理的な変換を実行することによってコンピュータ計算問題を解く。1または0の値を決定論的に得る必要のある古典的ビットに対する演算とは異なり、量子コンピュータは、任意の2つの状態の重ね合わせに存在することができる量子力学的な「キュービット」に対して演算する。量子コンピュータは、いくつかのコンピュータ計算問題、とりわけ重要なのは、他の量子系のシミュレーションを、古典的なコンピュータよりもはるかに高速に解くことができることが知られている。しかしながら、著しいスピードアップが可能である問題の類は、まだ知られていない。
【0004】
[0004]クローズ(clause)あたり3変数であるブーリアン充足可能性問題、すなわち3SATは、連言標準形、すなわち「CNF」における命題論理式
(x∨x2∨¬x4)∧(x2∨¬x3∨¬x5)Λ... (1)
が真であると評価する方式で真または偽になるブーリアン変数x1,x2,x3...のセットの割当からなる。ここで、同一クローズ内の変数(xn)またはその否定(¬xn)は、OR(∨)演算子とリンクされる一方、異なるクローズは、AND(∧)演算子によってリンクされる。割当は、この問題を解くために、すべてのクローズを満たさねばならない。
【0005】
[0005]3SATは、NP完全となることがコンピュータ科学においてよく知られている[8,4]。これは、その解が、多項式時間(クラス「NP」)においてチェックされることができる任意の問題が、多項式時間において、3SAT問題へ単純化されることができる特性を有することを意味する。したがって、3SATのための多項式時間解は、多項式時間におけるNPにおける任意の問題を解くためにも同様に使用されることができるであろう。古典的なコンピュータにおけるアルゴリズムは、多項式時間におけるNP完全問題を解くことができないと信じられるが証明されておらず、これが真であるか否かの疑問は、数学における最も有名な問題のうちの1つである[3]。
【0006】
[0006]ここで、単純化は、第2のインスタンスに対する解が、第1のインスタンスの解へマッピングされることができる方式で、1つの問題のインスタンスからの、別の問題のインスタンスへのマッピングからなる。コンピュータ計算問題は、問題パラメータのリストに加えて、問題に対する解が満たさねばならない特性のステートメントからなる[4]。問題のインスタンスは、すべての問題パラメータのための特定の値を指定することによって取得される。
【0007】
[0007]コンピュータ問題のための解法アルゴリズムは、特定のインスタンスが解を有するか否かを判定するか、または、何も存在しないが必ずしも解を生成する必要はないことを証明する。建設的な解法アルゴリズムは、いくつかの解が存在すると仮定して、少なくとも1つの有効な解を生成する。確率論的解法アルゴリズムは、従来、通常は1/3であると選択される、0と1/2との間のある値εよりも大きくない誤差の確率を有する解が存在するか否かを判定する。確率論的アルゴリズムは、与えられたインスタンスが、解を有するかまたは有さない確実性を高めるために、何度も実行されることができる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
[0008]本発明は、量子力学系において、非可逆的な物理的な変化を引き起こす新たなタイプの量子コンピュータと、論理的に意味のある方式で、この系の状態を変化させる、物理的な変換のセット、すなわち「ゲート」と、量子確率を、興味のあるいくつかの3SAT問題を解決することができない物理的な状態から、興味のあるいくつかの3SAT問題を解決する状態または状態のセットへ転送させるアルゴリズムとを備える。少なくとも1つの解状態が存在すると仮定すると、アルゴリズムは、総非解確率を、指数関数的に減少させ、これによって、解状態を占有する確率は、恣意的に1に近くなる。
【0009】
[0009]新たなタイプの量子コンピュータ、それが活用する量子ゲート、および、解状態における確率を集中させるためのアルゴリズムはすべて、オリジナルの波動関数を復元する明確に定義された逆演算を有するという観点において可逆的でなければならない、コンピュータによって実行される任意の演算を保持する従来の量子コンピュータ計算の主義から発している。明確化のために、新たなタイプのコンピュータは、「非可逆的」量子コンピュータと呼ばれるであろう。従来の量子コンピュータにおけるように、1つの波動関数を別の波動関数へマッピングすることではなく、非可逆的量子コンピュータは、1つの密度行列を別の密度行列へマッピングする。名前によって示されるように、このマッピングは、明確に定義された逆演算を有しないことがあり得る。
【0010】
[0010]この目的を達成するための一般的なアプローチは、ポピュレーションを、任意の初期状態から、興味のあるいくつかの3SAT問題を満たす状態または状態のセットへ、非コヒーレントに転送させることである。これは、ポピュレーションを、個々の論理的なクローズを達成しない状態から、これらクローズを満たす状態へ転送させるデシメーションゲート、実質的には、誤り訂正ループを構築することによって達成される。疑似コードでは、このアルゴリズムは、
for each clause in the problem do
Encode the satisfaction of the clause in a temporary scratch bit
if the clause is not satisfied then
Use the scratch bit to perform a controlled rotation of the variables in the clause
end if
Clean up temporary scratch bits by measurement.
end for
として記述されることができる。
【0011】
[0011]本明細書において、制御された回転は、特定のクローズを達成しない状態のためのポピュレーション喪失をもたらす。多くのクローズを達成しない状態は、ほんの少数を達成しない状態、および、ポピュレーションシンクとして動作するすべてのクローズを満たす解状態よりも、より迅速にポピュレーションを失う。
【0012】
[0012]量子コンピュータは、有限量子力学系を物理的に変換することによって動作するので、本明細書で説明されたすべての方法は、量子力学状態準備の手段として2次的な用途を有する。これは、所望される物理的効果を観察するために、指定された初期状態における波動関数を準備することがしばしば必要である物理科学において価値を有する。
【課題を解決するための手段】
【0013】
[0013]本発明のより完全な理解のために、以下の詳細説明および添付図面に対する参照がなされる。
【図面の簡単な説明】
【0014】
【
図1】[0014]挿入演算が、興味のある系1を、所望される状態において準備され、系内において既に存在するビットともつれていない新たなビット2へ結合する図である。
【
図2】[0015]削除演算が、N×Nの密度行列3を、(N-1)×(N-1)部分行列上へ投影する選択されたビットの状態を測定する図である。ここで、破線は、何らかの軸に沿った測定結果を示す。
【
図3】[0016]単一のビット回転演算子が、y
^(「A
^」(「A」は任意の文字)は、「A」の上に「^」が付されたものを表現している。以下同様。)軸の周りに単一のビット4を回転させる図である。ここで、直線矢印は、ブロッホ球体のxz平面内の問題のビットの状態を示す一方、曲線矢印は、回転の方向を示す。真は、状態|+z>と一致するように選択される一方、偽は、|-z>となるように選択される。この図におけるz軸およびx軸の方位は、他の図においても同様に使用される。
【
図4】[0017]2ビット回転演算子が、y軸の周りのビット6の回転を制御するために、所望される軸上へのビット5の投影を使用する図である。ここで、z
^軸上への状態5の正の投影が、ビット6を、y
^軸の周りを反時計回りに回転させる。
【
図5】[0018]2ビット回転演算子が、y軸の周りのビット6の回転を制御するために、所望される軸上へのビット5の投影を使用する図である。ここで、z
^軸上への状態5の負の投影が、ビット6を、y
^軸の周りを時計回りに回転させる。
【
図6】[0019]測定演算子が、所望される軸上への状態3の投影を測定し、測定された値に対応する固有状態へ状態3を投影する図である。ここで、破線は、測定の軸を示す。
【
図7】[0020]自己制御された回転ゲートSCROTのための量子回路図である。
【
図8】[0021]自己制御された回転ゲートSCROTが、y
^軸の周りの自己の回転を制御するために、所望される軸上へのビットの投影を使用する図である。Iでは、z
^軸上への制御ビットの正の投影が、角度π/2までのスクラッチビット8の反時計回りの回転を引き起こす。IIでは、x
^軸上へのスクラッチビットの正の投影が、制御ビットを、反時計回りに回転させる。IIIでは、スクラッチビットの状態が、x
^に直交する軸に沿って測定され、制御ビットにおける非可逆的な演算を生成する。測定は、「真の軸」x
^に直交する軸に沿っているので、この情報は、制御ビットの状態に関する情報を生成しない。
【
図9】[0022]自己制御された回転ゲートSCROTが、y
^軸の周囲の自己の回転を制御するために、所望される軸上へのビットの投影を使用する図である。Iでは、z
^軸上への制御ビットの負の投影が、角度π/2までのスクラッチビット8の時計回りの回転を引き起こす。IIでは、x
^軸上へのスクラッチビットの負の投影が、制御ビットを、時計回りに回転させる。IIIでは、スクラッチビットの状態が、x
^に直交する軸に沿って測定され、制御ビットにおける非可逆的な演算を生成する。測定は、「真の軸」x
^に直交する軸に沿っているので、この情報は、制御ビットの状態に関する情報を生成しない。
【
図10】[0023]QORゲートのための量子回路図である。
【
図11】[0024]QORゲートが、スクラッチビット11の状態を制御するために、制御ビット9および10の状態を使用し、これによって、9または10が真であれば、ビット11の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット12は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、9および10の状態が、ビット11および12の回転を制御する。IIでは、-
^z軸における12の投影が、ビット11の回転を制御する。IIIでは、ビット11の状態が、πまで回転される。IVでは、ビット12の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図12】[0025]QORゲートが、スクラッチビット11の状態を制御するために、制御ビット9および10の状態を使用し、これによって、9または10が真であれば、ビット11の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット12は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、9および10の状態が、ビット11および12の回転を制御する。IIでは、-
^z軸における12の投影が、ビット11の回転を制御する。IIIでは、ビット11の状態が、πまで回転される。IVでは、ビット12の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図13】[0026]QORゲートが、スクラッチビット11の状態を制御するために、制御ビット9および10の状態を使用し、これによって、9または10が真であれば、ビット11の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット12は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、9および10の状態が、ビット11および12の回転を制御する。IIでは、-
^z軸における12の投影が、ビット11の回転を制御する。IIIでは、ビット11の状態が、πまで回転される。IVでは、ビット12の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図14】[0027]QANDゲートのための量子回路図である。
【
図15】[0028]QANDゲートが、スクラッチビット15の状態を制御するために、制御ビット13および14の状態を使用し、これによって、13または14が真であれば、ビット15の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット16は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、13および14の状態が、ビット15および16の回転を制御する。IIでは、-
^z軸における16の投影が、ビット15の回転を制御する。IIIでは、ビット15の状態が、πまで回転される。IVでは、ビット16の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図16】[0029]QANDゲートが、スクラッチビット15の状態を制御するために、制御ビット13および14の状態を使用し、これによって、13および14が真であれば、ビット15の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット16は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、13および14の状態が、ビット15および16の回転を制御する。IIでは、-
^z軸における16の投影が、ビット15の回転を制御する。IIIでは、ビット15の状態が、πまで回転される。IVでは、ビット16の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図17】[0030]QANDゲートが、スクラッチビット15の状態を制御するために、制御ビット13および14の状態を使用し、これによって、13および14が真であれば、ビット15の最終状態が真となり、それ以外であれば偽となる図である。スクラッチビット16は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、13および14の状態が、ビット15および16の回転を制御する。IIでは、-
^z軸における16の投影が、ビット15の回転を制御する。IIIでは、ビット15の状態が、πまで回転される。IVでは、ビット16の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図18】[0031]QANDORゲートのための量子回路図である。
【
図19】[0032]QANDORゲートが、スクラッチビット19の状態を制御するために、制御ビット17および18の状態を使用し、これによって、17および18が真であれば、19の最終状態は真となり、17および18が偽であれば偽となり、それ以外であれば、真と偽との重ね合わせとなる図である。スクラッチビット20は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、17および18の状態が、ビット19および20の回転を制御する。IIでは、-
^z軸における20の投影が、ビット19の回転を制御する。IIIでは、ビット19の状態が、πまで回転される。IVでは、ビット20の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図20】[0033]QANDORゲートは、スクラッチビット19の状態を制御するために、制御ビット17および18の状態を使用し、これによって、17および18が真であれば、19の最終状態が真となり、17および18が偽であれば偽となり、それ以外であれば真と偽との重ね合わせとなる図である。スクラッチビット20は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、17および18の状態が、ビット19および20の回転を制御する。IIでは、-
^z軸における20の投影が、ビット19の回転を制御する。IIIでは、ビット19の状態が、πまで回転される。IVでは、ビット20の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図21】[0034]QANDORゲートが、スクラッチビット19の状態を制御するために、制御ビット17および18の状態を使用し、これによって、17および18が真であれば、19の最終状態が真となり、17および18が偽であれば偽となり、それ以外であれば真と偽との重ね合わせとなる図である。スクラッチビット20は、一時的なスクラッチビットであり、偶数または奇数の制御ビットが真であるかを判定するために使用される。Iでは、17および18の状態が、ビット19および20の回転を制御する。IIでは、-
^z軸における20の投影が、ビット19の回転を制御する。IIIでは、ビット19の状態が、πまで回転される。IVでは、ビット20の状態が、x
^軸に沿って測定され、奇数または偶数の制御ビットが真であるかに関する情報を生成しない。
【
図22】[0035]QXORゲートのための量子回路図である。
【
図23】[0036]QXORゲートが、スクラッチビット23の状態を制御するために、制御ビット21および22の状態を使用し、これによって、21 XOR 22が真であれば、真となり、それ以外であれば偽となる図である。Iでは、z
^軸上への21の正の投影が、πまで反時計回りに回転させる。IIでは、z
^軸上への22の正の投影が、πまで反時計回りに回転させる。IIIでは、z
^軸上への負の投影を生成するために、πまで反時計回りに回転する。
【
図24】[0037]QXORゲートが、スクラッチビット23の状態を制御するために、制御ビット21および22の状態を使用し、これによって、21 XOR 22が真であれば真となり、それ以外であれば偽となる図である。Iでは、z
^軸上への21の正の投影が、23を、πまで反時計回りに回転させる。IIでは、z
^軸上への22の負の投影が、23の正味の回転を起こさせない。IIIでは、z
^軸上への正の投影を生成するために、23が、πまで反時計回りに回転する。
【
図25】[0038]QXORゲートが、スクラッチビット23の状態を制御するために、制御ビット21および22の状態を使用し、これによって、21 XOR 22が真であれば真となり、それ以外であれば偽となる図である。Iでは、z
^軸上への21の負の投影が、23の正味の回転を起こさせない。IIでは、z
^軸上への22の負の投影が、23の正味の回転を起こさせない。IIIでは、z
^軸上への負の投影を生成するために、23がπまで反時計回りに回転する。
【
図26】[0039]3ORゲートのための量子回路図である。
【
図27】[0040]入力ビット24、25または25のうちのいずれかが真であり、それ以外が偽であれば、真であるビットを生成するために、3ORゲートが、2つのQORゲートを組み合わせる図である。ここで、入力として24および25を使用するQORゲートは、出力ビット27を生成する。第2のQORゲートが、出力ビット28を生成するために、27および26を使用する。一時的なスクラッチビット27は、24および25の状態に関する情報が所望されないのであれば、真の軸へ、または、24および25の状態に関する部分的な測定を実行するために別の軸へ直交した測定によって削除されることができる。
【
図28】[0041]合成ゲートが、入力としてビット29および30の状態を取り、出力としてビット31を生成する図である。入力ビットは、可変ビット、または、他のゲートの出力である。合成ゲートにおける使用後、入力ビットの状態は、削除され得るか、または、さらなる使用のために維持され得る。
【
図29】[0042]DECゲートのための量子回路図である。
【
図30】[0043]DECゲートが、いくつかのクローズを満たさない状態のポピュレーションをデシメートする。可変ビット32、33および34は、
図27に図示される3ORゲートによって、スクラッチビット35および36の状態を制御する。ビット36の状態はその後、制御された回転(破線)によって、可変ビットの状態を回転するために使用される。クローズが満たされるのであれば、可変ビットは回転されない。クローズが満たされないのであれば、可変ビットは、デシメーション角度θまで回転される。スクラッチビット35および36は、削除され得るか、または、さらなる使用のために維持され得る。
【発明を実施するための形態】
【0015】
I.イントロダクションおよび環境
[0044]要求されるように、本発明の詳細な態様が、本明細書において開示される。しかしながら、開示された態様は、さまざまな形式で具体化され得る、本発明の単なる典型例であることが理解されるべきである。したがって、本明細書において開示された具体的な構成および機能的な詳細は、限定としてではなく、単に、特許請求の範囲のための基礎として、および、実際に適切に詳述された構成に本発明をどのように適用するのかを当業者へ教示するための代表的な基礎として理解されるべきである。
【0016】
[0045]ある専門用語が、以下の説明において、参照における利便性のみのために使用され、限定することはない。前記専門用語は、具体的に述べられる用語、その派生語、および類似の意味を持つ用語を含むであろう。
【0017】
II.非可逆的量子コンピュータ計算
[0046]1985年、Deutsch[1,2]は、1ビットおよび2ビットの演算子の小さなセット、すなわち「ゲート」は、N個のキュービットにおける任意のユニタリ演算が、これらゲートのみからなる量子回路によって任意の精度へ近似されることができるという点において普遍的であることを示した。
【0018】
[0047]ユニタリ演算子Uは、その逆関数がそのエルミート共役に等しい
U†U=UU†=I (2)
という特性を有する。ここで、U†は、エルミート共役であり、Iは、アイデンティティである。ユニタリ演算子は、別の波動関数
ψ’=Uψ (3)
を生成するために、波動関数に対して、または、別の密度行列
ρ’=UρU† (4)
を生成するために、密度行列に対して作用し得る。
【0019】
[0048]「普遍的」という名前によって示されるように、従来の量子コンピュータ計算の主要原理は、いずれのコンピュータ計算も、所望される初期状態において準備され得る波動関数へ適用されるユニタリ演算からなることである。たとえば、[11]171頁(「・・・普遍的であるゲートの小さなセットが存在する。すなわち、いかなる量子コンピュータ計算も、これらゲートの観点から表現されることができる。」)、または[9]36頁(「(測定ゲートを除いて)量子コンピュータは、それらのマジックを実行するために非可逆的に動作しなければならないので、量子コンピュータは一般に、入力レジスタと出力レジスタとの両方とともに動作するように設計されている。・・コンピュータ計算処理は一般に、入力レジスタおよび出力レジスタにおけるn+mに加えて、多くのQビットを必要とするであろうが、我々は、今、fのコンピュータ計算を、入力および出力レジスタのn+m個のQビットへ、ユニタリ変換Ufを適用する以外に何もしないものとして見て、これら追加のQビットを無視するものとする。」)をご覧頂きたい。
【0020】
[0049]以下に説明されるアルゴリズムは、新たなタイプの量子コンピュータである「非可逆的」量子コンピュータにおいて実行される。その名前によって示されるように、非可逆的コンピュータは、初期密度行列を、原理的には、系の初期状態を復元するために反転されることができない最終的な密度行列へマッピングする演算を実行する。これは、明確に定義された逆関数U†を有する従来の「可逆的」量子コンピュータによって実行されるユニタリ演算子Uと対照的である。可逆性と非可逆性との相違は、熱力学のコンテキストにおいて1世紀以上認識された基本的な物理的相違である[12]。
【0021】
[0050]物理学の基本式は可逆的であるが、環境の役割を演じる別の系とのインタラクトすることを許容することによって、興味のある系について、非可逆的な演算が実行され得る[13]。2つの系がインタラクトすると、系の状態は、環境の状態ともつれるようになり、これによって、2つの系の状態は、独立して説明されることができなくなる。系を単独で記述する単純化された密度行列は、すべての環境的な自由度にわたりトレースすることによって、系および環境をともに記述する密度行列から取得されることができる。
【0022】
【0023】
ここで、添字「e」は環境の状態を、「s」は系の状態を、「se」は、環境に結合された系の状態を示す。一般に、このように、環境的な自由度にわたるトレースは、最終的な単純化された密度行列が与えられたと仮定すると、初期密度行列をユニークに復元することができない非可逆的な変換による環境とのインタラクション前に、系の密度行列に関連する、単純化された密度行列を生成するであろう。
【0024】
[0051]対照的に、従来の量子コンピュータは、初期状態を復元する可逆的な変換が存在する手法で、興味のある系においてUに対して任意のユニタリ演算を実行する。任意のユニタリ演算後の系の状態は、
【0025】
【0026】
によって与えられる。興味のある系が、周囲環境のような別の系とインタラクトするのであれば、コンピュータ計算は、追加の系の状態が、興味のある系の状態ともつれていないことを維持する方式で実行され[11,9]、これによって、密度行列は、
【0027】
【0028】
の前と、計算
【0029】
【0030】
の後との両方において、系密度行列と環境密度行列との積へ分離されることができる。
[0052]系および環境のために密度行列は、このように記述されることができるので、環境の状態にわたるトレースは、
【0031】
【0032】
を生成する。
[0053]ここで、最終的な単純化された密度行列は、ユニタリ変換によって、初期密度行列へ関連付けられ、初期の系を復元するために明確に定義された逆演算が存在する。
【0033】
【0034】
[0054]可逆的な量子演算は、系に加えて環境の最終状態が、系の状態と、環境の状態とに分離されることができる非可逆的な量子演算の特別なケースであることが理解されることができる。
【0035】
[0055]非可逆性を達成するために、2つの新たな演算が必要とされる。
図1に図示される挿入演算は、ユーザによって選択された初期状態において、興味のある系におけるビットと以前にもつれていない新たなキュービットを導入する。これは、N×N密度行列を、(N+1)×(N+1)密度行列上へ投影する。
図2に図示される削除演算Dは、系におけるキュービットの状態を測定する。これは、測定されたキュービットを、測定演算子の固有状態上へ投影し、N×N密度行列を、(N-1)×(N-1)部分行列上へ投影する。所望されるのであれば、削除されたビットは、問題へ直ちに再挿入されることができ、密度行列のサイズを一定に維持する。
【0036】
[0056]削除の第2の方法は、系全体を、削除されたビットdと、残りの系sとに分離することからなり、削除されたビットを、その状態を測定することなく、削除後、そのままにする。系sにおける任意の測定を実行することは、その後、削除されたビットの状態にわたってトレースすることになるであろう。この削除の方法は、系の状態に関する情報を生成しないが、削除されたビットを、系のビットともつれたままにし、削除されたビットを、アルゴリズムにおける後半において、再挿入されることを不適格にする。
【0037】
[0057]挿入演算と削除演算との両方は、興味のある系におけるビット数を変化させる演算を許容することによって、量子コンピュータの機能を形式上拡張する。しかしながら、可逆的量子コンピュータ計算と非可逆的量子コンピュータ計算との相違は、形式的ではなく、物理的である。式9および式5によって示されるように、非可逆的コンピュータ計算は、初期密度行列を復元するために興味のある系に含まれていない情報を必要とする一方、可逆的コンピュータ計算は、系に含まれる情報のみを使用して反転されることができる。
【0038】
[0058]したがって、系を記述するために必要とされるもの以上の冗長ビットを導入し、周囲の環境の状態ともつれていない系の状態を維持することを目的として、迅速な測定を実行する量子誤り訂正は、挿入演算および削除演算の使用に関わらず、可逆的コンピュータ計算の例である。反対に、系に加えて環境のための密度行列が、系を記述する密度行列と、環境を記述する密度行列のとの積へ分離されることができないのであれば、n個の系とm個の環境ビットとをもつれさせるユニタリ演算を実行することは、非可逆的コンピュータ計算を表す。系密度行列への非可逆的な変化を達成するための自然な非コヒーレンス処理を使用することは、系と環境とをもつれさせるユニタリ演算が、ユーザによって誘導された演算ではなく、自然の処理によって生じる第2のケースの特定の例である。
【0039】
III.回転および測定ゲート
[0059]量子ゲートは、いくつかの所望される物理的な変化を達成させるために、興味のある系におけるビットのいくつかの部分集合へ適用される一連の量子演算である。非可逆的ゲートは、たとえば、多数の初期状態が、いくつかの最終状態へマッピングされ得るように、系のオリジナルの状態を復元することが可能ではない追加の特性を有する。これは、多くの潜在的な状態が、興味のある問題を解くような所望される特性を有する状態の部分集合よりも指数関数的に大きくなり得る3SATのコンテキストにおいて、特に所望される特性である。
【0040】
[0060]個々の量子ビットを表すための一般的な手法は、ブロッホ球体の表面へ2つの状態系をマッピングすることである。選択されたいくつかの軸上への量子ビットの投影、または、その軸の周囲の回転が、パウリスピン演算子
【0041】
【0042】
【0043】
および
【0044】
【0045】
を用いてなされることができる。
[0061]一般に、量子ビットは、ブロッホ球体における任意のベクトルへマッピングされ得るが、このアルゴリズムの好適な実施は、常にxz面へ含まれるビットを利用するので、単一のビットが、y軸の周囲のみを回転されるようになる。他の極角度によってエンコードされた情報は、このアルゴリズムのために必要とされないので、量子誤り訂正のような他の目的のために使用されることは自由である。量子ビットは、z^軸において正の投影を有するのであれば、真であり、負の投影を有するのであれば、偽であるとして選択される。
【0046】
a.1ビットおよび2ビット回転ゲート
[0062]ビットnは、
図3において図解されるように、単一ビット演算子
【0047】
【0048】
によって、xz平面において回転される。
[0063]軸i上へのビットnの投影は、2つのビット演算子によってビットmを回転するために使用されることができる。
【0049】
【0050】
ここで、符号の選択は、X
nまたは¬X
nの値が、回転を制御するために使用されるかに依存する。軸iにおける正の投影は、
図4に図示される反時計回りの回転を引き起こす一方、負の投影は、
図5に図示される時計回りの回転を引き起こす。
【0051】
[0064]そうではないと述べられていないのであれば、このドキュメントにおいて定義された演算子およびゲートは、変数の不在以外の変数の状態が、制御パラメータとして動作するように定義されるであろう。変数の不在を制御パラメータとして使用することがより便利であれば、これは、指数関数の内部の符号の変化によって達成されることができる。
【0052】
[0065]表記における単純化のために、制御された回転演算子
【0053】
【0054】
を定義することが有用である。ここで、ビットmは、ビットnが、軸iにおいて正の投影を有するのであれば、角度θまで回転され、ビットnが、この軸において負の投影を有するのであれば、不変のままである。
【0055】
[0066]式16の
【0056】
【0057】
演算子は、物理的に実現することが困難であり得るので、制御された回転は、平面外回転を使用して実施するために、より簡単であり得る。x軸の周囲の回転を
【0058】
【0059】
として定義すると、式16は、
【0060】
【0061】
として記述されることもできる。
[0067]条件付き回転の第2のバリエーションは、制御ビットが偽である場合、回転を実行し、制御ビットが真である場合、ターゲットビットを無回転のままにすることである。
【0062】
【0063】
を定義すると、
【0064】
【0065】
を理解されることが可能であり得る。
b.測定ゲート
[0068]軸i上へのビットnの投影は、投影演算子
【0066】
【0067】
を使用して、スピン行列
σ
i(θ,φ)=cos(θ)σ
z+sin(θ)cos(φ)σ
x+sin(θ)sin(φ)σ
y (21)
の固有状態|γ>上へ投影することによって、測定される。ここで、γ
iは、固有状態|γi>に関連付けられた固有値である。この演算子は、
図6において図解される。
【0068】
[0069]量子力学の法則に従うと、軸i上へのビットnの投影を測定することは、ビットが、測定演算子の固有状態、ここでは、測定されている軸に沿った正(|γi>=|1/2>)または負(|γi>=|-1/2>)の固有状態を占有することを強要する。測定されているビットの状態が、他のビットの状態ともつれているのであれば、この測定は、問題となっているビットの状態に関する部分的な情報を与え得る。反対に、いくつかの場合には、測定の軸は、他のビットの状態に関する情報を与えないように選択されることができる。ここで、「部分的な測定」は、1つまたは複数のビットの状態に関するいくつかの情報が収集されるが、それらの量子状態をユニークに決定するための十分な情報ではないことを意味する。
【0069】
IV.非可逆的ゲート
[0070]以下に定義される非可逆的ゲートの一般的な設計は、真である(|+z>)ように初期化された一時的なスクラッチビットを導入し、その後、論理表現が真であると評価するのであれば、ビットが、いくつかの軸において正の投影を有し、論理表現が偽であると評価するのであれば、ビットが、同じ軸上へ負の投影を有することができるように量子演算を実行することである。この軸は、「真の軸」と命名される。その後、スクラッチビットの状態は、新たなゲートへの入力として、または、問題における他の変数の回転を制御するために使用されることができる。もはや必要とされない場合、スクラッチビットに含まれる情報は、真の軸に直交する測定によって破壊される。
【0070】
[0071]ここで、どの軸が、「真の軸」として使用されるかの選択は、完全に任意である。しかしながら、これに直交する軸に沿ったスクラッチビットを測定する選択は、物理的に意味がある。真の軸に対して角度θで方位付けられた軸上へのビットの投影を測定することは、θ=π/2の場合における無情報から、θ=0の場合における完全な情報まで変動する、論理的な表現が満たされているか否かに関する部分的な情報を生成する。したがって、このセクションで定義されたすべての非可逆的ゲートは、スクラッチビットの状態が、真の軸に対して角度θ≠π/2で方位付けられた軸に沿って測定されるという一般論を有する。
【0071】
[0072]このモデルからの別の物理的に意味のある派生は、式が真であると評価するのであれば、スクラッチビットを、状態|α>へ投影し、式が偽であると評価するのであれば、状態|β>上へ投影することである。ここで、|α>および|β>は、直交しない。この場合、真の軸を定義することは可能ではない。しかしながら、スクラッチビットの状態は、密度行列に対して非可逆的な演算を生成するような手法で、新たなゲートへの入力として、または、問題における他の変数に対して作用するために使用され得る。
【0072】
a.QCOPYゲート
[0073]量子コピーゲートは、初期状態|+z>において新たなビットsを導入し、既存のビットcの状態を複写できるように、新たなビットsを回転させる。
【0073】
【0074】
b.QNOTゲート
[0074]量子NOTゲートは、初期状態|+z>において新たなビットsを導入し、既存のビットcに対して全く反対になるように、新たなビットsを回転させる。
【0075】
【0076】
c.自己制御された回転
[0075]一時的なスクラッチビットの使用は、ビットの状態が、それ自身の回転の制御を、または、条件付きの回転の使用を可能にする。軸i上への自身の投影に従うビットnの回転は、真であるように初期化されたスクラッチビットsを導入し、自己制御された回転を生成するために、2つの2ビット回転および測定を適用することによって達成されることができる。
【0077】
【0078】
[0076]ここで、ビットnの状態は、状態nのビットを回転するために使用されるスクラッチビットを回転するために使用される。ビットnが元々真であれば、第1のステップ後、スクラッチビットの状態は、|+x>であり、これによって、第2のステップは、角度θまでビットを回転するようになる。ビットnが元々偽であれば、第1のステップは、スクラッチビットを、|-x>へ回転させ、第2のステップは、ビットnを-θまで回転させる。ビットnの状態が、x軸-「真の軸」-上へのスクラッチビットの投影においてエンコードされると、z軸のように、これに直交する軸に沿った測定が、ビットnの状態に関するいずれの情報も測定することなく、回転を、非可逆的にする。このゲートは、量子回路図とともに、自己制御されたビットが、制御軸において正の投影および負の投影をそれぞれ有する場合における個々のビットの進展を図示する
図7、
図8、および
図9において図解される。
【0079】
[0077]密度行列演算として記述されると、最初の2つのステップは、
【0080】
【0081】
と
【0082】
【0083】
とをマッピングする。ここで、状態の順序は、|s,n>=|+z,+z>,|+z、-z>,|-z,+z>,|-z,-z>である。z^軸に沿ってスクラッチビットを測定することは、上左または下右の2×2の部分行列のいずれかを選択する。測定の結果に関わらず、ビットnは、z軸上に正の投影を有するのであれば、角度θまで回転され、負の投影を有するのであれば、-θまで回転される。z^ではなく、軸i^=cos(φ)x^+sin(φ)z^上への投影によるビットの回転の制御は、
【0084】
【0085】
によって達成される。
d.非可逆的量子ORゲート
[0078]より洗練された状態操作は、論理演算の出力を、スクラッチビットの状態へエンコードすることによって可能とされる。
【0086】
【0087】
を定義する。ここで、真であるように初期化された第2のスクラッチビットは、制御ビットのいずれかまたは両方が真であれば真であり続け、それ以外は、偽へ回転される。以前に述べたように、変数の不在は、適切な符号変化のセットによって、スクラッチビットの状態を制御するために使用されることができる。その測定前に、z
^軸上へのスクラッチビットs
1の投影は、偶数または奇数の入力変数c
1およびc
2が真であるかをエンコードする。1つだけが真であれば、s
2が、さらにπ/2まで回転され、これによって、TT、TF、およびFTは、z
^軸上への、s
2のための同じ投影を生成する。以前に述べたように、変数の不在は、適切な符号変化のセットによって、スクラッチビットの状態を制御するために使用されることができる。このゲートは、量子回路図と、両入力ビットが真、一方が真で他方が偽、および両方とも偽、それぞれの場合における個々のビットの進展とを図示する
図10、
図11、
図12、および
図13に図解される。表0.1は、QORゲートの前と、このゲートの適用後であるが任意のスクラッチビットの測定前との両方の変数およびスクラッチビットの状態を与える。
【0088】
[0079]量子NORゲートは、スクラッチビットの最終回転を省くことによって発見される。
【0089】
【0090】
【0091】
e.非可逆的量子ANDゲート
[0080]QORゲートに類似の方法を使用して、非可逆的ANDゲートは、π/2から-π/2までSCRゲートの角度を変化させることによって取得されることができる。
【0092】
【0093】
このゲートは、量子回路図と、両入力ビットが真、一方が真で他方が偽、および両方とも偽、それぞれの場合における個々のビットの進展とを図示する
図14、
図15、
図16、および
図17に図解される。
【0094】
[0081]量子NANDゲートは、スクラッチビットの最終回転を省くことによって発見される。
【0095】
【0096】
f.ANDおよびORキャラクタを組み合わせた非可逆的ゲートANDORゲート
[0082]ANDおよびORのキャラクタを組み合わせるゲートは、SCRゲートの角度を、-π/2とπ/2との間で連続的に変化させることによって取得されることができる。
【0097】
【0098】
このゲートは、量子回路図と、両入力ビットが真、一方が真で他方が偽、および両方とも偽、それぞれの場合のための個々のビットの進展とを図示する
図18、
図19、
図20、および
図21に図解される。ここで、真であるように初期化されたスクラッチビットは、両入力が真であれば、真であり続け、両入力が偽であれば、偽へフリップする。一方の入力が真であり、他方が偽であれば、スクラッチビットは、真と偽との重ね合わせを占有するであろう。
【0099】
|s>=cos(π/4-θ/2)|+z>+sin(π/4-θ/2)|-z> (34)
[0083]QANDORと同じ手法でNANDおよびNORキャラクタを組み合わせるゲートは、スクラッチビットの最終回転を省くことによって発見されることができる。
【0100】
【0101】
g.非可逆的量子XORゲート
[0084]QORおよびQANDのゲートに類似した方法を使用して、非可逆的XORゲートが、
【0102】
【0103】
によって取得されることができる。
[0085]このゲートは、量子回路図と、両入力ビットが真、一方が真で他方が偽、および両方とも偽、それぞれの場合のための個々のビットの進展とを図示する
図22、
図23、
図24、および
図25において図解される。
【0104】
[0086]量子XNORゲートは、スクラッチビットの最終回転を省くことによって取得される。
【0105】
【0106】
【0107】
h.非可逆的量子3ORゲート
[0087]2つのQORゲートと中間的なスクラッチビットとを使用することによって、特定の量子状態が、3つの可変論理クローズを満たすか否かを、第2のスクラッチビットがエンコードすることが可能となる。
【0108】
【0109】
両スクラッチビットを真になるように初期化し、クローズが満たされるのであれば、s
2は真のままであり、それ以外は、偽へ回転される。このゲートは、
図26および
図27において概略的に図示される。より一般的に、QOR、QAND、およびQANDORのゲートの出力をつなぐことによって、
図28に図解されている合成ゲートを生成する。変数m
1またはm
2が真であるかをエンコードするビットs
1は、式38におけるように、
【0110】
【0111】
とのx^軸上への投影によって削除されることができるか、または、その後の論理演算における使用のために維持されることができる。表0.2は、任意の回転を適用する前と、回転の適用後であるが任意のスクラッチビットの測定前との両方の変数およびスクラッチビットの状態を与える。
【0112】
i.非可逆的量子デシメーションゲート
[0088]3SAT問題は、この問題におけるすべてのクローズを満たす状態によってのみ解決される。3ORゲートは、スクラッチビットs2の状態における特定のクローズの充足をエンコードするので、クローズMに含まれるすべての変数のための条件付き回転ゲートによって、クローズを満たしていない任意の状態のためのポピュレーションの漸進的なデシメーションを達成するために使用されることができる。
【0113】
【0114】
クローズが満たされるのであれば、変数X
m1,X
m2およびX
m3の状態は影響されない。満たされないのであれば、各変数は、y軸の周囲を角度θまで回転される。各変数の状態を、その逆の値へ回転させることによって、このデシメーション演算子は、オリジナル状態のポピュレーションを低減し、クローズMにおける変数を除いて、オリジナルの状態と同一である状態のポピュレーションを増加させる。x
^軸に沿ってスクラッチビットを測定することによって、クローズの充足に関するいずれの情報を与えることもなく、このポピュレーション転送を非可逆的にする。このゲートは、
図29および
図30に図解される。
【0115】
[0089]測定後、スクラッチビットの状態にわたってトレースした場合、特定のスクラッチビットの状態が、ブラ側およびケット側において異なるすべての項を総和するとゼロになるであろう。
【0116】
【0117】
を記述すると、
【0118】
【0119】
および
【0120】
【0121】
が理解されることができる。
[0090]特に、スクラッチビットs4を測定することは、交差項
【0122】
【0123】
【0124】
【0125】
等を不要にする。ここで、ケット側は、このクローズを満たす初期状態によって生じ、ブラ側は、DEC演算子によって初期状態|FFF>の回転から生じるが、その逆もあり得る。状態|FFF>は、s4=Fを生成する唯一の状態であるので、デシメーションゲートの条件付き回転によって生じるすべての交差項は、単純化された密度行列へのゼロ寄与を与える。
【0126】
[0091]デシメーション手順の簡単な例は、単一の変数の状態をフリップするために、デシメーション手順を利用することによって例示される。ここで、状態|α>は、特定のクローズについて真であるように評価する一方、状態|α’>は、偽であるように評価する。|α>および|α’>は、変数mの状態を除いて同一である。クローズの充足は、スクラッチ変数の状態においてエンコードされるので、3OR演算子後であるが条件付き回転前の密度行列は、状態順序|T,α>,|T,α’>,|F,α>,|F,α’>を用いて
【0127】
【0128】
と記述されることができる。
[0092]スクラッチビットの状態が、CRs→mに従って可変ビットxmの状態を回転させるために使用される場合、密度行列は、
【0129】
【0130】
となる。
[0093]α’からαへのポピュレーションの転送は、演算子
【0131】
【0132】
によって完了され、
【0133】
【0134】
を生成するために、z^、「真の軸」に直行する軸に沿ったスクラッチビットの状態を測定する。ここで、ポピュレーションの転送は、α’の初期ポピュレーションと回転角度とに依存するが、非対角コヒーレンス項ραα’またはρα’αに依存しない。この回転角度は、初期状態ポピュレーションがデシメートされる程度を制御するので、「デシメーション角度」とも称され得る。
【0135】
[0094]最後に、スクラッチビットの状態にわたってトレースすることは、新たな単純化された密度行列
【0136】
【0137】
を生成する。ここで、ポピュレーションの転送は、α’の初期ポピュレーションと回転角度とに依存するが、非対角コヒーレンス項ραα’またはρα’αに依存しない。
j.非可逆的グローバルデシメーションゲート
[0095]このデシメーション手順は、グローバルデシメーションゲート
【0138】
【0139】
を生成するために、問題における各クローズへ適用されることができる。ここで、
【0140】
【0141】
は、クローズがデシメートされる順序を与え、θMは、クローズMのためのデシメーション角度を与える。構築によって、すべてのクローズを満たす状態は、SATDECによって変化されない一方、すべての非解状態は、少なくとも1つのクローズによってデシメートされる。
【0142】
V.3SATを解くためのアルゴリズム
[0096]上記で定義したように、SATDECゲートの適用は、興味のある3SAT問題におけるすべての論理クローズに対応するデシメートDECゲートを適用することに相当する。
【0143】
[0097]単一のSATDECの適用による状態sの確率の変化は、
【0144】
【0145】
によって与えられる。ここで、転送行列Tは、クローズの順序と、関連付けられた回転角度
【0146】
【0147】
にパラメータ的に依存する。ポピュレーションの転送はsin2(θ)として進むので、それは、先頭順序へ向かって、デシメーション角度における二次方程式である。平衡への収束の速度は、最も遅い固有ベクトルの減衰によって与えられる。Ts’→sは非対称であるので、その固有ベクトルは、直交ではない。
【0148】
[0098]総確率の維持は、非ゼロの固有値を有するいずれの固有状態も、ゼロトレースを有さねばならないことを意味する一方、すべてのsについてPs≦1との制約は、すべての非ゼロの固有値が負でなければならないことを意味する。解状態s*は決してデシメートされないので、すべてのsについて、
【0149】
【0150】
である。
[0099]少なくとも1つの解状態s*が存在すると仮定すると、すべての固有ベクトルTs→s’が、少なくとも1つの解状態を含む必要がある。問題を解かない固有ベクトルλ→(「A→」(「A」は任意の文字)は、「A」の上に「→」が付されたものを表現している。以下同様。)に含まれる各状態sは、少なくとも1つのクローズを失わねばならず、クローズ外の変数についてsに等しく、クローズ内の変数についてs*に等しいように定義された状態s’上へのデシメーションアルゴリズムによって投影されねばならない。s’が解ではないのであれば、いくつかのクローズを失い、新たなクローズ外の変数についてs’に等しく、新たなクローズ内の変数についてs*に等しいs’’上へ投影されねばならない。有限数のクローズのために、この手順は、s*または他のいくつかの解状態で、終了せねばならない。特に、非解状態のみからなるゼロ固有値を有する固有ベクトルは存在しない。
【0151】
a.平衡への収束
[0100]デシメーションアルゴリズムのための収束の速度は、小さな固有値を有する固有ベクトルの存在によって制限される。θ0を、興味のある問題におけるクローズに対応する最小のデシメーション角度とする。迅速に減衰する固有ベクトルが、
【0152】
【0153】
に相当、または、それよりも大きなλを有し、緩慢に減衰する固有ベクトルが、
【0154】
【0155】
を有するように定義する。そのような固有値のための最小の大きさは存在しないが、λが小さいとの要件は、緩慢に減衰する固有ベクトルをユニークに決定する。固有値方程式
【0156】
【0157】
として式51を記述すると、すべてのs’についてTs→s’=0ではないのであれば、すなわち、sが解状態ではないのであれば、
【0158】
【0159】
は、Ts→s’に対して無視できる。
[0101]緩慢に減衰する固有ベクトルのための非解状態のポピュレーションは、すべての非解状態sおよびs’について
【0160】
【0161】
を設定し、ΣsPs=1を要求することによって発見されることができる。この固有ベクトルのための解状態のポピュレーションは、すべての解状態s*について
【0162】
【0163】
を設定し、すべてのs*に対する
【0164】
【0165】
と、
【0166】
【0167】
とを要求することによって発見される。解が存在しなれば、式53は、非解状態のための平衡確率分布を定義する。
[0102]緩慢に減衰する固有状態のための確率分布は、デシメーション角度θ→の選択によって決定されるので、緩慢に減衰する確率のボトルネックは、SATDECの各反復においてθ→を変化させることによって中断されることができる。この確率分布は、非常に緩慢に減衰し得るので、「疑似平衡分布」と称されるであろう。
【0168】
[0103]疑似平衡固有ベクトルは、2つのステップにおいて発見されることができる。第1に、式53が、非解ポピュレーションについて解かれ、ΣsPs=1になるように規格化される。解状態のためのポピュレーションは、すべての解状態s*のために
【0169】
【0170】
を設定し、すべてのs*に対する
【0171】
【0172】
と、
【0173】
【0174】
とを要求することによって発見され、これによって、多く固有分散がトレースなしとなる。
[0104]
【0175】
【0176】
という条件は、緩慢に減衰する固有分布のための確率分布をユニークに決定するので、対偶もまた真であり、式53および式55によって決定されるもの以外の任意の非解固有分布は、
【0177】
【0178】
に相当するか、またはそれよりも大きな減衰速度を有さねばならない。
b.非解確率の減衰
[0105]デシメーション角度
【0179】
【0180】
の所与の選択のためにSATDECを繰り返し適用することは、確率分布を、2つの時間スケールにおいて進展させる。所与の時間における確率分布は、固有分布にわたる総和
【0181】
【0182】
として記述されることができる。ここで、V→は、式53および式55によって定義される疑似平衡固有分布であり、W→
nは、残りの固有分布であり、減衰速度は、
【0183】
【0184】
に相当するか、または、それよりも大きい。同じ転送行列を繰り返し適用した結果、迅速な「ブローオフ」となる。ここでは、迅速に減衰する固有分布に含まれる非解確率が、解状態のセットへ迅速に転送され、その後、長期間の停滞となり、ここでは、非解確率が疑似平衡分布へ接近し、結果として、解状態への緩慢な転送となる。
【0185】
[0106]疑似均衡分布の緩慢な減衰は、異なるクローズに対応するデシメーション角度を変動させることによって促進されることができる。緩慢に減衰する固有分布は、式53によってθ→によって決定されるので、θ→を非断熱的に変動させることは、オリジナルの疑似平衡分布を新たな固有ベースへ投影し、ここでは、疑似平衡分布は、実質的に異なり得る。V→(1)が、転送行列T(1)のための緩慢に減衰する固有分布であり、V→(2)が緩慢であり、
【0186】
【0187】
が転送行列T(2)のための迅速に減衰する固有分布であり、
【0188】
【0189】
であれば、転送行列T(1)からT(2)への変化は、係数Anがゼロに減衰すると、第2のブローオフとなる。
[0107]係数AVは、緩慢に減衰する固有分布の減衰速度をゼロとして近似することによって発見されることができ、これによって、
T(1)V(1)=V(1) (58)
T(2)V(2)=V(2) (59)
となる。
ΔT=T(2)-T(1)およびΔV=V(2)-V(1)とし、これによって、式57は、
【0190】
【0191】
と記述されることができる。
T(2)の固有ベースで、ポピュレーション差分
【0192】
【0193】
を展開すると、それは、
【0194】
【0195】
に従い、これによって、V→(1)およびV→(2)が最も相違する場合、ブローオフが最大になる。
c.前後反復
[0108]緩慢に減衰する固有分布からポピュレーションを転送させるための単純な手順は、SATDECの1つの反復のため、特定のクローズに対応するデシメーション角度をランダムに変動させ、その後、次の反復のため、オリジナルの転送行列を復元するために、オリジナルのデシメーション角度へ戻すことである。T(1)=T(θ→(1))を、すべてのクローズCのための設定
θ→(1)[C]=θ0 (63)
に対応する転送行列とし、T(2)=T(θ→(2))とする。ここで、
θ→(2)[C]=θ0(1+ησC) (64)
であり、σCは、等しい確率で1または-1になるように選択される。
【0196】
[0109]個々のクローズCによる転送行列の積として、転送行列T=ΠCT(C)を記述し、T(C)は、θCにおける二次方程式であることに注目されたい。
【0197】
【0198】
[0110]転送行列におけるこの変化による、緩慢に減衰する固有分布のための状態sのためのポピュレーションにおける変化は、
【0199】
【0200】
のように記述されることができ、ここで、ΔV(C)は、T(C)における一次訂正オフセット変化である一方、ΔV(R)は、新たな疑似平衡分布が式53に従うことを強要する残りの訂正である。
【0201】
[0111]先頭順序に対する、デシメーション角度における小さな変化による状態sのためのポピュレーションにおける変化は、
【0202】
【0203】
を設定することによって発見され、これによって、2倍小さな項
【0204】
【0205】
を無視した後、
【0206】
【0207】
となる。
式66からこれら項を引くことによって、残りの訂正
【0208】
【0209】
のための線形系を生成する。ここで、右手側は、期待値0を有する。
[0112]前後反復の第2のステップは、すべてのデシメーション角度を、オリジナルの値へ戻し、これによって、
ΔT(C)→-ΔT(C) (70)
および
ΔV→→-ΔV→ (71)
となり、緩慢に減衰する固有分布V→(2)が、T(1)の固有ベースへ投影されるようになる。
【0210】
[0113]ポピュレーションは、緩慢に減衰する固有分布から、迅速に減衰する固有分布へ転送されるので、転送行列への両変化とも、総非解確率の損失となる。第2の転送後、緩慢に減衰する固有分布の係数は
【0211】
【0212】
によって与えられる。
[0114]
【0213】
【0214】
および
【0215】
【0216】
で、
【0217】
【0218】
になるものとする。その後、
【0219】
【0220】
となる。σCおよびσC’は、平均値0を有する独立したランダムな変数であるので、
【0221】
【0222】
および
【0223】
【0224】
であり、ここで、
【0225】
【0226】
は、状態sによって失われたクローズの数であり、これによって、すべての非解状態について、Ns
C≧1となる。これから、期待値
【0227】
【0228】
に従い、前後の反復サイクルによる、緩慢に減衰する固有分布からのポピュレーションの喪失は、ユーザ制御されたパラメータηによって制御される。
【0229】
【0230】
を選択することは、すべての非解確率が、
【0231】
【0232】
に対して大きい時間スケールにおいて減衰することを保証する。
VI.前後反復の作用例
[0115]前後反復の単純な例は、|TTT>が唯一の解である3変数3SAT問題を解くことによって取得される。これは、表0.3のクローズ0~6についてDEC演算を実行することに対応する。|TTT>以外の各状態は、単一のクローズを失い、θCにおける先頭順序へ、ポピュレーションを、単一の変数がフリップされている3つの状態へ転送させることによってデシメートされる。すべてのクローズについて、θC=θ0=0.1を選択し、θにおける先頭順序へ項を含めることは、転送行列
【0233】
【0234】
を生成し、ここで、状態順序は、表0.3から取られる。この転送行列の固有値および固有分布は、表0.4によって与えられる。
【0235】
【0236】
【0237】
[0116]η=0.2およびσ→=(1,1,1,1,-1,-1,-1)を設定することは、転送行列を、
【0238】
【0239】
へ変化させ、ここで、固有値および固有分布は、表0.5によって与えられる。
【0240】
【0241】
[0117]表0.4と表0.5との両方において、V→(1)およびV(2)の減衰速度は、
【0242】
【0243】
に対して小さい一方、固有分布W→
nの減衰速度は、この値に相当するか、それよりも大きい。
[0118]T(1)からT(2)へ転送行列を変化させることは、V(1)を、新たな固有ベース
【0244】
【0245】
へ投影する。迅速に減衰する固有分布W→
nの係数が、ゼロへ減衰すると、オリジナルの転送行列への復帰は、V(2)を、オリジナルの固有ベース
【0246】
【0247】
へ投影し、これによって、前後反復後、V→(1)の係数は、1.005*.956=0.96~1-η2となる。
a.アルゴリズム実行時間
[0119]迅速に減衰する固有ベクトルは、
【0248】
【0249】
またはそれよりも大きい順序で、固有値を有することを思い出し、
【0250】
【0251】
を選択すると、総解確率αを達成するために必要とされるSATDEC反復の数は、約
【0252】
【0253】
である。各反復が、クローズ毎に、一定数の演算を必要とするので、アルゴリズムのための実行時間は、全体として、問題におけるクローズの数と線形的にスケールする。
[0120]z^軸に沿った変数に対応する各ビットの投影を測定し、|+z>が真に対応し、|-z>が負に対応し、興味のある3SAT問題への潜在的な解を生成することを思い出されたい。これは、古典的なコンピュータを使用して、訂正のために簡単にチェックされることができる。この問題は解くことが可能ではないのであれば、潜在的な解は、常に、無効となるであろう。この問題は解くことが可能であれば、この手順は、確率αを有する有効な解と、確率1-αを有する無効な解とを生成するであろう。確率論的なアルゴリズムの慣習に従って、1-α≦1/3となるように、Niterationsを選択することが必要である。
【0254】
VII.既存アルゴリズムへの比較
a.Schoningアルゴリズムとの比較
[0121]上述したアルゴリズムは、Schoningの確率論的な古典的アルゴリズム[14]の趣旨に類似する。Schoningアルゴリズムでは、各変数の値が、最初に、ランダムに選択される。その後、各クローズの充足がテストされ、任意のクローズの欠陥は、クローズ内の変数のうちの1つの状態をランダムにフリップすることによって対処される。3Nv個のクローズをテストした後、割当を満たしていることが発見されないのであれば、この処理は、新たなランダムな初期状態を使用して再開される。
【0255】
[0122]2つのアルゴリズム間の相違は、演算されている系の量子性質から生じる。現在のアルゴリズムにおいて、系は、多くの異なる状態の非コヒーレントな重ね合わせからなる一方、古典的アルゴリズムは、一度に単一の状態を占有するように制約される。Schoningのアルゴリズムは、すべてのデシメーション演算後、真の軸に沿った各変数ビットの状態を測定することによってエミュレートされることができ、これによって、系に対して、単一の状態を占有させる。現在のアルゴリズムは、初期状態から、すべての確率を転送させる訳ではないので、測定によってフォローされるデシメーションのステップは、可変ビットのうちの1つが変化するまで反復されねばならない。
【0256】
[0123]ここで、測定の動作は、基本的に、アルゴリズムの振舞いを変化させる。失敗した各クローズをブランチポイントとして取り扱い、現在のアルゴリズムは、すべてのブランチに沿った初期状態を占有する確率のフラクションを転送させる一方、Schoningアルゴリズムは、ランダムに選択された単一のブランチに沿った確率全体を転送させる。コンピュータ科学の言語では、現在のアルゴリズムは、解状態を求めて並列的な幅優先探索を実行しているが、Schoningアルゴリズムは、ランダム化された深さ優先探索、すなわち、ランダムウォークを実行する。
【0257】
[0124]現在のアルゴリズムにおける単一のDECゲートによるポピュレーションのフローは、すべてのランダムウォークと、状態を占有する初期確率と特定のウォークを採用する確率とによって重み付けられたすべての可能な初期状態とを総和することによって、古典的にエミュレートされることができる。しかしながら、この古典的なエミュレーションアルゴリズムは、非常に非効率的である。量子アルゴリズムは、DECゲートを実施するために、一定数の演算を必要とする一方、古典的アルゴリズムは、
【0258】
【0259】
個のすべての初期状態にわたる総和を必要とする。したがって、多項式時間量子アルゴリズムの存在は、多項式時間古典エミュレーションアルゴリズムの存在を示唆しない。
b.固定ポイント量子探索との比較
[0125]上述されたアルゴリズムは、ポピュレーションが、離れることなく、解状態へ転送されることができるという特性を有する。解状態は、すべてのクローズを満たすので、固定ポイントの反復である。概念的に、これは、問題を満たすソース状態|s>と解状態|s*>とからなる2dサブ空間において、ソース状態|s>を回転させるために単一のオラクルビットが使用されるTulsiらの固定ポイント量子探索アルゴリズム[5,15,10,7,6]に類似する。[15]に記載されているように、固定ポイント探索は、空間を定義する問題に状態が残っている限り、アルゴリズムが最後まで実行されず、早期の反復における不完全な変換による任意のエラーが、後続する反復によってワイプアウトされた場合であっても、ターゲット状態に向かって進展するように初期状態が保証されているという好ましい特性を有する。しかしながら、既存の固定ポイント探索は、非固定ポイントアルゴリズムに対して、いままで、速度の利点を提案していない。[15]は、古典的探索に相当する実行時間を生成する一方、[10]の実行時間は、Grover探索アルゴリズムの
【0260】
【0261】
実行時間特性、ここで、nは状態の総数、から、減衰パラメータの変動を伴う古典的探索の
【0262】
【0263】
へ連続的に変動する。
[0126]有効な解が、問題における各クローズを満たさねばならない条件である、順序付けられていないデータベース探索の一般的な場合のために利用可能ではない3SATへ特有の情報を活用することによって、本アルゴリズムは、既存の固定ポイントアルゴリズムとは異なる。それは、問題全体の充足をエンコードするために、単一のオラクルビットを使用するのではなく、個々のクローズの充足をエンコードする多数のビットを活用する。ソース状態からターゲット状態へダイレクトにポピュレーションを転送させるのではなく、デシメーション演算子は、特定のクローズを失う状態をデポピュレートするように動作し、クローズに含まれる変数によってのみ異なる他の状態へポピュレーションを転送させる。このように、ポピュレーションの流れは、興味のある問題を満たす状態のための幅優先探索を模擬する。解状態へのポピュレーションの究極的な転送は、間接的にのみ生じ、多くの異なる経路による、多くの中間状態への転送を含み得る。個々のクローズを失うことによるデポピュレーションの速度は、演繹的な最大値を持たない、ユーザ制御されたパラメータである。
【0264】
[0127]これら区別の各々は、順序付けられていないデータベースの純粋な探索に対して、3SATによって提供された追加問題特有の情報によって生じ、集合的に、収束時間における相違を考慮する。式52および同伴する議論に図示されるように、個々のクローズの失敗によって喪失されたポピュレーションの最小フラクションは、非解ポピュレーション分布の減衰のための重要な時間スケールを定義する。固有分布が、これよりもより緩慢に減衰する条件は、緩慢に減衰する疑似平衡固有分布をユニークに定義する。「前後反復」では、個々のクローズの失敗によって喪失されたポピュレーションのフラクションを変動させることは、迅速に減衰する固有分布上へ、緩慢に減衰する疑似平衡分布を投影し、これによって、ポピュレーションが、解状態のセットへ転送される速度を増加させる。
【0265】
[0128]本発明のいくつかの実施形態および/または態様が、図示および説明されたが、本発明は、それに限定されず、他のさまざまな実施形態および態様を包含することが理解されるべきである。
【0266】
ここまで本発明を説明してきたが、新たなものとして特許請求され、特許証によって保護されることが所望されるものは、以下の通りである。