Книга: Программируя Вселенную. Квантовый компьютер и будущее науки
Глава 8 Упрощая сложность
Как сделать вещи сложными
Главное следствие вычислительной природы Вселенной заключается в том, что Вселенная естественным образом создает сложные системы, такие как жизнь. Хотя фундаментальные законы физики сравнительно просты по форме, они способны создавать, будучи универсальными с точки зрения вычислений, системы огромной сложности. Помимо того, что концепция вычислительной Вселенной охватывает стандартную модель элементарных частиц и по ней можно пройти по крайней мере часть пути к теории квантовой гравитации, она также дает объяснение одному из самых важных свойств Вселенной – ее сложности. В начале Вселенная была проста, а потом стала сложной. Как же это случилось?
Насколько сегодня понимают астрономы и специалисты по космологии, в момент Большого взрыва Вселенная была довольно незамысловатой. В ней везде было очень горячо, и вся она выглядела одинаково, то есть начальное состояние Вселенной характеризовалось регулярностью, симметрией и простотой. Если же мы посмотрим в небеса сейчас, то увидим совсем другую картину: планеты, звезды, галактики, скопления и сверхскопления галактик. Вселенная имеет крупномасштабную структуру, и она в высшей степени асимметрична. Посмотрите в окно: растения, животные, люди, дома, машины. Да, жизнь на Земле совсем не проста. Но как Вселенной удалось стать настолько сложной? Результаты, представленные в этой книге, позволяют дать научный, проверяемый ответ на этот вопрос.
Мы уже заложили основу для описания функционирования Вселенной с точки зрения обработки квантовой информации. Мы видели, что квантовый компьютер может эффективно моделировать Вселенную, и поэтому Вселенная неотличима от квантового компьютера. Эти теоретические аргументы подтверждаются эмпирическими данными о том, что Вселенная поддерживает вычисления: в конце концов, я пишу эти слова на компьютере, который подчиняется законам физики. Следовательно, законы физики поддерживают цифровые вычисления, и если я смогу все более и более расширять объем памяти, то рано или поздно мой компьютер превратится в цифровой компьютер вселенского масштаба. Ясно, что, какими бы ни были фундаментальные законы физики, они позволяют создавать компьютеры на относительно макроскопических масштабах.
Есть также убедительные свидетельства того, что Вселенная поддерживает вычисления и на микроскопических уровнях. Квантовые компьютеры, которые создаем мы с коллегами, – свидетельство способности вещества и энергии выполнять вычисления на самых малых масштабах: мы можем с высокой точностью управлять поведением атомов, электронов и фотонов. Какие бы формы ни принимали вещество и энергия при все более мелких масштабах, до тех пор пока они повинуются законам квантовой механики, их можно использовать для вычислений. В космологическом универсальном компьютере (это универсальный компьютер, состоящий из самой Вселенной) каждый атом – это бит, а каждый фотон перемещает свой бит из одной части вычисления в другую. Всякий раз, когда электрон или ядерная частица изменяют направление своего спина – с «по часовой стрелке» на «против часовой стрелки», их биты инвертируются.
До тех пор пока мы не получили полной квантовой теории всех фундаментальных физических явлений, включая гравитацию, нам не удастся найти детальных подтверждений вычислительной механики Вселенной. Но мы можем надеяться (и надеемся), что однажды такое подтверждение станет возможным.
Если Вселенная действительно является квантовым компьютером, это позволяет немедленно объяснить сложность, которую мы видим вокруг. Чтобы понять, как и почему способность Вселенной выполнять вычисления, по сути, гарантирует ее нынешнюю сложность, давайте вернемся к истории Людвига Больцмана и печатающих обезьян. Как мы помним, Больцман утверждал, что сложность Вселенной возникла чисто случайно. То, что мы видим вокруг, утверждал он, – просто результат статистической флуктуации, не отличающийся от исхода длинной серии подбрасывания монетки. На первый взгляд это объяснение кажется привлекательным: в бесконечно длинной серии бросков рано или поздно выпадет любая желаемая конечная последовательность «орлов» и «решек», включая любой желаемый текст или математическое выражение, закодированное в двоичной форме. Такое случайное возникновение текстов описано в рассказе Хорхе Луиса Борхеса «Вавилонская библиотека», где описана вымышленная библиотека, содержащая все возможные тексты. История обезьян, печатающих на машинках текст «Гамлета», – один из вариантов этой версии происхождения сложности.
Легко показать, что объяснение происхождения сложности, предложенное Больцманом, ошибочно. Броски монетки почти никогда не приводят к возникновению порядка или сложности. Если сложность возникает случайным образом, то какое бы упорядоченное или сложное поведение мы ни наблюдали до сих пор, все, что произойдет потом, будет случайным. Независимо от того, до какого места «Гамлета» может дойти обезьяна, следующее нажатие клавиши, скорее всего, приведет к ошибке. Во Вселенной, где все возникает случайным образом, наш следующий вздох будет последним, ведь наши атомы немедленно распадутся в случайное состояние. (В рассказе Борхеса книга, снятая с полки наугад, содержит бессмыслицу, а шифр для каждой книги такой же длинный, как и сама книга. Вавилонская библиотека бесполезна.)
Больцман и сам понял, что его объяснение Вселенной как статистической флуктуации ошибочно, и больше не возвращался к этому вопросу. Но в идее Больцмана все же есть зерно истины. Как и в третьей главе, чтобы найти наиболее вероятное объяснение происхождению сложности, вообразим, что обезьяны не печатают текст на пишущих машинках, а вводят его в компьютеры. Компьютер затем интерпретирует эту бессмыслицу как ряд инструкций, написанных, скажем, на языке Java. Что он выдаст? Мусор на входе – мусор на выходе: скорее всего, попавший в руки обезьяны компьютер выдаст сообщение об ошибке. Но время от времени один из них, возможно, создаст что-то более интересное. Вероятность того, что обезьяна напишет любую заданную программу, быстро уменьшается с ее длиной, как и в случае «Гамлета». Но достоверно известно, что существуют короткие программы, которые дают на выходе разнообразные и интересные результаты.
Обезьяны, печатающие текст на пишущих машинках (рис. 15a), выдают бессмыслицу. Если же обезьяны будут вводить текст в компьютеры (рис. 15b), то компьютер интерпретирует эту бессмыслицу как компьютерную программу и начнет создавать сложные структуры
В начале 1960-х гг. специалисты по информатике разработали подробную теорию того, с какой вероятностью компьютер, запрограммированный случайным образом, может выдать интересные результаты. Эта теория основана на идее «алгоритмической информации».
- Приложение В Сложность алгоритмов
- Опасность, связанная со сложностью алгоритмов
- Часть I Как справиться со сложностью
- Что такое сложность?
- Масштаб, сложность, ясность
- Сложность космологии
- 1.6.5. Правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где эт...
- Эффективная сложность
- Сложность требований
- Сложность бизнес-модели и количество влияющих на нее факторов
- 1.1. Сложность, присущая программному обеспечению
- 13 Сложность: просто, как только возможно, но не проще