ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

Физические реализации квантовых компьютеров

Практическое осуществление квантового компьютера основано на манипулировании на микроскопическом уровне и с грандиозной точностью многоэлементной физической системой с непрерывными степенями свободы. Очевидно, что для достаточно большой системы, квантовой или классической, эта задача становится невыполнимой, именно поэтому такие системы переходит из ведения микроскопической физики в область статистической физики. Представляет ли система из N = 103÷105 квантовых спинов, необходимая чтобы превзойти классический компьютер в решении ограниченного числа специальных задач, достаточно большой в этом смысле? Сможем ли мы когда-либо научиться контролировать 10300 (по меньшей мере) амплитуд, определяющих квантовое состояние такой системы? Мой ответ — нет, никогда.

Принципы физической реализации

Главные технологии для квантового компьютера:

Основные проблемы, связанные с созданием и применением квантовых компьютеров:

На рубеже XX—XXI веков во многих научных лабораториях были созданы однокубитные квантовые процессоры (по существу, управляемые двухуровневые системы, в которых можно было предполагать возможность масштабирования на много кубитов).

В 2021 году группы китайских учёных под руководством Пань Цзяньвэя создали два прототипа квантовых компьютеров:

Адиабатические компьютеры D-Wave

Чтобы объяснить, что такое квантовый компьютер и как он работает, нужно начать издалека и рассказать, как работает компьютер обычный. Работа обычного компьютера определяется двумя параметрами: памятью, скоростью вычислений.

Память — основная характеристика вычислительной системы. Компьютер умеет читать, писать и обрабатывать информацию, которая хранится в памяти.

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

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

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

Ведущие игроки


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

Слайды для этого раздела взяты из статьи Квантовый компьютер: большая игра на повышение. Лекция в Яндексе, от научного сотрудника Российского квантового центра Алексея Фёдорова. Позволю себе прямые цитаты:

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


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

В квантовой гонке участвуют не только государства, но и частные компании. Суммарно Google, IBM, Intel и Microsoft вложили около 0,5 млрд долларов в развитие квантовых компьютеров за последнее время, создали крупные лаборатории и исследовательские центры.


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

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

Физические реализации кубитов


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

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

“Если мы умеем помещать атом в два разных уровня и управлять ими, то вот вам и кубит. Если мы можем это сделать с ионом, — кубит. С током то же самое. Если мы запускаем его по часовой стрелке и против часовой стрелки одновременно, вот вам кубит.” (С)

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

Ну и еще почитайте обзор возможных физических реализаций кубитов от Andrew Daley,2014.

Возможные области применения квантовых компьютеров

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

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

Новые материалы. В науке о материалах главное — понять взаимодействие атомов, что можно смоделировать на квантовых компьютерах. Это тоже научная задача, но создав новый материал, его уже можно продавать.

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

Транспорт, энергетика, логистика. В этих сферах много оптимизационных задач. Например, в энергетике главная проблема — распределение электрической энергии по стране. Цена на электричество в разных регионах отличается, при этом во время передачи часть энергии теряется, а с ней и прибыль. Чтобы заработать больше денег, бизнес пытается оптимизировать передачу. Это одна из тех задач, которая находится в классе NP. Сложно найти правильное решение, но квантовый компьютер может помочь.

Бизнес-приложения. В бизнесе квантовыми вычислениями занимаются только большие компании, корпорации. У гигантов есть деньги и ресурсы, например, у Google, D-Wave или IBM (лидер области с большими наработками).

На сайте компании D-Wave написано, что уже в 150 бизнес-приложениях используются квантовые вычисления. I BM выпустил брошюру, в которой обсуждается, что можно сделать с помощью квантового компьютера. Это десятки различных индустрий и потенциально сотни бизнес-решений. Так все выглядит на бумаге.


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

В реальности все немного иначе. Развитие технологий сейчас пока не на том уровне, чтобы применять их на практике.

Алгоритм Дойча-Йожи

Еще можно почитать тут. Более простое объяснение:

Алгоритм Дойча (Дойча — Йожи) основан на переборе, но позволяет делать его быстрее обычного. Представьте, что на столе лежит монета и необходимо узнать фальшивая ли она или нет. Для этого нужно дважды посмотреть на монету и определить: «орел» и «решка» – настоящая, два «орла», две «решки» — фальшивая. Так вот, если использовать квантовый алгоритм Дойча, то это определение можно сделать одним взглядом – измерением. ( С)

Алгоритм Гровера

Алгоритм Гровера — квантовый алгоритм решения задачи перебора, то есть нахождения решения уравнения F(X) = 1, где F — есть булева функция от n переменных. Был предложен американским математиком Ловом Гровером в 1996 году.

Алгоритм Гровера может быть использован для нахождения медианы и среднего арифметического числового ряда. Кроме того, он может применяться для решения NP-полных задач путем исчерпывающего поиска среди множества возможных решений. Это может повлечь значительный прирост скорости по сравнению с классическими алгоритмами, хотя и не предоставляя «полиномиального решения» в общем виде.(С)

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

Алгоритм Гровера. Представьте, что у вас имеется N штук пронумерованных закрытых коробок. Они все пустые кроме одной, в которой находится мячик. Ваша задача: узнать номер коробки, в которой находится мячик (этот неизвестный номер часто обозначают буквой w).

Как решать эту задачу? Самым тупым способом, по очереди открывать коробки, и рано или поздно вы наткнетесь на коробку с мячиком. А сколько в среднем коробок нужно проверить до того, как будет обнаружена коробка с мячиком? В среднем нужно открыть примерно половину коробок N/2. Главное здесь то, что если мы увеличим число коробок в 100 раз, то в те же 100 раз увеличится и среднее число коробок, которые нужно открыть до того, как будет найдена коробка с мячиком.

Теперь сделаем ещё одно уточнение. Пусть мы не сами открываем коробки руками и проверяем наличие мячика в каждой, а имеется некий посредник, назовем его Оракул (Oracle). Мы говорим Оракулу — «проверь коробку номер 732», и Оракул честно проверяет и отвечает «в коробке номер 732 мячика нет». Теперь вместо слов о том, сколько коробок нам нужно в среднем открыть, мы говорим «сколько раз в среднем мы должны обратиться к Оракулу для того, чтобы найти номер коробки с мячиком»

Оказывается, что если перевести эту задачу с коробками, мячиком и Оракулом на квантовый язык, то выходит замечательный результат: для поиска номера коробки с мячиком среди N коробок нам нужно потревожить Оракула всего примерно SQRT(N) раз!

То есть сложность задачи перебора используя алгоритм Гровера снижается в квадратный корень раз.

Какие платформы обсуждаются в связке с квантовыми компьютерами?

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

Про урокцифры:  Квантово-механический принцип на уроке математики

Квантовая платформа — это физический объект, похожий на чип, на котором размещается и сохраняется квантовое состояние кубитов.

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

Embed from Getty Images

Первый коммерчески доступный квантовый компьютер на ионах представил в декабре 2018 года технологический стартап IonQ. Как заявили сами разработчики, построенная ими система способна выполнять более сложные вычисления, чем все существующие на рынке аналоги. А в конце 2020 года американская корпорация Honeywell заявила, что ей удалось создать наиболее точный квантовый компьютер на ионах. Вместе с тем, у этой технологии есть и недостатки: ионные компьютеры сложно масштабировать из-за аномального нагрева.

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

Оглавление

Выделю три прототипа, над которыми работают крупные компании. Google, IBM, Intel, Microsoft вкладываются в развитие квантовых компьютеров. Все вместе они вложили больше 500 млн долларов в разработку, лаборатории и исследовательские центры.

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

Универсальные квантовые компьютеры

Это универсальные машины от Google и IBM с памятью примерно 20 кубит. Они выполняют любые операции, потому что полная универсальность доступна с относительно небольшим числом кубитов, дальше возникает практическое ограничение. Возможно, через год люди научатся работать с 30-40 кубитами.

Универсальные квантовые компьютеры способны реализовать произвольные квантовые алгоритмы, например, алгоритмы Шора и Гровера.

Современная криптография основана на разложении чисел на простые множители. В настоящее время неизвестно, существует ли полиномиальный не квантовый алгоритм для задачи факторизации. Однако 25 лет назад Питер Шор опубликовал статью, в которой объяснил, как квантовый компьютер может разложить очень большое целое число на простые множители.

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

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

Другим примером, демонстрирующим потенциал квантовых вычислений, является Алгоритм Гровера для задачи перебора или поиска решения уравнения

какая-то сложная функция.

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

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

Квантовые симуляторы ограниченной универсальности

Это другое направление: универсальность ограничивается, но поддерживается изоляция (когерентность). Это компьютеры на рубеже в 50-70 кубитов, что в смысле памяти уже больше, чем любой суперкомпьютер.

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

В октябре 2019 Google заявил, что достиг квантового превосходства. Новость появилась во всех ведущих газетах и журналах, соответствующая научная статья была опубликована в Nature. Тематические статьи выпустили многие газеты, даже New York Times и Wall Street Journal, которые далеки от науки.

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

Некогерентные процессоры с числом кубитов от 2 тысяч

Если забыть про универсальность и когерентность, можно добавлять 2 или даже 3-4 тысячи кубитов. Этим направлением занимается компания D-Wave из Канады. У них есть процессоры с тысячей кубитов, но без когерентности.

Проблемы квантовых компьютеров

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

Давайте организуем все основные проблемы в три большие группы и рассмотрим поподробнее каждую из них:

Направления развития

На текущий момент (могу ошибаться, поправьте) основные усилия (и более-менее значимые результаты) у всех ведущих игроков сосредоточены на двух направлениях:

Прочие же вектора развития, которые дает нам квантовая физика, такие как:

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

Дополнительно можно почитать дорожную карту развития квантовых технологий, ну и гуглите “развитие квантовых технологий”, например, вот, вот и вот.

Сравнение квантового компьютера и обычного

Давайте теперь сравним обычный компьютер и квантовый.

В обычном компьютере это бит. Хорошо нам знакомый насквозь детерминированный бит. Может принимать значения либо 0 либо 1. Он прекрасно справляется с ролью логической единицы для обычного компьютера, но совершенно не подходит для описания состояния квантового объекта, который, как мы уже говорили, в дикой природе находится в суперпозиции своих граничных состояний.

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

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

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

Примеры квантовых вентилей:


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

Есть понятие универсального набора вентилей, которых достаточно для выполнения любого квантового вычисления. Например, универсальным является набор, включающий вентиль Адамара, вентиль фазового сдвига, вентиль CNOT и вентиль π⁄8. С их помощью можно выполнить любое квантовое вычисление на произвольном наборе кубитов.

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

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

Один кубит нам тоже совершенно бесполезен (ну если только в академическом плане),

чтобы производить вычисления нам нужна система кубитов (квантовых объектов)

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

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

И самое главное отличие — это принцип работы. У стандартного компьютера это цифровой, жестко детерминированный принцип, основанный на том, что если мы задали какое-то начальное состояние системы и пропустили его через заданный алгоритм, то результат вычислений будет один и тот же, сколько бы раз мы это вычисление не запускали. Собственно, такое поведение это именно то, что мы от компьютера и ждем.

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

Такая вероятностная природа квантовых вычислений обусловлена самой вероятностной сутью квантового мира. “ Бог не играет в кости со вселенной”, — говорил старик Эйнштейн, но все эксперименты и наблюдения пока (в текущей научной парадигме) подтверждают обратное.

Про урокцифры:  ILESSONS RU И GOOGLE

Дисклеймер

Автор не является специалистом в квантовых вычислениях, и целевая аудитория статьи — такие же ИТ-шники, не квантовые специалисты, которые тоже хотят собрать в голове картинку под названием “Как работают квантовые компьютеры”. Из-за этого многие понятия в статье сознательно упрощены для лучшего понимания квантовых технологий на “базовом” уровне, но без совсем уж сильного упрощения с потерей информативности и адекватности.

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

Квантовое вычислительное превосходство.

Википедия дает нам следующее определение квантового вычислительного превосходства:

Ква́нтовое превосхо́дство — способность квантовых вычислительных устройств решать проблемы, которые классические компьютеры практически не могут решить.

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

Но в формулировке определения есть некоторая лазейка, “которые классические компьютеры практически не могут решить”. Фактически это означает, что если создать квантовый компьютер из 50+ кубитов и запустить на нем некоторую квантовую схему, то, как мы рассматривали выше, результат работы этой схемы невозможно будет сэмулировать на обычном компьютере. То есть классический компьютер воссоздать результат работы такой схемы будет не в состоянии.

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

Квантовые алгоритмы

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

Наиболее известные на сегодняшний день алгоритмы это:

В отличие от классических, квантовые компьютеры не универсальны.
До сих пор найдено лишь небольшое число квантовых алгоритмов.(С)

Спасибо oxoron за ссылку на Quantum Algorithm Zoo, место, где, по уверениям автора (“Stephen Jordan”), собраны и продолжают собираться лучшие представители квантово-алгоритмического мира.

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

Как работает квантовый компьютер

Он работает иначе — по интуитивно непонятной логике. Как и обычный, он проводит вычисления, но в его основе лежат законы квантовой механики.

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

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


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

Вероятность — первое важное понятие в квантовой механике. С точки зрения квантовой механики «тарелки Шредингера» одновременно и целые, и разбитые. Есть некая вероятность того, что они целые, и некоторая вероятность, что разбитые. Эта неопределенность и отражает реальный физический мир.

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

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

Второе понятие — принцип суперпозиции. Обычный бит находится только в значениях 0 или 1. В квантовых компьютерах нет обычных битов, а есть квантовые — кубиты. Квантовый бит находится в состоянии 0 или 1 с какой-то вероятностью. Кубит может находиться одновременно в этих состояниях, притом в разных комбинациях — в суперпозиции этих состояний.

Когда система (кубит) находится одновременно в состоянии 0 или 1, можно говорить только о вероятностях. Если состояний много, система одновременно находится во всех возможных состояниях, но с меньшей вероятностью для каждого. Это принципиально важно.

В классической программе в каждый конкретный момент времени каждая строка программы работает с определенной ячейкой памяти. В квантовой механике можно работать со всеми ячейками памяти одновременно.

«Память» квантового компьютера

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

В квантовых компьютерах кубиты находятся в состоянии 0 или 1 с какой-то вероятностью. Вероятность — это число. Чтобы записать одно число с бесконечной точностью, нужно бесконечное количество битов. Поэтому, в теории, один кубит — это физическая система с бесконечным количеством памяти.

На практике у методов измерения ограниченная точность. Будем считать, что она соответствует обычной машинной (float). Получается, что кубит содержит два числа: вероятности, что кубит в состоянии 0 и в состоянии 1.

Примечание: для упрощения мы игнорируем, что сумма вероятностей кубита в состоянии 0 и 1 должна равняться единице. Основной вывод не зависит от упрощения.

Один кубит соответствует двум вещественным числам (float). Это большой выигрыш, потому что для двух вещественных чисел на обычном компьютере нужно два машинных слова — 128 обычных битов, а мы обошлись одним квантовым. Может показаться, что квантовый компьютер в 128 раз лучше обычного. Но это не так.

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

Один кубит это 2 вещественных числа. Два кубита — 4 вещественных числа. Но восемь кубитов это 256 потенциальных конфигураций восьми нулей и единиц — два в восьмой степени.

Для одного кубита выигрыш в 128 раз, а для восьми кубитов он существенно больше — 256*128. Система n кубитов в памяти эквивалентна

Емкость квантовой памяти растет в геометрической прогрессии.

Память обычного ноутбука эквивалентна 15 кубитам, 40 кубитов равны памяти самых мощных вычислительных центров, а 50-60 кубитов превышают суммарную память всех вычислительных центров всего мира.

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

Но экспоненциальный рост емкости квантовой памяти вызывает проблему размерности. Из-за проклятия размерности сложно описать такую квантовую систему на классическом компьютере — требуется все больше и больше памяти.

Какие задачи может решить квантовый компьютер

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

Объясню на примере задач класса NP, то есть задач разрешимости, решение которых невозможно найти за полиномиальное время — во всяком случае, в предположении

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

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

Если окажется, что ответ неверен, запустим квантовый компьютер еще раз. Вероятность получения правильного ответа больше 50%, а часто гораздо больше. Значит, за 2-4 запуска квантового алгоритма мы получим правильный ответ.

У нас не будет однозначного ответа, а только вероятность получить правильный ответ. Но эта вероятность весьма высока. Фактически, мы гадаем, но не на кофейной гуще, а на научной. За несколько итераций мы найдем ответ и проверим, что он правильный.

Параметры квантового компьютера

У классического компьютера два параметра качества: объем памяти и количество операций. С обычным компьютером мы по умолчанию предполагаем, что у нас есть доступ ко всем ячейкам памяти для записи и чтения.

В квантовом случае есть три параметра.

Объем памяти или количество кубит. Чем больше памяти, тем лучше? Для квантового компьютера нет — когда мы увеличиваем количество кубит, растет сложность квантовой системы. Систему становится тяжело поддерживать в изолированном состоянии.

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

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

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

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

Про урокцифры:  ИННОВАЦИОННЫЕ УЧЕБНО МЕТОДИЧЕСКИЕ РЕСУРСЫ ПЕРВЫЙ КЛАСС

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

Универсальность. В классическом компьютере доступны любые операции: умножение, деление, вычитание. Теоретически, в квантовом тоже. Но на практике, существенно проще проводить операции только с соседними кубитами, которые расположены на прямой, в прямоугольном или квадратном массиве. Для работы со всеми кубитами требуется очень сложная архитектура — на практике пока так не умеют.


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

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

Чем квантовый компьютер превосходит обычный?

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


ЧТО МОЖЕТ КВАНТОВЫЙ КОМПЬЮТЕР

Квантовые системы можно было бы применить для того, чтобы решить проблему коммивояжера — задачу, которая требует нахождения кратчайшего маршрута между множеством городов, прежде чем вернуться домой. А решение этой задачи позволило бы более грамотно выстраивать навигацию и планировать маршруты по всему миру, что удешевило бы и упростило перемещения людей и грузов. Подобного рода исследования уже проводит Volkswagen совместно с D-Wave и Google.

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

Наконец, квантовые системы способны найти новые методы шифрования и легко взламывать даже самые сложные шифры.

IBM Quantum уже работает с клиентами над решением подобных проблем. Компания помогает разработать новое поколение электромобилей на технологии квантовых батарей с Daimler; технологию снижения выбросов углерода в атмосферу с помощью открытия экологичных материалов с ExxonMobil: ищет истоки зарождения Вселенной вместе с CERN. А Google использовала Sycamore для точного моделирования химической реакции.

Пути решения проблем

Для решения вышеуказанных проблем, в настоящее время используют следующие подходы и методы:

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

Немного об эмуляции квантовых компьютеров

Квантовые вычисления можно эмулировать на обычном компьютере. Ведь действительно, смотрите:

Для сравнения, Summit (Top-1 из Top-500) несет на себе всего 2.8 Петабайт памяти.

Текущий рекорд симуляций — 49 кубит поставленный в прошлом году на крупнейшем китайском суперкомпьютере (Sunway Taihu Light)

Предел симуляции квантового компьютера на классических системах обусловлен количеством оперативной памяти необходимой для хранения состояния кубитов.

По операциям — для точной эмуляции схемы на 49 кубитов из каких-то 39 “тактов” (независимых слоев вентилей) потребовалось 2^63 комплексных умножений — 4 Пфлопс суперкомпьютера на протяжении 4 часов

Эмуляция квантового компьютера из 50+ кубит на классических системах считается невыполнимой за разумное время. В том числе из-за этого факта Google использовал для своего эксперимента с квантовым превосходством процессор с 53-мя кубитами.

Основная статья: Кубит

Идея квантовых вычислений состоит в том, что квантовая система из L двухуровневых квантовых элементов (квантовых битов, кубитов) имеет 2L линейно независимых состояний, а значит, вследствие принципа квантовой суперпозиции, пространство состояний такого квантового регистра является 2L-мерным гильбертовым пространством. Операция в квантовых вычислениях соответствует повороту вектора состояния регистра в этом пространстве. Таким образом, квантовое вычислительное устройство размером L кубитов фактически задействует одновременно 2L классических состояний.

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

Имеется кубит в квантовом состоянии
В этом случае вероятность получить при измерении

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

Если измерить только первый кубит квантовой системы, находящейся в состоянии , получится:

В первом случае измерение даст состояние , во втором — состояние .

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

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

Упрощённая схема вычисления на квантовом компьютере выглядит так: берётся система кубитов, на которой записывается начальное состояние. Затем состояние системы или её подсистем изменяется посредством унитарных преобразований, выполняющих те или иные логические операции. В конце измеряется значение, и это результат работы компьютера. Роль проводов классического компьютера играют кубиты, а роль логических блоков классического компьютера играют унитарные преобразования. Такая концепция квантового процессора и квантовых логических вентилей была предложена в 1989 году Дэвидом Дойчем. Также Дэвид Дойч в 1995 году нашёл универсальный логический блок, с помощью которого можно выполнять любые квантовые вычисления.

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

Большая часть современных ЭВМ работают по такой же схеме: n битов памяти хранят состояние и каждый такт времени изменяются процессором. В квантовом случае система из n кубитов находится в состоянии, являющемся суперпозицией всех базовых состояний, поэтому изменение системы касается всех 2n базовых состояний одновременно. Теоретически новая схема может работать намного (в экспоненциальное число раз) быстрее классической. Практически, например, квантовый алгоритм Гровера поиска в базе данных показывает квадратичный прирост мощности против классических алгоритмов.

Основные квантовые алгоритмы:

Пример реализации операции CNOT на зарядовых состояниях электрона в квантовых точках

Один кубит можно представить в виде электрона в двухъямном потенциале, так что означает нахождение его в левой яме, а  — в правой. Это называется кубит на зарядовых состояниях. Общий вид квантового состояния такого электрона: . Зависимость его от времени есть зависимость от времени амплитуд ; она задаётся уравнением Шрёдингера вида , где гамильтониан имеет в силу одинакового вида ям и эрмитовости вид
для некоторой константы , так что вектор есть собственный вектор этого гамильтониана с собственным значением 0 (так называемое основное состояние), а  — собственный вектор со значением (первое возбуждённое состояние). Никаких других собственных состояний (с определённым значением энергии) здесь нет, так как наша задача двумерная.

Поскольку каждое состояние переходит за время в состояние , то для реализации операции NOT (перехода и наоборот достаточно просто подождать время . То есть операция NOT реализуется просто естественной квантовой эволюцией кубита при условии, что внешний потенциал задаёт двухъямную структуру; это делается с помощью технологии квантовых точек.

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

Эта схема очень приблизительная и идеализирована; реальные схемы сложнее, и их реализация представляет вызов экспериментальной физике.

Алгоритм телепортации реализует точный перенос состояния одного кубита (или системы) на другой. В простейшей схеме используются 3 кубита: телепортируемый кубит и запутанная пара, один кубит которой находится на другой стороне. Отметим, что в результате работы алгоритма первоначальное состояние источника разрушится — это пример действия общего принципа невозможности клонирования — невозможно создать точную копию квантового состояния, не разрушив оригинал. Не получится скопировать произвольное состояние, и телепортация — замена этой операции.

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