macroevolution: (Default)
[personal profile] macroevolution
Выложил установку EvoDevo3D.
Сын пишет, это должно встать на современные компьютеры, в крайнем случае комп что-то должен будет скачать из сети.
Для примера в том же архиве - пример генотипа (файл с расширением .gp). Исследуйте его, чтобы понять, как эта штука работает.

Там два окна - в одном пишем или загружаем "генотип", и нажимаем кнопку compile. После этого в другом окне нажимаем "пуск" и смотрим, как из зиготы что-то развивается. Если ткнуть мышью в клетку, на экран выводятся параметры данной клетки. Еще там есть кнопки, позволяющие сделать невидимыми клетки того или иного типа. Зверей можно крутить, приближать и удалять при помощи клавиш QWERASDF. При приближении в какой-то момент плоскость экрана "разрежет" зверя, что позволяет понять, что там у него внутри.

Генотип пишется на языке, как я понимаю, основанном на С++. Основные действия и свойства клеток вводятся при помощи специальных кнопок в левой части окна "генотип". К сожалению, подробных инструкций по эксплуатации нет и не предвидится. Sorry. Я сам там далеко не все знаю, а сын труднодоступен. Нужно знакомиться с каждым свойством и действием на опыте.
Если кто-то сумеет эту штуку освоить и получить интересные онтогенезы, мы будем рады, если вы в комментариях к этой записи дадите картинки и генотипы.

Date: 2012-07-08 11:14 am (UTC)
arech: (Default)
From: [personal profile] arech
Ух, круто! Как жаль, что времени мало, очень интересно бы поковыряться...

А чего не выложите исходники на нормальную площадку, вроде https://github.com/ , http://sourceforge.net/ , http://code.google.com/ ?
При хорошем понятном описании там можно много пользователей привлечь.

Date: 2012-07-08 11:25 am (UTC)
From: [identity profile] macroevolution.livejournal.com
А у нас тоже времени нет, особенно на написание хорошего понятного описания. Но будем стараться.

Date: 2012-07-08 11:17 am (UTC)
From: [identity profile] zelych.livejournal.com
А можно поинтересоваться исходниками от этой программки?
Или они недоступны по идеологическим причинам?

Date: 2012-07-08 11:23 am (UTC)
From: [identity profile] macroevolution.livejournal.com
Я постараюсь их раздобыть и выложить сюда.

Date: 2012-07-08 11:50 am (UTC)
From: [identity profile] zelych.livejournal.com
Ура, спасибо. Надеюсь, это благотворно повлияет на развитие проекта.
Вижу я не один такой, выше предлагают выложить исходники на github -- очень годная идея.

Date: 2012-07-08 11:32 am (UTC)
From: [identity profile] wormball.livejournal.com
Написала, что требует нет 3.5, так что под линуксом даже не пытался запустить. Под виндой выдала следующее:

Невозможно установить или запустить приложение. Для этого приложения необходимо сначала установить сборку Microsoft.DirectX.Direct3D Версия 1.0.2902.0 в глобальный кэш сборок (GAC).

Обратитесь к своему системному администратору.

Всё же завязываться на проприетарные технологии - это путь в никуда.

Date: 2012-07-08 04:13 pm (UTC)
From: [identity profile] cyxapb32.livejournal.com
.NET framework можно скачать тут (http://msdn.microsoft.com/en-us/netframework/aa569263.aspx), directx тут (http://www.microsoft.com/en-us/download/details.aspx?id=35). Эти вещи обычно автоматически ставятся через Windows update.

Date: 2012-07-08 06:48 pm (UTC)
From: [identity profile] wormball.livejournal.com
Надо же, действительно заработало, спасибо. А мне яндекс отчего-то другой directx выдал, а с ним она не заработала. И удивительно, что в win7 он изначально отсутствовал. Винда лицензионная, что характерно.
(deleted comment)

Date: 2012-07-09 06:59 pm (UTC)
From: [identity profile] wormball.livejournal.com
Ежели что-то проприетарное заработало, оно не перестало от этого быть злом!

Date: 2012-09-12 04:42 pm (UTC)
From: [identity profile] allista.livejournal.com
+1
А у меня вот нет винды (не нужна она мне ни по жизни, ни по работе), и не смогу я поучаствовать из-за этого дотнета в празднике научной мысли =/ Если хочется кросс-платформенности, неужели нельзя на яве писать? О_о

Date: 2012-07-08 11:56 am (UTC)
From: [identity profile] metarattus.livejournal.com
Александр, Вы скорее всего уже знакомы с публикациями Дж.Вентреллы, но если вдруг нет - может быть что-то будет полезным для моделирования движений и поведения, если до них дело дойдет. В одной из старых статей даже раньше куски кода видел.
Несколько лет тому назад списался с самим автором и он сказал, что реализация его симуляции в 3D если и будет, то неопределенно когда, а введение хищников на порядки усложняет проблему стабилизации экосистемы. Но может кто-то еще сможет продвинуться дальше?
Edited Date: 2012-07-08 11:57 am (UTC)

Date: 2012-07-08 12:33 pm (UTC)
From: [identity profile] tupitochka.livejournal.com
Win7/ работает. Очень интересно.

Date: 2012-07-08 02:32 pm (UTC)
From: [identity profile] katy05katy05.livejournal.com
Win7, спасибо!

Date: 2012-07-08 03:04 pm (UTC)
From: [identity profile] vgiv.livejournal.com
На WinXP SP2 установилось и работает.
Edited Date: 2012-07-08 03:05 pm (UTC)

Date: 2012-07-08 03:37 pm (UTC)
From: [identity profile] cyxapb32.livejournal.com
Для справки. Эта программулина встанет только на компьютеры с ОС Windows. Так что современность - не единственное требование.
Мб если будут доступны исходники и они будут иметь пристойный вид, то кто-нибудь сподобится сделать мультиплатформенную версию.

Date: 2012-07-08 05:39 pm (UTC)
From: [identity profile] aleksandr berezovski (from livejournal.com)
А 2D версию программы добавите до кучи?

Date: 2012-07-08 05:56 pm (UTC)
From: [identity profile] meequz.livejournal.com
Жаль, что только для Виндоус.
Хотя всё равно в Windows XP SP3 вылетает.

Date: 2012-07-08 06:55 pm (UTC)
From: [identity profile] cyxapb32.livejournal.com
Ошибку какую-нибудь выдает?

Date: 2012-07-08 07:10 pm (UTC)
From: [identity profile] meequz.livejournal.com
Нет. Впрочем, уже устранил ошибку, теперь не вылетает.

Date: 2012-07-08 07:12 pm (UTC)
From: [identity profile] meequz.livejournal.com
Упс, поспешил:) Вылетает, но чуть позже.

Date: 2012-07-08 08:28 pm (UTC)
From: [identity profile] ariksu.livejournal.com
Win8RP - полёт нормальный, вылетела при попытке закрыть окно.

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

Date: 2012-07-08 11:42 pm (UTC)
From: [identity profile] nsg21.livejournal.com
Хотя бы минимальное описание свойств и действий надо. Или исходник, если совсем уж лениво. Без этого получается только такое:

cancer.gp:

switch (cellType)
{
case 0:
SpawnWherever();
Move(false,false,12.0);
break;
}

Date: 2012-07-09 07:00 pm (UTC)
From: [identity profile] wormball.livejournal.com
Ну так там есть файл gastrula_medusa_06_07_12.gp, каковой суть пример.
From: [identity profile] livejournal.livejournal.com
Пользователь [livejournal.com profile] eredraug сослался на вашу запись в «Можно попробовать поиграть (http://apokrif93.livejournal.com/9283697.html)» в контексте: [...] мы будем рады, если вы в комментариях к этой записи дадите картинки и генотипы. Источник сообщения [...]

Date: 2012-07-10 10:10 am (UTC)
From: [identity profile] brat-chik.livejournal.com
Если бы хотя бы краткое пособие по принципам программирования этого медузия... было бы здорово!

Date: 2012-07-10 04:58 pm (UTC)
From: [identity profile] dritte-mal.livejournal.com
оффтоп
если в геноме человека 20000 нуклеотидов (вы писали в соседнем посте), отбор влияет на 5% - это значит, что "под отбором" находится 1000 "битов" всего? то есть все люди различаются где-то внутри этой 1000?
Edited Date: 2012-07-10 04:59 pm (UTC)

Date: 2012-07-10 07:26 pm (UTC)
From: [identity profile] macroevolution.livejournal.com
Нет, 20 с чем-то тысяч генов. А нуклеотидов - 3 миллиарда. Кодирующие части генов занимают примерно 1% этих трех миллиардов. Этот процент плюс еще четыре всяких регуляторных последовательностей - это те 5% генома, которые под отбором. 150 млн нуклеотидов.

Date: 2012-07-13 10:41 am (UTC)
From: [identity profile] goodok-roma.livejournal.com
С интересом ознакомился с игрушкой и с докладом.

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

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

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

На подробное описание модели онтогенеза и программную “поделку” её реализующей, в которой можно пощупать и даже порезать скальпелем виртуальные многоклеточные организмы, а также по включать и выключать “гены” - можно взглянуть здесь (“Живые графы”) http://habrahabr.ru/post/107387/ (http://habrahabr.ru/post/107387/). (Сразу предупреждаю - Microsoft)

Описание дано “программером” для “программеров” и по возможности старался отвлечься от биологических терминов, склоняясь к прикладной математике.

Рад, что ваша и моя модели в чём-то различаются (можно отработать несколько версий), а в чём-то схожи ( можно увидеть, что некоторые общие закономерности не зависят от деталей)

Попробовал не только "выращивать" отдельные генномодифицированные организмы, но и напустить на исходную одноклеточную биомассу “естественный” (для биомассы естественный) отбор. Например, через несколько тысяч итераций и дней из “одноклеточного” организма пройдя несколько стадии простых и мелких структур, само собой родилось нечто-такое:
Image

(Надо сказать, что самому придумать генетический код, который бы родил шестиугольную ячеистую структуру у меня так не получилось, сколько я не бился - получались только безобразные “мутанты”. А эволюция с этим справилась)

Удалось также подметить кое-какие закономерности в этом виртуальном мире, которые можно наблюдать и в нашей реальности. Например, в ходе индивидуального развития виртуальных организмов на ранних стадиях прослеживаются эволюционная история вида.
Edited Date: 2012-07-13 04:07 pm (UTC)

Date: 2012-07-16 06:06 pm (UTC)
From: [identity profile] amebas.livejournal.com
Интересная программа! Хорошо, что данное направление у нас развивается.

Жаль только, что генотип создается только вручную, а не может эволюционировать. Наверное, все сразу осилить сложно(
Мы тоже занимаемся научно-популярным проектом, посвященным эволюции: "Амёбы: эволюция искусственной жизни на вашем компьютере" (http://www.amebas.ru). Тут решено было пойти немного другим путем. Пока "смоделировано" поведение лишь отдельной "клетки", тут она может менять форму, правда онтогенеза как такового пока нет. Зато ресурсоемкость физики умеренная, а генотип может генерироваться автоматически. Это позволяет моделировать полноценную эволюцию. Пока приспособленность амёб определяется только в соревнованиях с собратьями, но в перспективе планируются и другие режимы. Также надеюсь со временем добавить клеткам возможность делиться и образовывать многоклеточные организмы.

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

Date: 2012-07-16 09:58 pm (UTC)
From: [identity profile] wormball.livejournal.com
А я-то думал, что амёбы давно приказали долго жить.

Пользуясь случаем, хочу задать ставший уже традиционным вопрос - отчего не open source? Коли ваш проект закрыт - это всего лишь очередная игрушка, а не средство изучения эволюции. Я так понимаю, вы это дело хотите коммерциализировать, но у вас это, видимо, не очень получается. Может быть, всё же перейдёте на светлую сторону? Ну или хотя бы огласите, каков принцип построения генотипа и управления амёбой.

Date: 2012-07-17 05:59 am (UTC)
From: [identity profile] amebas.livejournal.com
> отчего не open source?
Ну у нас проводятся соревнования между результатами эволюции. Желательно, чтобы они были выращены честно, а не при помощи "хаков". Возможно, со временем сделаем отдельную номинацию для амёб, код к которым можно будет писать вручную

У вас, кажется, был проект на форте. Его открытость сильно помогла?

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

> Может быть, всё же перейдёте на светлую сторону?
Я все-таки склонен надеяться, что все кто занимается a-life проектами и так на одной стороне...

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

Date: 2012-07-17 09:20 am (UTC)
From: [identity profile] wormball.livejournal.com
> Желательно, чтобы они были выращены честно, а не при помощи "хаков". Возможно, со временем сделаем отдельную номинацию для амёб, код к которым можно будет писать вручную

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

> У вас, кажется, был проект на форте. Его открытость сильно помогла?

Ну, то, что он "не взлетел", я связываю с причинами иного характера, в основном недостатком моих личных способностей. Закрытый проект в данном случае делать не было смысла, ибо основной целью было (и до сих пор является) решение нерешённых научных проблем, в первую очередь прогрессивной эволюции.

> Я все-таки склонен надеяться, что все кто занимается a-life проектами и так на одной стороне...

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

> Теоретически, это делает язык тьюринг-полным.

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

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

Вот об этом интересно было бы узнать поподробнее. Ежели не секрет, конечно.

Date: 2012-07-17 08:13 pm (UTC)
From: [identity profile] amebas.livejournal.com
> закрытые проекты мало способствуют развитию человеческого знания на эту тему
Ну я же говорю основное назначение - показать эволюцию в наглядной форме. Чтобы те, кто сомневается, могли убедиться на практике, а кто нет - просто полюбоваться.

>во-первых, нельзя понять, действительно ли там что-то нетривиальное происходит или это просто красивая >картинка,

Как вы себе представляете получение адекватной красивой картинки без содержательной начинки? Вы же понимаете, что невозможно ни заранее "заснять" все возможные пути развития, ни написать искусственный алгоритм для каждой возможной ситуации.

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

> А у вас возможны бесконечные циклы? Ежели нет, то это не тьюринг-полный язык.
В данном случае они заменяются (условно) бесконечной рекурсией. Условно - потому что на самом деле её глубина ограничена, т.е. формально язык не является Тьюринг полным, но это в той же самой степени, что и любой другой язык на конечном оборудовании.

> Вот об этом интересно было бы узнать поподробнее. Ежели не секрет, конечно.
Возможно, как-нибудь соберусь написать на эту тему. Смысл в том, что отдельные гены образуют вычислительную сеть, результат вычисления которой не зависит от порядка вычисления отдельных генов.

Date: 2012-07-18 11:29 am (UTC)
From: [identity profile] wormball.livejournal.com
> Чтобы те, кто сомневается, могли убедиться на практике, а кто нет - просто полюбоваться.

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

> Вообще-то даже при наличии автора не так то просто включить еще одного человека в работу

Согласитесь, что с открытыми исходниками вероятность подключения ещё одного человека повышается. А также вероятность использования программы кем-либо в своих разработках.

> В данном случае они заменяются (условно) бесконечной рекурсией. Условно - потому что на самом деле её глубина ограничена, т.е. формально язык не является Тьюринг полным, но это в той же самой степени, что и любой другой язык на конечном оборудовании.

Ну, в общем-то это единственно разумное решение.

> Возможно, как-нибудь соберусь написать на эту тему.

Было бы интересно почитать. Я смотрю, вы на моём сайте зарегистрировались, был бы признателен, ежели бы вы там о своём проекте написали.

January 2019

S M T W T F S
  12345
6789101112
1314 1516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 30th, 2025 12:26 pm
Powered by Dreamwidth Studios