Потому-то классические компьютеры и не могут довести вычисления до конца — им просто не хватает для этого вычислительных ресурсов.
У квантовых же компьютеров это вполне может получиться. В классическом компьютере информация кодируется бинарными битами, каждый из которых может быть равен только либо нулю, либо единице. Таким образом, информация, которая должна быть обработана процессором (например, число), представляется цепочкой битов. Давайте для примера возьмем два бита. Представим, что у нас есть комбинация 01 (двоичное представление единицы) и 10 (двоичное представление числа 2). Допустим, что эти два числа передаются процессору, который производит операцию сложения. Полученный результат записывается в те же два бита нашей памяти — в данном случае это 11 (двоичное представление числа 3). После этого оно используется в следующей операции, чтобы получить еще один ответ. Классический компьютер характеризуется последовательным, одно за другим, выполнением вычислений. Квантовый компьютер может преодолеть это ограничение, используя принцип суперпозиции. Это означает, что два квантовых бита (кубита) могут одновременно содержать в себе все возможные комбинации двух битов, то есть четыре числа — 0, 1, 2, 3 (00, 01, 10 и 11 в двоичном представлении)! При этом все возможные операции с этими четырьмя числами в квантовом процессоре также выполняются одновременно! Более того, согласно одной из трактовок квантовой физики, такие вычисления на самом деле выполняются в параллельных вселенных. Сравнение двух битов с двумя кубитами не дает в полной мере ощутить всей разницы между классическим компьютером и квантовым (четыре числа квантового компьютера против одного классического). Но стоит нам перейти к примерам с большим числом битов, разница становится намного более заметной. Десять кубитов могут хранить 1024 различных чисел одновременно, а 100 — уже 1267650600228230000000000000000. И притом одновременно! В отличие от квантового компьютера, который может проводить вычисления сразу над всеми этими числами, классическому компьютеру придется выполнять их одно за другим. Данный пример со всей очевидностью показывает, откуда берется колоссальная мощь квантовых компьютеров.
Есть, однако, серьезная проблема. Если даже квантовый компьютер и способен выполнить множество вычислений за раз, вывести все результаты сразу невозможно — можно получить только один из них. Тем не менее существует способ обойти данное ограничение. Можно сделать так, чтобы этот единственный ответ зависел от всех вычислений, что позволит воспользоваться результатами каждого из них. Таким образом, чтобы воспользоваться возможностями, которые дают квантовые вычисления, мы должны сосредоточиться на задачах, где нам нужен один ответ, зависящий от множества отдельных вычислений или операций. К числу таких задач относится, например, поиск по базе данных. Представьте, что вам нужно найти в телефонном справочнике человека по номеру телефона. Чтобы найти нужное имя, в среднем вам придется просмотреть половину всех записей. В некоторых случаях вам может повезти, и нужное имя найдется в самом начале справочника; но будут и такие ситуации, когда вам придется пролистать почти весь справочник, пока вы доберетесь до нужного человека. Но, если взять среднее количество страниц, просмотренных вами при поиске множества разных людей, окажется, что оно равно половине всего количества страниц в телефонном справочнике. Именно при решении проблем такого рода может в полной мере раскрыться потенциал квантового компьютера: алгоритмы поиска среди тех приложений, для которых доказана возможность существенного увеличения быстродействия для квантового компьютера по сравнению с классическим. Создание алгоритмов, реализуемых на квантовом компьютере, — быстро растущая область исследований, но это пока только самое начало. Тем не менее уже сейчас у нас есть немало высокоэффективных алгоритмов (их список приводится на веб-сайте NIST Quantum Algorithm Zoo), что вселяет определенный оптимизм.
Так как же все-таки воплотить идею квантового компьютера в реальность? К сожалению, это невероятно сложно, и многие десятилетия ученым казалось, что это вообще невозможно. Впрочем, благодаря многочисленным важным открытиям, совершенным в последние годы, отношение к этому вопросу изменилось. Думаю, если исходить из современного уровня знаний, можно утверждать, что имеющиеся сейчас технологии вполне позволяют построить квантовый компьютер. Однако, учитывая объем инженерно-технической работы, который при этом придется проделать, по уровню сложности и амбициозности эта задача сопоставима с полетом человека на Марс. Но давайте все-таки рассмотрим подробнее, что именно требуется.
Читать дальше
Конец ознакомительного отрывка
Купить книгу