Программируя Вселенную. Квантовый компьютер и будущее науки Сет Ллойд Каждый атом Вселенной, а не только различные макроскопические объекты, способен хранить информацию. Акты взаимодействия атомов можно описать как элементарные логические операции, в которых меняют свои значения квантовые биты – элементарные единицы квантовой информации. Парадоксальный, но многообещающий подход Сета Ллойда позволяет элегантно решить вопрос о постоянном усложнении Вселенной: ведь даже случайная и очень короткая программа в ходе своего исполнения на компьютере может дать крайне интересные результаты. Вселенная постоянно обрабатывает информацию – будучи квантовым компьютером огромного размера, она все время вычисляет собственное будущее. И даже такие фундаментальные события, как рождение жизни, половое размножение, появление разума, можно и должно рассматривать как последовательные революции в обработке информации. Сет Ллойд Программируя Вселенную. Квантовый компьютер и будущее науки Издательство благодарит Russian Quantum Center, Сергея Белоусова и Виктора Орловского за помощь в подготовке издания. Перевод А. Стативка Редактор И. Лисов Редакторы Russian Quantum Center А. Сергеев, Д. Фалалеев Руководитель проекта А. Половникова Корректор Е. Сметанникова Компьютерная верстка М. Поташкин Иллюстрация обложки GettyImages/Fotobank.ru © Seth Lloyd, 2006 © Издание на русском языке, перевод, оформление. ООО «Альпина нон-фикшн», 2013 * * * Посвящается Ив Предисловие автора к русскому изданию Я с удовольствием пишу это специальное введение для издания книги «Программируя Вселенную» на русском языке. Я хотел бы поблагодарить Сергея Белоусова, Евгения Демлера, Мишу Лукина и всех коллег из Российского квантового центра, которые помогли сделать возможной публикацию этого русского перевода. Российский квантовый центр – это новое прогрессивное учреждение, которое сохраняет великую русскую традицию фундаментальной науки. Исследователи центра уже внесли важный вклад в теорию и практику обработки квантовой информации, которая является одной из центральных тем моей книги. Я с нетерпением жду от этой научной организации новых больших и прекрасных научных достижений. Идея «Программируя Вселенную» состоит в том, что мы должны воспринимать Вселенную в терминах обработки информации, проводимой ею на самом фундаментальном уровне. В традиционном физическом описании Вселенной главной величиной является энергия. Недавно, однако, стало ясно, что информация является столь же важной величиной. Как гласит знаменитая формула Эйнштейна E = mc?, вся материя сделана из энергии. Однако информация задает форму, которую принимает вещество, и определяет те преобразования, которым подвергается энергия. В глубине своей Вселенная – это танец вращений и щелкающих звуков, в котором энергия и информация являются равными партнерами. Вселенная, в сущности, является гигантским компьютером, в котором каждый атом и каждая элементарная частица содержат биты информации, и каждый раз, когда два атома или две частицы сталкиваются, эти биты меняют свои значения. Вычислительная природа Вселенной дает начало ее запутанности и сложности: все, что может быть вычислено – все, что может вообразить наш разум, и даже сверх того – существует где-то во Вселенной. Российские математики и ученые вписали много прекрасных страниц в теорию информации. Работы Андрея Николаевича Колмогорова были очень важны для этой книги: Колмогоров был одним из основоположников в области теории алгоритмической информации, в которой утверждается, что информация должна быть определена на языке ее обработки, то есть через вычисления. Теория сложности Колмогорова является естественной основой теорий вычисления и образования сложности, обсуждаемых в этой книге. В последнее время российские ученые сделали исключительно важный вклад в теорию квантовой информации и квантовых вычислений. Квантовая механика – это раздел физики, который изучает поведение вещества и энергии в их самой фундаментальной форме. В своей основе она является странной и контринтуитивной: частицы имеют соответствие в виде волн, а волны сделаны из частиц – это корпускулярно-волновой дуализм. Один электрон может находиться одновременно в двух местах, и множество вещей, которые для нашего классического воображения представляются невозможными, в действительности происходят ежесекундно. Вселенная – это не просто компьютер; в силу своей природы она является квантово-механическим компьютером. Сочетание квантовой странности с обработкой информации как раз и придает Вселенной ее стабильность, мощь и сложность. Я имел счастье начинать свою научную карьеру в 1980-е гг., в момент, когда российские и советские ученые начали выезжать за границу после многих десятилетий разобщения с остальным миром. Помимо открытия сокровищницы фундаментальной научной информации, которая до этого была опубликована только на русском языке, эти ученые придали научному дискурсу уникальный и чудесный дух. В юности я читал Толстого и Достоевского и потому был знаком с богатством русской интеллектуальной дискуссии, но я никогда до этого не участвовал в настоящем русском научном споре, когда начинают говорить на повышенных тонах, когда по столу бьют кулаком, когда кусок мела могут в сердцах разбить о доску, но в конце, когда задачу удалось решить, все снова становятся друзьями. Страсть, настойчивость и дружеское разрешение фундаментальных проблем – вот истинный дух науки! И я надеюсь, что русское издание «Программируя Вселенную» породит яркие научные споры.     Сет Ллойд     Кембридж, штат Массачусетс, 15 июня 2013 г. Пролог Яблоко и Вселенная «В начале был бит», – начал я. Часовня женского монастыря XVII в., где находится занятый изучением сложных систем Институт Санта-Фе, была заполнена обычными слушателями: физиками, биологами, экономистами и математиками с закваской из нескольких Нобелевских лауреатов. Один из отцов-основателей астрофизики и квантовой гравитации, Джон Арчибальд Уилер, предложил мне прочесть лекцию на тему «Всё из бита». Я принял вызов. Стоя перед аудиторией, я стал сомневаться, стоило ли это делать, но отступать было некуда. Я взял в руку яблоко. «Вещи возникают из информации, то есть из битов, – продолжил я, нервно подбрасывая яблоко в воздух. – Это яблоко – хороший объект. Яблоко часто ассоциируют с информацией. Во-первых, яблоко – плод познания, “смертельный вкус которого принес на землю смерть и все страданья наши”. Оно несет информацию о добре и зле. Позже именно траектория падающего яблока подсказала Ньютону универсальные законы тяготения, а искривленная поверхность яблока есть метафора искривленного пространства времени Эйнштейна. Ближе к нашей теме то, что в генетическом коде, записанном в семенах яблока, запрограммирована структура будущих яблонь. И еще одно, не менее важное свойство яблока: оно содержит свободную энергию – калории богатой битами энергии, благодаря которой функционирует наше тело». Я откусил кусочек яблока. «Очевидно, это яблоко содержит информацию разных типов. Но сколько оно вмещает? Сколько битов в нем?» Я положил яблоко на стол и повернулся к доске, чтобы сделать быстрый расчет. «Что интересно, количество битов в яблоке известно с начала XX в., когда еще не было самого слова “бит”. Может показаться, что яблоко содержит бесконечное число битов, но это не так. В действительности законы квантовой механики, управляющие всеми физическими системами, говорят, что требуется лишь конечное число битов, чтобы определить микроскопическое состояние яблока и всех его атомов. Каждый атом, а точнее, его положение и скорость содержит всего несколько битов; каждый ядерный спин в ядре атома хранит один-единственный бит. Поэтому битов в яблоке всего в несколько раз больше, чем атомов – несколько миллионов миллиардов миллиардов нулей и единиц». Я повернулся к аудитории. Яблока на столе не было. Ничего себе! Кто его взял? Уилер безмятежно смотрел на меня. Лицо Мюррея Гелл-Манна, нобелевского лауреата, изобретателя кварка и одного из ведущих физиков мира, также не отражало никаких эмоций. «Я не могу продолжать без яблока. Нет объекта – нет битов», – заявил я и сел. Моя голодная забастовка продлилась всего несколько мгновений: улыбнувшись, инженер из исследовательского центра Bell Labs протянул мне яблоко. Я взял его и поднял над головой, бросая вызов любому, кто решится совершить еще одну попытку воровства. Это была моя ошибка. Но тогда мне казалось, что все идет хорошо. Я продолжал: «С точки зрения количества информации, которую могут хранить биты, все они равны. Бит – сокращение от binary digit (двоичное число) – может находиться в одном из двух различимых состояний: 0 или 1, да или нет, “орел” или “решка”. Любая физическая система, где есть два этих состояния, содержит один бит. Система, в которой больше состояний, содержит больше битов. Система с четырьмя состояниями, например, 00, 01, 10, 11, содержит два бита; система, где есть восемь состояний, например 000, 001, 010, 011, 100, 101, 110, 111, содержит три бита, и т. д. Как я уже говорил, согласно законам квантовой механики любая физическая система, ограниченная конечным объемом пространства и конечным количеством энергии, имеет конечное число различимых состояний и поэтому содержит конечное число битов. Все физические системы содержат информацию. Как сказал Рольф Ландауэр из IBM, “информация – величина физическая”». Тут меня перебил Гелл-Манн: «Но все ли биты равны на самом деле? Пусть один бит говорит нам, является ли истинной некая знаменитая, но недоказанная математическая гипотеза, а бит получен в результате случайного подбрасывания монетки. Мне кажется, что одни биты важнее других». Я согласился. Разные биты играют во Вселенной разную роль. Биты могут содержать одинаковое количество информации, но качество и важность этой информации меняются от бита к биту. Значимость ответа «да» зависит от заданного вопроса. Два бита информации, определяющих одну конкретную пару нуклеотидов в ДНК яблока, гораздо важнее для будущих поколений яблок, чем биты информации, созданной тепловым колебанием атома углерода в одной из молекул яблока. Передать запах яблока могут всего несколько молекул и сопутствующих им битов, но чтобы обеспечить яблоку пищевую ценность, необходимы миллиарды миллиардов битов. «Однако, – снова вмешался Гелл-Манн, – существует ли математически строгий способ определить значимость некоторого бита?» У меня нет полного ответа на этот вопрос, сказал я, все еще держа в руке яблоко. Значимость бита информации зависит от того, как обрабатывается эта информация. Все физические системы содержат информацию. Более того, динамически развиваясь во времени, они преобразовывают и обрабатывают эту информацию. Если электрон «здесь» содержит 0, а электрон «там» содержит 1, то, когда электрон переходит отсюда туда, он меняет значение своего бита. Естественную динамику физической системы можно воспринимать как вычисление, в котором бит не только содержит 0 или 1, но действует как инструкция: 0 может означать «делай это», а 1 может означать «делай то». Значимость бита зависит не только от его значения, но и от того, как это значение с течением времени влияет на другие биты, будучи частью процесса постоянной обработки информации, который и составляет динамическую эволюцию Вселенной. Я продолжал описывать биты, из которых возникает яблоко, и стал говорить о той роли, которую они играют в процессах, благодаря которым яблоко получает определенные характеристики. Все шло хорошо. Я раскрыл тему «все из бита» и даже смог достойно ответить на вопросы аудитории. По крайней мере, мне так казалось. Я закончил лекцию и отошел от доски. Вдруг кто-то похлопал меня по плечу. Один из слушателей всерьез решил завладеть моим яблоком. Это был Дойн Фармер – один из основателей теории хаоса, высокий, спортивный человек. Он схватил меня за руки – хотел, чтобы я уронил яблоко. Освобождаясь от захвата, я прижал его спиной к стене. Висевшие на ней изображения фракталов и фотографии индейцев упали на пол. Фармер повалил меня на пол. Мы стали кататься по полу, опрокидывая стулья. Яблоко куда-то делось. Вероятно, оно снова превратилось в отдельные биты. Часть I Общая картина Глава 1 Введение Эта книга – история всей Вселенной и отдельного бита. Вселенная – самый большой объект, существующий на свете, а бит – самый маленький кусочек информации. Вселенная состоит из битов. Каждая молекула, атом и элементарная частица содержат биты информации. В любом взаимодействии между этими частицами Вселенной информация обрабатывается путем изменения этих битов. Иначе говоря, Вселенная вычисляет. Но ею управляют законы квантовой механики, поэтому она вычисляет так, как это свойственно квантовой механике; ее биты – это квантовые биты. По сути, история Вселенной – это огромное, постоянное квантовое вычисление. Вселенная – это квантовая вычислительная машина. Здесь возникает вопрос: что вычисляет Вселенная? Ответ: саму себя, свое собственное поведение. Как только Вселенная возникла, она тут же начала вычислять. Сначала конструкции, которые она создавала, были простыми: они включали элементарные частицы и устанавливали фундаментальные законы физики. Со временем, обрабатывая все больше и больше информации, Вселенная давала начало все более запутанным и сложным объектам, включая галактики, звезды и планеты. Жизнь, язык, люди, общество, культура – все они обязаны своим существованием естественной способности вещества и энергии обрабатывать информацию. Способность Вселенной к вычислению объясняет одну из величайших тайн природы: как из очень простых законов физики возникают сложные системы, например живые существа. Эти законы позволяют предсказывать будущее, но только как вероятность и только в общих чертах. Квантово-вычислительная природа Вселенной такова, что конкретные детали будущего всегда остаются непредсказуемыми. Их смог бы вычислить только компьютер размером с саму Вселенную. Так что единственный способ заглянуть в будущее – подождать и посмотреть, что произойдет. Позвольте мне сказать несколько слов о себе. Мои первые детские воспоминания – как мы жили в курятнике. Мой отец был учеником мебельщика, мы обитали в Линкольне, штат Массачусетс. Курятник находился в дальнем конце большого сарая хозяйки. Мой отец превратил его в двухкомнатную квартиру; там, где раньше жили куры, теперь были спальные места для меня и моего старшего брата. (Моему младшему брату разрешили сделать люльку.) Вечером мать пела нам колыбельную, укрывала одеялами и закрывала деревянные двери. Мы оставались одни и глядели на мир за окном. Вот мое первое воспоминание: я вижу, как горит бумага в корзине для мусора – проволочной корзине с ромбическим плетением. Затем я помню, как прижимаюсь к ноге матери, одетой в синие джинсы, чуть выше колена, а отец запускает японского бумажного змея. Потом воспоминания начинают быстро сменять друг друга, словно на кинопленке. Каждое живое существо воспринимает мир по-своему, замечает множество деталей и создает из них определенную структуру. Тем не менее все мы живем в одном и том же пространстве, нами управляют одни и те же физические законы. В школе я узнал, что законы физики, управляющие Вселенной, удивительно просты. Как это может быть, думал я, что такой запутанный и сложный мир, который я вижу из окна своей спальни, возникает из простых законов физики? Я решил детально исследовать этот вопрос и много лет изучал законы природы. Хайнц Пэджелс, трагически погибший в горах Колорадо летом 1988 г., был блестящим и оригинальным мыслителем. Он считал, что нам пора нарушить обычные границы науки. Он поощрял меня разрабатывать физически точные методы описания и измерения сложности. Позже, под руководством Мюррея Гелл-Манна в Калифорнийском технологическом институте, я изучал, как законы квантовой механики и физики элементарных частиц «программируют» Вселенную и при этом сеют семена сложности. Сейчас я профессор машиностроения в Массачусетском технологическом институте. Но поскольку формально у меня нет образования в этой сфере, правильнее было бы назвать меня профессором квантово-механической техники. Она опирается на квантовую механику – раздел физики, изучающий вещество и энергию на микроуровне. Квантовая механика относится к атомам, как классическая механика к механизмам. По сути, меня можно назвать инженером атомов. В 1993 г. я понял, как создать квантовый компьютер. Квантовые компьютеры – это устройства, которые используют способность отдельных атомов, фотонов и других элементарных частиц обрабатывать информацию. Они вычисляют так, как не могут вычислять классические компьютеры, например Mac или PC. Изучая, как заставить атомы и молекулы – самые маленькие частицы Вселенной – вычислять, я стал все лучше видеть естественную способность к обработке информации, свойственную самой Вселенной. Сложный мир, который мы видим вокруг, – проявление квантовых вычислений Вселенной. Цифровая революция, происходящая сегодня, – последнее звено в длинной цепи революций в области обработки информации, уходящей в прошлое. Среди них – возникновение человеческих языков, половое размножение, рождение жизни, наконец, начало самой Вселенной. Каждая из них заложила основу для следующей, и все эти революции в сфере обработки информации, начиная с Большого взрыва, происходили благодаря естественной способности Вселенной обрабатывать данные. Вычисляющая Вселенная с необходимостью создает сложность. Жизнь, пол, мозг и человеческая цивилизация возникли не случайно. Квантовый компьютер Квантовая механика славится своими парадоксами. Волны ведут себя как частицы, а частицы – как волны, и можно находиться в двух местах одновременно. Пожалуй, не так уж удивительно, что на микроуровне вещи ведут себя странным и парадоксальным образом; в конце концов, мы привыкли воспринимать объекты, которые по размеру намного больше отдельных атомов. Но парадоксы квантового мира все же сбивают нас с толку. Нильс Бор, отец квантовой механики, как-то заметил: если кто-то считает, будто может разбираться в квантовой механике, не испытывая при этом головокружения, то на самом деле он ее не понимает. Квантовые компьютеры используют «квантовую странность», чтобы выполнять задачи, слишком сложные для обычных компьютеров. Квантовый бит, или «кубит», может находиться в состоянии и 0, и 1 в одно и то же время, в то время как классический бит может содержать только 0 или только 1. Поэтому квантовый компьютер может выполнять миллионы вычислений одновременно. Квантовые компьютеры обрабатывают информацию, хранящуюся в отдельных атомах, электронах и фотонах. Квантовый компьютер – это демократия в мире информации: каждый атом, электрон и фотон равным образом участвуют в процессах хранения и обработки информации. И эта фундаментальная демократия информации не ограничена квантовыми компьютерами. Все физические системы в основе своей являются квантово-механическими, и все физические системы записывают, содержат и обрабатывают информацию. Мир построен из элементарных частиц – электронов, фотонов, кварков, и каждый элементарный фрагмент физической системы запечатлевает часть информации: одна частица – один бит. Взаимодействуя между собой, эти фрагменты постепенно преобразуют и обрабатывают информацию, бит за битом. Каждое столкновение элементарных частиц действует как простая логическая операция, сокращенно «оп». Чтобы осознать любую физическую систему с точки зрения ее битов, нужно хорошо понимать механизм, посредством которого каждый элемент этой системы записывает и обрабатывает информацию. Если мы выясним, как это делает квантовый компьютер, то узнаем также, как это делает физическая система. Идею такого компьютера предложили в начале 1980-х гг. Пол Бенев, Ричард Фейнман, Дэвид Дойч и другие. В то время квантовые компьютеры были чисто абстрактной концепцией: никто не знал, как можно их создать. В начале 1990-х я показал, как это можно сделать с использованием существующих экспериментальных методов. В течение десяти последних лет я трудился с некоторыми из лучших ученых и инженеров мира, чтобы разработать и изготовить квантовые компьютеры и использовать их. Есть множество веских причин для того, чтобы создать квантовый компьютер. Прежде всего, мы можем это сделать. Квантовые технологии – технологии управления материей на уровне атомов – в последние годы получили замечательное развитие. Сейчас у нас есть достаточно стабильные лазеры, довольно точные методы производства и быстрая электроника – все это позволяет выполнять вычисления на уровне атомов. Вторая причина заключается в том, что нам нужно научиться создавать квантовые компьютеры, по крайней мере если мы хотим, чтобы наши компьютеры становились все более быстрыми и мощными. На протяжении полувека вычислительная мощность компьютеров удваивалась каждые полтора года. Этот взрыв называется «законом Мура», в честь Гордона Мура, впоследствии ставшего топ-менеджером компании Intel, который указал на экспоненциальный характер роста еще в 1960-е. Закон Мура – это не закон природы, а свидетельство человеческой изобретательности. Каждые восемнадцать месяцев компьютеры становятся в два раза быстрее, потому что каждые восемнадцать месяцев инженеры находят способ уменьшить вдвое размер соединений и логических элементов, из которых они состоят. Каждый раз, когда размер основных компонентов компьютера уменьшается вдвое, на чипе того же размера становится возможно разместить в два раза больше элементов. В результате компьютер оказывается вдвое мощнее своего предшественника, созданного полтора года назад. Если спроецировать закон Мура на будущее, мы увидим, что размер соединений и логических элементов, из которых состоят компьютеры, лет через сорок должен будет достичь уровня атомов; следовательно, если мы хотим, чтобы закон Мура действовал и дальше, нам придется научиться создавать компьютеры, работающие на квантовом уровне. Квантовые компьютеры представляют собой последний рубеж миниатюризации. Квантовые компьютеры, которые сделали мы с коллегами, уже достигли этой цели: каждый атом содержит один бит. Но сегодня мы можем создавать совсем небольшие квантовые компьютеры – и по размеру, и по вычислительной силе. Самые большие квантовые компьютеры общего назначения, существующие в настоящий момент, содержат от семи до десяти квантовых битов и могут выполнять тысячи квантовых логических операций в секунду[1 - В 2011 г. компания D-Wave Systems объявила о создании коммерческого компьютера со 128 кубитами. – Прим. ред.]. (Для сравнения, обычный настольный персональный компьютер может содержать триллионы битов и выполнять миллиарды обычных, классических логических операций в секунду.) Мы уже научились делать компьютеры с элементами размером с атом, но еще не умеем делать большие компьютеры с элементами такого размера. Первые квантовые компьютеры появились десять лет назад, и количество битов, которые они могут содержать, удваивается почти раз в два года. Даже если эта скорость сохранится, пройдет еще сорок лет, прежде чем квантовые компьютеры смогут сравняться с сегодняшними классическими по количеству битов. Квантовым компьютерам предстоит еще долгий путь до обычной «персоналки». Третья причина для создания квантовых компьютеров заключается в том, что они позволяют нам понять, как Вселенная записывает и обрабатывает информацию. Один из лучших способов понять закон природы – это создать машину, которая бы иллюстрировала этот закон. Часто мы сначала создаем машину, а законы возникают позже. Колесо и волчок появились за много тысячелетий до того, как был открыт закон сохранения момента импульса; брошенный камень – до того, как Галилей открыл законы движения; призма и телескоп – раньше оптической теории Ньютона; паровой двигатель изобрели задолго до того, как Джеймс Уатт сконструировал свой регулятор, а Сади Карно открыл второй закон термодинамики. А поскольку квантовую механику так трудно понять, было бы здорово создать машину, которая бы воплощала в себе ее законы! Взаимодействуя с ней, можно было бы на практике увидеть, как «работает» квантовая механика; так ребенок, играющий с волчком, интуитивно усваивает понятие и свойства момента импульса, воплощенные в этой игрушке. Только практический опыт, возможность своими глазами наблюдать, как ведут себя атомы, позволит по-настоящему понять, что такое квантовая механика. «Игрушечные» квантовые компьютеры, которые мы научились делать сегодня, – это машины, позволяющие нам все больше и больше узнавать о том, как физические системы запечатлевают и обрабатывают информацию на квантово-механическом уровне. Наконец, есть еще одна причина для создания квантовых компьютеров: это очень интересно. На страницах этой книги мы встретимся с некоторыми из лучших ученых и инженеров мира. Это Джефф Кимбл из Калифорнийского технологического института, конструктор первых в мире фотонных квантовых логических элементов; Дейв Вайнленд из Национального института стандартов и технологий, создавший самый первый простой квантовый компьютер; Ханс Моэй из Делфтского технологического университета, чья группа провела некоторые из самых ранних демонстраций квантовых битов в сверхпроводящих схемах; Дэвид Кори из Массачусетского технологического института, который построил первый молекулярный квантовый компьютер и чьи квантовые аналоговые компьютеры могут выполнять вычисления, для которых потребовался бы обычный компьютер, превышающий размерами саму Вселенную. Как только мы увидим, как работают квантовые компьютеры, мы сможем определить границы вычислительной способности Вселенной. Язык природы Совершая вычисления, Вселенная без труда создает запутанные и сложные структуры. Чтобы понять, как она вычисляет, а значит, чтобы понять эти сложные структуры, нужно выяснить, как она хранит и обрабатывает информацию. То есть изучить язык самой природы. Я занимаюсь чем-то вроде «массажа» атомов. Я профессор квантово-механической техники в Массачусетском технологическом институте. Моя работа – делать «массаж» электронам, фотонам, атомам и молекулам, чтобы привести их в те особые состояния, в которых они превращаются в квантовые компьютеры и квантовые системы коммуникации. Атомы малы, но они сильны; эластичны, но чувствительны. С ними легко «говорить» (просто толкните стол – тем самым вы «заговорите» с миллиардами и миллиардами атомов), но их трудно «услышать» (думаю, вы не сможете мне сказать, что вам ответил стол, кроме «бум!»). Мы их не интересуем, они просто живут своей жизнью, занимаются своим делом, и так было всегда. Но если правильно сделать им массаж, то их можно очаровать. И они начнут делать для вас вычисления. Атомы не одиноки в своей способности обрабатывать информацию. Фотоны (частицы света), фононы (частицы звука), квантовые точки (искусственные атомы), сверхпроводящие схемы – все эти микроскопические системы могут записывать информацию. И если вы говорите на их языке и вежливо задаете им вопросы, то они обработают эту информацию для вас. На каком языке говорят такие системы? Как и все физические системы, они реагируют на энергию, силу, импульс, на свет и звук, на электричество и силу тяжести. Физические системы говорят на языке, грамматику которого составляют законы физики. За последние десять лет мы изучили этот язык достаточно хорошо, чтобы говорить с атомами – чтобы убедить их выполнять вычисления и сообщать о результатах. Трудно ли говорить «на языке атомов»? Чтобы пользоваться этим языком свободно, нужно учиться всю жизнь. Сам я владею им плохо по сравнению с другими учеными и квантовыми инженерами, с которыми вы встретитесь на страницах этой книги. Но поддерживать с атомами простую беседу не так уж трудно. Как и все языки, «язык атомов» легче выучить, когда вы молоды. Мы с Полом Пенфилдом читаем курс лекций для первокурсников Массачусетского технологического института, он называется «Информация и энтропия». Цель этого курса, как и цель этой книги, – раскрыть фундаментальную роль, которую информация играет во Вселенной. Пятьдесят лет назад первокурсники Массачусетского технологического института знали все о двигателях внутреннего сгорания, передачах и рычагах, трансмиссиях и шкивах. Двадцать пять лет назад они прекрасно разбирались в электронных лампах, транзисторах, любительских радиоприемниках и электронных схемах. Теперь они переполнены знаниями о компьютерах, дисководах, волоконной оптике, разбираются в пропускной способности линий и средствах сжатия музыкальных и графических файлов. Их предшественники жили в мире механики и электричества; они – в мире информации. Их предшественники уже знали много о силе и энергии, напряжении и заряде; а они очень много знают о битах и байтах. Наши первокурсники так хорошо разбираются в информационных технологиях, что мы, преподаватели, можем вести для них предметы, включая курс по квантовым вычислениям, которые раньше были по зубам только выпускникам. (Мои старшие коллеги с факультета машиностроения жалуются, что нынешние первокурсники никогда не держали в руках отвертки. Это неправда. Добрая половина из них умеет пользоваться отверткой, чтобы установить больше памяти в свой компьютер.) В рамках научно-исследовательского проекта, который я вел при поддержке Национального научного фонда США, я разработал курс лекций для учеников первых и вторых классов средней школы – о том, как обрабатывается информация на микроуровнях. Даже шести– и семилетние дети сегодня очень много знают о компьютерах. Кажется, они не испытывают никаких затруднений с битами и байтами. Когда мы с ними играем в игру, где каждый берет на себя роль атома в квантовом компьютере, они делают это с легкостью и прекрасно понимают смысл своих действий. Те, кто родился и вырос задолго до нынешней революции обработки информации, тоже прекрасно понимают разнообразие и все значение информации, не хуже наших переполненных битами детей. Неважно, сколько вам лет – к моменту, когда вы закончите читать эту книгу, вы будете знать, как можно попросить атомы выполнить простые вычисления, используя машины, которые уже есть во всем мире, а также грамматику языка природы. Революции в сфере обработки информации Естественная и фундаментальная способность Вселенной обрабатывать информацию несколько раз в истории приводила к революциям в этой сфере, и сейчас происходит очередная. Ее причина – стремительное развитие электронных вычислительных технологий, воплощенное в законе Мура. Квантовые компьютеры – в авангарде этой революции. Она восхищает, ее невозможно не заметить, но ее нельзя назвать ни самой первой, ни самой важной. Не менее серьезной революцией в сфере обработки информации было изобретение нуля. Цифру «нуль» изобрели древние вавилоняне, а из Вавилона оно распространилось по всему арабскому миру. Использование нуля для обозначения десятков (10, 100, 1000 и т. д.) отличает арабскую систему записи чисел, которой пользуемся мы с вами, от других систем, например от римской, где для обозначения степеней десяти используются разные символы (X = 10; C = 100; M = 1000). Это новшество в представлении чисел может показаться несущественным, но изобретение арабских цифр оказало большое влияние на математическую обработку информации. (Немаловажным следствием этого стали более простые и прозрачные коммерческие сделки и расчеты. Если бы парни из корпорации Enron[2 - Американская энергетическая корпорация, обанкротившаяся в декабре 2001 г. – Прим. ред.] вели свой теневой бухучет в римских цифрах, возможно, им удалось бы выйти сухими из воды!) Арабская система записи родилась вместе с сопровождающей ее технологией, абаком. Абак – простая, понятная и мощная вычислительная машина. Это дощечка, к которой прикреплены ряды подвижных бусинок, надетых на палочки[3 - Русский аналог – счеты. – Прим. ред.]. Первый ряд обозначает единицы, второй – десятки, третий – сотни и т. д. Абак, в котором всего десять рядов, может выполнять вычисления в диапазоне до миллиардов. Но еще интереснее воплощенная в абаке концепция нуля. Вероятно, абак возник раньше, чем само это слово. Английское zero пришло из итальянского, это сокращение от zefiro, от средневекового латинского zephirum. Как и старофранцузское cifre, оно восходит к арабскому sifr; на санскрите shunya – «пустота». В арабской системе записи нуль заполняет пустые места, позволяя легко обозначить большие числа (10, 100, 1000…). Пустота – это мощная концепция. Несмотря на всю ее мощь или благодаря ей, цифра нуль вызывает подозрения. Она не кажется естественной. Действительно, нуль не относится к натуральным числам (1, 2, 3…). Нуль как абстракция – это достаточно сложное понятие, но абак, на котором все бусинки опущены вниз, – это простой, конкретный символ: нуль. Историю Вселенной можно рассматривать как последовательность революций в сфере обработки информации, каждая из которых основана на технологиях, возникших в результате предыдущих революций Абак показывает нам, что революцию в сфере обработки информации невозможно отделить от механизма или технологии, которые определяют форму ее представления и обработки. Технология обработки информации (например, абак) обычно неотделима от новой концепции (например, нуля). Если мы отправимся еще на несколько тысяч лет назад, то увидим еще более важную революцию: письменность. Ее первоначальная технология представляла собой значки, нацарапанные на глине или на камне. Письменность в буквальном смысле сделала язык конкретным и осязаемым. В результате возникли крупномасштабная социальная организация, деловые контракты, священные тексты и обыкновенные книги – такие, как эта. Технологии письменности постепенно развивались: от камня к бумаге, от бумаги к электронам. Каждое проявление письменности, от десяти заповедей и стихов до неоновой вывески, использует собственный вариант технологии для обозначения слов. Появление человеческого языка примерно 100 000 лет назад или даже раньше стало (давайте польстим нашему биологическому виду) еще одной серьезной революцией в сфере обработки информации. Исследования окаменелостей показывают, что развитие языка сопровождалось и ускорялось относительно быстрым развитием участков мозга, отвечающих за обработку речи. Новые нейронные сети мозга, вместе с одновременным развитием голосовых связок, можно считать естественной «технологией», или механизмом, благодаря которому и возник язык. Эта новая «нейронная технология», очевидно, и дала начало замечательной универсальности человеческой речи – способности выразить на одном языке более или менее точно то, что было сказано на другом. По меньшей мере язык позволил создать уникальные человеческие формы социальной организации, сделавшей наш вид столь успешным. Чем дальше в прошлое, тем более важные революции в сфере обработки информации мы наблюдаем. Развитие мозга и центральной нервной системы было триумфом естественной эволюции технологии, хорошо приспособленной к преобразованию информации, поступающей извне, и для связи между разными частями организма. Развитие многоклеточных в первую очередь стало результатом многочисленных усовершенствований в сфере внутри– и межклеточной коммуникации. Каждая успешная мутация, каждый случай возникновения нового вида – это шаг вперед в сфере обработки информации. Но чтобы увидеть еще более серьезную революцию, затмившую все, о чем мы говорили до сих пор, нужно отправиться еще на миллиард лет назад, к появлению полового размножения. Первая сексуальная революция представляла собой tour de force, ее огромный успех основан на идее, которая на первый взгляд кажется неудачной. Почему неудачной? Потому что половое размножение несет риск потери ценной информации. Успешная бактерия, размножаясь бесполым путем – почкованием, передает потомству точную копию своего генетического кода (конечно, при условии отсутствия случайных мутаций). Но если организм размножается половым путем, его гены смешиваются с генами партнера, и их потомок получает новый набор генов. Этот процесс называется рекомбинацией. Поскольку половина генов отпрыска приходит от одного из родителей, а половина от другого и они перемешиваются, то, какими бы успешными ни были уникальные комбинации генов каждого из родителей, геном потомка будет от них отличаться. Половое размножение никогда не передает потомкам удачную комбинацию генов в неизменном виде. В этом смысле секс препятствует успеху! Так что же в нем хорошего? С точки зрения естественного отбора половое размножение способствует большей генетической изменчивости, в то же время добросовестно воспроизводя отдельные гены. Предположим, что в мире становится жарче. Успешная до этого бактерия, которая размножается почкованием, внезапно оказывается во враждебном окружении. Ее потомку, в точности похожему на нее и адаптированному к прохладному климату, теперь будет сложно выжить. Единственный способ адаптации для бесполой бактерии – мутация, вызванная репродуктивной ошибкой или вредными факторами окружающей среды. Большинство мутаций неудачны, и они делают бактерию еще менее успешной, но в конце концов может случиться удачная мутация, и на свет появится более теплостойкая бактерия. Без полового размножения адаптация проблематична, потому что закон мира: «Изменись или умри», – противоречит одному из основных законов жизни: «Сохраняй целостность генома». Такое противоречие хорошо известно и в инженерном деле: две функции системы бывают связаны так, что невозможно откорректировать одну, не нарушив другой. А вот при половом размножении обмен генетическим материалом, или рекомбинация генов, приводит к большой изменчивости, и при этом поддерживается генетическая целостность. К примеру, возьмем небольшой городок, где всего тысяча жителей. Давайте подсчитаем все возможные варианты спаривания для этих людей (если судить по телесериалам, их может быть очень и очень много) и количество способов, которыми гены всех участников могут перемешаться и рекомбинироваться в их детях. Окажется, что этот городок – целая генетическая «электростанция», способная создать столько же разнообразия, что и миллиарды делящихся бактерий. Разнообразие – это хорошо: если в город придет эпидемия чумы, то некоторые жители ее переживут, а затем передадут детям гены резистентности к этой болезни. Более того, способность к разнообразию, которую создает половое размножение, не наносит вреда геному. Отделяя функцию адаптации от функции поддержания целостности отдельных генов, половое размножение создает разнообразие отдельных особей, при этом сохраняя в целости гены вида. В общем, секс – не только удовольствие, это хороший инженерный подход. Если мы отправимся еще дальше в прошлое, то найдем бабушку всех революций в сфере обработки информации – это возникновение самой жизни. Жизнь на Земле началась в точке, отстоящей на одну треть от нашего времени к началу Вселенной. (Когда это произошло в других местах и произошло ли вообще, неизвестно.) У живых организмов есть гены, последовательности атомов в молекулах типа ДНК, в которых закодирована информация. Количество информации в одном гене можно измерить: человеческий геном содержит около 6 млрд битов информации. Организмы передают свою генетическую информацию потомству, иногда в мутировавшей форме. Организмы, которые умеют передавать генетическую информацию, по определению успешны; организмы, которые не могут передать свои гены, вымирают. Генетическая информация, дающая потомству репродуктивное преимущество, обычно сохраняется на протяжении множества поколений, хотя отдельные организмы, которые ее несут, рождаются, воспроизводят потомство и умирают. Генетическая информация передается посредством естественного отбора. Гены и механизмы их копирования и воспроизведения – это ключевая технология обработки информации жизни. Неудивительно, что масштабы всей генетической информации, которую обрабатывают живые организмы, намного больше масштабов компьютерной обработки информации, и их объемы сравняются еще не скоро. Жизнь – это очень серьезно. Какая революция может превзойти по своей мощи и красоте происхождение жизни? Но была еще одна, более ранняя революция в сфере обработки информации, без которой не было бы ни одной другой. Первый информационный процессор – сама Вселенная. Каждый атом, каждая элементарная частица содержит информацию. Каждое столкновение между атомами, каждое динамическое изменение во Вселенной, даже самое крошечное, обрабатывает эту информацию систематическим образом. Такая вычислительная способность Вселенной лежит в основе всех последующих революций в сфере обработки информации. Как только физическая система приобретает способность обрабатывать информацию на рудиментарном уровне, выполняя простые операции с несколькими битами, из этих элементарных операций могут быть построены сколь угодно сложные формы обработки информации. Законы физики разрешают простую обработку информации на квантово-механическом уровне: одна частица – один бит; одно столкновение – один oп. Сложные формы, которые мы видим вокруг: жизнь, размножение, язык, общество, видеоигры – все они состоят из простых операций, которые управляются законами физики и в которых участвуют всего по нескольку квантовых битов за раз. Каждая революция в сфере обработки информации связана с той или иной новой технологией – это компьютер, книга, мозг, ДНК. Эти технологии позволяют записывать и обрабатывать информацию в соответствии с некими правилами. Но что за технология связана с обработкой информации Большого взрыва? Какая машина обрабатывает информацию в вычисляющей Вселенной? Чтобы увидеть эту универсальную технологию обработки в действии, достаточно просто открыть глаза и оглянуться вокруг. Машина, выполняющая «универсальные» вычисления, – это сам Универсум, сама Вселенная. Глава 2 Вычисление Информация Первую лекцию своего курса об информации для старшекурсников, который я читаю в Массачусетском технологическом институте, я начал так, как делаю это всегда: «Лучше всего, – сказал я двум десяткам студентов, сидящих передо мной, – если вы будете задавать мне вопросы, а я буду на них отвечать. Если вы не будете задавать вопросы мне, то я буду задавать вопросы вам. Если вы не ответите на мои вопросы, то я расскажу вам то, что, по моему мнению, вы должны знать. Вопросы есть?» Я ждал. Тишина. Что-то здесь не так. Обычно наши студенты радуются, если им удается озадачить преподавателя, особенно если знают, что он может озадачить их самих. Я перешел ко второму шагу: «Вопросов нет? Тогда вот вопрос вам: что такое информация?» Молчание. Что с ними такое? В конце концов, эти студенты с первого курса заполняли свои головы информацией. Если они не начнут извергать ее обратно, мне придется перейти к третьему шагу. «Ладно. А как вам такой вопрос: какова единица информации?» Все хором ответили: «Бит!» О чем говорит этот ответ, впрочем, как и молчание? Намного легче измерить количество информации, чем сказать, что она такое. А на вопрос «Сколько?» часто ответить проще, чем на вопрос «Что такое…?» Что такое энергия? Что такое деньги? Это трудные вопросы. Сколько нужно энергии, чтобы…? Сколько нужно денег, чтобы…? На такие вопросы можно дать точные и простые ответы. «Что такое бит?», – спросил я. Теперь ответы посыпались со всех сторон: «0 или 1!»; «Орел или решка!»; «Да или нет!»; «Истина или ложь!»; «Выбор между двумя альтернативами!» Все эти ответы правильны. Английское слово bit («бит») – сокращение от binary digit; здесь digit – это цифра, а binary («двоичный») значит «состоящий из двух частей», и бит представляет одну из этих двух альтернатив. Традиционно эти альтернативы обозначают как «0» и «1», но любые две четкие альтернативы (горячий/холодный, черный/белый, внутрь/наружу) можно считать способом хранения бита. Бит – самая маленькая единица информации. Бросив монету, мы получим один бит: орел или решку. Два бита представляют немного больший фрагмент информации. Подбросив монету два раза, мы получим одну из четырех (два раза по две) альтернатив: орел-орел, орел-решка, решка-орел, решка-решка. Три броска монеты дадут нам одну из восьми альтернатив (два раза по два раза по две). Как видно даже на этих простых примерах, если мы будем продолжать бросать монету, то количество альтернатив – то есть возможных исходов серии бросков – станет быстро расти. С каждым последующим броском (помните: каждый дает один бит) количество альтернатив удваивается. Поэтому, чтобы вычислить количество различных исходов в определенном сценарии, мы просто умножаем два на два столько раз, сколько у вас битов. Например, десять битов – это два умножить на два десять раз, или 1024 варианта: 2 ? 2 ? 2 ? 2 ? 2 ? 2 ? 2 ? 2 ? 2 ? 2 = 210 = 1024, что близко к одной тысяче, или 103. Иначе говоря, десять битов соответствуют приблизительно трем цифрам нашей обычной десятичной системы счисления, которые обозначают единицы, десятки и сотни. Измерение количества информации – просто вопрос подсчета. Вести счет в битах проще, чем в цифрах, хотя этот метод знаком нам меньше. Счет от 0 до 9 очень прост: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Но тут цифры кончаются, и следующее число – это 1, после которого следует 0, то есть 10. Число 10 – это 1 в столбце десятков и 0 в столбце единиц. Следующее число, 11, – это 1 в столбце десятков и 1 в столбце единиц. Так можно продолжать считать вплоть до 99. Следующее число – 100. Это 1 в столбце сотен, 0 в столбце десятков и 0 в столбце единиц. (Понятно теперь, почему было так сложно понять десятичную систему счета в первый раз, в пятилетнем возрасте?) Счет в битах ведется сходным образом. Начнем: 0 = нуль, 1 = один. Пока получается неплохо, но у нас закончились двоичные цифры – биты! Следующая комбинация битов – 10, которая равняется двум: 1 в столбце двоек и 0 в столбце единиц. (Такое представление двойки – это деталь двоичной арифметики, которая дается новичкам труднее всего. Отсюда прекрасная поговорка: «Есть 10 типов людей: те, кто знает двоичную систему счисления, и те, кто ее не знает».) Следующая комбинация – 11, она соответствует трем: 1 в столбце двоек и 1 в столбце единиц. Теперь у нас закончились двухбитовые наборы. Еще одна комбинация цифр – 100. Она обозначает число четыре: 1 в столбце четверок, 0 в столбце двоек, и 0 в столбце единиц. Затем – комбинация 101, которая обозначает пятерку (1 в столбце четверок плюс 1 в столбце единиц), 110 = шесть, 111 = семь. Число восемь представлено уже четырьмя битами: 1000, где у нас есть 1 в столбце восьмерок и 0 в столбцах четверок, двоек и единиц. У нас есть только два бита вместо десяти цифр, поэтому длина двоичных чисел увеличивается быстрее, чем обычных. Так же как степени десяти (десятки, сотни, тысячи, миллионы) являются важными числами в обычной, десятичной системе счисления, степени двойки важны при счете битами: 1 = один = 20; 10 = два = 21; 100 = четыре = 22; 1000 = восемь = 23; 10000 = шестнадцать = 24; 100000 = тридцать два = 25; 1000000 = шестьдесят четыре = 26; 10000000 = сто двадцать восемь = 27. Эти цифры хорошо знакомы… поварам. Английская система мер и весов – это по сути двоичная система: 8 унций в чашке, 16 в пинте (если это американская пинта; британская пинта составляет 20 унций, а тройская пинта – 12 унций), 32 унции в кварте, 64 унции в половине галлона и 128 унций в американском галлоне. Записывать числа в двоичной системе ничуть не труднее, чем измерять объем в квартах, пинтах и чашках. Например, сто сорок шесть унций составляют один галлон плюс одна пинта плюс четверть чашки: 128 + 16 + 2 = 146. В двоичной записи 146 равно 10010010, с единицей в столбце «галлонов», единицей в столбце «пинт», единицей в столбце «четвертинок» и с нулями во всех остальных. Чтобы перевести число в двоичный вид, нужно просто измерить его чайными ложками! Американская система измерения объема основана на двоичной системе счисления Сто сорок шесть унций составляют один галлон плюс одна пинта плюс одна четверть чашки. В двоичной записи, 146 = 10010010 Вести счет в двоичной системе легко (но не очень, если вы встретились с ней впервые). Двоичная арифметика тоже проста. Вся таблица сложения здесь выглядит так: 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10. Таблица умножения тут выглядит еще проще: 0 ? 0 = 0; 0 ? 1 = 0; 1 ? 1 = 1. Прелесть, правда? Кроме того, двоичная система практична. Благодаря компактности двоичной записи можно создавать простые электронные схемы, способные выполнять двоичные арифметические операции. Такие схемы, в свою очередь, служат базой для цифровых компьютеров. Так что даже если мы не можем дать определение того, что такое информация, это не мешает нам ее использовать. Точность «А что будет, если у нас есть бесконечное число альтернатив? – спрашивает студент. – Например, между 0 и 1 находится бесконечное количество действительных чисел». «Если у вас есть бесконечное число альтернатив, тогда у вас есть бесконечное количество информации», – отвечаю я. Возьмем, например, такое двоичное число: 1001001 0110110 0100000 1110100 1101000 1100101 0100000 1100010 1100101 1100111 1101001 1101110 1101110 1101001 1101110 1101111. В стандартной таблице кодирования ASCII (American Standard Code for Information Interchange – американский стандартный код обмена информацией) каждой букве или символу на клавиатуре присвоено кодовое слово из семи битов[4 - Два разных алфавита в семибитный код ASCII уже не умещались. Стихийная адаптация его к требованиям других языков породила великое множество восьмибитных кодовых таблиц. – Прим. ред.]. И если воспринимать наше число в кодировке ASCII, мы получим такие символы: I = 1001001; n = 1101110; (пробел) = 0100000; t = 1110100; h = 1101000; e = 1100101; (пробел) = 0100000; b = 1100010; e = 1100101; g = 1100111; i = 1101001; n = 1101110; n = 1101110; i = 1101001; n = 1101110; g = 1100111. Если мы прочтем буквы, то получится «In the beginning» – первые слова библейской фразы «В начале было слово…». Добавляя бит за битом, можно выписать число, соответствующее всему тексту Евангелия от Иоанна. Если мы добавим еще больше битов, то можем получить всю Библию, а за ней Коран, а за ним Сутру белого лотоса, а за ней все книги из Библиотеки Конгресса и т. д. Бесконечное число альтернатив соответствует бесконечному числу цифр или битов, бесконечному количеству информации. Но на практике число альтернатив в любой конечной системе конечно, поэтому количество информации тоже конечно. Обычно мы считаем, что такие величины, как длина, высота и вес, изменяются непрерывно: точно так же, как между 0 и 1 есть бесконечное количество действительных чисел, есть и бесконечное количество возможных длин между нулем метров и одним метром. Причина, по которой непрерывные вроде бы величины, такие как длина металлического стержня, могут содержать только конечное количество информации, состоит в том, что эти величины, как правило, определяются с конечным уровнем точности. Чтобы увидеть взаимосвязь между точностью и информацией, представьте себе измерение длины стержня с помощью мерной рейки. Итак, у вас в руках обычная деревянная линейка, на которой отмечены и пронумерованы сто сантиметров. На ней сделана также тысяча миллиметровых отметок, по десять в каждом сантиметре, но уже не хватает места, чтобы их пронумеровать. Поэтому линейка позволит нам измерить длину стержня с точностью примерно до миллиметра. Длины меньше миллиметра линейка измеряет плохо – просто потому, что физические характеристики задают предел ее разрешающей способности. Общее количество альтернатив – 1000, что соответствует трем значащим цифрам, или примерно десяти битам информации. Самый известный в мире металлический стержень был сделан из сплава платины и иридия. Он находится в Международном бюро мер и весов в Париже и на протяжении почти столетия определял длину метра. (До этого метр считался одной десятимиллионной частью расстояния от Северного полюса до экватора, измеренного вдоль парижского меридиана.) Наша линейка показала бы, что длина этого стержня – один метр плюс-минус половина миллиметра. Если у нас есть более точный измерительный прибор, чем мерная рейка, то мы получим больше битов информации о длине того же стержня. Например, можно рассмотреть его под оптическим микроскопом. Тогда мы сможем увидеть детали, размер которых по порядку равен длине волны видимого света – немного меньше микрона, или одной миллионной доли метра. И если мы приложим к линейке микроскоп, мы сможем измерить длину стержня с точностью до микрона. Микроскоп позволит найти длину стержня с точностью в шесть значащих цифр, что соответствует примерно двадцати битам информации. Сходную степень точности можно получить с помощью интерферометра – устройства, измеряющего длину объекта длинами световых волн. Если интерферометр использует волны длиной в один микрон, он определит длину нашего стержня как один миллион световых волн. Существуют методы, которые могут дать еще большую степень точности. В принципе можно взять устройство под названием атомно-силовой микроскоп, которое показывает отдельные атомы на поверхности, и провести им вдоль прута, измеряя его длину по числу встреченных атомов. Расстояние между атомами – порядка одной десятимиллиардной метра (10–10 м), эту единицу называют «ангстрем». Это даст нам измерение с точностью до десятой цифры, или около тридцати трех битов информации о длине стержня. Большей точности в измерении длины макроскопического объекта, такого как стержень, добиться трудно. В определенных случаях возможно измерить расстояние с намного более высокой степенью точности, например, как в экспериментах физика Нормана Рэмзи по поиску дипольного электрического заряда нейтрона. В них определялось расстояние, составляющее примерно одну миллиардную миллиардной миллиардной части метра! Общее количество значений, которые может различать то или иное измерительное устройство, определяется как диапазон значений (например, один метр), в пределах которого это устройство может работать, деленный на предельную точность, с которой устройство может измерять (например, один миллиметр). Диапазон, разделенный на точность, показывает, сколько отдельных значений может зафиксировать данное устройство. Далее, количество доступной информации определяется количеством битов, необходимых для того, чтобы перечислить все доступные значения. Устройство, которое выдает 33 бита информации (точность до десятой цифры) о какой-либо непрерывной величине, можно считать очень точным. Чтобы получить тридцать три бита информации о длине нашего стержня, нужно измерить его длину в атомах. Вообще же требуются героические усилия, чтобы выжать больше нескольких десятков битов информации об одной непрерывной величине, например о длине стержня. Но если мы используем много отдельных величин, чтобы записывать информацию, то можем быстро накопить много битов. В квантовом компьютере каждый атом хранит один бит; чтобы получить тридцать три бита, нужно всего тридцать три атома. Наш стержень содержит где-то миллиард миллиардов миллиардов атомов. Если бы каждый из них соответствовал одному биту, то все атомы стержня содержали бы миллиард миллиардов миллиардов битов – невообразимо больше, чем может содержаться в длине стержня как таковой. Как правило, лучший способ получить больше информации – не увеличивать точность измерений непрерывной величины, а собирать измерения все большего и большего набора величин, каждое из которых может содержать всего несколько битов. Такой сбор битов, или цифровое представление, эффективен, потому что количество всех описанных ими альтернатив растет гораздо быстрее, чем количество битов. Вспомните легендарного восточного правителя, который по глупости согласился вознаградить героя зернами пшеницы: одно зерно за первую клетку шахматной доски, два зерна за вторую, четыре за третью и так далее, вплоть до двух в шестьдесят третьей степени (263) за последнюю, 64-ю клетку. Общее количество зерен при этом составляет по порядку величины 10 миллиардов миллиардов, а если точно – 18 446 744 073 709 551 615. И если длина каждого зерна равна всего одному миллиметру, все вместе они заполнят объем почти в 20 куб. км! Как показывает этот пример, нужно совсем немного битов, чтобы выделить одну из очень большого количества альтернатив. Чтобы присвоить каждому из зерен на шахматной доске уникальный штрихкод, потребовалось бы всего 64 бита, или 64 элемента информации. Имея 300 битов, можно присвоить уникальный штрихкод каждой из 1090 элементарных частиц во Вселенной. Астрономически огромное количество возможных генетических кодов – причина невероятного разнообразия живых существ, но информация, которая позволяет воспроизвести любой из этих кодов, может быть сохранена в одной крошечной хромосоме. Смысл «Но разве информация не должна иметь какой-то смысл?» – спрашивает студент. «Конечно, когда мы думаем об информации, то обычно связываем ее с каким-то смыслом», – отвечаю я. «Но что такое “смысл”?» Философы пытаются это выяснить уже тысячи лет, с переменным успехом. Но это очень трудно, потому что смысл информации очень сильно зависит от того, как ее нужно интерпретировать. Если вы не знаете, как интерпретировать сообщение, то не понимаете его смысла. Например, если я говорю вам «да», а вы не задавали вопрос, то вы не поймете, значит мое «да». Но если вы спросите: «Можно мне взять еще один кусок пирога?», и я скажу: «Да», то вы поймете, что я имею в виду. Если вы спросите: «Сколько будет два плюс два?», а я скажу: «Да», то вы опять не поймете, что я имею в виду (хотя, наверно, начнете думать, что у меня есть только один ответ на любой вопрос). Но если вы поинтересуетесь: «Сколько будет два плюс два?», и я скажу: «Четыре», то вы поймете этот ответ. Смысл чем-то похож на порнографию: когда мы его видим, то сразу узнаем. Вернемся к нашей строке битов: 1001001 1101110 0100000 1110100 1101000 1100101 0100000 1100010 1100101 1100111 1101001 1101110 1101110 1101001 1101110 1100111. Если интерпретировать это сообщение согласно коду ASCII, эта строка означает «В начале…». Но само по себе, без указания на то, как его нужно интерпретировать, оно ничего не означает, кроме ряда двоичных цифр. Смысл зависит только от интерпретации, как в следующем разговоре между Алисой и Шалтаем-Болтаем: – Я не понимаю, при чем здесь «слава»? – спросила Алиса. Шалтай-Болтай презрительно улыбнулся. – И не поймешь, пока я тебе не объясню, – ответил он. – Я хотел сказать: «Разъяснил, как по полкам разложил!» – Но «слава» совсем не значит: «разъяснил, как по полкам разложил!» – возразила Алиса. – Когда я беру слово, оно означает то, что я хочу, не больше и не меньше, – сказал Шалтай презрительно. – Вопрос в том, подчинится ли оно вам, – сказала Алиса. – Вопрос в том, кто из нас здесь хозяин, – сказал Шалтай-Болтай. – Вот в чем вопрос![5 - Льюис Кэрролл. Алиса в Зазеркалье. Пер. Н. М. Демуровой.] Льюиса Кэрролла, автора «Алисы в стране чудес» и «Алисы в Зазеркалье», на самом деле звали Чарльз Доджсон, и он был философом-номиналистом. Доджсону очень нравилась идея о том, что слова означают лишь то, что он хочет, чтобы они означали. Часто зависимость смысла от интерпретации выражают с помощью понятия языковых игр Людвига Витгенштейна. Это игры, где значение слов рассматривается с точки зрения действий, к которым они побуждают игроков. Например, работа «Философские исследования» Витгенштейна начинается с простой языковой игры: строитель возводит здание из камней, колонн, плит и балок. Если он произносит «камень», помощник передает ему камень. Если он говорит «плита», помощник передает ему плиту. В этой самой простой из языковых игр мы видим, что помощник знает, что имеет в виду строитель. Когда тот говорит «камень», то на самом деле имеет в виду «подай мне камень». Когда языковая игра становится более сложной, смысл значений становится труднее понять в динамике игры. Отчасти это связано с тем, что естественный человеческий язык неоднозначен: у одного и того же утверждения может быть множество возможных значений. Кроме того, мы пока не совсем понимаем, как мозг реагирует на язык, так что даже если мы знаем, что «камень» означает «передай мне камень», нам неизвестен физический механизм, с помощью которого мозг слушателя понимает этот смысл. Поэтому было бы полезно найти пример ситуации, когда информацию можно интерпретировать только так и никак иначе и где нам полностью известен механизм, вызывающий реакцию слушателя. Такой механизм, например, дают нам компьютеры. Они понимают языки, которые называют машинными языками (Java, C, Fortran, BASIC). Такие языки состоят из простых команд, например print («напечатать») или add («прибавить»), которые можно соединить так, чтобы дать компьютеру детальную инструкцию по выполнению сложной задачи. Если принять идею Витгенштейна о том, что значение элемента информации заключается в действии, которое она вызывает, то смысл компьютерной программы, написанной на том или ином машинном языке, заключается в действиях, которые выполняет компьютер, интерпретируя эту программу. Все, что компьютер делает в действительности, – это выполнение последовательностей элементарных логических операций, таких как «и», «не» или, скажем, «копировать» (о них мы поговорим позже). Программа дает компьютеру прямые инструкции по выполнению определенной последовательности таких операций. Поэтому «смысл» компьютерной программы универсален, ведь два компьютера, следующие одной и той же инструкции, выполнят тот же самый набор операций по обработке информации и получат один и тот же результат. Однозначный характер компьютерной программы означает, что каждому предложению программы соответствует один и только один смысл. Если некое утверждение, сделанное на машинном языке, может быть интерпретировано более чем одним способом, компьютер выдает сообщение об ошибке: для него двусмысленность – это недопустимая вещь. В то же время естественные человеческие языки богаты двусмысленностями: например, в английском языке (за исключением особых обстоятельств) у большинства утверждений есть множество потенциальных значений. На этой особенности языка основаны поэзия, художественная литература, флирт, да и повседневное общение. Неоднозначность естественного языка является не проблемой, а его достоинством! Смысл трудно определить, но он – одна из важнейших черт информации. Основная идея информации состоит в том, что одну физическую систему – цифру, букву, слово, предложение – можно поставить в соответствие другой физической системе. Информация всегда означает некую вещь. Два пальца могут символизировать двух коров, двух человек, две горы или две идеи. Слово может обозначать что угодно (если, конечно, для обозначения этого у нас есть слово): апельсин, корову, деньги, свободу. Составляя из слов предложения, можно выразить все, что может быть выражено словами. Слова в предложении могут обозначать некую сложную мысль. Слова могут быть символами идей и вещей, и биты тоже. Слово и бит – это средства передачи информации, но чтобы понять смысл и придать им значение, нужен интерпретатор. Компьютер «Что такое компьютер?» – спросил я студентов. Молчание. Это весьма странно. Я-то уверен, что мои ученики пользуются компьютерами с годовалого возраста. Я ждал. Наконец, кто-то произнес: «Это машина, которая управляет данными, представленными в виде нулей и единиц». Другой студент возразил: «Но ты говоришь о цифровом компьютере. А как насчет аналогового компьютера? Он ведь хранит информацию в виде непрерывных сигналов напряжения». В итоге все согласились с более широким определением: компьютер – это машина, которая обрабатывает информацию. «Хорошо, – сказал я. – Тогда что было первым компьютером?» Студенты оживились: «Mark I»[6 - Mark I – первый американский программируемый компьютер на электромеханических элементах. Разработан и построен в 1941 г. на средства, выделенные компанией IBM. После успешного прохождения первых тестов в феврале 1944 г. компьютер был перенесен в Гарвардский университет и с мая выполнял расчеты в интересах Бюро судостроения ВМС США. – Прим. пер.]; «Механический компьютер Бэббиджа»; «Логарифмическая линейка»; «Абак»; «Мозг»; «ДНК». Поднялась еще одна рука: «Цифры!» Очевидно, если компьютер – это машина, которая обрабатывает информацию, то выполнять расчеты может почти все что угодно. «Для начала, – сказал я, – давайте рассмотрим машины, сделанные людьми и предназначенные для обработки информации, а вопрос о людях как машинах для обработки информации оставим на потом». Компьютеры появились на заре развития человечества. Первыми компьютерами, как и первыми инструментами, были камни. Calculus по-латыни значит «галька», и первые вычисления велись путем ее раскладки и перекладки. «Каменные» компьютеры не обязательно были маленькими. Вполне возможно, что Стоунхендж был большим каменным компьютером, вычисляющим соотношение между календарем и расположением планет. Используемая для вычислений технология налагает естественные ограничения на расчеты, которые могут быть выполнены (например, счетные камешки сильно отличаются от «персоналки» Pentium IV). Каменный компьютер хорош для того, чтобы определять количество, складывать и вычитать, но на нем уже неудобно умножать и делить. К тому же чтобы иметь дело с большими числами, нужно очень много камней. Несколько тысяч лет назад кому-то в голову пришла прекрасная идея объединить камень с деревом: если положить камешки в углубления на деревянной доске, их будет легче передвигать туда-сюда. Потом оказалось, что если использовать вместо камней бусинки, надетые на деревянные прутья, то их не только легко передвигать туда-сюда, но и трудно потерять. Деревянный компьютер, такой как абак или русские счеты, – мощный вычислительный инструмент. До изобретения электронно-вычислительных машин опытный счетовод мог выполнять вычисления на счетах лучше обученного оператора суммирующей машины! Но абак – не просто удобная машина для того, чтобы перекладывать камешки. Она воплощает в себе важную математическую абстракцию – нуль. Понятие нуля оказалось наиболее важным элементом системы арабских цифр – системы, позволяющей обозначать сколь угодно большие величины и легко с ними управляться. Абак или счеты – механическое воплощение этой системы. Но что появилось раньше, привычные нам цифры или абак? Учитывая происхождение слова zero («нуль») и возраст первого абака, вполне возможно, что устройство возникло раньше, чем оформилась концепция нуля[1 - К 1700 до н. э. вавилоняне уже уверенно использовали «арабскую» систему записи чисел, но наличие нуля можно было вывести только из контекста, для него не было отдельного знака (к примеру, числа 210 и 21 писались одинаково). Самый древний известный «протоабак», саламинская счетная доска, датируется 300 г. до н. э. Использование знака «0» для обозначения нуля ввел Птолемей в 130 г. н. э., и к 650 г. н. э. этот знак широко использовался в Индии.]. Иногда машины создают идеи. А идеи создают машины. Сначала камень, потом дерево: какой материал мог бы стать следующим шагом в обработке информации? Кость. В начале XVII в. шотландский математик Джон Непер открыл способ заменить умножение сложением. Он вырезал из слоновой кости палочки, нанес на них логарифмические отметки, соответствующие тем или иным числам, и стал выполнять умножение, сдвигая палочки друг относительно друга так, чтобы установить правильным образом отметки, соответствующие двум сомножителям. Суммарная длина двух палочек давала произведение двух чисел. Это была первая логарифмическая линейка. В начале XIX в. один эксцентричный англичанин по имени Чарльз Бэббидж предложил делать компьютеры из металла. Разностная машина Бэббиджа, предназначенная для вычисления элементов тригонометрических и логарифмических таблиц, должна была иметь в своей основе валы и шестерни, подобно паровому двигателю. Положение каждой шестерни задавало ту или иную информацию, а потом машина обрабатывала эту информацию, вводя шестерни в зацепление друг с другом и вращая их. Хотя машина Бэббиджа была полностью механической по своей конструкции, придуманный изобретателем способ организации информации предвосхищал методы, принятые в современных электронно-вычислительных машинах. В ней были центральный процессор и банк памяти, который мог хранить как программу, так и данные. Несмотря на щедрую финансовую поддержку от британского правительства, Бэббиджу так и не удалось построить разностную машину. В начале XIX в. еще не было ни технологии прецизионной обработки металла, ни достаточно твердых сплавов для валов и шестерней. (Усилия его, однако, не пропали зря: инженеры Бэббиджа как раз и разрабатывали методы точной механической обработки металла и более прочные сплавы, и это значительно ускорило темпы промышленной революции.) К концу XIX в. уже существовали эффективные механические калькуляторы, но большим компьютерам пришлось дожидаться начала XX в., когда были изобретены электронные схемы. К 1940 г. началась международная конкуренция между различными группами ученых, пытавшимися создать компьютер на основании электронных переключателей, например электронных ламп или электромеханических реле. Первую простую электронно-вычислительную машину в 1941 г. создал немецкий ученый Конрад Цузе. За ним последовали большие компьютеры, построенные в 1940-е гг. в Соединенных Штатах и Великобритании. Эти компьютеры представляли собой несколько комнат, заполненных электронными лампами, переключателями и источниками питания, но их вычислительная мощь была невелика – в миллион раз меньше, чем производительность компьютера, на котором я пишу эту книгу. Эти первые электронные компьютеры стоили очень дорого, но оказались весьма полезными, что оправдывало усилия по их совершенствованию. В 1960-х гг. электронные лампы и электромеханические реле заменили транзисторами – полупроводниковыми переключателями, которые были надежнее, меньше по размеру и потребляли меньше энергии. Полупроводник – это материал (например, кремний), который проводит электричество лучше, чем изоляторы (например, стекло или резина), но хуже, чем проводники (например, медь). В конце 1960-х транзисторы удалось сделать еще меньше – их вытравливали в составе интегральных схем на кремниевой подложке, и эти схемы уже содержали все компоненты, необходимые для обработки информации, на одном полупроводниковом чипе. Начиная с 1960-х гг. развитие фотолитографии – технологии изготовления все более сложных схем – приводило к уменьшению размеров компонентов интегральных схем примерно вдвое каждые восемнадцать месяцев. В результате производительность компьютеров удваивалась с той же скоростью. Это явление называется законом Мура. В настоящее время толщина соединений в интегральных схемах обычного компьютера составляет всего 1000 атомов. Я бы хотел дать определения некоторых типов компьютеров, о которых мы будем говорить ниже. Цифровой компьютер – это вычислительная машина, которая применяет логические схемы к битам; цифровая машина может быть электронной или механической. Классический компьютер – это компьютер, выполняющий вычисления на основе законов классической механики. Классическая цифровая машина выполняет вычисления, проводя классические логические операции с классическими битами. Электронный компьютер выполняет вычисления с помощью электронных устройств, таких как электронные лампы или транзисторы. Цифровой электронный компьютер – это цифровой компьютер электронного типа. Аналоговый компьютер оперирует не с битами, а с непрерывными сигналами; он так называется, потому что его, как правило, используют для создания вычислительных «аналогов» физической системы. Аналоговый компьютер также может быть электронным или механическим. Наконец, квантовый компьютер действует на основании законов квантовой механики. У квантового компьютера есть и цифровые, и аналоговые аспекты. Логические схемы Чем занимаются наши все более мощные компьютеры? Они обрабатывают информацию, разбивая ее на биты и оперируя с ними, по нескольку битов за один раз. Как мы уже говорили, информация, которая должна быть обработана, представлена компьютеру в форме программы, ряда инструкций на машинном языке. Программа закодирована в память компьютера в виде последовательности битов. Например, команда print («печатать») в коде ASCII выглядит так: P = 1010000; R = 1010010; I = 1001001; N = 1001110; T = 1010100. Компьютер считывает программу по нескольку битов за шаг, интерпретирует эти биты как инструкцию и выполняет ее. Потом он видит следующие несколько битов и выполняет следующую инструкцию. И так далее. Сложные процедуры можно построить из наборов простых инструкций, но об этом мы поговорим позже. Обычные компьютеры состоят главным образом из электронных схем, которые реализуют на физическом уровне логические схемы. Логические схемы позволяют составить сложные логические выражения из простых операций, воздействующих на несколько битов за один раз. Физически логические схемы состоят из битов, соединений и логических элементов. Биты, как мы видели, могут быть в состоянии или 0, или 1; соединения позволяют перемещать биты из одного места в другое; логические элементы преобразовывают биты по одному или попарно. Например, логический элемент «не» (not) берет входной бит и инвертирует, «переворачивает» его: «не» превращает 0 в 1, а 1 в 0. Элемент «копировать» (copy) делает копию бита: он превращает входной бит 0 в два выходных бита 00, а входной бит 1 в два выходных бита 11. Элемент «и» (and) берет два входных бита и порождает один выходной бит, который равен 1 в том и только том случае, если оба входных бита равны 1; в остальных случаях на выходе элемента «и» появляется бит 0. Логические элементы – это устройства, которые берут один или больше входных битов и преобразовывают их в один или больше выходных битов. От левого верхнего по часовой стрелке: элементы «или», «и», «не», «копировать» Элемент «или» (or) берет два входных бита и порождает выходной бит, который равен 1, если хотя бы один входной бит (или оба) равен 1; если же оба входных бита равны 0, то и результат будет равен 0. С тех пор как в 1854 г. логик Джордж Буль из Куинс-колледжа в Корке опубликовал работу «Исследование законов мышления» (An Investigation of the Laws of Thought), мы знаем, что любое логическое выражение, включая сложные математические вычисления, можно выразить с помощью операций «не», «копировать», «и» и «или». Эти операции составляют универсальный набор логических элементов. Законы мышления Буля гласят, что любое логическое выражение или вычисление можно закодировать в виде логической схемы. Цифровой компьютер – это компьютер, который работает с использованием большой логической схемы, состоящей из миллионов логических элементов. Известные нам компьютеры, такие как Mac и PC, – это электронные воплощения цифровых машин. Элементы «и», «или», «не» и «копировать» можно соединить так, что получится логическая схема. Логическая схема может выполнять более сложные преобразования входных битов В электронном компьютере биты хранятся в электронных устройствах, например в конденсаторах. Конденсатор похож на ведро, в котором лежат электроны. Чтобы наполнить ведро, к конденсатору прикладывают напряжение. При нулевом напряжении конденсатор не содержит никаких лишних электронов, и его называют незаряженным. Незаряженный конденсатор в компьютере находится в состоянии «0». При напряжении, отличном от нуля, конденсатор содержит много лишних электронов и находится в состоянии «1». Конденсаторы – не единственные электронные устройства, которые используются в компьютерах для хранения информации. На жестком диске вашего компьютера биты записываются в виде крошечных магнитов: магнит, чей северный полюс указывает вверх, означает 0, а магнит, чей северный полюс указывает вниз, показывает 1. Как всегда, любое устройство, у которого есть два надежно различаемых состояния, может хранить бит. В обычном цифровом электронном компьютере логические элементы создаются на транзисторах. Транзистор можно воспринимать как электронный выключатель. Когда он находится в разомкнутом положении, через него не может идти электрический ток. Когда выключатель находится в замкнутом положении, ток идет. У транзистора есть два входа и один выход. В транзисторе n-типа, когда на первый вход подано низкое напряжение, выключатель разомкнут, и электрический ток не может идти из второго входа к выходу; если же напряжение на первом входе увеличить, ток начинает идти. В транзисторе p-типа все наоборот: когда на первый вход подано низкое напряжение, выключатель замкнут, и ток может идти из второго входа к выходу. Важно, что транзисторы n– и p-типов можно соединить и тем самым создать логические элементы «и», «или», «не» и «копировать». Когда компьютер выполняет вычисления, он, в сущности, делает только одно: применяет логические элементы к битам. Компьютерные игры, редактирование текста, математические вычисления и рассылка спама – все они имеют началом процесс электронного преобразования битов, по одному или попарно. «Невычислимость» До сих пор мы говорили о простоте информации и вычислений. Бит – простая вещь; компьютер – простая машина. Но это не значит, что компьютеры не способны на сложное поведение. Одно парадоксальное следствие фундаментальной логичности операций компьютера состоит в том, что его будущее поведение совершенно непредсказуемо. Единственный способ узнать, что сделает компьютер, приступив к вычислениям, – подождать и посмотреть, что будет. В 1930-х гг. австрийский логик Курт Гёдель показал, что в любой достаточно сложной математической теории есть утверждения, которые, если они окажутся ложными, сделают теорию противоречивой, и при этом их истинность доказать невозможно. Иначе говоря, любые достаточно мощные логические системы содержат недоказуемые утверждения. Вычислительный аналог недоказуемого утверждения – это невычислимая величина. Одна известная проблема, решение которой невычислимо, – это так называемая проблема остановки. Допустим, мы запрограммировали компьютер, и он начал работать по программе. Остановится ли компьютер когда-нибудь, чтобы выдать результат, или он будет работать вечно? Нет никакой стандартной процедуры, позволяющей вычислить ответ на этот вопрос. Иначе говоря, ни одна компьютерная программа не может взять в качестве входных данных другую компьютерную программу и определить со 100 %-ной вероятностью, остановится первая программа или нет. Конечно, для многих конкретных программ можно легко выяснить, остановится компьютер или нет. Возьмем, например, программу из одной строки «print 1 000 000 000» – компьютер, получивший на входе эту программу, напечатает число 1 000 000 000 и остановится. Общее правило, однако, таково: безостановочная работа компьютера, сколь долго она бы ни продолжалась, не дает оснований утверждать, что компьютер когда-нибудь не остановится. Проблема остановки кажется на первый взгляд абстрактной, но у нее есть множество практических следствий. Возьмем, например, отладку компьютерных программ. Большинство из них содержат «баги», или ошибки, из-за которых компьютер ведет себя непредсказуемым образом, например «зависает». Было бы неплохо иметь «универсальный отладчик» для компьютерных программ. Такой отладчик брал бы в качестве входных данных компьютерную программу вместе с описанием того, что она должна делать, и проверял бы, выполняет ли эта программа свою задачу. Увы, создать такой отладчик невозможно. Универсальному отладчику нужно выяснить, дает ли входная программа правильную выходную информацию. Поэтому первое, что должен проверить универсальный отладчик, – есть ли вообще у входной программы какие-либо выходные данные. Но чтобы это проверить, он должен решить проблему остановки, а это, как мы знаем, невозможно. Единственный способ выяснить, остановится ли программа, – запустить ее и посмотреть, что будет, а раз так, универсальный отладчик нам уже не понадобится. И когда в следующий раз компьютер «зависнет» из-за какого-нибудь «бага», мы сможем найти утешение в глубокой математической истине: не существует никакого систематического способа устранить все ошибки! Впрочем, можно просто чертыхнуться и перезагрузить компьютер. Гёдель показал, что если допустить рекурсию – ссылку процедуры на саму себя, это автоматически приводит к логическим парадоксам; британский математик Алан Тьюринг показал, что рекурсии приводят к невычислимости. Заманчиво поискать подобные парадоксы в человеческом поведении. В конце концов, люди – мастера по части упоминаний о себе любимом (кажется, некоторые не способны ни к каким другим типам ссылок), и, конечно же, люди подвержены парадоксам. Люди славятся неспособностью предсказывать свои собственные действия. Эта неспособность – важный элемент того, что мы называем свободой воли. Термин «свобода воли» относится к нашей кажущейся свободе принимать решения. Например, когда я прихожу в ресторан и беру меню, я и только я решаю, что заказать, и, прежде чем я приму это решение, даже я сам не знаю, что выберу. Наш собственный выбор в будущем неисповедим для нас самих! (Тем не менее для других он может быть не таким уж и непостижимым. Много лет мы с женой ходим в ресторан Josie’s в Санта-Фе. Тщательно изучив меню, я каждый раз заказываю половину порции фаршированных перцев с красным и зеленым чили и посоле вместо риса. При этом я сам уверен, что проявляю свободную волю: до тех пор пока я не выбрал полпорции фаршированных перцев, мне кажется, что я могу выбрать все что угодно. Но моя жена-то с самого начала знает, что именно я закажу!) Непостижимая природа наших решений при использовании свободы воли – это аналог проблемы остановки: мы приводим в движение свои мысли, но не знаем, куда они приведут и приведут ли куда-нибудь вообще. И даже если они куда-то приведут, мы не знаем, куда, – до тех пор, пока там не окажемся. Как ни странно, свое собственное непредсказуемое поведение и такое же поведение других людей мы часто считаем нелогичным: если бы люди вели себя логично и рационально, считаем мы, мир был бы более предсказуемым. Но как раз тогда, когда мы ведем себя рационально и движемся логично, как компьютер, от одного шага к следующему, наше поведение становится доказуемо непредсказуемым. Когда рациональность соединяется с рекурсией, наши действия с необходимостью становятся парадоксальными и непредсказуемыми. Эта прекрасная загадочность чистого разума возвращает нас к вопросу о роли логики во Вселенной. Размышляя у себя дома в Кордове над трудами Аристотеля, мусульманский философ XII в. Аверроэс (ибн-Рушд) пришел к выводу, что бессмертна в человеке не душа, но способность мыслить. Разум бессмертен именно потому, что не принадлежит никому в отдельности; это общее свойство всех мыслящих существ. Компьютеры, конечно, обладают способностью мыслить и способностью к рекурсии. Именно поэтому их действия с необходимостью являются непостижимыми. Следовательно, по мере того как они становятся более мощными и выполняют все более разнообразный набор задач, их непредсказуемость приближается к непредсказуемости человека. По логике Аверроэса, они начинают обладать той же степенью бессмертия, что и люди. Запрограммировать компьютер так, чтобы он выполнял простые человеческие задачи, очень сложно: заставить робота пропылесосить комнату или освободить посудомоечную машину, даже при минимальных требованиях к качеству, – проблема, над которой бьются уже несколько поколений исследователей в области искусственного интеллекта. И наоборот, не нужно больших усилий, чтобы запрограммировать компьютер так, чтобы он вел себя непредсказуемо и сводил нас с ума. С точки зрения способности все запутать и испортить компьютер с каждым днем становится все больше похож на человека[2 - В США популярна наклейка на автомобильный бампер с надписью: «Человеку свойственно ошибаться. Но чтобы по-настоящему все испортить, нужен компьютер».]. Глава 3 Вычислительная Вселенная История Вселенной, часть первая Вселенная состоит из атомов и элементарных частиц, таких как электроны, фотоны, кварки и нейтрино. Скоро мы углубимся в концепцию Вселенной, основанную на вычислительной модели, но было бы глупо не рассмотреть сначала ошеломляющие открытия космологии и физики элементарных частиц. Наука уже дала нам прекрасные возможности описания Вселенной с точки зрения физики, химии и биологии. Вычислительная Вселенная – это не альтернатива физической Вселенной. Вселенная, которая развивается, обрабатывая информацию, и Вселенная, которая эволюционирует согласно законам физики, – одна и та же. Эти два описания, вычислительное и физическое, дополняют друг друга и помогают лучше понять одни и и те же явления. Конечно, люди начали размышлять о происхождении Вселенной задолго до появления современной науки. Мифы о Вселенной столь же стары, как и любые другие мифы. В норвежской мифологии Вселенная начинается с того, что гигантская корова вылизывает богов из соленых краев изначальной бездны. В японской мифологии Япония рождается в результате кровосмесительной связи брата и сестры, бога Идзанаги и богини Идзанами. В одном индуистском мифе о сотворении мира говорится, что все существа происходят из топленого масла, собранного из тысячеглавого Пуруши, принесенного в жертву богами. И лишь недавно, в течение последних 100 лет или около того, астрофизики и космологи построили детальную историю Вселенной, подкрепленную наблюдательными данными. Вселенная возникла немногим менее 14 млрд лет назад, в результате грандиозного события, которое называют Большим взрывом. По мере того как она расширялась и остывала, из «космического супа» формировались знакомые нам формы материи. В течение трех минут после Большого взрыва образовались самые легкие атомы – водород и гелий. Эти «кирпичики» собирались вместе под действием силы тяжести, и спустя 200 млн лет после Большого взрыва из них сформировались первые звезды и галактики. В ходе термоядерного «горения» звезд образовались элементы вплоть до железа, а еще более тяжелые элементы появились позднее, когда эти первые звезды стали взрываться как сверхновые. Наше Солнце и наша Солнечная система сформировались около 5 млрд лет назад, а жизнь на Земле возникла немногим более миллиарда лет спустя. Это общепринятая история Вселенной не так увлекательна, как некоторые другие, и молочные продукты появляются в ней на достаточно поздней стадии. Однако в отличие от более древних мифов о сотворении мира, у мифа научного есть одно достоинство: он соответствует известным научным законам и наблюдениям. И хотя эта история изложена языком физики, она не лишена интриги. В ней есть драма и неопределенность, она вызывает множество вопросов: как возникла жизнь? Почему Вселенная так сложна? Каково будущее Вселенной в целом и жизни в частности? Исследуя Млечный путь – нашу собственную Галактику – мы видим множество звезд, похожих на нашу. А когда мы смотрим дальше, то видим множество галактик, очень похожих на Млечный путь. В том, что мы видим, есть определенный сценарий, и в нем снова и снова разворачиваются одни и те же звездные драмы, но с участием других актеров-звезд и в других местах. Если Вселенная имеет бесконечную протяженность, то в конце концов где-нибудь будет разыгран любой возможный сценарий, если он разрешен законами физики. История Вселенной – своеобразная космическая мыльная опера, где актеры разыгрывают перед нами все возможные перипетии космической драмы. Энергия, или Первое начало термодинамики Давайте познакомимся с главными героями космической мыльной оперы. В традиционной космологии считается, что ведущий актер – это энергия, лучистая энергия света и энергия массы протонов, нейтронов и электронов. Что такое энергия? В средней школе вы могли узнать, что энергия – это способность выполнять работу. Энергия заставляет физические системы что-то делать. У энергии есть важное свойство: она сохраняется. Энергия может принимать разные формы – теплота, работа, электрическая энергия, механическая энергия, но при этом она никогда не исчезает. Это утверждение известно как первое начало термодинамики. Но если энергия сохраняется, а Вселенная возникла из ничего, то откуда тогда взялась энергия? У физики есть объяснение на этот счет. Квантовая механика описывает энергию через квантовые поля – что-то вроде универсальной «ткани» Вселенной. Переплетения «нитей» этой «ткани» дают элементарные частицы – фотоны, электроны, кварки. Энергия, которую мы видим вокруг, будь это Земля, звезды, свет или тепло, извлечена из квантовых полей посредством расширения Вселенной. Гравитация – это сила притяжения, которая соединяет вещи друг с другом. Острые на язык американские школьники говорят: «Гравитация сосет». Действительно, по мере того как Вселенная расширяется (а она продолжает расширяться до сих пор), сила тяжести высасывает энергию из квантовых полей. Энергия, находящаяся в квантовых полях, почти всегда положительна. Эта положительная энергия в точности сбалансирована отрицательной энергией гравитационного притяжения. По мере расширения Вселенной становится доступно все больше положительной энергии в форме вещества и света, но ее компенсирует отрицательная энергия в форме силы притяжения гравитационного поля. Общепринятая история Вселенной уделяет большое внимание энергии: сколько ее? Где она? Что она делает? Однако в той версии, которая изложена в этой книге, главным действующим лицом в физической истории Вселенной является информация. В конечном счете, информация и энергия дополняют друг друга: энергия заставляет физические системы что-то делать, а информация говорит, что именно нужно делать. Энтропия, или Второе начало термодинамики Если бы мы могли рассматривать вещество на уровне атомов, то заметили бы, что атомы танцуют и качаются во все стороны случайным образом. Энергию, которая управляет этим хаотичным танцем атомов, называют теплотой, а информацию, которая определяет шаги этого танца, называют энтропией. Проще говоря, энтропия – это информация, нужная для того, чтобы описать случайные движения атомов и молекул, движения столь малые, что мы не можем их увидеть. Энтропия – это информация, содержащаяся в физической системе и невидимая для нас. Энтропия – это степень молекулярного беспорядка, существующего в системе: она определяет, какая часть тепловой энергии системы недоступна для преобразования в механическую работу и какая доля ее энергии является полезной. Второе начало термодинамики гласит, что энтропия во Вселенной в целом не уменьшается; иначе говоря, количество непригодной, связанной энергии растет. Проявления второго начала термодинамики легко заметить в обычной жизни. Горячий пар может вращать турбину и выполнять полезную работу. Когда пар охлаждается, его беспорядочно колеблющиеся молекулы передают часть своего беспорядка молекулам окружающего воздуха, подогревая его и увеличивая беспорядок в нем. Молекулы пара колеблются все медленнее и медленнее, а молекулы воздуха – все быстрее и быстрее, до тех пор, пока температура пара и воздуха не сравняется. Когда разница температур становится минимальной, энтропия системы достигает максимума. Но пар, охладившийся до комнатной температуры, уже не может выполнять никакой работы. Вот еще один способ объяснить, что такое энтропия. Информация по большей части невидима. Количество битов информации, нужной для того, чтобы описать «танец» атомов, намного превышает количество битов, которые мы можем видеть или знать. Возьмите фотографию – она всегда зерниста, и размер зерен зависит от размера частиц галоида серебра, нанесенных на фотопленку, а если это цифровая фотография, то от количества пикселей, из которых состоит изображение на экране. В качественном цифровом изображении может содержаться около миллиарда битов визуальной информации. Откуда я взял эту цифру? Тысяча пикселей на дюйм – это высокое разрешение, близкое к тому, на которое способен невооруженный глаз. При таком разрешении каждый квадратный дюйм фотографии содержит миллион пикселей. В цветной фотографии размером 6 ? 8 дюймов (15 ? 20 см) с разрешением 1000 пикселей на дюйм содержится 48 млн пикселей. Далее, у каждого пикселя есть цвет. Цифровые фотоаппараты, как правило, используют 24-битную кодировку, чтобы создать 16 млн цветов, – опять-таки это близко к количеству цветов, которые может различить человеческий глаз. Таким образом, в цветной цифровой фотографии размером 6 ? 8 дюймов с разрешением 1000 пикселей на дюйм и 24-битным цветовым разрешением содержится 1 152 000 000 битов информации. (Более простой способ увидеть, сколько битов нужно, чтобы создать фотографию, – посмотреть, как быстро заполняется память вашего цифрового фотоаппарата, когда вы делаете снимки. В обычном цифровом фотоаппарате снимок с высоким разрешением занимает около 3 млн байтов[7 - Прогресс не стоит на месте. Сейчас примерно такой объем имеет снимок в сжатом виде, например в формате jpeg, причем сделанный очень скромной камерой. Несжатый снимок будет в несколько раз «тяжелее». – Прим. ред.] (3 мегабайта). Байт состоит из 8 битов, так что каждый снимок в цифровом фотоаппарате состоит примерно из 24 млн битов). 1 152 000 000 битов – это очень много информации, но количество информации, нужной для описания невидимых колебаний атомов зерен галоида серебра в обычной фотопленке, намного больше. Чтобы их описать, потребовалось бы больше миллиона миллиардов миллиардов битов (1024, или единица и 24 нуля). Невидимые колеблющиеся атомы содержат значительно больше информации, чем видимая фотография, которую они составляют. Фотография, содержащая то же самое количество видимой информации, что и невидимая информация в грамме атомов, была бы размерами со штат Мэн[8 - Или примерно в два раза больше Московской области. – Прим. ред.]. Количество битов, содержащихся в колеблющихся атомах, из которых состоит фотографическое изображение на пленке, можно оценить следующим образом. Размер одного зерна галоида серебра – около одной миллионной метра, и в нем примерно триллион атомов. На фотопленке находятся десятки миллиардов зерен галоида серебра. Отдельный атом, который (при комнатной температуре) находится в своем бесконечном танце, требует для своего описания от 10 до 20 битов. Следовательно, общий объем информации, хранимой атомами на фотографии, составляет 1023 бита. Один миллиард (109) битов информации, видимой на цифровой фотографии, представляет собой лишь небольшую долю от этого количества. Остаток информации, содержащейся в веществе обычной фотографии, невидим. Эта невидимая информация и есть энтропия атомов. Свободная энергия Взаимодействием между двумя нашими актерами, энергией и информацией, управляют законы, или начала термодинамики. Чтобы увидеть еще один пример первого и второго начал, возьмем яблоко. В яблоке есть сахар, и он содержит то, что называют свободной энергией. Свободная энергия – это энергия в чрезвычайно упорядоченной форме, где относительно мало энтропии. В яблоке энергия сахара сохраняется не в случайных колебаниях атомов, а в упорядоченных химических связях, удерживающих молекулу сахара как целое. Нужно намного меньше информации, чтобы описать форму, которую принимает энергия в миллиарде упорядоченных химических связей, чем для описания той же самой энергии, если она распределена среди миллиарда колеблющихся атомов. Для описания этой энергии нужно относительно небольшое количество информации, поэтому ее легко использовать: такая энергия и называется свободной. Возьмите яблоко и откусите от него кусочек. Вы только что проглотили свободную энергию. Ваша пищеварительная система содержит химические вещества, так называемые ферменты, которые превращают сахар яблока в глюкозу – форму сахара, в которой его могут непосредственно использовать ваши мышцы. Каждый грамм глюкозы содержит несколько килокалорий свободной энергии. Переварив сахар, вы получили несколько сотен килокалорий и сможете пробежать несколько миль. (Калория – это количество энергии, необходимой для нагрева одного грамма воды на один градус Цельсия. Килокалорию, или 1000 калорий, называют также большой калорией, а диетологи часто для простоты опускают слово «большая». Чайная ложка сахара содержит десять килокалорий свободной энергии. Между прочим, сто килокалорий – это энергия, достаточная для того, чтобы поднять автомобиль «Фольксваген» метров на тридцать над дорогой!) Когда вы бежите, мышцы превращают свободную энергию сахара в движение. К моменту окончания забега вы, вероятно, вспотеете: свободная энергия сахара превратилась в теплоту и работу. Количество калорий температуры и работы в точности соответствует количеству калорий свободной энергии, содержавшейся в сахаре яблока. В соответствии с первым законом термодинамики общее количество энергии остается тем же самым. (А в соответствии со вторым законом термодинамики количество информации, нужной для описания дополнительных колебаний молекул в ваших разогретых мышцах и вспотевшей коже, намного больше, чем количество информации, которая была нужна для описания упорядоченных химических связей в сахаре яблока.) К сожалению, запустить этот процесс в обратном направлении не так легко. Если вы захотите снова превратить энергию теплоты, где есть много невидимой информации (или энтропии), в энергию химических связей, где энтропии намного меньше, вам придется что-то делать с этой дополнительной информацией. Как мы вскоре увидим, проблема поиска места для дополнительных битов в теплоте накладывает фундаментальные ограничения на то, как хорошо могут функционировать механизмы, люди, мозги, ДНК и компьютеры. Тем не менее в обоих случаях энергия и информация (видимая и невидимая) – два главных героя вселенской драмы. Вселенная, которую мы видим вокруг, – результат взаимодействия между этими двумя величинами, и этим взаимодействием управляют первое и второе начала термодинамики. Энергия сохраняется. Информация никогда не уменьшается. Требуется энергия, чтобы физическая система перешла из одного состояния в другое. Иначе говоря, для обработки информации необходима энергия. Чем больше энергии можно приложить, тем быстрее происходят физические изменения и тем быстрее обрабатывается информация. Максимальная скорость, с которой физическая система может обрабатывать информацию, пропорциональна ее энергии. Чем больше энергии, тем быстрее меняются биты. Земля, воздух, огонь и вода в конечном итоге состоят из энергии, но разные формы, которые они принимают, определяются информацией. Чтобы что-то сделать, нужна энергия. Чтобы описать сделанное, нужна информация. Энергия и информация естественным образом переплетены между собой. История Вселенной, часть вторая Теперь, когда мы представили героев конфликта, давайте расскажем историю Вселенной на языке их взаимодействия между собой. Именно это взаимодействие – перепасовка между информацией и энергией – заставляет Вселенную вычислять. В течение последнего столетия достижения в создании мощных телескопов позволили вести очень точные наблюдения за Вселенной вне нашей Солнечной системы. Прошлое десятилетие было особенно знаменательным для наблюдения небес. Наземные телескопы и спутниковые обсерватории позволили собрать обширные данные о том, как сейчас выглядит Вселенная, а также о том, какой она была в прошлом. (Скорость света конечна, и когда мы смотрим на галактику, отстоящую от нас на миллиард световых лет, то видим ее такой, какой она была миллиард лет назад.) Эта принципиальная историчность наблюдений космоса оказывается весьма полезной, когда мы пытаемся расшифровать раннюю историю Вселенной. Вселенная началась менее 14 млрд лет назад в виде гигантского взрыва. Но что было до Большого взрыва? Ничего![3 - В некоторых космологических теориях считается, что Вселенная была всегда, а Большому взрыву предшествовало Большое сжатие. В этих моделях наша Вселенная расширится, потом опять сократится в новом Большом сжатии, затем будет новый Большой взрыв и т. д. Хотя такие «осциллирующие» модели Вселенной и не противоречат законам физики, в настоящее время наблюдения не дают оснований считать их более корректными.]. Не было ни времени, ни пространства. Еще раз: не то чтобы пространство было пустым – оно отсутствовало; время же имело свое начало. Нет ничего страшного в идее начала из ничего. Например, положительные числа начинаются с нуля (с шунья, «пустоты»). До нуля положительных чисел нет[9 - Нуль, разумеется, не является положительным числом. В то же время можно подобраться к нему сколь угодно близко, оставаясь на положительной части числовой прямой. – Прим. ред.]. Так и до Большого взрыва не было ничего – ни энергии, ни битов. А потом – внезапно – возникла Вселенная. Началось время, а с ним и пространство. Новорожденная Вселенная была простой; свежесотканная ткань квантовых полей содержала очень мало информации и энергии. Для ее описания достаточно было всего нескольких битов. Если, как предполагают некоторые физические теории, существует всего одно возможное начальное состояние Вселенной и всего один самосогласованный набор физических законов, то для описания этого начального состояния не требуется ни одного бита информации! Как мы помним, чтобы создать информацию, должна существовать альтернатива: 0 или 1, «да» или «нет», то или это. Если же начальному состоянию Вселенной не было никаких альтернатив, то для ее описания нужен был нуль битов информации и ровно нуль битов она содержала в себе. Такой первоначальный недостаток информации соответствует представлению о том, что Вселенная возникла из ничего. Возникнув, Вселенная сразу начала расширяться, и по мере расширения она вытягивала все больше энергии из квантовой ткани пространства и времени. Современные физические теории утверждают, что количество энергии на ранних этапах развития Вселенной росло очень быстро (этот процесс называют «инфляцией»), а количество информации увеличивалось медленнее. В начале Вселенная оставалась простой и упорядоченной: для ее описания хватало всего нескольких битов информации. Энергия, которая в ней возникала, была свободной энергией. Впрочем, такой дефицит информации продлился недолго. По мере того как расширение Вселенной продолжалось, свободная энергия в квантовых полях превращалась в теплоту, увеличивая энтропию, и образовались все виды элементарных частиц. Эти частицы были горячими: они колебались просто-таки яростно. Чтобы описать эту «пляску», требовалось много информации. Прошла всего одна миллиардная доля секунды – время, за которое свет проходит расстояние в тридцать сантиметров, и количество информации, содержавшейся во Вселенной, достигло порядка 100 миллионов миллиардов миллиардов миллиардов миллиардов миллиардов, или 1050 битов. (Если угодно, это примерно по биту на каждый из атомов, из которых состоит наша Земля.) Чтобы сохранить столько информации в визуальной форме, потребовалась бы фотография размером с Млечный путь. Большой взрыв был также и Битовым взрывом. Пока энергия в Мире меняла форму, Вселенная также обрабатывала и преобразовывала биты, заполняя свой «регистр памяти» результатами обработки этой информации. После той, самой первой, миллиардной доли секунды Вселенная выполнила приблизительно 10 000 миллиардов миллиардов миллиардов миллиардов миллиардов миллиардов миллиардов (1067) элементарных операций с битами, и много что произошло за это время. Но что вычисляла Вселенная во время этой первой миллиардной доли секунды? Писатели-фантасты считают, что за это время – намного быстрее, чем мы успеваем моргнуть глазом, – могли возникнуть и исчезнуть целые цивилизации! У нас нет никаких доказательств этого. Более вероятно, что эти первые операции представляли собой случайные столкновения элементарных частиц. После этой первой миллиардной доли секунды Вселенная была очень горячей. Почти вся закачанная в нее энергия теперь находилась в форме теплоты. Потребовалось бы очень много информации, чтобы описать бесконечно малые движения элементарных частиц в этом состоянии. Вообще, когда все вещество имеет одну и ту же температуру, энтропия достигает максимума. На данном этапе было очень немного свободной энергии, то есть порядка, и поэтому время сразу после Большого взрыва было враждебным для таких процессов, как жизнь. Для жизни нужна свободная энергия. Даже если и могла бы существовать какая-то форма жизни, способная выдержать высокие температуры Большого взрыва, этой форме жизни было бы нечего есть! Расширяясь, Вселенная остывала. Элементарные частицы колебались все медленнее. Количество информации, нужное для описания их «танца», оставалось почти таким же и лишь постепенно увеличивалось со временем. Может показаться, что для описания более медленных колебаний нужно меньше битов, и действительно, для описания их скорости требовалось меньше битов. В то же время объем пространства, в котором колебались частицы, возрастал, и нужно было все больше битов для описания их положений. Поэтому общее количество информации оставалась постоянным или росло в соответствии со вторым началом термодинамики. Частицы колебались все медленнее и медленнее, и биты и кусочки космического супа начали уплотняться. Результатом этой конденсации стали некоторые виды материи, которые мы видим и сегодня. Когда количество энергии в типичном колебании становилось меньше количества энергии, необходимого для формирования и сохранения сложной элементарной частицы, например протона, стали формироваться эти частицы. Иначе говоря, когда колебания составляющих элементов – кварков в случае протона – уже были недостаточно энергичны для того, чтобы поддерживать их автономию, они склеивались в сложную частицу, которая «выпадала» из «космического супа». Каждый раз, когда из «супа» конденсировался новый компонент, происходил взрыв энтропии – в космическую поваренную книгу записывалась новая информация. Частицы формировались из «космического супа» в порядке энергий, необходимых для удержания их в стабильном состоянии. Протоны и нейтроны – частицы, из которых состоят ядра атомов, – сконденсировались через одну миллионную долю секунды после Большого взрыва при температуре приблизительно в 10 миллионов миллионов (1013) °С. Атомные ядра начали формироваться примерно через одну секунду, при температуре около миллиарда градусов. К трехминутной отметке были сформированы ядра легких атомов – водород, гелий, дейтерий, литий, бериллий и бор. Однако электроны все еще носились слишком быстро, чтобы ядра могли их захватить и сформировать полные атомы. Спустя триста восемьдесят тысяч лет после Большого взрыва, когда температура Вселенной стала немного ниже 10 000 °C, электроны, наконец, стали достаточно холодными для захвата, и стали появляться стабильные атомы. Порядок из хаоса (эффект бабочки) До образования атомов почти вся информация во Вселенной находилась на уровне элементарных частиц. Почти все биты были записаны положениями и скоростями протонов, электронов и т. д. На более высоких уровнях Вселенная все еще содержала очень мало информации: она была невыразительной и однородной. (Насколько однородной? Представьте себе поверхность озера безветренным утром, такую спокойную, что отражения деревьев в воде неотличимы от самих деревьев. Представьте себе Землю, где нет холмов выше кротовой норы. Ранняя Вселенная была еще более однородной.) Сейчас, однако, телескопы показывают нам огромные различия и неоднородность во Вселенной. Вещество собирается и формирует планеты, такие как Земля, и звезды, такие как Солнце. Планеты и солнца вместе создают солнечные системы. Наша Солнечная система вместе с миллиардами других формирует нашу галактику, Млечный путь. Млечный путь, в свою очередь, – только одна из десятков галактик в местном скоплении галактик, а оно – всего лишь одно из скоплений в сверхскоплении. Эта иерархия скоплений вещества, разделенных космическими пустотами, и составляет современную крупномасштабную структуру Вселенной. Но как появилась эта структура? Откуда взялись биты информации? Эти биты происходят из самой ранней Вселенной, о которой мы только что говорили. Их происхождение можно объяснить законами квантовой механики вместе с законами тяготения. Квантовая механика – это теория, которая описывает, как ведут себя вещество и энергия на самых фундаментальных уровнях. На микроуровне квантовая механика описывает поведение молекул, атомов и элементарных частиц. На больших масштабах она описывает наше с вами поведение. На еще больших – поведение Вселенной в целом. Законы квантовой механики отвечают за возникновение деталей и структуры Вселенной. Теория квантовой механики дает начало крупномасштабной структуре благодаря своему неустранимо вероятностному характеру. Каким бы парадоксальным это ни казалось, квантовая механика создает разнообразие и структуру, потому что она по определению неопределенна. Ранняя Вселенная была однородной: плотность энергии везде была почти одинаковой. Но – не совсем одинаковой. В квантовой механике такие величины, как положение, скорость и плотность энергии, не имеют точных значений. Их значения колеблются, или, как говоря физики, флуктуируют. Мы можем описать их вероятные значения, например наиболее вероятное местоположение некоторой частицы, но при этом не можем указать его совершенно точно. Из-за этих квантовых флуктуаций некоторые области ранней Вселенной были чуть более плотными, чем другие. Время шло, и гравитация заставляла материю смещаться к этим более плотным областям, еще больше увеличивая плотность энергии в них и уменьшая в окружающем пространстве. Таким образом, гравитация усиливала и увеличивала первоначально едва заметные различия. Вот так крошечные квантовые флуктуации в начале времен стали зародышами и указали места для скоплений галактик. Немного позже дальнейшие неоднородности задали положения отдельных галактик в скоплении, а еще позже флуктуации задали положения звезд и планет. В процессе создания этой масштабной структуры гравитация создавала еще и свободную энергию, необходимую живым существам. Формируясь и уплотняясь, материя двигалась быстрее и быстрее, получая энергию от гравитационного поля; иначе говоря, вещество нагревалось. Чем больше оказывался сгусток, тем более горячим становилось вещество в нем. Если собиралось достаточное количество материи, температура в центре сгустка повышалась до той точки, где начинаются термоядерные реакции, – и новое солнце начинало сиять! В солнечном свете много свободной энергии – той энергии, которую, например, могут использовать растения для фотосинтеза. И как только они появятся, они так и будут делать. Способность гравитации усиливать небольшие флуктуации плотности – отражение физического феномена, которое называют «хаосом». В хаотической системе крошечные различия со временем усиливаются. Возможно, самый известный пример хаоса – так называемый эффект бабочки. Уравнения, отражающие движения в атмосфере Земли, хаотичны по своей сути; поэтому крошечное изменение, скажем взмах крыла бабочки, со временем и с расстоянием может усиливаться и через месяцы и километры превратиться в ураган. Крохотные квантовые флуктуации плотности энергии во время Большого взрыва – это те самые «бабочки», которые в результате превратились в крупномасштабную структуру Вселенной. Каждая галактика, звезда и планета обязаны своей массой и положением квантовым событиям в начале Вселенной. Но не только: эти события также стали источниками мелких деталей Вселенной. Случайность – ключевой элемент языка природы. Каждый бросок «квантовых костей» создает в мире еще несколько битов различий и подробностей. Эти детали накапливаются и формируют зачатки всего разнообразия Вселенной. Каждое дерево, каждая ветка, лист, клетка и спираль ДНК обязаны своей особенной формой какому-то случайному броску в этой квантовой игре. Если бы не законы квантовой механики, Вселенная до сих пор была бы невыразительной и пустой. Возможно, азартные игры на деньги и являются воплощением ада, но квантовая игра в кости – божественный промысел! Универсальный компьютер Мы уже знаем, что Вселенная вычисляет, записывая и трансформируя информацию. Поэтому все то, что мы видим вокруг, можно назвать вселенским, или универсальным компьютером. Однако у этого названия есть другое, более техническое значение. В информатике тоже есть понятие «универсальный компьютер» – это устройство, которое можно запрограммировать так, что оно будет обрабатывать биты информации любым желаемым способом. Обычные цифровые компьютеры, такие, на каком я пишу эту книгу, – это универсальные компьютеры, а их языки – универсальные языки. Люди способны производить универсальные вычисления, и человеческие языки универсальны. Почти все системы, которые можно запрограммировать на выполнение произвольно длинных последовательностей простых преобразований информации, являются универсальными. Универсальный компьютер может сделать с информацией почти все что угодно. Изобретатели универсальных компьютеров и универсальных языков, Алонзо Черч и Алан Тьюринг, выдвинули гипотезу, что на универсальном компьютере может быть выполнена любая возможная математическая манипуляция, то есть что универсальный компьютер может создавать математические построения любого уровня сложности. Но сам он не должен быть сложной машиной; все, что он должен уметь, – это брать биты, по одному или по два за раз, и выполнять с ними простые операции. Чтобы совершить любое желаемое преобразование над сколь угодно большим набором битов, достаточно многократно выполнять операции всего с одним или двумя битами за раз. Любая машина, которая может выполнить такую последовательность простых логических операций, является универсальным компьютером. Важно, что универсальный компьютер можно запрограммировать так, чтобы преобразовывать информацию любым желаемым образом, и любой универсальный компьютер можно запрограммировать так, чтобы он преобразовывал информацию точно так же, как это делает любой другой универсальный компьютер. Таким образом, любой универсальный компьютер может моделировать другой, и наоборот. Такая взаимомоделируемость означает, что все универсальные компьютеры могут выполнять один и тот же набор задач. (Эта особенность вычислительной универсальности нам знакома: если какая-то программа работает на PC, ее, безусловно, можно видоизменить так, что она будет работать на Mac.) Конечно, на Mac программа может работать медленнее, чем на PC, и наоборот. Программа, написанная для универсального компьютера определенного типа, на нем обычно работает быстрее, чем ее «переводная» версия на другом компьютере. Но эта переведенная программа все равно будет работать. Можно показать, что любой универсальный компьютер может не только имитировать любой другой универсальный компьютер, но и делать это эффективно. При переводе программы с одного компьютера на другой она будет работать медленнее, но ненамного. Цифровое и квантовое Вселенная вычисляет. Ее компьютерный язык состоит из законов физики и их химических и биологических следствий. Но можно ли считать, что Вселенная является универсальным цифровым компьютером, в том техническом значении, который обосновали Чёрч и Тьюринг, и ничем более? На этот вопрос можно дать точный научный ответ: нет. Идея о том, что Вселенная в самой своей основе может являться цифровым компьютером, возникла несколько десятилетий назад. В 1960-х гг. Эдвард Фредкин, бывший тогда профессором Массачусетского технологического института, и тот самый Конрад Цузе, который сконструировал первые электронные цифровые компьютеры в Германии в начале 1940-х, предположили, что Вселенная, в сущности, является универсальным цифровым компьютером. (Сравнительно недавно эта концепция нашла последователя в лице ученого в области информатики Стивена Вольфрама.) Идея очень привлекательна: цифровые системы просты и при этом способны воспроизводить поведение любой степени сложности. В частности, компьютеры, архитектура которых воспроизводит структуру пространства и времени (так называемые клеточные автоматы), могут эффективно воспроизводить движения классических частиц и взаимодействия между ними. Конец ознакомительного фрагмента. Текст предоставлен ООО «ЛитРес». Прочитайте эту книгу целиком, купив полную легальную версию (http://www.litres.ru/set-lloyd/programmiruya-vselennuu-kvantovyy-komputer-i-buduschee-nauki/) на ЛитРес. Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом. notes Сноски 1 В 2011 г. компания D-Wave Systems объявила о создании коммерческого компьютера со 128 кубитами. – Прим. ред. 2 Американская энергетическая корпорация, обанкротившаяся в декабре 2001 г. – Прим. ред. 3 Русский аналог – счеты. – Прим. ред. 4 Два разных алфавита в семибитный код ASCII уже не умещались. Стихийная адаптация его к требованиям других языков породила великое множество восьмибитных кодовых таблиц. – Прим. ред. 5 Льюис Кэрролл. Алиса в Зазеркалье. Пер. Н. М. Демуровой. 6 Mark I – первый американский программируемый компьютер на электромеханических элементах. Разработан и построен в 1941 г. на средства, выделенные компанией IBM. После успешного прохождения первых тестов в феврале 1944 г. компьютер был перенесен в Гарвардский университет и с мая выполнял расчеты в интересах Бюро судостроения ВМС США. – Прим. пер. 7 Прогресс не стоит на месте. Сейчас примерно такой объем имеет снимок в сжатом виде, например в формате jpeg, причем сделанный очень скромной камерой. Несжатый снимок будет в несколько раз «тяжелее». – Прим. ред. 8 Или примерно в два раза больше Московской области. – Прим. ред. 9 Нуль, разумеется, не является положительным числом. В то же время можно подобраться к нему сколь угодно близко, оставаясь на положительной части числовой прямой. – Прим. ред. Комментарии 1 К 1700 до н. э. вавилоняне уже уверенно использовали «арабскую» систему записи чисел, но наличие нуля можно было вывести только из контекста, для него не было отдельного знака (к примеру, числа 210 и 21 писались одинаково). Самый древний известный «протоабак», саламинская счетная доска, датируется 300 г. до н. э. Использование знака «0» для обозначения нуля ввел Птолемей в 130 г. н. э., и к 650 г. н. э. этот знак широко использовался в Индии. 2 В США популярна наклейка на автомобильный бампер с надписью: «Человеку свойственно ошибаться. Но чтобы по-настоящему все испортить, нужен компьютер». 3 В некоторых космологических теориях считается, что Вселенная была всегда, а Большому взрыву предшествовало Большое сжатие. В этих моделях наша Вселенная расширится, потом опять сократится в новом Большом сжатии, затем будет новый Большой взрыв и т. д. Хотя такие «осциллирующие» модели Вселенной и не противоречат законам физики, в настоящее время наблюдения не дают оснований считать их более корректными. Текст предоставлен ООО «ИТ» Прочитайте эту книгу целиком, купив полную легальную версию:https://tellnovel.com/ru/set-lloyd/programmiruya-vselennuyu-kvantovyy-kompyuter-i-buduschee-nauki-kupit