Что такое квантовый компьютер
Просто о сложном: что такое квантовый компьютер и зачем он нужен
Sasha Kononenko
Мир на пороге очередной квантовой революции. Первый квантовый компьютер будет мгновенно решать задачи, на которые самое мощное современное устройство сейчас тратит годы. Какие это задачи? Кому выгодно, а кому угрожает массовое использование квантовых алгоритмов? Что такое суперпозиция кубитов, как люди научились находить оптимальное решение, не перебирая триллионы вариантов? Отвечаем на эти вопросы в рамках рубрики «Просто о сложном».
Евгений Глушков
Студент шестого курса МФТИ, инженер лаборатории искусственных квантовых систем, создатель и редактор ресурса Make It Quantum.
До квантовой в ходу была классическая теория электромагнитного излучения. В 1900 году немецкий ученый Макс Планк, который сам в кванты не верил, считал их вымышленной и чисто теоретической конструкцией, был вынужден признать, что энергия нагретого тела излучается порциями — квантами; таким образом, предположения теории совпали с экспериментальными наблюдениями. А пять лет спустя великий Альберт Эйнштейн прибегнул к этому же подходу при объяснении фотоэффекта: при облучении светом в металлах возникал электрический ток! Вряд ли Планк с Эйнштейном могли предположить, что своими работами закладывают основы новой науки — квантовой механики, которой будет суждено до неузнаваемости преобразить наш мир, и что в XXI веке ученые вплотную приблизятся к созданию квантового компьютера.
Вначале квантовая механика позволила объяснить структуру атома и помогла понять происходящие внутри него процессы. По большому счету сбылась давняя мечта алхимиков о превращении атомов одних элементов в атомы других (да, даже в золото). А знаменитая формула Эйнштейна E=mc2 привела к появлению атомной энергетики и, как следствие, атомной бомбы.
Квантовый процессор на пяти кубитах от IBM
Дальше — больше. Благодаря работам Эйнштейна и английского физика Поля Дирака во второй половине XX века был создан лазер — тоже квантовый источник сверхчистого света, собранного в узкий пучок. Исследования лазеров принесли Нобелевскую премию не одному десятку ученых, а сами лазеры нашли свое применение почти во всех сферах человеческой деятельности — от промышленных резаков и лазерных пушек до сканеров штрихкодов и коррекции зрения. Примерно в то же время шли активные исследования полупроводников — материалов, с помощью которых можно легко управлять протеканием электрического тока. На их основе были созданы первые транзисторы — они в дальнейшем стали главными строительными элементами современной электроники, без которой сейчас мы уже не представляем свою жизнь.
Быстро и эффективно решать многие задачи позволило развитие электронных вычислительных машин — компьютеров. А постепенное уменьшение их размеров и стоимости (в связи с массовым производством) проложило компьютерам дорогу в каждый дом. С появлением интернета наша зависимость от компьютерных систем, в том числе и для коммуникации, стала еще сильнее.
Зависимость растет, постоянно растут вычислительные мощности, но настала пора признать, что, несмотря на свои впечатляющие возможности, компьютеры оказались не в состоянии решить все задачи, которые мы готовы перед ними ставить. Одним из первых об этом начал говорить знаменитый физик Ричард Фейнман: еще в 1981 году на конференции он заявил, что на обычных компьютерах принципиально невозможно точно рассчитать реальную физическую систему. Все дело в ее квантовой природе! Эффекты микромасштаба легко объясняются квантовой механикой и из рук вон плохо — привычной нам классической механикой: она описывает поведение больших объектов. Тогда-то в качестве альтернативы Фейнман предложил использовать для расчетов физических систем квантовые компьютеры.
Что же такое квантовый компьютер и в чем его отличие от компьютеров, к которым мы привыкли? Все дело в том, как мы представляем себе информацию.
Если в обычных компьютерах за эту функцию отвечают биты — нули и единички, — то в квантовых компьютерах им на смену приходят квантовые биты (сокращенно — кубиты). Сам кубит — вещь довольно простая. У него по-прежнему два основных значения (или состояния, как любят говорить в квантовой механике), которые он может принимать: 0 и 1. Однако благодаря свойству квантовых объектов под названием «суперпозиция» кубит может принимать все значения, которые являются комбинацией основных. При этом его квантовая природа позволяет ему находиться во всех этих состояниях одновременно.
В этом и заключается параллельность квантовых вычислений с кубитами. Все случается сразу — уже не нужно перебирать все возможные варианты состояний системы, а это именно то, чем занимается обычный компьютер. Поиск по большим базам данных, составление оптимального маршрута, разработка новых лекарств — лишь несколько примеров задач, решение которых способны ускорить во множество раз квантовые алгоритмы. Это те задачи, где для поиска правильного ответа нужно перебрать огромное количество вариантов.
Кроме того, для описания точного состояния системы теперь не нужны огромные вычислительные мощности и объемы оперативной памяти, ведь для расчета системы из 100 частиц достаточно 100 кубитов, а не триллионов триллионов бит. Более того, с ростом числа частиц (как в реальных сложных системах) эта разница становится еще существеннее.
Одна из переборных задач выделялась своей кажущейся бесполезностью — разложение больших чисел на простые множители (то есть делящиеся нацело только на самих себя и единицу). Это называется «факторизация». Дело в том, что обычные компьютеры умеют довольно быстро перемножать числа, пусть даже и весьма большие. Однако с обратной задачей разложения большого числа, получившегося в результате перемножения двух простых чисел, на исходные множители обычные компьютеры справляются очень плохо. Например, чтобы разложить на два сомножителя число из 256 цифр, даже самому мощному компьютеру понадобится не один десяток лет. А вот квантовый алгоритм, который может решить эту задачу за несколько минут, придумал в 1997 году английский математик Питер Шор.
Первый российский кубит под электронным микроскопом
Квантовый процессор на девяти кубитах от Google
С появлением алгоритма Шора перед научным сообществом встала серьезная проблема. Еще в конце 1970-х годов, основываясь на сложности задачи факторизации, ученые-криптографы создали алгоритм шифрования данных, получивший повсеместное распространение. В частности, с помощью этого алгоритма стали защищать данные в интернете — пароли, личную переписку, банковские и финансовые транзакции. И после многолетнего успешного использования вдруг оказалось, что зашифрованная таким способом информация становится легкой мишенью для алгоритма Шора, запущенного на квантовом компьютере. Дешифровка с его помощью становится минутным делом. Радовало одно: квантовый компьютер, на котором можно было бы запустить смертоносный алгоритм, еще не был создан.
Тем временем по всему миру десятки научных групп и лабораторий стали заниматься экспериментальными исследованиями кубитов и возможностями создания из них квантового компьютера. Ведь одно дело — теоретически придумать кубит, и совсем другое — воплотить его в реальность. Для этого было необходимо найти подходящую физическую систему с двумя квантовыми уровнями, которые можно использовать в качестве базовых состояний кубита — нуля и единицы. Сам Фейнман в своей пионерской статье предлагал использовать для этих целей закрученные в разные стороны фотоны, но первыми экспериментально созданными кубитами стали в 1995 году захваченные в специальные ловушки ионы. За ионами последовали многие другие физические реализации: ядра атомов, электроны, фотоны, дефекты в кристаллах, сверхпроводящие цепи — все они отвечали поставленным требованиям.
Такое разнообразие имело свои достоинства. Подгоняемые острой конкуренцией, различные научные группы создавали все более совершенные кубиты и строили из них все более сложные схемы. Основных соревновательных параметров у кубитов было два: время их жизни и количество кубитов, которые можно было заставить работать сообща.
Сотрудники лаборатории искусственных квантовых систем
Время жизни кубитов задавало то, как долго в них хранилось хрупкое квантовое состояние. Это, в свою очередь, определяло, сколько вычислительных операций можно было выполнить с кубитом, пока он не «умер».
Для эффективной работы квантовых алгоритмов нужен был не один кубит, а хотя бы сотня, причем работающая вместе. Проблема заключалась в том, что кубиты не очень любили соседствовать друг с другом и выражали протест драматическим уменьшением своего времени жизни. Чтобы обойти эту неуживчивость кубитов, ученым приходилось идти на всяческие ухищрения. И все же на сегодняшний день ученым удалось заставить работать вместе максимум один-два десятка кубитов.
Так что, на радость криптографам, квантовый компьютер — все еще дело будущего. Хотя уже совсем не такого далекого, как могло когда-то казаться, ведь к его созданию активно подключаются как крупнейшие корпорации вроде Intel, IBM и Google, так и отдельные государства, для которых создание квантового компьютера — вопрос стратегической важности.
Как устроен и зачем нужен квантовый компьютер
Это прорыв в технологиях или очередной биткоин?
Сейчас много говорят о новых технологиях вычисления — в частности, то и дело звучат слова «квантовые вычисления», «квантовый интернет» и даже «квантовая криптография». Посмотрим, что это такое и нужно ли оно нам. Начнём с квантового компьютера.
Биты и кубиты
В обычном компьютере все вычисления основаны на понятии «бит». Это такой элемент, который может принимать значения 0 или 1. Физически это реализовано так:
1. В компьютере есть деталь под названием транзистор. Представьте, что это кран на трубе: если его включить, вода польётся, если выключить — остановится.
2. В транзисторе вода — это электричество, и включение-выключение крана тоже зависит от электричества. Представьте, что краны соединены между собой так, что вода из одного крана включает или выключает другой кран, — и так каскадом по цепочке.
3. Транзисторы соединены таким хитрым образом, что когда они включаются и выключаются, на них можно производить математические вычисления.
4. Из-за того, что транзисторов очень много (миллиарды), а работают они очень быстро (близко к скорости света), транзисторные компьютеры могут очень быстро совершать математические вычисления.
5. Всё, что вы видите в компьютере, — это производные от вычислений. Вы видите окно, буквы, картинки, а где-то в самой-самой глубине это просто сложение и вычитание, а ещё глубже — включение-выключение кранов с электричеством на скорости света.
Транзистор в компьютере может принимать значение 1 или 0, то есть «включён» или «выключен». С точки зрения компьютерной логики, этот транзистор называется битом. Это минимальная единица информации в компьютере. Физически бит может быть в процессоре, на чипе памяти, на магнитном диске, но суть одна: это какое-то физическое пространство, которое определённо либо включено, либо выключено.
Ключевое слово здесь — «определённо». Программист и инженер может точно узнать, в каком состоянии находится тот или иной бит. Заряд в нём либо есть, либо нет, никаких промежуточных состояний там не существует.
В квантовом компьютере вместо битов — кубиты. Кубиты — это квантовые частицы, у которых есть интересная особенность: кроме стандартных 0 и 1 кубит может находиться между нулём и единицей — это называют суперпозицией. Нагляднее это видно на рисунке:
Все решения уже известны
Ещё одна особенность кубитов — зависимость значения от измерения. Это значит, что программист не узнает значение кубита до тех пор, пока его не измерит, а сам факт измерения тоже влияет на значение кубита. Звучит странно, но это особенность квантовых частиц.
Именно благодаря тому, что кубит находится во всех состояниях одновременно до тех пор, пока его не измерили, компьютер мгновенно перебирает все возможные варианты решения, потому что кубиты связаны между собой. Получается, что решение становится известно сразу, как только введены все данные. Суперпозиция и даёт ту параллельность в вычислениях, которая ускоряет работу алгоритмов в разы.
Вся сложность в том, что результат работы квантового компьютера — это правильный ответ с какой-то долей вероятности. И нужно строить алгоритмы таким образом, чтобы максимально приблизить вероятность правильного ответа к единице.
Как делают кубиты и в чём сложность
Максимально упрощённо: чтобы получить рабочий кубит, нужно взять один атом, максимально его зафиксировать, оградить от посторонних излучений и связать с другим атомом специальной квантовой связью.
Чем больше таких кубитов связано между собой, тем менее стабильно они работают. Для достижения «квантового превосходства» над обычным компьютером нужно не менее 49 кубитов — а это очень неустойчивая система.
Основная сложность — декогеренция. Это когда много кубитов зависят друг от друга и на них может повлиять всё что угодно: космические лучи, радиация, колебания температуры и все остальные явления окружающего мира.
Такой «фазовый шум» — катастрофа для квантового компьютера, потому что он уничтожает суперпозицию и заставляет кубиты принимать ограниченные значения. Квантовый компьютер превращается в обычный — и очень медленный.
С декогеренцией можно бороться разными способами. Например, компания D-Wave, которая производит квантовые компьютеры, охлаждает атомы почти до абсолютного нуля, чтобы отсечь все внешние процессы. Поэтому они такие большие — почти всё место занимает защита для квантового процессора.
Зачем нужны квантовые компьютеры
Одно из самых важных применений квантового компьютера сейчас — разложение на простые числа. Дело в том, что вся современная криптография основана на том, что никто не сможет быстро разложить число из 30–40 знаков (или больше) на простые множители. На обычном компьютере на это уйдёт миллиарды лет. Квантовый компьютер сможет это сделать примерно за 18 секунд.
Это означает, что тайн больше не будет, потому что любые алгоритмы шифрования можно будет сразу взломать и получить доступ к чему угодно. Это касается всего — от банковских переводов до сообщений в мессенджере. Возможно, наступит интересный момент, когда обычное шифрование перестанет работать, а квантовое шифрование ещё не изобретут.
Ещё квантовые компьютеры отлично подходят для моделирования сложных ситуаций, например, расчёта физических свойств новых элементов на молекулярном уровне. Это, возможно, позволит быстрее находить новые лекарства или решать сложные ресурсоёмкие задачи.
Сейчас квантовые компьютеры всего этого не умеют — они слишком сложные в производстве и очень нестабильные в работе. Максимум, что можно пока сделать, — заточить квантовый компьютер под единственный алгоритм, чтобы получить на нём колоссальный выигрыш в производительности. Как раз для этих целей их и закупают крупнейшие компании — чтобы быстрее решать одну-две самые важные для себя задачи.
Подписывайтесь на наш канал , чтобы квантовый мир не был для вас загадкой!
Как работает квантовый компьютер: Объясняем на пальцах
С этим объяснением вы точно все наконец поймете.
Что такое квантовый компьютер? Вот определение этого термина, сокращенное до одного предложения:
Квантовый компьютер — это тип вычислительной машины, которая использует эффекты квантовой механики для выполнения определенных операций более эффективно, чем обычный компьютер.
В этом предложении скрыто слишком много нюансов, поэтому обратимся к простому примеру. Чтобы объяснить, что такое квантовый компьютер, давайте сначала поговорим о том, как работает обычная ЭВМ.
Как хранит информацию обычный компьютер
Привычный нам компьютер хранит информацию в виде нулей и единиц. Таким образом можно представить совершенно разные типы данных — числа, буквы, графику. Каждая ячейка с нулем или единицей называется «бит». Бит может принимать одно из двух значений: 0 или 1.
Как хранит информацию квантовый компьютер
Квантовый компьютер хранит данные не в битах, а в так называемых кубитах. Каждый кубит может равняться не только 0 или 1, но также 0 и 1. Как такое может быть и что именно это означает?
Давайте воспользуемся простым примером. Он может показаться немного искусственным, но все же поможет нам разобраться в принципах работы квантовых компьютеров.
Пример того, как действует квантовый компьютер
Предположим, что вы управляете туристическим агентством и вам необходимо переправить группу людей из одного места в другое. Для упрощения предположим, что она состоит всего из трех человек: Ани (А), Вани (В) и Сережи (С). Допустим, вы заказали два такси и хотите понять, как лучше разместить пассажиров. Кроме того, у вас есть данным о том, кто с кем дружит, а кто с кем враждует.
Предположим, что отношения в группе распределяются следующим образом:
- Аня и Ваня — друзья;
- Аня и Сережа — враги;
- Ваня и Сережа — враги.
Предположим, что вам нужно распределить их таким образом по двум автомобилям, чтобы:
- Максимизировать число друзей;
- Минимизировать число врагов, попавших в одно и то же такси.
Итак, мы определили суть задачи. Теперь давайте подумаем, как ее решить с помощью обычного компьютера.
Решение задачи на обычном компьютере
Чтобы решить задачу на обычном, неквантовом компьютере, сначала надо определиться с тем, как хранить соответствующую информацию в битах. Давайте обозначим первое такси нулем, второе — единицей. Теперь порядок размещения можно представить с помощью трех битов. В этом случае значение 0,0,1 будет говорить о следующем:
- Аня едет в такси 0;
- Ваня также едет в такси 0;
- Сережа едет в такси 1.
Поскольку для каждого пассажира есть два варианта, всего существует 2 * 2 * 2 = 8 способов разместить трех человек в двух машинах. Вот список всех возможных конфигураций:
С помощью трех битов можно представить любую из этих комбинаций.
Вычисление оценки для каждой конфигурации
Как с помощью обычного компьютера определить наилучшее решение? Чтобы понять это, давайте посмотрим, как проводятся расчеты. Оценка должна отражать две упомянутые выше цели:
- Максимизировать число пар друзей в автомобиле;
- Минимизировать количество пар врагов;
Давайте определим оценку следующим образом:
(оценка некоторого размещения) = (количество дружественных пар в автомобиле) — (число враждебных пар в автомобиле)
Предположим, что Аня, Ваня и Сережа сели в такси 1. В битах это выглядит как 111. В данной ситуации имеется только одна пара друзей — Аня и Ваня, но две враждебных пары: Аня и Сережа, Ваня и Сережа. Таким образом, общий балл этой конфигурации равен 1 — 2 = -1
Решение задачи
Теперь можно перейти к окончательному решению задачи. Чтобы определить наилучшую конфигурацию с помощью обычного компьютера, придется просчитать все варианты и выбрать тот, у которого окажется наивысший балл. Другими словами, компьютер построит таблицу вроде этой:
Как видно, имеется два правильных решения — 001 и 110. Оба набрали наибольшее количество очков (1). Эта задача довольно проста. Ее сложность стремительно возрастает по мере увеличения числа людей. С тремя пассажирами существует восемь возможных конфигураций. С четырьмя их число возрастает до 2 * 2 * 2 * 2 = 16 конфигураций. В общем случае с N пассажирами существует (2 в степени N) возможных расстановок. Если у нас всего 100 человек, необходимо просчитать:
= 10³⁰ = один миллион миллионов миллионов миллионов миллионов конфигураций.
Обычному компьютеру это не под силу.
Решение задачи на квантовом компьютере
Как решить задачу на квантовом компьютере? Чтобы разобраться, давайте вернемся к базовому случаю размещения трех человек в двух такси. Как отмечалось ранее, существует 8 возможных конфигураций:
На обычном компьютере с помощью трех битов мы могли представить только одно решение за раз, например, 001. Однако на квантовом компьютере с помощью трех кубитов мы можем одновременно представить все восемь решений.
Пока нет единой точки зрения на данный феномен. Можно рассматривать его следующим образом.
Прежде всего давайте посмотрим на первый кубит из трех. Когда он одновременно принимает значение 0 и 1, это похоже на создание двух параллельных миров (да, звучит странно, но давайте пока воздержимся от полемики).
В одном из миров кубит равен 0, в другом он равен 1. Что произойдет, если второй кубит также одновременно установить на 0 и 1? В этом случае у нас появится четыре параллельных мира. В первом мире оба кубита установлены на 0 (00). Во втором они равны 01. В третьем — 01, в четвертом — 11.
Похожим образом, если установить все три кубита на 0 и 1, возникнут восемь параллельных миров: 000, 001, 010, 011, 100, 101, 110 и 111.
Аналогия немного странная, однако она помогает правильно интерпретировать поведение кубитов в реальном мире. Выполняя некие вычисления на кубитах, вы на самом деле одновременно проводите их на всех восьми параллельных мирах. Таким образом, вместо того, чтобы последовательно находить каждое решение, мы можем вычислить их все сразу.
В этом конкретном примере квантовый компьютер теоретически найдет одно из лучших решений за доли секунды (001 или 110):
На самом деле, чтобы вычислить эту задачу, необходимо задать квантовому два начальных условия:
- Все потенциальные решения, представленные кубитами;
- Функцию, которая каждому решению присваивает некую оценку. В данном случае она подсчитывает число дружеских и вражеских пар в автомобиле.
Используя эти данные, квантовый компьютер найдет одно из лучших решений за доли секунды. В нашем случае это будет 001 или 110 с баллом, равном единице.
Теоретически квантовый компьютер способен находить одно из лучших решений во время каждого запуска задачи. Однако в реальности во время его работы возникают ошибки. Вместо лучшего решения он может найти второе, третье лучшее решение и т. д.
Эти ошибки становятся более заметными по мере возрастания сложности. Таким образом, на практике расчет одной и той же задачи на квантовом компьютере проводится десятки или сотни раз. Затем выбирается наилучший результат.
Масштабирование квантового компьютера
Даже с учетом упомянутых выше ошибок у квантового компьютера отсутствуют проблемы с масштабируемостью, от которых страдают обычные компьютеры. Чтобы разместить трех человек в двух такси, достаточно провести одну операцию. Это связано с тем, что квантовый компьютер одновременно вычисляет оценку всех конфигураций.
В случае четырех человек число операций остается прежним — 1. То же самое справедливо для 100 человек. Одной операцией квантовый компьютер вычисляет все 2¹⁰⁰
= 10³⁰ возможных конфигураций.
Как упоминалось ранее, на практике квантовый компьютер лучше запускать несколько десятков или сотен раз и выбирать наилучший результат из полученных. Однако это все же гораздо быстрее, чем искать решение задачи на обычном компьютере, повторяя одну и ту же операцию миллион миллионов миллионов миллионов миллионов раз.
Подписывайтесь на наш канал в Яндекс.Дзен. Лучшее о финансах и технологиях, а также криптовалюты, эксклюзивы и немного лайфстайла.
Источники:
http://theoryandpractice.ru/posts/13588-kvantovyy-komputer
http://zen.yandex.ru/media/id/5c7ce8b92248a400aff22085/5d2473444dd76c00ad1b6ad6
http://ru.ihodl.com/technologies/2019-11-09/kak-rabotaet-kvantovyj-kompyuter/