量子コンピュータとのファーストコンタクトをしてきた
量子コンピュータをつくっているSPINQへ行ってきた。自分は大学時代に量子力学は勉強したことはあるものの、量子コンピュータについては「なんかすごいもの」ぐらいの、ものすごく雑な知識しかなかったので、事前に「量子コンピュータが本当にわかる!」という本で予習。それによると量子コンピュータの基礎はこんな感じ。
普通のコンピュータ向けのアルゴリズムとは根本が違う、量子コンピュータでしか使えない、チートともいえるアルゴリズムが使える問題は劇的に速くなる可能性がある
それ以外の問題は、普通のコンピュータと同じことしかできない(論理演算に基づく情報処理処理)
「情報処理」は、「量子ビット(qbit)の状態を外部から変化させる」操作。そのやり方は量子ビットの物理的実態によって様々。
結果を観測する時点で量子状態が収束するので結果は確率的。つまり1回「情報処理」をしたあとで結果を観測すると、可能な量子状態のいずれか1つが「確定」する。(量子力学を勉強した人なら、電子の二重スリット実験で、電子が到達する場所は一箇所、とおなじ、というと理解しやすいかも)
1回だけではそれが「正解」かはわからないので、それを何回も繰り返し、「もっとも出現数が多い結果」を正解とみなす。それが統計的に有意な差になるまで繰り返す(中央極限定理から√Nくらい)ことになり、その回数が情報処理に要する時間を決める1つの要因(もう1つの要因は、1回の情報処理にかかる時間)
演算の前後で情報量が変化しない、可逆の演算しかできない。つまりANDのように情報量が減る演算は実現できず、NOTとXOR(に相当する演算)が基本になる。
そのため、外来ノイズで量子状態が変化してしまうと、それを回復する方法がない、つまり外来ノイズに極めて弱い。そのため極低温に冷却する、などの工夫が必要
量子ビット(qbit)を物理的にどう作るかは、いろいろな方法がある。例えば光子、ジョセフソン素子、原子核のスピン、など。
量子ビット(qbit)が多いほど、大規模で複雑な問題を扱える。最適化問題でも解けるものがあり、それ用のアルゴリズムを使う量子コンピュータが、いわゆる量子アニーリングマシン。例えば2qbitでは、「2^2=4通りの量子状態を同時に調べる」ことに相当する処理ができるわけなので、まあ正直、大した問題は解けない。
大規模になりがち&解ける問題が限られる(ただしハマるとめちゃくちゃ高速)ため、現在のコンピュータを置き換えるものではなく、サーバ的に使うのが現実的。
Googleが2019年に「通常のコンピュータでほぼ解けない問題を量子コンピュータで解いた(量子超越性を示した)」というのは、「量子コンピュータで解ける問題を、通常のコンピュータで解いたらめちゃくちゃ時間がかかる」ことを示したもの、つまり「量子コンピュータが解ける問題を設定して両者を比較して量子超越性を示した」のであり、「量子コンピュータがどんな問題でも通常のコンピュータよりも高速に解ける」というのは誤解。
SPINQでは、20qbitの大規模なもの(10mK程度の極低温まで冷却する大規模なもの)も開発している(↑はサファイアウエハで作った量子ビットのチップ)が、個人的に興味があって、今回メインで話を聞いてきたのは、小型・低価格のもの。2qbitの機種が2つあり、デスクトップPCくらいの大きさの”Gemini”が45000USD(600万円くらいか)で、すでに東大を含む世界のいくつかの大学・研究機関に販売している。今回メインでみてきたのは、更に小型のインクジェットプリンタぐらいの大きさの"GeminiMini"で、7000USD(100万円くらいか)。
いずれも量子ビットの物理実体はNMR(核磁気共鳴)を使っている。NMRは原子中の原子核の「スピン」という量子状態を観測する方法。スピンは原子核の自転運動に例えられる物理量で、スピン数が半奇数(1/2の奇数倍)の原子核では正転(上向き)と逆転(下向き)の2つの状態をとりえるが、実際には量子状態であり、「この原子核のスピンが上か下か」は、観測するまでは「上と下が重なった状態」であり、観測した時点で、上か下かのどちらが確定する。そのスピンの状態を観測・制御する方法がNMRで、磁界を加えた状態で、原子に電磁波を照射すると、固有の周波数で共振(共鳴)する(電磁波を強く吸収・放出する)、という現象。そしてその周波数がスピン状態によって異なる(ゼーマン効果)ため、NMRを使ってスピン状態を観測できる。観測する以外にも、スピン状態を変化させることもできる。なおNMRは常温でも観測できるが、温度で特性が変わるので、温度は一定に保つ必要がある。
NMRを観測するシステムは、比較的一般的な構成。永久磁石でつくる磁場の中に対象物質を置き、そこに周波数を変えながら電磁波を照射し、その吸収を計測する。共鳴周波数は数十MHz程度なので、まあ電磁波としてはそんなに扱うのが難しくない周波数なので、ミキサを使わずに直接ADC/DACで扱える。(放大器=アンプ)
中央の2つの丸いのが永久磁石で、まわりに制御回路がある。まあまあ強い電磁波(マイクロ波)を発生・制御するので、強めのMOSFETが並んでいたりする。
ポイントは、対象物質で、必要な量子ビット数の、スピン数が半奇数の別の原子(原子核)をもち、かつ安定な物質である必要がある。2qbitのこの機種では、"(CH3O2)2POH"という化合物を使っている。この中の、原子番号または質量数が奇数の水素(H)とリン(P)が、それぞれ2つのスピン状態をとりえるので、この化合物として2^2=4通りのスピン状態をとりうる。理論上、スピン数が奇数の原子(原子核)がN個の化合物を使えば、N[qbit]の量子ビットになる。当然ながら数が増えれば、化合物の安定性、NMRの計測精度(各原子核のスピン状態の分離)から、実現が難しくなっていくので、そこが技術開発との兼ね合いとなる。
なおマイクロ波のマイクロ波の照射状態と照射時間で、それぞれの原子核のスピン状態を変化させられる、とのことだった(この原理は、まだよく理解していない)。スピン状態を変えることは、量子演算に相当するので、それを設計した順序で行えば、設計通りの量子演算、つまりプログラムを実行することになる。なお「量子状態が壊れるまでの時間(緩和時間)」があって、それがこの化合物だと数十秒程度で、その時間内に何回実行できるか、が、実行可能な量子演算の数を決めることになる。"Gemini mini"では2qbitに対しては10回ぐらい、とのことだ。
最後に量子状態を観測すると、確率的に各量子状態の原子の数の比がわかる、その比が統計的に有意に分かれるまでに必要な演算回数が総演算時間を決めることになる。試しに「何もしない」演算を実行してみたら、00/01/10/11の4状態の確率がすべて25%程度になった。もちろんバラツキはって、この写真のときはキャリブレーションを十分に行わなかったため、15%〜35%くらいのバラツキがあるが、まあ見方を変えれば、量子状態をちゃんと観測している、ともいえる。
量子演算の組み立てはGUIでタッチパネル上でドラッグしたり、アルゴリズムのライブラリから呼び出したりと、かなり直感的にできる。
そして実行開始してから30秒ほどで結果が出る。このプログラムの例では、"11"が有意に確率が高くなっているので、これが結果、ということになる。
正直、2qbitで「実用的な問題」は解けない。4通りのなかから正解を探す、ことしかできないわけだから、どう考えても人間のほうが速い。つまりこの量子コンピュータは実用的ではないんだけど、彼らも「教材用」と位置づけているように、教育的な効果は絶大だった。それまで「よくわからないけど、すごそう」というぼんやりとした理解だった(大学で量子力学をある程度勉強していてもこの程度)のが、もちろん事前の予習もあるけど、実物を目の前にして、ドラッグしてプログラムを組み、その場で量子演算が実行されて、確率的な結果が表示される、という現象を目の前で見てしまうと、量子コンピュータをより深く理解できた、ように思う。価格的に個人で気軽に買えるほどではないかもだけど(実用性はゼロだし)、それでも、量子現象、量子コンピュータを学んでいく大学や学校では、教材としては絶大な効果があるんじゃないかと思う。まさに「百聞は一見にしかず」。
ちなみに”Gemini"は「双子座」で、量子ビットが2qbit、からつけた名前のようだ。もっと大規模な機種には「天秤座」という名前がついている。
この記事が気に入ったらサポートをしてみませんか?