Книга: Укрощение бесконечности. История математики от первых чисел до теории хаоса
Назад: Cложность
Дальше: Геология и биология

Клеточный автомат

В одном из видов новых математических моделей, известном как клеточный автомат, такие объекты, как деревья, птицы или белки, воплощаются в виде маленьких разноцветных ячеек. Они взаимодействуют с соседними ячейками в математической компьютерной игре. Но их простота обманчива: такие игры занимают передовой край современной науки.
Клеточный автомат получил признание в 1950-х гг., когда Джон фон Нейман старался понять способность живых организмов к самовоспроизведению. Станислав Улам предложил воспользоваться системой, открытой пионером компьютеростроения Конрадом Цузе еще в 1940-х. Представьте вселенную, состоящую из огромной решетки квадратов, названных ячейками, вроде гигантской шахматной доски. В любой момент любой квадрат может существовать в определенном состоянии. На этой доске-вселенной действуют все законы природы, описывающие, как именно должно меняться состояние каждой ячейки в следующий миг. Изменения состояния удобно представлять разными цветами. Тогда правила можно выразить так: если ячейка красная, а рядом с нею две синих, она должна стать желтой. Любая система такого рода называется клеточным автоматом: клеточным из-за строения, автоматом из-за слепого подчинения предписанным правилам.
Чтобы смоделировать фундаментальные особенности живых существ, фон Нейман создал конфигурацию ячеек, способных воспроизводиться – создавать копии себя. Потребовалось 200 тыс. ячеек и 29 разных цветов для алгоритмического описания всей системы. Она может слепо копироваться и использоваться в качестве шаблона для новых конфигураций того же типа. Фон Нейман не публиковал свою работу до 1966 г.: к этому времени Крик и Уотсон уже успели открыть структуру ДНК, и стало ясно, как на самом деле жизнь воспроизводит этот цикл репликации. Клеточный автомат пребывал в забвении еще 30 лет.

 

Клеточный автомат

 

Однако к 1980-м гг. стал расти интерес к системам, состоящим из большого количества простых частей, которые, взаимодействуя, способны производить сложное целое. Традиционно считалось, что математическая модель системы будет тем лучше, чем больше исходных данных удастся в нее включить. Но такой высокодетализированный подход оказался бесполезным для очень сложных систем. Предположим, например, что вы хотите смоделировать рост популяции кроликов. Вам нет нужды включать в модель ни длину кроличьей шерсти, ни длину ушей, ни особенности их иммунитета. Вам необходимо лишь несколько основных фактов о каждом животном: возраст, пол, беременная самка или нет. Только так вы сможете ориентировать ресурсы своего компьютера на то, что действительно важно.
И для такого рода систем клеточный автомат оказался чрезвычайно эффективным. Он позволяет игнорировать бесполезные детали, касающиеся отдельных компонентов, и вместо этого фокусироваться только на том, как они взаимодействуют. Это оказался прекрасный способ выяснить, какие факторы действительно важны, и приоткрыть завесу тайны над тем, почему сложные системы делают то, что они делают.
Назад: Cложность
Дальше: Геология и биология