2023年5月28日日曜日

Confirmation of quantum key distribution protocol BB84 with smartphone app (supplement)

[Abstract] BB84 (quantum key distribution protocol) is excellent among the limited applications when using a single qubit (that is, not using quantum entanglement). I've written an article about this in the past, but I'll add it here to make it even clearer. This BB84 is also a good example for learning "measurement of quantum states by orthonormal basis".

What is BB84 (reconfirmation)
BB84 is a method in which 1/4 of Alice's classical bit string of length 4n is used as a secure key between them without sending it directly to Bob. Alice randomly selects an orthonormal basis for each bit of the classical bit string of length 4n, and sends the basis vector (quantum state vector) corresponding to that bit to Bob. Importantly, a method is included to determine if this transmission has been intercepted by a third party, Eve.

Blog articles written in the past
I wrote the BB84 method in detail in the blog post below. (The figure is also reproduced.)
https://sparse-dense.blogspot.com/2022/11/bb84.html



Now, when I read it again, I didn't find any particular mistakes, but I felt that the explanation was a little lacking, so I added the following section "How to actually configure the BB84".

----------(Supplementary explanation added)----------------------------
How to actually configure the BB84
The theory is now explained. From the above explanation, the number of times Alice and Bob's chosen bases match is 2n. The resulting bit string measured by Bob on that matched base matches the bitstring Alice has. So, assuming no eavesdropping, Alice does not send the 2n long bit string to Bob and they can both share the bit string as a key.

However, in reality, Alice is sending the basis quantum state vector to Bob, so we have to check whether it is wiretapped. Therefore, both parties send each other n-length bit strings, which is half of this 2n-length bit string, by "unencrypted normal communication" and confirm the degree of matching. If they match perfectly, it can be said that there is no eavesdropping. On the other hand, if 1/4 of them do not match, it can be said that there was wiretapping. (It takes advantage of the fact that eavesdropping requires measuring its qubit (quantum state vector), which changes the quantum state to be sent to Bob.)

If we find no eavesdropping, we can safely use the other half of the matched 2n long bit string as the key. (Actually, 2n lengths match, but half of them may be known to others due to the above-mentioned normal communication.)

---------------------------------------------------------------------

2023年5月20日土曜日

A smartphone app reproducing the appearance through polarizers

Abstract
This app shows what it looks like with some polarizers placed between the image and the eye. That is, the polarization angle of the photons emitted from the plane of the image and the axis angles of the polarizers are used to calculate how bright they appear. The mathematical model is fully explained in Prof. Chris Berhardt's book "Quantum Computing for Everyone". This relates the spin of an electron to the polarization of  a photon.

Experiments on light using polarizers
A typical experiment is shown in Fig1. When a polarizer with an axis angle of 0° (north direction) is superimposed on another polarizer with an axis angle of 90°, it becomes completely dark as shown in (a). This is because no photons pass through the second polarizer due to the fact that the two directions are perpendicular. However, when a polarizer with an axial angle of 45° is inserted between these two polarizers, the image can be seen to some extent well as shown in (b).

 A smartphone app that simulates polarizers
We designed a smartphone app that can perfectly reproduce the above mysterious phenomenon, and developed it quickly using MIT App Inventor. Fig.2(a) shows its user interface. On the other hand, Fig.2(b) is the explanation screen of the mathematical model which is the principle of this application. This shows the formula for calculating the probability of a photon passing through a polarizer. This probability is reflected in the transparency of the color. Furthermore, Fig. 3 shows it visually.



The experiments with this app shown in Fig.4(a) and Fig.4(b) correspond to Fig.1(a) and Fig.1(b), respectively. The axis angle of each polarizer can be set with a slider. These results perfectly reproduce the manual experiments shown in Fig. 1(a) and (b). And Fig. 5 shows the observation when the polarization angle θ of the incident photon is changed from 0° to 45°. This result also seems perfectly convincing.

 Youtube video showing how this app works
The above experiment using this app is published in the following Youtube video:
(the link to the video has been updated, so please click again.)


 MIT App Inventor program
As mentioned above, this app was efficiently developed with MIT App Inventor. Fig.6 shows its main part. The polarization angle of the incident photon and the angle of the axis of the polarizer determine the probability of the photon passing through it, and determine the color transparency accordingly.

 
A little improvement for your enjoyment
You can also change the background image and user interface design to your liking. Fig.7 shows an example.

2023年5月16日火曜日

光子が偏光板を通過する確率のグラフ表示

[要旨] 偏光板の重ね合わせで起こる不思議な現象を再現するスマホアプリを前回作成しました。そこでの要点は、量子重ね合わせの原理に基づき、光子が偏光板を通過する確率を計算することでした。今回は、単にそのビジュアライゼーションに過ぎませんが、2D、3Dグラフ表示で通過確率の様子を楽しみます。

光子が偏光板を通過する確率のグラフ表示
 偏光角度θの光子が軸角度αの偏光板に到達した場合、光子がそこを通過する確率pは、量子計算の基礎事項にも基づき以下のように計算できます。

p = (cosθcosα + sinθsinα)の平方

 この確率pを3Dグラフ表示したのが図1です。ちょっとたいそうなグラフになってしまいました。角度θとαが等しい場合だけ確率p = 1.0(最大値)となり、両者が直交する場合はp = 0.0(底面の最小値)となることが確認できます。また、全体としては、対角線に直交して進むsin波のようになっています。

 さらにもう少し分かりやすくするため、光子の偏光θの軸でスライスして、2Dグラフ表示したものが図2です。

 
 ついでに、Mac Grapherによる、方程式からのグラフ描画も載せておきます。

2023年5月14日日曜日

量子力学計算に基づいて偏光板を模擬するスマホアプリ

[要旨] 偏光板の重ね合わせで起こる不思議な現象は、量子コンピューティングの数学モデルによって、すでに説明がついている。→こちら→こちらにその記事を書いた。今回の記事では、その原理に基づいて開発したスマホアプリ(with MIT App Inventor)について述べる。実物の偏光板で行ったのとほぼ完全に同じ結果を得ることができた。

その後の改訂版はこちらです。

スマホアプリの概要
 今回のスマホアプリの外観は図1のようである。動作原理は、既報と同じなので詳細は略す。要点は、ある偏光板に到達した光子の偏光角度がθで、その偏光板の軸角度がαである場合、光子がそこを通過する確率を計算できることである。αとθが等しい場合は通過確率 = 1.0、両者が直交する場合は通過確率 = 0.0 となる。
 スマホ画面での見え方は、偏光板に相当する円盤の塗りの透明度を、その通過確率を適用して調整すれば良いのである。実際の偏光板は正方形が多いが、ここでは、回転処理を簡単にするため円形を用いた。その円盤の回転を明示するため、スライダーを用いて、中心から円周に至る1本の直線を回転させた。 
 なお、最初の偏光板1に到達する光子の偏光角度は全くランダムなのであるが、ここではそれを何らかのフィルターを通して、ある偏光角度になっていると仮定する。一例として、偏光板1に到達する光子はデフォルトでは45°に偏光しているが、ランダムな角度に設定することもできる。


スマホアプリの実行例

 3枚の偏光板を使う操作例を図2に示す。以下の手順で観察する。
  1. 画像に1枚目の偏光板を置くため、偏光板1にチェックをつける。軸角度は0°になっており、この方向に偏光した光子だけが通過するので少し暗くなる。(上記仮定から、光子の通過確率は0.5となるためである。)
  2. 次に、一番手前の偏光板3にもチェックをつけて、偏光板3を重ねた状態にする。偏光板3のスライダーを右へ動かすと段々暗くなる。軸角度90°では光子は全く通らなくなり、真っ暗になってしまう。
  3. さらに、偏光板1と偏光板3の間に入れる偏光板2にもチェックをつける。そして、その偏光板2のスライダーを右へ動すと段々見えてくる。軸角度45°の時が一番よく見える!この場合、偏光板1を通過した光子が偏光板3も通過する確率は、下図右側の通り、0.25となり、ある程度が画像が見えてくる。

 この操作例はYoutubeビデオとしてここに公開しているので、ご覧いただきたい。

感 想
 光子がどのように種々の軸角度の偏光板を通過するか(あるいは吸収されるか)は、量子力学計算で明らかにできる。それを、これまでに、机上計算、IBM Quantum実機、今回のスマホアプリの3通りで実現できた。量子コンピューティングの最も基本的な概念の一部の理解を深めるのに非常に有効だと感じた。

 今回のアプリは、MIT App Inventorを用いて、着想から半日程度で実装することができた。(ただし、ユーザインタフェースはその後も手直しはした。)この経験から、「実感する科学」「身の回りの数学」「セミナー」などの題材検討にご参考になれば幸いである。

2023年5月11日木曜日

量子コンピューティングEXPO(2023春)に参加

【要旨】 5/10-12に東京ビックサイトで開催された、量子コンピューティングEXPO(2023春)に参加した。これ以外に、AI・人工知能EXPO、ブロックチェーンEXPO、デジタル人材育成支援EXPOも同時開催されたこともあり、非常に多くの参加者が見られた。本記事では、「量子コンピューティング」についてのみ、簡単に報告する。

量子ゲート型 vs 量子アニーリング型について
 量子ゲート型に関しては、IBMが1121量子ビットの「IBM Quantum Condor」を発表すると宣言している。また国内では理研から国産初の64量子ビットコンピュータが既に公開された。それでもなお、まだまだ、真の実用化に向けた課題は山積しており、実用問題での確実な成果を見通せる段階ではない。今回のEXPOでもそういう雰囲気があった。一方、量子アニーリング型の方は、各メーカが大学等と共同研究で、実用的な最適化問題(物流、金融、配置、等々)で成果を上げている潮流を感じた。

大関真之 東北大学教授の量子アニーリングに関する講演
 講演タイトルは、「ビジネススケールに対峙する量子コンピューティング技術」であった。聴衆は恐らく1,000名を超え、"満員御礼"となっていた。彼は、元々、量子アニーリングの創始者である西森秀稔東工大教授のグループで研究した人であり、東北大学へ行ってからは、スタートアップ企業(株)シグマアイを起こした。それだけに、ほとんど、量子アニーリング技術の実世界への適用と今後の見通しであった。現時点では、実用的には、"量子コンピュータ" は、"量子アニーリング型" なのかも知れない。

 (株)高速、という企業の倉庫内の物品(主にトレー)配置最適化への取組みが印象的であった。スーパー等で必要なトレーの種類は多彩である。用途(肉、魚、野菜等々)、大小、形状、デザイン等々で異なる。倉庫には膨大な個数がストックされており、注文に応じてピッキングするのだが、種別の配置が大きな問題である。定常的に数多く出荷されるもの、何種類かがペアで出荷されるもの等があるので、倉庫内にどのように配置すればピッキング効率が上がるか、という問題である。

 この問題は、原理的にはペアの組み合わせ他を考慮すると実に17!(=3兆)個に上るという。もちろん、現場の作業員が長年の経験から、ある程度良い配置をすで行っているのだが、それは数値化されていないし、最適解にどれだけ近いかも分からない。そこに、量子アニーリングの出番がきた。泥臭い地道な検討に多くに時間をかけたが、結論から言うと、現状の配置に対して、人員や作業時間などのトータルコストで、10%の改善を達成できたという。10%と言う数値は素人には小さいな値のように見えるが、大量の物品を日常的に扱う大規模倉庫業においては、非常に価値のある効果なのである。

 一般的に言って、実用的な数理最適化問題においては、古典コンピュータ上での王者とも言えるGurobiに、大規模問題では負ける傾向があった。しかし、ごく最近の取り組み(量子アニーリングと古典数理アルゴリズムの組み合わせ)によって、大規模問題でもGurobiに勝つ見通しを得たという。それは、非常に多くの制約条件の変換を含む、シグマアイのOpt Operationという方式のようである。

(株)長大のクオンタムシティ構想
 量子技術で都市全体を最適化する、社会を変える、という構想を展示していた。量子技術によるエレルギーや交通などの分野別の最適化だけでなく、分野横断的な最適化を行い都市全体の最適化を目指す。現在の具体的なターゲットしては、配送車、配送ドローンなどの運用最適化であり、そこに、量子アニーリングによる最適化技術を組み入れる。もちろん、官公庁、物流企業、量子コンピュータメーカとの連携体制を強調していた。

北川勝浩教授(大阪大学)が語る量子コンピュータが導く未来
 これは、会場で配布された「量子ICTフォーラム通信 No.4, 2023」に掲載されているものである。一般には出回っていないので、これを入手できただけでも、このEXPOに参加した価値があった。特集「量子コンピュータが導く2050年の未来 - 誤りのない量子コンピュータで地球規模の課題に根本的な解決策を」として、北川教授が深い思いを語っておられる。
 これを読むと、「量子コンピュータは古典コンピュータよりもどれだけ高速なのか」とか、「日本の量子コンピュータ技術は、IBMやGoolgeに大きく遅れをとっているのではないか」という言い方は、愚問とまでは言えないが、ほとんどナンセンスだと思うようになる。大きな構想を持って、しっかりとした目標を据え、着実に進めていくという腰を据えた取組みこそが価値のあるのだ、そう思うようになる。
 具体的な(ゲート型)量子コンピュータの方式は、まだ誰も、これだと決められる状況ではない。したがって、超伝導方式、イオントラップ方式、光量子方式、半導体方式、中性原子方式の5つを並行して進めている。そうすることで、また別の新たな方式が浮かび上がるかも知れない。東大、日立製作所、大阪大学、日電、理研、慶應大学などがそれぞれを鋭意研究開発している。新進気鋭の研究者たちを励まし、互いに助け合いながら切磋琢磨できるフィールド作りを非常に重視している。こうした北川教授の語りに感銘を受けた。

感 想
 私の興味は、現時点では、量子アニーリングよりも量子ゲート型に向かっている。しかし、現実的な組み合わせ最適化問題を解く場合は、量子アニーリングをもっと研究し活用すべきだと感じる。
 ゲート型の量子コンピュータについて言えば、今後生き残るハードウェア方式は変わるかも知れないが、量子コンピューティングの数学モデルは量子原理そのものに基づいているので、普遍的なものだと思う。なので、今、その基礎を学ぶのは必然だろう。
 古典コンピュータで非常に性能良くできていることはそのままで良い。そうではない、未解決の、新しい問題に対処するために量子コンピュータがある。だんだん、そういう思いが強くなってきた。そこには、全く新しい世界がある。だから興味が持てる。
 次に予定されているイベントで、私が参加したいと思っているのは、Q2B23 Tokyo(2023年7月)である。多分参加する。

---------------
[蛇足] ChatGPTは感想文は書けない
私:上記の文章を読んだあなたの感想を書いて下さい。要約ではなく。
ChatGPT: 申し訳ありませんが、私は感情を持つことができない機械学習モデルです。私は人間の言語処理を支援するために設計されており、専門的な知識や情報の提供をすることができますが、感情を持つことはできません。

2023年5月8日月曜日

"Quantum Computing for Everyone" 再訪2 - IBM Qによる測定

[要旨] 偏光板の重ね合わせによる不思議については、すでに、前報(こちら)で述べた数学モデルが、その全てを説明している。だが、それを量子コンピュータ実機(IBM Quantum)でも確認することにした。それによって、"量子の測定"への理解を深め、Qiskitによる量子プログラミングにも親しむことができる。

複数の偏光板を重ねて物を見る
 その実験を図1に再掲する。2枚の偏光板の軸を共に0°で重ねた場合は良く見える(a)が、2枚目を90°に傾けると全く見えない(b)。しかし、それら2枚の間に、45°に傾けた偏光板を挿入するとだいぶ見えてくる(c)。それを解明する数学モデルに従って、各偏光板を通過する光子(photon)の個数を、量子コンピュータ実機で計測するのである。

偏光板を通過する光子の個数の測定(IBM Quantum利用)
 蛍光灯などの環境下では毎秒膨大な数の光子が放出されるが、ここでは、見ている画像「年賀」から、2万個の光子が放出されていると仮定する。図1(c)のケースで、3枚目(一番手前)の偏光板を通過した光子の数は何個か?これを、IBM Quantum実機で計測した結果を図2に示した。
 偏光板を見ることが量子(本例では光子)の測定となる。その結果、偏光板を通過した光子は、その偏光板の軸と同じ方向に偏光している。その方向は、対応する正規直交基底の第一ベクトルと同一である。そして、測定結果の古典ビット0は通過した光子に、古典ビット1は吸収された光子に対応させる。測定結果を古典ビット0, 1の出現カウントで表したのが図2である。
 数学モデルによれば、図1(c)のケースでは、各偏光板を通過するごとに、その光子の個数は確率的にちょうど半減する。しかし、図3に示した量子コンピュータによる実測では、古典ビット0の方が、1よりも多く出現する傾向が見られる。利用したマシンibmq_manilaは、無料で使える少し以前のものである。エラー発生率が比較的高いように見える。ただし、最近、急速に進化した新機種が投入されているので、そのエラー率は低減していると思われる。だが、使用料はかなり高額なので、試していない。

 ここで、「実測」という言葉を使ったが、「シミュレーションではない」という意味である。シミュレーションでは、計算された確率に従って測定結果が決まるが、今回の量子コンピュータの利用においては、その確率は当方が計算したものではなく、量子現象そのものとして決まるという意味合いである。

 念の為、ほとんど何も見えない、図1(b)のケースもやってみた。図4に示す通り、1枚目を通過した光子の8.4%しか2枚目を通過しない(94.6%は吸収された)という結果となった。図5は、測定結果の0, 1出現頻度である。これでもやや多め(理論的には0%)だが、実験的な量子コンピュータによる結果として受け入れ、納得する。



Qiskitプログラミング補足
 今回のQiskitを利用した量子プログラミングで気づいたことを忘備録として残す。
  • 2万光子を発生させるのだが、量子ビットは1ビットのみとした。それは|0>に初期設定されているので、それにアダマールゲートHを施した。宙ぶらりんの状態にするためだ。不特定方向の2万光子を発生させることは、量子測定を2万ショット行うことで代用する。
  • 偏光板による測定では、軸方向を任意に設定できるように、組み込みのゲートを使わずに、ユニタリ行列を与えてゲート機能として動作させた。
  • 1枚目は軸方向0°なので、それを通過する光子は確実に半数となり、その状態は全て|0>となる。ここから本実験は始まる。
  • 2枚目の偏光板(軸方向45°)へ入ってくる光子は垂直に偏光しており、3枚目の偏光板(軸方向90°)へ入ってくる光子は45°の向きに偏光していることに注意する。
  • 偏光板へ入ってくる光子の個数は、前段の偏光板を通過した光子の個数となるので、それがその偏光板による測定のショット回数となるように(人手で)設定した。すなわち、各偏光板毎に新たなjobとして順にマシンへ投入した。もっと良い方法があるかもしれない。
  • Qiskitコード例は、ChatGPTとの対話からも得られた。例えば、ユニタリ行列をゲートとして利用する具体例など。
感 想
 数学モデルで解明されているなら、量子コンピュータを使う必要はないだろう、という声も聞こえてきそうだが、それは違う。実際に量子プログラミングを行い、実行結果を観察すれば、それまで気づかなかった重要な事項も発見でき、また、量子現象への理解は確実に深まる。

----------------------------------------
FoYo private note:
IBM Quantum lab /Orthogonal_Bases/UnitaryMatrix_ex3.ipynb