Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Kvantovye_vychislenia.ppt
Скачиваний:
19
Добавлен:
25.06.2024
Размер:
13.48 Mб
Скачать

Этапы алгоритма Шора

0. Подготовительный этап. Установка регистров в нулевое состояние.

1.Перевод регистров в равновесное состояние. 2.Вычисление степеней аx в регистре Y, измерение состояния регистра.

3. Предвычисление периода с помощью квантового преобразования Фурье.

4. Вычисление периода на основе подходящих дробей. (на обычном компьютере)

44

Рис. 5. Инициализация регистров

1 Hn 0 0

Рис. 6. Применение преобразования Адамара к регистру |x>

45

Рис. 7. Применение квантового возведения в степень

46

Измерение состояния регистра Y

Например, фиксированному состоянию

 

y 8

 

 

 

 

 

соответствует

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последовательность

значений

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

11 ...

 

 

1

 

 

 

 

 

3

 

7

 

 

 

8

 

 

j 0

 

r j l

 

8

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

А 1

A 1

 

 

 

 

 

 

 

где А наибольшее целое меньшее, чем ( N l ) / r,

A N / r.

Состояние рег. Х при измеренном сост. рег.. У

l

xi ji r l,

r

 

Вычисление периода

Из этого состояния мы хотим выделить информацию о периоде r. Временно сделаем предположение, что l при разных испытаниях принимает

одно и тоже значение. Пусть мы провели 3 испытания и получили три копии 2

x1 j1r l,

x2 j2r l, x3 j3r l,

Далее находим

x1 x2 ( j1 j2 )r,

x1 x3 ( j1 j3 )r

Поскольку j равновероятны, то с высокой вероятностью gcd(j1 j2 , j1 j3 ) 1

Поэтому период легко вычисляется так как

gcd(x1 x2 ,x1 x3 ) gcd((j1 j2 )r,( j1 j3 )r) r

Пример: x1 27, x2 15, x3 7,

gcd(x1 x2 ,x1 x3 ) gcd(( 27 15 ),( 27 7 )) gcd(12,20 ) 4

К сожалению, l изменяется случайно (определяется случайным измерением регистра Y , поэтому принципиально необходимо применение квантового преобразования Фурье, устраняющего этот недостаток.

48

 

 

 

Случай, когда

l 0

 

 

 

Рассмотрим сначала частный случай, когда r делит N нацело. Тогда

A N /

r

Запишем состояние регистра x

в следующем виде

 

 

N 1

 

 

l

 

f (x) x

 

 

где

 

 

 

 

 

 

 

 

 

x 0

 

 

 

f (x) r / N , если x l кратно r,

 

 

 

 

 

Это λ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) 0, если x l не кратно r

 

 

 

 

 

 

 

 

Тогда состояние регистра можно переписать так

 

 

r

N / r 1

 

 

l

 

 

jr l

 

 

f(x)

 

 

 

 

 

 

 

N

 

j 0

 

 

l

r

r

r

амплитуда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r /

N

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

Свойство временного сдвига преобразовагия Фурье

 

 

Пусть известно преобразоваие Фурье функции f(t): f (t) F( ) ,

 

 

Тогда для функции f(t-l) преобразование Фурье

имеет вид

 

 

f (t l) F( )e i l

 

 

 

 

 

 

 

 

 

 

Из данного свойства следует, что при временном сдвиге функции на l

 

ее амплитудный спектр

F ( )

не изменяется. Изменения происходят

 

только в фазовом спектре на величину

.

 

 

 

 

 

 

 

Для квантовых вычислений общий сдвиг фазы на амлитуды состояний не

 

влияет .

 

 

 

 

 

 

 

 

 

 

 

Пример дискретного преобразования Фурье для функции f ( x ) 2x mod 15

 

1

N 1

2 i

jk

yk

 

 

x je

 

N

N j 0

50

Квантовое преобразование Фурье

Выполняя ДПФ для состояния

 

l

, получаем

DFT

 

l f ( c )

 

c

 

 

 

 

 

где амплитуда

f ( c )DFT от

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

N/r

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (c)

 

r N / r 1

2 i( jr l )c

 

 

 

N / r 1

 

 

 

 

jc

 

 

lc

 

 

 

 

 

 

 

 

 

 

 

 

exp(

 

 

 

 

 

)

 

 

 

exp( 2 i

 

 

) exp( 2 i

 

 

)

 

 

 

 

 

 

 

 

N

N

 

 

 

 

 

 

N / r

N

 

 

 

 

 

 

 

j 0

 

 

 

 

 

 

N

j 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя свойство комплексной функции в показательной форме,

 

T

 

 

jn

T ,n 0 mod T ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exp 2 i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно записать, что в последнем выражении

 

T

 

 

 

j

 

 

0,n 0 mod T

 

член в квадратных скобках равен нулю за исключением с кратных N/r

,

поэтому

 

 

r N

 

 

 

 

 

lc

 

 

1

 

 

 

lc

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

exp( 2 i

)

 

exp( 2 i

), если c кратно

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N r

 

N

r

N

r

 

 

 

 

 

 

f (c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, в противном случае.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( c )

N/r

N/r

N/r

N/r

 

 

амплитуда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

0

 

 

 

 

r-1

 

c

 

 

 

Полагая,c j

N

запишем

 

DFT

 

 

1

r 1 exp( 2 i

jl ) j

N

 

 

r

 

 

 

l

 

r

j 0

r

r

51

0 , 64 , 128 , 192

Для нашего примера f ( x ) 2x mod 15 состояние регистра после КПФ будет таким, как показано на рисунке, то есть, ненулевые вероятности имеют состояния

Вероятность какого либо состояния: c j

 

 

N

 

 

 

 

 

r

 

 

 

 

 

 

 

N

1

2

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

c

 

 

 

exp( 2 ij( rc mod N ) / N )

 

 

 

 

 

 

 

N

2

 

 

 

 

 

 

 

 

 

 

 

j 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После преобразований можно получить

P

 

c

4

1

 

 

2

r

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончательно мы хотим выделить информацию о периоде r. Для этого проводится измерение состояния регистра x

Пусть с=64, тогда j/r=64/256=1/4

 

откуда r=4 - период найден

53

Случай, когда r не делит N

Мы рассмотрели частный случай, когда r делит N нацело,т.е. rc mod N 0 Если от этого условия отказаться, то

r / 2 rc mod N r / 2

(1)

Пусть rc mod N kN r / 2

 

 

, тогда условие (1) запишем так

 

rc kN

 

 

r / 2

( 2 )

 

 

 

 

Разделав обе части (2) на Nr, получим

 

 

 

 

c

 

k

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

2N

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

По результатам измерения регистра

 

x

мы получили величину c/N,

 

тогда, используя разложение c/N в цепную дробь, можно рассчитать

подходящую дробь k/r и найти r.

 

Вероятность успеха

P c 0.4

. Для повышения вероятности проводим

испытания несколько раз с разными значениями a.

1018

55

Соседние файлы в предмете Криптографические протоколы