Новый Мир Новый Мир - Новый Мир ( № 7 2011)
Зачем нам нужны все более быстрые и мощные компьютеры? Нельзя ли ограничиться теми, что есть? Ответ однозначный: даже в среднесрочной перспективе уже нельзя. Это связано с лавинообразным ростом количества цифровой информации и количества пользователей и производителей этой информации. Буквально шесть лет назад, в феврале 2005 года, когда появился Youtube, никто не подозревал, что количество видеоинформации будет расти с такой поразительной скоростью. И это только небольшая часть цифровой информации, которая создается и передается по глобальной сети. Хотя количество людей на Земле сравнительно невелико, количество устройств и сервисов, использующих цифровую информацию, ничем не ограничено. Если сегодня перестать наращивать цифровые мощности, встанет Сеть. Последствия могут быть катастрофическими. Но это только одна из проблем. Мы ведь хотим продолжать теми же темпами (а хотелось бы и побыстрее) познавать и конструировать природу, в частности, попытаться конструировать работу мозга, а без взрывного роста вычислительной мощности это невозможно.
В 1982 году Ричард Фейнман опубликовал статью [8] , в которой предложил использовать принципиально новый физический принцип для вычислительных систем. Эту статью считают началом квантовых компьютеров.
Ричард Фейнман, анализируя проблему моделирования квантовых явлений, пришел к выводу, что моделирование таких явлений на реальных компьютерах при ограничении времени практически невозможно и не будет возможно в обозримой перспективе. Но вместо того чтобы считать трудность обработки квантовых явлений препятствием, Фейнман счел ее новой возможностью. Действительно, чтобы узнать исход эксперимента, необходимо выполнить невообразимо много вычислений. Но если мы поставим эксперимент, то сам факт его проведения и измерения его результатов будет равносилен выполнению сложного вычисления. То есть вместо того, чтобы считать, мы можем поставить эксперимент и «снять» результат, тогда мы как бы заглянем в ответ. И сам эксперимент станет своего рода «специализированным процессором», который возьмет на себя самую трудную часть вычислений и оставит классическому процессору фактически только обработку полученных результатов.
Если мы вернемся к весам и мальчику Бобу, то увидим полную аналогию. Классический компьютер не умеет моделировать квантовую систему. Но он может подготовить входные данные — «посчитать палочки». Затем мы запустим квантовый эксперимент и с помощью классического устройства зарегистрируем результат — «посмотрим на показатель весов».
Идея Фейнмана была только наброском. Первые решения, которые позволили приблизиться к реализации квантового компьютера, были получены Дэвидом Дойчем во второй половине 80-х. Но и они имели чисто теоретический характер.
Настоящий интерес квантовые компьютеры вызвали, когда было показано, что с их помощью (если бы они существовали) можно было бы очень быстро решить задачу факторизации, то есть взломать шифры с открытым ключом.
Трудности, которые стоят перед учеными, очень велики. Профессор Ожигов, один из ведущих специалистов по квантовым вычислениям, считает, что трудности эти сравнимы с решением проблем, связанных с межпланетными перелетами.
Не имея возможности подробно анализировать принципы квантовых вычислений и их физические реализации, я тем не менее попробую хотя бы контурно обрисовать те проблемы, которые стоят перед учеными, работающими в этой области.
Источник этих проблем заключен в тех же квантовых свойствах материи, которые и обеспечивают огромный прирост быстродействия квантового компьютера по сравнению с классическим.
Классический компьютер работает последовательно: по двум числам (битам), полученным на выходе, он однозначно определяет их сумму, передает ее пользователю и переходит к сложению следующей пары чисел. Чтобы сложить две пары чисел, потребуется два такта процессора. Так работает любое классическое вычислительное устройство — очевидна полная аналогия с весами, с помощью которых складывал числа мальчик Боб.
Квантовый компьютер работает не с битами, а с так называемыми кубитами; это могут быть частицы или системы, пребывающие в двух квантовых состояниях, — одно соответствует единице, другое — нулю. Физически это может быть значение спина, или направление поляризации, или какое-то другое квантовое наблюдаемое.
Если классический процессор в каждый момент времени находится ровно в одном состоянии (т. е. все биты, с которыми он работает, имеют значение либо нуль, либо единица), то квантовый процессор находится в так называемой квантовой суперпозиции , то есть во всех возможных состояниях одновременно: каждый кубит с некоторой вероятностью равен нулю или единице. Весь набор кубитов называется квантовым регистром. Главный выигрыш, который мы получаем при использовании квантового компьютера, — это квантовый параллелизм .
«Данные в процессе вычислений представляют собой квантовую информацию, которая по окончании процесса преобразуется в классическую путем измерения конечного состояния квантового регистра. Выигрыш в квантовых алгоритмах достигается за счет того, что при применении одной квантовой операции большое число коэффициентов суперпозиции квантовых состояний, которые в виртуальной форме содержат классическую информацию, преобразуется одновременно » (курсив мой. — В. Г. ) [9] .
Если нам удастся за один такт процессора выполнить все возможные параллельные вычисления над всеми возможными наборами входных данных, необходимых для решения нашей задачи, мы безусловно получим очень серьезный выигрыш в вычислительной мощности.
Но, как водится, гладко было на бумаге. Проблем пока больше, чем решений. Дело в том, что непосредственно с квантовой информацией мы работать не можем — не потому, что не умеем, а потому, что это запрещено: как только мы попытаемся с ней работать, она превратится в классическую (наступит «коллапс волновой функции»), причем результат работы квантовой системы перейдет в классическую информацию не однозначно, а с некоторой вероятностью. Если бы у Боба были квантовые весы, после того как он положил на них палочки (кубиты) и отвернулся (то есть не наблюдал за системой), весы показывали бы некоторый интервал значений — например, от 1 до 10 — стрелочка металась бы по шкале, а когда Боб посмотрел бы на весы, они перешли бы в классическое состояние и замерли на значении, которое не обязательно с вероятностью 100% равно 8. То есть информацию о квантовой системе можно получить только с некоторой вероятностью, и, например, для задачи сложения двух чисел обычные весы безусловно подойдут лучше квантового компьютера. Не всегда это непреодолимая помеха, но вообще говоря, классических алгоритмов, которые можно ускорить с помощью квантового компьютера, довольно мало. А таких, которые ускорить нельзя, — подавляющее большинство.
Другая проблема — это сохранение и передача квантового состояния. Квантовое состояние нельзя сохранить — его можно только создать заново. Точно так же его нельзя передать, например, по Сети, его можно только опять-таки заново создать на новом месте — этот процесс называется квантовой телепортацией, и до решения возникающих при этом проблем еще очень далеко.
Так почему же ученые с таким энтузиазмом занимаются столь трудной проблемой? К тому же еще непонятно, приведет ли преодоление многих-многих трудностей к тем прикладным результатам, которые все окупят. Скептиков более чем достаточно. Я приведу мнение академика РАН, лауреата Филдсовской премии, математика и физика-теоретика Сергея Новикова. Он касается почти всех моментов, на которых я останавливался, поэтому процитирую его подробно.
Новиков пишет: «Что такое „квантовые компьютеры”? Возможность развить теорию квантового аналога процесса вычислений сама по себе интересна как раздел абстрактной математической логики квантовых систем. Когда же мы говорим о создании компьютера, возникает первый вопрос: можно ли указать какую-либо возможную физическую реализацию, чтобы грубо оценить числовые параметры для границ, преодоление которых было бы необходимо для реализации, для оценки возможностей, скорости? Без этого подобный объект существует только в платоновской физике. Об этом пока можно только писать романы наподобие Жюль Верна. Высокопарный разговор о всесилии технологии будущего неконкретен: оставим будущее будущим людям; пока мы просто ничего не знаем. Никто не знает, можно ли реально построить достаточно большую, полностью когерентную квантовую систему, способную реализовать классически управляемые квантовые процессы по заданному довольно сложному алгоритму. Физику таких процессов надо долго изучать. А если и окажется, что можно, то будет ли основанная на этом модель вычисления работать лучше обычной в реальном мире? Не увлекайтесь сравнением числа шагов — они здесь не те, что в обычных машинах А. Тюринга и Е. Поста. Инженерной идеи пока не видно, как и физической. Есть только абстрактная квантовая логика. Машины Поста и Тюринга создавались одновременно с реальными компьютерами; это не то, что квантовые компьютеры, которых нет. В такой ситуации мне непонятны восторги по поводу уже якобы решенных с помощью квантовых компьютеров проблем типа расшифровки кодов, нужных как частным фирмам, так и структурам типа КГБ, ЦРУ и т. д. Боюсь, КГБ-подобным организациям придется подождать. Возможно, здесь действует логика рекламы: „Почему не устроить шум и не получить у них деньги на исследования? У них много денег, они платили и экстрасенсам”. Во всяком случае, гениев типа Ферми, предложившего проект создания атомной бомбы, который мог бы поддержать и Эйнштейн, здесь пока не видно. Без гениев такие вещи не создаются, люди совсем об этом забыли. А вот возникновение шума без серьезной основы стало нормой в сообществе конца XX века.