Квантовый компьютер — что такое, как он работает и зачем нужен

Чем плох обычный компьютер?

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

Такая схема прекрасно работает практически во всех повседневных и даже научных задачах. Но есть ограничения в так называемых больших данных (BigData). Представьте, что у вас три грузовика, которые нужно распределить между двумя паромами через реку. Задача — определить, сколько есть вариантов расположения машин.

Нетрудно подсчитать, что всего существует восемь вариантов — 2*2*2 или 23. Но что если грузовиков или паромов будет несколько десятков? В этом случае степень числа может доходить до сотен, а число возможных вариантов до нониллионов (1030) и даже больше. Суперкомпьютеру для рассмотрения всех этих вариантов понадобятся годы и даже десятилетия. Зачем в принципе считать такие большие объемы данных и перебирать столько вариантов? Об этом мы поговорим чуть позже.

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

Поскольку обычные компьютеры работают в двоичной системе счисления, в памяти всегда будет находиться «1» или «0». Именно поэтому в ходе задачи перебора процессору приходится последовательно перебирать все возможные варианты и проверять, какие из них соответствуют поставленным условиям. На это тратится много времени. Можно ли как-то получить значения всех комбинаций моментально, не выполняя перебор? Об этом вопросе начали задумываться с 1980 года — именно тогда Юрий Манин, а годом позже и Ричард Фейнман предложили модель квантового компьютера. С 1982 по 1984 годы были предложены теоретическая схема квантового компьютера и первый квантовый вентиль — аналог логического элемента. Ключевой особенностью квантовых компьютеров стало использование так называемых квантовых объектов — кубитов. Эти квантовые объекты настолько маленькие, что подчиняются законам квантового мира и обладают определенными свойствами. Их отличие от классической ячейки памяти состоит в том, что они способны одновременно находиться в двух состояниях. Это называется «суперпозиция».

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

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

А теперь представьте: классический регистр в один момент времени может находиться только в одном состоянии. Из-за этого для пересмотра всех вариантов ему приходится тратить время. Квантовый регистр в конкретный момент времени находится сразу во всех состояниях, а значит, мы можем получить результат практически моментально!

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

Однако есть одна проблема. Поскольку изначально кубиты находятся в суперпозиции — то есть у выпадения «1» и «0» определенные вероятности, — то и полученный результат также верен только с определенной вероятностью. Суть существующих квантовых алгоритмов заключается в том, что для них полученный результат будет верен с вероятностью больше, чем 50 %. Соответственно, если повторить замеры очень много раз, то самый часто повторяющийся ответ окажется нужным.  

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

  • Шора — разложения числа на простые множители.
  • Гровера — решение задачи перебора, быстрый поиск в неупорядоченной базе данных.
  • Дойча-Йожи — ответ на вопрос, постоянная или сбалансированная функции.

Есть и другие для более узкоспециализированных задач.

Квантовый компьютер — это фактически как гадание на кофейной гуще. Однако применение определенных алгоритмов и возможность моментально делать миллионы повторных замеров делают такое гадание относительно точным.

Реализация квантовых компьютеров

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

Первый квантовый компьютер на два кубита был представлен в 1998 году специалистами MIT. После к разработке подключились различные университеты, компании Intel, Google, IBM и другие. Каждая из них представила одну или несколько своих реализаций квантовых вычислителей.

Многие могли слышать о компьютерах D-Wave, основанных на принципе квантового отжига — в линейке имеются модели от 128 до 5750 кубитов. Эти компьютеры созданы исключительно для узкого круга задач. Покупателями выступали такие организации, как Google, NASA, Lockheed Martin. Однако в компьютерах D-Wave используются не совсем классические кубиты, поэтому число нельзя брать для сравнения с устройствами от других производителей.

Существуют также платформы для универсальных квантовых вычислений. Например, IBM Q System One (2019) — первый в мире коммерческий квантовый компьютер, состоящий из 20 кубитов.

Одной из самых последних разработок стал квантовый процессор с 433 кубитами Osprey. Он будет использоваться для создания IBM Q System Two.

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

Перспективы применения

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

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

Классические компьютеры способны решить такую задачу, но на это требуется настолько много времени, что полученный ответ уже будет не актуален. С квантовыми компьютерами это возможно, но потребуется достаточно много кубитов. Например,  для взлома RSA-2048  в теории понадобится больше 4000 кубитов. Пока квантовые компьютеры таких высот не достигли. Прогнозирование. В финансовом секторе это открывает дополнительные возможности для инвесторов и не только. Прогнозирование рынка также требует учета огромного числа переменных, на просчет которых у классических компьютеров уйдет слишком много времени. Другая сфера применения — прогнозы погоды. Главный экономист NOAA (Национальное управление океанических и атмосферных исследований) Родни Вейер утверждает, что около трети от объема ВВП США прямо или косвенно зависит от погодных условий. Существующие модели — достаточно упрощенные, из-за чего и прогнозы получаются относительно общими для больших территорий. Квантовые компьютеры смогут учитывать больше переменных, что позволит определять точную скорость ветра, влажность и температуру буквально для каждого квадратного метра. Глобальные модели можно будет просчитывать с точностью локальных.

Что мешает распространению квантовых компьютеров?

Первое — сложность технической реализации. Квантовая запутанность, которая используется в большинстве компьютеров — крайне нестабильное состояние. Любое внешнее воздействие разрушает эту связь. Именно поэтому ученые вынуждены сроить специальные саркофаги, в которых поддерживается температура близкая к абсолютному нулю (-273,14 °C). И это не говоря о радиационной и электромагнитной защите. 

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

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

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

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

Источник:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Переводчик »