Программируя Вселенную. Квантовый компьютер и будущее науки - Сет Ллойд
Шрифт:
Интервал:
Закладка:
Каждая галактика, звезда и планета обязаны своей массой и положением квантовым событиям в начале Вселенной. Но не только: эти события также стали источниками мелких деталей Вселенной. Случайность – ключевой элемент языка природы. Каждый бросок «квантовых костей» создает в мире еще несколько битов различий и подробностей. Эти детали накапливаются и формируют зачатки всего разнообразия Вселенной. Каждое дерево, каждая ветка, лист, клетка и спираль ДНК обязаны своей особенной формой какому-то случайному броску в этой квантовой игре. Если бы не законы квантовой механики, Вселенная до сих пор была бы невыразительной и пустой. Возможно, азартные игры на деньги и являются воплощением ада, но квантовая игра в кости – божественный промысел!
Мы уже знаем, что Вселенная вычисляет, записывая и трансформируя информацию. Поэтому все то, что мы видим вокруг, можно назвать вселенским, или универсальным компьютером. Однако у этого названия есть другое, более техническое значение. В информатике тоже есть понятие «универсальный компьютер» – это устройство, которое можно запрограммировать так, что оно будет обрабатывать биты информации любым желаемым способом. Обычные цифровые компьютеры, такие, на каком я пишу эту книгу, – это универсальные компьютеры, а их языки – универсальные языки. Люди способны производить универсальные вычисления, и человеческие языки универсальны. Почти все системы, которые можно запрограммировать на выполнение произвольно длинных последовательностей простых преобразований информации, являются универсальными.
Универсальный компьютер может сделать с информацией почти все что угодно. Изобретатели универсальных компьютеров и универсальных языков, Алонзо Черч и Алан Тьюринг, выдвинули гипотезу, что на универсальном компьютере может быть выполнена любая возможная математическая манипуляция, то есть что универсальный компьютер может создавать математические построения любого уровня сложности. Но сам он не должен быть сложной машиной; все, что он должен уметь, – это брать биты, по одному или по два за раз, и выполнять с ними простые операции. Чтобы совершить любое желаемое преобразование над сколь угодно большим набором битов, достаточно многократно выполнять операции всего с одним или двумя битами за раз. Любая машина, которая может выполнить такую последовательность простых логических операций, является универсальным компьютером.
Важно, что универсальный компьютер можно запрограммировать так, чтобы преобразовывать информацию любым желаемым образом, и любой универсальный компьютер можно запрограммировать так, чтобы он преобразовывал информацию точно так же, как это делает любой другой универсальный компьютер. Таким образом, любой универсальный компьютер может моделировать другой, и наоборот. Такая взаимомоделируемость означает, что все универсальные компьютеры могут выполнять один и тот же набор задач. (Эта особенность вычислительной универсальности нам знакома: если какая-то программа работает на PC, ее, безусловно, можно видоизменить так, что она будет работать на Mac.)
Конечно, на Mac программа может работать медленнее, чем на PC, и наоборот. Программа, написанная для универсального компьютера определенного типа, на нем обычно работает быстрее, чем ее «переводная» версия на другом компьютере. Но эта переведенная программа все равно будет работать. Можно показать, что любой универсальный компьютер может не только имитировать любой другой универсальный компьютер, но и делать это эффективно. При переводе программы с одного компьютера на другой она будет работать медленнее, но ненамного.
Вселенная вычисляет. Ее компьютерный язык состоит из законов физики и их химических и биологических следствий. Но можно ли считать, что Вселенная является универсальным цифровым компьютером, в том техническом значении, который обосновали Чёрч и Тьюринг, и ничем более? На этот вопрос можно дать точный научный ответ: нет.
Идея о том, что Вселенная в самой своей основе может являться цифровым компьютером, возникла несколько десятилетий назад. В 1960-х гг. Эдвард Фредкин, бывший тогда профессором Массачусетского технологического института, и тот самый Конрад Цузе, который сконструировал первые электронные цифровые компьютеры в Германии в начале 1940-х, предположили, что Вселенная, в сущности, является универсальным цифровым компьютером. (Сравнительно недавно эта концепция нашла последователя в лице ученого в области информатики Стивена Вольфрама.) Идея очень привлекательна: цифровые системы просты и при этом способны воспроизводить поведение любой степени сложности. В частности, компьютеры, архитектура которых воспроизводит структуру пространства и времени (так называемые клеточные автоматы), могут эффективно воспроизводить движения классических частиц и взаимодействия между ними.
Помимо эстетической привлекательности идеи цифровой Вселенной существуют веские доказательства вычислительной силы законов физики. Законы физики определенно обеспечивают универсальные вычисления. Проблема же с определением Вселенной как классического цифрового компьютера состоит в том, что она, как представляется, обладает гораздо большей вычислительной мощностью.
У двух компьютеров одна и та же вычислительная мощность, если каждый из них может эффективно моделировать другой. Ключевое слово здесь «эффективно». Законы физики могут эффективно моделировать цифровые вычисления; Вселенная без труда включает в себя обычные цифровые компьютеры. Но поставим вопрос иначе: может ли наш обычный компьютер эффективно смоделировать Вселенную? Представляется, что это невозможно.
На первый взгляд кажется, что ответ должен быть иным. В конце концов, законы физики выглядят просто. Даже если они окажутся немного более сложными, чем мы сейчас думаем, все же это математические законы, которые могут быть выражены на обычном машинном языке; то есть обычный компьютер может смоделировать законы физики и их следствия. Если бы у нас был достаточно большой компьютер, то мы могли бы запрограммировать его (например, с помощью языка Java), описав начальное состояние Вселенной и законы физики, и запустить в работу. В итоге мы могли бы ожидать, что этот компьютер даст точное описание состояния Вселенной в любой последующий момент.
Проблема такого моделирования не в том, что оно невозможно, а в том, что оно неэффективно. Природа Вселенной, по самой своей сути, квантово-механическая, а обычным компьютерам нелегко моделировать квантово-механические системы. Почему? Обычным компьютерам квантовая механика кажется настолько же странной и парадоксальной, как и людям. А поэтому, чтобы смоделировать даже крошечный фрагмент Вселенной, состоящий, скажем, всего из нескольких сотен атомов, на интервале времени в крошечную долю секунды, обычному компьютеру понадобилось бы больше памяти, чем атомов во всей Вселенной, и больше времени, чем она существует. Это действительно неэффективно!
Нельзя сказать, что классические компьютеры не способны отражать определенные аспекты квантового поведения: они неплохо вычисляют приближенные энергии и основные состояния квантовых систем. В то же время нет никакого известного способа, позволяющего им выполнять полноценное динамическое моделирование сложной квантовой системы, не используя при этом огромного количества динамических ресурсов. Классические биты очень плохо хранят информацию, необходимую для описания квантовой системы: при увеличении числа элементов системы количество битов растет экспоненциально. Что это значит? Раз моделировать квантовые системы с помощью обычного компьютера невозможно, то Вселенная по природе своей имеет большую вычислительную силу, чем классический цифровой компьютер.