メインコンテンツへスキップ

閾値定理

このレッスンの最後のトピックは、閾値定理として知られる非常に重要な定理です。 以下にこの定理をやや非公式な形で示します。

定理

閾値定理:サイズ NN の量子回路は、ノイズのある量子回路によって高い精度で実装することができます。ただし、ノイズのある回路の各箇所における誤り確率が、固定された非ゼロの閾値 pth>0p_{\text{th}} > 0 を下回ることが条件です。ノイズのある回路のサイズは、正の定数 cc に対して O(Nlogc(N))O(N \log^c(N)) でスケールします。

簡単に言えば、NN 個のゲートを持つ任意の量子回路(NN はいくら大きくても構いません)があるとき、ノイズのレベルが NN に依存しない一定の閾値を下回るならば、ノイズのある量子回路を使ってその回路を高い精度で実装できる、ということです。 さらに、必要なノイズのある回路のサイズが NN の対数の定数乗の NN 倍程度であるという意味で、これを行うコストはそれほど高くありません。

定理をより厳密に述べるには、ノイズモデルについて具体的に指定する必要がありますが、このレッスンでは行いません。 たとえば、先に述べた独立確率ノイズモデル(誤りが閾値より真に小さい確率で回路の各箇所に独立に発生するモデル)に対して証明することができますが、誤り間に相関がある、より一般的なノイズモデルに対しても証明することができます。

これは理論的な結果であり、最も典型的な証明方法が必ずしも実用的なアプローチに直結するわけではありませんが、それでも非常に大きな実用的意義を持っています。 特に、ノイズのある素子を用いた量子計算を行う上での根本的な障壁は存在しないことを示しています。これらの素子の誤り率が閾値を下回っている限り、任意のサイズの信頼性の高い量子回路を構築するために利用することができます。 その重要性を別の言い方で表すなら、もしこの定理が成り立たなかったとすれば、大規模量子計算が現実のものとなる未来を想像するのは困難だったでしょう。

この定理の(厳密な命題の)正式な証明には多くの技術的詳細が伴いますが、ここではそれらを詳述しません。しかし、本質的なアイデアは直感的なレベルで説明することができます。 この説明をできるだけ簡単にするために、誤り訂正に 77 量子ビットのSteaneコードを使用すると仮定しましょう。 これは実際の物理実装には非実用的な選択であり(閾値 pthp_{\text{th}} が極めて小さくなることにも反映されています)、しかし主要なアイデアを伝えるのには適しています。 この説明では、ノイズモデルについてもかなり大ざっぱに扱い、フォールトトレラントな実装の各箇所に確率 pp で独立に誤りが発生すると仮定します。

さて、確率 pp が実装したい回路のサイズ NN の逆数より大きい場合、どこかで誤りが発生する可能性が非常に高くなります。 そこで、レッスンで概説した手順に従い、この回路のフォールトトレラントな実装を試みることができます。 そして、先に示唆した問いを自問することができます。これは事態を改善しているのか、それとも悪化させているのか?

各箇所における誤りの確率 pp が大きすぎる場合、私たちの努力は効果がなく、むしろ事態を悪化させる可能性があります。ちょうど、誤り確率が約3.23%を超えると 99 量子ビットのShorコードが役に立たなくなるように。 特に、フォールトトレラントな実装は元の回路よりもかなり大きくなるため、誤りが発生する可能性のある箇所が大幅に増えます。

しかし、pp が十分に小さければ、実行する論理的計算の誤り確率を低減することに成功します。 (正式な証明では、この時点で非常に注意が必要です。論理的計算における誤りは、必ずしも元のノイズモデルによって正確に記述されるとは限りません。 実際、これが誤りが独立でない可能性のある、より厳格なノイズモデルを動機付けるのですが、この説明の便宜上この詳細はひとまず置いておきましょう。)

より詳しく述べると、元の回路で論理的な誤りが発生するには、Steaneコードがコードブロック内の任意の単一誤りを訂正できることを踏まえると、フォールトトレラントな実装において少なくとも2つの誤りが同じコードブロックに発生する必要があります。 同じコードブロックに2つ以上の誤りが発生する方法は多数あることを念頭に置くと、元の回路の各箇所における論理的誤りの確率は、コードと使用するガジェットに依存する固定された正の実数 CC(ただし元の回路のサイズ NN には依存しない)を用いて、高々 Cp2Cp^2 であると主張することができます。 pp1/C1/C より小さい場合(これを閾値 pthp_{\text{th}} と取ることができます)、これは誤りの低減につながります。

しかし、この新しい誤り率は、回路全体が正しく動作するにはまだ高すぎる可能性があります。 この時点で自然に考えることは、より良いコードとより良いガジェットを選択して、実装が正常に動作する水準まで誤り率を下げることです。 理論的には、これが可能であることを示す簡単な方法は連接です。 つまり、元の回路のフォールトトレラントな実装を他の任意の量子回路と同じように扱い、この新しい回路を同じ方式でフォールトトレラントに実装すると考えることができます。 そして、元の計算が正常に動作できる水準まで誤り率を下げるために必要な回数だけ、これを繰り返すことができます。

この方法によって誤り率がどのように低下するかの大まかなイメージをつかむために、数回の反復においてどのように機能するかを考えてみましょう。 厳密な解析では、ここで省略しているさまざまな技術的詳細を考慮する必要があることに注意してください。

元の回路の各箇所の誤り確率 pp から始めます。 p<pth=1/Cp < p_{\text{th}} = 1/C を仮定すると、1回目の反復後の論理誤り率は Cp2=(Cp)pCp^2 = (Cp) p で抑えられます。 フォールトトレラントな実装を他の任意の回路として扱い、それをフォールトトレラントに実装することで、論理誤り率の上界として

C((Cp)p)2=(Cp)3pC \bigl((Cp) p \bigr)^2 = (Cp)^3 p

が得られます。

さらに1回の反復により、誤りの上界はさらに小さくなり、

C((Cp)3p)2=(Cp)7pC \bigl((Cp)^3 p \bigr)^2 = (Cp)^7 p

となります。

合計 kk 回の反復を続けると、(元の回路の)論理誤り率の上界は

(Cp)2k1p(Cp)^{2^k - 1} p

となり、これは kk に対して二重指数的です。

つまり、誤り率を極めて小さくするために必要な反復回数はそれほど多くないということです。 一方、各連接レベルで回路のサイズは大きくなっていきますが、サイズはレベル数 kk に対して単一指数的にしか増加しません。 これは、フォールトトレラントの各レベルで、サイズが使用するガジェットの最大サイズによって決まる因子以上には増加しないためです。 これらをすべてまとめ、連接のレベル数を適切に選択することで、閾値定理が得られます。

では、現実における閾値はどのくらいなのでしょうか? 答えは使用するコードとガジェットによります。 マジックステート蒸留を伴うSteaneコードでは、それは非常に小さく、実際には達成困難である可能性が高いです。 しかし、表面コードと最先端のガジェットを用いると、閾値は0.1%から1%程度と推定されています。

新しいコードと手法が発見されるにつれ、閾値が上昇し、同時に実際の物理素子のノイズレベルが低下することが合理的に期待できます。 大規模な量子計算をフォールトトレラントに実装できるようになるのは容易ではなく、一夜にして実現するものでもありません。 しかし、この定理は、量子コードと量子ハードウェアの進歩とともに、大規模でフォールトトレラントな量子コンピュータを構築するという究極の目標に向けて前進し続ける私たちに楽観的な展望を与えてくれます。

コース終了後アンケート

このコースの修了、おめでとうございます!以下の簡単なアンケートにご回答いただき、コースの改善にご協力ください。皆様のフィードバックは、コンテンツとユーザーエクスペリエンスの向上に活用されます。ありがとうございます!