(57)【要約】【課題】  ノイマン型ストアードプログラム方式コンピュータ、および従来型のニューラルネットワークの限界を越える可能性を持ったニューラルネット型量子コンピュータを実現する。【解決手段】  生物の情報処理に用いられているニューロンの働きには、量子コンピュータの構成要素であるキュビットとしての性質が備わっており、量子コンピュータをニューラルネットワーク構造で構築できることを示す。さらに、ヒルベルト空間論に基づいた量子コンピュータに適した情報表現法を適用し、ニューラルネットワークと量子コンピュータを統合したニューラルネットワーク型量子コンピュータを構成する。【選択図】図１
2009070348.tif 000002
【特許請求の範囲】
【請求項１】
多細胞生物において情報の処理機構を形成しているニューロンの働きを模した電子回路、あるいはコンピュータプログラムを最小構成単位とし、それら構成単位を接続し相互作用させて構成される、情報処理を目的としたニューラルネットワークにおいて、そのニューラルネットワークの処理する情報が、その情報を構成する属性を持った要素の集合として表されているとき、状態または情報の抽象的記法として量子力学におけるケットベクトルの記法を用いて、その要素の属性を完全に満たしている場合が抽象的なケットベクトル｜１＞で表現されるとし、さらにその属性をまったく持ち合わせていない場合を抽象的なケットベクトル｜０＞で表現されるものと定義し、α、βを任意の複素数として
｜α｜２＋｜β｜２＝１
が満たされているものとしたとき、ニューロンの働きを模した電子回路、あるいはコンピュータプログラムの最小構成単位のひとつにおいて、その最小構成単位の表現する情報は、
｜Φ＞＝α｜１＞＋β｜０＞
として表される抽象的なケットベクトル｜Φ＞であるとし、さらに、上記属性を完全に満たしているときニューロンが１００％の確率で発火するとした対応づけを行うときには｜α｜２が、上記属性をまったく持ち合わせていないときにニューロンが１００％の確率で発火するとした対応づけを行うときには｜β｜２がニューロンの発火頻度に比例する様に対応づけることを第一の特徴とする。
このとき、ニューラルネットワーク全体の情報は、介在ニューロンに相当するものを含めた、ニューロンの働きを模した電子回路、あるはコンピュータプログラムの最小構成単位の集合体で表され、ニューラルネットワーク全体の情報を表す抽象的ケットベクトルを
2009070348.tif 000020
の情報を表す何個かのケットベクトル｜Φ＞から直積表現を作り、その直積表現に重み付け係数を掛け、それら重み付け係数の付いたいくつかの異なる直積表現の和として表現されることを第二の特徴とする。
このニューラルネットワークにおいての情報処理を行う手続きが、一般的には時間に依存する演算子Ｈ（ｔ）をもちいた時間発展方程式の一般型（量子力学におけるシュレーディンガー方程式と同一の形式）
2009070348.tif 000021
（ここでｔは時間、ａは定数、ｉは虚数単位）
2009070348.tif 000022
いて、
2009070348.tif 000023
と変換されることによって記述されることを第三の特徴とした、ニューロンの働きを模した電子回路、あるいはコンピュータプログラムの最小構成単位が接続され、相互作用することによって情報処理を行うニューラルネットワーク型量子コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、多細胞生物において情報の処理機構を形成しているニューロンの働きを模した電子回路、あるいはコンピュータプログラムを最小構成単位とし、それら構成単位を接続し相互作用させて情報処理を行うニューラルネットワークにおいて、その動作原理として量子力学的時間発展方程式を用いることを特徴としたニューラルネットワーク型量子コンピュータに関するものである。
【背景技術】
【０００２】  生物において情報処理に用いられているニューロンからなる神経回路網をモデルとしたニューラルネットワーク、あるいはニューロコンピュータの考えは、ノイマン型のストアードプログラム方式のデジタルコンピュータの限界を越えるのではないかと期待され、活発な研究開発が行われてきた。特にバックプロパゲーション方式の学習規則の登場で大きな発展が見られ、音声認識などパターン認識方面での応用が試みられている。しかし現状のニューラルネットワークの多くは数学的には、入力である情報のパターンを出力の情報のパターンに写像するものと考えられ、外部の世界を認識し、行動を決定し、動作するといった時系列的な情報を処理するためには，異なる機能を持った複数のニューラルネットを接続し、矛盾無く統合しなければならず、現時点でノイマン型のストアードプログラム方式のデジタルコンピュータをもちいたシステムを凌駕する機能、柔軟性を持ったシステムはできていないと見られる。また従来のニューラルネットワーク、あるいはニューロコンピュータにおいては、なんらかの量子力学的挙動を採り入れた情報処理は考えられていないと思われる。【０００３】  近年、情報を表現するために０、１あるいはｏｎ，ｏｆｆといった２値表現を用いたデジタル情報処理に対して、量子力学的な状態の線形重ね合わせの原理を用いたキュビットとよばれる情報の単位を使用する量子コンピュータの概念が提案され、量子コンピュータが実現すると特定の計算領域、例えば公開鍵暗号を解読するといった課題が非常に高速に実行できることが示されている。しかし、量子力学的現象を利用した量子コンピュータのハードウェアは、いまだ実用領域のものは完成されておらず、キュビットの特性を示す試作デバイスの発表、ＮＭＲを用いたシステムで小規模ではあるが、キュビットを用いた量子演算の実行例が報告されている段階である（非特許文献４にいくつかの記述がある）。量子コンピュータに関しては量子力学的現象を利用したハードウェアの実現に向けての歩みが遅い他に、量子コンピュータをいかに構築し、さらにいかにそれをプログラムして有用な情報処理を行わせるか明確な指針が未だ見出されていないことがある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】  物理現象としてではなく情報処理の観点からみて、ニューロンの動きがキュビットとしての量子力学的挙動を持つことを示し、電子回路、あるいはコンピュータプログラムによってニューロンの働きの量子力学的挙動を模す最小構成単位を構成し、そのキュビットの挙動を示す最小構成単位をニューラルネットワークとして接続し、相互作用によって情報を処理するニューラルネットワーク型量子コンピュータが構築できることを示す。そのニューラルネットワーク型量子コンピュータによって、ノイマン型のストアードプログラム方式のデジタルコンピュータの決定論的挙動、および従来型のニューラルネットワークの機能を越えた能力を持つ情報処理システムを提供することにある。
【課題を解決するための手段】
【０００５】  請求項１においては、多細胞生物において情報の処理機構を形成しているニューロンの働きを模した電子回路、あるいはコンピュータプログラムを最小構成単位とし、それら構成単位を接続し相互作用させて構成される、情報処理を目的としたニューラルネットワークにおいて、そのニューラルネットワークの処理する情報が、その情報を構成する属性を持った要素の集合として表されているとき、状態または情報の抽象的記法として量子力学におけるケットベクトルの記法を用いて、その要素の属性を完全に満たしている場合が抽象的なケットベクトル｜１＞で表現されるとし、さらにその属性をまったく持ち合わせていない場合を抽象的なケットベクトル｜０＞で表現されるものと定義し、α、βを任意の複素数として
｜α｜２＋｜β｜２＝１
が満たされているものとしたとき、ニューロンの働きを模した電子回路、あるいはコンピュータプログラムの最小構成単位のひとつにおいて、その最小構成単位の表現する情報は、
｜Φ＞＝α｜１＞＋β｜０＞
として表される抽象的なケットベクトル｜Φ＞であるとし、さらに、上記属性を完全に満たしているときニューロンが１００％の確率で発火するとした対応づけを行うときには｜α｜２が、上記属性をまったく持ち合わせていないときにニューロンが１００％の確率で発火するとした対応づけを行うときには｜β｜２がニューロンの発火頻度に比例する様に対応づけることを第一の特徴とする。【０００６】  このとき、ニューラルネットワーク全体の情報は、介在ニューロンに相当するものを含めた、ニューロンの働きを模した電子回路、あるはコンピュータプログラムの最小構成単位の集合体で表され、ニューラルネットワーク全体の情報を表す抽象的ケットベクトルを
2009070348.tif 000003
の情報を表す何個かのケットベクトル｜Φ＞から直積表現を作り、その直積表現に重み付け係数を掛け、それら重み付け係数の付いたいくつかの異なる直積表現の和として表現されることを第二の特徴とする。【０００７】  このニューラルネットワークにおいての情報処理を行う手続きが、一般的には時間に依存する演算子Ｈ（ｔ）をもちいた時間発展方程式の一般型（量子力学におけるシュレーディンガー方程式と同一の形式）
2009070348.tif 000004
（ここでｔは時間、ａは定数、ｉは虚数単位）
2009070348.tif 000005
いて、
2009070348.tif 000006
と変換されることによって記述されることを第三の特徴とした、ニューロンの働きを模した電子回路、あるいはコンピュータプログラムの最小構成単位が接続され、相互作用することによって情報処理を行うニューラルネットワーク型量子コンピュータを構成する。
【発明の効果】
【０００８】  神経生理学において良く知られているとおりに、情報処理を行っているニューロン（以下でこれをニューロン１とする）は他のニューロン（以下でこれをニューロン２と代表して書く）とシナプス結合で接続されており、接続しているニューロン２が発火するとシナプスにおいて神経伝達物質が放出され、ニューロン１の神経伝達物質の受容体がニューロン２から放出された神経伝達物質と相互作用し、ニューロン２のニューロン１に対する作用が興奮性であるか、抑制性であるかに応じてニューロン１の活動電位を上げ下げし、ニューロン１の活動電位が電気化学的発火の閾値を越えるとニューロン１が電気化学的に発火し電気パルスを発生し、ニューロン１に接続した次の段のニューロンに信号をおくる。実際の生物の神経系はニューロンが複雑に接続されており、どのニューロンがどのニューロンに接続し、接続しているシナプスの数はいくらか、シナプスの信号伝達の効率はいくらか、ニューロンの電気化学的発火の閾値はいくらかといったデータを完全に取得することは当面の科学技術の水準では不可能である。さらに生物の神経回路網では神経細胞の新生、死滅、シナプス結合の数の増減など常に変化していて、神経回路網を精密に記述して神経回路の機能を解明することをいっそう困難にしている。【０００９】  しかし、統計物理学と量子力学の手法を用いると神経回路網の構造を精密かつ完全に記述しなくても、その神経回路網と同じ情報処理を行う数学的記述を定義することが可能になる。以下ではニューロンの働きが数学的には量子コンピュータにおけるキュビットと等価であることを示し、神経回路網の情報処理を、数学的に上記キュビットの集まりの、量子力学におけるシュレーディンガー方程式と同型の時間発展方程式に従った時間発展として取り扱う方法に付いて述べる。【００１０】  神経回路網において情報がどのように表現されているかは後述するが、まづ、ニューロンの発生する電気パルスの発火頻度に、そのニューロンがになっている情報の強度的量が示されていることを前提にする。時間尺度を適切に調節して，電気パルスの発火頻度をＰとし、０≦Ｐ≦１とする。そして発火頻度Ｐ＝１である状態を量子力学の記法を用いて抽象的なケットベクトル｜１＞と書く、次に発火頻度Ｐ＝０である状態を同様に抽象的なケットベクトル｜０＞と書くことにする（情報や状態をケットベクトルを用いて抽象的に表現するために量子力学の記法を用いたが、この段階で量子力学の法則は何ら使用していない）。次に、統計物理学における知見のひとつとして、あるひとつの物理的系を長時間観察して算出した統計量と、そのひとつの物理的系のコピーが相互に独立に多数あって、ある瞬間においてその多数の系を観測して算出した統計量が同じになるとして良いことがほとんどであるという事実がある。神経回路網を構成するニューロンの数が少数であると、この統計物理学の知見を応用することはできないであろうが、人間の脳などでは、ひとつのニューロンへの入力として数千以上のニューロンからの出力が接続されていて、その数千個のニューロンは外部からの感覚や介在ニューロンの出力など多様な情報を多様なルートを通して影響を受け活動しているから、相互に相関関係が強いと考えるよりは、統計的に考えるとランダムに近く活動しているとみなし、統計物理学的に扱ってよいと考える。【００１１】  すると発火頻度Ｐのニューロンの状態は確率Ｐで状態｜１＞にあり確率（１−Ｐ）で状態｜０＞にあると表現できることになる。ここでＰ＝｜α｜２とかき（１−Ｐ）＝｜β｜２αとβは任意の複素数で、｜α｜２＋｜β｜２＝１であるとする。
このときケットベクトル｜Φ＞＝α｜１＞＋β｜０＞を定義する。
（ケットベクトル｜１＞、｜０＞は規格直交化されているものとする）
このケットベクトル｜Φ＞は、なんらかの観測をして状態を調べたとすると、｜１＞の状態として観測される確率が｜α｜２＝Ｐであり、｜０＞の状態として観測される確率が｜β｜２＝（１−Ｐ）となることをしめしている。したがってケットベクトル｜Φ＞で発火頻度Ｐのニューロンの状態が抽象的に表現されたことになる。このケットベクトル｜Φ＞は、量子コンピュータの概念において、二つの異なる物理的状態を考えて、その表現として規格直交化された二つ状態ベクトルを考え、その線形重ね合わせとして定義されるキュビットと同じ数学的性質を持っている。したがってニューロンの働きを抽象化して、数学的にはキュビットとして取り扱うことが妥当であることが示された。従って、ニューロンの働きを模した電子回路、あるいはコンピュータプログラムからなる最小構成単位を用い、それらを接続し相互作用させることによって情報処理を行うニューラルネットは数学的には、量子コンピュータにおいて用いられるキュビットと同一の情報処理の単位の集合体であるとして取り扱うことができる。以下においてキュビットの集合体による情報処理はいかなるものかを示す。【００１２】  キュビットは量子力学的性質を持つのだから、系は量子力学に従うものと考える、キュビット｜Φ＞の状態の時間変化は，ノルム＜Φ｜Φ＞が保存されるように変化する。
数学的にはユニタリー変換Ｕを用いて、新しい状態を｜Φ’＞とかくと、
｜Φ’＞＝Ｕ｜Φ＞
＜Φ’｜Φ’＞＝｜Φ｜Φ＞
そして量子力学に置ける状態の時間発展はハミルトニアンＨを用いて、
2009070348.tif 000007
と書かれるシュレーディンガー方程式によって記述される。
すると、ユニタリー変換Ｕは
2009070348.tif 000008
と定義される。
時刻ｔ＝０からｔ＝ｔ１までのＨ＝Ｈ１とし、ｔ＝ｔ１からｔ＝ｔ２までのＨ＝Ｈ２とすると、
2009070348.tif 000009
となって、
最終的な状態｜Φ’’＞は
｜Φ’’＞＝Ｕ２Ｕ１｜Φ＞
となる。
時間的に変化するハミルトニアンＨをもちいてシュレーディンガー方程式にしたがって状態が時間変化するとして記述しても良いし、上記で導入したユニタリ変換Ｕを連続して行っていくとしても数学的にはまったく等価である。物理系を記述する場合にはハミルトニアンＨはエネルギーに対応した演算子であるので、シュレーディンガー方程式を解くのが定石である。しかし取り扱う対象が情報である場合には、演算子Ｈは一般的にはエネルギーのような物理量では無く、時間発展方程式であるシュレーディンガー方程式を直接使用するよりも、それと数学的に等価なユニタリー変換の連続に変換した方が便利な場合が多い。しかしユニタリー変換の連続として系の状態変化を記述したとしても、時間に依存した演算子Ｈ（ｔ）をもちいてシュレーディンガー方程式を用いて系の時間発展方程式を解くこととは完全に等価である。【００１３】
2009070348.tif 000010
している。上記量子力学の定式をニューロンの働きを電子回路、あるいはコンピュータプログラムによって模す場合には、電子回路の動作時間、コンピュータプログラムの動作時
2009070348.tif 000011
書き換えなくてはならない。その大きさは情報処理系の設計で決まるので現時点で特定の値は定められない。【００１４】  以上の説明ではニューロンの動きが数学的には量子コンピュータにおけるキュビットとして取り扱うことができることを示し。さらに、キュビットの状態の時間発展方程式とそれと等価なユニタリー変換による表式を導入した。これによってニューロンの働きを模した電子回路、あるいはコンピュータプログラムより構成されるニューラルネットワークは本質的には、量子コンピュータとしての性格を持ち、従来のニューラルネットあるいはニューロコンピュータは量子力学の古典的極限領域で設計されているものであることが認識された。すなわち本発明によって従来現のニューラルネットワーク，ニューロコンピュータに量子コンピュータとしての性格をあたえることが可能になった。その逆に、ニューラルネットワーク構造で量子コンピュータが構築できることも示された。【００１５】  ニューロンの働きが数学的にはキュビットとして取り扱うことができることは明らかになったが、キュビットに対してどのように情報を付加するのかその方法については述べていなかった。以下においてニューラルネットワークを用いて情報を表現する方法について述べる。【００１６】  最近、マウスの海馬における情報表現の観察とそれに基づいたモデルにより、海馬においては、ある属性に反応するニューロン，あるいはニューロン群が有、さらに別の属性には別の反応するニューロン，あるいはニューロン群が有、さらにそれらから抽出された抽象的概念に対応するニューロン、あるいはニューロン群が有、それらが組合わされて情報が表現されていると実験的に示された。
【非特許文献１】  日経サイエンス  ２００７年１０月号  ｐ３８〜ｐ４６”わかり始めた記憶の暗号”  Ｊ．Ｚ．チェン
【００１７】  この論文では神経回路網によって情報が表現される数学的基礎に付いては述べられていない。しかしヒルベルト空間論を用いた情報表現の形式論は既に量子力学の世界で構築できており、以下にそれを情報表現に適用することを説明し、前記論文との対応を述べる。
【非特許文献２】  ”量子力学の数学的基礎”Ｊ．Ｖ．ノイマン著  みすず書房
【非特許文献３】  ”ＴＨＥ  ＰＲＩＮＣＩＰＬＥＳ  ＯＦ  ＱＵＡＮＴＵＭ  ＭＥＣＨＡＮＩＣＳ”Ｐ．Ａ．Ｍ．ＤＩＲＡＣ著  みすず書房
【００１８】  簡単な例として果物をどう表現するか取り上げて説明する。問題を単純化するため、果物はその色、形、大きさ、重さ、味で識別されるものとする。ヒルベルト空間論の考えを用いると、色という属性あるいは情報は赤、黄、緑といった要素的な情報を組み合わせて表現されている。赤という属性または情報はヒルベルト空間の抽象的なベクトル｜赤＞で表現される。同様にベクトル｜黄＞、｜緑＞などがあり、それらのベクトルが規格直交化されて基底ベクトルの集合が定義され、色という部分空間が形成されていると表現する。｜赤＞、｜黄＞、｜緑＞が基底ベクトルであれば、黄緑は、
｜黄緑＞＝０．５｜黄＞＋０．５｜緑＞
として表現される。（規格化の係数補正を省略した）
同様に形、大きさ、重さ、味の部分空間が展開され、果物というものを表現する部分空間は、それら属性の部分空間の直積表現によって形成される。
｜果物＞＝｜色＞｜形＞｜大きさ＞｜重さ＞｜味＞
この部分空間｜果物＞もヒルベルト空間の部分空間であり、果物としてりんごとグレープフルーツがあれば、
｜りんご＞＝｜赤＞｜丸＞｜１０ｃｍぐらい＞｜１００グラムぐらい＞｜甘酸っぱい＞
｜グレープフルーツ＞＝｜黄＞｜偏平な丸＞｜１５ｃｍぐらい＞
｜２００グラムぐらい＞｜酸っぱい＞
のようにベクトル｜りんご＞、ベクトル｜グレープフルーツ＞を表現して、部分空間の中のベクトルとして含むことになる。さらに数の概念が新しく登場すると、数の部分空間があって、その基底ベクトルを｜１個＞、｜２個＞、｜３個＞とすると、りんごが１個、グレープフルーツが２個同時にあるという状態は、
｜果物＞＝｜りんご＞｜１個＞｜グレープフルーツ＞｜２個＞
と直積表現で表される。次に箱の中に果物をしまったが、りんご１個かグレープフルーツ２個のどちらかではあるが、どちらかはっきり覚えていない状況は、位置の部分空間を考え位置のベクトルとして｜箱の中＞を定義して、
｜箱の中の果物＞＝｜りんご＞｜１個＞｜箱の中＞
＋｜グレープフルーツ＞｜２個＞｜箱の中＞
とベクトルの和で表現される。（以上でも規格化の係数補正は省略した）
このようになんらかの属性は、その属性を表す部分空間の中で基底ベクトルの線型結合によって表現され、その属性をしめすベクトルの直積表現でまとまった情報が表され、さらに数の概念など新しい属性が加わるとそのベクトルが直積され、情報に複数の選択肢の可能性があれば、各直積表現に重み付けの係数が掛けられ、それらの和として次々に階層的に表現されていく。【００１９】  このヒルベルト空間論に基づいた情報表現の一般論と、前記マウスの海馬における情報表現の観察とモデルとを整合させる方法は、上記ヒルベルト空間のベクトルをニューロン、あるいはニューロン群と対応させることである。すなわちニューロン、あるはニューロン群の表現している最も下層の情報がヒルベルト空間の部分空間の基底ベクトルであって、それら情報が整理され抽象度があがってきたニューロン、あるいはニューロン群の情報はヒルベルト空間における直積表現であると対応づける。ヒルベルト空間の情報を表すベクトルは、量子力学におけるケットベクトルの記法で書かれており。本発明に記載されたように、ケットベクトルの記法で書かれたキュビットとこのヒルベルト空間の情報を表すケットベクトルとを対応させることにより、ニューロネットワーク型量子コンピュータにおいて、その内部に現実世界を表現する情報表現の数学的手法を定めることができる。
【発明を実施するための最良の形態】
【００２０】  ニューラルネットワークを形成する最小構成要素を電子回路、あるいはコンピュータプ
2009070348.tif 000012
Ｐ＝｜α｜２（１−Ｐ）＝｜β｜２、αとβは複素数で、｜α｜２＋｜β｜２＝１であるように対応付けを行って、この電子回路、あるいはコンピュータプログラムで作成された人工ニューロンの情報を表すケットベクトル｜Φ＞＝α｜１＞＋β｜０＞を定義する。
（ケットベクトル｜１＞、｜０＞は規格直交化されているものとする）
このケットベクトル｜Φ＞を量子コンピュータに置けるキュビットと等価であると考え、このキュビットの集合体に置き換えられたニューラルネットワークの行う情報処理の手続きは、一般的には時間に依存する演算子Ｈ（ｔ）をもちいた時間発展方程式の一般型（量子力学におけるシュレーディンガー方程式と同一の形式）
2009070348.tif 000013
（ここでｔは時間、ａは定数、ｉは虚数単位）
2009070348.tif 000014
いて、
2009070348.tif 000015
と変換されることによって記述される。そしてキュビットよる情報の表現は、ヒルベルト空間論を用いた量子力学に置ける情報表現の形式論に従って構築される。
【実施例】
【００２１】  本発明の実施例としては、ＲＳＡ公開鍵暗号を解読するために必要な、二つの素数の積を二つの素数に分解するＳｈｏｒのアルゴリズムを実行するコンピュータプログラムからなるニューラルネット型量子コンピュータの試作例を示す。このプログラムは次の参考文献の例題を参考にして改良したものである。
【非特許文献４】  ”ＥＸＰＬＯＲＡＴＩＯＮＳ  ＩＮ  ＱＵＡＮＴＵＭ  ＣＯＭＰＵＴＩＮＧ”Ｃ．Ｐ．ＷＩＬＬＩＡＭＳ，ｅｔｃ  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ１９９８
【００２２】  まづＲＳＡ公開鍵暗号のしくみは次の様になっている。
１。二つの素数をｐ，ｑとしてその積ｎ＝ｐｑを計算する。
２。（ｐ−１）（ｑ−１）との最大公約数が１である整数ｄを見つける。
３。整数ｅｄを（ｐ−１）（ｑ−１）で割った剰余が１となるｅを見つける。
４。ｅ，ｎを公開鍵として公表する。
５。１からｎ−１までの数値を使ってテキストを整数列に変換する。そのひとつをＭｉ      と書く。
６。Ｅｉ＝Ｍｉｅ  を  ｍｏｄ  ｎ  で計算し暗号化する。
７。Ｍｉ＝Ｅｉｄ  を  ｍｏｄ  ｎ  で計算し解読する。
このとき非常に大きなｎから、短時間でｐ、ｑを見つけることがノイマン型のストアードプログラム方式のデジタルコンピュータでは難しいので暗号として成立する。
一方、量子コンピュータを用いると、非常に大きなｎから短時間でｐ、ｑを効率的に見つけ得るアルゴリズムが存在し、Ｓｈｏｒのアルゴリズムとして有名である。
量子物理学現象を利用した本物の量子コンピュータが完成すれば、デジタル型のスーパーコンピュータで年のオーダーでかかる計算が、量子コンピュータでは数秒で終了する可能性が指摘されている。【００２３】  次にＳｈｏｒのアルゴリズムの概略に付いて述べる。
１。二つの素数の積で表される正の整数をｎとする。
2009070348.tif 000016
２。ｎとの最大公約数が１である適当な正の整数ｘを選ぶ。
３。ｑ個のキュビットを用意し０からｑ−１までの整数を各キュビットにわりふる、さら    に０を割り振ったキュビットをｑ個用意し次の式で示される量子状態を定義する。
2009070348.tif 000017
４。次に以下の演算を行い、
Ｘａ  ｍｏｄ  ｎ
結果を用いて、上記直積の二番目の｜０＞を｜ｘａ  ｍｏｄ  ｎ＞に変換する。
５。（ｘａ  ｍｏｄ  ｎ）＝ｋ  （ｋ演算の結果のいずれかの値）であるような
｜ａ＞｜ｋ＞を選び出す。
2009070348.tif 000018
し、ほかは０として、一次元の離散フーリェ変換を行う。
７。このとき数論的な理由から周期現象に基づいたいくつかのピークが表れる。そのピー
2009070348.tif 000019
ｘｒ／２−１とｎ、または  ｘｒ／２＋１とｎの最大公約数としてｎが分解される。    （λの推定法などは非特許文献４に詳しい）
このアルゴリズムでは正しくｎが分解されないことがあるので、適宜パラメータを調整して解を求める。またピーク位置の判定に量子力学的な確率論的取り扱いを必要とするときには、上記の３−７を繰り返す。【００２４】  このアルゴリズムで最も計算量が必要な部分は４。のｘａ  ｍｏｄ  ｎの計算をｑ個行う部分と６。の一次元の離散フーリェ変換である。本実施例ではニューラルネットワーク型量子コンピュータの構成例を簡潔に示すため、４。のｘａ  ｍｏｄ  ｎの計算をｑ個行う部分のみをニューラルネットワーク型量子コンピュータ構成で計算し、他の部分はノイマン型ストアードプログラム方式のデジタルコンピュータで行うものとする。【００２５】  次に図面を用いて本実施例のニューラルネットワーク型量子コンピュータの構成を説明する。１１は、上記Ｓｈｏｒのアルゴリズムのうち量子コンピュータ部で行うｑ個のｘａ  ｍｏｄ  ｎ演算以外の数値演算とパラメータ設定、ループ制御，通信制御などを行うマスターノードとなるデジタルコンピュータシステムである。２１は、ｑ個のｘａ  ｍｏｄ  ｎ演算を同時に実行するニューラルネットワーク型量子コンピュータ部である。  本実施例では、ニューラルネットワーク型量子コンピュータはｑ個の単位的構成要素から構成される。そのひとつの単位的構成要素は、上記Ｓｈｏｒのアルゴリズムにおいて０からｑ−１までの整数がセットされるキュビットとして働くレジスタ１と、始めに０がセットされ、次にｘａ  ｍｏｄ  ｎがセットされるキュビットとしてのレジスタ２と、｜０＞から｜ｘａ  ｍｏｄ  ｎ＞へのユニタリー変換Ｕに相当するｘａ  ｍｏｄ  ｎの演算プログラムとを備えている。  Ｓｈｏｒのアルゴリズムにおいては、量子コンピュータの備える性質のうちで、ｑ個のｘａ  ｍｏｄ  ｎ演算を同時並列で実行する機能を利用することが本質的原理なので、ニューラルネットワーク型量子コンピュータの単位的構成要素の間の接続は必要とされていない。そのため２１のニューラルネットワーク型量子コンピュータ部の単位的構成要素は１１のマスターノードとなるデジタルコンピュータと個々にデータ接続されている。【００２６】  この２１のニューラルネットワーク型量子コンピュータ部において、０からｑ−１までの整数を全て同時に表現することにより、量子力学的な状態の線形重ね合わせが表現され、レジスタ２において始めに０がセットされプログラムによってｘａ  ｍｏｄ  ｎが計算され結果がレジスタ２にセットされることによって、状態｜０＞がユニタリ変換されて｜ｘａ  ｍｏｄ  ｎ＞に変化したことが表現される。このユニタリ変換もｑ個同時に実行されることでシステムが全体として量子力学的な時間発展をしたとみなすことができる。【００２７】  本発明の請求項においてはニューラルネットーワーク型量子コンピュータの時間発展の側面に特徴が置かれているが、本実施例では時間発展を詳細に追跡する必要は無いので、時間に依存する演算子を用いず、単一のステップのユニタリ変換で量子力学的時間発展を記述した。これは量子力学的時間発展方程式を積分して解いたことと等価になるので、請求項の記述から原理的逸脱をするものでは無い。【００２８】  非特許文献４に置ける例題としてＳｈｏｒのアルゴリズムを用いて１５を素数３と５に分解する例が記述されている。この例題を単一のＣＰＵからなるデジタルコンピュータで逐次処理する結果に対して、ｑ＝２４３の場合、本実施例のニューラルネットワーク型量子コンピュータはその実効速度が約２００倍になる。
【図面の簡単な説明】
【図１】本実施例のＳｈｏｒのアルゴリズムに基づき二つの素数の積を分解するニューラルネットワーク型量子コンピュータシステムの概略図である。
【符号の説明】
１１  Ｓｈｏｒのアルゴリズムのうち量子コンピュータ部で行うｑ個のｘａ  ｍｏｄ  ｎ      演算以外の数値演算とパラメータ設定、ループ制御，通信制御などを行うマスター      ノードとなるデジタルコンピュータシステムである。
内部にこのマスターノードで行う処理の概略を示した。
２１  ｑ個のｘａ  ｍｏｄ  ｎ演算を同時に実行するニューラルネットワーク型量子コン      ピュータ部である。
構成単位において行う量子演算を内部に示した。
【図１】
2009070348.tif 000024