量子アルゴリズムShorの素因数分解アルゴリズム
計算アルゴリズム論
今井浩
計算とは?ー状態遷移ー
決定性計算
0001
1100001000010000
1000 )(nt
1 432
確率化計算
0001
18.000005.0001.03.05.001.02.05.0
1000 )(nt
1 432
量子計算
0001
64.048.048.036.048.064.036.048.048.036.064.048.036.048.048.064.0
1000 )(nt
純粋状態でのテンソル積と量子もつれ
entangled ,???)11|00(|2
1
)1|0(|2
10|)01|00(|2
11000
11|,
0100
011
010
10|,
0010
01|,
0001
010
011
0|0|00|
12||2||,|101|,
010|
分解不能
基底
2C
論理回路
万能回路
• Uゲート
– 1量子ビットに対する任意のユニタリ変換
• 制御NOT ゲート (Controlled-NOT)
U|x 〉 U|x 〉
Controlled-NOT
制御ビット
標的ビット
0| 0|
0| 0|
1| 1|
0|
0|1|
1|
1| 1|
x x
y yx)2mod ( yx
0110
1100
1010
1100
yxxyx
Controlled-NOT
0100100000100001
1000
1,1
0100
0,1
0010
1,0
0001
0,0
)1100(2
1
1001
21
0101
0100100000100001
21
0101
21
01
11
210)10(
21
量子回路
• ワイア:1qubit• 時間:左から右へ
– アルゴリズムの記述が簡単
U
U U U
U
(U = I )
Walsh-Hadamard 変換
• 全ビットに をかける
12
0|
2
1n
xnxW
W
W
W
観測により真にランダムな乱数が得られる)2( nnO
等重の重ね合わせ状態
干渉効果
)(nO
11111111111111111111111111111111
111111111111111111111111
11111111
221
3
111111111111
1111
21
112
1111
21
1
H
HHH
H
離散フーリエ変換
• 周期を検出するための前処理
yex
nn
y
ixyn
|2
1|:DFT12
0
22
W
R W
R R
R R R
W
W
jkie
R
21
11
2211
1111
2211
1111
21,
2
11
111
1111
11
21
1111
21
1001
1111
1111
21
1001
1111
21
ie
ie
ie
ieACBC
ie
B
A
kx
ijke
kjy
xxxx
ACB
yyyy
ie
ie
ie
ieACB
23
0
11011000
11100100
2211
1111
2211
1111
21
11011000
Shorのアルゴリズム
古典素因数分解アルゴリズム
• 2次ふるい法
• 数体ふるい法
• 楕円曲線法
)(mod22 nyx
Shor の素因数分解アルゴリズム
• 古典ふるい法と同様に、問題を位数発見に帰着
• xr ≡ 1 (mod n) となる最小のr を見つける
(位数発見問題)(x : 1からn- 1のnと互いに素なランダムな整数)
ここで、r が偶数だと同様にできる。
例
)15(mod517),15(mod3177
)15(mod114
13,8,7,2:4,14,11,4:2,1:1},14,13,11,8,7,4,2,1{1553
22
2
*15
なら、
のみ
位数
例:
a
aar
Z
で観測をそれぞれ確率
変換逆
4/112,8,4,0
)13)12840(4)12840(
7)12840(1)12840((41
Fourier
)13)151173(4)141062(
7)13951(1)12840((41
)131514133427110(41
)15(mod7
041
162,7,15
15
0
4
ii
i
k
k
Nxn
k
k
フーリエ変換
NnkN
k
NnkN
n
ti
ti
kXN
nx
nxN
kX
Xtx
ttxX
i2
0
i2
0
e)(1)(
e)(1)(
de)(21)(
de)(21)(
時間領域から周波数領域へ
周波数領域から時間領域へ
離散フーリエ変換
周期関数を変換→ 周期情報