2022年11月6日日曜日

Amazon AlexaとMIT App Inventorのコラボ

【要旨】自然言語による応答システムとして、SiriやGoogleアシスタントなどを多くの人が利用しています。しかし、それらを組み込んで自分に必要な応答システムを自作するのは敷居が高いと言えるでしょう。今回、Amazonが10年間に渡って培ったAIによる自然言語処理AlexaとMIT App Inventorがコラボして、素晴らしいシステムをユーザに提供し始めました。まだ、全くの入り口に過ぎませんが、試用してみました。

Amazon AlexaとMIT App Inventorのコラボ
 下図のようなアナウンスがあり、いくつかのYoutube動画などでも紹介されています。これは初心者向けのチュートリアルですが、ビデオや資料を見ていると色々な魅力、可能性が感じられます。MITでは、自然言語でアプリの仕様を喋ることによって、現在のようなアプリ(処理ブロック)を自動生成するプロジェクトAptlyを進めています。今回のコラボは、Amazonの強力な自然言語処理を利用することで、Aptlyを推し進めることに繋がるのだと思います。(Aptlyについてはこちらで簡単に紹介しました。)

自然言語による自分なりの応答システムを作る道が拓けそう
 上記の情報をもとにして、簡単な自然言語による応答をテストしてみました。スマホ(AndroidまたはiPhone)とAlexaをCloud DBで連携させるものです。Alexaのデバイスを持っていれば良いのですが、それがなくても、PC上のエミュレータを使うことができます。また、Amazonの通常のアカウントの元で、「Developer ID」を取得しておく必要があります。上記URLの説明には、"no Amazon device or account required."と書いてあるのですが、"no account"は、教室の場合は先生だけがaccountを持っていれば良い、ということのようです。

 この簡単な例では、スマホからメッセージをCloudDBへ格納し、それをAlexa側から"get my message"や"what is my message"のように発話をすることで取り出しています。また、逆に"send the message"や"post the message"などと発話してCloudDBへ送り、スマホ側でそれを取り出します。ユーザは、"get ..."や"what is ..."などをIntentに登録できますが、必ずしもそのように発話しなくても、それらに近い言葉を使っても、AI自然言語処理が適宜判断できます。

 これは簡単な例に過ぎませんが、それでも、自分なりの特色ある応答システムを作れそうな気になりませんか?しかもそれを、これまで通り、MIT App Inventorの環境のままで実現できそうなところが素晴らしいです。今までは作れそうもないと思っていた人にとっても、新しい世界が拓けるように思います。
(追記)
 AmazonのAlexaは本来、日本語もできるのですが、このコラボに関しては日本語による命令は(現時点では多分)できないようです。ただし、メッセージの内容そのものは日本語でもOKであり、日本語のText-to-Speech、Speech-to-Text、CloudDBへの格納検索はもちろんできます。

2022年11月4日金曜日

量子鍵配送プロトコルBB84をスマホアプリで確認

abstract: 理論上(計算上)は明確になっている事項でも、実際に一歩づつトレースして理解することは意味があると考えました。AliceからBobへ、長い古典ビット列を送信することを想定します。問題は、それをEveに盗聴される可能性です。しかし、量子コンピューティングの世界では、Eveが盗聴すれば必ず露呈するという、量子鍵配送プロトコルBB84があります。そのエッセンスを、自作したスマホアプリを使って説明を試みました。

【改訂】2023-05-28、後半に「実際にBB84を構成するには」を追加し補足した。

Check the quantum key distribution protocol BB84 with a smartphone app
Even if the conclusion is known in theory, it is useful to deepen understanding by actually proceeding step by step. Now imagine sending a long string of classical bits from Alice to Bob. The problem is that it can be eavesdropped on by Eve. However, in the world of quantum computing, there is a quantum key distribution protocol (BB84) that if Eve eavesdrops, it will always be revealed. This time, I will explain the essence using a self-made smartphone app.

量子鍵配送プロトコルBB84の概要
 このプロトコルは1984年に発表されたもので、量子ビットの重ね合わせ(Quantum Superposition)を利用している。ここでは、単一量子ビットをひとつづゝ連続して送信するので、量子もつれ(Quantum Entanglement)は無い。(量子もつれ状態の量子ビット対の送信用には、Ekertプロトコルがあるが、それは別記事とする。)

 図1は、BB84の原理を確認するためのアプリである。量子シミュレータではない。Aliceは、例えば古典ビット2048個(これを暗号鍵にするつもり)の4倍の8192個を用意するが、これをそのままBobへ送信はしない。代わりに、2種類の2次元正規直交基底(以後、単に基底と呼ぶ)HかVを各ビット毎にランダムに選択して、ビット値に対応する、基底のケットベクトル(縦ベクトル)を送信する。古典ビット0と1は、それぞれ、基底の1番目と2番目のケットベクトルに対応させている。つまり、量子ビット(の状態ベクトル)を送信するのである。具体例は後で示す。
 Bobは、受信した量子ビット毎に、ランダムに(Aliceとは無関係に)同様にHかVを選択して、それによって量子ビットを「測定」する。その結果として、全部の受信が完了後には、Aliceと同じ長さの古典ビット列(8192個で構成)を得る。AliceとBobの持つこの古典ビット列の合致度によって、盗聴の有無を判定できるのである。

  Eveが盗聴する場合、受信量子ビットをそのままBobへ転送して自分はそのコピーを盗聴する、ということは量子原理から不可能である。盗聴するには、受信した量子ビットを必ず「測定」し、その結果としての量子ビットをBobへ転送するしかない。測定前の量子ビットは、(日常思考からは不思議なことだが)量子基本原理として、0に対応するか1に対応するかは決まらない。また、測定するには、どの基底を用いるかを決める必要がある。基底の選択によって0か1かに決まる確率は変化するが、Eveにとっては、ランダムに基底を選択する以外に方策がない。

正規直交基底と量子ビットの重ね合わせと測定
 上で述べた基底とその測定について、具体例で説明する。ここで選択できる基底VHは以下のようなものである。
 一般に量子ビットは、基底(|u>, |v>)を用いる場合、以下のような状態にある。これは量子重ね合わせ状態(Quantum Superposition)と呼ばれる。そして測定を行うと|u>か|v>のどちらかに確定する。つまり、0か1かになる。その確率は、それぞれの係数の2乗で決まる。
 ある量子ビットに対して同一基底を適用するのならば、何度測定しても必ず同一の結果になる。しかし、異なる基底で計測した場合は、0と1のどちらに倒れるかの確率は、基底のケットベクトルの係数(振幅確率)の平方となる。振幅確率の求め方は、参考文献[1]にあるので、それを使って、基底H, Vの場合を計算すると以下のようになる。
 このことから、HとVを使う限り、元の計測と今回の計測で異なる基底が使われる場合は、ちょうど確率0.5(= (±1/√2)の平方)で元の計測結果と同一となることが分かる。そこがポイントである。

盗聴があったとすれば何が変化するのか
 以上の準備をした上で、盗聴の有無で何が異なるのかを図2で見てみよう。すでに述べた通り、Eveが盗聴するとすれば、Eveは盗聴した量子ビット毎に、ランダムに基底HかVをに選択し、測定しなければならない。その結果として②に示された量子ビット列をBobへ送る。すなわち、Bobは本来の①の量子ビットとは異なる②を受信することになる。
 それにより、Bobの測定結果は本来のものと異なるであろう。Bobの測定結果として得られる古典ビット列は、Aliceが元々設定した古典ビット列と比較される。盗聴されていない場合は、上に述べた手順から、AliceとBobがそれぞれ選択した基底(H, V)は0.5の確率で一致するので、古典ビット列の少なくとも1/2が一致する。さらに、すでに述べた通り、異なる基底で測定したケースでは(量子ビットの重ね合わせにより)、確率0.5で両者の古典ビットが合致する。結局、(1/2)+(1/2)*(1/2) = 3/4 = 0.75の確率で両者の古典ビットは合致する。
 一方、盗聴があった場合は、Eveによる基底選択が加わるので、AliceとBobの基底の一致確率は(1/2)*(1/2)に低下する。そして、基底が一致しない場合のAliceとBobの古典ビットの一致確率は3/8となる。結局、確率(1/4)+(3/8)=5/8 = 0.625でAliceとBobの古典ビットが一致する。従って、最終的にAliceとBobの古典ビットの一致確率が0.75であれば盗聴は無く、0.625であれば盗聴されたと結論付けられる。

実際にBB84を構成するには
 これで理論は説明された。上の説明から、AliceとBobの選択した基底が一致する回数は2nとなる。その合致した基底でBobが測定した結果のビット列は、Aliceが持っているビット列と一致する。従って、盗聴がないと仮定すれば、Aliceはその2n長のビット列をBobに送らずに、両者がキーとしてそのビット列を共有できる。
 だが、実際には、Aliceは基底の量子状態ベクトルをBobに送信しているのでその盗聴の有無を確認しなければならない。そこで、両者はこの2n長のビット列の半分のn長のビット列を「暗号化しない通常通信」で送り合って、その一致度を確認する。もしも完全に一致すれば盗聴はないと言える。一方、その1/4が一致しなければ盗聴があったと言える。(そこでは、盗聴するにはその量子ビット(量子状態ベクトル)を測定する必要があり、そうすれば、Bobに送られるべき量子の状態は変化することを巧みに利用している。)
 盗聴がないと分かった場合には、合致した2n長のビット列の残りの半分であるn長のビット列をキーとして安全に使える。(実際には2n長が合致しているのだが、上記通常通信により、そのうちの半分は他人に知られている可能性があるためである。)

AliceとBobの持つ情報の一致度をスマホで計算
 ここでようやく前述のスマホアプリが登場する。今回は、両者の選択基底が異なる場合の振幅確率の平方はいずれの場合も0.5であった。このため、重ね合わせ状態にある量子ビットの測定結果は単にコイントス乱数で決めることができる。ただし、本当は、その乱数が「真の乱数」であることが求められる。スマホの数学ライブラリの乱数でも、非常に多く発生させれば問題は生じないだろう。図3には、Aliceが8192個の古典ビットを乱数で一つづゝ発生させた場合の結果を示している。
 盗聴なしとありの場合の両方とも、AliceとBobの最終的な古典ビットの一致度は、上に述べた数値とほぼ同一(小数点以下3桁まで一致)となった。このことから、BB84の理論通りの結果が得られたと言える。

参考文献
[1] Chris Bernhardt: Quantum Computing for Everyone, The MIT Press, 2020.

2022年10月27日木曜日

「量子コンピューティングExpo2022秋」に参加

 2日前まで量子物理の基本に関わるBellの定理に取り組んでいた。その発祥の地Belfast(北アイルランド)への旅行は当面無理だが、お馴染みの幕張メッセなら行ける。ということで、本日は一転して、そこで開催の実用指向「量子コンピューティングExpo」に参加した。でも、量子コンピューティングは実用レベルにあるのか?答えは大体分かっているだが、こんなに盛り上がっている状況を肌で感じ取りたい。

量子コンピューティングExpo 2022秋(10/26-28、幕張メッセ)
 まず、会場の雰囲気をご覧いただきたい。下図のように、他のいくつかのExpoとの同時開催なのでかなりの盛況。私は、今回は「量子コンピューティング」に絞って参加した。

 量子関係の出展の数はあまり多くはないが、有力な機関が目につく。下図には、東北大学とBlueqat等のスペースが大きく見える。東北大学は実際にはシグマアイという量子ベンチャである。Blueqatも、湊雄一郎氏をトップとする国内で著名な量子ベンチャ。後述するが、「量子ICTフォーラム」という産学官の量子プロジェクトもあった。凸版印刷は、いくつかの量子応用を展示していた。カナダは、D-Waveやxanaduなどで量子の先進技術国と見做されているので、カナダ大使館も応援で出展したのだと思われる。

量子アニーリングマシンと量子コンピュータ
 色々と議論はあるのだが、量子アニーリングマシンは、量子コンピュータとは区別するのが一般的になってきた。量子コンピュータの方は、実用的にはまだまだだが、量子アニーリングの方はかなり実用が進んでいる面がある。例えば、前出のシグマアイ(東北大学)+凸版印刷は、下図のような物流業務の改善を量子アニーリングで推進しているとの展示を行い、注目されたようだ。

量子コンピュータ(ゲート型)のシミュレータ
 量子物理に基づく量子コンピュータの物理的、数学的定式化ほぼ完成しているのだが、実用的な量子コンピュータ(NISQではなく、誤り耐性の実機)を作り上げるにはまだまだ課題が山積している。だが、継続的に研究開発が進められていることも強く感じられた。一方、そのような実用化には時間がかかるので、それまでに、使いやすい、高性能な量子回路シミュレータを利用する動きも見られる。
 量子回路シミュレータとしては、IBMのQiskitなどがあるが、今回展示されていたIQM Quantum ComputersのQniも独自の特徴を持つ。その最大のメリットは、一切の登録手続き無しに、いきなりWebブラウザを使って、量子回路(量子ゲートの組み合わせ)をビジュアルに構成して、シミュレーション結果をすぐに得られることだ。以下の図は、配布されていた「量子コンピューティング チートシート」である。恐らく誰でも、少し勉強すれば、これを頼りに基本的な量子回路を作り実行させることができる!

 また、これとは別の方向として、nvidiaが開発している量子回路シミュレータA100がある。cuQuantumやQsimというシミュレータをもち、自社の強力なGPU技術で大規模な量子ビット数を扱う量子回路のシミュレーションを大幅に高速化させるとしている。

 誤り耐性の量子コンピュータの実現はいつなのか
  Googleなどから、これに関するロードマップは発表されていて、2029年にそれを実現させるとのことである。ただし、その確実性については懐疑的な見方もある。国内では、例えば日立製作所では、すでに独自のCMOS Annealingマシンを世に出しているのだが、今回は、誤り耐性量子ゲート型も開発中であり、その実現は2050年付近とする旨の展示を出していた。この展示は、「量子ICTフォーラム」のブース内で行われていた。

  これらの開発見通しについては、次に述べる中村泰信氏へのインタビュー記事が大変参考になるであろう。

 理化学研究所の中村泰信氏へのインタビュー記事
 中村泰信氏は、世界で初めて「超伝導量子ビット」を開発し、その制御を実現したことで知られる。現在、理化学研究所量子コンピュータ研究センター長である。中村氏へのインタビューが載った「量子ICTフォーラム通信」が配布された。8ページに渡る詳細な記事だが、その内容が実に素晴らしい。今回、小生がこの量子コンピューティングExpoに参加して得た最大の成果は、この冊子を入手したこと、とさえ言えるのである。誤解などがあるかも知れないが、小生が特に感銘を受けた部分を、独断で以下にまとめた。

  Q1:Googleは量子コンピュータの実用化を2029年と発表したが、国産機の実用化は2050年とされている点についてお考えは?
  A1(中村氏):「2050年まで絶対にできない」のではない。だが、よその情報に安易に引きづられる形で前倒しするのではなく能動的に判断すべきだ。研究全体の動向を見ながら、ブレークスルーを起こすことを目標として、自分たちでできることを粛々とやっていく。

  Q2:国産初の挑戦として、2022年度中に64量子ビット、次の段階で144量子ビットのものを出す計画だが、なぜ、自前で作っていく必要があるのですか?
  A2(中村氏):他に先んじられたら「やらない」では、逸するものが多い。日本にも非常に優れた研究者技術者が大勢いる。自分たちで取り組むからこそ、現段階では想定されていないスピンオフや新しいブレークスルーが生まれ得る。

  Q3:日本は基礎研究は先行しても社会実装では他国に負けるイメージがあるのですが...
  A3(中村氏):「日本は駄目」「アメリカは良い」などと単純な結論に帰結したり、弱点ばかりに目を向けて悲観する必要はない。悲観的に考えてばかりだと何も解決しない。明るい側面を見ながら地道な努力を続けたい。目先に囚われずに、きちんと分野の基礎体力をつけることだ。

  Q4:量子技術に関心を持つ企業の人々、研究したいと考えている学生へ向けたメッセージをお願いしたい。
  A5(中村氏):特に学生にとって、社会的インパクトが莫大かつ未知の事柄に溢れている量子技術領域は、研究対象として非常に魅力的に映ると思う。一歩をぜひ踏み出して欲しい。企業の方々は、「もうしばらくしてから考えよう」と思うかも知れない。しかし、早いうちから勉強した者勝ちと言える。わずか1年でも景色が大きく変わる可能性がある。ぜひ、目を離さないでいただきたい。

 ■感想
  この出張の帰り際に、久しぶりに厚木有隣堂書店に立ち寄った。2階のIT関連書棚には、AI、機械学習、Web、プログラミング関係の書籍がびっしり数千冊は陳列されている。しかし、その中に、「量子コンピュータ」関係はわずか十数冊しかなかった。だからと言って、大学の情報技術関係者が、「まだいいだろう。もしばらく放っておこう」では寂しい。上記の中村氏の言葉通りである。大学であれば、行き先不透明であろうとも、未だ底知れぬ可能性を秘めた量子情報の分野へ踏み込む人が増えることを期待したい。

2022年10月24日月曜日

"Bellの定理"という名前の北アイルランドの通り

 今回は、Entanglement(量子もつれ)に関する著名なBell's Inequality(1964年発表のベルの不等式)について簡単に書きたいと思います。まず、この物理学者John Stewart Bellの偉大な功績を示すGoogle Mapsのスクリーンショットをご覧ください。
 人名に由来する、街の通りは幾つかあると思いますが、数学や物理の定理の名前がついているのはこれくらいしかないでしょう。すでにご紹介済みのProf. Chris Bernhardtの著書[1]に、そういう通りがあると書かれていたので、Google Mapsで検索したところ、上図のとおり発見。北アイルランドBelfastにある大学前の三日月形道路 "Bell's Theorem Crescent" がそれです。素晴らしい!多分無理ですが、Belfastへ旅行できればいいのですが。

ノーベル物理学賞2022とBellの不等式
 今年のノーベル物理学賞は、1982年に "violation of Bell inequalities"(Bell不等式の破れ)を確立したAlain Aspect等に贈られました。ここで誤解のないように書きたいのですが、「Bell不等式の破れ、すなわち不成立」と言うと、Bellが誤っていたかのように聞こえますが、全くその逆なのです。Bellは、ある問題に関する(Local Realism, Hidden Variablesを仮定した)古典物理観点の答えと量子物理の答えが異なること(すなわち、等しくない=inequality)を示しました。そして、量子物理の方が正しいだろうと唱えていたのです。それが、発表から20年近く後に、Alain Aspectによって実証されたのです。このことは、量子物理にとって(従って量子コンピューティングにも)極めて重要なこととされています。

Bellの不等式を古典物理と量子物理の観点から高校数学で理解する
 Bellの不等式の真髄を理解することは難しいかも知れません。しかしながら、Prof. Chris Bernhardtの著書[1]は、ある例題を用いて、高校数学の範囲の数式で、この理論を厳密かつ明快に説明しています。一貫性、厳密性、分かりやすさにおいて、卓越した名著だと感じ入ります。
 それでもなお生ずる疑問や理解が難しい点を、私は、著者にメールで2回質問(EntanglementとBell's Inequalityに関する確認)をしました。すぐに丁寧な回答を送ってくれました。それによって、私の理解は一段と深まったのです。そのメールでの応答はこちらにありますので、ご参考にして下さい。

Bellの理論が量子物理の正しさを示すことの実用的利用
 上のBell's Inequalityは、アカデミックな世界の理論ですが、実は応用上も注目されています。その一つは、現在主流の公開鍵暗号RSAなどにとって替わるとも言われる量子暗号での量子暗号鍵の配送の安全性保証です。これに関しても、[1]に簡潔に説明されていますが、2者間で配送している量子暗号鍵を第三者が盗聴すれば、Bellの理論におけるEntanglementによって必ず露呈してしまう、というものです。Eckert Protocol for Quantum Key Distributionと呼ばれています。

参考文献
[1] Chris Bernhardt: Quantum Computing for Everyone, The MIT Press, 2020.


2022年10月21日金曜日

著者に質問してみよう - 量子計算の基礎理論

 私は、量子コンピュータの基礎理論を下記に示した英語の本で勉強しています。単なる教養としてではなく、高校数学の範囲で、厳密に式を使ってクリアに説明しているところが非常に気に入っています。易しい英語で貫かれています。

●ノーベル物理学賞2022の量子理論を高校数学で学ぶ
https://sparse-dense.blogspot.com/2022/10/2022.html

 読み進めているうちに、ヤマ場となるEntanglement(量子もつれ)とBell's Inequality(Bellの不等式(の不成立))のところで、どうしても確認したい点が出てきました。著者のChris Bernhardt(米国Fairfield大学の数学の名誉教授)に質問したところ、直ちに回答してくれました。この世界、そういう文化になっているので、思いついたら質問するのがいいですね。

もしかすると、この本で勉強する人にとって、以下の応答は役立つかも知れないと考え掲載します。Prof. Chrisからは、メール応答文のブログ掲載に同意していただいています。
(あなたのブログはとても役立ちそうだ、と言っていただいたのも嬉しい。)

----------------
【山本より】
Hello Chris,
I am a Japanese reader of "Quantum Computing for Everyone".
This book is wonderful because it tries to explain difficult things clearly in high school mathematics.

I have a few questions regarding the Entangled Quantum Clocks on Page 68.
I think this is one of the most important parts of the book.
Thank you for your reply in advance.

Q1
I understand as follows, is it correct?
"There are two humans here (me and you), each with 100 clocks.
In other words, it is not the assumption that 100 people each have a watch."

Q2
Is the First scenario or the second scenario a fact that can be derived from the entangled state shown in the center of this page?
Or rather, if such a scenario were to hold, would it be considered as explained on page 69 below?
----------------

【Chrisより】
Hello Fujio,
You are correct that entanglement is one of the most important parts. 

Q1. You are correct. There are 100 pairs of clocks. Each pair of clocks is entangled. For each pair, you have one and I have the other.

Q2. The entangled state shown corresponds to one pair of entangled clocks. As soon as one of us looks at a clock, the state immediately jumps to either 

 or .

 Both states are unentangled. We either both get YES or both get NO.

 Our clocks are correlated, they always agree, but they don’t “decide” what the answer will be until one of us looks at (measures) our clock.


Hope this helps,
Chris 
----------------

【山本より】
Dear Chris,
Thank you very much for your reply.
Your answer cleared my mind.
I totally understand!
This takes me to Chapter 5, "Bell's Inequality".

I have already featured this book of yours in my blog post.
It's in Japanese so you may not be able to read it, but here it is:
https://sparse-dense.blogspot.com/2022/10/2022.html

I hope my question and your answer will be useful to other readers.
May I publish this response as-is on my blog?

Add the following information:
A Japanese version of this book was already published by Yuichiro Minato et. al.
In the middle of p.68 of the English version, "and I have the hundred partners." was mistranslated as follows:
"suppose there are 100 people to be paired with me"
I quickly realized that it was a weird translation, but your answer made it clear.
----------------

【Chrisより】
Of course! The translation sounds a little strange. Your blog looks as though it could be very helpful.
----------------

【山本より】

Dear Chris,

With your answers to my previous questions, I was able to read and understand Chapter 5 Bell's Inequality. Just in case, I would like to confirm. I understood as below, is it correct?

In the classical model, the results of Alice's and Bob's agree at least 5/9 (=0.55) in the case of P.82. The existence of such a lower bound is called Bell's inequality.

On the other hand, in the Quantum theory model, both results agree exactly by half (=0.50). The difference between the classical model and the quantum model, that is, 0.55 not equal 0.50, is called Bell's inequality violation.

Best regards,
Fujio Yamamoto

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

【Chrisより】

Dear Fujio,

The classical model predicts the proportion of times the measurements agree to be at least 5/9. Quantum theory predicts 1/2. These two numbers are not equal — that’s Bell’s inequality. It means that we can perform experiments to determine which theory is incorrect. 

All experiments performed so far, have agreed with quantum theory.

Chris

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

【山本より】

Dear Chris,

Thank you very much again for your reply.

The word "inequality" reminded me of ">" or "<", so I focused on the "lower limit" or "upper limit". Anyway, now I have a clear understanding.

I think your book can be divided into chapters 1 to 5 (Bell' Inequality) and chapters 6 onwards. The first half is basic theory and the second half is applied. I understand the first half almost perfectly, so I can work on the second half smoothly.

Incidentally, I was able to find a street in Belfast on Google Maps named "Bell's Theorem Crescent". Great!
----------------

【山本より】

Dear Chris

I really like your book on Quantum Computing and am studying.
I wrote a blog post to remind myself of what I've learned about Entanglement and the Ekert protocol.

#My understanding of the Quantum Key Distribution Protocol Ekerthttps://sparse-dense.blogspot.com/2022/11/my-understanding-of-quantum-key.html

Thanks for your wonderful book.

Regards,
Fujio

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

【Chrisより】

Dear Fuji,

Great post — and in English!
Thanks for sending me this,

Chris 
----------------

2022年10月10日月曜日

MIT App Inventor of the Month受賞5回の記録

 前報で、過去6年間のブログ記事の分析を行いました。この中で、ダントツに"MIT App Inventor"の出現頻度が高いことが確認できました。確かにかなり入れ込んできました。しかしながら、「MIT App Inventorがあるからそれで何かを作ろう」としたことはありません。いつも、「こういうものを設計して作りたい」という発想が湧き、その実現にはMIT App Inventorが適している、という思いで取り組みました。

 その中で、幸い、MIT App Inventor of the Monthという賞をこれまで5回受賞することができました。守りに入る姿勢は取りたくないのですが、以下に、それらを纏めて記録しておくことは意味があると考えました。下図にあるような、出来上がったアプリのロゴをデザインするのも楽しいことでした。
Age doesn't matter, do what you believe in.

 ●先方からの講評とアプリの内容説明Webページ(英文)

(1)June 2019:Enjoy Reinforcement Learning in Tic-Tac-Toe
Retired Computer Science professor Fujio decided to make use of the new generic blocks in App Inventor to make this app where you can train the mobile device to play tic-tac-toe using reinforcement learning.
https://sparse-dense.blogspot.com/2019/05/enjoy-reinforcement-learning-in-tic-tac.html

(2)Dec 2019:My Live Camera
Retired computer science professor Fujio from Japan, created this fascinating app to access some of his favorite live cameras from across the world. You can enjoy real-time views of some amazing places such as Mount Fuji. We hope you will enjoy it as much as we did.
https://sparse-dense.blogspot.com/2019/11/enjoy-live-cameras-from-around-world-on.html

(3)March 2021:Enjoy finding out Hamiltonian cycles
Fujio Yamamoto is an emeritus professor from Japan who made this complex app that solves the Hamiltonian cycle problem for a given graph. It's complex yet comprehensive, and if you've ever wanted to learn about Hamiltonian cycles, this is a great place to start!
https://sparse-dense.blogspot.com/2021/02/enjoy-finding-out-hamiltonian-cycles.html

(4)Oct 2021:Running Q-Learning On Your Palm
Retired emeritus professor of Computer Science Fujio, from Japan, created this amazing app to explain the basic idea and mechanism of reinforcement learning (especially Q-Learning), which is a field of artificial intelligence. We needed some MIT students to help us understand the advanced ideas behind this app, and we are glad to see such deep ideas realized in App Inventor.
https://sparse-dense.blogspot.com/2021/08/enjoy-q-learning-with-simple-example.html

(5)Sept 2022:Noise Reduction QA
Professor Yamamoto from Japan has created this app that uses quantum annealing, a type of quantum computing, to reduce noise in images. The app, which runs on most mobile devices, lets you experience the processing of a quantum annealing machine that is different from existing computers. Dr. Yamamoto would like to thank Dr. Masanao Yamaoka of Hitachi, Ltd., who developed the CMOS annealing machine, for answering various technical questions.
https://sparse-dense.blogspot.com/2022/09/image-noise-reduction-based-on-quantum.html

 ●補足:もう一つ受賞していました-Thunkable Top Developer 2016 

(0)Jan 2017:Elevator Fun
Elevator Fun / Make Your Own Version Elevator Fun was developed by Professor Fujio Yamamoto of Kanagawa Institute of Technology, Japan to encourage his students to develop their own Android apps rapidly. The app estimates the next arrival floor of an elevator using the acceleration sensor, aka accelerometer, equipped on each phone. The app detects the velocity profile, in particular, the length of a constant velocity section, which corresponds to the number of floors the elevator passes through during a trip. Since elevators have different speeds, you can calibrate the app with the actual performance of your elevator. Great for those living and working in tall buildings!
https://sparse-dense.blogspot.com/2017/01/android.html

2022年10月9日日曜日

6年間のブログ記事380件のタイトルに出現した単語の分析

 これまでの6年間、ブログ記事を毎年60件以上書いてきました。合計で約380件となりましたので、少し振り返ってみます。

6年間のブログ記事タイトルに出現した単語の分析
 毎年のブログ記事それぞれ約60件強のタイトルを形態素解析して、単語の出現頻度を調べました。これには、userlocal.jpの自然言語解析ツール[1]を利用しました。極く短くまとめると以下のようであることが確認できました。

2017年:人工知能、Deep Learning、Tensorflowが全盛。(2016年分も含む)
2018年:MIT App Inventor、及びJavaによる拡張、micro:bitとの連携など。
2019年:MIT App Inventorと画像処理、AIとの連携など。
2020年:自然言語処理、特に、植物の自由記述からJsonの自動生成。
2021年:強化学習の基本とその応用に移行。
2022年:量子コンピュータ関係に傾倒。
 この単語出現頻度の分析結果は、単に個人の興味の推移を表しているに過ぎないかも知れません。ですから、他の人にはほとんど何も意味をなさないとも言えます。

 しかし、見方によっては、世の中の動向や技術の潮流をある程度反映しているとも言えます。私の個人的な見方では、Deep Learningはもはや誰でも使いやすいソフトで利用できるので、必要に応じて使えばよいという思いです。その後、自然言語処理に興味が移り、さらに、強化学習へまた移りました。そして、現在は、完全に、量子コンピューティングということになってしまいました。目移りばかりせずに、温故知新も真実と思いながら。

【付録】
 少し違う観点の解析もできます。下図は、「量子コンピューティング」に関するブログ記事12篇の本文全体を纏めたテキストにおける、共起語解析結果です。「量子アニーリング」はかなり多数出現しているのですが、「量子コンピュータ」に比べると様子が異なります。「量子アニーリングは量子コンピュータではない」という説を裏付ける?かのようにも見えますが、本当のところはよくわかりません!

利用したソフト
[1] ユーザーローカル テキストマイニングツール( https://textmining.userlocal.jp/

2022年10月8日土曜日

量子アニーリングアプリで「MIT App Inventor of the Month」を受賞

 当方が開発したスマホアプリ「Noise Reduction QA」が、米国MIT CSAIL(マサチューセッツ工科大学 計算機科学・人工知能研究所)より、「2022 September's MIT App Inventor of the Month(Adult Inventor部門)」に選定されました。以下の講評をいただきました。

Professor Yamamoto from Japan has created this app that uses quantum annealing, a type of quantum computing, to reduce noise in images. The app, which runs on most mobile devices, lets you experience the processing of a quantum annealing machine that is different from existing computers. Dr. Yamamoto would like to thank Dr. Masanao Yamaoka of Hitachi, Ltd., who developed the CMOS annealing machine, for answering various technical questions.

The MIT App Inventor Team
Massachusetts Institute of Technology 
Computer Science and Artificial Intelligence Lab

 このアプリは、量子アニーリングと呼ばれる方式のCMOSアニーリングマシン(日立製)を利用して、白黒画像に重畳されたノイズを低減させるデモプログラムです。アニーリングマシンは、従来のコンピュータとは全く異なる仕組みで動き、複雑な「組合せ最適化」と呼ばれる問題を高速に解くことが期待されています。今回のアプリは、身近なスマホから、このような量子アニーリングに親しむことを目的として開発されました。

●MIT App Inventor of the Monthのページ:
Congratulations to September's Adult Inventors!の区分

●本アプリの説明ページ:

以下、受賞デジタルバッチと受賞アプリの画面です。

 MIT App Inventor公式Twitterにも紹介されています。(2022-10-08現在)

2022年10月5日水曜日

ノーベル物理学賞2022の量子理論を高校数学で学ぶ

 今年のノーベル物理学賞は、昨日(2022-10-04)ノーベル財団から発表されました:

 The Nobel Prize in Physics 2022 was awarded jointly to Alain Aspect, John F. Clauser and Anton Zeilinger "for experiments with entangled photons, establishing the violation of Bell inequalities and pioneering quantum information science"
(2022年のノーベル物理学賞は、アラン・アスペクト、ジョン・F・クラウザー、アントン・ザイリンガーの3人が共同で受賞した。"もつれた光子の実験、ベル不等式の違反の確立、量子情報科学の先駆的な業績" - DeepL翻訳による- )

量子情報科学のpioneering
 と書かれていますので、情報工学に関わる人であれば、その知識を得たいと考えるでしょう。私もその一人です。

高校数学で量子コンピューティングを学べる本
 Fairfield大学の数学者 Prof. Chris Bernhardtが書いた「Quantum Computing for Everyone」という書籍で勉強中でした。彼は、数学者として、高校数学の範囲でできるだけ明快に量子コンピューティングを解説する、それには、数式は欠かせない、という方針を貫いています。
The goal is not to give some vague idea of these concepts but to make them crystal clear.
(目標は、これらの概念について漠然とした考えを与えることではなく、非常に明確にすることです。)

 この書籍の主要部は、下図にある通り、ノーベル賞説明にある「 entangled」と「Bell inequalities」などです。第4章 Entanglement(量子もつれ)や第5章 Bell's Inequality(ベルの不等式)が目次にあります。実際、上記の方針どうり、高校数学で分かる数式を用いて、厳密に、簡潔に、丁寧に書かれていて、感心するばかりです。
 量子コンピューティングに関する教科書は他にも優れたものがいくつか出版されていますが、Chris によるこの書籍は、それらの中でも、簡潔さ、一貫性、数式による明快さにおいて、非常に優れていると感じます。また、平易な英文に徹しているところも嬉しいです。ということでご紹介しました。

高校数学で説明できるのですか?
 ごもっともな質問です。YesでもありNoでもあると思います。
 Yesとは、実際にEntanglement(量子もつれ)とBell不等式については、本質的なところ基本的なところは高校数学の範囲の数式で明快に説明していると思います。

 Noとは、それでも限界があるようです。というのも、著者はこの本では実数の世界で話を展開しています。普通に考えれば、量子力学の世界は複素数の世界ですね。彼は数学者ですから、そこは十分に考慮した上で独自の説明をしていると思います。実際、例えば、ショアの因数分解アルゴリズムもこの本の最後の方に出てきますが、そこも実数の世界で、"taste"を解説するに留めています。そして、これより深くは、複素数を扱うさらに上位のテキストで学んでほしいとしています。

 しかしながら、量子コンピューティングに携わる一般的なソフトウェア技術者に必要な量子力学の基礎知識は、実数の世界で十分身に付けられる。その実数世界において、きちんと数式を使ってクリアに説明を尽くすという考えだと思います。その通りになっているので大いに感心します。

このChris Bernhardt著に関する情報
彼のwebサイトに本書に関する幾つかの有用な情報が載っています。

(1)  Quantum computing in 10 minutes
 10分で分かってもらえるかわからないが、ともかく書いてみました。という本書全194ページをまとめた資料。

(2) Short intro to IBM quantum computer
 本書は数式で概念を明確にすることに徹しているのだが、この資料は、それらをIBM Quantumマシンで確かめるための短い手引き。これも有用だ!

(3) そして、執筆意図などについて、著者がインタビューに答えるpodcastもある!

2022年10月4日火曜日

極細0.2mmのシャープペンシルの使い心地

 筆記用具の話です。電子書籍を読むことがあるのですが、これはじっくり読みたいとなった場合は、どうしても紙の書籍を注文してしまいます。赤や青で線を引いたり、余白や行間にメモを書かないと気がすまないからです。そんな時、普通の0.5mm芯のシャープペンでは太過ぎます。最近、0.2mm芯のものがあることを知り、使い始めました。素晴らしい使い心地です!

 きっかけは、量子コンピュータ初歩実験「光子の干渉」をやったことです。ここにその記事があります。レーザーポインタの光線を当てる極細軸として、0.2mmの芯が必要でした。その後、この芯を使うシャープペン「ぺんてるOrenz」を購入して使い始めたところ、予想以上の素晴らしい使い心地でした!
 狭いところに小さな文字を鮮明に書くことができます。そして、0.2mmという極細なのに折れません。素晴らしい芯出しメカニズムになっているようです。芯の出口付近をうんと拡大してみると、シリンダ先端の切り口は丸味を帯びています。そのため、シリンダが紙に触れる前に、わずかに顔を出している芯の方が先に紙に当たる。そこがポイントらしい。

 図にある通り、芯はほとんど見えません。この状態で書き続けられます。芯は細いシリンダに囲まれているので折れないのです。そして、芯が減って行くと、自動的にシリンダも少しづつ縮んで行きます。だいぶ短くなったら、再度クリックすれば良いのです。

 私にとっては、筆記の革命のようです。これまで、0.5mmを使っていた場面でも、代わりにこの0.2mmを使えそうです。以上、ご参考までにご紹介。
 Pentel Orenz 0.2mmのシャープペンの価格は500円〜2000円程度。機構は同じだと思いますが、軸(ケース)の材質やデザインにバラエティがあります。また、同じ0.2mmでも、濃さ(硬さ)はHBや2B等があるので、好みで選ぶことになります。