Известие об алгоритме Шора было сродни разорвавшейся бомбе. «Внезапно на всех проводимых нами конференциях стали появляться люди, которых мы никогда не видели», — вспоминает немецкий физик Герберт Вальтер. Многие из этих посторонних, неожиданно возомнивших себя знатоками неизведанной области физики, открыто указывали свое место работы: «National Security Agency» (NSA). В Национальном агентстве безопасности собрались американские «взломщики кодов», использующие в своих целях самые мощные компьютеры. Вот так спецслужбы США быстро взяли под свое крыло все работы в этой области, поддерживая ученых деньгами и зорко следя за их новейшими достижениями. Естественно, подобный компьютер, моментально выхватывающий из огромной базы данных нужный результат, пригодится и в науке.
Счетные доски квантовых дотов
Однако сказанное, по большей части, представляет собой лишь мечты. Идея квантового компьютера блестяща, но реализовать ее весьма трудно, поскольку квантовые эффекты, теоретически облегчающие работу подобной машины, в то же время делают неимоверно сложным ее практическое воплощение. Пытаясь узнать результат вычислений, мы невольно вмешиваемся в процессы, происходящие на субатомарном уровне, и тогда результат меняется. Квантовый компьютер настолько чувствителен, что его работу нельзя контролировать. Он должен быть полностью изолирован от всего. Любое взаимодействие с окружающей средой может разрушить квантовое состояние, и тогда накопленная информация будет утрачена. Удастся ли нам приноровиться к подобным странностям квантового мира, обуздать их — покажет будущее.
Так, первый алгоритм решения задач с нечетко поставленными условиями был опубликован еще в 1996 году. Но для его применения нужны мощные машины. А их-то у нас нет!
Еще никто не знает, сколько атомов надо соединить, чтобы квантовый компьютер впрямь заработал. Все атомы нужно идеально изолировать от внешнего мира. Даже одна-единственная молекула газа моментально разрушит это хрупкое состояние. А ведь абсолютного вакуума не существует!
Поэтому ученые радуются, когда подобное «телепатическое» состояние удается удержать на миллионную долю секунды. Соответственно и возможности современных квантовых компьютеров пока невероятно малы. В лучшем случае они работают как квантовая… счетная доска.
Так, в декабре 2001 года Айзек Чуанг, сотрудник компании IBM, создал 7-кубитную машину, использовав в качестве вычислительных элементов пару капель раствора соединения железа (C>11H>5F>5O>2Fe). Отдельным кубитам соответствовали спины атомов фтора и углерода. Данная машина сумела определить, что делителями числа 15 являются числа 3 и 5 (пятнадцать — это минимальное число, для которого алгоритм Шора дает разумное решение). Это было тогда… самое сложное вычисление за всю историю квантовых компьютеров.
На первый взгляд, эксперимент не слишком эффектен, и все же он стал важным шагом на пути к созданию квантового компьютера. Возможности этого компьютера XXI века наглядно покажет следующий пример.
В одном из недавних экспериментов, чтобы разложить 158-значное число на простые множители, потребовалось несколько недель времени и сеть из 144 соединенных вместе компьютеров. А вот квантовый компьютер разложил бы подобное число на сомножители в течение считанных минут.
Эффективность квантовых компьютеров нарастает по экспоненте в зависимости от количества кубитов. Так, по своей мощности 50-кубитная машина эквивалентна кремниевому компьютеру с объемом памяти в 128 тысяч гигабайт; 20- или 30-кубитные машины соответствуют стандартному персональному компьютеру. Однако даже оптимисты не обещают, что подобные машины появятся в ближайшие два десятилетия.
Пока можно говорить лишь о том, как они будут схематично выглядеть. Так, в 2002 году в статье, опубликованной в «Nature», американский исследователь Дэвид Уайнлэнд из Национального института стандартов и технологий предложил модель большого квантового компьютера, состоящего из множества соединенных друг с другом ионных ловушек, в которых «заперты» ионы — носители информации. Его архитектура напоминает архитектуру традиционного компьютера. Оба располагают блоком памяти, где хранятся различные данные, и процессором, выполняющим математические операции.