Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Квантовые вычисления. Теория и практика. Учебник
.pdf
1.1. Кубит
два раздельных участка. Результаты прохождения атомов через прибор четко разделились на две группы без каких-либо промежуточных значений, то есть в результате
опыта Штерна – Герлаха получено дискретное распределение атомов серебра. Дело в том, что у атомов серебра, как
и у электронов и других частиц, собственный момент импульса – спин при измерении квантуется, то есть принимает одно из дискретных значений. В данном случае каждый
атом серебра выступает в роли кубита, принимающего после измерения либо значение 0, либо значение 1 – так мы
можем условно обозначить направление движения атома
серебра в конце прибора в зависимости от того, попал атом
в нижний участок пластины или в верхний. Сам прибор
Штерна – Герлаха в данном случае выполняет измерительную функцию.
Если атом до попадания в прибор ориентирован северным полюсом не строго вверх или вниз, а под определенным
углом, то его попадание в верхний или нижний участок пластинки будет производиться с определенной вероятностью.
Сейчас мы рассматриваем ситуацию достаточно упрощенно,
но позже подробнее разберем, откуда берется вероятность
получить после измерения определенное значение.
Вообще можно использовать для измерения и другие
аналогичные приборы, а в качестве кубита брать не только
атомы серебра, но и электроны, фотоны, ионы и другие частицы. Причем не обязательно в роли кубита выступают
микрочастицы, кубитом могут быть и более сложные и крупные (до определенного предела) вещи, например замкнутые
контуры в квантовых компьютерах, основанных на сверхпроводимых кубитах. Если говорить о фотонах, то у них
имеется такая характеристика, как поляризация, она может быть горизонтальной или вертикальной, а если в качестве кубита рассматривать электрон, то можно использовать
спин, который может быть направлен либо вверх, либо вниз.
11

Глава 1. Основные понятия квантовых вычислений
1.2. Квантовые вычисления
в искусственном интеллекте
Если говорить о применении квантовых вычислений
в ИИ, то, во-первых, исследователям и практикам в области ИИ нужно, чтобы модели машинного обучения работали быстрее. Квантовые вычисления позволяют ускорить такие операции, как дискретное преобразование Фурье, поиск
по базе данных, некоторые операции из линейной алгебры.
Если соединить квантовые вычисления и машинное обучение, то мы получаем квантовое машинное обучение – набор
моделей, решающих задачи ИИ с большей скоростью. Такое
ускорение позволяет в сжатые сроки тестировать множество
моделей, а также получить ИИ, решающий задачи, казавшиеся неразрешимыми вследствие их большой временной
сложности.
Изначально у квантовых вычислений был свой специфический набор задач, по которым было много обсуждений.
В частности, наибольшее внимание привлек алгоритм Шора,
позволяющий раскладывать большие числа на простые множители кардинально быстрее любых известных классических методов и тем самым способствовать быстрой расшифровке сообщений, зашифрованных с помощью алгоритма
RSA. Вместо тысяч лет, требующихся для расшифровки методами классических вычислений, алгоритм Шора теоретически может справиться с этой задачей если и не за минуты,
то по крайней мере в течение одного дня.
Но если принимать во внимание, какое количество
кубитов потребуется для запуска алгоритма Шора на реальных задачах (речь здесь о нескольких миллионах физических кубитов), то построение такого квантового компьютера не такая уж и близкая перспектива. Зато если
говорить о задачах машинного обучения, то их решение
с помощью квантового компьютера является реальным уже
при наличии нескольких сотен кубитов, так что исследова-
12

1.3. Основные типы реализаций квантовых компьютеров
тели ИИ, скорее всего, первыми воспользуются преимуществами квантового компьютера.
1.3. Основные типы реализаций квантовых
компьютеров
На данный момент есть несколько технологий, с помощью
которых реализованы квантовые компьютеры. Пока что среди них нет какого-то одного лидера, у каждой технологии есть
свои плюсы и минусы, но все-таки расскажем про те реализации квантовых компьютеров, которые с большой вероятностью могут стать самыми распространенными. При этом пока
неизвестно, станет ли основной одна из таких реализаций или
среди них будет несколько равноправных лидеров.
Одна из распространенных технологий – вычисления
с использованием фотонов, в которой для создания операторов, действующих на кубит, используют набор различных
линз, оптических фильтров и зеркал. На данный момент
минус такого квантового компьютера – небольшая масштабируемость. Собрать квантовый компьютер на фотонах, в котором было бы большое количество кубитов (по сравнению
с другими квантовыми компьютерами), пока не представляется возможным. Плюс реализации: такой квантовый компьютер может работать даже при комнатной температуре.
Другая распространенная технология – квантовые компьютеры, использующие в качестве кубитов сверхпроводящие контуры. В сверхпроводящем контуре ток может течь
как в одну сторону, так и в другую, так что этим направлениям можно придать значения 0 и 1. Но возможна ситуация,
когда ток течет одновременно в двух направлениях. Таким
образом реализуется такой квантовый эффект, как суперпозиция, когда кубит может одновременно находиться в двух
состояниях в один и тот же момент времени. Квантовые компьютеры, основанные на сверхпроводимости, хорошо масштабируются, то есть могут иметь множество кубитов.
13

Глава 1. Основные понятия квантовых вычислений
Однако у сверхпроводящих квантовых компьютеров есть и
отрицательная сторона: для того чтобы реализовать сверхпроводимость, нужно поддерживать сверхнизкую температуру,
близкую к абсолютному нулю, что делает обслуживание таких
компьютеров довольно дорогим. Еще один минус: при такой
реализации не удается расположить кубиты так, чтобы один
кубит соседствовал со множеством кубитов, поэтому, для того
чтобы произвести взаимодействие с отдаленным кубитом, приходится переносить его состояние на более близкие кубиты, используя операцию SWAP. Таким образом дальний кубит как
бы переносится (хотя на самом деле переносится не сам кубит,
а его состояние) к кубиту, с которым он должен взаимодействовать. Проблема в том, что операция SWAP является довольно
дорогостоящей в плане времени, а в квантовых компьютерах
важно, чтобы операции производились как можно быстрее,
чтобы согласованность (когерентность) кубитов не успевала
разрушиться. В противном случае вычисления будут производиться с большой долей ошибок. Для исправления квантовых
ошибок есть особые методы, но они требуют большего количества кубитов, так как вместо одного физического кубита в этих
методах используются логические кубиты, реализуемые с помощью нескольких физических кубитов, как бы подстраховывающих на случай возникновения ошибок.
Еще одна перспективная технология реализации квантовых компьютеров – ионные ловушки. В таких квантовых
компьютерах кубиты являются более связанными по сравнению с квантовыми компьютерами, основанными на сверхпроводящих контурах, что позволяет избегать частого применения операции SWAP. Также такие компьютеры обладают еще
одним плюсом: кубиты в них дольше сохраняют когерентность, так что можно практически отказаться от использования методов коррекции квантовых ошибок. А это значит, что
количество физических кубитов должно равняться количеству логических кубитов. Единственный минус компьютеров,
14

1.4. Программные средства для квантовых вычислений
основанных на ионных ловушках, – более медленные вычисления. Но учитывая, как сложно создать квантовый компьютер с большим количеством логических кубитов, этот минус
не такой уж и страшный. Такой компьютер все равно сможет
производить необходимые вычисления с огромным выигрышем по времени по сравнению с классическими компьютерами, так как его замедление является всего лишь кратным.
Есть также и другие технологии, например квантовые
компьютеры, основанные на NV-центрах в алмазе, а также
квантовые компьютеры, использующие топологические кубиты и многие другие технологии, но мы не будем на них подробно останавливаться, так как будем считать, что в общем
случае при разборе основных квантовых алгоритмов нам
по большому счету неважно, на каком квантовом компьютере
мы будем их запускать, тем более что вне зависимости от того,
какие микрочастицы или микроустройства используются
в качестве кубитов, такие квантовые эффекты, как суперпозиция и запутанность, являются универсальными и могут
быть реализованы самыми разными способами.
Также нужно отметить, что превосходство квантового
компьютера перед классическим, впервые продемонстрированное в 2019 году, было достигнуто с помощью квантового
компьютера, основанного на сверхпроводящих кубитах. Эта
технология, как и ионные ловушки, на данный момент показывает наибольшую масштабируемость. Но так как мы
сейчас присутствуем при бурном развитии квантовых технологий, лидеры среди различных реализаций квантовых компьютеров могут быстро сменять друг друга.
1.4. Программные средства
для квантовых вычислений
В этом курсе мы будем использовать библиотеки для
квантовых вычислений, написанные для языка программи-
15

Глава 1. Основные понятия квантовых вычислений
рования Python, но даже только эти библиотеки мы не сможем полностью охватить. Для начала перечислим и кратко
их охарактеризуем: Qiskit – наиболее распространенная и
универсальная, PennyLane – библиотека для квантового машинного обучения, Cirq – библиотека общего назначения
для квантовых вычислений, TensorFlow Quantum – квантовые нейронные сети. Это весьма условные характеристики,
основанные прежде всего на том, как позиционируют их разработчики.
Нужно понимать, что все эти библиотеки обладают универсальным инструментарием для квантовых вычислений,
но в то же время подходят и для более специфических задач,
например для квантового машинного обучения. В этих библиотеках есть возможность создавать квантовые алгоритмы
с нуля, используя элементарные квантовые операторы, но
предусмотрен также и набор готовых квантовых алгоритмов.
Помимо простоты, Python хорош тем, что он является интерпретируемым языком программирования, то есть
программы, написанные на нем, не нужно компилировать (квантовый компилятор не в счет, так как он работает на более глубоком уровне, близком непосредственно
к квантовому устройству). Это удобно, потому что не нужно полностью компилировать всю написанную программу перед запуском, а можно запускать ее по частям, даже
по одной команде, и сразу видеть результат. На начальном
этапе создания программы можно использовать Jupyter
Notebook – удобный инструмент для программирования, работающий в веб-браузере и являющийся популярным среди
ИИ-специалистов в качестве среды для разработки моделей
машинного обучения. Особенно часто используют Jupyter
Notebook на этапе исследования, до внедрения программы
в промышленную среду.
Кроме языка Python, библиотеки для квантовых вычислений есть почти во всех крупных языках программи-
16

1.5. Суперпозиция
рования, хотя и не везде пока реализована возможность запустить вычисления не только на программном квантовом
симуляторе, но и на реальном квантовом компьютере.
1.5. Суперпозиция
Суперпозиция – это первый квантовый эффект, который
мы изучим. Кубит, как мы уже выяснили, может находиться
не только в состояниях 0 и 1, но и одновременно в двух этих
состояниях – это и есть суперпозиция. До того времени, пока
кубит не измерен, он может находиться в суперпозиции,
но после измерения он находится строго в одном из состояний: 0 или 1. Эти состояния можно обозначать, используя
нотацию Дирака (бра- и кет-векторы). Обозначим состояние
кубита буквой и примем это состояние равным сначала 0,
а затем 1, используя кет-векторы:
0 ;
1 .
Эти состояния дискретные, то есть когда говорят, что
кубит находится в каком-то промежуточном состоянии, то
не подразумевают, что он действительно принимает какоелибо значение, находящееся между числами 0 и 1, например 0,5. Такое представление было бы неверным, так как 0
и 1 – всего лишь условные обозначения состояний кубита,
хотя они и очень удобны. Но можно с таким же успехом обозначить эти состояния как H и V, что соответствует горизонтальной и вертикальной поляризации фотона в случае, когда
квантовый компьютер реализован на основе фотонов в качестве кубитов:
H ;
V .
17

Глава 1. Основные понятия квантовых вычислений
А теперь запишем один из вариантов суперпозиции, когда
вероятности получить после измерения кубита 0 или 1 равны:
11
.
01
22
Коэффициенты перед состояниями кубита называют амплитудами состояний. Вероятность получить определенное
состояние после измерения равна квадрату модуля амплитуды. Зная этот факт, несложно посчитать, что вероятности
каждого из состояний равны 0,5:
2
1
(0) 0,5
p
;
2
2
1
(1) 0,5
p
.
2
Другой способ обозначения состояния кубита – использование векторов-столбцов, которые соответствуют кетвекторам:
1
0
;
0
0
1
.
1
Помимо этих обозначений, мы также будем использовать
сферу Блоха – трехмерную математическую модель, с помощью которой можно визуализировать, какие изменения происходят с кубитом в процессе применения к нему различных
операций.
1.6. Операции в классическом
и квантовом компьютере
Теперь можно посмотреть более подробно не только
на различие битов и кубитов, то есть единиц информации
18

1.6. Операции в классическом и квантовом компьютере
классического и квантового компьютера, но и на различие
операций, которые в них применяются. В классическом компьютере применяются логические операции И, ИЛИ, НЕ,
исключающее ИЛИ, И-НЕ и другие. В квантовом компьютере немного иной набор операторов, которые могут более разнообразно менять состояние кубитов. При этом реализовать
классические операторы логики на квантовом компьютере
не представляет труда, хотя и не всегда это требуется, так
как квантовые алгоритмы – это нечто гораздо более интересное, чем просто собрание логических операторов в классическом компьютере, так как в силу вступают квантовые эффекты – суперпозиция и запутанность.
Для понимания операций, применяемых к кубитам, потребуется знание комплексных чисел, так как амплитуды
при состояниях кубитов не всегда ограничиваются действительными числами, в общем случае амплитуды выражаются
комплексными числами. Комплексные числа в квантовой
физике, а также в квантовых вычислениях нашли свое применение, так как именно с их помощью можно полностью
описать состояние кубита, действительных чисел для этого
было бы недостаточно. Комплексное число имеет такой вид:
,zabi
где a – действительная часть комплексного числа; b – мни-
мая часть; i – мнимая единица.
Это алгебраическая форма представления комплексного
числа.
i – особое число, которое при возведении в квадрат равно –1:
2
1i .
Если действительные числа можно расположить на прямой, то для комплексных чисел нужна плоскость. Такая
плоскость называется комплексной плоскостью, на гори-
19

Глава 1. Основные понятия квантовых вычислений
зонтальной оси которой располагают действительную часть
комплексного числа, а на вертикальной – мнимую часть.
Таким образом, комплексное число можно представить как
точку либо как вектор на такой плоскости. Для двух разных
действительных чисел можно понять, какое из них является большим, а какое – меньшим, но для комплексных чисел,
так как они состоят из двух частей – действительной и мнимой, такое сравнение уже не работает. Хотя, конечно, можно
сравнить модули двух комплексных чисел. Вообще, модули нам понадобятся для вычисления вероятностей. Модуль
комплексного числа – это действительное число, которое находят по такой формуле:
zab.
22
Помимо модуля, для комплексного числа можно также
найти аргумент комплексного числа, равный арктангенсу
мнимой части, деленной на действительную часть:
arg arctg
za .
b
Эта формула подходит для правой полуплоскости, то есть
для первой и четвертой четвертей. Если же угол находится
во второй четверти, то формула такая:
arg arctg
za
b
.
А если угол из третьей четверти, то аргумент нужно находить таким образом:
arg arctg
za .
b
Если комплексное число изобразить как вектор на комплексной плоскости, исходящий из начала координат, то
модуль этого комплексного числа равен длине вектора, а аргумент – углу между горизонтальной осью и вектором. Зная
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
