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")
2022年9月27日火曜日
MIT App Inventorの新設Chart機能の利用例
2022年9月24日土曜日
Data Science work in MIT AppInventor with new Data Charts components
2022年9月18日日曜日
ドイチュのアルゴリズムで量子計算のこころに触れる(続)
2022年9月16日金曜日
素晴らしい手書き数式の自動整形ソフト
前回の記事で、量子計算の式が混み入っていたので、万年筆の手書きをスキャンして貼り付けました。本当は、LaTeXで書くべきなんでしょうが、不慣れな私には苦痛でしたので。これをご覧になった元の職場の同僚だった博先生から、「手書き数式も味わいがありますが」という慰めの言葉をいただきました。しかし、同時に、Mathpix Snipというソフトで、手書き数式をWordの数式エディタへ貼り付けられる、という情報もいただきました。
これは試すしかありません。数式といえば、一般には微積の複雑な式を思い浮かべますが、今回は、ちょっと違って、Diracのケットベクトル記号や、ベクトルの直積、排他的論理和などからなる数式です。早速、一部を試してみました。
下図の通り、素晴らしい!完璧でした。ディープラーニングで画像認識の応用になっているようです。下部の緑のバーは、confidenceが100%近いことを示していますから、自信があるのでしょう。
手書きの縦棒"|"と数字の"1"は、区別が難しいと思われるのですが、きちんと認識されているので、おそらく、Diracのケットベクトルだと分かっている(学習している)のでしょう。
もう一つやってみます。カッコも多重になり、密になってきました。結果は、かなり良いです。手書きの、論理否定の上バーは認識されたようだが、出力に反映されなかった。このくらいなら、Wordの数式エディタにコピーして簡単に修正できますね。
結論として、ぜひ今後も使いたい!今、試しているうちに無料使用件数の上限に達してしまいました!分かりました、料金を払って使い続けます!2022年9月15日木曜日
ドイチュのアルゴリズムで量子計算のこころに触れる
【要旨】アルゴリズム、アルゴリズムとよく言いますが、コインの真偽判定に関するドイチュのアルゴリズムは、現在のPC上では考えられません。量子計算に特有の全く不思議なアルゴリズムですが、小生なりに理解した結果を、分かりやすく説明します。(なお、量子ビットの状態、重ね合わせ、もつれ、及び量子ゲートの基礎知識を前提としていますが、ご存じなくても、不思議さは感じていただけると思います。)
このアルゴリズムの拡張版であるドイチュ・ジョサのアルゴリズムについてはこちらに簡単な試行結果があります。
●コインの真偽判定の問題
コインをトスして何かを決める場合がある。その際、コインが変造されていないかを検査したい。表裏が同一のデザインならば、それは偽物だ。表と裏をそれぞれ見るので、2回の検査を要する。これを2値(0, 1)関数f(x)の適用に置き換えてみる。変数xも0か1をとるとする。コインの最初の検査をf(0)、2回目の検査をf(1)とする。関数値0と1は、それぞれ、QueenエリザベスIIのデザインと裏地のデザインに対応する。そのような関数fとして、図1に示すように、 f1, f2, f3, f4の4種が考えられる。f1と f2は、平衡関数(裏表が異なる)と呼ばれ、f3, f4は定数関数(表裏が同一)と呼ばれる。
この問題を解く、ドイチュのアルゴリズム(1985年)は、ただ1回のコインの検査だけで済むという。そんなことできるのか?実に不思議だが、それを実現する量子回路が図2に示すものだ。詳細は後で述べるが、まずはそれがどんなものかを見てみよう。
制御ビットと標的ビットという2つの量子ビットを用意し、それぞれ"|0>"と"|1>"に初期化する。それらにアダマールゲートHを通す。その状態にOracleと呼ばれる判定ゲート適用する。Oracleの中身は、図にあるように排他的論理和をとるだけの単純なものだが、Oracleに入ってくる状態①が、すでに量子特有の重ね合わせ状態となっていて、これが常識では考えにくい作用を起こす元になっている。
それはともかく、Oracle適用後の制御ビットにさらにアダマールHを適用し、その結果を観測した結果が、"0"ならば定数関数(偽物)であり、"1"ならば平衡関数(本物)だという。繰り返しになるが、Oracleは1回しか通していない。だから、f(x)の計算も1回しかやっていない。それなのに、このような結論が得られるのだ!
なぜこのアルゴリムでよいのかは後で述べるが、その前に、この回路をQni量子シミュレータで実行して結果を確認する。IBM Quantumの実機でも簡単に実行できるのだが、待ち時間が長すぎるので、今回は保留した。
ここからは、このアルゴリズムが思い通りに働くことを理論的に示す。ここで用いた計算は、渡邉靖志著[1]に従っているが、途中の計算過程もできるだけ省略せずに、独自の説明も加えた。その前に必要となる種々の量子ゲートの働きについては、こちらのブログ記事も参照されたい。また、アダマールゲートHについては、小生自作の図4のブロッホ球の模型もイメージするのに役立つだろう。
量子コンピュータ実機(IBM Quantum - ibm_nairobi)による結果も得られたので記録しておく。下図は、図3の関数f1に対するものであり、観測結果は93.5%(=958/1024)の確率で、"1"、すなわち、平衡関数だという正しい結果となった。
2022年9月10日土曜日
Learning fundamental single qubit quantum gates
2022年9月2日金曜日
Bloch sphere model for understanding quantum computers
2022年9月1日木曜日
Image noise reduction based on quantum annealing
Abstract
This app uses quantum annealing, a type of quantum computing, to reduce noise in binary images. For this purpose, a model called an Ising model, which consists of the interrelationships of pixels after adding noise, is constructed, and sent to the Annealing WEB service using App Inventor's web function. Noise reduction is displayed on the smartphone screen based on the spin information corresponding to the pixels returned from the web service. This app, which runs on familiar smartphones, lets you experience the processing of a quantum annealing machine that is different from existing computers.
This app is published here: source code
source code: MIT App Inventor Gallery
(If you need pre-built .apk file, please contact me.)
This app won the "2022 September's MIT APP INVENTOR OF THE MONTH" award.
Noise reduction using Annealing web service
Here, we will use Hitachi's CMOS Annealing cloud web service. Designate the original image on your smartphone, add a small amount of random noise to it, and use it as the input image. In preparation for removing that noise, we map each black and white pixel to a spin up or down (in quantum mechanics). And we also describe the connection relations between those spins. After that, we construct an energy function (or cost function) that describes the properties that neighboring pixels (spins) should have after noise reduction. In other words, this creates an Ising model. Sending it to the web service will give you the spin direction that minimizes the energy function value. Based on that, it generates a noise-reduced image. A more detailed explanation of this method can be found on the Hitachi web page below:
https://annealing-cloud.com/en/tutorial/1.html
Noise reduction application created with MIT App Inventor
Figure 1 shows an application created with MIT App Inventor based on this method. The procedure for its use is shown at the bottom of the figure. First of all, in order to use this Annealing Web service, please obtain an access token from the Hitachi website below. You can get it for free. The expiration date is one month, but you can renew the expiration date if necessary. You will need to paste this token into the input field at the top of the app.
https://annealing-cloud.com/en/web-api/token-request.html
There are several parameters to control this annealing. Some of them can be changed from this screen. For the meaning of the parameters, see the Hitachi website above. Here we use a simple preset image (a simple illustration of a dog), but you can easily replace it with your own image. You can also observe by changing the size of the image and the number of noises (number of pixels).
It may take some time for the web service to respond, so please be patient!
If the noise reduction results seem strange or you get an error, please wait a while and try again!
Results of noise reduction in this method
This app is not aimed at practical noise reduction, but is a demo app that shows the possibilities of the quantum annealing method. Therefore, it will not cope well with images that are too complex or too much noise. Some execution results are shown in Figure 2. From these results, we can see the characteristics of this method. In other words, it can be confirmed that isolated noise within white or black areas is easy to remove, but noise near black and white borders is difficult to remove.
Main blocks of this app
The main MIT App Inventor blocks for this app are shown in Fig.3. There are two parts. Part (a) is for starting the Annealing Web service. An energy function (Ising model) required for noise reduction is set in the variable "model_list". The energy function contains two formulas. One is for the number of pixels in which black and white are reversed in the input image and the denoised image. The second is for the number of pairs of pixels in which adjacent pixels have the same value in the image after noise removal. Also, part (b) processes the result (information about spin) received as Json text from the web service.
Acknowledgments
This application is based on the explanation on the website of Hitachi, Ltd. below:
https://annealing-cloud.com/en/index.html
We would like to thank Dr. Masanao Yamaoka of Hitachi, Ltd., who developed the CMOS annealing machine, for answering various technical questions.