Слепой часовщик (Докинз) - страница 46

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

«Глубина» рекурсии — это количество допускаемых суб-суб-…ветвлений между началом и остановкой процесса. На рисунке 2 показаны случаи, когда вы велите компьютеру выполнить одно и то же правило рисования, но остановиться на разных глубинах рекурсии. При очень глубокой рекурсии образец становится весьма сложным, но тем не менее на рисунке 2 можно легко видеть, что это результат того же самого очень простого правила ветвления. Конечно, именно это происходит у настоящего дерева. Схема ветвления дуба или яблони выглядит сложной, но на деле таковой не является. Базовое правило ветвления очень просто. Но из-за того, что оно применяется рекурсивно во всех отрастающих кончиках всех ветвей дерева — ветви производят суб-ветви, затем каждая суб-ветвь производят суб-суб-ветви и так далее — в результате всё дерево получается большим и густым.


Рис. 2.

Рекурсивное ветвление — это также хорошая метафора для эмбрионального развития растений и животных. Я не хочу сказать, что эмбрион животного напоминает ветвящееся дерево. Нет, конечно. Но рост всех эмбрионов осуществляется делением клеток. Деление любой клетки всегда состоит в разделении её на две дочерние. И гены всегда влияют на результирующие эффекты развития тел посредством локального влияния на клетки и на «двухветочную» схему деления клетки. Гены животного никак не являются эдаким грандиозным чертежом всего тела. Как мы увидим далее, гены более подобны рецепту, чем подобному чертежу — более того, не тому рецепту, который описывает развивающийся эмбрион как целое, но рецепту поведения отдельной клетки или локального кластера делящихся клеток. Я не спорю, что весь эмбрион, а позже и взрослая особь, может обладать крупными размерами и формой. Но это крупное тело появляется как результат большого количества маленьких локальных клеточных эффектов во всём развивающемся теле, и эти локальные эффекты в основном представляют собой такие вот «двухветочные» расколы клеток. Именно влияя на эти локальные события, гены в конечном счёте оказывают влияние на взрослое тело.