全863文字
量子コンピューターの動作は下の図のような回路で指定します。量子コンピューターにおけるアルゴリズムの設計とは、この回路図を書くことに相当します。普通のコンピューターになじんだ人にとっては、アルゴリズムというとプログラミング言語で記述するイメージが強いと思いますが、現状の量子コンピューターでは、論理ゲートやそれを組み合わせた機能部品をどうつなげて問題を解くかが、アルゴリズムの開発に当たるのです。
この回路図で、横方向に最初から最後まで続く線が何本も伸びています。それぞれが、一つひとつの量子ビットを表しており、縦方向に数えた本数が、この回路が用いる量子ビットの総数です。量子コンピューターでは、回路で使う量子ビットは、あらかじめ全て用意しておく必要があります。
この回路の計算は、左から右に向けて進みます。一番左に並んだ「0」は、それぞれの量子ビットの最初の状態を0にセットしていることを示します。次に並んだ「H」と書かれた四角は「アダマールゲート」と呼ばれ、0だった量子ビットの状態を、確率半々で0と1が重なり合った状態に変換する論理ゲートです(アルゴリズムによっては最初にアダマールゲートを置かない場合もあります)。
その後に続く「U」と書かれたいくつもの四角が、個別の処理に相当します。その中身は計算によってさまざまですが、足し算回路のように各種の論理ゲートを組み合わせて作ります。これこそが、アルゴリズム開発の焦点であり醍醐味(だいごみ)です。
それぞれの横線の最後にはメーターの絵が描かれています。これは、量子ビットの状態の測定を表す記号です。この測定で、量子ビットの状態は最終的に0か1かのどちらかに決まります。
測定結果が正しい答えになるためには、量子ビットに操作を加えて正解が現れる確率をあらかじめ高めておく必要があります。なお、アルゴリズムによっては、重ね合わせ状態の0や1の確率が、答えに当たる場合があります。その際には、何度も測定を繰り返して、0や1が得られる頻度として確率を推定します。
次回の一問一答
-
量子コンピューターの基本となる論理ゲートは?
からの記事と詳細 ( 量子コンピューターのプログラムはどうやって書く? - ITpro )
https://ift.tt/hueK1MD
No comments:
Post a Comment