МАРИОНЕТКИ НЬЮТОНА
Ученые разных специальностей стремятся описывать явления в рамка? терминов и понятий, характерных для собственной науки, вследствие чегс поведение животных зоолог будет описывать в терминах индивидуальных особенностей, молекулярный биолог предпочтет начать описание с генетических факторов и т.д. С другой стороны, для физиков естественж описывать любую систему с точки зрения взаимодействий составляющих е< элементов, в качестве которых могут выступать атомы, электроны, кварю- или молекулы газа. Впрочем, одно утверждение представляется заведомс разумным: поведение птиц в стае является настолько сложным, что не мо жет быть сведено к генетической программе, заложенной в каждую из ни> при рождении.
Строго говоря, Крейг Рейнольдс не был физиком — он работал специалистом по программному обеспечению в калифорнийской фирме Symbolics В 1987 году Рейнольдс заинтересовался проблемой коллективного поведение птиц и начал решать ее не на основе феноменологического подхода, харак терного для биологии, а исходя из строгих физических и математическиз аксиом и представлений. Наблюдая за поведением стаи птиц на местнол кладбище, он попытался выявить его закономерности. Позднее он писал < своих наблюдениях: «Все свидетельствовало о том, что поведение стаи яв ляется просто следствием действий отдельных особей, каждая из которы: вела себя индивидуально, но с учетом локального восприятия окружающей мира»4. В этой фразе содержится ключ к решению проблемы, сводящийся к словам локальное восприятие. Отдельная птица действительно не може проследить и проанализировать поведение всех других птиц в стае, но он вполне способна очень быстро реагировать на любые изменения в ближай шем окружении.
Основываясь на этой идее, Рейнольдс составил компьютерную программу, описывающую поведение системы, каждый частица которой в своих действиях подчинялась лишь трем простым правилам, связанным с информацией о поведении ближайших частиц. Ему даже показалось несправедливым называть создаваемые чувствительные и восприимчивые элементы простым термином «частица», поэтому он придумал для них специальное имя «бойд», как бы объединяющее птиц (bird) с дройдами (droid), персонажами из научной фантастики. Каждый бойд взаимодействует только с бойдами из ближайшего окружения (это окружение логично именуется локальной сферой). Правила движения бойдов очень просты: каждый из них подгоняет значение своей скорости к средней скорости движения бойдов в локальной сфере, избегает при этом столкновений и пытается сместиться в сторону центра масс сферы[55]. Приведенные условия регулирования скорости и направления движения эквивалентны правилам когезии (слипания), поскольку они способствуют постепенному сближению траекторий полета соседних бойдов. Особо отметим, что ни одно из условий никоим образом не задает общего поведения всей стаи бойдов, т. е. в правила не встроена тенденция к формированию согласованного движения стаи.
Однако уже при первых попытках компьютерного моделирования бойды продемонстрировали именно согласованное движение, причем их поведение, например, при выводе данных на экран монитора, поразительно напоминало движение реальной птичьей стаи! Затем Рейнольдс начал постепенно вводить дополнительные условия, усиливая или ослабляя тенденции перемещения в определенных направлениях (это можно сравнить с поиском стаей новых источников питания или проживания), что позволило ему моделировать коллективное поведение в широком диапазоне условий, имитирующих реальные обстоятельства. Успехи Рейнольдса в имитации поведения стай были столь впечатляющими, что привлекли внимание голливудских кинорежиссеров, которые стали широко применять разработанные им программы в мультипликации, и именно на их основе были созданы впечатляющие спецэффекты в таких известных фильмах, как Возвращение Бэтмена (атака летучих мышей) и Король Лев (сцены массового бегства антилоп гну).
Бойды представляют собой виртуальные объекты, которые физики и математики традиционно называют автоматами, подобиями роботов, жестко запрограммированных на выполнение набора правил или команд, определяющих реакцию на состояние окружения. Главной особенностью автоматов является детерминизм их поведения: устройство получает информацию об окружении, осуществляет требуемые инструкциями вычисления, а затем анализирует полученные результаты по заданным критериям, предписывающим дальнейшие действия.
Концепция автоматов, напоминающих виртуальные частицы, была предложена венгерским математиком Джоном фон Нейманом (1903-1957) еще в 1930-х годах, когда он приступил к разработкам, ставшим позднее основой вычислительной техники, и впервые задумался о возможностях создания устройств, способных к самовоспроизведению и самоусложнению. Именно в этой связи польский математик Станислав Улам предложил фон Нейману простую и удобную для рассмотрения модель процессов развития вообще: вселенную в виде шахматной доски, на каждой клетке (или ячейке) которой располагается автомат, способный существовать в нескольких различных состояниях, которые, в свою очередь, определяются состояниями ближайших ячеек. Для человека нашего времени первым приходящим в голову примером таких ячеек являются элементы памяти ЭВМ, где каждый элемент существует в одном из двух состояний, обозначаемых цифрами 0 и 1, или словами «включено»/«выключено». Пользуясь этой моделью, фон Нейман и Улам пытались выяснить, как конкретная информация (набор данных) может воспроизвести (продублировать) себя на такой решетке.
Можно бесконечно «играть» с такими клеточными автоматами, придумывая новые правила, в соответствии с которыми клетка реагирует на состояние соседей. По-настоящему серьезное исследование динамических систем в мире клеточных автоматов стало возможным, естественно, лишь после создания первых цифровых ЭВМ. В конце 1960-х математик Джон Хортон Конвэй из Кембриджского университета сумел создать чрезвычайно интересный вариант игры с клеточными автоматами, который он провокационно назвал «Игрой жизни», позволяющий грубо моделировать процессы жизни, смерти и размножения живых клеток или целых организмов. В этой игре, с одной стороны, одиночки погибают сразу, а сообщества получают шанс развиваться и процветать, но с другой — перенаселенность сообщества также может приводить к его гибели из-за недостатка виртуальных пищевых или иных ресурсов. В «Игре жизни» каждая клетка считается живой или мертвой, причем клетка остается живой лишь при условии, что живыми являются две или три клетки в ее ближайшем окружении. Во всех других случаях клетка переходила в мертвое состояние, из которого она, впрочем, могла вновь ожить при наличии в будущем трех живых ближайших клеток (разумеется, слова «живой»/«мертвый» употребляются лишь условно и вполне могут быть заменены на термины «включено»/«выключено», «занято»/«свободно» и т. п.).
Придуманная Конвэем игра стала прототипом множества последующих исследований так называемой искусственной жизни. «Игра жизни» позволяет создавать фантастическое разнообразие кластеров виртуально живых клеток, различающихся формой и характером поведения (в Интернете можно найти несколько сайтов, посвященных этим системам). Некоторые кластеры способны распространяться по решетке, извиваясь подобно змеям или скользя по поверхности подобно птицам. Некоторые из создаваемых кластеров способны пожирать другие кластеры, а некоторые — расщепляться, порождая новые формы, и т.д. Просто удивительно, что весь этот роскошный, разнообразный и странный мир создается на основе всего нескольких очень простых правил, относящихся к локальным взаимодействиям между его элементами в виде кластеров.
Упомянутые бойды Рейнольдса, хотя и выглядят значительно сложнее описываемых клеточных автоматов, поскольку не связаны с неподвижными ячейками и поэтому способны гораздо свободнее передвигаться в виртуальном пространстве, все же остаются автоматами, так как их поведение определяется жесткими правилами. Однако стоит особо отметить, что они стали первой формой искусственной жизни, позволяющей воспроизводить довольно сложные явления реальной жизни, вследствие чего их исследования и до сих пор остаются одним из важных разделов новой обширной области исследований, объединенных названием теория сложности с ее основополагающей концепцией эмержентности[56].
Например, из поведения отдельных бойдов спонтанно возникает представление о стае, которое не было «запрограммировано» в наборе исходных правил, которые относились сугубо к движению отдельных особей. Это означает, что какая-то особенность в заданных правилах парного взаимодействия бойдов смогла породить в системе некий неожиданный режим согласованного группового поведения. Возникновение таких свойств доказывает нам, что целое не сводится к простой сумме своих частей или составляющих.
В этом контексте значение слова сложность существенно расширяется и углубляется, далеко выходя за рамки собственно физики. Многие результаты, полученные в этом направлении, пока можно назвать лишь эмпирическими исследованиями в информатике и кибернетике, т. е. созданием новых игр для автоматов и изучением поведения все новых придумываемых систем. Результаты большинства таких работ, при всей из занимательности, остаются непонятными и даже бесполезными, поскольку не имеют теоретического обоснования. Мы постоянно получаем все новые описания (а не предписания), не приводящие к углублению теоретических представлений. Гарвардский биолог Э.О. Вильсон с некоторой горечью пишет: «Сама по себе концепция эмержентности не дает никаких объяснений, если исследователь не понимает сущность механизмов, действующих в изучаемой системе»5. Поэтому все исследования искусственной жизни бойдов и любых других интереснейших компьютерных моделей поведения разнообразных стадных животных, от колоний муравьев до огромных табунов мустангов в прериях, будут оставаться всего лишь «салонными играми» ученых в области высоких технологий до тех пор, пока исследователи не поймут, что объекты их изучения относятся, в сущности, к новой области неравновесной статистической физики.