— Получается, что это такой код, в котором одновременно и баги, и алгоритмы, как эти баги обходить?..
— Да. Есть простые случаи, когда баг исправляется просто возвращением в исходное состояние. Но похоже, что в эволюции часто случается, как в бюрократических системах. Вот появляется чиновник, который косячит, — что вы делаете? Вы нанимаете чиновника, который следит, чтобы этот чиновник не косячил, и за ним исправляет. Когда их оказалось уже двое, то всё, ни одного из них нельзя трогать, ситуация замораживается. При этом она не смертельна для организации, потому что наружу косяков выходит не очень много. Просто вместо того, чтобы их с самого начала не делать, вы сначала делаете, а потом исправляете.
Похоже, что таких историй больше, чем привычно думать. Наша работа интересна тем, что там всё это не осталось на уровне общетеоретических разговоров, а удалось арифметически рассчитать и показать.
— Получается, ваши последние работы про… несовершенство мира и принципы, на которых оно держится, это несовершенство. Выходит, несовершенства существовали с самого возникновения жизни?
— Понимаете, если мы предполагаем, что какие-либо первые репликаторы были совершенными, нам придется предположить, что кто-то их такими сделал.
— Тогда бы они были неизменными, чего меняться-то?
— Они, во-первых, были бы неизменными, потому что если ты совершенен, то зачем тебе меняться? А во-вторых, это бы означало, что кто-то сидел и отверточкой их подкручивал. Нет, любая эволюция предполагает несовершенства, это естественно. Это, собственно, механизм отбора.
А еще условия постоянно меняются. Даже если ты, запыхавшись, взбежал на вершину в адаптивном ландшафте, то, пока ты бежал, адаптивный ландшафт под тобой изменился, и теперь эта вершина немножечко в другом месте — беги дальше.
Фишка даже не в этом. Фишка в том, что есть какие-то абсолютные тупики, от которых отбор быстро избавляется, — они реально мешают жить. А есть штуки не очень вредные. Настолько не очень вредные, что могли возникнуть и зафиксироваться случайно. Да, это всё равно трата ресурса, но уже избавиться от них настолько дорого, что уже приходится просто с этим жить.
Представьте, что я плохой программист и пишу код с багами, которые тут же подправляю как придется. В результате я написал код программы совершенно ужасный: некрасивый, бессмысленный, выполняется он гораздо дольше, чем мог бы. Но когда такая программа написана, то, чтобы переписать ее как следует, надо нанимать отдельного человека. В человеческой деятельности есть люди, которые это профессионально делают. А в эволюции такого верховного программиста нет. Эволюция умеет делать только на коленке, она не может думать вперед, чтобы было хорошо.
— Но при этом какие-то тренды в эволюции всё равно прослеживаются?
— Про это Миша хорошо написал. Из нашей статьи вытекает мысль, что, видимо, очень заметное количество того, что мы принимаем за исключения, — это не оптимально, но и не смертельно плохо. И тренд на то, что с течением времени будет больше исключений из правил, — вот это, по-моему, очень глубокое философское соображение.
Про тренды эволюции есть две замечательные книги: «Логика случая» Кунина и «Рождение сложности» Маркова. В них обсуждаются достаточно глубокие вещи. В частности, что усложнение организмов — это не прогресс на самом деле, а результат этой нейтральной эволюции, которая фиксирует неоптимальные варианты.
Считается, что человеку свойственно во всём искать смыслы, иначе вроде как и жить незачем, если сказать, что жизнь бессмысленна. Занятия эволюционной биологией поучительны тем, что перестаешь искать смысл во всём.