Квантовый компьютер что это
Квантовый компьютер что это
Немного о квантовых компьютерах и о том, изменят ли они нашу жизнь
Многие из нас слышали о квантовом компьютер, но что он собой представляет, а главное какие задачи с помощью него можно решать, известно далеко не всем. Квантовый компьютер уже несколько лет активно изучают лучшие умы мира; он даже появлялся на обложке журнала Time, с подписью: «Он обещает решить некоторые самые сложные проблемы человечества, при этом никто не знает, как он в действительности работает».
Сейчас компьютеры исследуют многие ученые и крупные компании, такие как Google, IBM, Microsoft и другие. По их словам, если такой компьютер все же удастся создать, то это будет настоящий прорыв, сравнимый с открытием классических компьютеров.
Квантовый компьютер и непреодолимые трудности
Квантовый компьютер — это вычислительное устройство, работающее по принципам квантовой механики, которую по праву можно назвать самым сложным разделом физики. Квантовая механика зародилась в начале 20-ого века, и изучает поведение квантовых систем и ее элементов. Квантовая частица может находиться в нескольких местах и состояниях одновременно, поэтому по определению квантовая механика полностью противоречит общей теории относительности. Но давайте не будем углубляться в науку, а вернемся к нашей главной теме — квантовому компьютеру.
В начале века выяснилось, что использование электрических схем для создания вычислительных устройств имеет свои границы, и все они практически были достигнуты. Сейчас же перед человечеством встают все новые и новые задачи, для решения которых классических компьютеров будет недостаточно. Самый простой пример такой задачи — это разложение больших чисел на множители. Для этой цели было построено большинство криптографических систем. Это покажется банальным но, если бы кому-то удалось быстро разложить большое число на простые множители, то для него стали доступны транзакции во всех банках мира.
Другая не менее важная задача, с которой современные компьютеры никогда не смогут справиться — это моделирование квантовых систем и молекул ДНК. Исходя из этого, можно сделать вывод, что создание квантовых компьютеров — весьма перспективное решение, которое позволит решить эти и многие другие проблемы.
Принцип работы квантового компьютера
Классический компьютер работает на основе транзисторов и кремниевых чипов, которые используют для обработки информации бинарный код, состоящий из нулей и единиц. Бит, как минимальная единица информации имеет два базовых состояния: 1 и 0. Изменения этих состояний можно легко контролировать: объекты могут либо находиться в конкретном месте, либо — не находится. Именно поэтому многие физические объекты внешнего мира можно перенести в виртуальный с помощью сложных комбинаций битов. Работа же квантового компьютера будет основываться на принципе суперпозиции, а вместо битов будут использоваться кубиты (квантовые биты), которые одновременно могут находиться во всевозможных состояниях (в 1 и 0 одновременно). По словам ученных, за счет этого квантовые компьютеры для определенных классов задач будут в миллионы раз мощнее нынешних. Сейчас уже описаны десятки всевозможных алгоритмов работы квантового компьютера, даже разрабатываются особые языки программирования.
По большому счету, мир использует квантовые технологии уже давно. Лазеры, томографы и сверхчувствительные микроскопы базируются на массовых эффектах, создаваемых большими группами квантовых частиц или волн, которые подчиняются законам квантовой механики. Основная же задача состоит в использовании этих эффектов для отдельных частиц, а не групп в целом.
Для чего нужен квантовый компьютер?
Пока ученные трудятся над созданием квантового компьютера, они одновременно ищут ему применение. Главным остается тот факт, что такой компьютер сможет моментально совершать вычисления и работать с большим объемом данных.
С помощью квантовых компьютеров можно оптимизировать множество процессов: от медицины и до машиностроения. Например, у людей появится возможность диагностировать рак на более ранних стадиях, или делать более сложные автопилоты. Как упоминалось ранее, с помощью квантового компьютера будет возможно быстро раскладывать большие числа на множители и моделировать молекулы ДНК. Также существует теория того, что квантовый компьютер будет справляться с задачами, которые обычный компьютер решить не в состоянии или потратит на это тысячи лет вычислений. Это, допустим, создание искусственного интеллекта или поиск разумных существ во Вселенной, кроме человека. В любом случае все ученные сходятся на том, что это создание такого компьютера будет настоящим прорывом, возможно, главным в истории человечества.
Исправление ошибок — основная проблема квантовых компьютеров
Ошибки в квантовых компьютерах можно разделить на два главных уровня. Ошибки первого уровня присущи всем компьютерам, в том числе и классическим. К таким ошибкам относится непроизвольная смена кубитов из-за внешнего шума (например: космических лучей или радиации). С этой проблемой недавно удалось справиться специалистам из компании Google. Для решения этой проблемы команда ученых во главе с Джулианом Келли создала особую квантовую схему из девяти кубитов, которые ищут ошибки в системе. Остальные кубиты отвечают за сохранность информации, таким образом, сохраняя ее дольше, нежели с использованием единичного кубита. Однако основная проблема никуда не делась, остается второй уровень ошибок.
Кубиты изначально по своей природе нестабильны, они мгновенно забывают информацию, которую вы хотите сохранить на квантовый компьютер. Под воздействием на кубит окружающей среды нарушается связь внутри квантовой системы (процесс декогеренции). Чтобы избавиться от этого, квантовый процессор нужно максимально изолировать от воздействия внешних факторов. Как это сделать? — пока остается загадкой. По словам экспертов, 99% мощности такого компьютера уйдет на исправления ошибок, и лишь 1% хватит для решения любых задач. Конечно, от ошибок не удастся избавиться полностью, но если минимизировать их до определенного уровня, квантовый компьютер сможет работать.
Насколько человечество близко к созданию квантовых компьютеров?
Дать ответ на этот вопрос сейчас очень сложно — практически невозможно. Новости о прорывах в этой сфере появляются регулярно, но нельзя сказать, что они глобальные. В создании квантовых компьютеров заинтересованы все: начиная военными и заканчивая технологическими компаниями. Компания D-Wawe, с которой активно сотрудничает Google и NASA, заявляет, что создала процессор с 84 кубитами, но критики, проанализировавшие его сообщили, что он работает как классический. IBM несколько лет назад объявили, что создали чип с тремя кубитами, а Microsoft основательно занимается разработкой квантовых компьютеров еще с 2007 года.
По прогнозу исследователей из компании Cisco Systems, полноценный рабочий квантовый компьютер появится к середине следующего десятилетия, и будут по мощности сравним с человеческим мозгом. В любом случае проблема разработки новых совершенных компьютеров будет актуальна до тех пор, пока человечество не научится исправлять квантовые ошибки второго уровня. Если это когда-то случится, то до создания рабочего квантового компьютера останется лишь несколько лет.
Миллион задач в секунду: как работают квантовые компьютеры
Квантовые компьютеры смогут решать те задачи, с которыми не способны справиться даже самые мощные суперкомпьютеры современности. Работу над ними ведут такие гиганты ИТ-индустрии, как IBM, Microsoft, Google и Intel. РБК Тренды выяснили, как развивается это направление разработки и с какими трудностями оно сталкивается.
Что такое квантовый компьютер
Привычные нам компьютеры хранят информацию в двоичном коде, а наименьшей единицей хранения информации является бит. Он может принимать строго одно из двух значений: 0 или 1. При решении задачи ПК проводит множество последовательных операций с битами, и в случае со сложными задачами этот процесс занимает много времени.
Квантовые компьютеры работают принципиально иначе, чем классические. Для решения любых алгоритмических задач они используют квантовые биты — кубиты.
Кубиты могут существовать одновременно в нескольких состояниях, поэтому при проведении вычислений не перебирают последовательно все возможные комбинации, как обычный компьютер, а делают вычисления моментально. В итоге та задача, на выполнение которой у обычного компьютера ушла бы неделя, может выполняться на квантовом компьютере за секунду.
В настоящее время усилия ведущих игроков сосредоточены в направлении разработки специализированных квантовых вычислителей для конкретной задачи (так делает D-Wave) и универсальных квантовых компьютеров для решения разных задач (IBM, Google).
Первый двухкубитный квантовый компьютер появился в 1998 году. Он работал на так называемом явлении «ядерного магнитного резонанса». Компьютер использовался в Оксфордском университете, в исследовательском центре IBM и Калифорнийским университетом в Беркли вместе с сотрудниками из Стэнфордского университета и Массачусетского технологического института. В 2018 году IBM предложила сторонним компаниям использовать ее 20-кубитный квантовый компьютер через облако. Google представила 53-кубитный компьютер Sycamore и заявила о достижении квантового превосходства. Квантовое превосходство подразумевает способность квантовых вычислительных устройств решать те проблемы, которые не могут решить классические компьютеры. По заявлению компании, Sycamore потребовалось около 200 секунд, чтобы выполнить выборку одного экземпляра схемы миллион раз. Самому мощному суперкомпьютеру Summit для той же задачи понадобилось бы около 10 тыс. лет.
Правда, в IBM оспорили утверждение Google. Компания утверждала, что Summit справится с задачей для Sycamore в худшем случае за 2,5 дня, но полученный ответ будет точнее, чем у квантового компьютера. Это позволил предположить теоретический анализ.
В России квантовые технологии также привлекают внимание исследователей. Так, в 2010 году для проведения исследовательских работ в этой области был организован Российский квантовый центр. В 2019 году была разработана сначала единая дорожная карта, а после — дорожная карта на каждое отдельное направление: квантовые вычисления, квантовые коммуникации и квантовые сенсоры. Руслан Юнусов, руководитель проектного офиса по квантовым технологиям госкорпорации «Росатом», говорит, что создание квантовых процессоров стало одной из основных задач дорожной карты, утвержденной в июле 2020 года. По его словам, работа ведется в нескольких плоскостях: развитии фундаментальной науки и первых прикладных внедрениях квантовых продуктов. Россия стала одним из 17 технологически развитых государств с официально утвержденной квантовой стратегией.
Юнусов рассказал, что перед отечественными разработчиками стоит задача к 2025 году построить квантовые процессоры на четырех основных платформах: сверхпроводниках, ионах, атомах и фотонах, а также создать облачный софт, который позволил бы работать с этими процессорами удаленно, вне лабораторий. На реализацию дорожной карты предусмотрено финансирование в размере 23,7 млрд рублей.
Как работает квантовый компьютер
Квантовые компьютеры для вычислений используют такие свойства квантовых систем, как суперпозиция и запутанность. В суперпозиции квантовые частицы представляют собой комбинацию всех возможных состояний, пока не произойдет их наблюдение и измерение. Запутанные кубиты образуют единую систему и влияют друг на друга. Измерив состояние одного кубита, возможно сделать вывод об остальных. С увеличением числа запутанных кубитов экспоненциально растет способность квантовых компьютеров обрабатывать информацию.
Базовым элементом, выполняющим логические операции в классическом компьютере, является вентиль. Для работы квантового компьютера используются квантовые вентили, собранные из кубитов. Они бывают однокубитные и двухкубитные. Также существуют универсальные наборы вентилей, с помощью которых можно выполнить любое квантовое вычисление
Кроме того, квантовые компьютеры не могут работать со стандартным софтом вроде Windows. Для них требуется своя операционная система и приложения. Некоторые технологические гиганты уже предлагают организациям опцию квантовых вычислений в облаке. Облачные квантовые вычисления обеспечивают прямой доступ к эмуляторам, симуляторам и квантовым процессорам.
Поставщики также предоставляют платформы разработки и документацию для языков и инструментов вычислений. IBM уже представила программную платформу для квантовых вычислений с открытым исходным кодом под названием Qiskit. А Microsoft выпустила инструмент бесплатного разработчика вычислительной техники на языке Q# и симулятор квантовых вычислений. Над разработкой ПО для квантовых компьютеров работают также 1QBit, Cambridge Quantum Computing, QSimulate, Rahko, Zapata и другие компании.
Для работы квантовых компьютеров требуются квантовые алгоритмы. Из наиболее известных квантовых алгоритмов можно выделить три:
Квантовый компьютер работает на вероятностном принципе. Его результатом работы является распределение вероятностей возможных ответов, наиболее вероятный ответ обычно является лучшим решением.
Квантовые кубиты в физической реализации бывают нескольких типов: сверхпроводниковые, зарядовые, ионные ловушки, квантовые точки и другие.
Настоящий уровень развития технологий позволяет создать большое количество кубитов, сложность возникает с устойчивостью такой системы. Как и все квантовые системы, кубиты легко теряют заданное квантовое состояние при взаимодействии с окружением (происходит их декогеренция). При этом в работе квантового компьютера растет количество ошибок вычислений. Чтобы обеспечить ее устойчивость при проведении вычислений, требуется оградить систему от любого фонового шума, например, в случае сверхпроводниковых систем, охлаждая их до температур, близких к нулю по Кельвину (-273,1 °C). Разработчики используют сверхтекучие жидкости, чтобы добиться такого охлаждения.
Как объяснил Руслан Юнусов, исторически сверхпроводники считались наиболее перспективным направлением благодаря хорошей масштабируемости, стабильности во времени, контроле параметров и относительной легкости управления ими. Именно на этой платформе построены квантовые компьютеры IBM, Google и Rigetti. Однако, по его словам, в последнее время все большую популярность приобретают альтернативные квантовые платформы: ионы, демонстрирующие высочайшие на сегодняшний день показатели стабильности и точности операций (Honeywell, IonQ), и фотоны, преимуществами которых являются малый размер фотонного процессора и возможность работы при комнатных температурах (Xanadu, PsiQuantum, Quix).
Кроме того, развиваются новые концепции: системы на поляритонах или магнонах, системы бозе-эйнштейновских конденсатов, когерентные машины Изинга, когерентные CMOS-архитектуры. Так, в поляритонной архитектуре битом служит поляритон — квазичастица, сочетающая свойства света и вещества. Теоретически, поляритонный квантовый компьютер сможет работать при комнатной температуре, что снизит его стоимость и упростит изготовление. В настоящее время изучением поляритонных структур занимается Сколтех.
Чем квантовый компьютер превосходит обычный?
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому. При этом большими объемами данных можно управлять одновременно с помощью концепции, известной как квантовый параллелизм. Имея возможность вычислять и анализировать разные состояния данных одновременно, а не по одному, квантовые системы могут давать результаты с очень высокой скоростью.
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому.
Квантовые системы можно было бы применить для того, чтобы решить проблему коммивояжера — задачу, которая требует нахождения кратчайшего маршрута между множеством городов, прежде чем вернуться домой. А решение этой задачи позволило бы более грамотно выстраивать навигацию и планировать маршруты по всему миру, что удешевило бы и упростило перемещения людей и грузов. Подобного рода исследования уже проводит Volkswagen совместно с D-Wave и Google.
Квантовый компьютер способен обрабатывать огромные объемы финансовых, фармацевтических или климатологических данных, чтобы найти оптимальные решения проблем в этих отраслях.
Наконец, квантовые системы способны найти новые методы шифрования и легко взламывать даже самые сложные шифры.
IBM Quantum уже работает с клиентами над решением подобных проблем. Компания помогает разработать новое поколение электромобилей на технологии квантовых батарей с Daimler; технологию снижения выбросов углерода в атмосферу с помощью открытия экологичных материалов с ExxonMobil: ищет истоки зарождения Вселенной вместе с CERN. А Google использовала Sycamore для точного моделирования химической реакции.
Вводная по квантовым компьютерам (перевод с сайта Explaining Computers)
Привет, Хабр! Представляю вашему вниманию перевод статьи «Quantum Computing» автора Christopher Barnatt.
Квантовые вычисления
Основы квантовых вычислений
Традиционные компьютеры построены из кремниевых микросхем, содержащих миллионы или миллиарды миниатюрных транзисторов. Каждый из них может быть включен — в понимании машины это состояние «0» или «1». Впоследствии компьютер хранит и обрабатывают данные, используя «двоичные числа» или «биты».
Квантовые компьютеры работают с «квантовыми битами» или «кубитами». Они могут поддерживаться аппаратно разными способами — например, с помощью квантово-механических свойств сверхпроводящих электрических цепей или отдельных захваченных ионов.
Кубиты могут существовать более чем в одном состоянии или «суперпозиции» в один и тот же момент времени. Что позволяет кубиту принимать значение «1», «0» или оба значения одновременно. Это позволяет квантовому компьютеру обрабатывать гораздо большее количество данных, чем классический компьютер, и выполнять массовую параллельную обработку. Это также означает, что каждый кубит, добавленный в квантовый компьютер, экспоненциально увеличивает его мощность.
Большинство людей теряется, когда слышит про свойства кубита. Подброшенная монета не может выпадать одновременно орлом и решкой. И всё же, квантовому состоянию кубита под силу что-то подобное. Поэтому неудивительно, что известный физик-ядерщик Нильс Бор однажды заявил: — «Всякий, кого не шокирует квантовая теория, просто её не понимает!»
Помимо суперпозиций, кубиты могут «запутываться». «Запутанность» — ещё одно ключевое квантово-механическое свойство, означающее, что состояние одного кубита может зависеть от состояния другого. Это означает, что наблюдение за одним кубитом может выявить состояние его ненаблюдаемой пары.
Создавать кубиты и управлять ими очень сложно. Многие из сегодняшних экспериментальных квантовых процессоров используют квантовые явления, возникающие в сверхпроводящих материалах, и, следовательно, нуждаются в охлаждении почти до абсолютного нуля (около минус 272 градусов Цельсия). Также требуется защита от фонового шума, и даже в этом случае выполнение вычислений с использованием кубитов потребуют исправления ошибок. Основной задачей квантовых вычислений является создание отказоустойчивой машины.
Квантовые первопроходцы
К компаниям, которые в настоящее время разрабатывают оборудование для квантовых компьютеров, относятся: IBM, Alibaba, Microsoft, Google, Intel, D-Wave Systems, Quantum Circuits, IonQ, Honeywell, Xanadu и Rigetti. Многие из них работают совместно с исследовательскими группами крупных университетов, и все они продолжают добиваться значительных успехов. Дальше приводится обзор работы каждой из этих компаний.
IBM работает над созданием квантового компьютера уже более 35 лет. Она добилась значительного прогресса с несколькими работающими машинами. Согласно веб-сайту IBM-Q: — «Сегодня квантовые вычисления — это игровая площадка для исследователей, но через пять лет они станут мейнстримом. Через пять лет эффект квантовых вычислений выйдет за рамки исследовательской лаборатории. Он будет широко использоваться новыми категориями профессионалов и разработчиков, которые используют этот новый метод вычислений для решения проблем, которые когда-то считались неразрешимыми».
В 2016 году IBM запустила сайт под названием IBM Q Experience, который показал 5-кубитный квантовый компьютер всему интернету. С этого времени, к нему присоединились вторая машина на 5 кубитов и машина на 16 кубитов, обе из которых доступны для экспериментов. Чтобы помочь тем, кто хочет узнать о квантовых вычислениях и принять участие в их разработке, IBM предлагает программную платформу для квантовых вычислений с открытым исходным кодом под названием Qiskit.
В ноябре 2017 года IBM объявила, что к её квантовому облаку добавляются две 20-кубитные машины. Их могут использовать клиенты, которые являются зарегистрированными членами IBM Q Network. IBM описывает это как «всемирное сообщество ведущих компаний, стартапов, академических институтов и национальных исследовательских лабораторий из списка Fortune 500, работающих с IBM над продвижением квантовых вычислений и изучением практических приложений для бизнеса и науки».
Также в ноябре 2017 года IBM объявила что сконструировала квантовый процессор на 50 кубитов, который на тот момент считался самым мощным квантовым оборудованием.
50-кубитный квантовый компьютер IBM
В январе 2019 года IBM объявила о выпуске своей IBM Q System One как «первой в мире интегрированной универсальной системы приближенных квантовых вычислений, разработанной для научного и коммерческого использования». Эта модульная и относительно компактная система предназначена для использования вне лабораторных условий. Вы можете узнать больше о IBM Q System One в этом пресс-релизе.
Ещё один технологический гигант, который усердно работает над тем, чтобы квантовые вычисления стали реальностью, — это Google, у которой есть лаборатория квантового ИИ. В марте 2017 года инженеры Масуд Мохсени, Питер Рид и Хартмут Невен, которые работают на этом объекте, опубликовали статью в Nature. В ней они рассказали, что квантовые вычисления возможны на относительно небольших устройствах, которые появятся в течение следующих пяти лет. Это подтверждает взгляды IBM на сроки появления коммерческих квантовых вычислений.
На раннем этапе развития квантовых вычислений компания Google использовала машину от канадской компании D-Wave Systems. Однако сейчас компания активно разрабатывает собственное оборудование, а в марте 2018 года анонсировала новый 72-кубитный квантовый процессор под названием Bristlecone.
В июне 2019 года директор лаборатории квантового искусственного интеллекта Google Хартмут Невен отчитался, что мощность их квантовых процессоров в настоящее время растет вдвое экспоненциально. Это было названо «законом Невана» и предполагает, что мы можем достичь точки квантового превосходства, когда квантовый компьютер может превзойти любой классический компьютер к концу 2019 года.
В октябре 2019 года команда инженеров Google опубликовала в Nature статью, в которой утверждала, что достигла квантового превосходства. В частности, учёные Google использовали квантовый процессор под названием Sycamore для выборки выходного сигнала псевдослучайной квантовой схемы. Sycamore потребовалось около 200 секунд, чтобы выполнить выборку одного экземпляра схемы миллион раз. Для сравнения, команда Google подсчитала, что классическому суперкомпьютеру потребуется около 10 000 лет для выполнения тех же вычислений. Далее команда пришла к выводу: — «Квантовые процессоры на основе сверхпроводящих кубитов теперь могут выполнять вычисления за пределами досягаемости самых быстрых классических суперкомпьютеров, доступных сегодня. Этот эксперимент знаменует собой первое вычисление, которое может быть выполнено только на квантовом процессоре. Таким образом, квантовые процессоры достигли режима квантового превосходства».
Это откровение инженеров Google было большой новостью, но вскоре вызвало споры. IBM опубликовала сообщение в блоге, сказав, что вычисления в эксперименте Google могут быть выполнены на классическом компьютере за два с половиной дня, а не за 10 000 лет. И по утверждению IBM: — «Поскольку первоначальное значение термина «квантовое превосходство», предложенное Джоном Прескиллом в 2012 году, заключалось в описании точки, в которой квантовые компьютеры могут делать то, что не могут классические компьютеры — эта граница ещё не преодолена».
Alibaba
В Китае главным интернет-гигантом является Alibaba, а не Google. А в июле 2015 года они объединилась с Китайской Академией Наук, чтобы сформировать «Лабораторию квантовых вычислений CAS — Alibaba». Как пояснил профессор Цзянвэй Пан, их цель состоит в том, чтобы «провести передовые исследования систем, которые кажутся наиболее многообещающими для реализации практических приложений квантовых вычислений, а также разрушить узкие места закона Мура и классических вычислений». Вы можете посетить сайт лаборатории здесь.
Как и IBM, Alibaba сделала экспериментальный квантовый компьютер доступным в Интернете. В частности, в марте 2018 года китайский гигант электронного бизнеса запустил своё «сверхпроводящее облако квантовых вычислений», чтобы обеспечить доступ к 11-кубитному квантовому компьютеру. Он был разработан с Китайской Академией Наук и позволяет пользователям запускать квантовые программы и загружать результаты.
Microsoft
Как и следовало ожидать, Microsoft тоже заинтересована в квантовых вычислениях и работает с некоторыми ведущими учёными и университетами мира. С этой целью Microsoft создала несколько лабораторий «Station Q», например лабораторию в Калифорнийском университете. В феврале 2019 года компания также анонсировала Microsoft Quantum Network, чтобы объединить вместе все партнёрские коалиции.
Ключевым элементом стратегии Microsoft является разработка квантовых компьютеров на основе «топологических кубитов», которые, по мнению компании, будут менее подвержены ошибкам (следовательно, для исправления ошибок потребуется меньшее количество системных ресурсов). Microsoft также считает, что топологические кубиты будет легче масштабировать для коммерческого применения. Согласно статье в Computer Weekly за май 2018 года, вице-президент Microsoft, отвечающий за квантовые вычисления, считает, что коммерческие квантовые компьютеры могут появиться на их облачной платформе Azure всего через пять лет.
Что касается программного обеспечения, то в декабре 2017 года Microsoft выпустила предварительную версию своего инструмента разработчика вычислительной техники. Его можно загрузить бесплатно, он включает язык программирования под названием Q# и симулятор квантовых вычислений. В мае 2019 года Microsoft сообщила, что собирается открыть исходный код инструмента разработчика. А в мае 2020 года компания анонсировала свой сервис облачных вычислений Azure Quantum.
Intel
Intel, как ведущий производитель микропроцессоров в мире, тоже работает над созданием микросхем для квантовых вычислений. Компания применяет два различных подхода. Одно из этих направлений проводится совместно с ведущим голландским пионером квантовых вычислений QuTech. 17 ноября 2017 года Intel объявила о поставке своему партнеру в Нидерландах тестового чипа на 17 кубитов. Затем, в январе 2018 года на выставке CES, компания объявила о поставке тестового квантового процессора на 49 кубитов под названием Tangle Lake.
Второе направление исследований Intel в области квантовых вычислений проводится исключительно внутри компании и включает в себя создание процессоров на основе технологии, называемой «спиновой кубит». Это важное нововведение, поскольку чипы спиновых кубитов производятся с использованием традиционных методов изготовления кремния Intel. В июне 2018 года Intel сообщила, что начала тестирование 26-спинового кубитного чипа.
Спиновые кубиты Intel имеют диаметр всего около 50 нанометров, или 1/1500 ширины человеческого волоса. Это означает, что, возможно, через десять лет Intel сможет производить крошечные квантовые процессоры, содержащие тысячи или миллионы кубитов. В отличие от обычных процессоров, их нужно охлаждать почти до абсолютного нуля. Но потенциал поистине захватывающий. Согласно разделу сайта Intel, посвященному квантовым вычислениям, компания нацелена на производство квантовых процессоров в течение десяти лет и ожидает, что технология начнет входить в свою «коммерческую фазу» примерно в 2025 году.
D-Wave Systems
D-Wave Systems — пионер квантовых вычислений, базирующийся в Канаде, и ещё в 2007 году продемонстрировавший 16-кубитный квантовый компьютер. В 2011 году компания продала 128-кубитную машину D-Wave One за 10 миллионов долларов американской военно-промышленной корпорации Lockheed Martin. В 2013 году — 512-кубитные D-Wave Two ведомству NASA и компании Google. К 2015 году D-Wave преодолела барьер в 1000 кубитов со своим D-Wave 2X, а в январе 2017 года продала свою первую 2000-кубитную машину D-Wave 2000Q фирме, специализирующейся в кибербезопасности, Temporal Defense Systems.
Читая этот список достижений, вы, возможно, пришли к выводу, что D-Wave должен быть ведущим производителем квантовых компьютеров в мире. В конце концов, это единственная компания, которая торгует такими машинами. Тем не менее, работа компании остаётся спорной. Это потому, что их оборудование основано на «адиабатическом» процессе, называемом «квантовый отжиг», который другие пионеры отвергли как «ограничительный» и «тупиковый». IBM, например, использует подход к квантовым вычислениям «на основе затвора», который позволяет ей управлять кубитами аналогично тому, как транзистор управляет потоком электронов в обычном микропроцессоре. Но в системе D-Wave такого контроля нет.
Вместо этого квантовый компьютер D-Wave использует факт того, что все физические системы стремятся к состояниям с минимальной энергией. Так, например, если вы заварите чашку чая и отлучитесь по делам — когда вы вернетесь, она будет холодной, потому что содержимое стремится к минимальному энергетическому состоянию. Кубиты в системе D-Wave также этому подвержены, и поэтому компания использует своё оборудование для решения проблем оптимизации, которые могут быть выражены как «проблемы минимизации энергии». Это ограничивает в возможностях, но всё же позволяет аппаратному обеспечению выполнять определенные алгоритмы намного быстрее, чем классический компьютер. Вы можете ознакомиться с видео, в котором D-Wave объясняет свой подход к квантовым вычислениям.
В августе 2016 года в статье Physical Review X сообщалось, что некоторые алгоритмы работают до 100 миллионов раз быстрее на D-Wave 2X, чем на одноядерном классическом процессоре. Одним из авторов этого исследования оказался технический директор Google. Всё это говорит о том, что мнение о ценности работы D-Wave для развития квантовых вычислений остаётся спорным.
Компания продолжает продвигать свои квантовые компьютеры. В октябре 2018 года D-Wave запустила облачную квантовую среду приложений под названием Leap. Она обеспечивает доступ в реальном времени к квантовому компьютеру D-Wave 2000Q, а в марте 2019 года доступ был расширен, чтобы предоставить такую возможность Японии и всей Европе.
Rigetti
Ещё один игрок в области квантовых вычислений — это стартап под названием Rigetti. В компании уже работает более 120 сотрудников, и они собрали 19-кубитный квантовый компьютер доступный онлайн через свою среду разработки под названием Forest.
Quantum Circuits
Другой стартап — Quantum Circuits, основанный ведущим профессором квантовых вычислений Робертом Шёлкопфом и другими коллегами из Йельского университета. Компания привлекла 18 миллионов долларов венчурного капитала и планирует «победить гигантов компьютерной индустрии» в гонке за создание жизнеспособного квантового компьютера.
IonQ — специализируется в области квантовых вычислений с захваченными ионами. Компания утверждает, что её технология «сочетает в себе непревзойденную физическую производительность, идеальную репликацию кубитов, возможность подключения к оптическим сетям и высокооптимизированные алгоритмы», чтобы «создать квантовый компьютер, который является столь же масштабируемым, сколь и мощным и который будет поддерживать широкий спектр приложений в самых разных отраслях». Если вы хотите узнать больше о квантовых вычислениях, на сайте IonQ есть отличное учебное пособие.
Xanadu
Xanadu разрабатывает фотонные квантовые вычисления, интегрируя «квантовые кремниевые фотонные чипы в существующее оборудование для создания полнофункциональных квантовых вычислений». Как отмечает компания, по сравнению с другими технологиями кубитов, «фотоны очень стабильны и почти не подвержены влиянию случайного шума от тепла. Мы используем фотонные чипы для генерации, управления и измерения фотонов способами, обеспечивающими чрезвычайно быстрые вычисления».
Honeywell
Еще одна компания, которая применяет способ квантовых вычислений с захваченными ионами, является Honeywell. У компании огромный опыт в области бизнес-вычислений. В июне 2020 года Honeywell объявила о создании самого высокопроизводительного квантового компьютера в мире. Остальные компании отнеслись к этому скептически. Но, тем не менее, это ещё одна важная разработка — особенно потому, что как стало известно, американский финансовый холдинг JPMorgan Chase уже экспериментирует со этой системой для разработки приложений финансовых услуг, включая обнаружение мошенничества и торговлю под управлением ИИ.
Amazon
Amazon не объявила о разработке аппаратного или программного обеспечения для квантовых вычислений. Однако, 2 декабря 2019 года гигант запустил ряд квантовых сервисов Amazon Web Services. К ним относится Amazon Bracket, который позволяет учёным, исследователям и разработчикам начинать эксперименты с квантовыми компьютерами от нескольких поставщиков оборудования. В частности, клиенты могут получить доступ к оборудованию от Rigetti, Ion-Q и D-Wave Systems, что означает, что они могут экспериментировать с системами, основанными на трёх различных технологиях кубитов.
Помимо Bracket, Amazon также запустила лабораторию Amazon Quantum Solutions Lab. Она предназначена, чтобы помочь компаниям «подготовиться к квантовым вычислениям», позволяя им работать с ведущими экспертами. Таким образом, ключевая вещь, которую Amazon делает со своими предложениями по квантовым вычислениям, — это действовать в качестве облачного брокера. То есть стать посредником между производителями квантовых компьютеров и теми, кто захочет воспользоваться их мощностями.
Разработчики программного обеспечения для квантовых компьютеров
Даже лучшее всего оборудованный квантовый компьютер не сможет использоваться без соответствующего программного обеспечения, и многие из производителей этих машин разрабатывают собственное. Тем не менее, количество стороннего ПО под квантовые компьютеры постоянно растет.
1QBit
1QBit сотрудничает с крупными компаниями и «ведущими поставщиками оборудования для решения отраслевых задач в области оптимизации, моделирования и машинного обучения». Компания разрабатывает программное обеспечение как для классических, так и для квантовых процессоров.
Cambridge Quantum Computing разрабатывает ПО для квантовых компьютеров под решения «самых интригующих задач» в таких областях, как квантовая химия, квантовое машинное обучение и квантовая кибербезопасность. В число клиентов входят компании, входящие в «некоторые из крупнейших в мире химических, энергетических, финансовых и материаловедческих организаций», которые пробуют использовать возможности квантовых вычислений.
QC Ware
QC Ware разрабатывает «корпоративное программное обеспечение и услуги для квантовых вычислений» с клиентами, включая Airbus, BMW и Goldman Sachs, и партнерами по оборудованию, включая AWS, D-Wave Systems, Google, IBM, Microsoft и Rigetti.
QSimulate
QSimulate разрабатывает ПО, чтобы «использовать возможности количественного моделирования для решения насущных проблем в фармацевтической и химической областях».
Rahko
Rahko создаёт ПО, которое предназначено для использования квантового машинного обучения (квантового ИИ) под решения задач квантовой химии.
Zapata
Zapata работает со своими клиентами над разработкой ПО для квантовых компьютеров под решения сложных вычислительных задач в таких областях, как химия, финансы, логистика, фармацевтика, машиностроение и материалы.
Пользователи приложений квантовых компьютеров
Приложения для квантовых компьютеров включают молекулярное моделирование (также известное как квантовая химия), оптимизацию логистики, финансовое моделирование, криптографию и обучение искусственного интеллекта. Некоторые крупные предприятия уже активно изучают — что именно квантовые машины смогут сделать для их исследований и разработок, продуктов и услуг, а также их чистой прибыли. Я приведу несколько примеров.
Daimler работает как с IBM, так и с Google, чтобы оптимизировать маршруты доставки автомобилей или поток запчастей через фабрики. Компания также изучает, как квантовые компьютеры можно использовать для моделирования химических структур и реакций внутри батарей, чтобы помочь в усовершенствовании электромобилей.
Другой автомобильный гигант — Volkswagen работает с Google и с D-Wave Systems, чтобы применить квантовые компьютеры в решении проблем оптимизации транспортного потока и в разработке лучших аккумуляторов.
В финансовом секторе, JPMorgan работает с IBM, чтобы изучить, как квантовые компьютеры смогут помочь в разработке торговых стратегий, оптимизации портфеля, ценообразования на активы и анализа рисков. Другой финансовый конгломерат — Barclays участвует в сети IBM Q Network, чтобы выяснить, можно ли использовать квантовые компьютеры для оптимизации расчётов по крупным пакетам финансовых транзакций.
В 2011 году аэрокосмический гигант Lockheed Martin стал первым покупателем квантового компьютера, произведенного D-Wave Systems, и продолжил изучение возможности использования этой технологии для приложений, включая управление воздушным движением и проверку системы. Airbus аналогичным образом исследует, как квантовые компьютеры могут ускорить его исследовательскую деятельность, и вложил средства в компанию QC Ware, производящую программное обеспечение для квантовых машин.
Тем временем Accenture Labs и биотехнологическая компания Biogen сотрудничают с 1QBit, исследуя, как можно ускорить открытие лекарств, применив квантовые компьютеры для молекулярных сравнений. В сентябре 2017 года IBM использовала своё 7-кубитное оборудование для моделирования структуры трёхатомной молекулы гидрида бериллия. В октябре 2017 года Google и Rigetti также анонсировали OpenFermion, программу для моделирования химических процессов на квантовом компьютере.
Квантовое будущее
Я надеюсь, что эта статья продемонстрировала вам, как квантовые вычисления довольно быстро превращаются из фантазий в реальность. Разумно предположить, что в 20-х годах из облака будут доступны квантовые суперкомпьютеры, которым найдут практичное применение и это будет стоить недорого. Вполне возможно, что через десять лет основные службы интернет-поиска и облачного ИИ будут использовать возможности квантовых машин, а большинство пользователей этого и не осознают.
Для тех, кто хочет узнать больше, приведу несколько избранных источников для получения дополнительной информации:
Квантовый компьютер: технология будущего, которой мы пока не умеем пользоваться
Привет, Хабр! Меня зовут Андрей Тотмаков, я технический директор Platforma. И сегодня я хочу рассказать о крайне странном устройстве, которое выходит за рамки понимания обычного человека.
Да, я говорю о квантовом компьютере. Постараюсь объяснить простым языком, как он работает сейчас и для решения каких задач его можно будет использовать в будущем. Поехали!
Квантовый компьютер: что ты такое?
Заметил одну интересную штуку. Очень многие люди, даже далекие от физики или программирования, слышали о квантовом компьютере. Часть представляет его похожим на обычный транзисторный аппарат. Разве что размерами побольше — как крупный серверный шкаф или один из распиаренных суперкомпьютеров. Часть, наоборот, видят его супер маленьким.
Еще популярно мнение, что квантовый компьютер отличается от обычного только скоростью вычислений. Но как он работает и для чего нужен — ответить не могут. Некоторые считают, что на такой машине было бы хорошо сыграть в какую-нибудь игру на ультра настройках графики. Вот только не получится. В квантовых компьютерах не просто другая логика вычислений — она вообще находится в другом измерении.
Внешний вид квантового компьютера — об этом стоит поговорить отдельно. Если вы вдруг еще не знаете, то вот он:
Да, это не люстра, а компьютер. Вернее, только его часть. Ведь кроме вычислительной части, о которой мы еще поговорим, нужна еще большая и сложная махина для охлаждения. Потому что работает он при температуре 20 мК.
При температурах близких к абсолютному нулю классическая физика ломается и становится похожей на чудеса.
Если без сложных формул и объяснений, то при сверхнизких температурах достаточно большое число бозонов вещества оказывается в минимально возможных квантовых состояниях. Из-за чего эффекты квантовой физики проявляются на макроскопическом уровне. Да так проявляются, что их можно использовать в вычислениях.
Сейчас ведется разработка квантовых компьютеров, которые не зависят от температуры и используют фотоны. Но до работающих агрегатов еще очень далеко, поэтому оперируем тем, что есть.
Что «под капотом» квантового компьютера: квантовая суперпозиция
Начнем с основы основ. Обычный компьютер оперирует битами — наименьшей частицей информации, у которой есть два значения: 0 и 1. Других вариантов нет. Собственно, любое вычисление на обычном компьютере — это тонны нулей и единиц.
К примеру, у процессора Intel Core i7 2700 производительность на уровне 124,8 гигафлопс — это 128,4 млрд операций с плавающей точкой в секунду.
У квантовых компьютеров другая минимальная единица информации — кубит. И чтобы в полной мере понять, как он работает, нужно хотя бы примерно понимать принципы квантовой суперпозиции.
Есть классический пример с котом Шредингера. Уверен, вы и так знаете, о чем он. Но на всякий случай, повторю:
Допустим, у нас есть закрытый сейф. Внутри него сидит обычный кот и адская машина, защищенная от него.
Принцип адской машины примерно следующий: внутри находится очень малое количество радиоактивных атомов. И вероятность, что за час распадется хотя бы один из них, равна вероятности, что не распадется ни одного. То есть, 50 на 50.
Вокруг радиоактивного вещества находится чувствительный к электронам экран. Если хотя бы один атом распадется, он приведет в действие механизм, который выпустит ядовитый газ, и кот умрет.
Наблюдателю невозможно точно предсказать, жив кот или нет. Для этого нужно открыть сейф и посмотреть. А когда он закрыт, кот находится в суперпозиции — он одновременно жив и мертв.
Этот мысленный эксперимент примерно объясняет, как работает квантовая суперпозиция, которая играет ключевую роль в функциях кубита.
Квант может принимать значение 0 или 1, но при этом быть между нулем и единицей, находясь в суперпозиции. Не четко определенное значение, а вероятность получить одно из этих состояний.
Постараюсь объяснить еще проще. 3 бита информации могут дать одну из восьми комбинаций нулей и единиц: 000, 001, 010, 100, 011, 101, 110, 111. Только одну. 3 кубита оперируют сразу восемью возможными комбинациями, вычисляя вероятности, а не четкие значения.
Причем с каждым кубитом отрыв по вычислительной мощности от обычного процессора увеличивается в геометрической прогрессии. 10 кубитов могут одновременно оперировать 1024 комбинациями, а 30 — уже больше 1 млрд.
Сам кубит принято визуализировать в виде сферы Блоха:
Любая точка на сфере показывает амплитуду вероятностей кубита. Вот и получается, что кубит получает значение 0 или 1 только в момент измерения. Но вне измерения он оперирует вероятностями, что меняет саму базовую логику вычисления.
Из-за сложности в кодировании данных и принципиально другой логики совсем необязательно, что компьютер с 30 кубитами будет в миллиард раз мощнее, чем обычный.
Да и языки программирования для квантовых компьютеров хоть и активно разрабатываются, но сейчас вся логика квантового программирования находится, на уровне если не машинного кода, то ассемблера, если сравнивать с обычными компьютерами.
Хоть разные команды уже лет 10 наперебой заявляют о достижении квантового превосходства, но по факту до этого еще далеко. Есть отдельные успехи, но работы еще ой как много.
Квантовое превосходство — способность квантового компьютера решать проблемы принципиально нерешаемые для обычной машины или требующее огромное количество времени в тысячах или миллионах лет работы.
Не исключено, что реальное квантовое превосходство мы увидим еще на собственном веку. От построения Z3, первой ЭВМ, обладающей свойствами современного компьютера, до создания Apple I, первого персонального компьютера, прошло всего 36 лет. А с учетом, что работа над квантовыми компьютерами ведется уже без малого 20 лет, то осталось совсем недолго.
Зачем нам квантовый компьютер, если в «Cyberpunk» на нем не поиграть?
Да, под квантовый компьютер придется разрабатывать весь нужный софт с нуля, потому что логика вычислений отличается от обычных компьютеров как морская звезда на пляже и Сириус на небе. Но для квантового компьютера уже есть целый ряд перспективных сфер, где его можно будет использовать. О них и поговорим.
Молекулярная биология и генетика
Органическая или неорганическая химия хоть и определенно сложная, но вполне детерминирована. И, если мы достаточно точно можем предсказать, какое вещество получим от реакции двух других, то в биологии все сложнее. Ведь даже когда одна клетка делится на две, то они не будут полностью идентичны друг другу — минимальные различия будут всегда. Также как дети-близнецы хоть и похожи, но немного отличаются.
С помощью квантового компьютера можно будет вычислять, как модификация отдельного гена повлияет на клетку и организм в целом. Еще он поможет моделировать вирусы для создания вакцин и лекарственных препаратов — после коронавируса эта сфера еще долго будет в топовых приоритетах исследователей. Механизмы раковых заболеваний, генетических нарушений, селекция растений и животных — все это задачи крайне сложные и ресурсоемкие для моделирования даже на суперкомпьютерах.
Как ожидают некоторые исследователи, квантовые компьютеры откроют кардинально новые горизонты в медицине. Примерно такие, как обнаружение пенициллина в 1929 году, после которого медицина получила возможность лечить болезни и воспаления, которые ранее считали смертельными.
Нейробиология и истинный ИИ
Об этом отдельно. Потому что современная наука знает о работе мозга лишь немного больше, чем ничего. Ученые примерно понимают, как работают нейронные сети в комплексе — и использование сильно упрощенных моделей нейронов помогает разработчикам обучать ИИ. Но нет никаких общепринятых гипотез, как физически работает нейрон в мозге. Возможно, они также действуют вероятностно — то есть, одна и та же входящая информация может дать разные результаты на выходе.
Если понять принципы работы нейрона и суметь их воспроизвести в искусственной системе, это откроет разработку сильного ИИ, который не имитирует мышление, а действительно умеет думать и принимать решения. Для современных компьютеров эта задача в принципе нерешаема. Но квантовый компьютер может с ней справиться. Опять же, это теория — а как будет на самом деле, кто его знает.
Новый уровень криптографии
Квантовый компьютер сможет одновременно упростить и усложнить кодирование информации. Хороший 18-значный пароль с большими буквами, символами и цифрами даже суперкомпьютер будет взламывать 100 000 лет, а квантовый — пару минут. И это значит, что в будущем нам придется либо запоминать 100-значные пароли, либо создавать принципиально новую систему кодирования и защиты информации. При этом квантовые компьютеры выведут вероятностное шифрование на недостижимый уровень. Взломать шифр квантового компьютера даже теоретически будет нереально.
Анализ и структурирование информации
Согласно данным аналитиков, к 2025 году общий «вес» интернета составит свыше 200 зеттабайт (200 млрд терабайт). Но при этом из них структурировано не больше 10%. Остальные же находятся в хаосе. Структуризация данных в интернете — это нерешаемая задача для существующих компьютеров. Просто потому, что данных слишком много, и они множатся быстрее, чем теоретические возможности их обработки. Но иные принципы работы с информацией делают решение задачи теоретически реальным для квантового компьютера. И не просто структурировать, а найти закономерности и строить прогнозы на основе полученных данных. А это уже мощный буст для практически всех сфер научных исследований: от персонализированного маркетинга и бизнес-процессов до климатических исследований и морской биологии.
Анализ социальной динамики
Социальная сфера слабо предсказуема, потому что в ней слишком много переменных, которые влияют друг на друга. Исследователи говорят, что процессы, протекающие в социальных системах (настроения общества, распространение идей и мнений и прочие) имеют общие черты с биологическими процессами распространения вирусов. Гипотезу впервые предложил Ричард Докинз в книге «Эгоистичный ген», но доказать ее с помощью существующих технологий крайне проблематично — слишком многое зависит от вероятностей. Современные компьютеры позволяют лишь примерно прогнозировать развитие социальные факторов. Но вероятностная система квантовых компьютеров сможет на порядки увеличить точность социальной аналитики: от влияния и результативности рекламных кампаний на продажи до прогнозирования результатов выборов.
Всего 30 лет назад квантовый компьютер считали теоретической концепцией, которую вряд ли можно было проверить в обозримом будущем.
Но крупные IT-компании уже сейчас активно и успешно ведут разработку. IBM, Google, Toshiba — уже больше сотни работающих вариантов по всему миру. И хоть говорить о реальном квантовом превосходстве еще рано, квантовый компьютер по праву считают одной из самых перспективных технологий, которая вполне способна полностью изменить наше представление о будущем.
Кто знает, может когда-нибудь и игры для квантовых компьютеров будут писать. Будем лежать в VR-капсуле и наслаждаться реалистичной графикой какого-нибудь фэнтези мира.
И я убежден, что пик развития квантовых компьютеров мы увидим уже на своем веку, через 20-30 лет. Посмотрим, оправдаются ли наши ожидания. Мне очень интересно. А вам?
Квантовые компьютеры — для «чайников»
Объясняем на лампочках и котиках, что такое квантовый компьютер.
Осенью прошлого года компания Google заявила, что достигла квантового превосходства. Звучит как что-то сложное и не очень нужное простому пользователю? Не совсем так. Суть этой новости в том, что сотрудники Google с помощью специального квантового компьютера смогли решить задачу, с которой даже очень крутой суперкомпьютер за разумное время не справится. Впечатляет, не так ли?
К тому же это имеет прямое отношение к безопасности ваших данных, ведь многие защитные механизмы в цифровом мире основаны как раз на том, что их нельзя взломать за разумное время. Давайте разберемся, что это за квантовый компьютер такой и стоит ли опасаться, что киберпреступники начнут пользоваться им для взлома.
Что такое квантовый компьютер
Основное отличие квантовых компьютеров от традиционных, транзисторных, которыми все мы пользуемся сейчас, — то, как они работают с данными. Привычные нам устройства, от смартфонов и ноутбуков до суперкомпьютера-шахматиста Deep Blue, хранят все в битах — так называется мельчайшая единица информации, которая может принимать всего два значения: либо ноль, либо единица.
Бит можно сравнить с лампочкой, которая либо включена (единица), либо выключена (ноль). Файл, лежащий на диске, для компьютера выглядит как набор лампочек, из которых одни горят, а другие — нет. Если взять очень много таких лампочек, то, включив одни и выключив другие, можно собрать хоть фразу «тут был Альберт», хоть Мону Лизу.
Но когда устройство решает какую-то задачу, оно включает и выключает лампочки, постоянно записывая и стирая результаты промежуточных вычислений, чтобы они не забивали память. Это занимает время, так что если задача очень сложная, компьютер будет думать долго.
Квантовые компьютеры, в отличие от своих старших братьев, хранят и обрабатывают данные с помощью квантовых битов — кубитов. Последние могут не только «включаться» и «выключаться», но и находиться в переходном состоянии или даже быть включенными и выключенными одновременно. Продолжая аналогию с лампочками: кубит — это как светильник, который вы выключили, а он все равно продолжает моргать. Или кот Шредингера, который одновременно и жив, и мертв.
Поскольку лампочки в квантовом компьютере одновременно горят и не горят, это сильно экономит время. Поэтому он решает сложные задачи намного быстрее даже очень мощного классического устройства. Например, в Google утверждают, что их квантовая машина Sycamore за три с небольшим минуты провела вычисления, над которыми обычный суперкомпьютер в теории бился бы 10 000 лет! Вот это и называют серьезным термином «квантовое превосходство».
Квантовые компьютеры в жизни
Итак, квантовые компьютеры очень быстро решают очень сложные задачи. Но почему они тогда просто не вытеснили медленные классические системы? Дело в том, что эта технология еще молода, а состояние «моргающей лампочки» — очень нестабильное, и чем больше в системе кубитов, тем труднее его поддерживать. А доступность сложных вычислений зависит в том числе от количества кубитов: с помощью двух лампочек, пусть и очень крутых, Мону Лизу не нарисуешь.
Есть и другие проблемы, мешающие квантовым компьютерам полностью заменить предшественников. Вы помните, что они обрабатывают информацию принципиально иначе? Это значит, что и программы для них нужны совершенно другие. На квантовый компьютер нельзя просто взять и установить Windows — надо с нуля разрабатывать специальную квантовую ОС и специальные же квантовые приложения.
И хотя такие попытки уже предпринимают ученые и IT-гиганты, пока что квантовые компьютеры работают примерно как внешние жесткие диски — подключаются к обычным компьютерам и управляются через них. И используются они для решения узкого круга задач — например, для моделирования атома водорода или поиска по базам данных. А вот выйти в Интернет или посмотреть видео с котиками с помощью квантового компьютера не получится.
Тем не менее многие считают квантовые вычисления перспективными. Первая компания, продающая бизнесу квантовые компьютеры, появилась еще в 1999 году. Сейчас в это направление вкладываются крупные организации, такие как американские Google, Honeywell и IBM (последняя уже предлагает клиентам доступ к своему квантовому компьютеру через облако), японская Toshiba и китайские Alibaba и Baidu. В 2019 году квантовыми технологиями заинтересовались и российские власти.
Правда, тут стоит оговориться: задача, которую решили в Google, не имеет никакой практической пользы, кроме демонстрации возможностей квантовых технологий. Погружаться в ее суть мы не будем, потому что это действительно сложно и не очень нужно обычному пользователю. Но если вы очень хотите убедиться в этом лично, описание задачи есть в отчете Google.
А еще не все согласны с утверждением Google про 10 000 лет. В IBM, например, уверены, что суперкомпьютер сможет решить эту же задачу пусть и не за три минуты, но всего за два с лишним дня. Хотя это, в общем-то, тоже ощутимая разница.
Квантовые компьютеры (пока) не угроза
Как видите, квантовые компьютеры до сих пор — скорее игрушка для ученых, чем потребительские устройства или инструмент взломщика. Что, конечно, не значит, что в будущем они не станут ближе к жизни (и опаснее). Впрочем, эксперты в области защиты данных уже сейчас готовят на них управу. Но об этом — в следующий раз.
Что такое квантовый компьютер? Разбор
Интересно, а какая сторона у монетки в тот момент, когда она в воздухе? Орел или решка, горит или не горит, открытое или закрытое, 1 или 0. Все это примеры двоичной системы, то есть системы, которая имеет всего два возможных состояния. Все современные процессоры в своем фундаменте основаны именно на этом!
При правильной организации транзисторов и логических схем можно сделать практически все! Или все-таки нет?
Современные процессоры это произведение технологического искусства, за которым стоят многие десятки, а то и сотни лет фундаментальных исследований. И это одни из самых высокотехнологичных устройств в истории человечества! Мы о них уже не раз рассказывали, вспомните хотя бы процесс их создания!
Процессоры постоянно развиваются, мощности растут, количество данных увеличивается, современные дата-центры ворочают данные сотнями петабайт (10 в 15 степени = 1 000 000 000 000 000 байт). Но что если я скажу что на самом деле все наши компьютеры совсем не всесильны!
Например, если мы говорим о BigData (больших данных) то обычным компьютерам могут потребоваться года, а то и тысячи лет для того, чтобы обработать данные, рассчитать нужный вариант и выдать результат.
И тут на сцену выходят квантовые компьютеры. Но что такое квантовые компьютеры на самом деле? Чем они отличаются от обычных? Действительно ли они такие мощные? Будет ли на них CS:GO идти в 100 тысяч ФПС?
Небольшая затравочка — мы вам расскажем, как любой из вас может уже сегодня попробовать воспользоваться квантовым компьютером!
Устраивайтесь поудобнее, наливайте чай, будет интересно.
Глава 1. Чем плохи обычные компьютеры?
Начнем с очень простого классического примера.
Представим, что у вас есть самый мощный суперкомпьютер в мире. Это компьютер Фугаку. Его производительность составляет 415 ПетаФлопс.
Давайте дадим ему следующую задачку: надо распределить три человека в две машины такси. Сколько у нас есть вариантов? Нетрудно понять что таких вариантов 8, то есть это 2*2*2 или 2 в третьей степени.
Как быстро наш суперкомпьютер справится с этой задачей? Мгновенно! Задачка-то элементарная.
А теперь давайте возьмем 25 человек и рассадим их по двум шикарным лимузинам, получим 2 в 25 степени или 33 554 432 варианта. Поверьте, это число тоже плевое дело для нашего суперкомпьютера.
А теперь 100 человек и 2 автобуса, сколько вариантов?
Считаем: 2 в 100 степени — это примерно 1.27 x 1030 или 1,267,650,600,228,229,401,496,703,205,376 вариантов.
Теперь нашему суперкомпьютеру на перебор всех вариантов понадобится примерно 4.6*10^+35 (4.6 на 10 в 35 степени) лет. А это уже очень и очень много. Такой расчет займет больше времени чем суммарная жизнь сотен вселенных.
Суммарная жизнь нашей вселенной: 14 миллиардов лет или 14 на 10 в 9 степени.
Даже если мы объединим все компьютеры в мире ради решения, казалось бы, такой простой задачки как рассадка 100 человек по 2 автобусам — мы получим решение, практически никогда!
И что же? Все? Выхода нет?
Есть, ведь квантовые компьютеры будут способны решить эту задачку за секунды!
И уж поверьте — использоваться они будут совсем не для рассадки 100 человек по 2 автобусам!
Глава 2. Сравнение. Биты и Кубиты
Давайте разберемся, в чем же принципиальная разница.
Мы знаем, что классический процессор состоит из транзисторов и они могут пропускать или не пропускать ток, то есть быть в состоянии 1 или 0 — это и есть БИТ информации. Кстати, рекомендую посмотреть наше видео о том как работают процессоры.
Вернемся к нашему примеру с двумя такси и тремя людьми. Каждый человек может быть либо в одной, либо в другой машине — 1 или 0.
Вот все состояния:
Для решения процессору надо пройти через абсолютно все варианты один за одним и выбрать те, которые подходят под заданные условия.
В квантовых компьютерах используются тоже биты, только квантовые и они принципиально отличаются от обычных транзисторов.
Они так и называются Quantum Bits, или Кубиты.
Что же такое кубиты?
Кубиты — это специальные квантовые объекты, настолько маленькие, что уже подчиняются законам квантового мира. Их главное свойство — они способны находиться одновременно в 2 состояниях, то есть в особом состоянии — суперпозиции.
Фактически, это и есть принципиальное отличие кубитов от обычных битов, которые могут быть только 1 или 0.
Суперпозиция — это нечто потрясающее. Считайте что кубиты — это одновременно открытая и закрытая дверь, или горящая и не горящая лампочка….
В нашем случае они одновременно 1 и 0!
Но квантовая механика говорит нам, что квантовый объект, то есть кубит, находится в суперпозиции, пока ты его не измеришь. Помните монетку — это идеальный пример суперпозиции — пока она в воздухе она одновременно и орел, и решка, но как только я ее поймал — все: либо орел, либо решка! Состояние определилось.
Надо понять, что эти кубиты и их поведение выбираются совсем не случайно — эти квантовые системы очень строго определены и их поведение известно. Они подчиняются законам квантовой механики!
Квантовый компьютер внутри
Говоря о самом устройстве, если мы привыкли к полупроводникам и кремнию в обычных процессорах, то в случае квантовых компьютеров люди все еще ищут, какие именно квантовые объекты лучше всего использовать для того, чтобы они выступили кубитами. Сейчас вариантов очень много — это могут быть и электроны со своим спином или, например, фотоны и их поляризация. Вариантов множество.
И это далеко не единственная сложность, с которой столкнулись ученые! Дело в том, что квантовые кубиты довольно нестабильны и их надо держать в холодном месте, чтобы можно было контролировать.
И если вы думаете, что для этого будет достаточно водяного охлаждения вашего системника, отчасти вы правы, только если залить туда жидкий Гелий, температура которого ниже минус двухсот семидесяти градусов Цельсия! А для его получения используются вот такие вот здоровые бочки.
Фактически, квантовые компьютеры — это одни из самых холодных мест во вселенной!
Принцип работы квантового компьютера
Давайте вернемся к нашей задачке про трех людей и две машины и рассмотрим ее с точки зрения квантового компьютера:
Для решения подобной системы нам понадобится компьютер с 3 кубитами.
Помните, что классический компьютер должен был пройти все варианты один за одним? Так вот поскольку кубиты одновременно имеют состояния «1» и «0», то и пройти через все варианты он сможет, фактически одновременно!
Знаю, что прозвучит максимально странно, но представьте, что в данной ситуации наши три кубита создают 8 различных параллельных миров, в каждом из которых существует одно решение, а потом они все собираются в один! Реально «Мстители» какие-то!
Но что же получается? Он выдает все варианты сразу, а как получить правильный?
Для этого существуют специальные математические операторы, например оператор Грувера, который позволяет нам определять правильные результаты вычислений квантовых систем! Это специальная функция, которая среди всех возможных вариантов находит нужный нам.
Помните задачку про 100 человек в 2 автобуса, которую не смогли бы решить все современные компьютеры вместе взятые? Для квантового компьютера со 100 кубитами эта задачка все равно что семечку щелкнуть! То есть компьютер находится одновременно в 2 в 100 степени состояний, а именно:
1,267,650,600,228,229,401,496,703,205,376 — вот столько состояний одновременно! Столько параллельных миров!
Думаете, что всё это звучит слишком хорошо, чтобы быть правдой? Да, вы правы. Есть куча нюансов и ограничений. Например, ошибка. Проблема в том, что кубиты, в отличие от обычных битов, не определены строго.
У них есть определенная вероятность нахождения в состоянии 1 или 0. Поэтому есть вероятность ошибки и чем больше кубитов в системе, тем больше суммарная вероятность, что система выдаст неправильный ответ. Поэтому зачастую надо провести несколько расчетов одной и той же задачи, чтобы получить верный ответ.
Ну то есть как верный? Он всегда будет содержать в себе минимальную возможность ошибки вследствие своей сложной квантовой природы, но ее можно сделать ничтожно малой, просто прогнав вычисления множество раз!
Квантовые компьютеры сегодня
Теперь перейдем к самому интересному — какое состояние сейчас у квантового компьютера? А то их пока как-то не наблюдается на полках магазинов!
На самом деле все, что я описал выше, это не такая уж и фантастика. Квантовые компьютеры уже среди нас и уже работают. Их разработкой занимаются GOOGLE, IBM, INTEL, MICROSOFT и другие компании поменьше. Кроме того в каждом большом институте есть исследовательские группы, которые занимаются разработкой и исследованием квантовых компьютеров.
Сундар Пичаи и Дэниэл Сэнк с квантовым компьютером Google. Октябрь 2019
В октябре прошлого года, в журнале Nature, Google выложила статью, которая шарахнула по всему миру огромными заголовками — КВАНТОВОЕ ПРЕВОСХОДСТВО!
В Google создали квантовый компьютер с 53 кубитами и смогли решить задачку, за 200 секунд, на решение которой у обычного компьютера ушло бы 10000 лет!
Конечно IBM было очень обидно и они начали говорить, что задача слишком специальная, и вообще не 10000 лет, а 2.5 дня, но факт остается фактом — квантовое превосходство было достигнуто в определенной степени!
Так что теперь вопрос считанных лет, когда квантовые компьютеры начнут использоваться повсеместно! IBM, например, только что анонсировали что в 2023 году создадут коммерческий квантовый компьютер с 1121 кубитами!
Чтобы вы понимали калькулятор Google даже не считает сколько будет 2 в 1121 степени, а просто говорит — бесконечность! И это совсем не предел.
Уже ведется разработка компьютеров на миллионы кубитов — именно они откроют истинный потенциал квантовых вычислений.
Более того, вы уже сейчас можете попробовать самостоятельно попробовать квантовые вычисления! IBM предлагает облачный доступ к самым современным квантовым компьютерам. Вы можете изучать, разрабатывать и запускать программы с помощью IBM Quantum Experience.
Но зачем вообще нужны квантовые компьютеры и где они будут применяться?
Естественно, не для распихивания людей по автобусам.
Задач множество. Главная — базы данных и поиск по ним, работа с BigData станет невероятно быстрой. Shazam, прокладывание маршрутов, нейронные сети, искусственный интеллект — все это получит невероятный толчок! Кроме того симуляции и моделирование квантовых систем! Зачем это надо — спросите вы?
Это очень важно, так как появится возможность строить модели взаимодействия сложных белковых соединений.
Это станет очень важным шагом для медицины, открывающим просто умопомрачительные просторы для создания будущих лекарств, понимания того как на нас влияют разные вирусы и так далее. Простор огромен!
Чтобы вы примерно понимали какая это сложная задачка, мы вернемся в примеру с монеткой. Представьте что вам надо заранее смоделировать что выпадет — орел или решка.
Надо учесть силу броска, плотность воздуха, температуру и кучу других факторов. Сложно? Ну не так уж!
А теперь представьте, что у вас не один человек, который кидает монетку, а миллион разных людей, в разных местах, по-разному кидают монетки. И вам надо рассчитать что выпадет у всех! Вот примерно настолько сложная эта модель о взаимодействии белков.
Кроме того, вы наверняка слышали о том, что квантовые компьютеры сделают наши пароли просто пшиком, который можно будет подобрать за секунды. Но это уже совсем другая тема…
Вывод
Какой вывод из всего этого мы можем сделать, квантовый компьютер — это принципиально новая система. Она отличается от обычных компьютеров в самом фундаменте, в физических основах на которых работает.
Их на самом деле даже нельзя сравнивать! Это все равно, что сравнивать обычные счеты и современные компьютеры!
И конечно есть большие сомнения, что вы когда-нибудь сможете прийти в магазин и купить свой маленький квантовый процессор. Но они вам и не нужны. Квантовые компьютеры для обычного пользователя станут как современные дата-центры, то есть нашими невидимыми помощниками, которые расположены далеко и которые просто делают нашу жизнь лучше или как минимум другой!
Что может квантовый компьютер
Квантовая физика родилась в 1900 году, когда Макс Планк предположил, что энергия поглощается не непрерывно, а отдельными порциями — квантами. Его идея получила дальнейшее развитие: фотоэлектрический эффект Эйнштейна, теория атома Бора, Резерфорд опытным путем показал, как выглядит ядро атома, Луи де Бройль стер границу между волнами и материей, Гейзенберг и Шрёдингер разработали квантовую механику.
Квантовую физику тяжело понять — её математический аппарат почти невозможно перевести на «человеческий» язык. Но «потрогать» её проявления в повседневной жизни вполне реально: лазеры, флэшки, компакт-диски, интегральные схемы или графен — все эти технологии появились благодаря квантовой физике. Логично, что ее решили использовать и для вычислений — в квантовых компьютерах.
Квантовые компьютеры кардинально отличаются от обычных: они обрабатывают информацию на порядок быстрее, а памяти у них больше экспоненциально. Уже сейчас экспериментальные образцы решают некоторые задачи быстрее, чем самые мощные суперкомпьютеры. Перспективы от внедрения квантовых компьютеров манят. С их помощью можно создать новые лекарства, композитные материалы прочнее титана и легче пластика, сверхпроводники, которые работают при комнатной температуре, добиться абсолютной безопасности шифрования или разработать универсальный искусственный интеллект. Но в реальности всё не так радужно. Всё потому, что мы пока не понимаем, что действительно умеет квантовый компьютер.
Анатолий Дымарский (Сколтех) — физик-теоретик, работает в области физики квантовых систем. Анатолий расскажет, чем квантовый компьютер отличается от обычного и что сулят его возможности IT-индустрии.
Как работает обычный компьютер
Чтобы объяснить, что такое квантовый компьютер и как он работает, нужно начать издалека и рассказать, как работает компьютер обычный. Работа обычного компьютера определяется двумя параметрами: памятью, скоростью вычислений.
Память — основная характеристика вычислительной системы. Компьютер умеет читать, писать и обрабатывать информацию, которая хранится в памяти.
Компьютер выполняет простейшие операции: перемножения, вычитания, сложения чисел. Если выполнять эти операции много и быстро, то можно объединить их в программу, которая обрабатывает информацию. Так работают базы данных, поиск или нейронные сети. Здесь важна скорость вычислений или скорость выполнения операций (FLOPS).
Есть еще третий (дополнительный) параметр — детерминизм, общая характеристика для всех вычислительных систем. Означает, что все машины работают по программе, которая однозначна — ноль всегда ноль, а единица это точно единица. Никаких иных толкований не предусмотрено и нет элемента неопределенности.
Неопределенность можно внести только на уровне входных данных, например, случайными числами. Ввод может быть случайным, но программа всегда однозначно обрабатывает все входящие данные.
Как работает квантовый компьютер
Он работает иначе — по интуитивно непонятной логике. Как и обычный, он проводит вычисления, но в его основе лежат законы квантовой механики.
Классический мир и классическая механика детерминистичны. Это значит, что значение любого регистра памяти в компьютере всегда 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 запуска квантового алгоритма мы получим правильный ответ.
У нас не будет однозначного ответа, а только вероятность получить правильный ответ. Но эта вероятность весьма высока. Фактически, мы гадаем, но не на кофейной гуще, а на научной. За несколько итераций мы найдем ответ и проверим, что он правильный.
Параметры квантового компьютера
У классического компьютера два параметра качества: объем памяти и количество операций. С обычным компьютером мы по умолчанию предполагаем, что у нас есть доступ ко всем ячейкам памяти для записи и чтения.
В квантовом случае есть три параметра.
Объем памяти или количество кубит. Чем больше памяти, тем лучше? Для квантового компьютера нет — когда мы увеличиваем количество кубит, растет сложность квантовой системы. Систему становится тяжело поддерживать в изолированном состоянии.
Время работы или количество последовательных операций (когерентность). Систему обязательно требуется поддерживать в изолированном состоянии — в физике это называется когерентность. Если позволить квантовой системе взаимодействовать с окружающей средой, то это разрушит состояние ячеек квантовой памяти. Вместо нулей и единиц будет просто шум.
Мы пытаемся поддерживать систему изолированной как можно дольше. Но чем больше квантовых операций проводим, тем больше времени на них уходит, а значит все сложнее поддерживать систему в изолированном состоянии.
Примечание: здесь количество операций не в секунду, а за все время работы системы.
Возникает парадокс: чем больше кубитов, тем меньше операций доступно. Поэтому время, в течении которого можно держать систему изолированной и произвести некоторое количество операций, это важный параметр.
Представьте обычный компьютер, в котором нет охлаждения. Пока компьютер не перегреется, у него есть время что-то посчитать, а потом он отключается. Примерно то же самое происходит в квантовом компьютере. В нем нет «вентилятора»: чем больше работает, тем больше нагревается, пока не разрушится. Поэтому есть ограничение на количество операций.
Универсальность. В классическом компьютере доступны любые операции: умножение, деление, вычитание. Теоретически, в квантовом тоже. Но на практике, существенно проще проводить операции только с соседними кубитами, которые расположены на прямой, в прямоугольном или квадратном массиве. Для работы со всеми кубитами требуется очень сложная архитектура — на практике пока так не умеют.
Все три направления конфликтуют друг с другом. Мы можем улучшить одно, но это произойдет за счет ухудшения двух других. Сейчас, когда технология в зачаточном состоянии, можно выделить несколько прототипных платформ, и каждая из них пытается улучшить показатели одного направления за счет двух других.
Прототипы
Выделю три прототипа, над которыми работают крупные компании. 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 из Канады. У них есть процессоры с тысячей кубитов, но без когерентности.
Возможные области применения квантовых компьютеров
Одна большая потенциальная область применения — это криптография. Вторая — оптимизационные задачи, которые возникают в самых разных областях.
Наука. Квантовые вычисления могут помочь предсказывать поведение элементарных частиц, моделировать молекулы ДНК или разрабатывать новые лекарственные препараты. Например, квантовые вычисления пытаются применять в фармакологии. Для этого нужно понимать, какую форму принимают разные протеины (про которые можно думать, как про микроскопические квантовые объекты). Мы не знаем, как они себя будут вести, но самый простой способ это понять — симулировать их поведение на квантовом компьютере. У этой научной задачи огромный бизнес-потенциал: новые лекарства, добавки, антибиотики.
Новые материалы. В науке о материалах главное — понять взаимодействие атомов, что можно смоделировать на квантовых компьютерах. Это тоже научная задача, но создав новый материал, его уже можно продавать.
Машинное обучение и искусственный интеллект. Машинное обучение — сложный процесс, который требует огромного количества вычислений. Пока здесь нет практической пользы от квантовых компьютеров, потому что они сейчас не на том уровне развития. Но в перспективе, квантовые компьютеры могут ускорить стандартные алгоритмы. В некоторых случаях это выглядит революционно, потому что можно в десятки раз сократить время обучения нейросети.
Транспорт, энергетика, логистика. В этих сферах много оптимизационных задач. Например, в энергетике главная проблема — распределение электрической энергии по стране. Цена на электричество в разных регионах отличается, при этом во время передачи часть энергии теряется, а с ней и прибыль. Чтобы заработать больше денег, бизнес пытается оптимизировать передачу. Это одна из тех задач, которая находится в классе NP. Сложно найти правильное решение, но квантовый компьютер может помочь.
Бизнес-приложения. В бизнесе квантовыми вычислениями занимаются только большие компании, корпорации. У гигантов есть деньги и ресурсы, например, у Google, D-Wave или IBM (лидер области с большими наработками).
На сайте компании D-Wave написано, что уже в 150 бизнес-приложениях используются квантовые вычисления. IBM выпустил брошюру, в которой обсуждается, что можно сделать с помощью квантового компьютера. Это десятки различных индустрий и потенциально сотни бизнес-решений. Так все выглядит на бумаге.
В реальности все немного иначе. Развитие технологий сейчас пока не на том уровне, чтобы применять их на практике.
Что значит квантовая революция для IT-индустрии
Пока что ничего. Мы находимся в так называемой эре NISQ — Noisy Intermediate-Scale Quantum technology. Это значит, что сейчас нет таких квантовых устройств, которые могли бы соперничать с классическими компьютерами. Пока нельзя создать квантовую систему, которая по всем параметрам превзойдет классическую: достаточно небольшую, универсальную и изолированную. Пока получаются только системы, которые выполняют узкоспециальные задачи определенного сорта лучше, чем вычислительный кластер. Квантовые технологии пока непрактичны. Хотелось бы использовать этот огромный потенциал для своих ежедневных задач, но неизвестно, как это сделать.
У квантовых технологий огромный «подрывной потенциал». Если научиться хорошо решать хотя бы одну из оптимизационных задач, о которых говорилось выше, это изменит одну конкретную индустрию, как минимум. Надеюсь, что через 5-10 лет в некоторых направлениях ситуация изменится.
Многие компании создают прообразы настоящих квантовых компьютеров — они уже что-то умеют делать, но пока этого недостаточно.
В Сколтехе мы пытаемся ответить на главный вопрос — как и для чего можно использовать квантовый компьютер. С моими коллегами Владимиром Антоновым и Олегом Астафьевым трудимся над проектом, в рамках которого работаем над маленьким квантовым компьютером. К сожалению, часть архитектурных и дизайнерских вопросов еще не решены, потому что мы все еще не уверены, какие именно задачи должен будет решать этот компьютер. Если этот вопрос вам интересен, приглашаю его обсудить.
То, с каким интересом участники HighLoad++ восприняли доклад о квантовых компьютерах и АЭС, натолкнуло нас на мысль уделить большее внимание подобным темам на наших конференциях. Поэтому на РИТ++ в мае в онлайне у нас будут секции научпопа и применения IT в смежных областях. И это только малая часть новинок фестиваля «Российские интернет-технологии» — подробнее смотрите на сайте и в рассылке.
Как работают квантовые компьютеры. Собираем паззл
Квантовые компьютеры и квантовые вычисления — новый баззворд, который добавился в наше информационное пространство наряду с искусственным интеллектом, машинным обучением и прочими высокотехнологическими терминами. При этом мне так и не удалось найти в интернете материал, который бы сложил у меня в голове пазл под названием “как работают квантовые компьютеры”. Да, есть много прекрасных работ, в том числе и на хабре (см. Список ресурсов), комментарии к которым, как это обычно и бывает, еще более информативны и полезны, но картинка в голове, что называется, не складывалась.
А недавно ко мне подошли коллеги и спросили “Ты понимаешь как работает квантовый компьютер? Можешь нам рассказать?” И тут я понял, что проблема со складыванием в голове целостной картинки есть не только у меня.
В результате была сделана попытка скомпилировать информацию о квантовых компьютерах в непротиворечивую логическую схему, в которой бы на базовом уровне, без глубокого погружения в математику и структуру квантового мира, объяснялось что такое квантовый компьютер, на каких принципах он работает, а также какие проблемы стоят перед учеными при его создании и эксплуатации.
Оглавление
Дисклеймер
Автор не является специалистом в квантовых вычислениях, и целевая аудитория статьи — такие же ИТ-шники, не квантовые специалисты, которые тоже хотят собрать в голове картинку под названием “Как работают квантовые компьютеры”. Из-за этого многие понятия в статье сознательно упрощены для лучшего понимания квантовых технологий на “базовом” уровне, но без совсем уж сильного упрощения с потерей информативности и адекватности.
В статье, в некоторых местах используются материалы из других источников, список которых приведен в конце статьи. Везде где это было возможно, вставлены прямые ссылки и указания на оригинал текста, таблицы или рисунка. Если где-то что-то (или кого-то) забыл, пишите — поправлю.
Введение
В этой главе мы коротко рассмотрим с чего началась квантовая эра, что явилось побудительной причиной для возникновения идеи квантового компьютера, кто (какие страны и корпорации) в настоящее время являются ведущими игроками на этой поляне, а также вкратце поговорим об основных направлениях развития квантовых вычислений.
Как все начиналось
Точкой отсчета квантовой эры принято считать 1900 год, когда М. Планк впервые выдвинул гипотезу о том, что энергия испускается и поглощается не непрерывно, а отдельными квантами (порциями). Идею подхватили и развили многие выдающиеся ученые того времени — Бор, Эйнштейн, Гейзенберг, Шредингер, что, в конечном счете, привело к созданию и развитию такой науки как квантовая физика. Про становление квантовой физики как науки в Сети есть много хороших материалов, в этой статье мы не будем подробно останавливаться на этом, но указать дату, когда мы вошли в новую квантовую эпоху, было необходимо.
Квантовая физика принесла в нашу обычную жизнь много изобретений и технологий, без которых сейчас трудно себе представить окружающий мир. Например, лазер, который сейчас используется везде, от бытовой техники (лазерные нивелиры и прочее) до высокотехнологичных систем (лазеры для коррекции зрения, привет meklon ). Логично было бы предположить, что рано или поздно кто-то выдвинет идею о том, что почему бы не использовать квантовые системы для вычислений. И вот в 1980 году это случилось.
Википедия указывает на то, что первым идею квантовых вычислений высказал в 1980 году наш ученый Юрий Манин. Но реально заговорили о ней только в 1981, когда небезызвестный Р. Фейнман в докладе на первой конференции по физике вычислений, проведенной в Массачусетском технологическом институте, отметил, что невозможно моделировать эволюцию квантовой системы на классическом компьютере эффективным способом. Он предложил элементарную модель квантового компьютера, который будет способен провести такое моделирование.
В Сети есть вот такая работа, в которой хронология развития квантовых вычислений рассматривается более академически и подробно, мы же пробежимся коротко:
Основные вехи в истории создания квантовых компьютеров:
Как вы видите прошло 17 лет (с 1981 до 1998) с момента идеи до ее первой реализации в компьютере с 2-мя кубитами, и 21 год (с 1998 до 2019) до момента, когда количество кубитов увеличилось до 53-х. Потребовалось 11 лет (с 2001 до 2012) чтобы улучшить результат выполнения алгоритма Шора (мы остановимся на нем подробнее чуть далее) с числа 15 до 21. Также только три года назад мы подошли к тому, чтобы реализовать то, о чем говорил Фейнман, и научиться моделировать простейшие физические системы.
Развитие квантовых вычислений идет медленно. Перед учеными и инженерами стоят очень сложные задачи, квантовые состояния очень недолговечны и хрупки, и, чтобы сохранить их достаточно долгое время для выполнения вычислений, приходится строить саркофаги за десятки миллионов долларов, в которых поддерживается температура чуть выше абсолютного ноля, и которые максимально защищены от внешних воздействий. Далее мы будем говорить об этих задачах и проблемах более подробно.
Ведущие игроки
Слайды для этого раздела взяты из статьи Квантовый компьютер: большая игра на повышение. Лекция в Яндексе, от научного сотрудника Российского квантового центра Алексея Фёдорова. Позволю себе прямые цитаты:
Все технологически успешные страны в данный момент активно занимаются развитием квантовых технологий. В эти исследования вкладывается огромное количество средств, создаются специальные программы поддержки квантовых технологий.
В квантовой гонке участвуют не только государства, но и частные компании. Суммарно Google, IBM, Intel и Microsoft вложили около 0,5 млрд долларов в развитие квантовых компьютеров за последнее время, создали крупные лаборатории и исследовательские центры.
На Хабре и в Сети есть множество статей, например, вот, вот и вот, в которых текущее состояние дел с развитием квантовых технологий в разных странах рассматривается более подробно. Для нас сейчас главное, что все ведущие технологически развитые страны и игроки вкладывают огромные средства в исследования в этом направлении, что дает надежду на выход из текущего технологического тупика.
Направления развития
На текущий момент (могу ошибаться, поправьте) основные усилия (и более-менее значимые результаты) у всех ведущих игроков сосредоточены на двух направлениях:
Прочие же вектора развития, которые дает нам квантовая физика, такие как:
безусловно тоже в списке направлений для исследований, но каких-то более-менее значимых результатов в настоящее время вроде как еще нет.
Основы. Квантовый объект и квантовые системы
Самое главное, что надо понять из этого раздела, это то, что
Квантовый компьютер (в отличие от обычного) в качестве носителей информации использует квантовые объекты, а для проведения вычислений квантовые объекты должны быть соединены в квантовую систему.
Что же такое квантовый объект?
Квантовый объект — объект микромира (квантового мира), который проявляет квантовые свойства:
Разберем каждое свойство более подробно:
Имеет определенное состояние с двумя граничными уровнями (конечное состояние)
Классический пример из реального мира — монета. У нее есть состояние “сторона”, которая принимает два граничных уровня — “орел” и “решка”.
Находится в суперпозиции своего состояния до момента измерения
Подбросили монетку, она летит и вращается. Пока она вращается невозможно сказать в каком из граничных уровней находится ее состояние “сторона”. Но стоит нам ее прихлопнуть и посмотреть на результат — как суперпозиция состояний тут же схлопывается в одно из двух граничных — “орел” и “решка”. Прихлопывание монетки в нашем случае и есть измерение.
Запутывается с другими объектами для создания квантовых систем
С монеткой сложно, но попробуем. Представьте мы подбросили три монетки так, что они вращаются цепляясь друг за друга, такое жонглирование монетками. В каждый момент времени не только каждая из них находится в суперпозиции состояний, но эти состояния взаимно влияют друг на друга (монетки же сталкиваются).
Выполняет теорему о запрете клонирования (нельзя скопировать состояние объекта)
Пока монетки летят и вращаются, мы никаким образом не можем создать отдельную от системы копию вращающегося состояния любой из монеток. Система живет сама в себе и очень ревностно относится к тому, чтобы выдать наружу какую-либо информацию.
Еще пара слов о самом понятии “суперпозиции”, практически во всех статьях суперпозицию объясняют как “находится во всех состояниях одновременно”, что, конечно, верно, но временами излишне запутывает. Суперпозицию состояний можно представить себе также как то, что в каждый момент времени у квантового объекта есть определенные вероятности схлопнуться в каждый из своих граничных уровней, и в сумме эти вероятности, естественно, равны 1. Далее при рассмотрении кубита мы остановимся на этом более подробно.
Для монеток это можно себе представить визуально — в зависимости от начальной скорости, угла подброса, состояния окружающей среды, в которой летит монетка, в каждый момент времени вероятность получить “орел” или “решку” разная. И, как говорилось ранее, состояние такой летящей монетки можно себе представить как “находится во всех своих граничных состояниях одновременно, но с разной вероятностью их реализации”.
Любой объект, для которого выполняются вышеуказанные свойства и который мы можем создать и управлять, может использоваться как носитель информации в квантовом компьютере.
Чуть дальше мы поговорим о текущем состоянии дел с физической реализацией кубитов как квантовых объектов, и что сейчас ученые используют в этом качестве.
Итак, третье свойство гласит, что квантовые объекты могут запутываться для создания квантовых систем. Что же такое квантовая система?
Квантовая система — система запутанных квантовых объектов, обладающая следующими свойствами:
(и, забегая чуть вперед)
Следствие для квантовых программ:
Сравнение квантового компьютера и обычного
Давайте теперь сравним обычный компьютер и квантовый.
Обычный компьютер | Квантовый компьютер |
0 / 1 | `a|0> + b|1>, a^2+b^2=1` |
Полупроводниковый транзистор | Квантовый объект |
Уровни напряжения | Поляризация, спин,… |
NOT, AND, OR, XOR над битами | Вентили: CNOT, Адамара,… |
Полупроводниковый чип | Запутанность между собой |
Стандартные (см. Кнут) | Специальные (Шор, Гровер) |
Цифровой, детерминированный | Аналоговый, вероятностный |
Логический уровень
В обычном компьютере это бит. Хорошо нам знакомый насквозь детерминированный бит. Может принимать значения либо 0 либо 1. Он прекрасно справляется с ролью логической единицы для обычного компьютера, но совершенно не подходит для описания состояния квантового объекта, который, как мы уже говорили, в дикой природе находится в суперпозиции своих граничных состояний.
Для этого придумали кубит. В своих граничных состояниях он реализует похожие на 0 и 1 состояния |0> и |1>, а в суперпозиции представляет собой вероятностное распределение над своими граничными состояниями |0> и |1> :
a и b при этом представляют собой амплитуды вероятностей, а квадраты их модулей — собственно вероятности получить именно такие значения граничных состояний |0> и |1>, если схлопнуть кубит измерением прямо сейчас.
Физический уровень
На текущем технологическом уровне развития физической реализацией бита для обычного компьютера выступает полупроводниковый транзистор, для квантового, как мы уже говорили, любой квантовый объект. В следующем разделе мы поговорим о том, что сейчас используется в качестве физических носителей кубитов.
Носитель информации
Для обычного компьютера это электрический ток — уровни напряжения, наличие или отсутствие тока, и т.д., для квантового — то самое состояние квантового объекта (направление поляризации, спин, и т.д.), которое может находится в состоянии суперпозиции.
Операции
Для реализации логических схем на обычном компьютере используются всем нам хорошо известные логические операции, для операций над кубитами пришлось придумывать совершенно иную систему операций, называемую квантовыми вентилями. Вентили бывают однокубитные и двухкубитные, в зависимости от того, над сколькими кубитами производится преобразование.
Примеры квантовых вентилей:
Есть понятие универсального набора вентилей, которых достаточно для выполнения любого квантового вычисления. Например, универсальным является набор, включающий вентиль Адамара, вентиль фазового сдвига, вентиль CNOT и вентиль π⁄8. С их помощью можно выполнить любое квантовое вычисление на произвольном наборе кубитов.
В этой статье мы не будем детально останавливаться на системе квантовых вентилей, более подробно про них и логические операции над кубитами можно почитать, например, вот тут. Главное, что надо запомнить:
Взаимосвязь
Один транзистор нам совершенно бесполезен, чтобы производить вычисления нам надо соединить много транзисторов между собой, то есть создать полупроводниковый чип из миллионов транзисторов, на которых уже строить логические схемы, АЛУ и, в конечном счете, получить современный процессор в его классическом виде.
Один кубит нам тоже совершенно бесполезен (ну если только в академическом плане),
чтобы производить вычисления нам нужна система кубитов (квантовых объектов)
которая, как мы уже говорили, создается при помощи запутывания кубитов между собой так, чтобы изменения в их состояниях происходили согласованно.
Алгоритмы
Стандартные алгоритмы, которые накопило человечество к текущему моменту, совершенно не подходят для реализации на квантовом компьютере. Да в общем-то и незачем. Квантовые компьютеры, основанные на вентильной логике над кубитами, требуют создания совершенно иных алгоритмов, квантовых алгоритмов. Из наиболее известных квантовых алгоритмов можно выделить три:
Принцип
И самое главное отличие — это принцип работы. У стандартного компьютера это цифровой, жестко детерминированный принцип, основанный на том, что если мы задали какое-то начальное состояние системы и пропустили его через заданный алгоритм, то результат вычислений будет один и тот же, сколько бы раз мы это вычисление не запускали. Собственно, такое поведение это именно то, что мы от компьютера и ждем.
Квантовый компьютер работает на аналоговом, вероятностном принципе. Результат работы заданного алгоритма на заданном начальном состоянии представляет собой выборку из вероятностного распределения конечных реализаций алгоритма плюс возможные ошибки.
Такая вероятностная природа квантовых вычислений обусловлена самой вероятностной сутью квантового мира. “Бог не играет в кости со вселенной”, — говорил старик Эйнштейн, но все эксперименты и наблюдения пока (в текущей научной парадигме) подтверждают обратное.
Физические реализации кубитов
Как мы уже говорили, кубит может быть представлен квантовым объектом, то есть таким физическим объектом, который реализует описанные выше квантовые свойства. То есть грубо говоря, любой физический объект, в котором есть два состояния и эти два состояния находятся в состоянии суперпозиции можно использовать для построения квантового компьютера.
“Если мы умеем помещать атом в два разных уровня и управлять ими, то вот вам и кубит. Если мы можем это сделать с ионом, — кубит. С током то же самое. Если мы запускаем его по часовой стрелке и против часовой стрелки одновременно, вот вам кубит.” (С)
Есть прекрасный комментарий к статье, в котором текущее многообразие физических реализаций кубита рассматривается более подробно, мы же просто перечислим наиболее известные и распространенные:
Из всего этого многообразия наиболее проработанным является первый метод получения кубитов, основанный на сверхпроводниках. Google, IBM, Intel и прочие ведущие игроки используют именно его для построения своих систем.
Ну и еще почитайте обзор возможных физических реализаций кубитов от Andrew Daley,2014.
Основы. Принцип работы квантового компьютера
Материалы для данного раздела (задача и картинки) взяты из статьи “Просто о сложном. Как работает квантовый компьютер”.
Итак, представим, что у нас есть следующая задача:
Есть группа из трех человек: (А)ндрей, (B)олодя и (С)ережа. Есть два такси (0 и 1).
Известно также, что :
Задача: Разместить народ по такси так, чтобы Max(друзья) и Min(враги)
Оценка: L = (кол-во друзей) — (кол-во врагов) для каждого варианта размещения
ВАЖНО: Предположим, что эвристик нет, оптимального решения нет. В этом случае задача решается только полным перебором вариантов.
Решение на обычном компьютере
Как решать эту задачу на обычном (супер)компьютере (или кластере) — понятно, что надо перебрать в цикле все возможные варианты. Если у нас мультипроцессорная система, то можно распараллелить расчет решений на несколько процессоров и потом собрать результаты.
У нас 2 возможных варианта размещения (такси 0 и такси 1) и 3 человека. Пространство решений 2^3 = 8. Перебрать 8 вариантов можно даже на калькуляторе, это не проблема. А теперь усложним задачу — у нас 20 человек и два автобуса, пространство решений 2^20 = 1 048 576. Тоже ничего сложного. Увеличим количество людей в 2.5 раза — возьмем 50 человек и два поезда, пространство решений теперь 2^50 = 1.12 x 10^15. У обычного (супер)компьютера уже начинаются серьезные проблемы. Увеличим кол-во людей в 2 раза, 100 человек дадут нам уже 1.2 x 10^30 возможных вариантов.
Все, за разумное время эту задачу не посчитать.
Подключаем суперкомпьютер
Самый мощный компьютер в настоящее время — номер 1 из Top500, это Summit, производительностью 122 Пфлопс. Предположим, что на расчет одного варианта нам достаточно 100 операций, тогда для решения задачи для 100 человек нам потребуется:
(1.2 x 10^30 100) / 122×10^15 / (606024365) = 3 х 10^37 лет.
Как мы видим, при увеличении размерности исходных данных пространство решений растет по степенному закону, в общем случае для N битов у нас есть 2^N возможных вариантов решения, которые при сравнительно небольших N (100) дают нам непросчитываемое (на текущем технологическом уровне) пространство решений.
Есть ли альтернативы? Как вы уже догадались, таки да, есть.
Но прежде чем мы перейдем к тому, как и почему квантовые компьютеры позволяют эффективно решать подобные задачи, давайте немного вспомним о том, что такое вероятностное распределение. Не пугайтесь, статья обзорная, жесткой математики тут не будет, обойдемся классическим примером с мешком и шариками.
Совсем немного комбинаторики, теории вероятностей и странного экспериментатора
Возьмем мешок и положим в него 1000 белых и 1000 черных шаров. Будем проводить эксперимент — вынимать шар, записывать цвет, возвращать шар в мешок и перемешивать шары в мешке.
Провели эксперимент 10 раз, вытащили 10 черных шаров. Возможно? Вполне. Дает нам эта выборка какое-то разумное понятие об истинном распределение в мешке? Очевидно, что нет. Что надо сделать — правильно, повторить эксперимент миллион раз и рассчитать частоты выпадения черных и белых шаров. Получим, например 49.95% черных и 50.05% белых. В этом случае уже более-менее понятна структура распределения из которого мы семплируем (вынимаем один шарик).
Главное, что надо понять, что сам эксперимент имеет вероятностную природу, одним семплом (шариком) мы не узнаем истинную структуру распределения, нам надо многократно повторить эксперимент и усреднить результаты.
Добавим в наш мешок 10 красных и 10 зеленых шаров (ошибки). Повторим эксперимент 10 раз. Вытащили 5 красных и 5 зеленых. Возможно? Да. Можем что-то сказать об истинном распределении — Нет. Что надо сделать — ну вы поняли.
Для получения понимания о структуре вероятностного распределения надо многократно просемплировать единичные исходы из этого распределения и усреднить результаты.
Связываем теорию с практикой
Теперь вместо черных и белых шаров давайте возьмём бильярдные шары, и положим в мешок 1000 шаров с номером 2, 1000 с номером 7 и 10 шаров с другими номерами. Представим себе экспериментатора, который обучен простейшим действиям (достать шар, записать номер, положить шар обратно в мешок, перемешать шары в мешке) и делает он это за 150 микросекунд. Ну такой экспериментатор на спидах (не реклама наркотиков. ). Тогда за 150 секунд он сможет провести наш эксперимент 1 миллион раз и предоставить нам результаты усреднения.
Усадили экспериментатора, дали мешок, отвернулись, подождали 150 секунд — получили:
номер 2 — 49.5%, номер 7 — 49.5%, остальные номера в сумме — 1%.
Да, все верно, наш мешок — это квантовый компьютер с алгоритмом, решающим нашу задачу, а шары — возможные варианты решения. Поскольку правильных решений два, то квантовый компьютер будет выдавать нам равновероятно любое из этих возможных решений, и 0.5% (10/2000) ошибок, о которых мы поговорим позднее.
Для получения результата работы квантового компьютера надо многократно запустить квантовый алгоритм на одном и том же входном наборе данных и усреднить результат.
Масштабируемость квантового компьютера
Теперь представим себе, что для задачи, в которой участвуют 100 человек (пространство решений 2^100 мы помним об этом), правильных решений тоже только два. Тогда, если взять 100 кубитов и написать алгоритм, вычисляющий нашу целевую функцию (L, см. выше) над этими кубитами, то мы получим мешок, в котором будет 1000 шаров с номером первого правильного ответа, 1000 с номером второго правильного ответа и 10 шаров с другими номерами. И наш экспериментатор за те же 150 секунд выдаст нам оценку вероятностного распределения правильных ответов.
Время выполнения квантового алгоритма (с некоторыми допущениями) можно считать константным О(1) по отношению к размерности пространства решений (2^N).
И вот именно это свойство квантового компьютера — константность времени выполнения по отношению к возрастающей по степенному закону сложности пространства решений и является ключевым.
Кубит и параллельные миры
Как же это происходит? Что позволяет квантовому компьютеру так быстро производить расчеты? Все дело в квантовой природе кубита.
Смотрите, мы говорили, что кубит как квантовый объект реализует одно из двух своих состояний при его наблюдении, но в “живой природе” находится в суперпозиции состояний, то есть находится в обоих своих граничных состояниях одновременно (с некоторой вероятностью).
Возьмем (А)ндрея и представим его состояние (в каком он транспортном средстве — 0 или 1) как кубит. Тогда у нас возникает (в квантовом пространстве) два параллельных мира, в одном (А) сидит в такси 0, в другом мире — в такси 1. Одновременно в двух такси, но с некоторой вероятность найти его в каждом из них при наблюдении.
Возьмем (В)олодю и тоже представим его состояние как кубит. Возникает два других параллельных мира. Но пока эти пары миров (А) и (В) никак не взаимодействуют. Что надо сделать, чтобы создать связанную систему? Правильно, надо эти кубиты связать (запутать). Берем и запутываем (А) с (В) — получаем квантовую систему из двух кубитов (А, В), реализующую внутри себя четыре взаимозависимых параллельных мира. Добавляем (С)ергея и получаем систему из трех кубитов (АВС), реализующую восемь взаимозависимых параллельных миров.
Сутью квантовых вычислений (реализации цепочки квантовых вентилей над системой связанных кубитов) является тот факт, что вычисление происходит во всех параллельных мирах одновременно.
И неважно сколько их у нас, 2^3 или 2^100, квантовый алгоритм выполнится за конечное время над всеми этими параллельными мирами и выдаст нам результат, представляющий собой семпл из вероятностного распределения ответов алгоритма.
Для лучшего понимания можно себе представить, что квантовый компьютер на квантовом уровне запускает 2^N параллельных процессов решения, каждый из которых работает над одним возможным вариантом, потом собирает результаты работы — и выдает нам ответ в виде суперпозиции решения (вероятностного распределения ответов), из которого мы каждый раз (при каждом эксперименте ) семплируем одно.
Запомните время, необходимое нашему экспериментатору (150 мкс) для проведения эксперимента, это пригодится нам чуть дальше, когда мы будем говорить об основных проблемах квантовых компьютеров и о времени декогеренции.
Квантовые алгоритмы
Как уже говорилось, обычные алгоритмы, основанные на бинарной логике, неприменимы к квантовому компьютеру, использующему квантовую логику (квантовые вентили). Для него пришлось придумывать новые, в полной мере использующие потенциал, заложенный в квантовую природу вычислений.
Наиболее известные на сегодняшний день алгоритмы это:
В отличие от классических, квантовые компьютеры не универсальны.
До сих пор найдено лишь небольшое число квантовых алгоритмов.(С)
Спасибо oxoron за ссылку на Quantum Algorithm Zoo, место, где, по уверениям автора («Stephen Jordan»), собраны и продолжают собираться лучшие представители квантово-алгоритмического мира.
В данной статье мы не будем подробно разбирать квантовые алгоритмы, в Сети много прекрасных материалов на любой уровень сложности, но кратко пробежаться по трем самым известным все-таки надо.
Алгоритм Шора.
Наиболее известным квантовым алгоритмом является алгоритм Шора (придумал в 1994 году английский математик Питер Шор), который нацелен на решение задачи разложения чисел на простые множители (задача факторизации, дискретного логарифма).
Именно этот алгоритм приводят в пример, когда пишут о том, что ваши банковские системы и пароли скоро будут взломаны. Учитывая, что длина используемых на сегодняшний день ключей не менее чем 2048 бит, время для шапочки еще не пришло.
На сегодняшний день результаты более чем скромные. Лучшие результаты факторизации с помощью алгоритма Шора — числа 15 и 21, что сильно меньше, чем 2048 бит. Для остальных результатов из таблицы применялся иной алгоритм расчетов, но даже лучший по этому алгоритму результат (291311) сильно далек от реального применения.
Подробнее про алгоритм Шора можно почитать, например, вот тут. Про практическую реализацию — тут.
Одна из текущих оценок сложности и необходимой мощности для факторизации числа из 2048 бит это компьютер с 20 миллионами кубитов. Спим спокойно.
Алгоритм Гровера
Алгоритм Гровера может быть использован для нахождения медианы и среднего арифметического числового ряда. Кроме того, он может применяться для решения NP-полных задач путем исчерпывающего поиска среди множества возможных решений. Это может повлечь значительный прирост скорости по сравнению с классическими алгоритмами, хотя и не предоставляя «полиномиального решения» в общем виде.(С)
Подробнее можно почитать вот тут, или тут. Еще вот тут есть хорошее объяснение алгоритма на примере ящиков и мяча, но, к сожалению, по независящим ни от кого причинам, данный сайт у меня из России не открывается. Если у вас этот сайт тоже заблокирован, то вот краткая выжимка:
Алгоритм Гровера. Представьте, что у вас имеется N штук пронумерованных закрытых коробок. Они все пустые кроме одной, в которой находится мячик. Ваша задача: узнать номер коробки, в которой находится мячик (этот неизвестный номер часто обозначают буквой w).
Как решать эту задачу? Самым тупым способом, по очереди открывать коробки, и рано или поздно вы наткнетесь на коробку с мячиком. А сколько в среднем коробок нужно проверить до того, как будет обнаружена коробка с мячиком? В среднем нужно открыть примерно половину коробок N/2. Главное здесь то, что если мы увеличим число коробок в 100 раз, то в те же 100 раз увеличится и среднее число коробок, которые нужно открыть до того, как будет найдена коробка с мячиком.
Теперь сделаем ещё одно уточнение. Пусть мы не сами открываем коробки руками и проверяем наличие мячика в каждой, а имеется некий посредник, назовем его Оракул (Oracle). Мы говорим Оракулу — «проверь коробку номер 732», и Оракул честно проверяет и отвечает «в коробке номер 732 мячика нет». Теперь вместо слов о том, сколько коробок нам нужно в среднем открыть, мы говорим «сколько раз в среднем мы должны обратиться к Оракулу для того, чтобы найти номер коробки с мячиком»
Оказывается, что если перевести эту задачу с коробками, мячиком и Оракулом на квантовый язык, то выходит замечательный результат: для поиска номера коробки с мячиком среди N коробок нам нужно потревожить Оракула всего примерно SQRT(N) раз!
То есть сложность задачи перебора используя алгоритм Гровера снижается в квадратный корень раз.
Алгоритм Дойча-Йожи
Алгоритм Дойча — Йожи (упоминается также как алгоритм Дойча — Джозы) — [квантовый алгоритм](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC), предложенный Давидом Дойчем и Ричардом Йожей в 1992 году, и ставший одним из первых примеров алгоритмов, предназначенных для выполнения на квантовых компьютерах. _
Задача Дойча — Йожи заключается в определении, является ли функция нескольких двоичных переменных F(x1, x2, … xn) постоянной (принимает либо значение 0, либо 1 при любых аргументах) или сбалансированной (для половины области определения принимает значение 0, для другой половины 1). При этом считается априорно известным, что функция либо является константой, либо сбалансирована. (С)
Еще можно почитать тут. Более простое объяснение:
Алгоритм Дойча (Дойча — Йожи) основан на переборе, но позволяет делать его быстрее обычного. Представьте, что на столе лежит монета и необходимо узнать фальшивая ли она или нет. Для этого нужно дважды посмотреть на монету и определить: «орел» и «решка» – настоящая, два «орла», две «решки» — фальшивая. Так вот, если использовать квантовый алгоритм Дойча, то это определение можно сделать одним взглядом – измерением. (С)
Проблемы квантовых компьютеров
При проектировании и эксплуатации квантовых компьютеров перед учеными и инженерами возникает огромное количество проблем, которые на сегодняшний день решаются с переменным успехом. Согласно исследованию (и еще вот тут) можно выделить следующий ряд проблем:
Крайне рекомендую прочитать статью “Характеристики квантовых компьютеров”, особенно комментарии к ней.
Давайте организуем все основные проблемы в три большие группы и рассмотрим поподробнее каждую из них:
Декогеренция
Квантовое состояние очень хрупкая штука, кубиты в запутанном состоянии крайне нестабильны, любое внешнее воздействие может разрушить (и разрушает) эту связь. Изменение температуры на мельчайшую долю градуса, давление, пролетевший рядом случайный фотон — все это дестабилизирует нашу систему.
Для решения этой проблемы строят низкотемпературные саркофаги, в которых температура (-273.14 градуса цельсия) чуть-чуть выше абсолютного ноля, с максимальной изоляцией внутренней камеры с процессором от всех (возможных) воздействий внешней среды.
Максимальное время жизни квантовой системы из нескольких запутанных кубитов, в течение которого она сохраняет свои квантовые свойства и может быть использована для произведения вычислений, называют временем декогеренции.
На текущий момент время декогеренции в лучших квантовых решениях составляет порядка десятков и сотен микросекунд.
Есть прекрасный сайт, на котором можно посмотреть сравнительные таблицы параметров всех созданных квантовых систем. В эту статью для примера вынесены только два топовых процессора — от IBM IBM Q System One и от Google Sycamore. Как мы видим, время декогеренции (Т2) не превышает 200 мкс.
Я не нашел точных данных по Sycamore, но в самой статье о квантовом превосходстве приводятся две цифры — 1 миллион вычислений за 200 секунд, в другом месте — за 130 секунд без потерь на управляющие сигналы и прочее. В любом случае это дает нам время декогеренции порядка 150 мкс. Помните нашего экспериментатора с мешком? Ну так вот он.
Computer Name | N Qubits | Max paired | T2 (мкс) | ||||||||||||||||||||||
IBM Q System One | 20 | 6 | 70 | ||||||||||||||||||||||
Google Sycamore | 53 | 4 |
Computer | 1-Qubit Gate Fidelity | 2-Qubit Gate Fidelity | Readout Fidelity |
IBM Q System One | 99.96% | 98.31% | — |
Google Sycamore | 99.84% | 99.38% | 96.2% |
Здесь фиделити — мера схожести двух квантовых состояний. Величину ошибки можно грубо представить как 1-Fidelity. Как мы видим, ошибки на 2-х кубитных гейтах и ошибки считывания являются главным препятствием к выполнению сложных и длинных алгоритмов на существующих квантовых компьютерах.
Еще можно почитать роадмап от 2016 года от NQIT по решению задачи коррекции ошибок.
Архитектура процессора
В теории мы строим и оперируем схемами из десятков запутанных кубитов, в реальности же все сложнее. Все существующие квантовые чипы (процессоры) построены таким образом, что обеспечивают безболезненное запутывание одного кубита только со своими соседями, которых не больше шести.
Если же нам надо запутать 1-й кубит, скажем, с 12-м, то нам придется строить цепочку дополнительных квантовых операций, задействовать дополнительные кубиты и прочее, что увеличивает общий уровень ошибок. Да, и не забывайте про время декогеренции, возможно к тому моменту, когда вы закончите связывать кубиты в нужную вам схему, время закончится и вся схема превратится в симпатичный генератор белого шума.
Также не забывайте, что архитектура у всех квантовых процессоров разная, и программу, написанную в эмуляторе в режиме “связность всех со всеми” нужно будет “перекомпилировать” в архитектуру конкретного чипа. Есть даже специальные программы оптимизаторы для выполнения этой операции.
Максимальная связность и максимальное количество кубитов для тех же топовых чипов:
Computer Name | N Qubits | Max paired | T2 (мкс) |
IBM Q System One | 20 | 6 | 70 |
Google Sycamore | 53 | 4 |