Если облучить атом светом, фотоны которого обладают подходящей энергией, можно заставить атом изменить состояние из |0> в |1> и обратно. Так мы инвертируем бит атома. Другими словами, мы выполняем логическую операцию «не». В статье «Потенциально реализуемый квантовый компьютер» (A Potentially Realizable Quantum Computer), опубликованной в 1993 г. в журнале
Но атомы могут сделать намного больше, чем обычный PC или Mac. Атомы могут хранить нечто большее, чем биты; они могут хранить кубиты. В отличие от классических битов, кубиты могут находиться в квантовых суперпозициях |0> и |1>, то есть они могут быть в состоянии 0 и 1 в одно и то же время.
Чтобы увидеть, почему квантовые компьютеры и квантовые биты могут сделать больше, чем классические компьютеры и классические биты, давайте вспомним, что делают биты в компьютере. Некоторые из них, например биты на жестком диске компьютера или в его памяти, просто хранят информацию. Например, биты в памяти моего компьютера получают и хранят этот текст, по мере того как я его печатаю. Другие биты, например биты компьютерных программ, являются инструкциями или командами. Они велят компьютеру делать то или другое. Функционирует ли бит как бит памяти или как бит команды, зависит от контекста, в котором он используется.
Рассмотрим бит, который компьютер интерпретирует как команду: 0 означает «Делай это!», а 1 означает «Делай то!» «Это» может быть, скажем, «прибавь 2 к 2», а «то» может быть «прибавь 3 к 1». Или «это» может означать «отправь электронное письмо», а «то» – «открой веб-браузер».
В отличие от классического бита, квантовый бит может содержать 0 и 1 в одно и то же время. Что делает квантовый компьютер, когда он пытается интерпретировать такой кубит как команду? Часть суперпозиции, обозначаемая нулем, говорит квантовому компьютеру: «Делай это», а часть суперпозиции, соответствующая единице, говорит: «Делай то». Как же квантовый компьютер решает, что ему делать? А никак!
Дэвид Дойч назвал эту парадоксальную способность квантового компьютера делать две вещи сразу «квантовым параллелизмом». Квантовый параллелизм очень отличается от обычных классических параллельных вычислений. Классический параллельный компьютер состоит из нескольких процессоров, соединенных вместе. При классическом параллельном вычислении один процессор выполняет одну задачу, а другие процессоры выполняют другие задачи. В случае квантового параллелизма один квантовый процессор выполняет несколько задач сразу.
Эта способность делать две вещи сразу присуща именно квантовой механике. В двухщелевом эксперименте фотон может пройти через обе щели сразу; кубит может хранить 0 и 1 в одно и то же время; квантовый компьютер может выполнять две разных задачи одновременно. Способность делать две вещи сразу является результатом волновой природы квантовой механики. Каждое возможное состояние квантовой системы соответствует волне, а волны могут накладываться друг на друга.
Мы все знакомы с ситуациями, где наложение волн приводит к качественно новым и более богатым явлениям. Рассмотрим звуковые волны. Волна, колеблющаяся вверх и вниз на определенной частоте, соответствует чистому тону. Звуковая волна, колеблющаяся вверх и вниз 440 раз в секунду, соответствует звуку ноты «ля» первой октавы. Звуковая волна, колеблющаяся вверх и вниз 330 раз в секунду, дает звук ноты «ми» первой октавы. Суперпозиция этих двух волн соответствует аккорду, который обладает качественно иным, более богатым звуком, чем звук любого чистого тона, взятого отдельно. Богатство звука возникает благодаря интерференции, наложению этих двух чистых тонов.
Классическое вычисление похоже на сольную партию – отдельные строки чистых тонов, следующие друг за другом. Квантовое вычисление похоже на симфонию, состоящую из множества строк тонов, интерферирующих друг с другом. Именно это явление интерференции придает квантовому вычислению его особые качества и дополнительную мощь.