Джонджо МакФадден - Жизнь на грани
Вы, наверное, помните разговор о квантовых компьютерах в главе 4, где мы вспоминали статью из New York Times 2007 года, в которой утверждалось, что растения — это квантовые компьютеры. Исследователи Массачусетского технологического института в конце концов пришли к мысли, что системы фотосинтеза у микробов и растений действительно могут выполнять своего рода квантовые вычисления. Но могут ли их собственные умы так же работать в квантовой сфере? Для того чтобы изучить этот вопрос, мы сначала должны более внимательно взглянуть на то, что такое квантовые компьютеры и как они работают.
Расчеты с квантовыми битами
Когда мы думаем о компьютере сегодня, мы имеем в виду электронное устройство, способное выполнять инструкции по манипулированию и обработке информации при помощи совокупности электрических переключателей во включенном или выключенном состоянии, каждый из которых способен кодировать двоичное число (или бит) как 1 или 0. Совокупность таких переключателей может организовываться для построения схем, выполняющих логические инструкции, которые могут быть объединены и использованы для выполнения арифметических операций, таких как сложение и вычитание, или в действительности для открытия и закрытия каналов, описанных нами применительно к нейронам. Большим преимуществом этого электронного цифрового компьютера является то, что такие расчеты намного быстрее, чем любой ручной способ выполнения такой же задачи, будь то подсчет на пальцах, в уме или на бумаге.
Но в то время, как электронные компьютеры могут чрезвычайно быстро высчитывать суммы, даже они не могут уследить за сложностью квантового мира с множеством пересекающихся вероятностей. Чтобы преодолеть эту проблему, лауреат Нобелевской премии физик Ричард Фейнман придумал возможное решение. Он предложил выполнять вычисления в квантовом мире с помощью квантового компьютера.
Чтобы увидеть, как квантовые компьютеры могли бы работать, полезно будет в первую очередь представить бит классического компьютера в виде сферического компаса, стрелка которого может указывать либо на 1 (северный полюс), либо на 0 (южный полюс) и может вращаться на 180°, переключаясь между этими двумя состояниями (рис. 8.4, а). Центральный процессор (ЦПУ) компьютера состоит из многих миллионов этих однобитовых переключателей, поэтому весь вычислительный процесс может быть представлен как применение сложного набора коммутационных правил (алгоритмов), которые могут поворачивать множество сфер на 180°.
Рис. 8.4. Бит классического компьютера в виде сферического компаса: а — классический бит, переключаемый с 1 на 0, представлен как вращение классической сферы на 180°; б — кубит (квантовый бит), переключаясь, может быть представлен как вращение сферы через любой произвольный угол. Тем не менее когерентный кубит может быть также в суперпозиции для множества вращений; в — три когерентных кубита в состоянии запутанности, как будто воображаемые нити соединяют поверхности каждой сферы. Натяжение этих нитей, следуя вращениям, иллюстрирует квантовые вычисления
Эквивалент бита из квантовых вычислений называется кубитом. Он похож на классическую сферу[151], но его движение не ограничивается 180°. Вместо этого он может поворачиваться на любой произвольный угол в пространстве и, будучи элементом квантовой механики, может ориентироваться на множество направлений одновременно в квантовой когерентной суперпозиции (см. рис. 8.4, б). Эта повышенная гибкость позволяет кубиту кодировать больше информации, чем классический бит. Но реальным толчком для наращивания вычислительной мощности будет помещение кубитов вместе.
В то время как состояние одного классического бита не влияет на состояние соседних, кубиты могут быть также в квантовой запутанности. Возможно, вы помните из главы 6, что запутанность является квантовым шагом от когерентности, где квантовые частицы теряют свою индивидуальность, и то, что происходит с одним, затрагивает их все мгновенно. С точки зрения квантовых вычислений запутанность можно визуализировать, как если бы каждая сфера-кубит была соединена эластичными нитями[152] с любой другой (см. рис. 8.4, в). Теперь давайте представим себе, что мы вращаем только одну из сфер. Без запутанности вращение не будет влиять на соседние кубиты. Но если наш кубит спутан с другими, то вращение изменяет натяжение во всех соединительных нитях между этими связанными кубитами. Вычислительный ресурс всех этих связующих нитей возрастает по экспоненте с увеличением числа кубитов, а это означает, что растет он в самом деле очень быстро.
Чтобы получить представление об экспоненциальном росте, вспомните наверняка известный сюжет о китайском императоре, который был настолько доволен изобретением шахмат, что обещал наградить изобретателя тем, что тот выберет. Смекалистый изобретатель попросил только одно зернышко риса для первого квадрата на шахматной доске, два зернышка — для второго, четыре — для третьего и т. д., удваивая количество зерен с каждым последующим квадратом до 64-го. Император, считая это скромной просьбой, охотно согласился и приказал своим слугам принести рис. Но когда рисовые зерна отсчитали, он тут же осознал свою ошибку. Первый ряд квадратов собрал только 128 зерен (27 плюс один — помните, первый квадрат имеет только одно зерно риса) и даже к концу второго ряда квадратов вышло только 32 768 зерен, чуть менее килограмма риса. Но когда килограммы стали множиться на последующих квадратах, император встревожился, обнаруживая, что к концу третьего ряда ему пришлось выдать более 200 тонн риса. Достижение конца четвертого ряда уже разорило бы королевство! На самом деле, чтобы дойти до конца шахматной доски, потребовалось бы 9 223 372 036 854 775 808 (263 плюс один) зерен риса, или 230 584 300 921 тонна, что примерно равно всему мировому урожаю риса на протяжении всей истории человечества.
Проблемой императора была его неспособность осознать, что удвоение числа снова и снова приводит к экспоненциальному росту — другими словами, увеличение числа от одного к другому пропорционально размеру предыдущего числа. Экспоненциальный рост является взрывным, как убедился император на собственном состоянии. И точно так же, как рисовые зерна в этой истории экспоненциально множились вслед за количеством квадратов шахматной доски, и мощность квантового компьютера растет по экспоненте вслед за количеством кубитов.
Это сильно отличается от классического компьютера, мощность которого возрастает только линейно с числом битов. Например, если добавить один бит в восьмибитном классическом компьютере, мощность увеличится на одну восьмую; чтобы мощность удвоить, нужно удвоить количество битов. А добавление просто одного кубита к квантовому компьютеру удвоит его мощность, приводя все к тому же экспоненциальному росту мощности, который наблюдал император в случае с рисовыми зернами. На самом деле если квантовый компьютер может поддерживать когерентность и запутанность в пределах всего 300 кубитов, которые потенциально могут привлечь только 300 атомов, то он в определенных заданиях может превзойти классический компьютер размером с целую вселенную!
Но — и это очень большое НО — для работы квантового компьютера кубиты должны взаимодействовать только друг с другом для выполнения вычислений (с помощью своих невидимых запутанных нитей). Это означает, что они должны быть полностью изолированы от окружающей среды. Проблема в том, что любое взаимодействие с внешним миром заставит кубиты спутаться с окружающей их средой, которую мы можем рассмотреть как формацию гораздо большего числа нитей, которые тянули бы кубиты со всех сторон, конкурируя с нитями между ними и, следовательно, мешая расчетам, которые они выполняют. Это, по сути, представляет собой процесс декогеренции (рис. 8.5). Даже при очень слабом взаимодействии внешняя среда создает такой беспорядок в нитях кубитов, что они перестают вести себя слаженно относительно друг друга: их квантовые нити фактически разрываются и кубиты ведут себя как независимые классические биты.
Рис. 8.5. Декогерентность в квантовом компьютере, вызванная, как представляется, спутыванием нитей кубитов со скоплением нитей внешней среды. Это всячески сдвигает и растаскивает кубиты, и они больше не реагируют на связи в своей собственной запутанности
Квантовые физики делают все возможное, чтобы поддерживать когерентность в запутанных кубитах, работая с чрезвычайно разреженными и тщательно контролируемыми физическими системами, кодируя кубиты в небольшое количество атомов, охлаждая систему на грани абсолютного нуля и тщательно изолируя оборудование для недопущения влияния окружающей среды. При таких подходах они получили значимые результаты. В 2001 году ученым из IBM и Стэнфордского университета удалось построить семикубитный «пробирочный квантовый компьютер», который мог реализовать сложный код под названием «алгоритм Шора», названный в честь математика Питера Шора, разработавшего его в 1994 году специально для запуска на квантовом компьютере. Алгоритм Шора кодирует очень эффективный способ разложения чисел на множители (устанавливающий, какие простые числа должны быть перемножены для получения требуемого числа). Это был огромный прорыв, разошедшийся по заголовкам научных изданий всего мира; на начальном этапе работы этот квантовый компьютер-новичок смог лишь вычислить простые множители числа 15 (3 и 5, если вам интересно).