Как устроен и зачем нужен квантовый компьютер
Сейчас много говорят о новых технологиях вычисления — в частности, то и дело звучат слова «квантовые вычисления», «квантовый интернет» и даже «квантовая криптография». Посмотрим, что это такое и нужно ли оно нам. Начнём с квантового компьютера.
В обычном компьютере все вычисления основаны на понятии «бит». Это такой элемент, который может принимать значения 0 или 1. Физически это реализовано так:
- В компьютере есть деталь под названием транзистор. Представьте, что это кран на трубе: если его включить, вода польётся, если выключить — остановится.
- В транзисторе вода — это электричество, и включение-выключение крана тоже зависит от электричества. Представьте, что краны соединены между собой так, что вода из одного крана включает или выключает другой кран, — и так каскадом по цепочке.
- Транзисторы соединены таким хитрым образом, что когда они включаются и выключаются, на них можно производить математические вычисления.
- Из-за того, что транзисторов очень много (миллиарды), а работают они очень быстро (близко к скорости света), транзисторные компьютеры могут очень быстро совершать математические вычисления.
- Всё, что вы видите в компьютере, — это производные от вычислений. Вы видите окно, буквы, картинки, а где-то в самой-самой глубине это просто сложение и вычитание, а ещё глубже — включение-выключение кранов с электричеством на скорости света.
Транзистор в компьютере может принимать значение 1 или 0, то есть «включён» или «выключен». С точки зрения компьютерной логики, этот транзистор называется битом. Это минимальная единица информации в компьютере. Физически бит может быть в процессоре, на чипе памяти, на магнитном диске, но суть одна: это какое-то физическое пространство, которое определённо либо включено, либо выключено.
Ключевое слово здесь — «определённо». Программист и инженер может точно узнать, в каком состоянии находится тот или иной бит. Заряд в нём либо есть, либо нет, никаких промежуточных состояний там не существует.
В квантовом компьютере вместо битов — кубиты. Кубиты — это квантовые частицы, у которых есть интересная особенность: кроме стандартных 0 и 1 кубит может находиться между нулём и единицей — это называют суперпозицией. Нагляднее это видно на рисунке:
Кубит может принимать все значения, которые видны на цветной сфере
Зачем нужны квантовые компьютеры?
Просим вас не пугаться заумных слов, их здесь будет не так много, и мы все постараемся объяснить как можно понятнее. Microsoft уверенно работает над созданием квантового компьютера, который будет работать быстрее обычного в огромное количество раз. Мы даже не решимся сказать, в сотню или тысячу раз, так как боимся, что это может преуменьшить возможности изобретения. Он сможет обрабатывать колоссальные объемы данных и за считанные минуты решать задачи, на которые у нынешних самых быстрых устройств уйдут годы.
Эта область математики и физики кажется мистической, а первые исследователи ссылались на философию и духовность, когда пытались описать ее. Даже сейчас эксперты употребляют слово «волшебство», говоря о некоторых элементах теории и практики квантовых вычислений. Разобравшись в них, ученые смогут решить то, что раньше казалось нерешаемым; найти ответы на самые интересные вопросы. Людям, далеким от физики, трудно представить себе как работает квантовый компьютер, но те, кто посвятил ему целую жизнь, утверждают, что он поможет справиться со сложнейшими проблемами: от голода до стихийных бедствий.
Куда бежать лисе?
Выделим пятый кубит (нумерация стартует сверху) под текущее направление перемещения лисы. Договоримся, что ноль означает движение «вниз», единица — «вверх». Очевидно, если лиса уже в нулевой норе — она должна двигаться вниз. Если лиса в четвертой норе — она двигается вверх. В остальных случаях лиса может двигаться и вниз, и вверх. По этим нехитрым правилам можно устанавливаем «кубит текущего направления» в 0, 1, или суперпозицию нуля и единицы. Код смотрим в репозитории, Commit 2.
Схема в редакторе.
Чем квантовый компьютер превосходит обычный?
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому. При этом большими объемами данных можно управлять одновременно с помощью концепции, известной как квантовый параллелизм. Имея возможность вычислять и анализировать разные состояния данных одновременно, а не по одному, квантовые системы могут давать результаты с очень высокой скоростью.
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому.
Квантовые системы можно было бы применить для того, чтобы решить проблему коммивояжера — задачу, которая требует нахождения кратчайшего маршрута между множеством городов, прежде чем вернуться домой. А решение этой задачи позволило бы более грамотно выстраивать навигацию и планировать маршруты по всему миру, что удешевило бы и упростило перемещения людей и грузов. Подобного рода исследования уже проводит Volkswagen совместно с D-Wave и Google.
Квантовый компьютер способен обрабатывать огромные объемы финансовых, фармацевтических или климатологических данных, чтобы найти оптимальные решения проблем в этих отраслях.
Наконец, квантовые системы способны найти новые методы шифрования и легко взламывать даже самые сложные шифры.
IBM Quantum уже работает с клиентами над решением подобных проблем. Компания помогает разработать новое поколение электромобилей на технологии квантовых батарей с Daimler; технологию снижения выбросов углерода в атмосферу с помощью открытия экологичных материалов с ExxonMobil: ищет истоки зарождения Вселенной вместе с CERN. А Google использовала Sycamore для точного моделирования химической реакции.
Что такое квантовый компьютер?
Перед написанием программы нужно усвоить некоторую базовую информацию. Однако здесь не будет описываться детально работа квантовых компьютеров. Вы ознакомитесь только с той информацией, которая поможет понять, как работает игра.
В основе работы обычного компьютера лежат биты — переменные, имеющие только два значения: 0 и 1. Хотя, в контексте булевой алгебры их также можно называть «true» и «false». Неважно, как мы их называем. Важно лишь то, что существует два состояния.
С помощью битов можно выполнить простые битовые операции, такие как побитовое отрицание (NOT), побитовое «И» (AND) и побитовое «ИЛИ» (OR). Они являются основой вычислений. С битами можно сделать всё что угодно. Любая более сложная переменная, чем бит ( int или float ) — это просто набор из множества битов. Любая более сложная операция, чем побитовое «И» или побитовое отрицание (NOT) — это просто несколько таких операций, соединённых вместе. Именно так и работает обычный компьютер на самом базовом уровне.
В основе квантовых компьютеров лежат квантовые биты (кубиты). Они тоже имеют два возможных значения — 0 и 1. Однако законы квантовой механики допускают другие значения, которые называются состояниями суперпозиции.
В каком-то смысле состояния суперпозиции представляют собой значения, существующие между экстремумами 0 и 1. Кубит можно представить в виде сферы, на которой 0 и 1 расположены на противоположных полюсах, а состояния суперпозиции — все остальные возможные точки на её поверхности.
Кроме 0 и 1 на изображении выше обозначена пара важных состояний суперпозиции. Одно из них называется u3(0.5*pi, 0,0) 0 . Не самое запоминающееся название, но вы узнаете, что оно означает, по ходу чтения статьи.
Такой ход мысли выставляет кубиты чем-то похожим на непрерывные переменные. Можно представить любую точку на поверхности сферы (например, точку ψ в изображении), используя полярные координаты с углами ( θ и φ ). В принципе простительно полагать, что кубиты — плавающие значения (изменяют своё значение). В некотором смысле они ими и являются. Но с точки зрения абсолютной точности это не так.
Важной отличительной чертой кубита является невозможность извлечения из него недвоичной информации. Законы физики по своей природе нам не позволяют узнать, что именно кубиты делают. Не получится спросить у кубита точные детали о положении его суперпозиции. Можно только заставить выбирать его между двумя противоположными точками на сфере (вроде 0 и 1). Если это что-то, что не является ни нулём, ни единицей, то кубиту просто нужно будет случайным образом решить, что выбрать.
Кубит имеет некоторые свойства непрерывной и дискретной переменных, но не является ни той, ни другой. Кубит — квантовая переменная.
Как работает квантовый компьютер
Квантовые компьютеры для вычислений используют такие свойства квантовых систем, как суперпозиция и запутанность. В суперпозиции квантовые частицы представляют собой комбинацию всех возможных состояний, пока не произойдет их наблюдение и измерение. Запутанные кубиты образуют единую систему и влияют друг на друга. Измерив состояние одного кубита, возможно сделать вывод об остальных. С увеличением числа запутанных кубитов экспоненциально растет способность квантовых компьютеров обрабатывать информацию.
Базовым элементом, выполняющим логические операции в классическом компьютере, является вентиль. Для работы квантового компьютера используются квантовые вентили, собранные из кубитов. Они бывают однокубитные и двухкубитные. Также существуют универсальные наборы вентилей, с помощью которых можно выполнить любое квантовое вычисление
Кроме того, квантовые компьютеры не могут работать со стандартным софтом вроде Windows. Для них требуется своя операционная система и приложения. Некоторые технологические гиганты уже предлагают организациям опцию квантовых вычислений в облаке. Облачные квантовые вычисления обеспечивают прямой доступ к эмуляторам, симуляторам и квантовым процессорам.
Поставщики также предоставляют платформы разработки и документацию для языков и инструментов вычислений. IBM уже представила программную платформу для квантовых вычислений с открытым исходным кодом под названием Qiskit. А Microsoft выпустила инструмент бесплатного разработчика вычислительной техники на языке Q# и симулятор квантовых вычислений. Над разработкой ПО для квантовых компьютеров работают также 1QBit, Cambridge Quantum Computing, QSimulate, Rahko, Zapata и другие компании.
Для работы квантовых компьютеров требуются квантовые алгоритмы. Из наиболее известных квантовых алгоритмов можно выделить три:
-
(разложения числа на простые множители) (решение задачи перебора, быстрый поиск в неупорядоченной базе данных) (ответ на вопрос, постоянная или сбалансированная функция)
Квантовый компьютер работает на вероятностном принципе. Его результатом работы является распределение вероятностей возможных ответов, наиболее вероятный ответ обычно является лучшим решением.
Квантовые кубиты в физической реализации бывают нескольких типов: сверхпроводниковые, зарядовые, ионные ловушки, квантовые точки и другие.
Настоящий уровень развития технологий позволяет создать большое количество кубитов, сложность возникает с устойчивостью такой системы. Как и все квантовые системы, кубиты легко теряют заданное квантовое состояние при взаимодействии с окружением (происходит их декогеренция). При этом в работе квантового компьютера растет количество ошибок вычислений. Чтобы обеспечить ее устойчивость при проведении вычислений, требуется оградить систему от любого фонового шума, например, в случае сверхпроводниковых систем, охлаждая их до температур, близких к нулю по Кельвину (-273,1 °C). Разработчики используют сверхтекучие жидкости, чтобы добиться такого охлаждения.
Как объяснил Руслан Юнусов, исторически сверхпроводники считались наиболее перспективным направлением благодаря хорошей масштабируемости, стабильности во времени, контроле параметров и относительной легкости управления ими. Именно на этой платформе построены квантовые компьютеры IBM, Google и Rigetti. Однако, по его словам, в последнее время все большую популярность приобретают альтернативные квантовые платформы: ионы, демонстрирующие высочайшие на сегодняшний день показатели стабильности и точности операций (Honeywell, IonQ), и фотоны, преимуществами которых являются малый размер фотонного процессора и возможность работы при комнатных температурах (Xanadu, PsiQuantum, Quix).
Кроме того, развиваются новые концепции: системы на поляритонах или магнонах, системы бозе-эйнштейновских конденсатов, когерентные машины Изинга, когерентные CMOS-архитектуры. Так, в поляритонной архитектуре битом служит поляритон — квазичастица, сочетающая свойства света и вещества. Теоретически, поляритонный квантовый компьютер сможет работать при комнатной температуре, что снизит его стоимость и упростит изготовление. В настоящее время изучением поляритонных структур занимается Сколтех.
Для чего нужен квантовый компьютер
Быстрая обработка больших массивов данных при использовании новых технологий может помочь решить множество задач и затронет самые разные области. Например, КК всего за несколько секунд справится с разложением чисел, состоящих из большого количества знаков, на простые множители (сам по себе процесс не сложен, но требует больших временных затрат, на этом и базируется современная криптография), а также решит ряд похожих задач. Кроме того, технологии подойдут и для моделирования сложных ситуаций, в том числе расчёта физических свойств элементов на молекулярном уровне.
Основные сферы применения квантовых компьютеров:
На данном этапе квантовые компьютеры отличаются сложностью производства и нестабильностью работы, поэтому пока удаётся только разрабатывать высокопроизводительные системы, заточенные под единственный алгоритм и рассчитанные на очень узкий круг задач.
Последние достижения в области квантовых вычислений
Ученые из Университета Нового Южного Уэльса разработали первый квантовый логический элемент в кремнии в 2015 году. В том же году НАСА представило первый операционный квантовый компьютер, созданный D-Wave, стоимостью 15 миллионов долларов.
В 2016 году исследователи из Университета Мэриленда успешно создали первый перепрограммируемый квантовый компьютер. Два месяца спустя Базельский университет определил вариант квантовой машины на основе электронных дырок, которая использует электронные дыры (вместо того, чтобы манипулировать электронными спинами) в полупроводнике при низких температурах, которые гораздо менее уязвимы для декогеренции.
Еще несколько интересных фактов и открытий
12. Квантовые вычисления впервые были упомянуты Ричардом Фейнманом в 1959 году в его знаменитой лекции «Внизу много места». Он рассматривал возможность манипулирования отдельными атомами как расширенную форму синтетической химии.
13. Первый в мире протокол распространения квантовых ключей, BB84, был разработан исследователями IBM Джиллис Брассард и Чарльзом Беннеттом в 1984 году. Это метод безопасной отправки секретного ключа из одной точки в другую для использования в одноразовом шифровании с использованием клавиатуры.
14. В феврале 2018 года физики придумали новую форму света, включающую трифотонные связанные состояния в квантовой нелинейной среде, которая могла бы привести к революции квантовых вычислений.
15. В марте 2018 года Лаборатория квантового искусственного интеллекта, управляемая Ассоциацией космических исследований университетов, НАСА и Google, выпустила 72-битный процессор под названием Bristlecone.
16. Реалистичная модель квантовых вычислений работает на квантовых алгоритмах, которые могут быть классифицированы по типу задачи, которую они решают, или технике/идеям, которые они используют. В настоящее время у нас есть алгоритмы, основанные на усилении амплитуды, квантовом преобразовании Фурье и гибридных квантовых алгоритмах.
17. В настоящее время рассматривается несколько различных кандидатов на физическую реализацию квантовой машины. Среди них самыми популярными являются —
- Спиновая и пространственная квантовая точка
- Квантовый компьютер на алмазной основе
- Полость квантовая электродинамика
- Молекулярный магнит
18. До сих пор 5 компаний производили квантовые чипы — Google (Bristlecone), IBM (IBM Experience and Q), Intel (Tangle Lake), Rigetti (19Q) и D-Wave (Ranier).