2026年8月22日土曜日

これまでの量子関係ブログ記事170件をAIに纏めてもらう

 2022年春頃から、これまでに、約170件の量子コンピューティング関連記事を、「Sparse-Dense Blog」に書いてきました。ここにその記事のタイトル一覧(記事へのリンク付き)があります。それをAIに渡して、それらの内容を1枚の紙にイラスト風に纏めてもらいました。3者(ChatGPT、Google Gemini、365Copilot)にお願いしてみました。一番良かったのが以下のイラストです。誰がベストかは伏せておきます。


 結論として、かなり優秀な出来栄えだと思います。ただし、一部正確さに欠けたり、書いて欲しい点が抜けていたり、私が言っていないことまで追加されていたり、と減点せざるを得ないところもありました。しかし、全体としては85点の合格点をつけたいと思います。(文字が小さいので拡大してご覧ください。)

2026年8月17日月曜日

A Needle-Dropping Game to Approximate π as 3.14

I created a game app based on the “Buffon’s Needle” experiment from my previous post. What makes it interesting is the seemingly mysterious fact that you can approximate π simply by dropping needles onto parallel lines—without drawing a circle anywhere! This could also make a fun app-development exercise for junior high and high school students. So, let’s take a look at the app I created. For this kind of project, I usually use MIT App Inventor. In this case, the ImageSprite feature was especially useful, allowing me to implement the needle-dropping action quite nicely.

πの近似値3.14が得られるまで針を投げるゲームアプリ
 これはゲームアプリの作成です。前報の「ビュフォンの針」に基づいていますが、少し仕様は異なります。でも、円周も描かないのに、平行線に針を投げるだけで、πの近似値が求められる不思議さを味わえます。中高生向けのアプリ開発例題にできるかもしれません。早速、作成したアプリを以下に示します。この種のアプリを作る場合、私はMIT App Inventorを使います。今回は、特にImageSpriteの機能を使って、針の投入をうまく書くことができました。

A quick note before going any further. Buffon’s needle experiment was originally designed to estimate π by tossing a large number of needles. This app, however, keeps tossing needles until it obtains 3.14—that is, π correct to two decimal places. Still, there may be some educational value in building the app yourself and experiencing the curious fact described above: π emerges simply by tossing needles onto parallel lines.

I have also added a small trick. Since the result depends on the sequence of random numbers, it is possible that the estimate may take quite a while to reach 3.14. So, somewhat secretly, I set the initial state as if 100 needles had already been tossed, with 64 of them crossing one of the red parallel lines. This gives a crossing probability of 0.64, corresponding to π = 3.125, which is already a fairly good estimate. So, in most cases, tossing just a few dozen more needles should be enough. In the example shown above, the estimate reached 3.14 after a total of 110 needle tosses.

For reference, let the distance between the parallel lines be D and the needle length be L. When D=L=1, as explained in the Doc above, π can be estimated as follows:

m=total number of needles tossed
n=number of needles crossing a parallel line
π≈2m/n

The best (m,n) pair I have found so far using this app is (m,n)=(8900,5666),which gives π≈2×8900/5666=3.1415, correct to four decimal places. With the help of AI, it would probably be easy to find many more such pairs—but that might take some of the fun out of it.

If you are interested in this app and would like to try it out, please contact me. I will provide the Android version (APK file).


2026年8月15日土曜日

円周率近似法「ビュフォンの針」を量子計算の教育的なデモにできるか?

要旨:タイトルに対する回答:大きくYESとは言えないが、ある程度可能、である。教育的観点から、量子コンピューティングを身近な問題に適用してみたいと考えていた。その一例として、1777年に発表された「ビュフォンの針(πの近似計算)」に着目した。たくさん平行線が引かれた紙の上に、多数の針をばらまき、それらが平行線と交わる確率pを求める。すると(平行線の間隔と針の長さが共に1の場合)、π=2/Pとなる!とても不思議に思えるが、それは高校数学で証明できる。そのシミュレーションは、通常モンテカルロ法による。だが、ここでは量子的方法で実行を試みた。結論としては、完全な量子計算にすることは困難だが、量子コンピューティングの重要な側面に触れるという教育的意義はあった。

🟢「ビュフォンの針」の古典版と量子版の概要
 円周率πの近似値を「ビュフォンの針」によって求める。従来のモンテカルロ法と、量子振幅推定(QAE: Quantum Amplitude Estimation)を用いる方法の両方で試した。どちらの方法でも、多数の針に対して、針が平行線と交差するかどうかを、針の中心位置と角度から判定することが必要である。
 モンテカルロ法では、各針について交差の有無を調べ、交差した針の本数を数えて合計し、それを全体の本数で割ることで、交差確率の近似値が得られる。
 一方QAEでは、状態準備回路によって、針の中心位置と角度に対応する量子状態の全てを、量子重ね合わせ状態として準備する。その後、オラクルと呼ばれる量子回路によって交差状態のみに位相反転を与え、量子干渉を利用して交差状態に対応する振幅を増幅させる。さらに、その振幅に対応する回転角(固有位相)を推定することで、交差確率pを直接推定することができる。
 どちらの方法でも交差確率pが求まれば、平行線の間隔と針の長さがともに1の場合、(ビュフォンの針の肝である)p=2/πが成立するので、πを推定することができる。

🟢古典版「ビュフォンの針」の実行
 まず、モンテカルロ法によるシミュレーションのアニメをご覧頂きたい。
 乱数系列に強く依存するので、何とも言えないが、図1の通り、8,900本の針を投入した場合、πの近似値として5桁正解の3.1415まで得られたことに驚いた。


🟢量子版「ビュフォンの針」の実行
 上で述べた本来のオラクルは、sinθの計算と比較演算による交差判定を行い、交差状態にある針を意味する量子状態の位相を反転させる。だが、それを完全な量子回路として実現するには多くの困難を伴う。そのため、ここでは、交差判定は、あらかじめ古典計算で済ませることにした。それに基づく位相反転機能だけをオラクル量子回路に持たせた。
 そのようなオラクルを図2に示した。針の中心位置yと角度θをそれぞれ、分解性能を3量子ビットで表現しているので、それらで決まる8×8=64個の針の量子状態を全て重ねた状態を一度に持つことができる。このオラクルは、そのうちの交差状態に対して最終段の標識量子ビットq6を反転させている。
 例えば、最初のMCX(多制御付きNOT)では、針の量子状態|000000〉が交差と判定された後、標識ビットq6が反転するようになっているので、|000000〉⊗|1〉という状態となる。その後、標識ビットが|1〉の場合は、|000000〉の位相が反転される。
 
 次に、このオラクルを、量子振幅推定器QAEに渡す。QAEは、重要な量子回路ライブラリとして使えるようになっている。QAEは、量子干渉を利用して交差状態に対応する振幅をGrover演算で増幅させ、その振幅に対応する回転角(固有位相)を推定することで、交差確率pを直接推定することができる。
 ともかく、このようにして、量子的ビュフォンをシミュレーションで実行させた。その結果を以下に示す。yとθの解像度と、QAEで使う評価用量子ビット数に強く依存するが、今回はπ=3.12というある程度の精度を得た。上記の6量子ビットと標識用1量子ビットに加えて、AQEで必要な評価用9量子ビットの合計16量子ビットを使っている。

==簡易OracleとQAEによる、量子的「ビュフォンの針」の実行結果==
使用した全量子ビット数           : 16
QAE推定確率 P (交差確率)       : 0.639260
計算された円周率 π (推定値)    : 3.128618
実際の円周率 (理論値)              : 3.141593
誤差                                      : 0.012974
================================================

🟢補 足
 精度の面では、モンテカルロ法では試行回数Nを増やすと推定誤差はO(1/√N)で減少する。したがって精度を10倍向上させるためには、理論上100倍の試行が必要となる。一方、QAEではオラクルの呼び出し回数Nに対して推定誤差がO(1/N)で減少するため、精度を10倍向上させるためには理論上10倍のオラクル呼び出しで済む。この結果、QAEは古典モンテカルロ法に対して二次加速(quadratic speedup)を実現できることが理論的に示されている。
 ただし、ここで用いた回数N意味は両者で異なることに注意が必要である。モンテカルロ法におけるNは試行した針の本数を表すのに対し、QAEにおける回数Nはオラクル(交差判定回路)の呼び出し回数を表す。したがって、この二次加速は実行時間そのものではなく、交差判定へのアクセス回数(クエリ複雑度)の観点での理論的な優位性を意味している。

🟢感 想
 「ビュフォンの針」による円周率近似において、簡易的、部分的にではあるが、オラクルという量子回路を設定し、それをQAE(量子振幅推定)に繋げて結果を出すことができた。古典的にはモンテカルロ法で求める交差確率を、個々の試行での加算を行わずに、振幅増幅によって直接読み出すという、量子コンピューティングの重要な側面に触れることはできた。ただし、本来の(本物の)オラクル回路にはなっていない点は明確にしておきたい。
 この問題は、従来のモンテカルロの方が圧倒的に容易に計算できるので、(こんなに複雑な)量子の出番はないとも言える。量子の得意分野は他にある。それでもなお、今後、教育的により適切な量子計算の例題を探求していきたい。

🟢

2026年8月9日日曜日

量子振幅推定QAE (Quantum Amplitude Estimation)の性能

 量子振幅推定QAE (Quantum Amplitude Estimation)は、量子的方法が古典的方法よりも優位である可能性を示す一例です。金融のリスク評価など、実用的にも非常に重要とされています。標準的なQAEでは、理論通り、求める確率のエラーが、オラクル呼び出し回数Nに対して、1/Nに(1/√Nではなく)減少することをシミュレーションで確認しました。ノイズに強い改良型のQAEを用いた、量子コンピュータ実機での実行は今後の課題ですが。

🟢どのような問題?
 具体例を図1に示します。中央のブロッホ球面に一つ量子状態が示されています。これは、北極状態に対して、右側に示すように、2つの量子ゲートRy(60°)とRz(15°)を適用した結果です。そのため、これを測定した場合、|0>になる確率は0.75、|1>になる確率は0.25と算出できます。では、この量子状態がどのように設定されたかが不明な場合、|1>となる確率を求めたい、という問題です。以下の2つの方法を比較します。

🟢Standard Sampling(モンテカルロ法)
 これは通常の方法です。多数回のサンプリングによって確率を求めます。誤差をε以下にするには、1/ε回のサンプリングが必要なことが分かっています。例えば、ε=0.01以下にしたい場合、10000回サンプリングが必要です。

🟢QAE (Quantum Amplitude Estimation )
 上記モンテカルロ法よりも、圧倒的に少ない測定回数で精度よく振幅推定する方法です。QAEは、Groverの探索と同様の構成と量子位相推定(QPE)を組み合わせた方法であり、内部で、「位相の増幅」を含むモジュール(ここではこれをOracleと呼ぶ)を呼び出します。誤差をε以下にするには、1/ε回のOracleの呼び出しで済みます。例えば、ε=0.01なら、100回となります。なお、Oracleの呼び出し回数は、QAE内部の評価量子ビットの個数に応じて最適に決められます。

🟢シミュレーションによる両者の性能の比較
 図2に、両者の誤差減少の模様をプロットしました。ここで、横軸に注意いただきたい。Standard Samplingの場合は、回数Nは、サンプリング(shot)回数です。一方、QAEの場合は、回数Nは上記に述べたOracleの呼び出し回数です。両者とも、回数Nの増加に対する誤差の減少は、理論値とかなりよく合致することがわかりました。QAEの優れた特性が確認できました。

 実時間の比較で、どちらの方法が短時間で正答できるかを言うことは困難です。つまり、QAEの実装回路を実行する量子コンピュータ実機の性能、特にノイズによるエラーの影響を考慮する必要があるからです。そこで、理論的な性能指標として、Oracleの呼び出し回数を用いるのが通例です。今回もそれを用いた次第です。今回はシミュレーションでの比較でした。量子コンピュータ実機での比較は今後の課題です。現在、ノイズに強い改良型QAEの研究開発も進められていますので。