Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Введение в квантовые компьютеры

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

ДИСКРЕТНОЕ ФУРЬЕ-ПРЕОБРАЗОВАНИЕ

41

Последующие шаги дают следующий результат:

 

 

 

1

 

 

 

 

 

 

B12A2|2

= B12 ·

 

(|0 + |1 )|1 |0 =

 

 

2

 

 

= 2

|0 |1 |0 + e

|1 |1 |0 ,

 

(5.15)

1

 

 

iπ/2

 

 

 

 

 

 

 

|2 = 2 |0 (|0 − |1 )|0 + e

|1 (|0 − |1 )|0 =

A1B12A2

 

 

1

 

 

 

 

iπ/2

 

|1 |1 |0 .

= 2 |0 |0 |0 −|0 |1 |0 +e

iπ/2

|1 |0 |0 −e

1

 

 

 

 

 

 

iπ/2

 

Оператор B02 в выражении (5.15) не изменяет последнее состояние, т. к. он действует только на состояния |1k1 . Оператор B01 также не изменяет последнее состояние в (5.15), поскольку он действует только на состояния |k11 . Наконец, из состояния |010 после действия оператором A0 получим следующее состояние:

8 |0 |0 (|0 + |1 ) − |0 |1 (|0 + |1 )+

1

 

 

 

 

 

+ eiπ/2|1 |0 (|0 + |1 ) − eiπ/2|1 |1 (|0 + |1 ) =

 

 

= 8

(|000 + |001 ) (|010 + |011 )+

1

 

 

 

 

 

+ i(|100 + |101 ) − i(|110 + |111 ) . (5.16)

Теперь, чтобы получить конечную волновую функцию, выполним инверсию кубитов:

1

{(|000 + |100 ) (|010 + |110 )+

 

 

8

 

+ i(|001 + |101 ) − i(|011 + |111 )}. (5.17)

Операция «инверсии кубитов» («инверсии порядка двоичных знаков») означает, например, для случая трех кубитов, что |ijk → |kij .

42 ГЛАВА 5

В действительности квантово-механическая операция «инверсии кубитов» не применяется, вместо этого измеряется состояние регистра X после фурье-преобразования (см. главу 4), а результат измерения считывается в обратном порядке.

В десятичной системе счисления выражение (5.17) выглядит следующим образом:

1 {(|0 + |4 ) (|2 + |6 ) + i(|1 + |5 ) − i(|3 + |7 )}. (5.18)

8

Можно легко проверить, что при |x = |2 выражение (5.18) совпадает с (4.4). Следовательно, группа операторов (5.12) выполняет дискретное фурье-преобразование.

Следует отметить, что для осуществления дискретного фу- рье-преобразования L кубитов требуется подействовать L раз оператором Aj и [0 + (L − 1)]L/2 раз оператором Bjk. Таким образом, число шагов вычисления является квадратичной функцией от L, т. е. данный алгоритм можно считать эффективным.

ГЛАВА 6

Квантовая факторизация целых чисел

Квантовый алгоритм нахождения периода периодической функции был использован Шором [19] для факторизации целых чисел. Опишем этот алгоритм, используя в качестве примера число N = 30. Сначала выберем случайным образом число y так, чтобы наибольший общий делитель чисел N и y был равен 1. (Известно, что если y (1 < y < N ) выбирается случайным образом, то вероятность того, что два числа имеют наибольший общий делитель, равный единице, больше, чем 1/ log2 N [39]. Алгоритм Евклида для нахождения наибольшего общего делителя будет описан ниже.) Рассмотрим периодическую функцию

f (x) = yx (mod N ), x = 0, 1, 2, 3, . . . ,

(6.1)

где a (mod b) — остаток от деления a/b. Для числа N = 30 выберем случайным образом y = 11. Затем, из выражения (6.1) имеем:

f (0)

= 1 (mod 30) = 1,

 

f (1)

= 11 (mod 30) = 11,

(6.2)

f (2)

= 112 (mod 30) = 1,

 

т. к. 112 = 121 = 4 · 30 + 1. Далее,

 

 

f (3) = 113

(mod 30)

= 11,

(113 = 1331

= 44 · 30 + 11),

(6.3)

f (4) = 114

(mod 30)

= 1,

(114 = 14641

= 488 · 30 + 1).

 

Легко видеть, что период T функции f (x) равен T = 2. Его также можно найти при помощи метода, описанного в главе 4. Чтобы найти

44 ГЛАВА 6

множитель числа N , вычислим z = yT /2 = 111 = 11. Наибольший общий делитель чисел (z − 1, N ) = (10, 30) равен 10. Числа 10 и 6 оба являются множителями числа 30. Именно таким путем находятся два множителя числа N при условии, что квантовый алгоритм задает период T для функции f (x).

Данный метод факторизации иногда не выполняется. Например, это происходит тогда, когда период T функции является нечетным числом. Тем не менее было показано, что если y выбирается случайным образом, то вероятность ошибки достаточно мала [39], в частности, в рассмотренном выше случае, т. е. при N = 30, функция f (x) = yx(mod 30) имеет четный период для всех y, взаимно простых вплоть до 30 (1 < y < 30),

T = 2, y = 11, 19, 29,

(6.4)

T = 4, y = 7, 13, 17, 23.

В наших вычислениях нам нужно найти наибольший общий делитель двух чисел, N и y. Рационально это можно сделать, используя алгоритм Евклида. Например, если нам даны числа 12 и 30, то нужно разделить 30 на 12:

30 = 2 · 12 + 6.

(6.5)

Затем частное 12 нужно разделить на остаток 6: 126 = 2. (Эту опера-

цию необходимо повторять до тех пор, пока остаток не станет равным нулю.) Последний ненулевой остаток (в нашем примере он равен 6) является наибольшим общим делителем.

ГЛАВА 7

Логические вентили

Любое преобразование битов или кубитов может быть реализовано в аппаратном обеспечении при помощи комбинации простейших логических вентилей. Для цифрового компьютера простейшим логическим вентилем (оператором) является однобитовый вентиль NOT НЕ») (вентиль с одним входным битом). Таблица истинности для начальных (входных) и конечных (выходных) значений, ai и bf , дана в табл. 7.1. Данный вентиль изменяет значение бита по следующему правилу:

bf = a¯i, ai = 0, 1.

(7.1)

При использовании электрических схем вентиль НЕ может быть реализован так, как показано на рис. 7.1. Здесь ключ, принадлежащий верхней цепи, замкнут (bf = 1), когда ток в нижней цепи отсутствует (ai = 0). Если же ai = 1, т. е. ключ в нижней цепи замкнут, то магнитное поле катушки размыкает ключ в верхней цепи и bf = 0.

Простейшие двухбитовые вентили соответствуют булевым операциям умножения и сложения. (Таблица истинности для булева умножения представлена в табл. 7.2.) Данная таблица соответствует таблице истинности логической операции AND И»), если считать 0 «ложью», а 1 «истиной», поэтому данный логический вентиль назывется «вентилем AND».

Таблица 7.1. Таблица истинности для вентиля NOT

ai

 

bf

0

 

1

1

 

1

46

ГЛАВА 7

Рис. 7.1. Физическая реализация вентиля NOT

Таблица истинности для второго двухбитового вентиля (булево сложение) соответствует логической операции OR ИЛИ»). На рисунках 7.2 и 7.3 даны реализации вентилей, представленных в табл. 7.2

и7.3.

Таблица 7.2. Таблица истинности для булева умножения (вентиль AND)

ai

bi

 

cf

 

0

0

 

0

 

 

 

 

 

cf = aibi

0

1

 

0

1

0

 

0

 

 

 

 

 

 

1

1

 

1

 

 

 

 

 

 

Для вентиля AND ключи в верхней цепи замкнуты, если они притягиваются смежными катушками. Поэтому ток в верхней цепи

ЛОГИЧЕСКИЕ ВЕНТИЛИ

47

(cf = 1) присутствует только в том случае, когда он протекает в обеих нижних цепях (ai = bi = 1). В схеме, соответствующей вентилю OR, ток в нижнем сегменте (ci = 1) протекает в том случае, если один из ключей, ai или bi, или оба они сразу, замкнуты (ai = 1 или bi = 1, или ai = bi = 1).

Таблица 7.3. Таблица истинности для булева сложения (вентиль OR)

 

ai

bi

 

cf

 

 

0

0

 

0

 

 

0

1

 

1

cf = ai + bi

 

1

0

 

1

 

 

 

 

 

 

 

 

1

1

 

1

 

 

 

 

 

 

 

Таблица 7.4. Таблица истинности для вентиля EXCLUSIVE-OR («исключа-

ющее ИЛИ»)

 

 

 

 

 

 

 

 

 

 

 

ai

bi

 

cf

 

 

0

0

 

0

 

 

 

 

 

 

cf = ai bi

 

0

1

 

1

 

1

0

 

1

 

 

1

1

 

0

 

 

 

 

 

 

 

При помощи комбинации этих трех простых вентилей можно построить любую таблицу истинности. Например, предположим, что нам нужен вентиль EXCLUSIVE-OR или просто XOR («исключающее ИЛИ»). Данная операция обозначается знаком ,

cf = ai bi,

(7.2)

и соответствует остатку от суммы, деленной пополам. Она дает значе-

48

ГЛАВА 7

Рис. 7.2. Физическая реализация вентиля AND

ние на выходе cf = 1, если одно из входных значений равно единице. Во всех остальных случаях на выходе будет ноль.

Чтобы образовать вентиль XOR, можно записать для него таблицу истинности через булевы операции. Две строки в табл. 7.4 дают cf = 1: вторая, со значениями ai = 0, bi = 1, и третья, со значениями ai = 1, bi = 0. Вторая строка соответствует произведе-

¯

нию a¯ibi, а третья — произведению aibi. Конечное выражение имеет вид:

¯

cf = a¯ibi + aibi.

Например, если ai = 1, а bi = 0, то

¯ ¯

a¯i = 0, bi = 1, a¯ibi = 0, aibi = 1,

¯

a¯ibi + aibi = 1.

(7.3)

(7.4)

Операция, записанная в выражении (7.3), может быть реализована при помощи вентилей AND, NOT и OR. Если замкнуть ключ «h»

ЛОГИЧЕСКИЕ ВЕНТИЛИ

49

Рис. 7.3. Физическая реализация вентиля OR

(см. рис. 3.2) и подставить вместо A и B значения ai и bi, то наличие или отсутствие тока в нижней цепи будет соответствовать таблице истинности для вентиля XOR.

ГЛАВА 8

Реализация логических вентилей

сиспользованием транзисторов

Вэтой главе, следуя книге [46], приводятся элементарные сведения о физике полупроводниковых логических вентилей. В обычных компьютерах транзисторы используются в качестве переключателей. Транзисторы изготавливают из полупроводников, обычно из кремния, с добавлением небольшого количества примесей. Если

врезультате введения примеси появляется избыток электронов (полупроводник n-типа), то в зоне проводимости (область разрешенной энергии (для электронов), внутри которой может течь ток) возникают свободные отрицательные заряды. Если в результате введения примеси наблюдается нехватка электронов (полупроводник p-типа), то в валентной зоне появляются дополнительные «дырки», которые ведут себя как положительные заряды. Если соединить вместе кристаллы полупроводников n- и p-типа, то электроны смогут двигаться только от полупроводника n-типа к полупроводнику p-типа. Таким образом, данная система проводит ток только в том случае, если отрицательная клемма батареи соединена с полупроводником n-типа (рис. 8.1). Кремний является классическим примером полупроводника. Он имеет четыре валентных электрона. Если добавить в кремний небольшое количество фосфора, имеющего пять валентных электронов, то, поскольку в кристаллической решетке кремния только четыре из этих электронов удерживают атомы в узлах, каждый примесный атом связывает четыре атома кремния; пятый электрон атома фосфора может свободно двигаться. Таким образом мы получаем избыток электронов. Этот полупроводник называется полупроводником n-типа. Если добавить бор, который имеет 3 валентных электрона, то он захватывает дополнительный электрон. Данный примесный атом будет связан с четырьмя атомами кремния, но теперь

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]