Квантовые вычисления для всех

Quantum Сomputing

Квантовые вычисления. Наряду с квантовой запутанностью и квантовой телепортацией это модное учёное словечко широко распространено в научной фантастике и научно-популярных СМИ. Но что оно в действительности означает?

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

План статьи:

  • Кубит и суперпозиция. Фундаментальные принципы кубитов, простое объяснение того, что такое суперпозиция. Проблемы аппаратного обеспечения в реализации кубитов. 
  • Многокубитные системы и запутанность. Что такое многокубитные системы. Простое объяснение того, как работает запутанность. Очевидные противоречия запутанности со специальной теорией относительности Эйнштейна. 
  • Почему кубиты рулят? И о будущем. Экспоненциальное ускорение вычислительного времени кубитов в сравнении с битами, взлом квантом шифрования RSA. Станут ли квантовые компьютеры нормой.

Кубит и суперпозиция

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

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

Кубит, находящийся в суперпозиции, при измерении коллапсирует в одно из двух детерминированных состояний (0 или 1). Вероятность состояния 1 или 0 определяется суперпозицией кубита. Если кубит находится в равной суперпозиции, то он находится наполовину в состоянии 0, наполовину в состоянии 1. Следовательно, при измерении кубит с 50% вероятностью перейдёт в состояние 0 и с такой же вероятностью — в состояние 1. Если кубит, скажем, в 75% переходит в состояние 0 и в 25% в состояние 1, при 100 измерениях кубит перейдёт в состояние 0 примерно 75 раз и в состояние 1 примерно 25 раз.

Для понимания суперпозиции нужно думать о состояниях как о волнах, а не как о двух взаимоисключающих классах. Представьте себе две разные песни, одну из которых назовём песня A, другую песня B. Вы можете либо проигрывать только песню A на 100% громкости, либо только песню B на 100% громкости, либо проигрывать их одновременно на громкости 50%.

Поскольку при измерении кубит коллапсирует в одно из двух детерминированных состояний, невозможно измерить истинное вероятностное состояние кубита. Впрочем, можно измерить его приблизительно. Для кубита A в 25% в состоянии 0 и в 75% в состоянии 1 при измерении 1000 раз — скажем, 239 раз состояние 0 и 761 раз состояние 1 — квантовые физики могут приблизительно определить состояние кубита. Ключевое слово здесь “приблизительно — затвор нельзя применить исключительно к знанию, какое количество раз в процентах кубит перешёл в состояние 0 или 1.

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

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

Многокубитные системы и запутанность

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

2-кубитная система в состоянии 00 содержит первый кубит в состоянии 0 и второй кубит в состоянии 0. В 2-кубитной системе в состоянии 10 первый кубит находится в состоянии 1 и второй в состоянии 0.

Однако из-за суперпозиции 2-кубитные системы не ограничены только детерминированными значениями (0 или 1). Они могут находиться в суперпозиции. 2-кубитная система в равной суперпозиции будет на четверть в состоянии 00, на четверть в состоянии 01, на четверть в 10 и на четверть в 11. Это означает, что при измерении системы она имеет равные шансы перейти в одно из четырёх детерминированных 2-кубитных состояний.

Запутанность — ещё одно часто встречающееся умное слово, которое сбивает с толку. Альберт Эйнштейн, как известно, называл её “жуткое дальнодействие”, потому что запутанность можно интерпретировать как противоречие его специальной теории относительности. 

Скажем, при двух запутанных кубитах A и B в любой суперпозиции, когда Боб измеряет кубит A в состоянии 1, он мгновенно без измерения узнаёт состояние кубита B — тоже 1. Если Боб измерит кубит B, он убедится в этом. Если измерение Боба покажет, что кубит A находится в состоянии 0, кубит B тоже при измерении окажется в состоянии 0 — так происходит в 100% случаев. Что ещё более замечательно, это явление работает даже если A и B находятся на расстоянии триллионов световых лет друг от друга, так как расстояние не является коэффициентом запутанности. 

На первый взгляд запутанность выглядит как колдовство, но она реальна и не настолько сложна, если смотреть на её систему кубитов. Если 2-кубитная система с кубитами A и B находится в запутанном состоянии, кубиты могут находиться наполовину в состоянии 00, наполовину в 11. Таким образом, независимо от измерений системы два кубита останутся теми же самыми. Запутанная система может быть так же наполовину в 01, наполовину в 10, где два состояния всегда противоположны друг другу. 

Состояние 00 или 11 — два кубита останутся теми же

Альберт Эйнштейн и другие физики считали запутанность ошибкой, потому что она противоречит специальной теории относительности Эйнштейна, в которой говорится, что ничто не может двигаться быстрее скорости света. Если у Алисы есть кубит A, а у Боба есть кубит B (оба кубита находятся в запутанности), и Боб улетит за миллиарды световых лет от Алисы, измерение её кубита покажет то же, что и измерение кубита Боба — любые изменения в кубите Алисы с применением квантового вентиля повлияют на состояние кубита Боба. Формирует ли это общение? Некоторые предполагают, что кубиты “договариваются” заранее, в какое состояние перейти, но, похоже, это не удовлетворяет случайной природе вероятностных кубитов. Никто не знает наверняка, потому что невозможно найти точное вероятностное состояние кубита, так как измерение кубита вынуждает его перейти в одно из двух детерминированных состояний. Этот вопрос всё ещё горячо обсуждается.

Почему за кубитами будущее? 

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

Важно понимать, что кубиты могут содержать значительно больше информации, чем биты. Один бит содержит такое же количество информации, что и кубит — оба они могут содержать одно значение. Однако четыре бита используются для хранения того же объёма информации, что два кубита. 2-кубитная система в равной суперпозиции содержит значения для четырёх состояний, что в классическом вычислении требует четырёх битов. Восемь бит сохраняют информацию, которую можно сохранить в трёх кубитах, так как 3-кубитная система может хранить восемь состояний — 000, 001, 010, 011, 100, 101, 110 и 111. И так далее. 

График ниже демонстрирует вычислительную мощность кубитов. По оси x отображается количество кубитов, используемых для хранения определённого количества информации. Значения по оси y голубой линии отображают количество битов, необходимых для хранения того же объёма информации, что и в количестве кубитов по оси x, или 2 в степени x. Значения по оси y красной линии отображают количество кубитов, необходимых для хранения того же объёма информации, что и в количестве кубитов по оси x (y=x).

График построен с помощью Desmos.

Представьте себе какие возможности предоставляют квантовые вычисления! Гигабайт (8E+09 битов) информации может быть представлен как log(8E+09)/log(2) = 33 (округлённое от 32.9) кубитов!

Квантовые компьютеры также прекрасно подходят для разложения чисел на множители, что приводит нас к RSA шифрованию. Протокол безопасности, защищающий Medium и, наверняка, любой другой известный вам веб-сайт, известен как RSA шифрование. Он основан на том факте, что потребуется очень-очень много времени при существующих вычислительных ресурсах, чтобы разложить число m длиной больше 30 знаков на произведение двух чисел p и q, которые являются большими простыми числами. Однако деление m на p или q в вычислительном отношении значительно проще, и, поскольку m, делённое на q возвращает p и наоборот, это обеспечивает систему быстрой проверки ключа. 

Квантовый алгоритм, известный как алгоритм Шора, показал экспоненциальное ускорение в разложении чисел, что однажды может взломать RSA шифрование. Но не стоит пока увлекаться шумихой. На данный момент наибольшее число, которое удалось разложить квантовому компьютеру — это 21 (на 3 и 7). Для квантовых компьютеров ещё не разработано аппаратное обеспечение для разложения 30-значных или даже 10-значных чисел. Даже если когда-нибудь квантовые компьютеры взломают RSA шифрование, новый протокол безопасности BB84, основанный на квантовых свойствах, проверен на безопасность от квантовых компьютеров. 

Так заменят ли квантовые компьютеры классические? Не в обозримом будущем. 

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

Процессор Google Sycamore, укомплектованный 54 кубитами. Источник.

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

Специально для сайта ITWORLD.UZ. Новость взята с сайта NOP::Nuances of programming