量子コンピューターから「量子」が消える日、IPA未踏ターゲット報告会リポート①
「アニーリングマシンをもっと身近に感じてもらいたい」。名古屋大学大学院の小津泰生さんは、2020年2月8〜9日に開催された「未踏ターゲット事業成果報告会」の一番最後のプレゼンターとして、そう意気込みを語りました。
[和装で報告会に挑んだ、名古屋大学大学院の小津泰生さん]
未踏ターゲット事業は、経済産業省と情報処理推進機構(IPA)が肝入りですすめる人材発掘・育成事業の一つです。2018年度から、中長期的なイノベーション推進に挑む人を支援する目的として始まりました。事業開始から「量子コンピューティング技術を活用したソフトウェア開発」(公募概要:IPA、注1)に挑戦する人材の発掘・育成に取り組んできました。小津さんが語る「アニーリングマシン」には、量子コンピューターと呼ばれる装置も含まれます(注2)。
「量子」の産業利用をしやすく
物理学で「量子」と呼ばれる性質を使った量子コンピューターは、今、世界中で開発競争が白熱しています。その計算能力は、量子コンピューターの種類や使い方によってはスーパーコンピューターを凌ぐとの期待がされている一方で、産業的に使えるか、いつ使えるようになるかは未知数との評価もあります(注3)。
それでも、未踏ターゲットが「長期」ではなく「中長期」の支援事業とされているのは、量子コンピューターの産業利用が遠い未来の話ではないと期待されているからかもしれません。小津さんが開発をすすめるアニーリングマシン向けプログラミング言語「SpoonQ」も、量子コンピューターを産業利用しやすくする開発プロジェクトといえそうです。
SpoonQの発想は、私達が日常的に使っている普通のコンピューターが発展してきた歴史に見立てて、量子コンピューターの発展に必要な技術を開発しようというものです。例えるなら、AI(人工知能)の開発がしやすいとして注目を集めているプログラミング言語の「Python」(注4)のように、量子コンピューターを使いやすくするプログラミング言語を作ろうといった考えです。
「PyQUBOはアセンブリ言語に相当すると考えます」(小津さん)。PyQUBOはアニーリングマシンに分類される量子コンピューター(注5)などを使いやすくするソフトです。2018年にリクルートコミュニケーションズが開発・公開しました。小津さんは、このPyQUBOで量子コンピューター(注5)を操る難しさを、普通のコンピューターにとっての“低層”プログラミング言語であるアセンブリ言語に例えました。
[SpoonQのコンセプトを説明する小津さん]
ソフト開発者にとって低水準プログラミング言語で開発するのは、複雑な数値計算を“高水準”な「表計算ソフト」を使わず“低水準”な「電卓」だけで処理するほど難しいことです。理論的には、Pythonのような高水準プログラミング言語で作れるソフトは、全てアセンブリ言語でも作れます。しかし、実際にはアセンブリ言語だけでソフトを作るのが難しく、現代では高水準プログラミング言語だけでソフトを開発するプロジェクトが大半です。
小津さんは、そんな高水準プログラミング言語のように「文法に従って問題を記述できれば、(量子コンピューター(注5)を含む)アニーリングマシンを使って自動で答えが得られる」(小津さん)ような言語開発に挑戦しています。低水準のアセンブリ言語があったから高水準プログラミング言語が開発できたように、小津さんが開発するSpoonQもPyQUBOを参考にして開発されています。
2019年6月に開発プロジェクトが未踏ターゲットで採択され、すでに簡単な問題であれば自動で答えが得られる程にSpoonQの開発が進んでいるようです。「大規模な問題にはまだ使えない」(小津さん)としつつも、「パラメーター探索を改良していく事で、解けるようになると思う」(同)と、開発継続に意欲を燃やしていました。
SpoonQを使って量子コンピューター(注5)を含むアニーリングマシンを操れる人が増えれば、「SpoonQの開発に協力してくれる人も増える」(小津さん)と期待できます。
2020年度から小学校でプログラミング教育が必修化するように、普通のコンピューターの「プログラミング」は、専門家でなくても使える技術として普及しつつあります。SpoonQのようなソフトの研究・開発が進めば、誰でも新しいプログラミング言語を学ぶだけで量子コンピューターを使ったソフト開発ができるようになるかもしれません。
* * *
私達が毎日のように使うパソコンやスマートフォン(注6)といったコンピューターは、「ノイマン型」と呼ばれています。しかし「ノイマン型」であることを意識しなくても使えるほど開発が進み、普及した現代では、あえてノイマン型と付けてコンピューターを呼ぶことは珍しくなっています。
量子コンピューターも開発や研究が進み、日常的に使われるようになれば、「量子とは何か」を意識しないでも使えるかもしれない―――。そんな未来では、コンピューターから「ノイマン型」が省略されるように、量子コンピューターの呼び名からも「量子」が無くなっているかもしれません。
関連記事:「量子コンピューターが掘り起こした価値、IPA未踏ターゲット報告会リポート②」
(取材:大下 範晃/執筆・編集:アイデミー)
━━━━━━━━━━━━━━━━━━
注1:IPAが「量子コンピューター」ではなく「量子コンピューティング技術」と表現するのは、種類によっては「量子コンピューターとは呼ばないのではないか」といった指摘があるためだと思われます。カナダのD-Wave Systemsが販売しているアニーリング型量子コンピューターが登場する以前は、量子コンピューターと言えば量子力学モデルによるチューリングマシンおよび、今日ではゲート型量子コンピューターなどと呼ばれる計算機を指すことが多かったためです。アニーリング型量子コンピューターは、「量子論理回路(quantum logic gate)」と呼ばれる機構を持たないなどの理由から、「量子コンピューターではない」といった意見がありました。同様に、革新的研究開発推進プロジェクト「ImPACT」で開発された計算装置「量子人工脳」も、量子コンピューターとは呼ばないなどの指摘がありました。内閣府は2018年、量子人工脳を量子コンピューターと呼ぶのを控える方針を決めています。
注2:専門領域によっては、「量子アニーリング」呼ばれる手法を応用した装置や計算機を「アニーリングマシン」と呼ぶことがあります。この記事で登場するアニーリングマシンとは、量子アニーリングのために用意された計算機と、「アニーリング型量子コンピューター」などと呼ばれる量子的な性質を応用した装置を総称して「アニーリングマシン」と表現しています。量子情報の分野以外では、銃弾を作る時の焼入れ処理を自動化した装置など、加熱加工する装置を広くアニーリングマシン(annealing machine)と呼ぶことがあります。
注3:Googleの研究チームは、ゲータ型量子コンピューターでスーパーコンピューターでは処理できない計算ができたとして「量子の超越性」を発表しました。
ただし、その計算内容が何か産業的に使えるかは、分かっていません。また、この発表に対してIBMは反論しています。
注4:AI開発でPythonが使われるのは、プログラミング言語の仕様よりも「NumPy」などのパッケージや深層学習用のフレームワークが豊富なこと、利用者が多く参考情報が豊富といった理由によるなどの指摘があります。こうした状況も含めて、PythonはAI開発がしやすいとして注目を集めています。
注5:アニーリング型量子コンピューターのことです。ゲート型量子コンピューターは含みません。
注6:スマートフォンもノイマン型コンピューターの一つです。