Изучите фундаментальные концепции квантовой механики, создайте и выполните квантовую схему с помощью Python на реальном квантовом компьютере!

Если вы наткнулись на эту страницу в огромной Средней Вселенной, скорее всего, вы уже слышали некоторые слухи обо всех удивительных вещах, которые могут (или потенциально могут) делать квантовые компьютеры, включая будущее, в котором квантовая телепортация может стать реальностью;).

Но с чего начать, как обычный человек, который не является ученым в одной из исследовательских лабораторий? Может быть, я смогу помочь, так как я сам был на той же лодке несколько месяцев назад.

Мы начнем с некоторых фундаментальных концепций квантовой физики и свяжем их с внутренним устройством квантового компьютера. Затем мы рассмотрим практическое руководство по Python с использованием Qiskit SDK от IBM Research, чтобы увидеть эти концепции в действии путем кодирования, моделирования и даже запуска квантовой схемы на реальном квантовом компьютере!

1,000,000 Ft. View - Квантовая физика

В отличие от классической физики, которая описывает природу на обычном макроскопическом уровне, квантовая физика - это изучение природы на атомном и субатомном уровнях, которое часто подчиняется целому набору отдельных правил, иногда противоречащих интуиции и сбивающих с толку нашего повседневного понимания. природы.

500,000 Ft. View - Квантовая физика в игре

Используя принципы квантовой физики, можно создавать реальные физические объекты, которые в данном случае являются квантовыми микросхемами, питающими квантовые компьютеры, отображать квантовые свойства, такие как суперпозиция, запутанность и интерференция (тьфу, громкие слова). Мы рассмотрим эти основные квантовые свойства через минуту, но пока вам нужно понять следующее:

Что делает квантовый компьютер таким мощным, так это его способность использовать эти квантовые свойства для выполнения вычислений с использованием совершенно другого подхода и набора правил, чем мы привыкли в наших классических компьютерах.

100,000 Ft. View - Квантовый компьютер

Ага! Так выглядит квантовый компьютер изнутри. Этот конкретный - от IBM Research, и мы будем запускать нашу схему позже в похожей схеме. Разве это не возвращает вас к временам МАРК I классических вычислений, когда компьютеры занимали целую комнату?

Этот светящийся металл на самом деле является настоящим золотом, используемым для его сверхпроводимости. Квантовые чипы размещены внизу под самой нижней круглой пластиной. И вся эта гигантская штука позже помещается в криогенный морозильник, известный как холодильник для разбавления. Температура внутри холодильника составляет всего 1 мК, что составляет примерно -273 C или -460 F. В таких сверхнизких условиях квантовые чипы демонстрируют квантовые свойства, которые делают возможными некоторые из умопомрачительных концепций, о которых мы поговорим дальше.

10,000 Ft. Представление - Квантовые свойства

Суперпозиция

Вы, наверное, слышали о знаменитом парадоксе кота Шредингера.

Шредингер заявил, что если вы поместите кошку и что-то, что может убить кошку (радиоактивный атом) в коробку, и запечатаете ее, вы не узнаете, жив ли кот или мертв, пока вы не откроете коробку, так что до тех пор, пока коробка не будет Открыв, кот был (в определенном смысле) и мертвым, и живым. - Википедия

Разве это не кажется сверхъестественным? Это свойство одновременного нахождения в двух состояниях и есть суперпозиция.

Теперь представьте монету с двумя возможными состояниями - орлом или решкой. Когда вы его бросаете, только одна сторона может оказаться сверху, верно? Вроде как двоичные биты классических компьютеров - каждый бит равен 0 или 1. Но что, если монета на самом деле вращается, и тогда она может быть и орлом, и решкой одновременно?

Что, если бы бит мог одновременно быть 0 и 1? Это суперпозиция. Классические биты хранят состояния в виде скалярного значения (0 или 1), тогда как квантовые биты (кубиты) могут сохранять состояния в форме вероятностных волновых функций (суперпозиция, где это одновременно 0 и 1). И они схлопнутся до скалярных значений только тогда, когда вы решите «измерить» кубиты.

Вы спросите, как именно суперпозиция делает квантовые компьютеры мощными?

At a single point in time
Classical Computer with n bits
1st bit — 1 state (0 or 1)
2nd bit — 1 state
nth bit — 1 state
Computer's state = 1^n = 1                                 
Quantum Computer with n Qubits
1st bit - 2 states (Both 0 & 1)
2nd bit - 2 states
nth bit - 2 states
Computer's state = 2^n

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

Совет: просматривайте суперпозицию как функцию, а не как отдельное значение.

Запутанность

Чтобы объяснить запутанность на примере с монетой сверху -

Если бы вам пришлось вращать две монеты рядом друг с другом в реальном мире, вы знаете, что их результаты исключают друг друга. Но что, если бы вы могли связать их вместе так, чтобы они представляли одну и ту же волновую функцию? Вот что такое запутанность.

Outcomes of spinning two coins
Physical World
HH, TT, HT, TH
With Quantum Entanglement
HH, TT

Итак, когда вы запутываете кубит A с кубитом B, вы, по сути, объединяете их в пары, чтобы они представляли одну и ту же волновую функцию и, следовательно, давали одинаковый результат, если вы их измеряли.

Совет. Думайте о запутанности как о связи между близнецами, когда каждый может «чувствовать» друг друга.

Вмешательство

Помните, я упоминал ранее - состояния суперпозиции должны в конечном итоге схлопнуться до определенных значений, когда вы решите измерить кубиты.

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

Точно так же, как наушники с шумоподавлением подавляют шум с помощью деструктивной интерференции - генерируя собственные окружающие волны, чтобы «нейтрализовать» шум, квантовая интерференция позволяет вам смещать измерения кубитов и противодействовать ошибкам, связанным с окружающей средой, чувствительностью , так далее.

Декогеренция

Если квантовые волновые функции двух состояний некогерентны, они не могут поддерживать суперпозицию или сцепление. Декогеренция (потеря когерентности), таким образом, разрушает эти фундаментально квантовые свойства и состояния, ведущие себя как классические системы.

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

1,000 Ft. Просмотр - Qiskit Framework от IBM

IBM возглавляет революцию в области квантовых вычислений - от предоставления общего доступа для выполнения заданий на своих квантовых компьютерах до открытого исходного кода Qiskit, своего набора для разработки программного обеспечения для квантовых вычислений.

Qiskit состоит из четырех различных элементов

  • Terra: Составление квантовых программ на уровне цепей и импульсов.
  • Aer: ускорение разработки с помощью симуляторов, эмуляторов и отладчиков
  • Aqua: устранение шума и ошибок
  • Ignis: Создание алгоритмов и приложений

В сегодняшнем руководстве мы будем использовать только Terra и Aer.

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

По мере продвижения по этому руководству вводятся и объясняются новые концепции, где это применимо.

Задание

Цель этого урока:

  • Создайте базовую квантовую схему с 2 кубитами и 2 классическими битами
  • Попробуйте Qiskit, SDK IBM для квантовых вычислений
  • Понять и увидеть квантовые ворота в действии
  • Посмотрите на суперпозицию и запутанность в действии
  • Выполните моделирование в локальной системе
  • Выполните моделирование на реальном квантовом компьютере IBM.

Установка

Установите Qiskit через pip (рекомендуется Python3)

pip3 install Qiskit

Установите Jupyter Lab, если у вас его еще нет.

pip3 install jupyterlab

Импорт зависимостей

Теперь запустите Jupyter Lab с jupyter lab и начните работу с записной книжкой, импортировав зависимости.

Инициализация симуляторов

Схемы, которые мы будем строить, должны запускаться с использованием симулятора, и для наших целей мы будем использовать два симулятора:

  • Qasm Simulator: это основная серверная часть симулятора Qiskit. Он имитирует выполнение квантовой схемы на реальном квантовом чипе, измеряет и возвращает результаты. Его можно настроить для генерации шума на основе параметров калибровки для имитации «недостатков». »В реальном квантовом компьютере.
  • Имитатор вектора состояний. Этот вспомогательный имитатор выполняет квантовую схему в «идеальных условиях» и в конце возвращает вектор квантового состояния. Мы будем использовать его для визуализации состояний.

Инициализация квантовой схемы

Начнем с простой квантовой схемы с 2 кубитами и 2 классическими битами. Чтобы лучше представить результаты, представьте эти два кубита как две монеты с орлом и решкой.

Не беспокойтесь о классических элементах слишком много, они используются только для того, чтобы в конечном итоге измерить результаты.

Обратите внимание, что все кубиты инициализированы в состояние по умолчанию 0, которое в квантовых терминах представлено как |0>.

Представляем ворота

Чтобы ввести в эти кубиты квантовые свойства, такие как суперпозиция и запутанность, мы должны использовать так называемые квантовые ворота. Помните логические элементы AND, OR, NAND, NOR, XOR, NOT в классических вычислениях? В основе квантовых вентилей лежит та же самая идея.

Существует около дюжины различных квантовых вентилей, но сегодня мы рассмотрим только те два, которые демонстрируют фундаментальные концепции, о которых мы говорили.

  • Вентиль Адамара (H): этот вентиль действует на один кубит и создает суперпозицию.
  • Управляемый вентиль НЕ (C-НЕ): этот вентиль используется для запутывания и распутывания состояний кубита. Он принимает 2 кубита (контрольный кубит и целевой кубит) и переворачивает целевой кубит, если контрольный кубит равен |1>. Если контрольный кубит равен |0>, он покидает целевой кубит не изменился, так как он уже находится в |0> состоянии.

Мы применим вентиль H к q0, чтобы создать суперпозицию, а затем запутываем его с q1, так что source: q0, target: q1

Заметили изменение вектора?

Измерение результатов

Поскольку два кубита перепутаны, ожидание при измерении результатов таково, что оба кубита должны быть 0 или 1 (, что сравнимо с получением только HH или TT в монете. спины).

В идеале вероятности должны быть 50–50, но поскольку мы использовали симулятор Qasm для выполнения схемы, имитирующей условия на реальном квантовом компьютере, возникает некоторый дополнительный шум.

Запуск этой схемы на реальном квантовом компьютере!

  • Зарегистрируйтесь, чтобы получить бесплатную учетную запись IBM Quantum Experience.
  • Войдите и перейдите в Моя учетная запись, чтобы получить токен API для отправки заданий на один из их квантовых компьютеров.

  • Выполните следующую команду в записной книжке, в которой локально хранится ваш токен API для последующего использования в файле конфигурации с именем qiskitrc.

  • Как показано ниже, загрузите учетные данные для доступа и выполните схему на одном из доступных квантовых компьютеров. Вы можете увидеть список всех доступных квантовых компьютеров на портале - попробуйте выбрать тот, у которого наименьшее количество заданий в очереди.

Сопровождающий ноутбук

Блокнот, использованный для этой демонстрации, доступен в моем репозитории с учебниками.

Давайте проясним несколько вещей

  • Квантовые компьютеры быстрее только для специальных задач, таких как машинное обучение и моделирование новых лекарств, где вы можете использовать квантовые состояния и вероятности. Для обычных задач, таких как создание текстовых документов или прослушивание музыки, по-прежнему подходят классические компьютеры.
  • Квантовые вычисления - это смерть шифрования - не обязательно универсально правильное утверждение. Конечно, учитывая отказоустойчивые квантовые компьютеры, квантовые алгоритмы, такие как алгоритм Шора, можно использовать для поиска простых множителей действительно больших чисел, что может подвергнуть риску шифрование, такое как RSA (основанное на факторизации). Но мы все еще далеки от создания таких почти идеальных квантовых компьютеров, оснащенных кубитами с точной коррекцией ошибок. Даже когда мы доходим до этого момента, существуют другие алгоритмы шифрования, которые работают по принципам, отличным от факторизации.

Вопросы и отзывы?

Пожалуйста, дайте мне знать, если у вас есть дополнительные вопросы / отзывы в разделе комментариев, или если есть какие-то новые технологии, которые вы хотите, чтобы я затронул.

Спасибо за прочтение!

EJ - один из соучредителей стартапов в сфере моды Qarece и HackWears, а также создатель электронной системы с открытым исходным кодом. фреймворк для торговли Veniqa. Он также консультировал несколько компаний из американского списка Fortune 500, будучи техническим руководителем, аналитиком данных и старшим инженером полного цикла, по различным проектам, от разработки приложений до анализа больших данных и машинного обучения.

Присоединяйтесь к списку рассылки EJ, чтобы получать уведомления о новых подобных историях! ❤

Другие статьи от EJ, которые могут вам понравиться