ブラジルの量子コンピューティング関係の友人から、素敵なクリスマスカードが届きました!
"Feliz Natal" とはポルトガル語で「メリークリスマス」を意味します。
ご覧ください。
なお、彼の小さな素晴らしい量子コンピューティング書籍はこちらで紹介しました。
I am a professor emeritus of CS at Kanagawa Institute of Technology, Japan. Originally my specialty was parallel and distributed systems. My current interests include machine learning, natural language processing, creating mobile apps with MIT App Inventor, and quantum computing. In the web version of this blog, clicking the icon on the right (a plastic sphere) will take you to the "List of Quantum Computing Articles". - Fujio Yamamoto (for e-mail, add "@ieee.org" after "yamamotof")
ブラジルの量子コンピューティング関係の友人から、素敵なクリスマスカードが届きました!
"Feliz Natal" とはポルトガル語で「メリークリスマス」を意味します。
ご覧ください。
なお、彼の小さな素晴らしい量子コンピューティング書籍はこちらで紹介しました。
In the previous article, I used MicroBlocks to control the slider of the MIT App Inventor app from a micro:bit device. This time, I tried to display the results of my quantum circuit simulator on the micro:bit. Yet another use case for the micro:bit!
In quantum computing, one of the simplest and most important circuits is the Bell circuit, because it generates strong quantum entanglement. For example, for the Bell circuit in Fig.1, if the states of the two quantum bits are |0> and |1>, the output (measurement result) will be 00 and 11 with a 50% probability, respectively. And the results 01 or 10 will never appear. In other words, if the measurement result of one quantum bit is 0, the other will always be 0. On the other hand, if one is 1, the other will always be 1. I would like to try to display such a situation on the micro:bit.
My mobile circuit simulator has 12 types of quantum circuits using 2 to 6 qubits built in as examples. This time, I selected the Bell circuit from among them, as shown in Figure 2. The measurement results for that were displayed on the micro:bit, as shown in Figure 1. Of course, you need to first connect this simulator and the micro:bit with BLE. Each time the go button is pressed, the display on the micro:bit changed according to the probability obtained in ④.[Design Considerations]
Since this circuit deals with two quantum bits, it is natural to use two micro:bits to display the output. However, when using MicroBlocks, it was found that the following two methods are either not possible or difficult to achieve.
[Additional information]
The above example focuses on two qubits, but I have also created a version shown below that can display the measurement results for up to five qubits.
Recently, I read an article titled "Using MicroBlocks with MIT App Inventor" [1]. It looked very interesting, so I applied it to the quantum bit simulator I am creating. Specifically, I controlled two sliders to change the state of quantum bit on the Bloch sphere with a single MicroBlocks device. I was able to experience a fun feeling of operation that was different from software sliders!
The outline is summarized in two figures, Fig. 1 and Fig. 2, below. If you would like to know more about this quantum bit simulator, please refer to the document [4].
[1] Using MicroBlocks with MIT App Inventor (by App Inventor Foundation)
https://microblocks.fun/blog/2024-11-08-appinventor-intro/
[2] MicroBlocks BLE Extension (by Peter)
https://community.appinventor.mit.edu/t/microblocks-ble-extension/129412
[3] Tools Extension (by Taifun)
https://puravidaapps.com/tools.php
[Abstract] IBM Qiskit is used as a typical development environment for quantum computing. Its version is frequently updated, and some parts are soon deprecated, which can be confusing. The description of quantum gates and quantum circuits remains almost the same, but there are frequent changes in simulations and execution methods on actual machines. Here, I would like to note three typical execution methods at the present time (2024-11-10).
🔴Example: Quantum computation part of Shor's prime factorization algorithm
Here, we will focus only on running the order finding quantum circuit, which is the main part of Shor's algorithm. Fig.1 shows the prime factorization of the very small integer 15 (15 = 3 × 5) for demonstration purposes. We will not explain the relationship between the entire Shor algorithm and the quantum circuit in Fig.1 this time, so if necessary, please refer to the following past articles.
🔴[1] Simulation with Qiskit Sampler (run on local PC)
Qiskit Sampler is the most common simulator for running a quantum circuit (name: qc) like the one in Fig.1 (including measuring the lower three qubits). The main points of its use are as follows. The results of this simulation (measurement results of 1,000 shots) are shown in Fig.2.
# Running the Simulation
from qiskit_aer.primitives import Sampler
sampler = Sampler()
result = sampler.run(qc, shots=1000).result()
# Extraction and visualization of measurement results
quasi_dists = result.quasi_dists
binary_quasi_dist = quasi_dists[0].binary_probabilities()
counts_dict = quasi_dists[0].binary_probabilities()
counts = Counts(counts_dict)
plot_histogram(counts)
English version here
【要旨】量子コンピューティングの代表的な開発環境として、IBM Qiskitを利用している。そのバージョンアップは頻繁になされて、すぐにdeprecated(非推奨、または廃止)となる部分が多く、困惑する場合がある。量子ゲートや量子回路の記述などはほとんど変わらないが、シミュレータ、および実機での実行方法などの変更が多発する。ここでは、現時点(2024-11-10)での典型的な実行方法3つをメモして置きたい。
🔴例題:Shorの素因数分解アルゴリズムの量子計算部分
ここでは、Shorのアルゴリズムの主要部である位数計算(order finding)量子回路を動かすことだけに注目する。Fig.1は、デモとして動かすための、極く小さな整数15の素因数分解(15 = 3 × 5)の場合である。Shorのアルゴリズム全体とFIg.1の量子回路との関係などは今回は説明しないので、例えば以下のような過去記事をご覧いただきたい。
🔴[1]Qiskit Samplerによるシミュレーション(ローカルPCで実行)
Fig.1のような量子回路(名称:qc)の実行(下位3量子ビットの測定を含む)を行うための最も一般的なシミュレータとして、Qiskit Samplerがある。その利用の要点は以下のとおりである。このシミュレーションの結果(1,000 shotsの測定結果)をFig.2に示す。
# シミュレーションの実行
from qiskit_aer.primitives import Sampler
sampler = Sampler()
result = sampler.run(qc, shots=1000).result()
# 測定結果の取り出しと図示
quasi_dists = result.quasi_dists
binary_quasi_dist = quasi_dists[0].binary_probabilities()
counts_dict = quasi_dists[0].binary_probabilities()
counts = Counts(counts_dict)
plot_histogram(counts)
【要旨】政府関係機関(理研など)主催の量子コンピューティング国際会議 "Quantum Innovation 2024" が、東京(お茶の水)で3日間に渡り開催された。主に、研究者や専門家向けの会議である。日本、米国、欧州などの主要な研究機関からの講演と多数のポスター展示が行われた。小生は、単なる量子コンピューティング愛好者(アマチュア)に過ぎず、理解は全く十分ではないのだが、参加しての感想などを、極く簡単に述べたい。
🔴開催概要
参加者は500名を超え、会場のキャパシティから満員御礼が出ていた。量子コンピュータの実用化にはまだまだ時間がかかる状況にも関わらず、これだけの参加者があって、活気に満ちていたことは、予想外であった。大手の量子コンピュータメーカであるIBMやGoogleなどからの発表などは全くなかった。もしも、それもあれば、雰囲気はもっと変わっていただろうが、今回はそうではなく、各国の政府関係機関や大学等の取り組み状況や研究開発マイルストーンが示され、討論がなされた。
狙いとして、(1)量子技術の実用化の促進、(2)量子技術の人材育成、(3)国際協力の促進などが掲げられていたのだが、(2)の人材育成はほとんど語られず、(1)と(3)が主な話題であった。講演はKeynoteを含めて80件ほど、また、ポスタセッションは合計150件と意外に多かった。講演は著名な研究者の登壇が目についたが、ポスターは学生発表もかなり多かった。それが、暗黙の(2)人材育成なのかも知れない。
🔴Plenary Sessions(Keynote)からいくつか
・Sergio Cantu : QuEra’s path to fault-tolerant quantum
ボストンを拠点とするQuEra Computing IncのCEOの講演。超電導方式に代わる中性原子(neutral atom)による量子コンピュータの開発で、昨年末あたりから急に有名になっているベンチャである。HarvardおよびMITと密接に繋がっている。特に、量子エラー訂正に対するアプローチと、フォールト トレラントな量子コンピューティング(ハード、ソフト、アルゴリズム、クラウドアクセスを包含)の実現を目指す。2024年に256-qubit、2025年に3,000-qubit、2026年に10,000-qubitを世に出したいとのこと。
・Vlatko Vedral (Oxford U):Quantum physics in the macroscopic domain
冒頭で、"Quantumとは真に何を意味するか?”という、ドキッとする質問を会場に投げかけていた。案の定、哲学的というか生命の根源に関わる話が続いた。すなわち、生命システムも量子コヒーレンス、重ね合わせ、そして量子エンタングルメントも利用して、特定のタスクを効率的に実行していることを示唆する証拠がある(バクテリアでの例)というお話!それを、マクロレベルで、量子効果の維持および制御に結びつけられるのかを考える。すなわち、量子コンピュータを構成するために。
・Taro Shimada(Quantum STrategic industry Alliance for Revolution(Q-STAR))
Q-STAR’s initiatives for building a quantum ecosystem
Q-STARは、産官学一体となった量子技術への転換を加速させることを目指す、日本の一般社団法人。量子技術の急速な進歩に伴い、多くの国が国家戦略を策定し、国際協力を推進している。Q-STARは、堅牢な量子システムの構築、国際標準化の推進、グローバルパートナーシップの強化に向けて活動している。具体的な量子コンピュータ方式としては、冷却原子タイプのものに着目しているようである。
・Celia Merzbacher(QED-C 米国):QED-C Overview: Looking back and looking ahead
QED-Cは、量子産業の実現と成長を目指す利害関係者の経済グローバル コンソーシアムである。米国国家量子イニシアチブ (NQI) の一環として設立され、250 を超えるメンバーと米国立標準技術研究所 (NIST) によってサポートされている。QED-C は、エネルギー、金融、物流、ナビゲーション、バイオメディカルなど、さまざまな分野での量子技術の使用事例に関するレポートを公開していて、国際協力を進めるている。だが、技術輸出は、国家の安全保安上、慎重さが求められることも強調していたのが印象的だった。
🔴一般講演の分野は三つ
上記以外の講演とポスターセッションは、大きく以下の3分野に分けられていた。
🔴量子暗号と通信(Quantum Cryptography & Communication)
これは、社会一般にそのインパクトが伝わりやすいので注目度は高まっている。特に、量子鍵配送(QKD:Quantum Key Distribution)は、量子セキュアネットワークの不可欠な要素である。(正しいか否か確信は持てないが)この分野は、汎用的な量子コンピュータが実現しなくても、すでに利用できる量子技術があるため研究開発が進んでいるのではないか。すなわち、アプリケーションレイヤーのソフトウェア技術は、1984年に発表されたBB84と、1991年に発表されたEkert Protocolが現在でも理論的基盤となっていることは間違いなかろう。
BB84では量子もつれは使われないが、Ekertは量子もつれが根底にある。両アルゴリズムとも、送信者と受信者が独立にランダムに選択した正規直交基底を用い、それぞれの測定結果としての確率が、盗聴の有無を決定づける。だが、100Kmオーバーの距離で、大量のもつれた量子対を光通信で送るための技術課題が多く、現在それに取り組んでいるという状況らしい。すなわち、アプリケーションレイヤの下の、Network management、Key management、Quantum Layerの各々の実装技術である。数件あったこの分野の発表のうち、シンガポール国立大のHao Qinの講演や、東芝のShinya Murai氏による講演は比較的分かりやすく、説得性があったように思う。
小生、普段は量子コンピューティング(fundamentals)関連 記事を書いています。そこで作成しているアプリは、ほぼ全面的にMIT App Inventorを利用しています。そのApp Inventorと日本のある女子学生の関わりに関するstoryが以下に掲載されています。
素晴らしい記事だと思います!🎉🎉🎉
🔴MIT App Inventorトップページ
https://appinventor.mit.edu/
🔴App Inventor Foundation Newsページ
https://www.appinventorfoundation.org/news/rika-suzuki
前報では、量子もつれの不思議さを感じられるMermin-Peres Magic Gameについて述べた。今回は、量子特有の別の性質、量子重ね合わせ(superposition)を巧みに利用した「偽コイン発見」Counterfeit Coin Puzzleについて簡単に書いてみたい。
🔴偽コイン(Counterfeit Coin)発見パズル
n個のコインのうちに、k個の偽物が混じっているとする。偽物は、いずれも正常なものよりも一定量だけ軽い。どれが偽物かを特定したい。ここでは(左右の皿に同数のコインを入れて均衡を測るため)天秤を使う。では、何回、天秤で測定すれば偽物を特定できるか。それを解くための計算量に関する研究はすでに発表されている。
具体例で検討する。今、8個のコインのうち1個が偽物(n = 8、k = 1)について考える。この場合、2回だけ天秤で測れば偽物を特定できることが分かっている。
🔴量子天秤では1回の測定で偽物を特定できるという事実
量子計算ではなぜそれができるのかについては、IBM Qiskitの解説[1]や書籍[2]などに詳しく掲載されている。本稿では、whyではなく、howについてだけ示す。つまり、「こうすればできる」というメモとして叙述する。
(1)「量子天秤」Quantum Beam Balanceを作る
例えば、11111001のような、1が偶数個のバイナリストリングを考える。これは、コインq7q6q5q4q3q2q1q0に対応するが、q1とq2を除く6個のコインを皿に載せた状態を意味する。左右どちらの皿に載せるかは問題ではない。下図は、そのようなすべてのバイナリストリングの重ね合わせ状態(superposition)を作る仕掛けである。その作成が成功した場合は、最下段の量子ビットq8が0となり、失敗の場合は1となる。その成功の確率は0.5なので、成功するまで繰り返せば良い。
このsuperpositionの作成が成功した場合(q8の測定結果が0の場合)、図の右端に置かれたCNOT(制御付きNOT)が働いて、偽コインのインデックス(この場合は3)が設定される。念のためだが、これによって予め答えを教えている訳ではなく、偽物のコインを一つ入れたに過ぎない。この時点で、必要な量子天秤を構成したということになる。
(2)量子天秤で偽コインを特定する
引き続き、下図の量子回路を適用すると、偽コインを特定できる。回路の説明は略すが、注目すべきは、この回路を1回通すだけで、すなわち、量子天秤で1回だけ測定するだけで結果が出ることである!
参考資料
[1] Quantum Counterfeit Coin Problem,
https://github.com/qiskit-community/qiskit-community-tutorials/blob/master/games/quantum_counterfeit_coin_problem.ipynb
[2] Vladimir Silva, Quantum Computing by Practice (Chapter 8), APress, 2024.
---------------------------------
private memo:
Anaconda -
/IBM_Qiskit_Local_Sim_OK/Completed_qiskit1x/Counterfeit_coin_IBM_2.ipynb
---------------------------------
So far, I have created many quantum apps and several quantum circuit simulators. Recently, I have revised these. Enjoy the videos showing how they work!