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

2023年4月28日金曜日

"Quantum Computing for Everyone" 再訪1-測定と基底

[要旨]数ヶ月前に、"Quantum Computing for Everyone" by Prof. Chris Bernhardtを、最後まで読み終えた。だが、そのままにしておくと記憶が薄れてしまうので、再度最初から学び直し、頭に定着させることにした。前回見落としていたこと、新たに分かったことも出てきた。名著であることを再認識している。本記事では、(量子もつれの前段の)電子のスピン、光子の偏光、量子ビット、順序付き正規直交基底、重ね合わせ、測定の考え方等を、独自のイラスト中心にまとめて復習とした。(続編も書く予定である。)

その後[補足1][補足2]][補足3]説明を追加した。2023-05-01

Quantum Clock
 これは、全くヘンテコな時計だ。見ることも、何時かを聞くこともできない。できるのは、例えば、"12時ですか?”のように問うことだけである。その答えは、"はい、12時です"、または、"いいえ、6時です”のいずれかになる。Fig.1で簡単に説明する。"12時ですか?”の答えが来た後に、再度同じ質問をすれば、全く同じ答えが返ってくる。すなわち、2回とも、"はい、12時です"、となるか又は2回とも、"いいえ、6時です”のいずれかとなる。だが、2回目の質問を、"3時ですか?”に変えると、その答えは、"はい、3時です"、か又は、"いいえ、9時です”のいずれかになる。
 この量子時計なるもの、何かの役に立つのか?Yesなのである。この後に示す「電子のスピン」や「光子の偏光」を測定する場合と全く同じなのである。すなわち、"XX時ですか?" は、量子をXX方向で測定することに相当するのである。

電子のスピンの測定(measuring spin of electrons)
 古典ビットには、"測定"という概念はない。だが、量子ビット(qubit)は、測定することによってはじめてその値が決まる。有名なStern-Gerlachの実験を模倣した、電子のspinの測定イメージをFig.2に示す。測定装置(apparatus)の向きが重要であることを示したものだ。
 この状況を説明する数学モデルをFig.3に示す。図は連続して計測するケースだが、その向きが異なる場合を説明している。測定器の向きとそれに対応する順序付き正規直交基底(ordered othonormal bases)の関係は、量子コンピューティングのおける最も重要な基本事項の一つであろう。

光子の偏光の測定(measuring polarization of photons)
 光子の偏光を測定する場合、上記のStern-Gerlachでの磁石を用いた測定器に相当するのが偏光板(polarizing filter)である。特に注目に値するのは、Fig.4の(b)の2枚の偏光板(0°と90°の)の場合よりも、(c)の3枚偏光板の方がより多くの光を通すことだ。通常のフィルタの常識とは逆の結果なのである。
 Fig.4の状況も、Fig.5に示す数学モデルで明快になるのである。この場合も、偏光板(Polarizer)の向きに対応する順序付き正規直交基底で説明できる。


補足1(偏光板の軸の傾きと順序付き正規直交基底)
 例えば蛍光灯からは、毎秒10の20乗個の光子(光の最小単位)が放出される。光子ひとつづつが、それぞれランダムな方向に波打って進む。その波の傾きが、偏光板(フィルタ)の軸の傾きと一致すれば、その光子は偏光板を確実に通過する。一方、両者の傾きが直交する場合は、光子は通過できず確実に吸収される。では、それ以外の傾きの光子はどうなるのか?それを説明するのが、上記Fig.5なのである。偏光板の軸の傾きに対応した、順序付き正規直交基底(以後、単に基底と呼ぶ)は以下のようになる。その導出計算はここでは略す。
 基底の1番目のケットベクトルは偏光板の軸の傾きに対応し、2番目のケットベクトルは偏光板の軸に垂直な傾きに対応する。偏光板に向かってくる光子は、これら2つのケットベクトルの線形結合になっていると考える。そして、偏光板で見る(光子を計測する)時、光子が偏光板を通過する確率は、1番目のケットベクトルの係数の2乗となる。通過しない確率は2番目のケットベクトルの係数の2乗となる。これら2つの確率の和は1.0となる。これが要点である。

 例えば、Fig.4とFig.5の(c)のケースでは、1枚目の偏光板を通過した光子は全て、基底Aの1番目のケットベクトルになっている。それを2枚目の偏光板で測定する場合には、光子は基底Bの2つのケットベクトルの線形結合となる。したがって、基底Bでの測定で光子が通過する確率は、1番目のケットベクトルの係数の2乗、すなわち、0.5になる。3枚目の偏光板についても同様である。結論として、1枚目の偏光板を通過した光子が3枚目まで通過する確率は0.5x0.5=0.25となる。したがって、(c)の図のようにある程度の明るさでものが見えるのである。

補足2(追加実験)
 最後に、念のためFig.6に示す追加実験を行った。つまり、Fig.4 (c)の実験で使った3番目の偏光板の向きを、2番目と同じく45度に揃えた。すると、順序付き正規直交基底が2番目と3番目の偏光板とで同一になる。そのため、1番目の偏光板を通過した光子の半数が2番目の偏光板を通過し、それらの光子が全て3番目の偏光板をそのまま通過したのである。その結果、(d)に示す通り、(c)の場合よりも明るく見えることが確認できた。

補足3(過去のブログ記事)
 本件に関しては、過去に同様の記事(こちら)を書いた。武田俊太郎氏の解説に基づいたものである。今回の記事は、数学的にやや厳密になっている。

 さらなる詳細は、Prof. Bernhardtの書をご覧いただきたい。緻密でわかりやすい叙述のおかげで、一定の持続力があれば、上記3件の"測定"を十分に理解できるはずである。なお、Fig.1〜Fig.6は本書には掲載されていない。いずれも、小生の理解を明確にするために自作したものである。

2023年4月11日火曜日

App Inventor FoundationのNatalie Lao, Ph.D.との対談

This visit and conversation is featured on the App Inventor Foundation news site (here)!
It is also introduced on the official Facebook , Instagram and Twitter.
 2023年4月7日(金)に、App Inventor FoundationのExecutive DirectorであるNatalie Lao, Ph.D.が、 Dr. Nicholas Kwokとともに神奈川工科大学を訪問され、小生(山本富士男)、田中博教授(情報工学科)、鷹野教授(情報工学科・国際センター所長)と対談いたしました。また、田中(博)研究室では須藤康裕准教授(情報工学科)も加わり、MIT App Inventorなどを利用して開発したデモ説明を実施いたしました。


対談の詳細は、下記の神奈川工科大学ニュース(KAITニュース)をご覧ください。


------------------------------------------------------------------------
ところで、KAITニュースには載せていない当日のデモ模様から
------------------------------------------------------------------------
(1)ソーラーカーレースのリアルタイムモニタ
彼女はこれに大変興味を示し、「スクリーンをビデオに撮りたいのでもう一度デモして」と言ったのでそうしました。以下のビデオは彼女が撮影したもの。(実際のものより解像度を落としてあります。)

(2)量子アニーリングのスマホアプリ
他にもいくつか、デモしたのですが、このアプリ(ライブデモ)もちょっと盛り上がりました!
オーノー、something wrong! がこちら。
トライアゲン... Good, good!、がこちら。
私の4Gスマホ(5Gは持っていません!)と日立CMOS Annealingマシンとの交信です。Elapsed timeはちょっと長かったのですが、実アニーリング時間は72msほどでした。このアプリでは、各画素とその隣接8方向の画素を用いてエネルギー関数(コスト関数)を構成します。それをスマホでやるので、少し重い処理になります。

(3)ゲート型量子コンピューティングのApp Inventorチュートリアル
まだ、構想段階だが、ゲート型量子コンピューティングのチュートリアル的アプリをApp Inventorで作りたい。ということも話しました。先方も、何らかの形で、IBMのQuantumマシンを使っているとのことでした。マスコットとしての、私の自作ブロッホ球を机の上に置いて披露しました!ちょっとはウケたような。

2023年4月6日木曜日

MIT Pressからの出版書籍に本ブログ記事が紹介された

 MIT Pressから最近出版された以下の書籍に、当方のブログ記事が引用されていることを(ある米国人から)教えて戴きました。滅多に無いことなので、記録しておきます。

"Code for What?", The MIT Press [2022]
 この書籍の著者は、Prof. Clifford Lee (Northeastern Univ.)とMs. Elisabeth Soep (YR Media) です。ハードカバーの少し厚い本(全300頁)です。そのChapter 8, p.230で、下図のように紹介されていました。

紹介されている箇所
引用された2件のブログ記事

 引用されていたのは、下記の2件です。#14は英語で書いたのですが、#15は日本語です。日本語でも、恐らく、機械翻訳で読んで戴いたのだと思います。ちょっと、嬉しくなりました。
 簡潔な日本語で論理をしっかり書くことを心がけていますが、あまり自信はありません。もしも、本当にそうなっていれば、機械翻訳の精度も高まるはずです。

#14
https://sparse-dense.blogspot.com/2021/03/using-mit-app-inventor-faceextension.html
#15
https://sparse-dense.blogspot.com/2021/01/awesome-dancing-with-ai-tutorial.html

2023年3月25日土曜日

20年前の論文に掲載されていた量子コインゲーム

[要旨] 量子コンピューティングの解説ビデオは多数ありますが、最近、Youtubeで "A beginner's guide to quantum computing" を視聴しましたので、その私の理解を書きます。IBMShohini Ghose氏による、10分程の英語の分かりやすい解説です。量子コンピュータとは何か、それがどんなインパクトを与えるかも簡潔に述べられていますが、特に量子重ね合わせ (superposition)を、コインゲームで解説しているのが特徴です。最後に書きましたが、私の自作ブロッホ球も役立った!


簡単なコインゲーム(従来コンピュータ版
 ルールは以下のように簡単です。(コンピュータ)と(あなた)が交互に操作します。(このゲームの由来は[補足2]をご覧ください。)
  1. まず、 コインを表にする。以下の操作を行う。
  2. Qは、裏返すか否かのどちらかを行う。Pにはその結果は分からない。
  3. Pは、裏返すか否かのどちらかを行う。Qにはその結果は分からない。
  4. Qは、裏返すか否かのどちらかを行う。Pにはその結果は分からない。
  5. コインの状態を見る。表ならばQの勝ち、裏ならばPが勝ちとなる。
 この手順を、図2に示します。コンピュータQが勝つ確率が50%であることは明らかです。ちょっと退屈なゲームですが、これは次節への準備です。
簡単なコインゲーム(量子コンピュータ版
 次に、このゲームを量子コンピュータで行います。ルールは上記と基本的に同じです。とはいえ、従来コンピュータとは全く異なる世界になるので、使うコインも従来のコインではなく、量子コインです!以下のようなルールになります。
  1. まず、量子コインを表(すなわち、 |0>)として、以下の操作を行う。
  2. 量子コンピュータQは、ユニタリ演算を実行する。Pにはその結果は分からない。
  3. Pは、裏返す(Flip)か否かのどちらかを行う。Qにはその結果は分からない。
  4. Qは、ユニタリ演算を実行する。Pにはその結果は分からない。
  5. 量子コインをZ基底で測定して、 |0> ならQの勝ち、 |1> ならPの勝ちとなる。
 ここで、QとPではやることが違うんじゃないの?という疑問が湧くかも知れません。確かにそのようにも見えますが、ここでのルールは、Qは量子コンピュータなのですから、Qは「量子的」に裏返し(Flip)、あなたPは古典的に裏返す(Flip)ということなのです。この手順を、図3に示します。実は、コンピュータQが勝つ確率は、100%になります!
量子コンピュータがなぜ、必ず勝てるのか?
 量子コンピュータが必ず勝つ理由は、このビデオで簡単に以下のように口述されてはいます。

During the game, the quantum computer creates this fluid combination of head and tails, zero and one, so that no matter what the player does, flip or no flip, the superposition remains intact. But in its final move, the quantum computer can unmix the zero and one, perfectly recovering heads so that you lose every time.

 でも、多くの人は腑に落ちないでしょう!その答えは、量子回路を具体的に作ってみれば分かります。図4がそれです。上記に示した、量子コンピュータQが行うユニタリ演算は、ここではHadamard変換(H)としています。一方、Pが量子コインを反転させる場合はビット反転を意味するPauli X(+)を、反転させない場合はIdentity(I)を適用します。
 この量子回路をIBM Quantum実機で1024回実行した結果が図5です。いずれの場合も量子コンピュータが常に勝ちました!ただし、本来は100%であるはずが、1%〜2%負けているのは、量子コンピュータの誤作動によるものです。(現状の量子コンピュータはそうなります。)
 さて、図5のように量子コンピュータQが常勝した理由は、Qが2回Hadamard変換Hを行なっていることにあります。初期状態は|0>ですから、Qが最初にHを行った後の量子状態ベクトルは、X軸正方向と赤道の交点を指しています。そこでPがビット反転(+)を行なっても、量子ベクトル状態に変化が生じません。なぜなら、このビット反転操作は、X軸まわりに量子ビットをπだけ回転さえる操作になるからです。その後、Qは再度Hを実施するので、量子状態は|0>に戻ってしまいます。その状態で測定する(量子コインを見る)のですからQの勝ちとなるのです。

 以上で説明を終わるのですが、さらに、Qni量子回路シミュレータでも確認したいと思います。図6がそれですが、QとPが行う各操作毎に、量子状態ベクトルがどうなっているかを示しているので、分かりやすいと思います。
 さらにもう一つ。このコインゲームの操作は、単一ブロッホ球面でのHadamardゲートとPauli Xゲートの適用となるので、直感的にとても分かりやすくなります。図7でそれをご覧ください。自作ブロッホ球がこんなところで役立った!

[補足1]
 量子状態が|0>であるならば、Pは、Pauli Xによる裏返し操作で、コインの裏側を意味する|1>へ移行させることができます。その逆方向も然りです。しかしながら、Qは、Pの手番になる前にHadamardを実行(重ね合わせ状態へ推移)しているので、コインは反転しません。ともかく、ここでは厳密な意味での対戦というよりも、量子重ね合わせを説明する例題と考えた方が良いと思います。
[補足2]
 後で分かったのですが、このコインゲームは、D.A. Meyerという人の1999年の論文に示されているとのことです。それはペニーフリップゲームと名づけられており、初期の量子コンピューティングの研究成果のようです。単に、単純なゲームのように見えますが、深い洞察が含まれているようです。私の上記の理解と合致しているか否かは自信がありません。今から20年以上も前にすでにそのような研究が行われていたことは驚きです。