じじぃの「科学夜話・量子コンピュータ・暗号法を脅かすもの!すごい数学」

【わかりやすい】量子コンピュータ解説 実用化はいつ?どんな分野に応用できる?(キーワードで振り返る1週間)

動画 YouTube
https://www.youtube.com/watch?v=6bIiAuk1WF4

量子コンピュータの実用化加速へ


量子コンピューターの究極の目標

日経サイエンス  2022年8月号
●特集:量子コンピューター最大の壁「エラー訂正」 量子コンピューターの究極の目標
今や,量子コンピューターという言葉を,新聞や雑誌で見ない日はないくらいである。
グーグルやIBMといった名だたるIT企業や各国の研究機関が量子コンピューターの開発にしのぎを削り,我が国でも理化学研究所量子コンピュータ研究センターを中心に参戦している。今ではクラウド量子コンピューターの実機をプログラムし,計算結果を受け取ることもできるようになった。
●計算途中でエラーが起きる
一体なぜだろうか。それは,現在の量子コンピューターの基本素子である量子ビットにノイズが生じ,一定の確率で計算中にエラーが起きてしまうからである。量子コンピューターに限らず,コンピューターは一般に,基本素子の状態変化(これを計算のステップと呼ぶ)を何万回,何十万回と繰り返すことによって計算を進める。ところが量子コンピューターにおいては現在の最高性能の量子ビットであっても,数千回に1回程度はエラーを起こす。
https://www.nikkei-science.com/202208_030.html

『世界を支えるすごい数学――CGから気候変動まで』

イアン・スチュアート/著、水谷淳/訳 河出書房新社 2022年発行

5章 サイバースペースで身を守る より

暗号法を脅かすもの

ここまでたびたび述べてきたとおり、RSA暗号の安全性は、素因数分解は難しいという未証明の仮定に基づいている。その仮定はおそらく正しいだろうが、たとえそうだとしてもこの暗号法を危険にさらす方法はほかにいくつもあるかもしれないし、古典的なあらゆる公開鍵暗号法にも同じことが言える。1つ考えられるのが、従来のどんなコンピュータよりもはるかに高速のマシンを誰かが開発するという可能性である。今日、そのようなセキュリティー上の新たな脅威が近づきつつある。量子コンピュータである。
古典的な物理系はある特定の状態を取っている。テーブルの上にあるコインは表と裏のどちらか一方を上にしている。スイッチはオンかオフのいずれかだ。コンピュータメモリー上の二進数(”ビット”)は0と1のいずれかである。しかし量子系はそうではない。量子的物体は波動になっていて、波動の上に波動を積み重ねることができ、専門的にはそれを重ね合わせという。重ね合わせ状態は、それを構成する各状態を混合したものとなっている。それを真に迫った形で表現した例が、かの有名な(悪名高い)シュレディンガーのネコである。放射性原子1個と毒ガス入りのフラスコからなる仕掛けを仕込んだ気密性の箱にネコを入れると、そのかわいそうなネコの量子状態は”生きている”と”死んでいる”の重ね合わせになる。古典的なネコは生きているか死んでいるのかのどちらかのはずだが、量子的なネコは同時に両方を取りうるのだ。
ただしそれは箱を開けるまでの話である。
箱を開けるとネコの波動関数が”収縮”して、どちらか一方の古典状態になってしまう。生きているか死んでいるかのどちらかだ。ことわざにあるように、好奇心(箱を開けること)はネコを殺す……こともあればそうでないこともある。
ネコにもこのような量子状態が当てはまるのかどうかをめぐっては激しい論争が繰り広げているが、ここでは立ち入らないことにしよう。本書で重要なのは、もっと単純な物体に対しては量子物理学が見事に当てはまり、すでに原始的な量子コンピュータに使われていることである。ビットは0と1のどちらか一方しかとらないが、量子ビット(キュビット)は同時に0と1の両方を取る。あなたや私の机の上またはバッグやポケットの中にある古典的なコンピュータは、情報を0と1の列として扱う。現代のコンピュータ回路はきわめて小型で実際には量子効果が使われているが、計算プロセス自体は古典物理学に対応している。古典的なコンピュータを設計する技術者は、0が0のまま、1が1のままに保たれてけっして入れ替わることのないよう骨を折る。古典的なネコが生きているか死んでいるかのどちらか一方であるのと同じように、(たとえば)8ビットのレジスターにも、01101101や10000110といったたった1種類のビット列しか保存できない。
量子コンピュータはその正反対だ。8キュビットのレジスターはこの両方だけでなく、ほかに254通りの8ビット列をすべて同時に保存できる。しかもその256通りすべてのビット列の計算を同時におこなうことができる。コンピュータが256台あるようなものだ。
    ・
しかし実際のところ、実用的な量子コンピュータの開発に立ち塞がる障壁はきわめて高い。外部からのわずかな攪乱だけでなく、分子の振動、すなわち熱によってすらも、重ね合わせ状態があっという間に”デコヒーレント”、要するにばらばらになってしまうのだ。現状でこの問題を抑えるにはマシンを絶対零度(マイナス273℃)近くまで冷やさなければならず、そのためには核反応の副生成物である高価のヘリウム3を用いるしかない。それでもデコヒーレンスを防ぐことはできず、そのスピードが遅くなるだけだ。そのためすべての計算に誤り訂正システムを組み込むことで、外部からの攪乱を特定してキュビットを本来の状態に戻さなければならない。量子閾値定理によると、デコヒーレンスによってエラーが発生するのよりも速くエラーを修正していかないとこの手法は適用しない。おおざっぱに見積もると、論理ゲート1個あたりのエラー発生率を最大でも1000分の1に抑える必要がある。
エラーを訂正しようとすると不利な面もある。必要なキュビットの数が増えてしまうのだ。たとえばnキュビットで保存できる数をショアのアルゴリズムを使って素因数分解するのは、nからn2のあいだの数におおよそ比例する計算時間がかかる。ここに実用上どうしても必要な誤り訂正を組み込むと、計算時間がn3くらいにまで伸びてしまう。1000キュビットの数の場合、誤り訂正によって実行時間が1000倍になってしまうのだ。
ごく最近まで、数キュビットを超える量子コンピュータを組み立てた人は誰もいなかった。1998年にジョナサン・A・シューンズとミシェル・モスカが2キュビットのマシンを使ってドイッチュの課題を解決した。この課題はデイヴィッド・ドイッチュとリチャード・ジョサの1992年の研究にさかのぼる。従来のどんなアルゴリズムよりも指数関数的に高速で、つねに正しい答えを与える量子アルゴリズムを作れという課題である。そのアルゴリズムで解くべき問題は次のようなもの。任意の長さのビット列を0または1に変換する何らかの関数(ブール関数)を実装した、”オラクル”と呼ばれる仮想的なマシンが与えられているとする。数学的に見るとこのオラクル自体がその関数ある。またこのブール関数は、必ず0を与えるか、必ず1を与えるか、またはちょうど半数のビット列に対して0を与え、残り半数のビット列に対して1を与えることが分かっている。問題は、この関数にいくつかのビット列を入力してその出力を見ることで、この3つのケースのうちのどれであるかを判断することである。このドイッチュの課題はわざと人為的に作られていて、実用的というよりも概念実証のためのものだ。その利点は、量子アルゴリズムが従来のどんなアルゴリズムが従来のどんなアルゴリズムよりも優れているような具体的な問題となっていることである。専門的にいうと、これによって複雑系クラスEQP(量子コンピュータによって多項式時間で正確な解を与えられる問題)と異なることが証明される。
1998年には3キュビットのマシンが、2000年には5キュビットと7キュビットのマシンが登場した。2001年にはリーヴェン・ヴァンダーサイペンらが、特別に合成した分子に含まれるスピン1/2の原子核7個を量子ビットとして用いてショアのアルゴリズムを実装し、15という整数の素因数分解をおこなった。それらの量子ビットは室温の液体状態で核磁気共鳴法によって操作できる。ほとんどの人が暗算でこなせる計算だが、重要な概念実証となった。2006年には12キュビットに到達し、2007年にはD-Waveという企業が28キュビットを実現したと主張した。

                  • -

どうでもいい、じじぃの日記。
量子コンピュータはよくエラーを起こすらしい。
私なんかは、まともな答えは、10に1、2程度だろうか。
そういう意味では量子コンピュータは人間らしい機械だ。
私は死んでパーですが、量子コンピュータは20年後には実用化されるらしい。