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

Квантовые вычисления. Теория и практика. Учебник

.pdf
Скачиваний:
3
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
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