Сліпий годинникар: як еволюція доводить відсутність задуму у Всесвіті - Річард Докінз
Ми можемо змінити нашу комп’ютерну модель, аби врахувати цей момент. Ми можемо також зробити її реалістичнішою в інших аспектах. Літери й слова є суто людськими проявами, тож хай краще комп’ютер малює картинки. Можливо, ми навіть побачимо схожі на тварин обриси, що виникають на екрані внаслідок накопичувального відбору мутантних форм. Ми не будемо задавати чіткий курс, уводячи для початку якісь конкретні зображення тварин. Нам потрібно, щоб вони виникли самі унаслідок накопичувального відбору випадкових мутацій.
У реальному житті форма кожної окремої тварини є продуктом ембріонального розвитку. Еволюція відбувається тому, що в кожному наступному поколінні виникають порівняно з попереднім невеличкі відмінності ембріонального розвитку. Ці відмінності виникають через зміни генів, що контролюють розвиток (мутації — той самий невеличкий елемент випадковості у процесі, про який я говорив). Отже, у нашій комп’ютерній моделі мають бути якісь еквіваленти ембріонального розвитку та генів, що здатні мутувати. Існує багато способів створити комп’ютерну модель, що відповідає цим умовам. Я обрав один і написав програму, що його втілює. Зараз я опишу цю комп’ютерну модель, бо вважаю її показовою. Якщо ви не знаєтеся на комп’ютерах, просто запам’ятайте, що вони є машинами, які роблять точнісінько те, що ви їм кажете, але часто врешті-решт дивують вас. Перелік інструкцій для комп’ютера називається програмою.
Ембріональний розвиток є занадто складним процесом, аби реалістично змоделювати його на малопотужному комп’ютері. Доведеться представити його у вигляді якогось спрощеного аналога. Треба знайти просте правило малювання картинок, якого комп’ютер може легко дотримуватись і яке потім можна було би змусити змінюватися під впливом «генів». Яке ж правило малювання нам обрати? Підручники інформатики часто ілюструють силу того, що вони називають «рекурсивним» програмуванням, на прикладі простої процедури росту дерева. Для початку комп’ютер малює одну-єдину вертикальну лінію. Потім ця лінія розгалужується на дві. Далі кожна з нових гілок також поділяється на дві гілочки. Наступним кроком кожна з цих гілочок поділяється на гілочки меншого порядку, і т. д. «Рекурсивним» це називається тому, що однакове правило (в наведеному випадку правило розгалуження) застосовується в межах усього дерева, що росте. І хоч яким би великим виросло дерево, те саме правило розгалуження продовжує застосовуватися на кінчиках усіх його гілочок.
Під «глибиною» рекурсії розуміють кількість гілочок дедалі меншого порядку, яким дозволяється вирости, поки процес не буде завершено. Рисунок 2 показує, що відбувається, коли ви наказуєте комп’ютеру дотримуватись однакового правила малювання, але продовжувати до різних глибин рекурсії. За високих рівнів рекурсії схема стає доволі складною, але на рисунку 2 можна легко побачити, що вона все одно є продуктом того самого дуже простого правила розгалуження. Саме так усе відбувається з реальним деревом. Схема розгалуження дуба чи яблуні видається складною, але насправді такою не є. Базове правило розгалуження дуже просте. Тільки тому, що воно застосовується рекурсивно на кінчиках гілочок на всьому дереві (гілки утворюють гілочки наступного порядку), воно й стає великим і розлогим.
Рекурсивне розгалуження є також влучною метафорою ембріонального розвитку рослин і тварин загалом. Я не маю на увазі, що ембріони тварин схожі на дерева, які розгалужуються. Вони не схожі. Але всі ембріони ростуть шляхом поділу клітин. Клітини завжди розділяються на дві дочірні. І гени завжди виявляють свої остаточні впливи на організм за допомогою локальних впливів на клітини та двосторонні схеми розгалуження їхнього поділу. Гени тварин геть не є якимось великим задумом, кресленням для всього організму. Як ми побачимо нижче, вони більше подібні до рецепта, ніж до креслення, причому такого рецепта, якого дотримується не ембріон, що розвивається, загалом, а кожна клітина чи кожен локальний кластер клітин, що діляться. Я не заперечую того, що ембріон, як і дорослий організм згодом, має великомасштабну форму. Але ця великомасштабна форма виникає внаслідок багатьох дрібних локальних клітинних впливів у всьому організмі, що розвивається, і ці локальні впливи складаються насамперед із двосторонніх розгалужень у вигляді поділів клітин. Саме впливаючи на ці локальні події, гени врешті-решт впливають на дорослий організм.
Отже, просте правило розгалуження для малювання дерев схоже на багатообіцяльний аналог ембріонального розвитку. Відповідно, ми оформимо його в невеличку комп’ютерну процедуру, назвемо її РОЗВИТОК і приготуємося ввести її в більшу програму під назвою ЕВОЛЮЦІЯ. І як перший крок до написання цієї більшої програми ми тепер звернемо увагу на гени. Як нам представити «гени» в нашій комп’ютерній моделі? У реальному житті гени роблять дві речі. Вони впливають на розвиток, і вони передаються майбутнім поколінням. Справжні тварини й рослини мають десятки тисяч генів, але ми скромно обмежимо нашу комп’ютерну модель дев’ятьма. Кожен із цих дев’яти генів буде представлений у комп’ютері певною цифрою, яка називатиметься його цінністю. Цінність конкретного гена може становити, скажімо, 4 чи –7.
Рис. 2
Як же ці гени впливатимуть на розвиток? Загалом вони можуть робити багато чого. Основна ж ідея полягає в тому, щоб вони справляли на правило малювання якийсь незначний кількісний вплив, який і є РОЗВИТКОМ. Наприклад, один ген міг би впливати на кут розгалуження, інший — на довжину якоїсь конкретної гілочки. Іншою очевидною річчю, яку міг би робити ген, є вплив на глибину рекурсії, кількість послідовних розгалужень. Відповідальним за такий вплив я зробив ген 9. Отже, рисунок 2 можна вважати ілюстрацією семи споріднених організмів, ідентичних один одному в усьому, крім гена 9. Я не пояснюватиму детально, що робить кожен з інших восьми генів. Загальне уявлення про напрями їхньої діяльності можна отримати, вивчаючи рисунок 3. У центрі зображення розташоване базове дерево, одне з тих, що зображені на рисунку 2. Навколо цього центрального дерева розташовані вісім інших. Усі вони є такими самими, як і центральне, за винятком того, що один ген (свій у кожного з восьми) був змінений — «мутував». Наприклад, зображення праворуч від центрального дерева показує, що відбувається, коли ген 5 мутує шляхом додавання до його цінності +1. Якби на сторінці було більше місця, я надрукував би навколо центрального дерева кільце з 18 мутантів. Чому саме з 18? Причина полягає в тому, що там є дев’ять генів і кожен може мутувати в напрямку підвищення (до його цінності додається 1) або зниження (від його цінності віднімається 1). Тож кільця з 18 дерев було б достатньо для відображення всіх можливих однокрокових мутантів, яких можна вивести