JP7101355B2 - Judgment device, calculation device, and learning system - Google Patents
Judgment device, calculation device, and learning system Download PDFInfo
- Publication number
- JP7101355B2 JP7101355B2 JP2019047931A JP2019047931A JP7101355B2 JP 7101355 B2 JP7101355 B2 JP 7101355B2 JP 2019047931 A JP2019047931 A JP 2019047931A JP 2019047931 A JP2019047931 A JP 2019047931A JP 7101355 B2 JP7101355 B2 JP 7101355B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- quantum state
- quantum
- vector
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
特許法第30条第2項適用 (1) 発行日 2018年11月26日 刊行物 一般社団法人電子情報通信学会 量子情報技術特別研究専門委員会(共催:応用物理学会 量子エレクトロニクス研究会)第39回 量子情報技術研究会資料 100~101頁Application of
本発明は量子コンピュータにより演算を行う量子計算技術に関する。 The present invention relates to a quantum calculation technique in which a calculation is performed by a quantum computer.
量子コンピュータは、一部の応用分野において、現在のコンピュータをはるかに凌駕する計算能力を有するとして期待されている。有名な量子アルゴリズムの一つが、1994年、Shorにより発表された因数分解と離散対数問題を効率的に解く量子アルゴリズムである。この発表が契機となり、量子コンピュータの計算能力を引き出すさまざまな量子アルゴリズムが研究されてきた。特に、古典コンピュータでは効率的に解けない、組み合わせ最適化問題を高速に解く量子アルゴリズムの研究が盛んである。また、最近では、近年の人工知能ブームに後押しされ、量子コンピュータを用いた機械学習(量子機械学習)の研究が注目されている。非特許文献1は、量子機械学習に関する最新の研究成果をレビューした論文である。
Quantum computers are expected to have computational power far surpassing current computers in some application areas. One of the famous quantum algorithms is the quantum algorithm published by Shor in 1994, which efficiently solves factorization and discrete logarithm problems. With this announcement as an opportunity, various quantum algorithms that draw out the computing power of quantum computers have been studied. In particular, research on quantum algorithms that solve combinatorial optimization problems at high speed, which cannot be solved efficiently by classical computers, is active. Recently, with the support of the recent boom in artificial intelligence, research on machine learning using quantum computers (quantum machine learning) has been attracting attention. Non-Patent
非特許文献1のBox 1 Tableには、量子機械学習と古典機械学習との比較がまとめられている。中には、線形サポートベクトルマシンの学習のような、量子コンピュータを用いて効率的に学習できることが示された機械学習システムもある。これらのシステムへの応用で中心的な役割を果たすのは、HHL(Harrow-Hassidim-Lloyd)アルゴリズムと呼ばれる量子アルゴリズムである。
HHLアルゴリズムは、Shorのアルゴリズムでも用いられる位相推定アルゴリズムが基礎となっており、線形システムの効率的な学習を可能にする。しかし、産業上の応用範囲が広く、高速アルゴリズムの開発が社会に与える影響が大きい深層ニューラルネットワークのようなシステムは、一般に非線形であり、HHLアルゴリズムを用いて効率的に学習することができない。
The HHL algorithm is based on the phase estimation algorithm, which is also used in Shor's algorithm, and enables efficient learning of linear systems. However, systems such as deep neural networks, which have a wide range of industrial applications and the development of high-speed algorithms has a large impact on society, are generally non-linear and cannot be efficiently learned using the HHL algorithm.
非特許文献1では、量子コンピュータの非線形システムの学習への応用として、古典ボルツマンマシンや量子ボルツマンマシンの学習が紹介されている。古典ボルツマンマシンの量子コンピュータによる学習は限定的な操作だけで実現できるため、すでに商用化されている量子アニーリングマシン(quantum annealers)を用いて実験が行われている。また、量子ボルツマンマシンの学習は、ハードウェアを用いた実験はまだ準備段階だが、学習にかかる計算量およびデータサンプル数が√Nとなることが理論的に証明されている。しかし、ボルツマンマシンは確率リカレントニューラルネットワーク(stochastic recurrent neural network)の一種であり、ニューラルネットワークとしては特殊なシステムである。上記の量子学習アルゴリズムを、深層ニューラルネットワークとして一般的に使用されている順伝播型ニューラルネットワーク(feed-forword neural network)の学習に適用することはできない。
Non-Patent
順伝播型ニューラルネットワークにおける各層の重みの学習は、誤差を持つ線型方程式を解く問題に帰着できる。これは、次世代の耐量子公開鍵暗号(post-quantum public-key cryptography)などに用いられる、LWE(Learning with Errors)と呼ばれる格子問題と類似の問題である。最短ベクトル問題などに代表される格子問題は、人工知能の他、次世代暗号に利用される基本的な問題である。これを現在のコンピュータ(以下、「古典コンピュータ」とも言う)および量子コンピュータ上で扱う手法が詳しく研究されている。以下、古典コンピュータによる手法、量子コンピュータによる手法についてそれぞれ記す。 Learning the weights of each layer in a feedforward neural network can result in the problem of solving linear equations with errors. This is a problem similar to the lattice problem called LWE (Learning with Errors) used in next-generation post-quantum public-key cryptography and the like. The lattice problem represented by the shortest vector problem is a basic problem used in next-generation cryptography as well as artificial intelligence. Techniques for dealing with this on current computers (hereinafter also referred to as "classical computers") and quantum computers are being studied in detail. Hereinafter, the method using a classical computer and the method using a quantum computer will be described.
格子問題を解くための最も一般的な古典アルゴリズムは格子簡約化アルゴリズムである。格子簡約化アルゴリズムとは、与えられたベクトル空間の基底から、全ての基底が互いに略直交となるような新しい基底を計算する。そのために、全ての基底ベクトルの組み合わせに対して、グラム-シュミットの直交化法(Gram-Schmidt orthogonalization)に似た操作を繰り返し施す。格子簡約化アルゴリズムにより得られる最も短いベクトルの長さは、最悪の場合、求めたい最短ベクトルの長さに対して指数的に大きくなる。 The most common classical algorithm for solving lattice problems is the lattice reduction algorithm. The lattice reduction algorithm calculates a new basis from the basis of a given vector space so that all the bases are approximately orthogonal to each other. To do this, all combinations of basis vectors are repeatedly subjected to an operation similar to Gram-Schmidt orthogonalization. In the worst case, the length of the shortest vector obtained by the grid reduction algorithm is exponentially larger than the length of the shortest vector to be obtained.
格子問題を解く量子アルゴリズムとしては、例えば、非特許文献3,4の方法が提案されている。非特許文献3では、最近ベクトル問題をもとに、Dihedral Coset Stateと呼ばれる量子状態を作り、量子フーリエ変換を利用して解を得る。非特許文献4では、確率振幅増幅を用いて解を探索する。しかし、いずれの手法も格子問題を効率的に解くことは保証されていない。つまり、格子問題を効率的に解く量子アルゴリズムは見つかっていない。
As a quantum algorithm for solving a lattice problem, for example, the methods of
本発明は、古典コンピュータと量子コンピュータをハイブリッドに組み合わせ、格子問題を従来よりも高速に解くための要素手法となる距離比較問題の解法の提供を目的とする。例えば、計算処理全体のうち軽いタスクを古典コンピュータが担い、重いタスクを量子コンピュータが担うことにより、ノイズによるデコヒーレンスのため実行時間を長くできない量子コンピュータでも実現可能、かつ、従来よりも短い時間で格子問題の解を求めるために適用できる距離比較問題の解法を提供する。 An object of the present invention is to provide a solution of a distance comparison problem, which is an elemental method for solving a lattice problem at a higher speed than before by combining a classical computer and a quantum computer in a hybrid manner. For example, by having a classical computer take charge of light tasks and a quantum computer take charge of heavy tasks in the entire calculation process, it can be realized even with a quantum computer whose execution time cannot be lengthened due to decoherence due to noise, and in a shorter time than before. It provides a solution to a distance comparison problem that can be applied to find a solution to a grid problem.
第1古典計算部は、基底Bおよび整数Nを用い、双対基底B-を得て出力する。第1量子状態生成部は、
このように本発明では距離比較問題を解くことができる。これを利用することで格子問題を高速に解くこともできる。 In this way, the present invention can solve the distance comparison problem. By using this, the lattice problem can be solved at high speed.
以下、図面を参照して本発明の実施形態を説明する。
実施形態では、例えば、順伝播型ニューラルネットワークの学習を高速化する、新しい量子計算手法を提供する。順伝播型ニューラルネットワークにおける各層の重みの学習は、誤差を持つ線型方程式を解く問題に帰着できる。これは、次世代の耐量子公開鍵暗号(post-quantum public-key cryptography)などに用いられる、LWE(Learning with Errors)と呼ばれる格子問題と類似の問題である。そのため、まず量子計算装置で格子問題を高速に解くために用いる要素手法およびそれを用いた格子問題の解法について説明し(第1実施形態~第8実施形態)、その量子計算装置を応用して順伝播型ニューラルネットワークの学習を行う学習システムについて説明する(第9実施形態)。順伝播型ニューラルネットワークの学習で一般に用いられるバックプロパゲーションが、学習過程において局所最適解から容易に抜け出せないのに対して、第9実施形態で提案する学習システムは、量子物理の特性を生かして大域的に最適解を探索することにより高速化を実現する。なお、本実施形態で扱う格子問題はNP困難問題であるため、提案手法を、順伝播型ニューラルネットワークの学習だけでなく、組み合わせ最適化問題全般に広く適用することが可能である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
In the embodiment, for example, a new quantum calculation method for accelerating the learning of a feedforward neural network is provided. Learning the weights of each layer in a feedforward neural network can result in the problem of solving linear equations with errors. This is a problem similar to the lattice problem called LWE (Learning with Errors) used in next-generation post-quantum public-key cryptography and the like. Therefore, first, the element method used to solve the lattice problem at high speed with the quantum computing device and the method of solving the lattice problem using it will be described (first to eighth embodiments), and the quantum computing device is applied. A learning system for learning a feedforward neural network will be described (9th embodiment). While backpropagation, which is generally used in the learning of feedforward neural networks, cannot easily escape from the locally optimal solution in the learning process, the learning system proposed in the ninth embodiment makes use of the characteristics of quantum physics. High speed is realized by searching for the optimum solution globally. Since the lattice problem dealt with in this embodiment is an NP-hard problem, the proposed method can be widely applied not only to learning a feedforward neural network but also to a combinatorial optimization problem in general.
[定義]
実施形態で用いる用語を定義する。
n,m,m’,M,N,N’は正の整数である。i=1,…,nであり、j=1,…,mであり、u=1,…,nである。sは整数要素からなるn次元ベクトルである。rji
(c),rji
(d),rj0,Xj,di,gi,ejは整数である。L,γが正の実数である。ajはn個の整数要素a1j,…,anjからなるn次元ベクトルaj=(a1j,…,anj)Tである。gはn個の要素g1,…,gnからなるn次元ベクトルg=(g1,…,gn)Tである。εuはu番目の要素が1で他の要素が0のn次元単位ベクトルεu=(0,…,1,0,…,0)Tである。
[Definition]
Define terms used in embodiments.
n, m, m', M, N, N'are positive integers. i = 1, ..., n, j = 1, ..., m, u = 1, ..., n. s is an n-dimensional vector consisting of integer elements. r ji (c) , r ji (d) , r j0 , X j , di, g i , and ej are integers. L and γ are positive real numbers. a j is an n-dimensional vector a j = (a 1j , ..., a nj ) T consisting of n integer elements a 1j , ..., a nj . g is an n-dimensional vector g = (g 1 , ..., gn) T consisting of n elements g 1 , ..., G n . ε u is an n-dimensional unit vector ε u = (0, ..., 1,0, ..., 0) T in which the u-th element is 1 and the other elements are 0.
ηTはηの転置を表す。ηはベクトルまたは行列である。|Λ|は集合Λの要素数を表す。ABS(μ)はμの絶対値を表す。||η||はηのノルムを表す。例えば、||η||はηのユークリッドノルム(長さ)を表す。round(μ)はμに最も近い整数である。すなわち、roundは丸め関数を表す。floor(μ)はμ以下の最大の整数である。すなわち、floorは床関数を表す。ceil(μ)はμ以上の最小の整数である。すなわち、ceilは天井関数を表す。λ∈Λはλが集合Λの要素であることを意味する。<τ,χ>はベクトルτとベクトルχとの内積を表す。det(η)はηの行列式を表す。|δ〉はδに対応する量子状態を示す縦ベクトルを表す。|δ1>|δ2>は|δ1>と|δ2>とのテンソル積を表す。 η T represents the transpose of η. η is a vector or matrix. | Λ | represents the number of elements in the set Λ. ABS (μ) represents the absolute value of μ. || η || represents the norm of η. For example, || η || represents the Euclidean norm (length) of η. round (μ) is the integer closest to μ. That is, round represents a rounding function. floor (μ) is the largest integer less than or equal to μ. That is, floor represents the floor function. ceil (μ) is the smallest integer greater than or equal to μ. That is, ceil represents the ceiling function. λ ∈ Λ means that λ is an element of the set Λ. <τ, χ> represents the inner product of the vector τ and the vector χ. det (η) represents the determinant of η. | Δ> represents a vertical vector indicating the quantum state corresponding to δ. | δ 1 > | δ 2 > represents the tensor product of | δ 1 > and | δ 2 >.
B={b1,…,bn}は一次独立なn個のn次元ベクトルbiからなる基底である(すなわち、Bは一次独立なn個のn次元ベクトルb1,…,bnの集合である)。n次元ベクトルbi=(bi1,…,bin)∈Znのそれぞれはn個の整数要素bi1,…,bin∈Zからなる。Zは整数の集合を表す。βは基底Bのn次元ベクトルb1,…,bnを要素とするn行n列の行列である。このβを、基底Bの基底行列と呼ぶ。例えば、βはn次元ベクトルbiをi行目の成分(行ベクトル)とする以下の行列である。
t=(t1,…,tn)Tはn個の整数要素ti∈Zからなる目標ベクトルである。 t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti ∈ Z.
L(B)は格子{Σi=1,…,n xibi|xi∈Z,bi∈B}である。ただし、xiは整数である。すなわち、
n次元ベクトルtおよび格子L(B)についてτ+L(B)は、格子L(B)のすべての格子点をn次元ベクトルτ分平行移動させて得られる集合を表す。すなわち、τ+L(B)={τ+χ|χ∈L(B)}である。またτ+L(B)=L(B)+τである。 For the n-dimensional vector t and the grid L (B), τ + L (B) represents a set obtained by translating all the grid points of the grid L (B) by the n-dimensional vector τ. That is, τ + L (B) = {τ + χ | χ ∈ L (B)}. Further, τ + L (B) = L (B) + τ.
基底Bの部分集合B’が作る超平面をH(B’)と表記する。超平面H(B’)は、部分集合B’の要素であるベクトルbi’∈B’によって張られるベクトル空間{Σi=1,…,n ζibi’|ζi∈Re,bi’∈B’}を意味する。ただし、ζiは実数である。すなわち、
tはn個の整数要素t1,…,tnからなるn次元ベクトルt=(t1,…,tn)Tである。n次元ベクトルtの原点は何れかの格子点(格子L(B)上の点)である。原点から格子点へ向かうベクトルを格子点ベクトルと呼ぶことにする。 t is an n-dimensional vector t = (t 1 , ..., t n ) T consisting of n integer elements t 1 , ..., T n. The origin of the n-dimensional vector t is any lattice point (point on the lattice L (B)). The vector from the origin to the grid points is called the grid point vector.
<格子問題>
実施形態で扱う格子問題を簡単に説明する。より詳しい内容については参考文献1,2参照。
[参考文献1]Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
[参考文献2]Cohen, Henri, A Course in Computational Algebraic Number Theory,
Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
<Grid problem>
The lattice problem dealt with in the embodiment will be briefly described. See
[Reference 1] Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
[Reference 2] Cohen, Henri, A Course in Computational Algebraic Number Theory,
Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
≪最短ベクトル問題(SVP)≫
最短ベクトル問題とは、基底Bが与えられたとき、格子L(B)の中で最も原点に近い格子点(原点から最も当該原点に近い格子点へ向かうベクトル、すなわち最短ベクトル)を求める問題である。最短ベクトルの長さと、格子L(B)の中で二番目に原点に近いベクトルの長さとの比がγ以上のとき、最短ベクトル問題はγ-unique SVPと呼ばれる。最短ベクトル問題はNP困難であり、γを変えることにより、問題の難しさを調整することができる。最短ベクトル問題は、次に示す最近ベクトル問題に多項式時間で帰着できることが知られている。したがって、最近ベクトル問題は、最短ベクトル問題以上に難しい。
≪Shortest vector problem (SVP) ≫
The shortest vector problem is a problem of finding the grid point closest to the origin in the grid L (B) (the vector from the origin to the grid point closest to the origin, that is, the shortest vector) when the basis B is given. be. When the ratio of the length of the shortest vector to the length of the vector second closest to the origin in the grid L (B) is γ or more, the shortest vector problem is called the γ-unique SVP. The shortest vector problem is NP-hard, and the difficulty of the problem can be adjusted by changing γ. It is known that the shortest vector problem can be reduced to the following vector problem in polynomial time. Therefore, the vector problem these days is more difficult than the shortest vector problem.
≪最近ベクトル問題(CVP)≫
最近ベクトル問題とは、基底Bと目標ベクトルtとの組(B,t)が与えられたとき、目標ベクトルtとの差分ベクトルが最短となるような格子L(B)上の最近ベクトルt(c)∈L(B)を求める問題である。組(B,t)についての最近ベクトル問題をCVP(B,t)と表記する。最近ベクトルt(c)∈L(B)は目標ベクトルtに最も近い格子点ベクトルである。t(d)は目標ベクトルtと最近ベクトルt(c)∈L(B)との差分ベクトルt(d)=t-t(c)=(t1
(d),…,tn
(d))Tを表す。このような差分ベクトルt(d)を最短差分ベクトルと呼ぶ。最短差分ベクトルt(d)=t-t(c)と、目標ベクトルtと目標ベクトルtに2番目に近い格子点ベクトルとの差分ベクトルと、の長さの比がγ以上のとき、最近ベクトル問題をγ-gap CVPと呼ぶ。最近ベクトル問題を近似的に解く古典アルゴリズムとして,Babaiが提案したRounding-Off アルゴリズムやNearest Planeアルゴリズムが知られている。
[参考文献3]L. Babai, On Lovasz Lattice Reduction and the Nearest Lattice Point Problem, Combinatorica, Vol. 6, No. 1, pp.1-13, (1986).
しかし、これらのアルゴリズムによって得られる解の近似率は、それぞれ1+2n(9/2)n/2,2n/2であり、両者とも次元の指数的な近似率しか保証しない。
≪Recently Vector Problem (CVP) ≫
The recent vector problem is a recent vector t (recent vector t ( B) on the lattice L (B) such that the difference vector from the target vector t is the shortest when a set (B, t) of the basis B and the target vector t is given. c) It is a problem to find ∈ L (B). The recent vector problem for a set (B, t) is referred to as CVP (B, t). Recently, the vector t (c) ∈ L (B) is the lattice point vector closest to the target vector t. t (d) is the difference vector between the target vector t and the recent vector t (c) ∈ L (B) t (d) = tt (c) = (t 1 (d) , ..., t n (d) ) Represents T. Such a difference vector t (d) is called a shortest difference vector. When the ratio of the lengths of the shortest difference vector t (d) = tt (c) and the difference vector between the target vector t and the lattice point vector second closest to the target vector t is γ or more, the latest vector. The problem is called γ-gap CVP. Recently, the Rounding-Off algorithm and Nearest Plane algorithm proposed by Babai are known as classical algorithms for solving vector problems approximately.
[Reference 3] L. Babai, On Lovasz Lattice Reduction and the Nearest Lattice Point Problem, Combinatorica, Vol. 6, No. 1, pp.1-13, (1986).
However, the approximations of the solutions obtained by these algorithms are 1 + 2n (9/2) n / 2 and 2n / 2 , respectively, both of which guarantee only an exponential approximation of the dimension.
最近ベクトル問題よりも基本的な問題として、次のGapCVPγが知られている。最近ベクトル問題が探索問題なのに対して、GapCVPγは決定問題(Yes/Noを答える問題)である。 Recently, the following GapCVP γ is known as a more basic problem than the vector problem. While the vector problem is a search problem these days, GapCVP γ is a decision problem (a problem that answers Yes / No).
≪GapCVPγ≫
GapCVPγとは、基底Bと目標ベクトルtとの組(B,t)と長さLが与えられたとき、dist(B,t)≦Lかdist(B,t)>γLのどちらかが必ず正しいという約束の下、dist(B,t)≦L(Yes instance)か、dist(B,t)>γL(No instance)かを判定する決定問題である。ここで、dist(B,t)とは、最短差分ベクトルt(d)の長さ(すなわち||t(d)||)のことである。γが小さくなるほどGapCVPγは難しくなる。
[参考文献4]Dinur, I. and Kindler, G. and Safra, S., Approximating-CVP to Within Almost-Polynomial Factors is NP-Hard, Proceedings of the 39th Annual Symposium on Foundations of Computer Science, FOCS '98, IEEE Computer Society, Washington, DC, USA, pp.99-111 (1998).
逆にγ≧√nの場合、GapCVPγはNP困難でないと予想されている。
[参考文献5]岡本龍明,“応用数理の散歩道(79) これからの暗号”, 応用数理, Vol. 24, No. 3, pp. 36-39, December, (2014).
≪GapCVP γ≫
GapCVP γ is either dist (B, t) ≤ L or dist (B, t)> γL when a set (B, t) of a basis B and a target vector t and a length L are given. It is a decision problem to determine whether the vector (B, t) ≤ L (Yes instance) or the dust (B, t)> γL (No instance) under the promise that it is always correct. Here, the dust (B, t) is the length of the shortest difference vector t (d) (that is, || t (d) ||). The smaller the γ, the more difficult the GapCVP γ becomes.
[Reference 4] Dinur, I. and Kindler, G. and Safra, S., Approximating-CVP to Within Almost-Polynomial Factors is NP-Hard, Proceedings of the 39th Annual Symposium on Foundations of Computer Science, FOCS '98, IEEE Computer Society, Washington, DC, USA, pp.99-111 (1998).
On the contrary, when γ ≧ √n, GapCVP γ is not expected to be NP-hard.
[Reference 5] Tatsuaki Okamoto, "Applied Mathematics Walkway (79) Future Cryptography", Applied Mathematics, Vol. 24, No. 3, pp. 36-39, December, (2014).
SVP,CVP,GapCVPγは古くから研究されている格子問題であるのに対して、次のLWEは比較的最近提案された問題である。LWEは、有望な次世代暗号で用いられるため、上記の問題と並んで詳しく研究されている。
[参考文献6]Oded Regev, On Lattices, Learning with Errors, Random Linear Codes, and Cryptography, J. ACM, Vol 56, No. 6, 34:1‐34:40 (2009).
While SVP, CVP, and GapCVP γ are lattice problems that have been studied for a long time, the following LWE is a relatively recently proposed problem. Since LWE is used in promising next-generation cryptography, it has been studied in detail alongside the above problems.
[Reference 6] Oded Regev, On Lattices, Learning with Errors, Random Linear Codes, and Cryptography, J. ACM, Vol 56, No. 6, 34: 1-34: 40 (2009).
≪LWE(Learning with Errors)≫
LWEとは、正の整数m,n,N、整数要素のn×mランダム行列A=(aij)(i=1,…,n、j=1,…,m)、m次元ランダムベクトルX=(X1,…,Xm)T、および各要素がガウス分布に従う短いベクトルd=(d1,…,dn)Tから
LWE is a positive integer m, n, N, n × m random matrix A = (a ij ) (i = 1, ..., n, j = 1, ..., M) of integer elements, m-dimensional random vector X. = (X 1 , ..., X m ) T , and a short vector d = (d 1 , ..., d n ) T where each element follows a Gaussian distribution
一般に、{x∈Zn|<x,b>∈Z for all b∈L(B)}は、格子L(B)の「双対格子」と呼ばれる。
[参考文献7]Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
In general, {x ∈ Z n | <x, b> ∈ Z for all b ∈ L (B)} is called the "dual lattice" of the lattice L (B).
[Reference 7] Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
各実施形態で導入する「Nに関する双対格子」は、この一般的な「双対格子」とは異なる。Nに関する双対格子を導入するのは、格子の重ね合せ状態の全座標軸に対してN次元の量子フーリエ変換を実行した結果が、Nに関する双対格子の重ね合わせになることによる。Nに関する双対格子のLLL既約基底を「Nに関する双対基底」と呼ぶことにする。ここで、LLL既約基底の定義については、参考文献1の33-35ページを参照のこと。任意の基底にLLLアルゴリズムを適用すると、LLL既約基底の定義を満たす基底が得られることが知られている(参考文献1、2.2章)。従って、Nに関する双対格子の基底に、LLLアルゴリズムを適用することにより、Nに関する既約基底が得られる。Nに関する双対基底はエルミート標準形(Hermite Normal Form)を用いて効率的に計算できる。
The "dual grid for N" introduced in each embodiment is different from this general "dual grid". The reason for introducing the dual lattice with respect to N is that the result of performing the N-dimensional quantum Fourier transform for all the coordinate axes in the superposition state of the lattice is the superposition of the dual lattice with respect to N. The LLL irreducible basis of the dual lattice for N will be referred to as the "dual basis for N". See pages 33-35 of
≪Nに関する双対格子≫
基底Bと整数Nに対して{τ∈Zn|<τ,χ>=0 mod N for all χ∈L(B)}で定義される格子を「Nに関する双対格子(法Nにおける双対格子)」と呼ぶ。Nに関する格子L(B)の双対格子のLLL既約基底をB-と書き、双対基底(Nに関する双対基底)と呼ぶ。なお、「B-」の右上添え字の「-」は本来「B」の真上に記載すべきであるが記載表記の制約上「B」の右上に表記する場合がある。
≪Dual lattice about N≫
For the basis B and the integer N, the lattice defined by {τ ∈ Z n | <τ, χ> = 0 mod N for all χ ∈ L (B)} is defined as "dual lattice for N (dual lattice in method N)". Is called. The LLL irreducible basis of the dual lattice of the lattice L (B) with respect to N is written as B- and is called a dual basis (dual basis with respect to N). The " - " in the upper right subscript of "B-" should be written directly above "B", but it may be written in the upper right of "B" due to the limitation of the description notation.
各実施形態では、Nに関する双対基底の概念を用いて「変形LWE」の概念を導入する。後述のように、量子コンピュータを用いて、CVPやLWEから変形LWEを効率的に求めることができ、古典コンピュータを用いて、変形LWEの解の長さがL以下かγLよりも大きいかを効率的に判定することができる。 In each embodiment, the concept of "transformation LWE" is introduced using the concept of dual basis for N. As will be described later, a quantum computer can be used to efficiently obtain the modified LWE from CVP and LWE, and a classical computer can be used to efficiently determine whether the length of the modified LWE solution is L or less or larger than γL. Can be determined.
拡張ユークリッド互除法(Extended Euclidean algorithm)やスミス標準形(Smith Normal Form)やエルミート標準形の詳細は例えば以下の文献に記載されている。
[参考文献8]Cohen, Henri, A Course in Computational Algebraic Number Theory,Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
[参考文献9]Ravindran Kannan and Achim Bachem, Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix, SIAM Journal on Computing, vol. 8, No. 4, pp. 499-507, (1979).
[参考文献10]Storjohann, Arne, Near Optimal Algorithms for Computing Smith Normal Forms of Integer Matrices, Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation, ISSAC '96, pp. 267-274 (1996).
[参考文献11]Galbraith, Steven D., Mathematics of Public Key Cryptography, Cambridge University Press, ISBN 978-1107013926 (2012).
エルミート標準形とスミス標準形について説明を加える。
ランダムなn次元格子の最短ベクトルの長さは、
1.最後のr”行の要素が0である。
2.1≦ξ<σに対して0≦a”ξf(σ)<a”σf(σ)であり、σ<ξ≦n”に対してa”ξf(σ)=0である。したがって、エルミート標準形は次の形で書ける。
UA”=AH
が成立する。ここで、ユニモジュラ行列とは、行列式が+1または-1(ゆえに可逆)な整数要素の正方行列である。Uは変換行列(transforming matrix)と呼ばれる。エルミート標準形の整数行列AHと変換行列Uは、整数行列A”から効率的に計算できることが知られている。
m”とn”がm”≧n”を満たす正の整数であるとき、m”×n”整数行列A”=(a”σξ)1≦σ≦m”,1≦ξ≦n”がスミス標準形であるとは、この整数行列A”が以下の形に書けることをいう。
m”×n”整数行列A”=(a”σξ)1≦σ≦m”,1≦ξ≦n”に対して唯一のスミス標準形ASとユニモジュラ行列U,V(唯一とは限らない)が存在して
UA”V=AS
が成り立つことが知られている。U,Vは変換行列と呼ばれる。エルミート標準形と同様、A”からスミス標準形と変換行列U,Vを効率的に計算できることが知られている。
Details of the Extended Euclidean algorithm, Smith Normal Form, and Hermite Normal Form are described in the following documents, for example.
[Reference 8] Cohen, Henri, A Course in Computational Algebraic Number Theory, Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
[Reference 9] Ravindran Kannan and Achim Bachem, Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix, SIAM Journal on Computing, vol. 8, No. 4, pp. 499-507, (1979).
[Reference 10] Storjohann, Arne, Near Optimal Algorithms for Computing Smith Normal Forms of Integer Matrices, Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation, ISSAC '96, pp. 267-274 (1996).
[Reference 11] Galbraith, Steven D., Mathematics of Public Key Cryptography, Cambridge University Press, ISBN 978-1107013926 (2012).
The Hermite normal form and the Smith normal form are explained.
The length of the shortest vector of a random n-dimensional lattice is
1. 1. The element of the last r "row is 0.
2.1 For ≦ ξ <σ, 0 ≦ a ” ξf (σ) <a” σf (σ) , and for σ <ξ ≦ n ”, a” ξf (σ) = 0. Therefore, the Hermite normal form can be written in the following form.
UA "= A H
Is established. Here, the unimodular matrix is a square matrix of integer elements whose determinant is +1 or -1 (hence reversible). U is called a transforming matrix. It is known that the Hermite normal form integer matrix A H and the transformation matrix U can be efficiently calculated from the integer matrix A ”.
When m "and n" are positive integers satisfying m "≥n", m "x n" integer matrix A "= (a" σξ ) 1≤σ≤m ", 1≤ξ≤n " is Smith. The standard form means that this integer matrix A "can be written in the following form.
m "x n" integer matrix A "=" (a " σξ ) 1 ≤ σ ≤ m", 1 ≤ ξ ≤ n " , the only Smith normal form AS and the unimodular matrix U, V (not the only one) Not) exists and UA "V = AS
Is known to hold. U and V are called transformation matrices. It is known that the Smith normal form and the transformation matrices U and V can be efficiently calculated from A "as in the Hermite normal form.
[第1実施形態]
第1実施形態では、量子コンピュータによる計算(量子計算)と古典コンピュータによる計算(古典計算)とによって距離比較問題を解く(図1および図2)。距離比較問題とは、2つのベクトルのうち、最も近いL(B)中のベクトルまでの距離が近い方を判定(決定)する問題である。
[First Embodiment]
In the first embodiment, the distance comparison problem is solved by a calculation by a quantum computer (quantum calculation) and a calculation by a classical computer (classical calculation) (FIGS. 1 and 2). The distance comparison problem is a problem of determining (determining) which of the two vectors has the closest distance to the vector in the closest L (B).
<構成>
図3に例示するように、本形態の判定装置7は古典計算部71,73(第1,2古典計算部)、量子計算部72、および制御部74を有する。図4に例示するように、本形態の量子計算部72は、量子状態生成部72a,72b(第1から第4量子状態生成部)、およびスワップテスト部72c(第1,2スワップテスト部)を有する。判定装置7は、制御部74の制御のもとで各処理を実行する。古典計算部71,73は複数の演算部を有し、量子状態生成部72a,72bおよびスワップテスト部72cは複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 3, the
<処理>
本形態の処理を説明する。
本形態の判定装置7は、基底B、n個の整数要素t1,iからなる目標ベクトルt1=(t1,1,…,t1,n)T、およびn個の整数要素t2,iからなる目標ベクトルt2=(t2,1,…,t2,n)Tを入力とし、以下に説明する古典計算および量子計算を行い、||t1(d)||と||t2(d)||の何れが大きいかを判定する。なお、t1(d)は目標ベクトルt1と目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1
(d),…,t1,n
(d))である。t2(d)は目標ベクトルt2と目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1
(d),…,t2,n
(d))である。n,Nは正の整数であり、i=1,…,nであり、ηTがηの転置であり、||η||がηの長さであり、B={b1,…,bn}は一次独立なn次元ベクトルbiからなる基底であり、n次元ベクトルbiのそれぞれはn個の整数要素からなる。βは基底Bのn次元ベクトルb1,…,bnを要素とするn行n列の基底行列(n×n行列)である。例えば、βはn次元ベクトルbiをi行目の成分(行ベクトル)とする以下の行列である。
The processing of this embodiment will be described.
The
≪古典計算部71の処理≫
判定装置7の古典計算部71(図3)の演算部は整数Nを選択する(ステップS711)。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の公倍数を整数Nに設定する。そのような公倍数は無限に存在するが、任意に選択した数を整数Nに固定すればよい。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する。
<< Processing of
The arithmetic unit of the classical calculation unit 71 (FIG. 3) of the
さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、BのNに関する双対基底B-を得て出力する(ステップS712)。なお、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、xiが整数であり、L(B-)が基底Bと整数Nとに対して定義されるNに関する双対格子である。また、「B-」の上付き添え字「-」は「B」の真上に記載されるべきものであるが、記載表記の制約上、「B」の右斜め上に記載している。例えば古典計算部71は、以下のように双対基底B-を計算する。古典計算部71は、NIとBとを行方向に並べて得られるn行2n列行列(n×2n行列)であり、(NI B)と表記する。ただし、Iはn次元単位行列である。古典計算部71は、この行列(NI B)の転置行列
≪量子計算部72の処理≫
量子計算部72(図4)は、双対基底B-および目標ベクトルt1,t2を入力とし、n次元空間における適当な領域(整数要素からなるn次空間に属する部分領域)R⊆Znに対して以下に示す処理を実行し、スワップテストの結果を出力する(ステップS72)。例えば、R⊂Znである。η1⊆η2はη1がη2の部分集合であることを表し、η1⊂η2はη1がη2の真部分集合であることを表す。
<< Processing of
The quantum calculation unit 72 (FIG. 4) takes the dual basis B − and the target vectors t1 and t2 as inputs, and for an appropriate region (a subregion belonging to the nth-order space consisting of integer elements) R⊆Zn in the n -dimensional space. The following process is executed, and the result of the swap test is output (step S72). For example, R ⊂ Z n . η1 ⊆ η2 indicates that η1 is a subset of η2, and η1 ⊂ η2 indicates that η1 is a true subset of η2.
例えば、以下の領域R(ΓB-)を領域Rとすることができる。
あるいは、例えば、以下の領域R(ΓB-*)を領域Rとしてもよい。
Alternatively, for example, the following region R (ΓB − * ) may be used as the region R.
量子計算部72は以下の計算を行う。
(a-1)量子計算部72の量子状態生成部72aは、量子状態が
(A-1) The quantum
(b-1)量子状態生成部72bは、一部の量子状態|φ>0のレジスタに量子操作を行う(ステップS72b-1)。これにより、量子操作が施されたレジスタの量子状態は以下の状態に遷移(変化)する。
(c-1)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t1のレジスタとをペアとして、各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかを判定する。スワップテストは周知のテスト方法であるため詳細な説明を省略するが、例えば、スワップテスト部72cは、図5に例示するようなアダマールゲート721c,723cと制御スワップゲート722cと観測ゲート724cとを含む量子回路に対応する量子操作により、スワップテストを実行する。具体的には、スワップテスト部72cは、量子状態|0>の量子ビットI(1個の量子ビット)にアダマールゲート721cを適用し、量子状態|φ>0の量子ビットII(通常、複数の量子ビット)と量子状態|φ>t=|φ>t1の量子ビットIII(通常、複数の量子ビット)と量子ビットIとに対し、量子ビットIIと量子ビットIIIを制御ビットとし、量子ビットIを目標ビットとした制御スワップゲート722cを適用し、さらに量子ビットIにアダマールゲート723cを適用し、観測ゲート724cで量子ビットIを観察することで、受理(0,Yes)または拒否(1,No)との結果を得て出力する。
(C-1) The
また、量子計算部72は以下のように確率p2を計算する。
(a-2)量子計算部72の量子状態生成部72aは、量子状態が
(A-2) The quantum state of the quantum
(b-2)量子状態生成部72bは、一部の量子状態|φ>0のレジスタに量子操作を行う(ステップS72b-2)。これにより、量子操作が施されたレジスタの量子状態は以下の状態に遷移(変化)する。
(c-2)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t2のレジスタとをペアとして、各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかを判定する。スワップテスト部72cは、複数個のペアの各々に対してスワップテストを行うことで得られた結果を出力する。
(C-2) The
≪古典計算部73の処理≫
古典計算部73は、量子計算部72から出力された結果を用いて、量子状態|φ>0と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率p1と、量子状態|φ>0と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率p2を計算する。そして、古典計算部73は、p1≧p2の場合は||t1(d)||≦||t2(d)||であることを表す情報を出力し、p1<p2の場合は||t1(d)||>||t2(d)||であることを表す情報を出力する。あるいは、古典計算部73は、p1>p2の場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p1≦p2の場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する(ステップS73)。
<< Processing of
Using the result output from the
<領域Rの選択とそれに対応する量子状態|φ>0の効率的作成方法の例示>
次に、領域Rとそれに対応する量子状態|φ>0の効率的作成方法を例示する。
以下では領域Rを以下の例1,2のように定義する場合を例示する。
≪領域の例1≫
≪領域の例2≫
以下では、上記の2種類の領域R=R(2B-),R(2B-*)について
Next, an efficient method for creating the region R and the corresponding quantum state | φ> 0 will be illustrated.
In the following, a case where the region R is defined as in Examples 1 and 2 below will be illustrated.
<< Example of
<< Example 2 of the area >>
In the following, the above two types of regions R = R ( 2B- ) and R (2B- * )
≪領域の例1における量子状態|φ>0の効率的な生成方法の一例≫
古典計算部71の演算部は、基底行列βの逆行列β-1のゼロではない要素の分母の公倍数を整数Nに設定する。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する(ステップS711)。さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、前述のようにBのNに関する双対基底B-を得て出力する(ステップS712)。
<< Example of efficient generation method of quantum state | φ> 0 in region example 1 >>
The arithmetic unit of the
量子状態生成部72aは、以下の手順により量子状態|φ>0を生成する(ステップS72a-1)。
1.量子状態生成部72aは、Nn次元を持つ量子状態空間において、以下の量子重ね合わせ状態からなる量子ビット列(第1レジスタ)を準備する。
1. 1. The quantum
2.量子状態生成部72aは、式(11)の量子状態の第1レジスタと、新たに用意した1個の初期化された量子状態|0>の量子ビット(第2レジスタ)に対し、以下の変換に対応する量子操作を行う。
3.量子状態生成部72aは、式(13)の量子状態の第1レジスタおよび第2レジスタと、新たに用意したn個の初期化された量子ビット列(第3レジスタ)に対し、さらに以下で表される量子操作を行う。
4.量子状態生成部72aは、式(14)の第3レジスタ
R(2B-)∩L (B-)=[0,N)n∩Ln+1(B-) (15A)
4. The
R ( 2B- ) ∩L (B- ) = [0, N) n ∩L n + 1 (B- ) (15A)
5.量子状態生成部72aは、式(15)の量子状態の第1レジスタと第2レジスタに対して
6.量子状態生成部72aは、第1レジスタに対して
≪領域の例2における量子状態|φ>0の効率的な生成方法の一例≫
領域R(2B-*)の定義は、双対基底B-のn次元ベクトルb-
1,…,b-
nに対する直交化の順序に依存する。この例では、簡単のため、逆順、すなわちb-
n,…,b-
1の順序でb-
1,…,b-
nを直交化したものをb-*
1,…,b-*
nとし、量子状態|φ>0の生成方法を例示する。b-*
1,…,b-*
nの定義より、
The definition of the region R (2B − * ) depends on the order of orthogonalization of the dual basis B − to the n-dimensional vectors b - 1 , ..., b − n . In this example, for the sake of simplicity, b- * 1 , ..., b- * n are obtained by orthogonalizing b - 1 , ..., b - n in the reverse order, that is, in the order of b - n , ..., b - 1 . , Quantum state | φ> 0 is illustrated. From the definition of b- * 1 , ..., b- * n
古典計算部71の演算部は、基底行列βの逆行列β-1(基底行列β-の逆行列β--1でもよい)のゼロではない要素の分母の公倍数を整数Nに設定する。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する(ステップS711)。さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、前述のようにBのNに関する双対基底B-を得て出力する(ステップS712)。
The arithmetic unit of the
量子状態生成部72aは、以下の手順により量子状態|φ>0を生成する(ステップS72a-1)。
1.量子状態生成部72aは、Nn次元を持つ量子状態空間において、以下の量子重ね合わせ状態の量子ビット列(第1レジスタ)を用意する。
1. 1. The quantum
2.量子状態生成部72aは、式(23)の量子状態の第1レジスタと、新たに用意した初期化された1個の量子ビット(第2レジスタ)に対し、
3.量子状態生成部72aは、以下の操作(a)(b)をi=1,…,nに対して実行し、|Ψ1>を|Ψ2>,|Ψ3>,・・・と順番に量子状態を変換していくことで、最後に量子状態|Ψn+1>を得る。ここで|Ψi>とは、前述の式(14)の第3レジスタを観測して得られる観測値z1,…,znを用いれば
(a)量子状態生成部72aは、量子状態|Ψi>の第1レジスタおよび第2レジスタと、新たに用意した1個の初期化された量子ビット(第3レジスタ)に対し、以下の量子状態に変換する量子操作を行う。
(A) The quantum
4.量子状態生成部72aは、得られた量子状態|Ψn+1>に対して
5.量子状態生成部72aは、第1レジスタに対して
<具体例>
次に、本実施形態の具体例を示す。ここでは、n=2、B={(8,4),(6,-5)},t1=(41,22),t2=(29,57)に対する確率p1,p2の計算例を示す。ただし、基底行列は
Next, a specific example of this embodiment will be shown. Here, a calculation example of the probabilities p1 and p2 for n = 2 , B = {(8,4), (6, -5)}, t1 = (41,22), t2 = (29,57). show. However, the basis matrix is
≪古典計算部71の処理≫
古典計算部71は、基底行列βの逆行列β-1を計算し、
The
さらに古典計算部71の演算部は、基底B={(8,4),(6,-5)}および整数N=64を用い、BのNに関する双対基底B-を以下のように得て出力する。A’を行列(N I B)Tとする。すなわち、
≪量子計算部72の処理≫
量子計算部72は、双対基底B-および目標ベクトルt1,t2を入力とし、領域R=R(2B-)に対して以下に示す処理を実行し、0(受理,Yes)が得られる確率p1,p2を計算して出力する(ステップS72)。R=R(2B-)の場合、以下が成り立つ。
The
量子計算部72は以下のように確率p1を計算する。
(a-1)量子計算部72の量子状態生成部72aは、
(A-1) The quantum
(b-1)量子状態生成部72bは、量子状態が|φ>0である1個のレジスタに対し、以下の2種類(格子の次元数nと同じ数)の量子回転ゲートを適用する。
(c-1)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、結果が受理(0,Yes)となるか不受理(1,No)となるかの判定結果を得て出力する(ステップS72c-1)。
(C-1) The
量子計算部72は以下の計算を行う。
(a-2)量子計算部72の量子状態生成部72aは、
(A-2) The quantum
(b-2)量子状態生成部72bは、量子状態が|φ>0である1個のレジスタ(6個の量子ビット)に対し、以下の2種類(次元数分)の量子回転ゲートを適用する。
(c-2)スワップテスト部72cは、レジスタの量子状態|φ>0と、レジスタの量子状態|φ>t2との各ペアに対してスワップテストを実行し、結果が受理(0,Yes)となるか不受理(1,No)となるかの判定結果を得て出力する(ステップS72c-2)。
(C-2) The
≪古典計算部73の処理≫
古典計算部73は、スワップテスト部72cの判定結果を用いて、上述の確率p1,p2の値を計算する。目標ベクトルt1は(41,22)であるため、以下が成り立つ。
The
古典計算部73は、ステップS72c-1およびS72c-2で得られた確率p1,p2を入力としてこれらを比較する。この例ではp1>p2であるため、古典計算部73は、||t1(d)||<||t2(d)||であることを表す情報を出力する(ステップS73)。図6に、この具体例での確率p=p1,p2の密度分布と目標ベクトルt1,t2との関係を例示する。格子L(B)(B=(8,4),(6,-5))の格子点に近いほどpの値が大きくなる。図6ではpが大きい領域ほど濃い色を付してある。図6からも||t1(d)||<||t2(d)||であることが分かる。
The
[第2実施形態]
第2実施形態では、第1実施形態の手法を用い、与えられたn次元の最近ベクトル問題(B,t)の解を計算する(図1)。すなわち、与えられたn次元の最近ベクトル問題(B,t)に対し、第1実施形態の手法を用い、格子L(B)上で最近ベクトルt(B,c)∈L(B)を求める。最近ベクトルは、目標ベクトルtとの差分ベクトルt(B,d)=t-t(B,c)が最短となるようなベクトルである。ただし、t=(t1,…,tn)Tはn個の整数要素tiからなる目標ベクトルである。なお、t(B,c)およびt(B,d)においてBを表記しなくても混乱が生じない場合には、t(B,c)およびt(B,d)をそれぞれt(c)およびt(d)と表記する。また(B,t)=(B0,t(0))である。
[Second Embodiment]
In the second embodiment, the solution of a given n-dimensional recent vector problem (B, t) is calculated using the method of the first embodiment (FIG. 1). That is, for a given n-dimensional recent vector problem (B, t), the recent vector t (B, c) ∈ L (B) is obtained on the lattice L (B) using the method of the first embodiment. .. Recently, the vector is a vector such that the difference vector t (B, d) = tt (B, c) with the target vector t is the shortest. However, t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti. If there is no confusion even if B is not expressed in t (B, c ) and t (B, d ), t (B, c) and t (B, d) are referred to as t (c) , respectively. And t (d) . Further, (B, t) = (B 0 , t (0)).
本実施形態では、差分ベクトルt(d)を計算するために、計算装置が、格子L(B)の部分格子の列
L(B)=L(B0)⊃L(B1)⊃L(B2)⊃・・・ (30)
を適当に選び(η2⊃η1はη1がη2の真部分集合であることを表す)、L(BD-1)/L(BD)(ただし、Dは正の整数、すなわちD=1,2,…)におけるcosetの代表元{cD,0,cD,1,・・・,cD,ν(D)-1}の中から、以下を満たすようなα(D)(ただし、0≦α(D)<ν(D))を探す。
t(B,d)=(t(D-1)-cD,α(D))(BD,d) (31)
ただしν(D)は正の整数である。また、上付き添え字「(BD,d)」に含まれる「BD」は本来「BD」と記載すべきであるが、記載表記の制約上、「BD」と記載している。すなわち、上付き添え字「(BD,d)」は「(BD,d)」を表す。ここで、{cD,0,cD,1,・・・,cD,ν(D)-1}がL(BD-1)/L(BD)におけるcosetであるとは、{cD,0,cD,1,・・・,cD,ν(D)-1}が以下の条件1,2を満たすことである。
条件1:(cD,0+L(BD))∪(cD,1+L(BD))∪・・・∪(cD,ν(D)-1+L(BD))=L(BD-1)
条件2:0以上ν(D)以下の任意のκ1,κ2(0≦∀κ1,κ2≦ν(D))について、κ1≠κ2である場合に(cD,κ1+L(BD))∩(cD,κ2+L(BD))が空である。
探索によって選ばれたα(D)に対してt(D)=t(D-1)-cD,k’と定義する。ただし、k’=0,1,…,ν(D)-1である。すると式(31)から、差分ベクトルt(B,d)は以下のように表現できる。
t(B,d)=t(0)(B0,d)=t(1)(B1,d)=t(2)(B2,d)・・・ (32)
すなわち、最近ベクトル問題(B0,t(0)),(B1,t(1)),(B2,t(2)),・・・における最近ベクトルt(B0,c),t(B1,c),t(B2,c),・・・が不変になるようにt(0),t(1),t(2),・・・の列が選択されている。一般に、格子間の距離が大きくなるほど、最近ベクトルの計算は容易になる。そこで、十分な深さDまで探索を実行すれば(BD,t(D))を古典アルゴリズムによって短時間で解くことができるので、式(32)を利用して最近ベクトル問題(B,t)の解を古典コンピュータにより計算すればよい。
In the present embodiment, in order to calculate the difference vector t (d) , the calculator uses a sequence of partial grids L (B) = L (B 0 ) ⊃ L (B 1 ) ⊃ L (of the grid L (B)). B 2 ) ⊃ ・ ・ ・ (30)
(Η2 ⊃ η1 means that η1 is a true subset of η2), L ( BD-1 ) / L ( BD ) (where D is a positive integer, that is, D = 1, From the representative elements of coset {c D, 0 , c D, 1 , ..., c D, ν (D) -1 } in (2, ...), α (D) that satisfies the following (however, Find 0≤α (D) <ν (D)).
t (B, d) = (t (D-1) -c D, α (D) ) (BD, d) (31)
However, ν (D) is a positive integer. Further, "BD" included in the superscript "(BD, d)" should be originally described as " BD ", but due to the limitation of the description notation, it is described as "BD". That is, the superscript "( BD , d)" represents "(BD, d)". Here, {c D, 0 , c D, 1 , ..., c D, ν (D) -1 } is a coset in L ( BD-1 ) / L ( BD ). c D, 0 , c D, 1 , ..., c D, ν (D) -1 } satisfies the following
Condition 1: (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ・ ・ ・ ∪ (c D, ν (D) -1 + L ( BD )) = L ( BD-1 )
Condition 2: For any κ1, κ2 (0 ≦ ∀κ1, κ2 ≦ ν (D)) of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (C D, κ2 + L ( BD )) is empty.
For α (D) selected by the search, t (D) = t (D-1) -c D, k'is defined. However, k'= 0,1, ..., ν (D) -1. Then, from the equation (31), the difference vector t (B, d) can be expressed as follows.
t (B, d) = t (0) (B0, d) = t (1) (B1, d) = t (2) (B2, d) ... (32)
That is, the recent vectors t (B0, c) , t ( in the recent vector problem (B 0 , t (0)), (B 1 , t (1)), (B 2 , t (2)), ... The columns of t (0), t (1), t (2), ... Are selected so that B1, c) , t (B2, c) , ... Are invariant. In general, the greater the distance between the grids, the easier it is to calculate the vector these days. Therefore, if the search is executed to a sufficient depth D , (BD, t (D)) can be solved in a short time by the classical algorithm. Therefore, the vector problem (B, t) has recently been solved by using the equation (32). ) Can be calculated by a classical computer.
本実施形態では、第1実施形態で説明したスワップテストの結果から得られる確率を評価関数とし、探索区間0≦α(D)<ν(D)において、式(30)を満たすようなα(D)を探索する。なお、最初に、式(30)の格子L(B)の部分格子の列L(B)=L(B0)⊃L(B1)⊃L(B2)⊃・・・を選択してしまうと、部分格子の列の選択誤りに起因する探索誤りが起こるため、各深さDにおいて、複数の部分格子L(BD)の候補に対して探索を実行し、最もよい部分格子BDとα(D)を選ぶ。すなわち、式(30)の格子L(B)の部分格子の列は最初に決定するのではなく、各深さD=1,2,・・・の探索処理で逐次決定していく。
In the present embodiment, the probability obtained from the result of the swap test described in the first embodiment is used as an evaluation function, and α (30) satisfying the equation (30) in the
<構成>
図7に例示するように、本形態の計算装置8は、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部87、ノード選択部85、制御部86、量子計算部72を有する。初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部71、ノード選択部85、および制御部86は、複数の演算部を有し、量子計算部72は、複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 7, the
<処理>
本形態の処理を説明する。
≪初期設定部81の処理≫
初期設定部81は、最近ベクトル問題(B,t)に対応する組(B,t)を入力とし、基底B0と目標ベクトルt(0)との組からなるノード(B0,t(0))=(B,t)を設定して出力する。初期設定部81は、生成したノード(B0,t(0))に(B0,t(0))を表すラベルを付与し、それらをメモリ(図示せず)に格納する。またD=1に設定される(ステップS81)。
<Processing>
The processing of this embodiment will be described.
<< Processing of
The
≪基底選択部82の処理≫
基底選択部82は、基底BD-1を入力とし、格子L(BD-1)の部分格子L(BD)⊂L(BD-1)の基底BDを選択して出力する(ステップS82)。
<< Processing of
The
≪代表元選択部83の処理≫
代表元選択部83は、格子L(BD),L(BD-1)を入力とし、前述の条件1,2を満たすL(BD-1)/L(BD)におけるcosetの代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択して出力する(ステップS83)。なお、各代表元cD,0,cD,1,・・・,cD,ν(D)-1は整数要素からなるn次元ベクトルである。
<< Processing of representative
The representative
≪子ノード生成部84の処理≫
図8および図9に例示するように、子ノード生成部84は、BD,t(D-1),cD,0,cD,1,・・・,cD,ν(D)-1を入力とし、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(BD,t(D-1)-cD,k’)を生成する。子ノード生成部84は、生成したノード(BD,t(D-1)-cD,k’)に(BD,t(D-1)-cD,k’)を表すラベルを付与し、それらをメモリ(図示せず)に格納する(ステップS84)。
<< Processing of child
As illustrated in FIGS. 8 and 9, the child
≪古典計算部87の処理≫
古典計算部87は、基底BDおよび整数Nを用い、BDのNに関する双対基底BD
-を生成して出力する(ステップS87)。
<< Processing of
The
量子状態生成部72は、第1実施形態の量子計算部72の処理と同じ処理を行って、スワップテストの結果である観測値を得て出力する。ただし、第1実施形態では基底Bとしていたが、本実施形態の量子状態生成部72では基底Bの代わりに基底BDを用いる。
第1実施形態の基底Bについて生成した量子状態|φ>0、|φ>t1の代わりに、本実施形態において基底BDについて第1実施形態の量子状態生成部72の処理を実行することで得られる量子状態を|φ>D,0、|φ>t(D,k´)と表記すると、各量子状態は以下のように表せる。
Instead of the quantum state | φ> 0 and | φ> t1 generated for the basis B of the first embodiment, the processing of the quantum
≪ノード選択部85の処理≫
ノード選択部は、k’=0,1,…,ν(D)-1について、量子計算部72の出力であるスワップテストの結果から量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,0,…,pD,ν(D)-1を求め、確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(BD,t(D-1)-cD,kmax)を選択して出力する。ただし、kmax∈{0,1,…,ν(D)-1}である(ステップS85)。
<< Processing of
The node selection unit determines the quantum state | φ> D, 0 and the quantum state | φ> t from the result of the swap test which is the output of the
≪制御部86の処理≫
制御部86は、nearest planeアルゴリズムなどの周知の古典アルゴリズムにより、最近ベクトル問題(BD,t(D-1)-cD,kmax)を解き、t(D-1)-cD,kmaxと格子L(BD)との間の最短の差分ベクトルt(BD,d)を得る。制御部86は、差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に、得られた差分ベクトルt(BD,d)が正しいと判断し、そうでない場合に差分ベクトルt(BD,d)が正しくないと判断する。例えば、制御部86は、差分ベクトルt(BD,d)の長さが、BDのLLL既約基底の最短ベクトルの2n/2倍より小さいとき、得られた差分ベクトルt(BD,d)が正しいと判断し、そうでない場合に差分ベクトルt(BD,d)が正しくないと判断する。制御部86は、得られた差分ベクトルt(BD,d)が正しいと判断した場合(差分ベクトルt(BD,d)の長さが基準値よりも小さい場合)、差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(BD)を最近ベクトルt(c)(すなわち、最近ベクトル問題(B,t)の解)として出力する(図8:D=θ)。一方、制御部86は、得られた差分ベクトルt(BD,d)が正しくないと判断した場合(差分ベクトルt(BD,d)の長さが基準値以上の場合)に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、基底選択部82と代表元選択部83と子ノード生成部84と古典計算部87と量子計算部72とノード選択部85と制御部86との各処理(ステップS82,S83,S84,S87,S872,S85,S86)を再び実行する制御を行う(ステップS86)。すなわち、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、ステップS82,S83,S84,S87,S872,S85,S86の処理が繰り返される。つまり、探索木の探索が継続される。
<< Processing of
The
[ステップS82,S83の標準的な方法]
上述したステップS82,S83はどのような手法によっても実行されてもよいが、ステップS82,S83の標準的な方法として以下を例示できる。ただし、これは本発明を限定するものではない。BD-1={bD-1,1,…,bD-1,n}とする。ただし、i=1,…,nについてbD-1,iは一次独立なn次元ベクトルであり、n次元ベクトルbD-1,iのそれぞれがn個の整数要素からなる。基底選択部82は、任意な正整数ρ’(ただし、1≦ρ’≦n)と素数p’を選んで、BD={bD-1,1,…,bD-1,ρ’-1,p’bD-1,ρ’,bD-1,ρ’+1,…,bD-1,n}とし、代表元選択部83は、cD,k’=κ’bD-1,ρ’(ただし、κ’=0,1,…,p’-1)とし、ν(D)=p’とする。
[Standard method of steps S82 and S83]
The above-mentioned steps S82 and S83 may be executed by any method, and the following can be exemplified as standard methods of steps S82 and S83. However, this does not limit the present invention. B D-1 = {b D-1 , 1, ..., b D-1, n }. However, for i = 1, ..., N, b D-1, i are linearly independent n-dimensional vectors, and each of the n-dimensional vectors b D-1, i consists of n integer elements. The
[第3実施形態]
本形態では、第2実施形態の処理をサブルーチンとして利用してSVPを解く(図1)。
[Third Embodiment]
In this embodiment, the processing of the second embodiment is used as a subroutine to solve the SVP (FIG. 1).
<構成>
図10に例示するように、本形態の計算装置6は、基底生成部61、設定部62、選択部63、および制御部65を有する。
<Structure>
As illustrated in FIG. 10, the
<処理>
本形態の計算装置6は、基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルt(c)を出力する。
<Processing>
The
まず、基底生成部61が、すべてのi=1,…,nについて、Bi={b1,…,bi-1,2bi,bi+1,…,bn}に設定する(ステップS61)。
First, the
次に、設定部62が、i=1,…,nについて、B=Biかつt=biとし、第2実施形態で説明した計算装置8に処理を依頼する。計算装置8は、B=Biかつt=biとして第2実施形態で説明した処理を行って差分ベクトルt(d)を得て出力する。設定部62は、B=Biおよびt=bi対して得られた当該差分ベクトルt(d)をti
(d)に設定する。これにより、設定部62はt1
(d),…,tn
(d)を得る(ステップS62)。
Next, the setting
選択部63は、設定部62で得られたt1
(d),…,tn
(d)を入力とし、t1
(d),…,tn
(d)の中で最短のもの(長さが最も短いベクトル)を最短ベクトルt(c)として出力する(ステップS63)。
The
[第4実施形態]
本形態の計算装置は、第1実施形態の手法を利用し、n次元ベクトルaj,gおよびNの入力に対して
g=AX+d mod N (34)
ここでaj=(a1j,…,anj)Tであるため、Aは以下のように表現できる。
A=(a1,a2,…,am)
[Fourth Embodiment]
The arithmetic unit of the present embodiment uses the method of the first embodiment for inputs of n-dimensional vectors aj , g and N.
g = AX + d mod N (34)
Here, since a j = (a 1j , ..., a nj ) T , A can be expressed as follows.
A = (a 1 , a 2 , ..., am )
本実施形態では、第2実施形態と同様な探索木の探索によって(X1,…,Xm)Tを計算していく。このとき、X=(X1,…,Xm)Tの変数(要素)X1,…,Xmそれぞれが探索木の深さDと一対一に対応する。従って、探索木の深さはXの変数の数mと一致する。すなわち、X1,…,Xmのそれぞれは、探索木の何れかの深さD=1,…,mでの探索(D=1,…,mの何れかに対応する処理)で得られる。探索木の深さD(=1,2,…,m)において決定される変数Xj(深さDに対応する処理で得られるXj)をXj(D)∈{X1,…,Xm}と記述する。また、深さDの探索で得られる(深さDに対応する処理で得られる)Xj(D)の値がαj(D)であり、このXj(D)に対応するn次元ベクトルajがaj(D)∈{a1,…,am}である。なぜなら、式(34)よりg=X1a1+…+Xj(D)aj(D)+…+Xmam+d mod Nとなるからである。例えば、各D=1,…,mに対応するXj(D)およびaj(D)は予め定められている。例えば、Xj(D)=XDであり、aj(D)=aDである。各変数Xj(D)の値は0,1,…,N-1のどれかなので、探索木の枝の数は深さによらずNとなる。本形態の場合、L(BD-1)/L(BD)におけるcosetの代表元はcD,0,cD,1,…,cD,N-1となり、それらはそれぞれ0,Xj(D),2Xj(D),…,(N-1)Xj(D)と対応する。従って、cD,j’=j’・Xj(D)である(ただし、j’=0,1,2…,N-1)。なお、BDおよびcD,j’は、例えば第2実施形態で例示した「ステップS82,S83の標準的な方法」によって計算することができるが、Nが素数の場合、ステップS82,S83の標準的な方法で素数p’を選択しようとするとp’=Nとせざるを得ない。 In this embodiment, T is calculated by searching for a search tree similar to that in the second embodiment (X 1 , ..., X m ). At this time, the variables (elements) X 1 , ..., X m of X = (X 1 , ..., X m ) T each have a one-to-one correspondence with the depth D of the search tree. Therefore, the depth of the search tree coincides with the number m of the variable of X. That is, each of X 1 , ..., X m can be obtained by searching at any depth D = 1, ..., M of any of the search trees (processing corresponding to any of D = 1, ..., M). .. The variable X j (X j obtained by the process corresponding to the depth D) determined at the depth D (= 1, 2, ..., M) of the search tree is X j (D) ∈ {X 1 , ..., X m }. Further, the value of X j (D) obtained by the search of the depth D (obtained by the process corresponding to the depth D) is α j (D) , and the n-dimensional vector corresponding to this X j (D) . a j is a j (D) ∈ {a 1 , ..., a m }. This is because, from the equation (34), g = X 1 a 1 + ... + X j (D) a j (D) + ... + X ma m + d mod N. For example, X j (D) and a j (D ) corresponding to each D = 1, ..., M are predetermined. For example, X j (D) = X D and a j (D) = a D. Since the value of each variable X j (D) is any of 0, 1, ..., N-1, the number of branches of the search tree is N regardless of the depth. In the case of this embodiment, the representative elements of coset in L ( BD-1 ) / L ( BD ) are c D, 0 , c D, 1 , ..., C D, N-1 , and they are 0 and X, respectively. Corresponds to j (D) , 2X j (D) , ..., (N-1) X j (D) . Therefore, c D, j' = j'· X j (D) (however, j'= 0, 1, 2, ..., N-1). BD and cD, j'can be calculated by, for example, the "standard method of steps S82 and S83" exemplified in the second embodiment, but when N is a prime number, in steps S82 and S83. If you try to select the prime number p'by the standard method, you have to set p'= N.
式(34)において、A,Xの要素の順序を入れ替えた式は以下のようになる。
AD-1=(aj(D)aj(D+1) … aj(m))
X’D-1=(Xj(D),Xj(D+1),…,Xj(m))T
gD-1’=AD-1X’D-1+d mod N (36)
の下、(AD-1,gD-1’,N)からXj(D)を求めていけば、最終的に(X1,…,Xm)Tの値を得ることができる。
In equation (34), the equation in which the order of the elements of A and X is changed is as follows.
X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T
Under, if X j (D) is obtained from ( AD-1 , g D-1 ', N), the value of (X 1 , ..., X m ) T can be finally obtained.
<構成>
図11に例示するように、本形態の計算装置10は、初期設定部100、古典計算部101,103(第1,2古典計算部)、選択部102、量子計算部72を有する。古典計算部101,103は複数の演算部を有し、量子計算部72は複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 11, the
<処理>
本形態の処理を説明する。
≪初期設定部100≫
初期設定部100は、D=1、A0=A、X’0=X、g0’=gに初期設定する(ステップS100)。その後、深さDでの探索(深さDに対応する処理)として以下の各処理が実行される。
<Processing>
The processing of this embodiment will be described.
≪
The
≪古典計算部101の処理≫
j’=0,1,2…,N-1のそれぞれに対し、式(36)は以下のように表現できる。
gD-1’-j’・aj(D)=ADX’D+d mod N (37)
式(37)を転置すると、以下の式(38)が得られる。
gD-1’T-j’・aj(D)
T=X’D
TAD
T+dTmod N (38)
ADの列ベクトルはaj(D+1),aj(D+2),…,aj(m)であるため、aj(D+1)
T,aj(D+2)
T,… aj(m)
TはADの行ベクトルである。
<< Processing of
Equation (36) can be expressed as follows for each of j'= 0, 1, 2, ..., N-1.
g D- 1'-j' · a j (D) = AD X'D + d mod N (37)
By transposing equation (37), the following equation (38) is obtained.
g D- 1'T -j'・ a j (D) T = X'D T A D T + d T mod N (38)
Since the column vectors of A and D are a j (D + 1) , a j (D + 2) , ..., a j (m) , a j (D + 1) T , a j (D + 2) T , ... a j (m) T Is a row vector of AD .
古典計算部101の演算部は、AD,N,ε1,…,εnを入力とし、AD
TにNεi
T(ただし、i=1,…,n)を加えた行ベクトルの集合{aj(D+1)
Taj(D+2)
T … aj(m)
T Nε1
T…Nεn
T}で定義される格子のLLL既約基底BDを計算して出力する。各j’=0,1,2…,N-1とdTに対して、式(38)の解X’D
Tの存在と、
gD-1’T-j’・aj(D)
T=u(D)BD+dT (39)
を満たす解u(D)∈Znの存在とは等価である。なお、u(D)は整数要素からなるn次元ベクトルである(ステップS1011)。
The arithmetic unit of the
g D- 1'T -j'・ a j (D) T = u (D) BD + d T (39)
It is equivalent to the existence of a solution u (D) ∈ Z n that satisfies. Note that u (D) is an n-dimensional vector composed of integer elements (step S1011).
古典計算部101の演算部は、ステップS1011で得たLLL既約基底BDのNに関する双対基底BD
-を得て出力する(ステップS1012)。
The arithmetic unit of the
量子計算部72は、以下のように、深さDに対応する各ノード(BD,gD-1’T-j’・aj(D)
T)について、各j’=0,1,2…,N-1に対応するスワップテストの判定結果を求める。
The
量子計算部72は、第2実施形態の量子計算部72と同じ処理を行い、量子状態|φ>D,0と|φ>t(D,j´)を生成し、これらの量子状態にスワップテストを行って、スワップテストの判定結果を得て出力する(ステップS1072)。ただし、第2実施形態のk'=0,1,…,ν(D)-1の代わりに、本実施形態ではj’=0,1,2,…,N-1を用いる。各量子状態は以下のように表せる。
≪選択部102の処理≫
選択部102は、j’=0,1,2,…,N-1について、量子計算部72から出力されたスワップテストの判定結果に基づいて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,0,pD,1,…,pD,N-1を求め、この中から最も高い確率pD,jmaxに対応するjmax∈{0,1,2,…,N-1}をαj(D)として出力する。すなわち、pD,jmax≧pD,0,pD,1,pD,jmax-1,pD,jmax+1,…,pD,N-1であり、αj(D)=jmaxである。また選択部102は、gD’=gD-1’-αj(D)・aj(D)を計算して出力する(ステップS102)。ここで得られる値αj(D)が深さDでのXj(D)の値となる。
<< Processing of
The
≪古典計算部103の処理≫
選択部102gがすべてのD=1,…,mについてαj(D)を出力している場合、古典計算部103は、αj(1),…,αj(m)を整列して得られる(X1,…,Xm)Tの解(α1,…,αm)Tを出力する。一方、選択部102gが何れかのD=1,…,mについてαj(D)を出力していない場合、古典計算部103は、D+1を新たなDとし、古典計算部101と量子計算部72と選択部102と古典計算部103の各処理(ステップS1011,S1012,S1072,S102,S103)を再び実行させる制御を行う(ステップS103)。
<< Processing of
When the selection unit 102g outputs α j (D) for all D = 1, ..., M, the
<具体例>
次に、本実施形態の具体例を示す。ここではLWEの例として、以下の場合を例示する。m=3,n=9(=m2),N=11(nよりも大きな最小の素数),
Next, a specific example of this embodiment will be shown. Here, as an example of LWE, the following cases will be illustrated. m = 3, n = 9 (= m 2 ), N = 11 (the smallest prime number greater than n),
≪初期設定部100≫
初期設定部100は、D=1、A0=A、X’0=X、g0’=gに初期設定する(ステップS100)。
≪
The
≪古典計算部101の処理≫
Aから深さDで求めたい変数番号の列を除いたn×(m-1)行列をRest(A)と表現する。この例の場合、Xの一番目の変数X1の値を求めたいので、Rest(A)はAから一列目を除いた9×2行列である。古典計算部101の演算部は、(n+m-1)×n行列
The n × (m-1) matrix excluding the sequence of variable numbers to be obtained at the depth D from A is expressed as Rest (A). In the case of this example, Rest (A) is a 9 × 2 matrix excluding the first column from A because we want to find the value of the first variable X1 of X. The calculation unit of the
古典計算部101の演算部は、B1のNに関する双対基底B1
-を得て出力する(ステップS1012)。n=9の場合、この例のB1
-を構成するn次元ベクトルb1
-,…,b9
-を要素とする9行9列の基底行列β1
-は以下のようになる。
≪量子計算部72の処理≫
この例では量子計算部72が、領域Rとして前述のR(2B-)を選択する。領域Rを前述のR(2B-)とすると以下が成り立つ。
In this example, the
量子計算部72は、量子状態|φ>1,0の複数のレジスタを2つのグループに分け、片方のグループレジスタに量子回転ゲートを適用する。これにより、以下の量子状態からなるレジスタが得られる。
g0’T-j’・aj(1)
T=(1,8-j’,6-3j’,7-j’,4-9j’,5,8-7j’,10-4j’,6) mod 11
The
g 0'T -j'・ a j (1) T = (1,8-j', 6-3j ', 7-j', 4-9j', 5,8-7j', 10-4j', 6)
そして、量子計算部72は、j’=0,1,2…,10について、量子状態|φ>1,0のレジスタと、量子状態|φ>t(1,j’)のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>1,0と量子状態|φ>t(1,j’)とのペアに対するスワップテストの結果を得て出力する。
Then, the
≪選択部102の処理≫
選択部102は、量子計算部72で得たスワップテストの結果から、スワップテストが受理となる確率p1,j’を計算する。例えば、量子計算部72において各j’=0,1,2…,10について複数回(例えば、100回)のスワップテストを実行し、受理となった割合を各j’における確率p1,j’として計算する。確率p1,j’を理論的に計算すると以下のようになる。
p1,0=0.500002
p1,1=0.500001
p1,2=0.500000
p1,3=0.500000
p1,4=0.500002
p1,5=0.500132
p1,6=0.500093
p1,7=0.500000
p1,8=0.504587
p1,9=0.500001
p1,10=0.665613
次に、選択部102は、確率p1,0,p1,1,…,p1,N-1のうち最も高い確率p1,10に対応する10をαj(1)として出力する。式(41)のようにX1=10であり、正しい答えαj(1)=10を算出することができた。
<< Processing of
The
p 1,0 = 0.500002
p 1,1 = 0.500001
p 1,2 = 0.500000
p 1,3 = 0.500000
p 1,4 = 0.500002
p 1,5 = 0.500132
p 1,6 = 0.500093
p 1,7 = 0.500000
p 1,8 = 0.504587
p 1,9 = 0.500001
p 1,10 = 0.665613
Next, the
[第5実施形態]
第5実施形態でも、量子計算と古典計算とによって距離比較問題を解く(図1および図2)。第1実施形態では、距離比較問題の対象となる格子L(B)と同じ次元の双対格子L(B-)を用いた。本形態では、距離比較問題の対象となる格子L(B)をより大きな次元n’の空間に埋め込んで得られる格子を用いることで精度を高める。
[Fifth Embodiment]
Also in the fifth embodiment, the distance comparison problem is solved by quantum calculation and classical calculation (FIGS. 1 and 2). In the first embodiment, a dual grid L (B − ) having the same dimension as the grid L (B) that is the target of the distance comparison problem is used. In this embodiment, the accuracy is improved by using a grid obtained by embedding the grid L (B), which is the target of the distance comparison problem, in a space having a larger dimension n'.
<構成>
図3に例示するように、本形態の判定装置11は古典計算部111,73(第1,2古典計算部)、量子計算部112、および制御部74を有する。図4に例示するように、本形態の量子計算部112は、量子状態生成部112a,112b(第1から第4量子状態生成部)、およびスワップテスト部72c(第1,2スワップテスト部)を有する。判定装置11は、制御部74の制御のもとで各処理を実行する。古典計算部111,73は複数の演算部を有し、量子状態生成部112a,112bおよびスワップテスト部72cは複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 3, the
<処理>
本形態の処理を説明する。本形態の判定装置11は、基底B、n個の整数要素t1,iからなる目標ベクトルt1=(t1,1,…,t1,n)T、およびn個の整数要素t2,iからなる目標ベクトルt2=(t2,1,…,t2,n)Tを入力とし、以下に説明する古典計算および量子計算を行い、||t1(d)||と||t2(d)||の何れが大きいかを判定する。
<Processing>
The processing of this embodiment will be described. The
≪古典計算部111の処理≫
判定装置11の古典計算部111(図3)の演算部は、基底Bを入力とし、行列αと基底行列βとを行方向に並べた行列β’=(α β)の転置行列β’Tのエルミート標準形が対角成分1の行列となる行列αを選択し、行列β’を得て出力する。βは基底Bのn次元ベクトルb1,…,bnを要素とするn行n列の基底行列であり、例えば、n次元ベクトルb1,…,bnを行ベクトルとした行列である。αはn行の整数要素からなる行列である。行列αの一例はn×n単位行列であるが、本発明はこれに限定されない。一般に、ランダムな0または1の要素からなるn×n行列をαとすれば、行列β’=(α β)の転置行列β’Tのエルミート標準形は対角成分1の行列(対角成分だけを持つ行列)となり、上記条件を満たす。また、行列αはn×n行列である必要はなく、nよりも列数の小さいn行の行列や、nよりも列数がずっと大きな(例えば、列数がn2よりも大きな)n行の行列であってもよい。行列β’=(b1
’,…,bn’
’)Tの行ベクトルb1
’,…,bn
’からなる基底をB’と表現する。行ベクトルb1
’,…,bn
’は一次独立であり、i=1,…,nについてbi
’は整数要素からなるn’次元ベクトルである。ただし、n’はnよりも大きな正整数である(ステップS111-1)。
<< Processing of
The arithmetic unit of the classical calculation unit 111 (FIG. 3) of the
古典計算部111の演算部は、行列β’を入力とし、行列β’Tをエルミート分解し、β-’β’T=H’を満たすユニモジュラ行列β-’とエルミート標準形の行列H’を得る。ユニモジュラ行列β-’=(b1
-’,…,bn’
-’)Tの行ベクトルb1
-’,…,bn’
-’からなる基底をB-’として出力する。行ベクトルb1
-’,…,bn’
-’は一次独立であり、i’=1,…,n’についてbi’
-’は整数要素からなるn’次元ベクトルである。n’がβ-’の行数である。なお、B-’の上付き添え字の「-」は本来「B」の真上に記載すべきであるが、記載表記の制約上、「B」の右上に表記する場合がある。「bi’
-’」の上付き添え字の「-」は本来「b」の真上に記載すべきであるが、記載表記の制約上、「b」の右上に表記する場合がある(ステップS111-2)。
The arithmetic unit of the
古典計算部111の演算部は、基底B’および目標ベクトルt1=(t1,1,…,t1,n)T,t2=(t2,1,…,t2,n)Tを入力とし、基底B’が張る空間span(B’)に属するn’個の整数要素t’1,i’からなる目標ベクトルt1’=(t’1,1,…,t’1,n’)T∈span(B’)およびn’個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,…,t’2,n’)T∈span(B’)を得て出力する。ただし、Proj(t1’)=(0,t1)、Proj(t2’)=(0,t2)であり、Proj(μ)はμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表す(ステップS111-3)。
The arithmetic unit of the
≪量子計算部112の処理≫
量子計算部112(図4)は、基底B-’および目標ベクトルt1’,t2’を入力とし、n’次元空間における適当な領域(整数要素からなるn’次空間に属する部分領域)R⊆Zn’に対して以下に示す処理を実行し、スワップテストの結果を出力する(ステップS112)。例えば、R⊂Zn’である。
<< Processing of
The quantum calculation unit 112 (FIG. 4) takes the basis B −'and the target vectors t1'and t2' as inputs, and an appropriate region in the n'dimensional space (a subregion belonging to the n'th order space consisting of integer elements) R⊆ The following processing is executed for Z n' , and the result of the swap test is output (step S112). For example, R ⊂ Z n' .
例えば、以下の領域R(ΓB-’)を領域Rとすることができる。
あるいは、例えば、以下の領域R(ΓB-’*)を領域Rとしてもよい。
Alternatively, for example, the following region R (ΓB − ' * ) may be used as the region R.
量子計算部112は以下の手順でスワップテストの結果を得る。
(a-1)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個生成する(ステップS1172a-1)。
(A-1) The quantum
(b-1)量子状態生成部112bは、(a―1)で生成したレジスタのうち一部のレジスタに量子操作を行い、以下の量子状態に変換されたレジスタを得る(ステップS1172b-1)。
(c-1)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t1’のレジスタとの各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかの判定結果を得て出力する(ステップS1172c-1)。
(C-1) The
また、量子計算部112は以下の手順で別のスワップテストの結果も計算する。
(a-2)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個作成する(ステップS1172a-2)。
(A-2) The quantum
(b-2)量子状態生成部112bは、(a-2)で生成したレジスタの一部に量子操作を行い、以下の量子状態からなるレジスタを得る(ステップS1172b-2)。
(c-2)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t2’のレジスタとの各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかの判定結果を得て出力する(ステップS1172c-2)。
(C-2) The
≪古典計算部73の処理≫
古典計算部73は、量子計算部112で得られたスワップテストの結果を用い、量子状態|φ>0と量子状態|φ>t1’とのペアに対するスワップテストの結果が受理となる確率p1と、量子状態|φ>0と量子状態|φ>t2’とのペアに対するスワップテストの結果が受理となる確率p2とを計算する。そして、古典計算部73は、p1≧p2の場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p1<p2の場合に||t1(d)||>||t2(d)||であることを表す情報を出力する。あるいは、古典計算部73は、p1>p2の場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p1≦p2の場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する(ステップS73)。
<< Processing of
The
<具体例>
第1実施形態の具体例と同じ問題を扱う。ここでは、基底Bを1次元高い空間に埋め込む、最も簡単な例を述べる。
≪古典計算部111の処理≫
古典計算部111の演算部は、基底Bを入力とし、以下の行列β’を得て出力する。
The same problem as the specific example of the first embodiment is dealt with. Here, the simplest example of embedding the basis B in a space one-dimensionally higher will be described.
<< Processing of
The arithmetic unit of the
古典計算部111の演算部は、行列β’を入力とし、行列β’Tをエルミート分解する。エルミート標準形の行列H’の対角成分はすべて1、ユニモジュラ行列β-’は以下のようになる。
古典計算部111の演算部は、基底B’および目標ベクトルt1=(t1,1,t1,2)T,t2=(t2,1,t2,2)Tを入力とし、基底B’が張る空間span(B’)に属する3個の整数要素t’1,i’からなる目標ベクトルt1’=(t’1,1,…,t’1,3)T∈span(B’)および3個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,t’2,2,t’2,3)T∈span(B’)を得て出力する。t1’およびt2’は以下のようになる(ステップS111-3)。
≪量子計算部112の処理≫
領域R(2B-’)が領域Rの場合には以下が成り立つ。
When the region R (2B − ') is the region R, the following holds.
量子計算部112は以下の計算を行う。
(a-1)量子計算部112の量子状態生成部112aは、以下の量子状態のレジスタを複数個生成する。
(A-1) The quantum
(b-1)量子状態生成部112bは、上記複数個のレジスタのうち一部のレジスタに量子回転ゲート操作を適用する。これにより、回転ゲートが適用されたレジスタの量子状態は以下のようになる。
(c-1)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、その結果を出力する。
(C-1) The
量子計算部112は以下の計算を行う。
(a-2)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個生成する。
(A-2) The quantum
(b-2)量子状態生成部112bは、上記複数個のレジスタのうち一部のレジスタに量子回転ゲート操作を適用する。これにより、回転ゲートが適用されたレジスタの量子状態は以下のようになる。
(c-2)スワップテスト部72cは、量子状態|φ>0のレジスタと、量子状態|φ>t2’のレジスタとの各ペアに対してスワップテストを実行し、その結果を得て出力する。
(C-2) The
≪古典計算部73の処理≫
古典計算部73は、以上のスワップテストの結果から、確率p1,p2の値を計算する。この値を理論的に求めると、
The
最後に、この例ではp1>p2であるため、古典計算部73は、||t1(d)||<||t2(d)||であることを表す情報を出力する。
Finally, since p 1 > p 2 in this example, the
[第6実施形態]
第6実施形態は、第2実施形態の変形例であり、第1実施形態の手法に代えて第5実施形態の手法を用い、与えられたn次元の最近ベクトル問題(B,t)を解く(図1)。すなわち、与えられたn次元の最近ベクトル問題(B,t)に対し、第5実施形態の手法を用い、目標ベクトルtとの差分ベクトルt(B,d)=t-t(B,c)が最短となるような格子L(B)上の最近ベクトルt(B,c)∈L(B)を求める。
[Sixth Embodiment]
The sixth embodiment is a modification of the second embodiment, and solves a given n-dimensional recent vector problem (B, t) by using the method of the fifth embodiment instead of the method of the first embodiment. (Fig. 1). That is, for a given n-dimensional recent vector problem (B, t), the difference vector t (B, d) = tt (B, c) with the target vector t using the method of the fifth embodiment. Find the recent vector t (B, c) ∈ L (B) on the lattice L (B) such that is the shortest.
<構成>
図7に例示するように、本形態の計算装置12は、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部127、ノード選択部85、制御部86、および量子計算部112を有する。初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部71、ノード選択部85、および制御部86は、複数の演算部を有し、量子計算部112は、複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 7, the
<処理>
本形態の処理を説明する。
初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84の処理は第2実施形態と同じである。
<Processing>
The processing of this embodiment will be described.
The processing of the
≪古典計算部127の処理≫
古典計算部127は、基底BDおよび整数Nを用い、行列αDと基底行列βDとを行方向に並べた行列βD’=(αD βD)の転置行列βD’Tのエルミート標準形が対角成分1の行列となる行列αDを選択し、βD’を出力する。古典計算部127は、エルミート標準形の行列H’に対してβD
-’βD’T=H’を満たすユニモジュラ行列βD
-’を得て出力する。古典計算部127は、行列βD’=(bD,1’,…,bD,n’’)Tの行ベクトルbD,1’,…,bD,n’’からなる基底をBD’とし、ユニモジュラ行列βD
-’=(bD,1
-’,…,bD,n’
-’)Tの行ベクトルbD,1
-’,…,bD,n’
-’からなる基底をBD
-’とし、基底BD’が張る空間span(BD’)に属するn’個の整数要素からなる目標ベクトルt(D,k’)∈span(BD’)を得て出力する。ただし、k’=0,1,…,ν(D)-1であり、Proj(t(D,k’))=(0,t(D-1)-cD,k’)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B-’)が格子L(B-’)={Σi’=1,…,n’ xi’b-’i’|xi’∈Z,b-’i’∈B-’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域である(ステップS1287)。
<< Processing of
The
量子計算部112の処理は、(a-1)(b-1)の|φ>0,B-’,|φ>t1’,t1’が|φ>D,0,BD
-’,|φ>t(D,k’),t(D,k’)にそれぞれ置換され、(c-1)が第2実施形態のスワップテストに置換され、(a-2)(b-2)(c-2)が実行されないこと以外、第5実施形態と同じである。
In the processing of the
ノード選択部85、制御部86の処理は、第2実施形態と同じである。
The processing of the
[第7実施形態]
本形態では、第6実施形態の処理をサブルーチンとして利用してSVPを解く(図1)。
[7th Embodiment]
In this embodiment, the processing of the sixth embodiment is used as a subroutine to solve the SVP (FIG. 1).
<構成>
図10に例示するように、本形態の計算装置6は、基底生成部61、設定部62、選択部63、および制御部65を有する。
<Structure>
As illustrated in FIG. 10, the
<処理>
本形態の計算装置6は、基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルt(c)を出力する。
第3実施形態の設定部62は第2実施形態の計算装置8により、差分ベクトルt(d)を得ていたが、本実施形態の設定部62は、第6実施形態で説明した計算装置12により差分ベクトルt(d)を得る。その他の処理は、第3実施形態と同じであるので説明を省略する。
<Processing>
The
The setting
[第8実施形態]
本形態は第4実施形態の変形例である。本形態の計算装置は、第1実施形態の手法に代えて第5実施形態の手法を応用し、n次元ベクトルaj,gおよびNの入力に対して
This embodiment is a modification of the fourth embodiment. The arithmetic unit of this embodiment applies the method of the fifth embodiment instead of the method of the first embodiment, and for the input of the n-dimensional vectors aj , g and N.
<構成>
図11に例示するように、本形態の計算装置14は、初期設定部100、古典計算部1401,103(第1,2古典計算部)、選択部102、量子計算部112を有する。古典計算部1401,103は複数の演算部を有し、量子計算部112は複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 11, the
<処理>
本形態の処理を説明する。既に説明した処理部と同じ機能については説明を省略する。
<Processing>
The processing of this embodiment will be described. The same functions as the processing unit already described will be omitted.
≪古典計算部1401の処理≫
古典計算部1401の演算部は、AD,N,ε1,…,εnを入力とし、AD
TにNεi
T(ただし、i=1,…,n)を加えた行ベクトルの集合{aj(D+1)
Taj(D+2)
T … aj(m)
T Nε1
T…Nεn
T}で定義される格子のLLL既約基底BDを計算して出力する(ステップS1411)。
<< Processing of
The arithmetic unit of the
古典計算部1401の演算部は、aj(D+1)
T,aj(D+2)
T,…,aj(m)
T,Nε1
T,…,Nεn
TのLLL既約基底BDの基底行列βDを得て出力し、n列の整数要素からなる行列αDと基底行列βDとを行方向に並べた行列βD’=(αD βD)の転置行列βD’Tのエルミート標準形が対角成分1の行列となる行列αDを選択し、βD’を出力する。古典計算部1401の演算部は、エルミート標準形の行列H’に対してβD
-’βD’T=H’を満たすユニモジュラ行列βD
-’を得て出力する。古典計算部1401の演算部は、行列βD’=(bD,1’,…,bD,n’’)Tの行ベクトルbD,1’,…,bD,n’’からなる基底をBD’とし、ユニモジュラ行列βD
-’=(bD,1
-’,…,bD,n’
-’)Tの行ベクトルbD,1
-’,…,bD,n’
-’からなる基底をBD
-’として出力する。古典計算部1401の演算部は、基底BD’が張る空間span(BD’)に属するn’個の整数要素からなる目標ベクトルt(D,j’)∈span(BD’)を得て出力する。ただし、j’=0,1,2…,N-1であり、Proj(t(D,j’))=(0,gD-1’T-j’・aj(D)
T)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表す(ステップS1412)。
The arithmetic unit of the
量子計算部112の処理は、(a-1)(b-1)の|φ>0,B-’,|φ>t1’,t1’が|φ>D,0,BD
-’,|φ>t(D,j’),t(D,j’)にそれぞれ置換され、(c-1)が第4実施形態のスワップテストに置換され、(a-2)(b-2)(c-2)が実行されないこと以外、第5実施形態と同じである。
In the processing of the
<具体例>
次に、本実施形態の具体例を示す。ここではLWEの例として、第4実施形態の具体例と同じ問題を扱う。ここでは深さD=1の処理を例示するが、これらの処理はDの値以外、その他のDについても同様である。
<Specific example>
Next, a specific example of this embodiment will be shown. Here, as an example of LWE, the same problem as the specific example of the fourth embodiment is dealt with. Here, the processing of the depth D = 1 is illustrated, but these processings are the same for other Ds other than the value of D.
≪古典計算部1401の処理の例1≫
1.Aから求めたい変数番号の列を除いたn×(m-1)行列をRest(A)と表現する。この例の場合、Xの一番目の変数X1の値を求めたいので、Rest(A)はAから一列目を除いた9×2行列である。古典計算部1401の演算部は、(n+m-1)×n行列
1. 1. The n × (m-1) matrix excluding the sequence of variable numbers to be obtained from A is expressed as Rest (A). In the case of this example, we want to find the value of the first variable X 1 of X, so Rest (A) is a 9 × 2 matrix excluding the first column from A. The arithmetic unit of the
その後、ステップS1412として、以下のステップS1412a~S1412gが実行される。
2.古典計算部1401の演算部は、格子L(B1)を埋め込む空間の次元n’を決める(ステップS1412a)。n’はnの倍数である。以下では、n’がnの3倍、すなわちn’=9×3=27の例を説明する。
Then, as step S1412, the following steps S1412a to S1412g are executed.
2. 2. The arithmetic unit of the
3.古典計算部1401の演算部は、格子L(B1)の互いに異なる既約基底
β1’=(In R’) (41)
ここでInはn×nの単位行列である(ステップS1412d)。β1’の行ベクトルb1’,…,bn’を要素とする{b1’,…,bn’}が定義するn次元格子基底をB1’で表現する。以下にn’=3n=27のときのR’を例示する。
β 1 ' = (In R') (41)
Here, In is an identity matrix of n × n (step S1412d). The n-dimensional lattice basis defined by {b 1', ..., b n '} whose elements are the row vectors b 1 ' , ..., b n'of β 1'is represented by B 1 '. The following is an example of R'when n'= 3n = 27.
4.古典計算部1401の演算部は、β1’の転置行列β1’Tをエルミート分解し、エルミート標準形の対角成分1のn’×n行列と、ユニモジュラ行列
古典計算部1401の演算部は、以下の式(43A)のように、基底B1’が張る空間span(B1’)に属するn’個の整数要素からなる目標ベクトルt(1,j’)∈span(B1’)を得て出力する。この目標ベクトルt(1,j’)は目標ベクトルg0’T-j’・aj(1)
Tをn’次元空間へ埋め込んだものである。
t(1,j’)=(g0’T-j’・aj(1)
T)β1
-1β1’ (43A)
定義により、t(1,j’)はβ1’の線形和なのでt(1,j’)∈span(B1’)である(ステップS1412g)。ここでspan(B1’)はB1’の実数係数線形和が作る超平面である。ただし、(g0’T-j’・aj(1)
T)β1
-1が整数であるとは限らないため、一般には
t ( 1 , j') = (g 0'T -j' · a j (1) T ) β 1-1 β 1 '(43A)
By definition, t (1, j') is a linear sum of β 1 ', so t (1, j') ∈ span (B 1 ') (step S1412g). Here, span (B 1 ') is a hyperplane formed by the linear sum of the real number coefficients of B 1 '. However, since (g 0'T - j' · a j (1) T ) β 1-1 is not always an integer, it is generally
その後、例えば、B-=B1
-’とし、前述の領域R(ΓB-)またはR(ΓB-*)を領域Rとして、これ以降の量子計算部112の処理、選択部102の処理、および古典計算部103の処理が行われる。
After that, for example, B − = B 1 − ′, and the above-mentioned region R (ΓB − ) or R (ΓB − * ) is set as the region R, and the subsequent processing of the
≪古典計算部1401の処理の例2≫
B1
-’に代え、以下のように生成されるB1
-”が用いられてもよい。これにより、より小さな次元数n’の空間を用いて正しいαj(D)を求めることができる。この場合、古典計算部1401の演算部は、上述の≪古典計算部1401の処理の例1≫で説明したステップS1411を実行し、ステップS1412としてS1412a~S1412fの処理を実行し、さらに以下のステップS1412h~S1412k,S1412fを実行する。
<< Example 2 of processing of the
Instead of B 1- ', B 1 - 'generated as follows may be used, which allows the correct α j (D) to be obtained using a space with a smaller number of dimensions n'. In this case, the arithmetic unit of the
5.古典計算部1401の演算部は、n’次元空間における単位ベクトルunit1,…,unitn’のn次元格子基底B1’が張る空間span(B1’)への射影ベクトルProjB1’(unit1),…,ProjB1’(unitn’)を計算する(ステップS1412h)。ここで単位ベクトルunit1,…,unitn’を用いるのは、L(B1
-’)が単位ベクトルunit1,…,unitn’を基底とする格子と一致するからである。これらの射影ベクトルProjB1’(unit1),…,ProjB1’(unitn’)は、長さ1以下、有理数要素のn’次元ベクトルとなる。式(44)に示すように、これらの射影ベクトルProjB1’(unit1),…,ProjB1’(unitn’)を縦に並べたn’×n’行列をP1とする。
6.古典計算部1401の演算部は、{ProjB1’(unit1),…,ProjB1’(unitn’)}のLLL既約基底{q1,q2,…,qn}を計算し、当該LLL既約基底{q1,q2,…,qn}を構成する有理数要素のn’次元ベクトルq1,q2,…,qnを得る(ステップS1412i)。式(45)に示すように、n’次元ベクトルq1,q2,…,qnを縦に並べたn×n’行列(n’次元空間中のn次元格子基底)をQ1とする。
7.古典計算部1401の演算部は、次の式(46)を満たす整数要素のn×n’行列X1を得る(ステップS1412j)。
X1P1=Q1 (46)
ただし、前述のように行列P1は逆行列P1
-1を持たないため、式(46)の両辺の右側から行列P1の逆行列P1
-1を掛けて行列X1を求めることはできない。そこで古典計算部1401の演算部は、まず、行列P1のスミス分解を行い、以下の式(47)を満たすユニモジュラn’×n’行列U1,V1と、整数α1,1,α2,2,…,αn,nとを計算する。
X 1 P 1 = Q 1 (46)
However, since the matrix P 1 does not have the inverse matrix P 1-1 as described above, it is not possible to obtain the matrix X 1 by multiplying the inverse matrix P 1-1 of the matrix P 1 from the right side of both sides of the equation (46). Can not. Therefore, the arithmetic unit of the
8.古典計算部1401の演算部は、式(42)の1行目からn行目まで(すなわち、(In On,n’-n)の部分)をn×n’行列X1で置き換え、以下の式(49)に示す行列β1
-”を生成する。
その後、古典計算部1401の演算部は前述のステップS1412gを実行する。そして、例えば、B-=B1
-”とし、前述の領域R(ΓB-)またはR(ΓB-*)を領域Rとして、これ以降の量子計算部112の処理、選択部102の処理、および古典計算部103の処理が行われる。
After that, the arithmetic unit of the
≪選択部102の処理≫
選択部102は、量子計算部112でスワップテストを行った結果に基づいて、深さD=1に対応する各ノード(B1,g0’T-j’・aj(1)
T)について、各j’=0,1,2…,10に対応する評価値である確率p1,j’を計算し、これらの評価値に基づいて深さD=1でのXj(1)の値αj(1)を求める。この具体例において、領域RとしてR(2B1
-”*)を用いて量子計算部112の処理を実行した場合、確率p1,j’は以下のようになる。
p1,0=0.500007
p1,1=0.500167
p1,2=0.500019
p1,3=0.500106
p1,4=0.500013
p1,5=0.500133
p1,6=0.500007
p1,7=0.500128
p1,8=0.500071
p1,9=0.500012
p1,10=0.500721
上記の例では、スワップテストを10000回行ったときに、j=10に対して約5007回の0(受理,Yes)が得られるのに対し、j≠10に対しては高々5001回程度しか0(受理,Yes)が得られない。従って、選択部102は、確率p1,0,p1,1,…,p1,10のうち最も高い確率p1,10に対応する10をαj(1)として出力する。また選択部102は、g1’=g0-10・aj(1)を計算して出力する。
<< Processing of
The
p 1,0 = 0.500007
p 1,1 = 0.500167
p 1,2 = 0.500019
p 1,3 = 0.500106
p 1,4 = 0.500013
p 1,5 = 0.500133
p 1,6 = 0.500007
p 1,7 = 0.50128
p 1,8 = 0.500071
p 1,9 = 0.500012
p 1,10 = 0.500721
In the above example, when the swap test is performed 10,000 times, 0 (acceptance, Yes) of about 5007 times is obtained for j = 10, whereas it is only about 5001 times for j ≠ 10. 0 (acceptance, Yes) cannot be obtained. Therefore, the
第4実施形態の具体例と比べて、第8実施形態の具体例の確率p1,10と他の確率p1,0,…,p1,9との差が著しく小さいのは、格子を埋め込む空間の次元が小さすぎるからである。確率p1,10と他の確率p1,0,…,p1,9との差を大きくするためには、次元数n’を大きくすればよい。図13に次元数n’と確率p1,j’(ただし、j’=0,…,10)との関係を例示する。図13より、次元数n’を大きくすることで確率p1,10と他の確率p1,0,…,p1,9との差を大きくなっていくことが分かる。一般に、正しいj’を選ぶためには必要な空間の次元数n’は、元の格子の次元数n、基底B1’、エラーの大きさ||error||に依存する。格子を埋め込む空間の次元n’を大きくし、基底B1’をうまく選択すれば、より大きなエラーに対する求解が可能になる。
Compared with the specific example of the fourth embodiment, the difference between the probabilities p 1,10 of the specific example of the eighth embodiment and the other probabilities p 1,0 , ...,
[第9実施形態]
第9実施形態は、学習データであるデータセットおよびクラスラベルを入力とし、第4,8実施形態の何れかの手法を用い、順伝播型ニューラルネットワークの教師有り学習を行う(図14)。なお、本実施形態で扱うニューラルネットワークは順伝播型のみであるため、以下、「順伝播型」という記述を省略し、単に「ニューラルネットワーク」と表記する。
[9th Embodiment]
In the ninth embodiment, a data set and a class label, which are training data, are input, and supervised learning of a feedforward neural network is performed using any of the methods of the fourth and eighth embodiments (FIG. 14). Since the neural network handled in this embodiment is only a forward propagation type, the description of "forward propagation type" is omitted below and is simply referred to as "neural network".
図15はニューラルネットワークの構成図を示す。ニューラルネットワークは、ユニットと呼ばれるノードの重みつき有向グラフで表現され、入力層、隠れ層(hidden layer)、出力層から構成される。隠れ層のないニューラルネットワークは、単層ニューラルネットワークと呼ばれる。また、1層以上の隠れ層を持つニューラルネットワークは、深層(多層)ニューラルネットワークと呼ばれる。バイアスユニットと呼ばれる固定値を持つユニットを除いて、ユニットには実数(浮動小数)値の変数がラベル付けされているものとする。以下、第L”層目(L”=1,2,…,D”-2,D”-1,D”)、ι”番目(ι”=0,1,2,…,m)のユニットの変数をxι” (L”)と表記する。ただし、D”は2以上の整数であり、mは正の整数である。ι”=0に相当するユニットがバイアスユニットで、すべての深さL”に対してバイアスユニットの持つ固定値を1とする。 FIG. 15 shows a configuration diagram of a neural network. A neural network is represented by a weighted directed graph of nodes called a unit, and is composed of an input layer, a hidden layer, and an output layer. A neural network without a hidden layer is called a single-layer neural network. Further, a neural network having one or more hidden layers is called a deep (multilayer) neural network. Except for units with fixed values called bias units, it is assumed that the units are labeled with variables with real (floating point) values. Hereinafter, the L "th layer (L" = 1, 2, ..., D "-2, D" -1, D "), ι" th (ι "= 0, 1, 2, ..., M) unit. The variable of is expressed as x ι " (L") , where D "is an integer of 2 or more and m is a positive integer. The unit corresponding to ι "= 0 is the bias unit, and the fixed value of the bias unit is 1 for all depths L".
第L”層目(L”=1,2,…,D”-2,D”-1)における変数x1
(L”),…,xm
(L”)の値から、第L”+1層目のκ”番目のユニットの変数xκ”
(L”+1)の値が以下のように計算される。
ニューラルネットワークの教師あり学習とは、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}(i=1,2,3,…,n)からなる行列
これを数式で表現すると、ニューラルネットワークの教師あり学習とは、与えられたn×m行列Atとn+1行列G”と整数D”≧2から、以下の式(52)(53)(54)により計算して得られるn×1行列At
(D”)に対して、式(55)を満たすW(1),W(2),…,W(D”-1)を決めることである。
本実施形態では、第4,8実施形態の何れかの手法を用い、ニューラルネットワークの教師あり学習を行う。以下にその概念を説明する。
≪単層ニューラルネットワーク(D”=2)の場合≫
簡単のため、まず単層ニューラルネットワークの場合を説明する。式(52)(53)(54)(55)により、以下が成り立つ。
<< In the case of single-layer neural network (D "= 2) >>
For the sake of simplicity, the case of a single-layer neural network will be described first. From equations (52) (53) (54) (55), the following holds.
ここで、十分大きな整数s”を選択し、Nをs”よりも十分に大きな2のべき乗とする。例えば、s”としてコンピュータにおける2進表現の有効桁数以上の整数を選択し、Nをs”よりも十分に大きな2のべき乗とする。s”よりも十分に大きなNの例は、N>(s”)2mを満たすNである。s”とNの具体例として、例えば、2進表現の有効桁数が64桁であり、m=210である場合、N=2140>(s”)2m>s”=264を満たすs”およびNを選ぶ。このとき、s”a”i,jおよびs”Ψ-1(g”i)を整数と考えてよい(i=1,…,n、j=1,…,m)。すると、式(56)は以下の式(57)のLWE問題と等価である。
≪深層ニューラルネットワーク(D”≧3)の場合≫
次に、深層ニューラルネットワークの場合を説明する。本実施形態における深層ニューラルネットワークの教師有り学習では、重みWι”,κ”
(L”)をL”=1,2,…,D”-1の順に(すなわち、前方から後方に向かって正順に)計算していく。L”=D”-1の場合の処理は単層ニューラルネットワークの場合と同じである。以下では、1<L”<D”-1に対してWι”,κ”
(L”-1)(0≦ι”≦m,1≦κ”≦m)が既に計算されているとして、Wι”,κ”
(L”)(0≦ι”≦m,1≦κ”≦m)の計算方法を示す。
≪In the case of deep neural network (D” ≧ 3) ≫
Next, the case of a deep neural network will be described. In the supervised learning of the deep neural network in this embodiment, the weights W ι ", κ" (L ") are positive in the order of L" = 1, 2, ..., D "-1 (that is, from front to back). The calculation is performed in order. The processing in the case of L "= D" -1 is the same as that in the case of the single-layer neural network. In the following, W ι ", κ for 1 <L"<D"-1. Assuming that " (L" -1) (0≤ι "≤m, 1≤κ"≤m) has already been calculated, W ι ", κ" (L ") (0≤ι" ≤m, 1≤ The calculation method of κ ”≦ m) is shown.
まず、L”=1の場合には
このようにして重みWι”,κ”
(L”)を決めると、第L”+1層のユニットの変数xj
(L”+1)の値a”i,j
(L”+1)は、第L”層のユニットの変数xj
(L”)の値a”i,j
(L”)よりも、クラスラベルg”iに近づくことが期待できる。これは以下の理由による。
式(52)(53)(54)によるa”i,j
(L”+1)の定義より、以下が成り立つ。
From the definition of a " i, j (L" + 1) by the equations (52), (53) and (54), the following holds.
<構成>
図16に例示するように、本形態の学習システム15は、学習装置150と第4,8実施形態で説明した計算装置10,14の何れかとを有する。学習装置150は、初期設定部151、LWE問題処理部152、活性化関数演算部153、および制御部154を有する。学習装置150は、例えば、ネットワークを通じて計算装置10,14の何れかに接続されている。
<Structure>
As illustrated in FIG. 16, the
<処理>
本形態の処理を説明する。
学習装置15には、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}(i=1,2,3,…,n)からなる行列
The processing of this embodiment will be described.
The
初期設定部151は、L”=1とし、行列Atを用いて以下のようにa”i,j
(1)を設定する(ステップS151)。
LWE問題処理部152、活性化関数演算部153、および制御部154は、L”=1,2,…,D”-2の順序で、以下のステップS152aおよびS153aを実行する。
The LWE
≪ステップS152a≫
LWE問題処理部152は、以下の式(62)のLWE問題を計算装置10,14の何れかに送る。このLWE問題が送られた計算装置10,14は前述のように以下の式(62)を解いて、解X=(X0,X1,…,Xm)Tの候補値を生成して出力する。
The LWE
≪ステップS153a≫
次に活性化関数演算部153は、a”j,κ”
(L”+1)(1≦j,κ”≦m)を以下のように設定して出力する(ステップS153a)。
Next, the activation
≪ステップS154≫
制御部154は、L”=D”-2であるか否かを判断する。L”=D”-2でなければ、L”+1を新たなL”としてステップS152aの処理に戻る。L”=D”-2であれば、次のステップS152bに進む。
<< Step S154 >>
The
≪ステップS152b≫
L”=D”-1について以下の処理が実行される。
LWE問題処理部152は、以下の式(63)のLWE問題を計算装置10,14の何れかに送る。このLWE問題が送られた計算装置10,14は前述のように以下の式(63)を解いて、解X=(X0,X1,…,Xm)Tを生成して出力する。
The following processing is executed for L "= D" -1.
The LWE
≪ステップS153b≫
次に活性化関数演算部153は、a”j,1
(D”+1)(1≦j≦m)を以下のように設定して出力する。
Next, the activation
学習装置15は、以上によって得たW(1),…,W(D”-1)を、ニューラルネットワークの重みとして出力する。
The
[その他の変形例等]
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variants]
The present invention is not limited to the above-described embodiment. For example, the various processes described above may not only be executed in chronological order according to the description, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes. In addition, it goes without saying that changes can be made as appropriate without departing from the spirit of the present invention.
古典計算部71,73,87,101,103,111,127,1401、制御部74,86、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、ノード選択部85、計算装置6、および学習装置150は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路である処理回路(processing circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路である処理回路(processing circuitry)を用いて一部またはすべての演算部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。量子計算部72,112は、公知の量子コンピュータ(量子コンピュータによる処理回路(processing circuitry))によって構成される。
以下に、具体的な量子コンピュータの構成例を示す。
1.量子ゲート(量子回路)に基づく方式型:量子ゲート型の量子コンピュータは、量子ゲートと呼ばれる基本演算を量子ビットに順次適用していくことで計算を実現する量子コンピュータである。量子ゲートの適用順序を量子回路として記述できる。量子ゲート型の量子コンピュータでは、量子ビットに量子ゲートに対応する操作を適用することで、量子ビット(キュービット)の集合でエンコードされた量子状態が、順次変化していき、最後に量子状態を観測することで計算結果が得られる。量子ゲート型の量子コンピュータは、最もオーソドックスな方式であり、研究の歴史も長く、ハードウェア開発が進んでいる(参考文献12参照)。IBM, Google, Intel, Rigetti, IonQ など多数の企業がこの方式に基づく量子コンピュータを開発しており、2018 年時点で、規模は数十キュービットに達している。
[参考文献12]Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information, Cam-bridge: Cambridge University Press (2000) ISBN 0-521-63235-8, MR 1796805.
A specific configuration example of a quantum computer is shown below.
1. 1. Quantum gate (quantum circuit) -based method type: A quantum gate type quantum computer is a quantum computer that realizes calculations by sequentially applying basic operations called qubits to qubits. The application order of quantum gates can be described as a quantum circuit. In a quantum gate type quantum computer, by applying an operation corresponding to a quantum gate to a quantum bit, the quantum state encoded by a set of quantum bits (qubits) changes sequentially, and finally the quantum state is changed. The calculation result can be obtained by observing. The quantum gate type quantum computer is the most orthodox method, has a long history of research, and hardware development is progressing (see Reference 12). Many companies such as IBM, Google, Intel, Rigetti, and IonQ are developing quantum computers based on this method, and as of 2018, the scale has reached dozens of cubics.
[Reference 12] Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information, Cam-bridge: Cambridge University Press (2000) ISBN 0-521-63235-8, MR 1796805.
2.断熱量子計算:断熱量子計算に基づく量子コンピュータでは、単純なハミルトニアンから、基底状態が与えられた問題に対する解を記述する(複雑な)ハミルトニアンに物理系を断熱的に変化させることにより、計算を実行する。断熱量子計算は、量子回路モデルとの多項式時間での等価性が証明されている(参考文献13参照)。
[参考文献13]Farhi, E.; Goldstone, J.; Gutmann, S.; Sipser, M. (2000). "Quantum Computation by Adiabatic Evolution".arXiv:quant-ph/0001106v1Freely accessible.
断熱量子計算に類似の方式として量子焼きなまし法(Quantum Annealing)も知られている(参考文献14参照)。2018年時点で、カナダのD-wave社が量子焼きなまし法に基づく2048キュービットの量子コンピュータを発売している。複数の研究機関が導入している。
[参考文献14]Kadowaki, T.; Nishimori, H. (1998-11-01). "Quantum annealing in the transverse Ising model". Physical Review E. 58: 5355. arXiv:cond-mat/9804280Freely accessible. Bibcode:1998PhRvE..58.5355K. doi:10.1103/PhysRevE.58.5355.
2. 2. Adiabatic Quantum Computation: Quantum computers based on adiabatic quantum computation perform calculations by adiabically changing the physical system from a simple Hamiltonian to a (complex) Hamiltonian that describes a solution to a given problem with a base state. do. Adiabatic quantum computation has been proven to be equivalent in polynomial time to quantum circuit models (see reference 13).
[Reference 13] Farhi, E .; Goldstone, J .; Gutmann, S .; Sipser, M. (2000). "Quantum Computation by Adiabatic Evolution". ArXiv: quant-ph / 0001106v1 Freely accessible.
Quantum Annealing is also known as a method similar to adiabatic quantum computation (see Reference 14). As of 2018, D-wave of Canada has released a 2048 cubic computer based on quantum annealing. It has been introduced by multiple research institutes.
[Reference 14] Kadowaki, T .; Nishimori, H. (1998-11-01). "Quantum annealing in the transverse Ising model". Physical Review E. 58: 5355. ArXiv: cond-mat / 9804280 Freely accessible. Bibcode : 1998PhRvE..58.5355K. Doi: 10.1103 / PhysRevE.58.5355.
3.トポロジカル量子計算:トポロジカル量子計算に基づく量子コンピュータは、マヨラナ粒子(Majorana fermion)と呼ばれる理論的には存在が予想されているが実験的には未確認の素粒子を用いた量子コンピュータであり、量子回路に基づく量子コンピュータと等価である(参考文献15参照)。量子回路方式と比べ量子エラーに強く、大規模化に有利とされている。
[参考文献15]Freedman, Michael; Kitaev, Alexei; Larsen, Michael; Wang, Zhenghan (2003-01-01). "Topological quantum computation". Bulletin of the American Mathematical Society. 40 (1): 3138. arXiv:quant-ph/0101025Freely accessible. doi:10.1090/S0273-0979-02-00964-3. ISSN 0273-0979.
3. 3. Topological quantum computation: A quantum computer based on topological quantum computation is a quantum computer using elementary particles called Majorana fermions, which are expected to exist theoretically but have not been experimentally confirmed. Equivalent to a quantum computer based on (see Reference 15). Compared to the quantum circuit method, it is more resistant to quantum errors and is considered to be advantageous for large scale.
[Reference 15] Freedman, Michael; Kitaev, Alexei; Larsen, Michael; Wang, Zhenghan (2003-01-01). "Topological quantum computation". Bulletin of the American Mathematical Society. 40 (1): 3138. ArXiv: quant-ph / 0101025 Freely accessible. Doi: 10.1090 / S0273-0979-02-00964-3. ISSN 0273-0979.
4.観測ベース量子計算(一方向性量子計算):観測ベース量子計算に基づく量子コンピュータでは、エンタングルした多数のキュービットを準備し、それらのキュービットを端から逐次観測し、観測結果に応じて次の観測基底を変えることにより計算を実行する。観測ベース量子計算は、量子回路モデルとの多項式時間での等価性が証明されている(参考文献16参照)。
[参考文献16]R. Raussendorf; D. E. Browne & H. J. Briegel (2003). "Measurement based Quantum Computation on Cluster States". Phys. Rev. A. 68 (2): 022312. arXiv:quant-ph/0301052Freely accessible.
Bibcode:2003PhRvA..68b2312R. doi:10.1103/PhysRevA.68.022312.
4. Observation-based quantum calculation (unidirectional quantum calculation): In a quantum computer based on observation-based quantum calculation, a large number of entangled cue bits are prepared, and these cue bits are observed sequentially from the end, and the following are performed according to the observation results. Perform the calculation by changing the observation base. Observation-based quantum computation has been proven to be equivalent in polynomial time to quantum circuit models (see reference 16).
[Reference 16] R. Raussendorf; DE Browne & HJ Briegel (2003). "Measurement based Quantum Computation on Cluster States". Phys. Rev. A. 68 (2): 022312. ArXiv: quant-ph / 0301052 Freely accessible.
Bibcode: 2003PhRvA..68b2312R. Doi: 10.1103 / PhysRevA.68.022312.
なお、第5-8実施形態で正確な解を得るためにはハードウェアに関する大きなリソースが必要となるが、これらの実施形態を利用すれば高次元の格子問題を解くことができる。一方で、第1-4実施形態は、第5-8実施形態のような大きなリソースを必要としないが、高次元の格子問題を解くことができない。これは、第1-4実施形態の手法では、第5-8実施形態で説明した格子を埋め込む空間の次元のような問題の難易度に応じて調節できるパラメータを持っていないためである。そのため、それぞれの長所と短所を考慮したうえで、適切な手法を利用するのが望ましい。 It should be noted that a large amount of hardware-related resources are required to obtain an accurate solution in the 5th to 8th embodiments, and a high-dimensional grid problem can be solved by using these embodiments. On the other hand, the 1-4th embodiment does not require a large resource like the 5th-8th embodiment, but cannot solve a high-dimensional lattice problem. This is because the method of the first to fourth embodiments does not have a parameter that can be adjusted according to the difficulty of the problem such as the dimension of the space in which the grid is embedded described in the fifth to eighth embodiments. Therefore, it is desirable to consider the advantages and disadvantages of each and use an appropriate method.
上述の構成をコンピュータ(古典コンピュータおよび量子コンピュータ)によって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。 When the above configuration is realized by a computer (classical computer and quantum computer), the processing content of the function that each device should have is described by a program. By executing this program on a computer, the above processing function is realized on the computer. The program describing the processing content can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical discs, optomagnetic recording media, semiconductor memories, and the like.
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The distribution of this program is performed, for example, by selling, transferring, renting, or the like a portable recording medium such as a DVD or a CD-ROM in which the program is recorded. Further, the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。 A computer that executes such a program first temporarily stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads the program stored in its own storage device and executes the process according to the read program. Another form of execution of this program may be for the computer to read the program directly from the portable recording medium and perform processing according to the program, and further, each time the program is transferred from the server computer to this computer. , Sequentially, the processing according to the received program may be executed. Even if the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. good.
コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。 Instead of executing a predetermined program on a computer to realize the processing functions of the present device, at least a part of these processing functions may be realized by hardware.
以下に本発明の産業上の利用可能性を例示する。ただし、これらの利用可能性は単なる例示にすぎず、本発明を限定するものではない。本発明を用いることにより、組み合わせ最適化問題の一種である格子問題の部分問題を効率的に解くことができる。これにより、例えば2つの産業分野に影響を及ぼす。人工知能分野と耐量子暗号分野である。 The industrial applicability of the present invention is illustrated below. However, these availabilitys are merely examples and do not limit the present invention. By using the present invention, it is possible to efficiently solve a partial problem of a lattice problem, which is a kind of combinatorial optimization problem. This affects, for example, two industrial fields. The fields of artificial intelligence and quantum cryptography.
例えば、本発明を適用することで、人工知能分野での組み合わせ最適化問題の部分問題を効率的に(高速に)解くことができる。例えば、本発明をゲート型量子コンピュータ上および古典コンピュータで実装することにより、人工知能を用いて工業・材料・医療・医薬・エネルギー・物理・化学・経済・実社会等の様々な事象を高速にシミュレーションすることが可能となり、各分野の急激な進歩発展に貢献する。 For example, by applying the present invention, it is possible to efficiently (high-speed) solve a partial problem of a combinatorial optimization problem in the field of artificial intelligence. For example, by implementing the present invention on a gated quantum computer and on a classical computer, various phenomena such as industry, materials, medicine, medicine, energy, physics, chemistry, economy, and the real world can be simulated at high speed using artificial intelligence. It will be possible to contribute to the rapid progress and development of each field.
以下、より具体的に説明する。最近ベクトル問題、最短ベクトル問題、LWEは、ともにNP困難と呼ばれる問題であり、他のNP(非決定性多項式時間計算量クラス)の問題をこれらの問題に効率的に帰着できることが知られている。帰着した問題を解けば、もとのNP問題に対する解が得られるため、本発明で提案した量子アルゴリズムは、例えば、すべてのNP問題に応用できる。NP問題には、人工知能を中心に重要な問題が多数含まれており、産業上の応用範囲はきわめて広い。代表的な応用例を列挙する。 Hereinafter, a more specific description will be given. Recently, the vector problem, the shortest vector problem, and LWE are all problems called NP-hard, and it is known that other NP (nondeterministic polynomial time complexity class) problems can be efficiently reduced to these problems. Since the solution to the original NP problem can be obtained by solving the resulting problem, the quantum algorithm proposed in the present invention can be applied to, for example, all NP problems. The NP problem includes many important problems centered on artificial intelligence, and has an extremely wide range of industrial applications. List typical application examples.
1.車の自動運転における最適経路選択:
車の自動運転における最適経路選択は、巡回セールスマン問題と呼ばれるNP完全問題で定式化される。この問題は人工知能分野で古くから研究されてきた問題であり、頂点の数が多くなると、古典コンピュータで最適解を求めることが困難になる。このため、近年、この問題に対する量子コンピュータ(特に量子アニーリング)の応用が盛んに研究されている。
2. 大規模集積回路の最適化:
大規模集積回路を最適化する問題を論理式で表現することにより、制約充足問題(Constraint Satisfaction Problem)となる。この問題は人工知能における代表的な問題で、有用性が高いことから、古典アルゴリズムによる研究の歴史も長い。この問題は、量子コンピュータの応用対象として、特に有力視されているものの一つである。
3.ネットワークインフラの最適化:
電気・ガス・水道網、交通・通信網、石油・ガスのパイプライン等、大規模・複雑化する都市機能の最適化は、計算量爆発のためこれまで困難だった。本発明で提案した量子アルゴリズムの応用により、これらの問題に対する解決が期待される。
1. 1. Optimal route selection for autonomous driving of cars:
The optimum route selection in the automatic driving of a car is formulated by the NP-complete problem called the traveling salesman problem. This problem has been studied for a long time in the field of artificial intelligence, and when the number of vertices increases, it becomes difficult to find the optimum solution with a classical computer. Therefore, in recent years, the application of quantum computers (particularly quantum annealing) to this problem has been actively studied.
2. Optimization of large-scale integrated circuits:
By expressing the problem of optimizing a large-scale integrated circuit with a logical formula, it becomes a Constraint Satisfaction Problem. This problem is a typical problem in artificial intelligence, and because of its high usefulness, it has a long history of research using classical algorithms. This problem is one of the most promising applications of quantum computers.
3. 3. Network infrastructure optimization:
Optimizing large-scale and complicated urban functions such as electricity / gas / water networks, transportation / communication networks, and oil / gas pipelines has been difficult due to the explosion of calculations. The application of the quantum algorithm proposed in the present invention is expected to solve these problems.
例えば、車の自動運転における、最適経路選択の問題は、経路の組み合わせをベクトルで表現することにより格子問題に帰着する。経路の長さが一定以下になると、ベクトルが格子点に一定距離以下に近づくようエンコードすることにより、格子問題を解けば、経路に関する情報が得られるようにする。NP完全問題の格子問題への帰着方法に関するより詳しい説明は、以下の参考文献17を参照のこと。
[参考文献17]Daniele Micciancio and Sha_ Goldwasser, Complexity of Lattice Problems: a cryptographic perspective,
Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
その他のNP完全問題に関しては、以下の文献を参照されたい。
[参考文献18]Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W H Freeman & Co (1979).
専門家の間では、すべてのNP問題の厳密解を、古典コンピュータで効率的に解く方法は存在しないと予想されている(P・NP予想)。産業上の応用目的で古典コンピュータによりNP問題を扱う場合、解の精度を犠牲にして近似的な計算結果を用いるか、厳密解を得るために部分問題に制限するかの選択を迫られる場合が多い。一方、本発明の量子アルゴリズムを用いると、計算結果の精度が著しく向上したり、部分問題への制限の条件を緩和することができる。この結果、今まで提供できなかったサービスが提供できるようになる。
For example, the problem of optimal route selection in the automatic driving of a car results in a grid problem by expressing the combination of routes with a vector. When the length of the path becomes less than a certain distance, the vector is encoded so as to approach the lattice point by a certain distance or less so that the information about the path can be obtained by solving the lattice problem. See reference 17 below for a more detailed explanation of how to reduce the NP-complete problem to the grid problem.
[Reference 17] Daniele Micciancio and Sha_ Goldwasser, Complexity of Lattice Problems: a cryptographic perspective,
Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
For other NP-complete issues, please refer to the following documents.
[Reference 18] Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, WH Freeman & Co (1979).
It is expected that there is no efficient way to solve all NP problems with a classical computer among experts (P. NP conjecture). When dealing with NP-complete problems with classical computers for industrial application purposes, you may be forced to choose between using approximate calculation results at the expense of solution accuracy or limiting to partial problems to obtain an exact solution. many. On the other hand, when the quantum algorithm of the present invention is used, the accuracy of the calculation result can be remarkably improved, and the condition of limitation to the partial problem can be relaxed. As a result, it will be possible to provide services that could not be provided until now.
また、耐量子暗号分野においては、本発明によって従来の格子暗号の安全性が損なわれる可能性がある。脆弱性を補うために鍵長を長くする等の対策が必要になるが、鍵長の変更は暗号効率の悪化を招きかねない。本発明を格子暗号の安全性評価と暗号効率との評価に利用すれば、これらの問題を共に解決する暗号方式の開発に貢献することも期待される。 Further, in the field of quantum cryptography, the present invention may impair the security of conventional lattice-based cryptography. It is necessary to take measures such as lengthening the key length to compensate for the vulnerability, but changing the key length may lead to deterioration of cryptographic efficiency. If the present invention is used for the evaluation of the security of lattice-based cryptography and the evaluation of cryptographic efficiency, it is expected to contribute to the development of a cryptographic method that solves these problems together.
Claims (9)
第1古典計算部と第1量子状態生成部と第2量子状態生成部と第1スワップテスト部と第3量子状態生成部と第4量子状態生成部と第2スワップテスト部と第2古典計算部とを有し、
n,Nが正の整数であり、i=1,…,nであり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、L(B-)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子であり、xiが整数であり、B-がBのNに関する双対基底であり、R⊆Znが整数要素からなるn次空間に属する部分領域であり、t1=(t1,1,…,t1,n)Tがn個の整数要素t1,iからなる目標ベクトルであり、t2=(t2,1,…,t2,n)Tがn個の整数要素t2,iからなる目標ベクトルであり、t1(d)が前記目標ベクトルt1と前記目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))であり、t2(d)が前記目標ベクトルt2と前記目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))であり、
前記第1古典計算部は、前記基底Bおよび前記整数Nを用い、前記双対基底B-を得て出力し、
前記第1量子状態生成部は、
前記第2量子状態生成部は、一部の量子状態|φ>0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記第1スワップテスト部は、量子状態|φ>0のレジスタと各量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t1とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第3量子状態生成部は、
前記第4量子状態生成部は、一部の量子状態|φ>0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記第2スワップテスト部は、量子状態|φ>0のレジスタと量子状態|φ>t2のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t2とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第2古典計算部は、前記スワップテストの結果を用いて、量子状態|φ>0と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率p1と、量子状態|φ>0と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率p2を計算し、p1≧p2の場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p1<p2の場合に||t1(d)||>||t2(d)||であることを表す情報を出力するか、または、p1>p2の場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p1≦p2の場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する、判定装置。 It is a judgment device
The first classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the first swap test unit, the third quantum state generation unit, the fourth quantum state generation unit, the second swap test unit, and the second classical calculation unit. Has a part and
n, N are positive integers, i = 1, ..., n , im is an imaginary unit, η T is a translocation of η, | Λ | is the number of elements of Λ, || η || is the length of η, <τ, χ> is the inner product of τ and χ, η1 ⊆ η2 means that η1 is a subset of η2, and B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, each of the n -dimensional vectors bi consists of n integer elements, and L (B) is a lattice {Σ i = 1, ..., N. x i bi | x i ∈ Z, bi ∈ B } , where L (B − ) is a dual lattice with respect to N defined for the base B and the integer N, and x i is an integer. Yes, B - is a dual basis for N of B, R⊆Zn is a subregion belonging to the nth -order space consisting of integer elements, and t1 = (t 1 , 1, ..., t 1, n ) T is. It is a target vector consisting of n integer elements t 1, i , and t2 = (t 2, 1 , ..., T 2, n ) T is a target vector consisting of n integer elements t 2, i , and t1 (D) is the difference vector between the target vector t1 and the recent vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1,1 (d) , ..., t 1, n (d) ), where t2 (d) is the difference vector t2 (d) = t2- between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2. t2 (c) = (t 2,1 (d) , ..., t 2, n (d) ), and
The first classical calculation unit uses the basis B and the integer N to obtain and output the dual basis B − .
The first quantum state generator is
The second quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
The first swap test unit executes a swap test for each pair of a quantum state | φ> 0 register and each quantum state | φ> t1 register, and the quantum state | φ> 0 and the quantum state. | Φ> Determine whether the result of the swap test for the pair with t1 is accepted or rejected.
The third quantum state generator is
The fourth quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
The second swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and the quantum state | φ> t2 register, and the quantum state | φ> 0 and the quantum state | Determine whether the result of the swap test for the pair with φ> t2 is accepted or rejected.
Using the result of the swap test, the second classical calculation unit has a probability p 1 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t1 is accepted, and the quantum state | Calculate the probability p 2 that the result of the swap test for the pair of φ> 0 and the quantum state | φ> t2 is accepted, and when p 1 ≧ p 2 , || t1 (d) || ≦ || t2 ( d) Output the information indicating that it is ||, and output the information indicating that it is || t1 (d) ||> || t2 (d) || when p 1 <p 2 . Alternatively, when p 1 > p 2 , the information indicating that || t1 (d) || <|| t2 (d) || is output, and when p 1 ≤ p 2 , || t1 (d). ) || ≧ | t2 (d) A determination device that outputs information indicating that it is ||.
初期設定部と基底選択部と代表元選択部と子ノード生成部と古典計算部とノード選択部と制御部と第1量子状態生成部と第2量子状態生成部とスワップテスト部とを有し、
n,N,ν(D),Dが正の整数であり、i=1,…,nであり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、η1⊆η2はη1がη2の部分集合であることを表し、η1⊂η2はη1がη2の真部分集合であることを表し、<τ,χ>がτとχとの内積であり、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、L(B-)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子L(B-)であり、xiが整数であり、B-がBのNに関する双対基底であり、R⊆Znが整数要素からなるn次空間に属する部分領域であり、t=(t1,…,tn)Tがn個の整数要素tiからなる目標ベクトルであり、
前記初期設定部は、組(B,t)を入力とし、基底B0と目標ベクトルt(0)との組からなるノード(B0,t(0))=(B,t)を設定し、
前記基底選択部は、格子L(BD-1)の部分格子L(BD)⊂L(BD-1)の基底BDを選択し、
前記代表元選択部は、(cD,0+L(BD))∪(cD,1+L(BD))∪・・・∪(cD,ν(D)-1+L(BD))=L(BD-1)であり、0以上ν(D)以下の任意のκ1,κ2について、κ1≠κ2である場合に(cD,κ1+L(BD))∩(cD,κ2+L(BD))が空であるとの条件を満たす、代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択し、前記代表元cD,0,cD,1,・・・,cD,ν(D)-1のそれぞれが整数要素からなるn次元ベクトルであり、
前記子ノード生成部は、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(BD,t(D-1)-cD,k’)を選択し、
前記古典計算部は、前記基底BDおよび前記整数Nを用い、前記双対基底BD -を得て出力し、
前記第1量子状態生成部は、
前記第2量子状態生成部は、一部の量子状態|φ>D,0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記スワップテスト部は、k’=0,1,…,ν(D)-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,k’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記ノード選択部は、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,k’を計算し、前記確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(BD,t(D-1)-cD,kmax)を選択し、kmax∈{0,1,…,ν(D)-1}であり、
前記制御部は、t(D-1)-cD,kmaxと格子L(BD)との間の最短の差分ベクトルt(BD,d)を得、前記差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に前記差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(BD)を最近ベクトルt(c)として出力し、前記差分ベクトルt(BD,d)の長さが前記基準値以上の場合に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、前記基底選択部と前記代表元選択部と前記子ノード生成部と前記古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記ノード選択部と前記制御部との各処理を再び実行する制御を行う、計算装置。 It ’s a computing device,
It has an initial setting unit, a basis selection unit, a representative element selection unit, a child node generation unit, a classical calculation unit, a node selection unit, a control unit, a first quantum state generation unit, a second quantum state generation unit, and a swap test unit. ,
n, N, ν (D), D are positive integers, i = 1, ..., n , im is an imaginary unit, η T is a translocation of η, and | Λ | is Λ. It is the number of elements, || η || is the length of η, η1 ⊆ η2 means that η1 is a subset of η2, and η1 ⊂ η2 means that η1 is a true subset of η2. , <τ, χ> is the inner product of τ and χ, and B = {b 1 , ..., b n } is the base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi. Is composed of n integer elements, L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , and L (B − ) is the basis. It is a dual lattice L (B − ) with respect to N defined for B and the integer N, x i is an integer, B − is a dual base for N of B, and R ⊆ Z n is an integer element. It is a subregion belonging to the nth-order space consisting of t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti.
The initial setting unit takes a set (B, t) as an input, and sets a node (B 0 , t (0)) = (B, t) consisting of a set of a basis B 0 and a target vector t (0). ,
The basis selection unit selects the basis BD of the partial lattice L ( BD ) ⊂ L ( BD-1 ) of the lattice L ( BD-1 ).
The representative element selection unit is (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ... ∪ (c D, ν (D) -1 + L ( BD )). ) = L ( BD-1 ), and for any κ1, κ2 of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (c D, Select the representative elements c D, 0 , c D, 1 , ..., C D, ν (D) -1 , which satisfy the condition that κ2 + L ( BD )) is empty, and select the representative element c. Each of D, 0 , c D, 1 , ..., C D, ν (D) -1 is an n-dimensional vector consisting of integer elements.
The child node generation unit, as a child node of the node ( BD-1 , t (D-1)), has a node (BD, t ( D ) for k'= 0, 1, ..., Ν (D) -1. -1) Select -c D, k' ) and select
The classical calculation unit uses the basis BD and the integer N to obtain and output the dual basis BD − .
The first quantum state generator is
The second quantum state generator performs a quantum operation on a part of the quantum states | φ> D, 0 registers, and obtains the quantum states of the registers subjected to the quantum operations.
The swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D, k') register for k'= 0,1, ..., Ν (D) -1. A swap test is executed for each pair, and whether the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t (D, k') is accepted or rejected is determined. Judgment,
Using the result of the swap test, the node selection unit has a probability p that the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, k') is accepted. D, k'is calculated, and the node corresponding to the highest probability p D, kmax among the probabilities p D, 0 , ..., P D, ν (D) -1 ( BD , t (D-1)- c D, kmax ) is selected, and kmax ∈ {0,1, ..., ν (D) -1}.
The control unit obtains the shortest difference vector t (BD, d) between t (D-1) -c D, kmax and the lattice L ( BD ), and obtains the shortest difference vector t (BD, d) of the difference vector t (BD, d) . When the length is smaller than the reference value, the difference vector t (BD, d) is output as the difference vector t (d) , and recently the vector t (BD, c) = tt ( BD, d) ∈ L ( BD ) is recently output as a vector t (c) , and when the length of the difference vector t (BD, d) is equal to or greater than the reference value, D + 1 is set as a new D, and t (D) = t (. As D-1) -c D, kmax , the base selection unit, the representative element selection unit, the child node generation unit, the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, and the above. A computing device that controls the swap test unit, the node selection unit, and the control unit to execute each process again.
基底生成部と設定部と選択部とを有し、
nが正の整数であり、B={b1,…,bn}が一次独立なn個のn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、
前記基底生成部は、すべてのi=1,…,nについて、Bi={b1,…,bi-1,2bi,bi+1,…,bn}に設定し、
前記設定部は、請求項2に記載の前記計算装置の処理をB=Biかつt=biとして実行して得られた前記差分ベクトルt(d)をti (d)に設定し、
前記選択部は、前記設定部で得られたt1 (d),…,tn (d)の中で最短のものを前記最短ベクトルとして出力する、計算装置。 It is a calculation device that takes the basis B as an input and outputs the shortest vector to the grid point closest to the origin in the grid L (B).
It has a basis generation part, a setting part, and a selection part.
n is a positive integer, B = {b 1 , ..., b n } is a basis consisting of n linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is an integer of n. It consists of elements, and L (B) is a vector {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } .
The basis generation unit sets Bi = {b 1 , ..., bi -1 , 2bi , bi + 1 , ..., b n } for all i = 1, ..., N.
The setting unit sets the difference vector t (d) obtained by executing the processing of the calculation device according to claim 2 with B = Bi and t = bi in ti (d ) .
The selection unit is a calculation device that outputs the shortest of t 1 (d) , ..., T n (d) obtained by the setting unit as the shortest vector.
第1古典計算部と第1量子状態生成部と第2量子状態生成部とスワップテスト部と選択部と第2古典計算部とを有し、
n,m,Nが正の整数であり、i=1,…,nであり、j=1,…,mであり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、L(B-)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子L(B-)であり、xiが整数であり、B-がBのNに関する双対基底であり、R⊆Znが整数要素からなるn次空間に属する部分領域であり、ajがn個の整数要素a1j,…,anjからなるn次元ベクトルaj=(a1j,…,anj)Tであり、gがn個の要素g1,…,gnからなるn次元ベクトルg=(g1,…,gn)Tであり、dがn個の要素d1,…,dnからなるn次元ベクトルd=(d1,…,dn)Tであり、εuがu番目の要素が1で他の要素が0のn次元単位ベクトルεu=(0,…,1,0,…,0)Tであり、
X1,…,Xmのそれぞれが深さD=1,…,mの何れかに対応する処理で得られ、深さDに対応する処理で得られるXjがXj(D)∈{X1,…,Xm}であり、深さDに対応する処理で得られるXj(D)の値がαj(D)であり、深さDに対応する処理で得られるXjに対応する前記n次元ベクトルajがaj(D)∈{a1,…,am}であり、AD-1=(aj(D) aj(D+1)… aj(m))であり、X’D-1=(Xj(D),Xj(D+1),…,Xj(m))Tであり、
前記第1古典計算部は、深さDに対応する処理において、{aj(D+1) T aj(D+2) T… aj(m) T Nε1 T…Nεn T}で定義される格子のLLL既約基底BDのNに関する双対基底BD -を得て出力し、
前記第1量子状態生成部は、前記深さDに対応する処理において、
前記第2量子状態生成部は、前記深さDに対応する処理において、一部の量子状態|φ>D,0のレジスタに量子操作を行い、j’=0,1,2…,N-1について、前記量子操作が施されたレジスタの量子状態を
前記スワップテスト部は、前記深さDに対応する処理において、j’=0,1,2…,N-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,j’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>D,0と前記量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記選択部は、前記深さDに対応する処理において、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,j’を計算し、前記確率pD,0,pD,1,…,pD,N-1のうち最も高い確率pD,jmaxに対応するjmax∈{0,1,2…,N-1}をαj(D)として出力し、さらにgD’=gD-1’-αj(D)・aj(D)を出力し、
前記第2古典計算部は、前記選択部がすべてのD=1,…,mについてαj(D)を出力している場合には、αj(1),…,αj(m)を整列して得られる(X1,…,Xm)Tを出力し、前記選択部が何れかのD=1,…,mについてαj(D)を出力していない場合には、前記第1古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記選択部と前記第2古典計算部の各処理を再び実行させる制御を行う、計算装置。 For inputs of n-dimensional vectors a j , g and integer N
It has a first classical calculation unit, a first quantum state generation unit, a second quantum state generation unit, a swap test unit, a selection unit, and a second classical calculation unit.
n, m, N are positive integers, i = 1, ..., n, j = 1, ..., m , im is an imaginary unit, η T is a translocation of η, | Λ | is the number of elements of Λ, <τ, χ> is the inner product of τ and χ, η1 ⊆ η2 indicates that η1 is a subset of η2, and B = {b 1 , ..., b. n } is a base consisting of linearly independent n -dimensional vectors bi, each of the n -dimensional vectors bi consists of n integer elements, and L (B) is a lattice {Σ i = 1, ..., n x. i bi | x i ∈ Z, bi ∈ B } , where L (B − ) is a dual lattice L (B − ) with respect to N defined for the base B and the integer N, and x. i is an integer, B - is a dual base for N of B, R⊆Z n is a subregion belonging to the nth-order space consisting of integer elements, and a j is n integer elements a 1j ,. An n-dimensional vector consisting of a nj a j = (a 1j , ..., a nj ) T , and an n-dimensional vector g = (g 1 , ..., G) consisting of n elements g 1 , ..., G n. n ) T , where d is an n-dimensional vector d = (d 1 , ..., d n ) consisting of n elements d 1 , ..., d n , where ε u is the u-th element and the others. The element of is an n-dimensional unit vector ε u = (0, ..., 1,0, ..., 0) T of 0,
Each of X 1 , ..., X m is obtained by the process corresponding to any of the depths D = 1, ..., M, and X j obtained by the process corresponding to the depth D is X j (D) ∈ {. X 1 , ..., X m }, and the value of X j (D) obtained by the process corresponding to the depth D is α j (D) , and the value of X j obtained by the process corresponding to the depth D is The corresponding n-dimensional vector a j is a j (D) ∈ {a 1 , ..., a m }, and A D-1 = (a j (D) a j (D + 1) ... a j (m) ). And X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T ,
The first classical calculation unit is a grid defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T Nε 1 T ... Nε n T } in the process corresponding to the depth D. The dual basis BD -for N of the LLL irreducible basis BD - is obtained and output.
The first quantum state generator is in the process corresponding to the depth D.
In the process corresponding to the depth D, the second quantum state generator performs a quantum operation on a register of a part of the quantum states | φ> D, 0 , and j'= 0, 1, 2, ..., N− For 1, the quantum state of the register subjected to the quantum operation
In the process corresponding to the depth D, the swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D ) for j'= 0, 1, 2, ..., N-1. , J') The swap test is executed for each pair with the register, and the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . Determines whether it will be accepted or rejected,
In the process corresponding to the depth D, the selection unit uses the result of the swap test to swap the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . The probability p D, j'that the test result is accepted is calculated, and jmax corresponding to the highest probability p D, jmax among the probabilities p D, 0 , p D, 1 , ..., P D, N-1 . ∈ {0, 1, 2, ..., N-1} is output as α j (D) , and g D '= g D- 1'-α j (D) · a j (D) is output.
The second classical calculation unit outputs α j (1) , ..., α j (m) when the selection unit outputs α j (D) for all D = 1, ..., M. If T obtained in alignment (X 1 , ..., X m ) is output and the selection unit does not output α j (D) for any of D = 1, ..., M, the first 1 A calculation device that controls to re-execute each process of the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the swap test unit, the selection unit, and the second classical calculation unit.
第1古典計算部と第1量子状態生成部と第2量子状態生成部と第1スワップテスト部と第3量子状態生成部と第4量子状態生成部と第2スワップテスト部と第2古典計算部とを有し、
n,n’が正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、xiが整数であり、βが前記基底Bの前記n次元ベクトルb1,…,bnを要素とするn行n列の基底行列であり、αがn行の整数要素からなる行列であり、t1=(t1,1,…,t1,n)Tがn個の整数要素t1,iからなる目標ベクトルであり、t2=(t2,1,…,t2,n)Tがn個の整数要素t2,iからなる目標ベクトルであり、t1(d)が前記目標ベクトルt1と前記目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))であり、t2(d)が前記目標ベクトルt2と前記目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))であり、
前記第1古典計算部は、前記行列αと前記基底行列βとを行方向に並べた行列β’=(α β)の転置行列β’Tのエルミート標準形が対角成分1の行列となる前記行列αを選択し、エルミート標準形の行列H’に対してβ-’β’T=H’を満たすユニモジュラ行列β-’を得、前記行列β’=(b1 ’,…,bn ’)Tの行ベクトルb1 ’,…,bn ’からなる基底をB’とし、前記ユニモジュラ行列β-’=(b1 -’,…,bn’ -’)Tの行ベクトルb1 -’,…,bn’ -’からなる基底をB-’とし、前記基底B’が張る空間span(B’)に属するn’個の整数要素t’1,i’からなる目標ベクトルt1’=(t’1,1,…,t’1,n’)T∈span(B’)およびn’個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,…,t’2,n’)T∈span(B’)を得、
Proj(t1’)=(0,t1)、Proj(t2’)=(0,t2)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B-’)が格子L(B-’)={Σi’=1,…,n’ xi’b-’i’|xi’∈Z,b-’i’∈B-’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、
前記第2量子状態生成部は、一部の量子状態|φ>0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記第1スワップテスト部は、量子状態|φ>0のレジスタと量子状態|φ>t1’のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t1’とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定する、
前記第3量子状態生成部は、
前記第4量子状態生成部は、一部の量子状態|φ>0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記第2スワップテスト部は、量子状態|φ>0のレジスタと量子状態|φ>t2’ のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t2’とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第2古典計算部は、前記スワップテストの結果を用いて、量子状態|φ>0と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率p1と、量子状態|φ>0と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率p2を計算し、p1≧p2の場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p1<p2の場合に||t1(d)||>||t2(d)||であることを表す情報を出力するか、または、p1>p2の場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p1≦p2の場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する、判定装置。 It is a judgment device
The first classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the first swap test unit, the third quantum state generation unit, the fourth quantum state generation unit, the second swap test unit, and the second classical calculation unit. Has a part and
n, n'is a positive integer, n'> n, i = 1, ..., n, i'= 1, ..., n ', im is an imaginary unit, and η T. Is the translocation of η, | Λ | is the number of elements of Λ, || η || is the length of η, <τ, χ> is the inner product of τ and χ, and η1⊆η2 is. Representing that η 1 is a subset of η 2, B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi has n elements. It consists of integer elements, where L (B ) is the matrix {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , x i is an integer, and β is the base B. The n-dimensional vector b 1 , ..., b n of the above n-dimensional vector b 1, ..., b n is an n-row n-column base matrix, α is a matrix consisting of n-row integer elements, and t1 = (t 1 , 1, ..., t 1, n ) T is a target vector consisting of n integer elements t 1, i , and t 2 = (t 2 , 1, ..., T 2, n ) T is composed of n integer elements t 2, i . It is a target vector, and t1 (d) is a difference vector between the target vector t1 and the latest vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1 ). , 1 (d) , ..., t 1, n (d) ), where t2 (d) is the difference vector t2 between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2. (D) = t2-t2 (c) = (t 2,1 (d) , ..., t 2, n (d) ).
In the first classical calculation unit, the Elmeet standard form of the transposed matrix β'T of the matrix β'= (α β) in which the matrix α and the base matrix β are arranged in the row direction is a matrix of diagonal components 1. The matrix α is selected to obtain a unimodular matrix β −'that satisfies β −'β ' T = H'with respect to the Elmeat standard matrix H', and the matrix β'= (b 1 ' , ..., B). n ' ) Let B'be the base consisting of the row vector b 1 ' , ..., b n'of T , and the row vector of the monomodular matrix β - '= (b 1- ' , ..., b n'- ') T. The base consisting of b 1- ', ..., b n' - ' is B-', and the target consisting of n'integer elements t'1, i'belonging to the space span (B') stretched by the base B'. Vector t1 ' = ( t'1,1 , ..., t'1 , n' ) T ∈ span (B ' ) and target vector t2'= (t' consisting of n'item elements t'2 , i ' 2, 1, ..., t'2 , n' ) T ∈ span (B') is obtained.
An n-dimensional vector space in which Proj (t1') = (0, t1), Proj (t2') = (0, t2), and the first n'-n elements of Proj (μ) are 0. L (B-') represents the projection to the lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | x i'∈ Z , b-'i'∈ B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is
The second quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
The first swap test unit executes a swap test for each pair of a quantum state | φ> 0 register and a quantum state | φ>t1'register , and the quantum state | φ> 0 and the quantum state. | φ> Determine whether the result of the swap test for the pair with t1'is accepted or rejected.
The third quantum state generator is
The fourth quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
The second swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and the quantum state | φ>t2'register , and the quantum state | φ> 0 and the quantum state. Determine whether the result of the swap test for the pair with | φ>t2'is accepted or rejected.
The second classical calculation unit uses the result of the swap test to obtain the probability p1 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t1 is accepted, and the quantum state | Calculate the probability p 2 that the result of the swap test for the pair of φ> 0 and the quantum state | φ> t2 is accepted, and when p 1 ≧ p 2 , || t1 (d) || ≦ || t2 ( d) Output the information indicating that it is ||, and output the information indicating that it is || t1 (d) ||> || t2 (d) || when p 1 <p 2 . Alternatively, when p 1 > p 2 , the information indicating that || t1 (d) || <|| t2 (d) || is output, and when p 1 ≤ p 2 , || t1 (d). ) || ≧ | t2 (d) A determination device that outputs information indicating that it is ||.
初期設定部と基底選択部と代表元選択部と子ノード生成部と古典計算部とノード選択部と制御部と第1量子状態生成部と第2量子状態生成部とスワップテスト部とを有し、
n,n’,N,ν(D),Dが正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、η1⊆η2はη1がη2の部分集合であることを表し、<τ,χ>がτとχとの内積であり、η1⊂η2はη1がη2の真部分集合であることを表し、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、xiが整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、t=(t1,…,tn)Tがn個の整数要素tiからなる目標ベクトルであり、
前記初期設定部は、組(B,t)を入力とし、基底B0と目標ベクトルt(0)との組からなるノード(B0,t(0))=(B,t)を設定し、
前記基底選択部は、格子L(BD-1)の部分格子L(BD)⊂L(BD-1)の基底BDを選択し、βDが基底BD={bD,1,…,bD,n}のn次元ベクトルbD,1,…,bD,nを行ベクトルとするn行n列の基底行列であり、αDがn行の整数要素からなる行列であり、
前記代表元選択部は、(cD,0+L(BD))∪(cD,1+L(BD))∪・・・∪(cD,ν(D)-1+L(BD))=L(BD-1)であり、0以上ν(D)以下の任意のκ1,κ2について、κ1≠κ2である場合に(cD,κ1+L(BD))∩(cD,κ2+L(BD))が空であるとの条件を満たす、代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択し、前記代表元cD,0,cD,1,・・・,cD,ν(D)-1のそれぞれが整数要素からなるn次元ベクトルであり、
前記子ノード生成部は、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(BD,t(D-1)-cD,k’)を選択し、
前記古典計算部は、前記行列αDと前記基底行列βDとを行方向に並べた行列βD’=(αD βD)の転置行列βD’Tのエルミート標準形が対角成分1の行列となる前記行列αDを選択し、エルミート標準形の行列H’に対してβD -’βD’T=H’を満たすユニモジュラ行列βD -’を得、前記行列βD’=(bD,1’,…,bD,n’’)Tの行ベクトルbD,1’,…,bD,n’’からなる基底をBD’とし、前記ユニモジュラ行列βD -’=(bD,1 -’,…,bD,n’ -’)Tの行ベクトルbD,1 -’,…,bD,n’ -’からなる基底をBD -’とし、前記基底BD’が張る空間span(BD’)に属するn’個の整数要素t’D,i’からなる目標ベクトルt(D)’=(t’D,1,…,t’D,n’)T∈span(BD’)を得、
Proj(t’D-1,k’)=(0,t(D-1)-cD,k’)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B-’)が格子L(B-’)={Σi’=1,…,n’ xi’b-’i’|xi’∈Z,b-’i’∈B-’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、
前記第2量子状態生成部は、一部の量子状態|φ>D,0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
前記スワップテスト部は、k’=0,1,…,ν(D)-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,k’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>0と前記量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記ノード選択部は、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,k’を計算し、前記確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(BD,t(D-1)-cD,kmax)を選択し、kmax∈{0,1,…,ν(D)-1}であり、
前記制御部は、t(D-1)-cD,kmaxと格子L(BD)との間の最短の差分ベクトルt(BD,d)を得、前記差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に前記差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(BD)を最近ベクトルt(c)として出力し、前記差分ベクトルt(BD,d)の長さが前記基準値以上の場合に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、前記基底選択部と前記代表元選択部と前記子ノード生成部と前記古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記ノード選択部と前記制御部との各処理を再び実行する制御を行う、計算装置。 It ’s a computing device,
It has an initial setting unit, a basis selection unit, a representative element selection unit, a child node generation unit, a classical calculation unit, a node selection unit, a control unit, a first quantum state generation unit, a second quantum state generation unit, and a swap test unit. ,
n, n', N, ν (D), D are positive integers, n'> n, i = 1, ..., n, i'= 1, ..., n', i m is an imaginary unit, η T is an inversion of η, | Λ | is the number of elements of Λ, || η || is the length of η, and η1 ⊆ η2 is a subset of η1 of η2. , <τ, χ> is the inner product of τ and χ, η1 ⊂ η2 means that η1 is a true subset of η2, and B = {b 1 , ..., b n }. It is a base consisting of linearly independent n -dimensional vectors bi, each of the n -dimensional vectors bi is composed of n integer elements, and L (B) is a lattice {Σ i = 1, ..., n x i bi i . | X i ∈ Z, bi ∈ B }, x i is an integer, R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements, and t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti.
The initial setting unit takes a set (B, t) as an input, and sets a node (B 0 , t (0)) = (B, t) consisting of a set of a basis B 0 and a target vector t (0). ,
The basis selection section selects the basis BD of the partial matrix L ( BD ) ⊂ L ( BD-1 ) of the lattice L ( BD-1 ), and β D is the basis BD = {b D , 1 , ..., b D, n } n-dimensional vector b D, 1 , ..., b D, n is a basis matrix of n rows and n columns with n as row vectors, and α D is a matrix consisting of n rows of integer elements. can be,
The representative element selection unit is (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ... ∪ (c D, ν (D) -1 + L ( BD )). ) = L ( BD-1 ), and for any κ1, κ2 of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (c D, Select the representative elements c D, 0 , c D, 1 , ..., C D, ν (D) -1 , which satisfy the condition that κ2 + L ( BD )) is empty, and select the representative element c. Each of D, 0 , c D, 1 , ..., C D, ν (D) -1 is an n-dimensional vector consisting of integer elements.
The child node generation unit, as a child node of the node ( BD-1 , t (D-1)), has a node (BD, t ( D ) for k'= 0, 1, ..., Ν (D) -1. -1) Select -c D, k' ) and select
In the classical calculation unit, the Elmeet standard form of the transposed matrix β D' T of the matrix β D '= (α D β D ) in which the matrix α D and the base matrix β D are arranged in the row direction is the diagonal component 1. Select the matrix α D , which is the matrix of = (B D, 1 ', ..., b D, n' ') The base consisting of the row vectors b D, 1 ', ..., b D, n '' of T is BD ', and the monomodular matrix β D - '= (B D , 1- ', ..., b D, n'- ' ) Let the base consisting of the row vectors b D, 1- ' , ..., b D, n'-' of T be BD-'. , Target vector t ( D )'= (t'D , 1 , ..., T'consisting of n'integer elements t'D, i'belonging to the space span ( BD ') stretched by the base BD '. D, n' ) T ∈ span ( BD '),
Proj (t'D -1, k' ) = (0, t (D-1) -c D, k' ), and the first n'-n elements of Proj (μ) are 0. Representing a projection onto a certain n - dimensional vector space, L (B-') is a lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | x i'∈ Z, b - 'i ' ∈ B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is
The second quantum state generator performs a quantum operation on a part of the quantum states | φ> D, 0 registers, and obtains the quantum states of the registers subjected to the quantum operations.
The swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D, k') register for k'= 0,1, ..., Ν (D) -1. A swap test is executed for each pair, and whether the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t (D, k') is accepted or rejected is determined. Judgment,
Using the result of the swap test, the node selection unit has a probability p that the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, k') is accepted. D, k'is calculated, and the node corresponding to the highest probability p D, kmax among the probabilities p D, 0 , ..., P D, ν (D) -1 ( BD , t (D-1)- c D, kmax ) is selected, and kmax ∈ {0,1, ..., ν (D) -1}.
The control unit obtains the shortest difference vector t (BD, d) between t (D-1) -c D, kmax and the lattice L ( BD ), and obtains the shortest difference vector t (BD, d) of the difference vector t (BD, d) . When the length is smaller than the reference value, the difference vector t (BD, d) is output as the difference vector t (d) , and recently the vector t (BD, c) = tt ( BD, d) ∈ L ( BD ) is recently output as a vector t (c) , and when the length of the difference vector t (BD, d) is equal to or greater than the reference value, D + 1 is set as a new D, and t (D) = t (. As D-1) -c D, kmax , the base selection unit, the representative element selection unit, the child node generation unit, the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, and the above. A computing device that controls the swap test unit, the node selection unit, and the control unit to execute each process again.
基底生成部と設定部と選択部とを有し、
nが正の整数であり、B={b1,…,bn}が一次独立なn個のn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、
前記基底生成部は、すべてのi=1,…,nについて、Bi={b1,…,bi-1,2bi,bi+1,…,bn}に設定し、
前記設定部は、請求項6に記載の前記計算装置の処理をB=Biかつt=biとして実行して得られた前記差分ベクトルt(d)をti (d)に設定し、
前記選択部は、前記設定部で得られたt1 (d),…,tn (d)の中で最短のものを前記最短ベクトルとして出力する、計算装置。 It is a calculation device that takes the basis B as an input and outputs the shortest vector to the grid point closest to the origin in the grid L (B).
It has a basis generation part, a setting part, and a selection part.
n is a positive integer, B = {b 1 , ..., b n } is a basis consisting of n linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is an integer of n. It consists of elements, and L (B) is a vector {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } .
The basis generation unit sets Bi = {b 1 , ..., bi -1 , 2bi , bi + 1 , ..., b n } for all i = 1, ..., N.
The setting unit sets the difference vector t (d) obtained by executing the processing of the calculation device according to claim 6 with B = Bi and t = bi in ti (d ) .
The selection unit is a calculation device that outputs the shortest of t 1 (d) , ..., T n (d) obtained by the setting unit as the shortest vector.
第1古典計算部と第1量子状態生成部と第2量子状態生成部とスワップテスト部と選択部と第2古典計算部とを有し、
n,n’,m,Nが正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、j=1,…,mであり、imが虚数単位であり、ηTがηの転置であり、|Λ|がΛの要素数であり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b1,…,bn}が一次独立なn次元ベクトルbiからなる基底であり、前記n次元ベクトルbiのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n xibi|xi∈Z,bi∈B}であり、xiが整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、ajがn個の整数要素a1j,…,anjからなるn次元ベクトルaj=(a1j,…,anj)Tであり、gがn個の要素g1,…,gnからなるn次元ベクトルg=(g1,…,gn)Tであり、dがn個の要素d1,…,dnからなるn次元ベクトルd=(d1,…,dn)Tであり、
X1,…,XmのそれぞれがD=1,…,mの何れかに対応する処理で得られ、深さDに対応する処理で得られるXjがXj(D)∈{X1,…,Xm}であり、深さDに対応する処理で得られるXj(D)の値がαj(D)であり、深さDに対応する処理で得られるXjに対応する前記n次元ベクトルajがaj(D)∈{a1,…,am}であり、AD-1=(aj(D) aj(D+1)… aj(m))であり、X’D-1=(Xj(D),Xj(D+1),…,Xj(m))Tであり、
前記第1古典計算部は、深さDに対応する処理において、{aj(D+1) T aj(D+2) T… aj(m) T Nε1 T…Nεn T}で定義される格子のLLL既約基底BDの基底行列βDを得、n列の整数要素からなる行列αDと前記基底行列βDとを行方向に並べた行列βD’=(αD βD)の転置行列βD’Tのエルミート標準形が対角成分1の行列となる前記行列αDを選択し、エルミート標準形の行列H’に対してβD -’βD’T=H’を満たすユニモジュラ行列βD -’を得、前記行列βD’=(bD,1’,…,bD,n’’)Tの行ベクトルbD,1’,…,bD,n’’からなる基底をBD ’とし、前記ユニモジュラ行列βD -’=(bD,1 -’,…,bD,n’ -’)Tの行ベクトルbD,1 -’,…,bD,n’ -’からなる基底をBD -’とし、前記基底BD’が張る空間span(BD ’)に属するn’個の整数要素t’ D,i’からなる目標ベクトルt(D)’=(t’D,1,…,t’D,n’)T∈span(BD’)を得、
Proj(t’D-1,j’)=(0,gD-1’T-j’・aj(D) T)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn’次元ベクトル空間への射影を表し、L(B-’)が格子L(B-’)={Σi’=1,…,n’ xi’b-’i’|xi’∈Z,b-’i’∈B-’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、前記深さDに対応する処理において、
前記第2量子状態生成部は、前記深さDに対応する処理において、一部の量子状態|φ>D,0のレジスタに量子操作を行い、j’=0,1,2,…,N-1について、前記量子操作が施されたレジスタの量子状態を
前記スワップテスト部は、前記深さDに対応する処理において、j’=0,1,2,…,N-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,j’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>D,0と前記量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記選択部は、前記深さDに対応する処理において、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,j’を計算し、前記確率pD,0,pD,1,…,pD,N-1のうち最も高い確率pD,jmaxに対応するjmax∈{0,1,2,…,N-1}をαj(D)として出力し、さらにgD’=gD-1’-αj(D)・aj(D)を出力し、
前記第2古典計算部は、前記選択部がすべてのD=1,…,mについてαj(D)を出力している場合には、αj(1),…,αj(m)を整列して得られる(X1,…,Xm)Tを出力し、前記選択部が何れかのD=1,…,mについてαj(D)を出力していない場合には、前記第1古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記選択部と前記第2古典計算部の各処理を再び実行させる制御を行う、計算装置。 For inputs of n-dimensional vectors a j , g and integer N
It has a first classical calculation unit, a first quantum state generation unit, a second quantum state generation unit, a swap test unit, a selection unit, and a second classical calculation unit.
n, n', m, N are positive integers, n'> n, i = 1, ..., n, i'= 1, ..., n', j = 1, ..., m , im is an imaginary unit, η T is the translocation of η, | Λ | is the number of elements of Λ, <τ, χ> is the inner product of τ and χ, and η1 ⊆ η2 Indicates that η 1 is a subset of η 2, and B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is n. L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , x i is an integer, and R ⊆ Z n ' Is a subregion belonging to the n'th order space consisting of integer elements, and a j is an n-dimensional vector consisting of n integer elements a 1j , ..., a nj = (a 1j , ..., a nj ) T And g is an n-dimensional vector g = (g 1 , ..., gn ) T consisting of n elements g 1 , ..., G n, and d is from n elements d 1 , ..., d n . N-dimensional vector d = (d 1 , ..., d n ) T
Each of X 1 , ..., X m is obtained by the process corresponding to any of D = 1, ..., M, and X j obtained by the process corresponding to the depth D is X j (D) ∈ {X 1 , ..., X m }, and the value of X j (D) obtained by the process corresponding to the depth D is α j (D) , which corresponds to X j obtained by the process corresponding to the depth D. The n-dimensional vector a j is a j (D) ∈ {a 1 , ..., a m }, and A D-1 = (a j (D) a j (D + 1) ... a j (m) ). , X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T ,
The first classical calculation unit is a matrix defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T Nε 1 T ... Nε n T } in the process corresponding to the depth D. The base matrix β D of the LLL irreducible base BD is obtained, and the matrix β D '= (α D β D ) in which the matrix α D consisting of n columns of integer elements and the base matrix β D are arranged in the row direction. Select the matrix α D in which the Elmeet standard form of the transposed matrix β D' T is a matrix with diagonal component 1, and satisfy β D −'β D' T = H'with respect to the Elmeat standard form matrix H'. A unimodular matrix β D - 'is obtained, and the row vector b D, 1 ', ..., b D, n' ' of the matrix β D '= (b D, 1 ', ..., b D, n' ') T is obtained. Let BD'be the base consisting of, and the row vector b D , 1- ' , ..., b of the unimodular matrix β D - '= (b D, 1- ' , ..., b D, n'- ' ) T. The base consisting of D , n' - ' is BD- ' , and the target vector t (d) consisting of n'integer elements t'D, i'belonging to the space span ( BD ' ) stretched by the base BD '. D)'= (t'D , 1 , ..., t'D , n' ) T ∈ span ( BD ') is obtained.
Proj (t'D -1, j' ) = (0, g D- 1'T -j' · a j (D) T ), and Proj (μ) is the first n'-n of μ. Represents a projection onto an n'dimensional vector space whose elements are 0 , where L (B-') is a lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | X i'∈ Z, b - 'i' ∈ B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is in the process corresponding to the depth D.
In the process corresponding to the depth D, the second quantum state generator performs a quantum operation on a register of a part of the quantum states | φ> D, 0 , and j'= 0, 1, 2, ..., N. For -1, the quantum state of the register subjected to the quantum operation
In the process corresponding to the depth D, the swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t ( for j'= 0, 1, 2, ..., N-1. A swap test is executed for each pair with the register of D, j') , and a swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') is performed. Determine if the result is acceptable or rejected,
In the process corresponding to the depth D, the selection unit uses the result of the swap test to swap the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . The probability p D, j'that the test result is accepted is calculated, and jmax corresponding to the highest probability p D, jmax among the probabilities p D, 0 , p D, 1 , ..., P D, N-1 . ∈ {0, 1, 2, ..., N-1} is output as α j (D) , and g D '= g D- 1'-α j (D) · a j (D) is output.
The second classical calculation unit outputs α j (1) , ..., α j (m) when the selection unit outputs α j (D) for all D = 1, ..., M. If T obtained in alignment (X 1 , ..., X m ) is output and the selection unit does not output α j (D) for any of D = 1, ..., M, the first 1 A calculation device that controls to re-execute each process of the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the swap test unit, the selection unit, and the second classical calculation unit.
前記学習装置は、初期設定部とLWE問題処理部と活性化関数演算部とを有し、
n,m,s”,diが正の整数であり、i=1,2,3,…,nであり、D”が2以上の整数であり、a”i,1,…,a”i,mおよびg”iが実数であり、Ψが活性化関数であり、
前記学習装置には、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}からなる行列
前記初期設定部は、行列Atを用いて
L”=1,2,…,D”-2の順序で、
(a)前記LWE問題処理部は、第1LWE問題
(b)前記計算装置は前記第1LWE問題の解X=(X0,X1,…,Xm)Tの候補値を生成して出力し、
(c)前記LWE問題処理部は、長さ||d||が短い順で1番目からm番目までである差分ベクトルd=(d1,…,dn)Tに対応するm組の前記第1LWE問題の解Xの候補値を選択し、κ”(1≦κ”≦m)番目の解Xの候補値を(W0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”))Tとし、
(d)前記活性化関数演算部は、
L”=1,2,…,D”-2の順序で上記(a),(b),(c),(d)の処理が行われた後、
前記LWE問題処理部は、第2LWE問題
前記計算装置は前記第2LWE問題の解X=(X0,X1,…,Xm)Tを生成して出力し、
前記LWE問題処理部は、前記第2LWE問題の解X=(X0,X1,…,Xm)Tを(W0,1 (D”-1),W1,1 (D”-1),…,Wm,1 (D”-1))Tとし、
W(1),…,W(D”-1)が前記ニューラルネットワークの重みとして出力される、学習システム。 A learning system having a learning device for supervised learning of a feedforward neural network and a computing device according to claim 4 or 8.
The learning device has an initial setting unit, an LWE problem processing unit, and an activation function calculation unit.
n, m, s ", di are positive integers, i = 1,2,3, ..., n, D" is an integer of 2 or more, and a " i, 1 , ..., a" i, m and g ” i are real numbers, Ψ is the activation function,
The learning device is a matrix consisting of n sets of m-dimensional data sets {a " i, 1 , ..., a" i, m } which are training data.
The initial setting unit uses a matrix At .
In the order of L "= 1, 2, ..., D" -2,
(A) The LWE problem processing unit is the first LWE problem.
(B) The calculation device generates and outputs a candidate value of the solution X = (X 0 , X 1 , ..., X m ) T of the first LWE problem, and outputs the result.
(C) The LWE problem processing unit is the m set corresponding to the difference vector d = (d 1 , ..., d n ) T whose length || d || is from the first to the mth in ascending order. Select the candidate value of the solution X of the first LWE problem, and set the candidate value of the κ "(1 ≤ κ" ≤ m) th solution X to (W 0, κ " (L") , W 1, κ " (L". ) , ..., W m, κ " (L") ) T
(D) The activation function calculation unit is
After the processing of (a), (b), (c), (d) is performed in the order of L "= 1, 2, ..., D" -2,
The LWE problem processing unit is the second LWE problem.
The calculation device generates and outputs a solution X = (X 0 , X 1 , ..., X m ) T of the second LWE problem, and outputs the solution.
The LWE problem processing unit sets the solution X = (X 0 , X 1 , ..., X m ) T of the second LWE problem to (W 0 , 1 (D "-1) , W 1 , 1 ( D" -1). ) , ..., W m, 1 (D "-1) ) T
A learning system in which W (1) , ..., W (D "-1) are output as weights of the neural network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019047931A JP7101355B2 (en) | 2019-03-15 | 2019-03-15 | Judgment device, calculation device, and learning system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019047931A JP7101355B2 (en) | 2019-03-15 | 2019-03-15 | Judgment device, calculation device, and learning system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020149523A JP2020149523A (en) | 2020-09-17 |
JP7101355B2 true JP7101355B2 (en) | 2022-07-15 |
Family
ID=72430635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019047931A Active JP7101355B2 (en) | 2019-03-15 | 2019-03-15 | Judgment device, calculation device, and learning system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7101355B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7563228B2 (en) | 2021-02-24 | 2024-10-08 | 富士通株式会社 | Information processing program, information processing method, and information processing device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056631A1 (en) | 2004-09-13 | 2006-03-16 | Beausoleil Raymond G | Tests of quantum information |
JP2008048102A (en) | 2006-08-14 | 2008-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Quantum electronic signature system disabling reauthentication, its processing method, its signer device, and its verfier device |
JP2016057900A (en) | 2014-09-10 | 2016-04-21 | 日本電信電話株式会社 | Quantum calculation method |
JP2017059071A (en) | 2015-09-18 | 2017-03-23 | ヤフー株式会社 | Optimization device, optimization method and optimization program |
-
2019
- 2019-03-15 JP JP2019047931A patent/JP7101355B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056631A1 (en) | 2004-09-13 | 2006-03-16 | Beausoleil Raymond G | Tests of quantum information |
JP2008514056A (en) | 2004-09-13 | 2008-05-01 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | Quantum information inspection |
JP2008048102A (en) | 2006-08-14 | 2008-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Quantum electronic signature system disabling reauthentication, its processing method, its signer device, and its verfier device |
JP2016057900A (en) | 2014-09-10 | 2016-04-21 | 日本電信電話株式会社 | Quantum calculation method |
JP2017059071A (en) | 2015-09-18 | 2017-03-23 | ヤフー株式会社 | Optimization device, optimization method and optimization program |
Non-Patent Citations (1)
Title |
---|
築地 立家, 上山 弘哲,量子オラクルを用いた唯一最短格子ベクトル問題の効率的解法,電子情報通信学会技術研究報告,Vol.101 No.44,2001年05月10日,pp.9-16 |
Also Published As
Publication number | Publication date |
---|---|
JP2020149523A (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521102B2 (en) | Transformation apparatus, decision apparatus, quantum computation apparatus, and quantum machine learning system | |
Oh et al. | A tutorial on quantum convolutional neural networks (QCNN) | |
Mishra et al. | Quantum machine learning: A review and current status | |
US11250341B2 (en) | System, method and computer readable medium for quassical computing | |
Osborne | Hamiltonian complexity | |
Bravyi et al. | On complexity of the quantum Ising model | |
Wang et al. | A hybrid quantum-inspired genetic algorithm for flow shop scheduling | |
Wu et al. | wpScalable quantum neural networks for classification | |
Neumann et al. | Quantum computing for military applications | |
Fiasché | A quantum-inspired evolutionary algorithm for optimization numerical problems | |
Bar et al. | An approach based on quantum reinforcement learning for navigation problems | |
JP7101355B2 (en) | Judgment device, calculation device, and learning system | |
CN114550849A (en) | Method for solving chemical molecular property prediction based on quantum graph neural network | |
Nunes et al. | An extension to basis-hypervectors for learning from circular data in hyperdimensional computing | |
Tchapet Njafa et al. | Quantum associative memory with improved distributed queries | |
Wu et al. | Multi-population based univariate marginal distribution algorithm for dynamic optimization problems | |
Sharma | The Development of an Automated Approach for Designing Quantum Algorithms Using Circuits Generated By Generative Adversarial Networks (Gans) | |
Ballinas et al. | Hybrid quantum genetic algorithm for the 0-1 knapsack problem in the IBM qiskit simulator | |
Coyle | Machine learning applications for noisy intermediate-scale quantum computers | |
Zuev | Geometric properties of quantum entanglement and machine learning | |
Dendukuri et al. | Defining quantum neural networks via quantum time evolution | |
Bosch et al. | Neural Networks for Programming Quantum Annealers | |
Hasan et al. | Solving maximum clique problem using chemical reaction optimization | |
Bhabhatsatam et al. | Hybrid Quantum Encoding: Combining Amplitude and Basis Encoding for Enhanced Data Storage and Processing in Quantum Computing | |
Ahsan | AutoQP: Genetic Programming for Quantum Programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190318 |
|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20190412 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220524 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7101355 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |