Чтение онлайн

ЖАНРЫ

Самое грандиозное шоу на Земле: доказательства эволюции
Шрифт:

Тот же принцип работает с определенными типами компьютерных программ, определенными типами поведения животных, и - сводя их воедино - с компьютерными программами, разработанными для моделирования поведения животных Предположим, мы хотим понять стайное поведение скворцов. Существует несколько потрясающих фильмов доступных на YouTube, кадры из которых представлены на цветной странице 16. Эти балетные маневры были сфотографированы возле Отмура, поблизости Оксфорда, Диланом Винтером. Что поразительно в поведении скворцов, это то, что, несмотря на всю видимость, у них нет ни хореографа, ни, насколько нам известно, лидера. Каждая отдельная птица только следует локальным правилам.

Количество отдельных птиц в этих скоплениях может достигать тысяч, и все же они практически никогда не сталкиваются. Это только к лучшему, так как, учитывая скорость, с которой они летают, любое такое столкновение серьезно

бы их ранило. Часто целое скопление, кажется, ведет себя как единый индивид, сворачивающий и описывающий виражи. Может выглядеть, как будто отдельные стаи движутся друг сквозь друга в противоположных направлениях, сохраняя нетронутым свое единство как отдельных стай. Это выглядит почти как чудо, но на самом деле стаи находятся на различных расстояниях от камеры и не буквально пролетают друг сквозь друга. Добавляет эстетическое удовольствие то, что края скоплений так резко очерчены. Они не плавно сходят на нет, а имеют резкую границу. Плотность птиц на границе не меньше, чем в середине скопления, в то время как она равна нулю за пределами границы. Как только вы подумаете об этом таким образом, разве это не крайне удивительно?

Все это могло бы послужить более чем элегантной экранной заставкой на компьютере. Вам бы не захотелось реального фильма скворцов, поскольку Ваш скринсейвер повторял бы одни и те же идентичные балетные движения снова и снова, и поэтому не нагружал бы все пиксели одинаково. То, чего вы хотели бы, это компьютерное моделирование стай скворцов; и, любой программист скажет Вам, есть правильный и неправильный способ сделать это. Не пытайтесь поставить весь балет, это было бы ужасно плохим стилем программирования для такого рода задач. Следует поговорить о лучшем способе сделать это, потому что подобным образом, почти наверняка, запрограммированы сами птицы, в их мозгах. Главное -это большая аналогия с тем, как работает эмбриология.

Вот как следует программировать стайное поведение у скворцов. Посвятите почти все ваши усилия программированию поведения одной отдельной птицы. Встройте в вашего робо-скворца детализированные правила того, как лететь и как реагировать на присутствие соседних скворцов, в зависимости от их расстояния и относительного положения. Заложите в правилах, какую важность придавать поведению соседей и какую важность уделить индивидуальной инициативе в изменении направления. Этим типовым правилам помогли бы тщательные наблюдения реальных птиц в действии. Наделите свою киберптицу определенной тенденцией чередовать свои правила в случайном порядке. Теперь, когда вы написали сложную программу, чтобы задать правила поведения одного скворца, наступает определяющий момент, который я подчеркиваю в этой главе. Не пытайтесь программировать поведение целой стаи, как, возможно, делало предыдущее поколение программистов. Вместо этого клонируйте того одного компьютерного скворца, которого вы запрограммировали. Сделайте тысячу копий своей робо-птицы, возможно, одинаковых, или, возможно, с некоторыми небольшими случайными различиями в правилах поведения. И теперь "выпустите" тысячи моделей скворцов в вашем компьютере, так чтобы они могли свободно взаимодействовать друг с другом, подчиняясь все тем же правилам.

Если у вас будут поведенческие правила для одного скворца, то тысяча компьютерных скворцов, каждый из которых - точка на экране, будут вести себя как реальные скворцы, собирающиеся в стаи зимой. Если стайное поведение не вполне правильно, Вы можете вернуться и поправить поведение отдельного скворца, возможно, в свете дальнейших исследований поведения реальных скворцов. Теперь клонируйте новый вариант тысячу раз вместо той тысячи, которая работала не безупречно. Продолжайте переделывать Вашу программу одного клонированного скворца, пока стайное поведение тысяч их на экране не будет убедительной, реалистичной заставкой. Крейг Рейнольдс написал программу по типу этой (не конкретно для скворцов) в 1986 году, назвав ее "Boids".

Ключевым моментом является то, что нет никакого хореографа и никакого лидера. Порядок, организация, структура - все это появляется как побочный продукт правил, соблюдаемых локально и много раз, не глобально. И именно так работает эмбриология. Все делается по локальным правилам на различных уровнях, но особенно на уровне отдельной клетки. Нет хореографа. Нет дирижера у этого оркестра. Нет централизованного планирования. Нет архитектора. В области биологии развития или в производстве эквивалентом этого вида программирования является самосборка.

Тело человека, орла, крота, дельфина, гепарда, лягушки леопарда, ласточки: все они так красиво собраны, кажется, невозможно поверить, что гены, программирующие их развитие, функционируют не как чертеж, проект, генеральный

план. Но нет: как и с компьютерными скворцами, все это делается отдельными клетками, подчиняющимися локальным правилам. Красиво "спроектированное" тело появляется как следствие правил, локально выполняемых отдельными клетками, без обращения к чему-либо, что можно было бы назвать всеобщим глобальным планом. Клетки развивающегося эмбриона поворачиваются и танцуют друг вокруг друга, как скворцы в гигантских стаях. Есть отличия, и они важны. В отличие от скворцов, клетки физически соединены друг с другом в пласты и блоки: их "стаи" называют "тканями". Когда они вертятся и танцуют как миниатюрные скворцы, следствием является то, что формируются трехмерные формы, поскольку ткани впячиваются в ответ на движения клеток; или раздуваются или сморщиваются из-за локальных особенностей роста и смерти клеток. Мне нравится аналогия этого в виде искусства оригами, предложенная выдающимся эмбриологом Льюисом Уолпертом в его книге "Триумф эмбриона"; но прежде чем перейти к ней, я должен убрать с пути некоторые альтернативные аналогии, которые могли бы прийти на ум - аналогии из числа человеческих ремесел и производственных процессов.

АНАЛОГИИ ДЛЯ РАЗВИТИЯ

Удивительно трудно найти хорошую аналогию для развития живой ткани, но Вы можете найти частичные сходства с определенными аспектами процесса. Рецепт отражает часть истины, и это - аналогия, которую я иногда использую, чтобы объяснить, почему "чертёж" неуместен. В отличие от чертежа, рецепт необратим. Если Вы будете следовать рецепту пирога шаг за шагом, то Вы получите пирог. Но Вы не можете взять пирог и восстановить рецепт - определенно, не точные слова рецепта - хотя, как мы видели, Вы можете взять дом и восстановить что-то близкое к оригинальному чертежу. Причина в соответствии один-к-одному между частями дома и частями чертежа. С очевидными исключениями, такими как вишенка сверху, нет никакого соответствия один-к-одному между частями пирога и словами, скажем, или предложениями из его рецепта.

Какие могут быть другие аналогии с человеческим производством? Скульптура - в основном полностью мимо цели. Скульптор начинает с куска камня или дерева и придает ему форму удалением, откалывая до тех пор, пока все, что осталось, не будет требуемой формой. Существует, признаю, довольно точное подобие одному особому процессу в эмбриологии, называемому апоптоз. Апоптоз -запрограммированная клеточная смерть, и он задействован, например, в развитии пальцев рук и ног. В человеческом эмбрионе все пальцы рук и ног объединены. В матке Вы и я имели перепончатые ноги и руки. Перепонки исчезли (у большинства людей: есть редкие исключения) из-за запрограммированной смерти клеток. Это немного напоминает способ, которым скульптор вырезает форму, но он не столь распространен или достаточно важен, чтобы отражать то, как обычно работает эмбриология. Эмбриологи могут ненадолго вспомнить о "ваянии скульптора", но они не позволят этой мысли надолго задерживаться.

Некоторые скульпторы работают, не удаляя высеканием, а взяв ком глины или мягкий воск, и вылепливая в форму (которая может впоследствии быть отлита, в бронзе, например). Это опять-таки не удачная аналогия для эмбриологии. Также неудачной является искусство покроя или пошива одежды. Уже существующие ткани разрезаются, формируя расположение по заранее спланированному шаблону, затем сшиваются с другими вырезанными формами. Они часто потом выворачиваются наизнанку, чтобы скрыть швы - и это неточная но, по крайней мере, хорошая аналогия с определенными частями эмбриологии. Но в целом, эмбриология не более похожа на пошив, чем на ваяние скульптуры. Вязание может быть лучше в том смысле, что все формы свитеров, скажем, строятся из многочисленных отдельных стежков, как отдельных клеток. Но есть лучшие аналогии, как мы увидим.

Как насчет сборки автомобиля, или другой сложной машины на заводском конвейере: это - хорошая аналогия? Как ваяние и пошив, монтаж готовых деталей - эффективный способ сделать что-нибудь. На автомобильном заводе части имеются уже изготовленными предварительно, часто путем отливки в формы в литейном цехе (и есть, я думаю, нечто отдаленно напоминающее литье в эмбриологии). Затем готовые части соединяются на конвейере и привинчиваются, приковываются, свариваются или склеиваются, шаг за шагом, согласно точно начерченному чертежу. Еще раз, у эмбриологии нет ничего напоминающего ранее начерченный чертёж. Но есть сходство с упорядоченным склеиванием предварительно собранных частей, как в сборочном цехе автомобильного завода ранее произведенные карбюраторы, и распределительные головки, и ремни вентилятора, и головки цилиндра сводятся воедино и соединяются в правильном положении.

Поделиться с друзьями: