?

Log in

No account? Create an account
Компилятор жизни Сегодня хочу предложить вам гипотезу, выдвинутую биологом - Самые обсуждаемые темы блогосферы [entries|archive|friends|userinfo]
Самые обсуждаемые темы

[ website | ТОП30 - рейтинг блогосферы ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| ТОП30 - рейтинг блогосферы Разворачиватель комментариев ]

Компилятор жизни Сегодня хочу предложить вам гипотезу, выдвинутую биологом [окт. 13, 2018|10:00 pm]
Самые обсуждаемые темы
[Tags|]

Сегодня хочу предложить вам гипотезу, выдвинутую биологом Уинстоном Эвертом в работе The Dependency Graph of Life. В статье, которую вы можете прочитать по ссылке, много математики, поэтому здесь я изложу краткую суть.


У сторонников разумного дизайна сейчас незавидное положение.

В их распоряжении несколько сильных доводов – например, неуменьшаемая сложность многих организмов. Приспособления вроде языка дятла или пушки жука-бомбардира должны были возникнуть сразу в том виде, в котором они есть сейчас: любая более примитивная версия не только не выполняла бы своих задач, но и была бы попросту вредна для выживания.

Но есть и один важный вопрос, на который они ответить не могут. Если все виды были созданы независимо друг от друга, а не эволюционировали от общего предка, почему же тогда классификация видов так напоминает дерево?

Она не является деревом в полном смысле слова – всегда есть некоторые нарушения, не вписывающиеся в картину. Но она его напоминает достаточно сильно, чтобы это точно не было случайностью. Виды группируются в роды, роды в семейства, семейства в отряды и так далее, и чем дальше животные друг от друга в этой вложенной иерархии, тем меньше между ними сходства.

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

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

Так вот, у Уинстона Эверта такая гипотеза есть.


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

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

В результате получается структура, которая называется графом зависимости. Она показывает все модули, необходимые программе для работы.

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

Чем ближе виды, тем больше у них общего кода. Скажем, кошка и рысь используют модуль «кошка», которому для работы необходим модуль «хищник», а тому, в свою очередь – модуль «млекопитающее», и так далее, вплоть до своеобразного БИОСа, который задает базовые функции живого существа как такового. В собаке же присутствует модуль «собака», который тоже вызывает функции модуля «хищник» и всех остальных, но делает это по-другому.


Хорошая гипотеза позволяет делать нетривиальные предсказания.

В данном случае мы предсказываем, что должны быть достаточно большие участки кода (генные семейства), одинаковые для видов, совершенно не родственных между собой. Например, если требуется разработать код морского млекопитающего, незачем писать его с нуля – можно взять тот, что уже написан для другого морского млекопитающего.

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

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


В качестве завершающего штриха Эверт сделал еще одно предположение.

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

Современные компиляторы еще и оптимизируют код, так что предсказать, какой будет окончательная последовательность байт, становится невозможно.

Что если ДНК – как раз и есть результат работы компилятора, который уже умеет оптимизировать, но плохо с этим справляется? Это объяснило бы многие странности в генетических «программах», например, т.н. «мусорный код». Он не выполняется ни при каких обстоятельствах, но выкинуть его из исполняемого файла компилятор не догадался. Возможно, это функции какого-то из модулей, в которых нет необходимости в этой программе.


Мне кажется, это интереснейшая гипотеза, имеющая право на жизнь и дающая возможность дальнейших исследований.

источник - anairos 
[6 ссылок 52 комментариев 3251 посещений]
читать полный текст со всеми комментариями
СсылкаОтветить

promo ordinary_joe_1 08:15, вчера 650
Buy for 50 tokens
23 февраля 1918 года - не было не то что побед - большевистские части просто бежали перед малочисленными германскими отрядами, практически не оказав им сопротивления, и сдали Псков и Нарву. А Дыбенко, которому поручили оборону Нарвы, драпанул со своими матросами аж в Самару. В ночь на 24-е…