Share

BUSINESS

ショアのアルゴリズムの実装可能性を示したClassiq プラットフォームが実用に向けて進化

by 新井 均 |2023年02月15日

本メディアでも何度か紹介している量子コンピューティングソフトウエアのクラシックテクノロジーズ(Classiq Technologies)が、1月10日に “Classiq、マイクロソフトのAzureQuantumを用いて学術的な量子アルゴリズムを自動で実行可能に” というプレスリリースを発表した。


プレスリリースにはかなり専門的な内容が記載されており直ちに理解することは難しかったが、CEOのNir Minerbiに質問をしながらリリースを読み込んでみたところ量子コンピューティング分野の重要な進化を示す内容であることがわかったため、できる限りかみくだいて解説したい。



Classiqは量子回路を自動的に生成することのできるプラットフォームを開発しているイスラエルのスタートアップである。量子回路とは量子コンピューターで実行させるプログラムのようなものであることは2021年1月の記事でも解説した。既存のコンピューターとは全く異なる量子コンピューターの可能性を求めて多くの企業がこの分野に参入してきているが、暗号解析や新薬の合成などのいろいろなアイデアを持っていたとしても、そのアルゴリズムを量子コンピューターで実行させる量子回路として設計・開発するためには高度な専門知識が必要となる。その開発を容易にすることができるツールがClassiqの開発しているプラットフォームなのである。


複雑なアルゴリズムに対応


今回の発表のポイントは「学術的な量子アルゴリズムを自動で実行可能に」という点にある。今回検証されたのは“ショア(Shor)のアルゴリズム”というもので、素因数分解を効率的に実行するための特殊な数を見つけるアルゴリズムだ。我々は素因数分解を中学の数学で学んだはずだが、“ある正の整数を素数(7や31のように、その数自身と1以外では割り切れない数)の積の形で表す”ことであり、例えば12を分解すると、12=4×3=2x2x3 である。この事例のように二桁の整数であれば分解は容易だが、桁数 n が大きくなってくるとその計算に指数関数的な時間がかかり、現在のコンピュータでは現実的な時間で処理することが困難になる。なぜなら総当たりする以外に素因数を見つけ出す方法が無いからだ。現在インターネットでセキュリティ確保のために一般的に使われているRSA暗号は、この素因数分解の難しさを利用した暗号アルゴリズムであり、暗号の桁数が大きくなると、スーパーコンピューターを利用しても現実的な時間では解読することが困難であることを安全性の根拠としている。


これに対し、アメリカの数学者ピーター・ショアは、量子コンピューターを用いれば、この素因数分解を多項式時間(計算理論において多項式で表される計算時間)で解けることを示した。多項式時間については筆者にはわかりやすく説明するだけの力がないため省略させてもらうが、従来は現実的な時間内では解けないと考えられていた問題が効率的に解ける可能性が示された、と理解してほしい。


ピーター・ショア自身による量子コンピュータの解説

前述の通り、Classiqのプラットフォームは量子回路を自動的に生成することができるが、今回検証したのはショアのアルゴリズムという非常に複雑な学術的アルゴリズムである。そのように複雑なものでも、プラットフォーム上で定義すればClassiqのエンジンが量子回路を自動的に生成することができたのである。


このことは、将来の量子コンピューターの様々な応用につながる重要な進歩といえるだろう。Nirによれば、量子コンピューティングのコミュニティで新しいアルゴリズムが開発されると、Classiqはそれらを逐次プラットフォームに追加している。そして、複雑なアルゴリズムもよく知られたシンプルなアルゴリズムから構成されるので、顧客はプラットフォームをより複雑なアルゴリズムにも活用することができる、ということだそうだ。


ショアのアルゴリズム実行には354,562量子ビットが必要


プレスリリースの図にも示されている通り、今回ClassiqのプラットフォームにMicrosoftのAzureQuantum Resource Estimator を組み合わせて、ショアのアルゴリズムを実装する量子回路を最適化した。このツールにより、量子回路の実行に必要な量子ビット数、計算時間等のトータルなリソースを評価することができる。


量子コンピュータの課題の一つだが、超電導状態で微弱なマイクロ波信号を扱うためにノイズに弱い。このため、誤り訂正機能が必要となり、仮に100量子ビットの量子コンピューターがあったとしても、そのうちの一定割合は論理計算ではなく誤り訂正のために利用される。すなわち、アルゴリズムを実行するための論理的な量子ゲート数だけではなく、誤り訂正回路なども含む物理量子ビット数を評価する必要がある。Microsoftのツールにより、ショアのアルゴリズム実行には354,562個の物理量子ビットが必要になることを示した。


Classiqの量子アルゴリズム設計プラットフォームの合成エンジンと、MicrosoftのAzure Quantum Resource Estimatorを用いて、学術論文の量子アルゴリズムを実装する量子回路の最適化

量子コンピューターのハードウエアもIBMやGoogleの開発競争で日々進化しているが、現在利用することができるのは、100量子ビットレベルの量子コンピューターであると言われている。そこから考えても、354,562量子ビットというのがいかに大規模なコンピューターであるかが想像できるのではないだろうか。すなわち、Classiqが生成したショアのアルゴリズムの量子回路を実行できるだけの量子コンピューターは今はまだ存在していない。


しかしNirたちは、彼らのプラットフォームが生成する量子回路が正しく動作すると確信している。そこには2つの理由があるそうだ。その一つは包括的なテストである。彼らは常にシミュレーターを用いて、Classiqが生成する量子回路の実行可能性を検証している。また、量子コンピューターの拡張性が2つ目の理由だ。10量子ビットの回路と100量子ビットの回路とは根本的に異なるものではなく、同じ演算子を用いて同じように設計される。つまり、現時点でClassiqのプラットフォームが生成する10ビットの回路が量子コンピューターで動作するとすれば、該プラットフォームが生成する1000ビットの回路も動作するはずなのである。


今回複雑なアルゴリズムの実装可能性が示されたということは、量子コンピューターの応用分野にとって大きな意味がある。現在研究者たちが利用しているであろう10から100量子ビットレベルの量子コンピューターで実行できるアルゴリズムは極めて限られたものだ。しかし、大規模な量子回路の設計が可能になるということは、ハードウエアの進化が得られたときに見るであろう未来(新薬の開発や災害のシミュレーションなど)への準備が進展することを意味する。未来の可能性を示したということで大きな意義のある進歩ではないだろうか。