macroevolution: (Default)
macroevolution ([personal profile] macroevolution) wrote2012-07-07 06:02 pm

3D


Количество щупалец у нашей 3D-медузы определяется чувствительностью сигнального каскада, который блокирует превращение клеток "ободка" в клетки - зачатки щупалец. Сигнальное вещество, блокирующее это превращение, выделяется клетками - зачатками щупалец (отрицательная обратная связь). Таким образом, из состояния "одно щупальце" в состояние "очень много щупалец" медуза может перейти в результате одной мутации, которая подпортит что-нибудь в сигнальном каскаде, сделав его менее чувствительным к сигнальному веществу. Цифирки - пороговые концентрации сигнального вещества, при которых клетки ободка не могут превратиться в зачатки щупалец.

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

Про 2D-версию - доклад

[identity profile] stealth-nsk.livejournal.com 2012-07-07 03:31 pm (UTC)(link)
Сделали. Программа не симулирует жизнь, это просто одна из областей в биологии многоклеточных организмов :)

[identity profile] iisus.livejournal.com 2012-07-07 03:37 pm (UTC)(link)
а существуют программы, которые моделировали бы филогинез и онтогенез одновременно? хотелось бы взглянуть на порождённых компьютером тварей

[identity profile] stealth-nsk.livejournal.com 2012-07-07 03:39 pm (UTC)(link)
Для моделирования филогенеза требуется моделирование экологии. Боюсь, что что-нибудь похожее на реальность современным компьютерам сильно не по зубам.

[identity profile] error-lapsus.livejournal.com 2012-07-07 03:47 pm (UTC)(link)
А хотя бы условную систему - по несколько видов "растений", "травоядных" и "хищников"?

[identity profile] stealth-nsk.livejournal.com 2012-07-07 04:03 pm (UTC)(link)
Ну там же как минимум нужно учитывать, как те или иные мутации влияют на выживаемость особи. Представляете какой нужен уровень модели, чтобы учесть, например, обнаружение по запаху? И сколько особей нужно обсчитать, чтобы дойти до реального видообразования?

[identity profile] error-lapsus.livejournal.com 2012-07-07 04:18 pm (UTC)(link)
К сожалению, не представляю... В биологии я разбираюсь на уровне учебных и научно-популярных работ... ну, и ещё Дарвина читал, если из классиков. А в программировании и вовсе никак.
Но можно, наверное, не все виды чувств и т.д. моделировать в упрощённой схеме? Например, один изменяющийся параметр (для "животных") - "ориентация в пространстве". Ну, или добавить ещё "обнаружение объектов". И так далее.
Правда, наверное, всё равно сложно.

[identity profile] shvarz.livejournal.com 2012-07-07 04:43 pm (UTC)(link)
Посмотрите darwinbots.com

[identity profile] error-lapsus.livejournal.com 2012-07-09 02:31 am (UTC)(link)
Спасибо

[identity profile] stealth-nsk.livejournal.com 2012-07-08 03:24 am (UTC)(link)
Ну так нам же надо еще с онтогенезом совместить. Ну то есть, если брать существующую программу, можно, допустим сделать такие допущения:
- Все живут в воде. Течений нет, климата нет.
- Есть запахи. По умолчанию гормоны "фонят" в воду.
- Должно быть какое-то понятие энергии, которую тратят клетки на деление и жизнедеятельность, должна быть возможность выработки энергии. Это чтобы питание и фотосинтез имели смысл.
- Неплохо дополняет модель свет. Идет сверху, чем его больше, тем лучше работает фотосинтез.
- В модели должно быть учтено движение. Т.е. должна быть какая-то физическая модель водоплавания.
- В модели нужно предусмотреть физическое взаимодействие между телами - возможность создавать твердые зубы и панцири, разрушать зубами чужие клетки, учитывать влияние этих образований на массу и гибкость, получение необходимых минералов и т.д.

И вот со всей ерундой нам нужно отследить несколько миллионов организмов (несколько миллиардов клеток) в трехмерном пространстве (мертвые организмы тоже нужно считать, они еда).

[identity profile] error-lapsus.livejournal.com 2012-07-09 02:42 am (UTC)(link)
А может как-то можно меньше, чем несколько миллионов?
Но вот с разнообразием типов взаимодействия - действительно сложно. Правда, есть такая мысль: моделировать сначала некоторый минимум заданных свойств самих организмов (способность двигаться, обнаруживать другие объекты и питательную среду; способность эти объекты отталкивать или разрушать и поглощать), а взаимодействия строить на их основе. А потом понемногу добавлять в модель другие виды свойств, и смотреть, как она будет в результате усложняться.
Правда, есть у меня подозрение, что я велосипед изобрёл :)

[identity profile] stealth-nsk.livejournal.com 2012-07-09 09:37 am (UTC)(link)
Задание свойств на уровне организмов сделать можно. Простые модели такого типа есть, конечно. Но это как раз не будет совмещением филогенеза и онтогенеза, про которое говорилось изначально.

[identity profile] error-lapsus.livejournal.com 2012-07-09 03:23 pm (UTC)(link)
А может как-то можно меньше, чем несколько миллионов?
Но вот с разнообразием типов взаимодействия - действительно сложно. Правда, есть такая мысль: моделировать сначала некоторый минимум заданных свойств самих организмов (способность двигаться, обнаруживать другие объекты и питательную среду; способность эти объекты отталкивать или разрушать и поглощать), а взаимодействия строить на их основе. А потом понемногу добавлять в модель другие виды свойств, и смотреть, как она будет в результате усложняться.
Правда, есть у меня подозрение, что я велосипед изобрёл :)

[identity profile] wormball.livejournal.com 2012-07-07 08:04 pm (UTC)(link)
Authorization Required

[identity profile] stealth-nsk.livejournal.com 2012-07-08 03:14 am (UTC)(link)
У меня нет доступа. Это про что?

[identity profile] adelaidastar.livejournal.com 2012-07-08 05:08 am (UTC)(link)
Странно (физрев 1993 года).
Не суть, другой простой пример,
с которым справится любой комп:

http://life.written.ru/

[identity profile] wormball.livejournal.com 2012-07-08 10:08 am (UTC)(link)
> Странно (физрев 1993 года).

Статья как называется? Я более чем уверен, что её можно найти и в другом месте.

> http://life.written.ru/

На мой взгляд, игру "жизнь" неудачно назвали - она имеет мало общего и с играми, и с жизнью.

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-10 06:33 (UTC) - Expand

[identity profile] stealth-nsk.livejournal.com 2012-07-09 09:35 am (UTC)(link)
А, ну это понятно. Но это не имеет никакого отношения к моделированию реальной жизни, тем более к совмещению филогенеза и онтогенеза.

(no subject)

[identity profile] stealth-nsk.livejournal.com - 2012-07-09 12:23 (UTC) - Expand

(no subject)

[identity profile] stealth-nsk.livejournal.com - 2012-07-09 13:25 (UTC) - Expand

[identity profile] macroevolution.livejournal.com 2012-07-08 08:35 am (UTC)(link)
Такого рода модели делал Ричард Докинз. Они описаны в "Слепом часовщике" и других его книгах. В тоом числе краткое описание и картинки "порожденных компьютером тварей" есть тут: http://elementy.ru/lib/431627

[identity profile] iisus.livejournal.com 2012-07-08 09:12 am (UTC)(link)
На, это любопытно, но у него не эволюция поделируется, а селекция

"Игрок [...] может выбрать форму, которую он хочет размножать дальше"

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

например, вот плоды довольно простой эволюционной программы, в которой есть конкуренция за "свет", а каждая новая веточка имеет стоимость:

Image


Image


Image

заметно, что "деревья" стремятся быть выше и шире в кроне в той мере, в которой дозволяет их фрактальное устройство

а вот если б нечто подобное, но в более сложной модели, да в трёх измерениях...

[identity profile] macroevolution.livejournal.com 2012-07-08 09:44 am (UTC)(link)
Ну это очень круто. "Нечто подобное, но в более сложной модели, да в трех измерениях", да еще, самое главное, с реалистичным воспроизведением онтогенеза (эволюционируют не взрослые фенотипы, а генетические программы онтогенеза), то это было бы вообще супер.
Нам пока такое сделать слабО. Наши звери "растут" на экране из зиготы довольно долго. Сделать целую популяцию, чтобы размножались и отбирались, и чтобы генотипы мутировали и т.д. - понятно, что технически это выполнимо, но никаких компьютерных мощностей не хватит, равно как и времени дожидаться результата...

[identity profile] iisus.livejournal.com 2012-07-08 12:15 pm (UTC)(link)
видимо, у вас цель другая - проверить биологические представления на подробной модели

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

[identity profile] wormball.livejournal.com 2012-07-08 01:20 pm (UTC)(link)
Ну вроде так уже делают, называется генетические алгоритмы. Вот вроде какую-то антенну для космического корабля так изобрели.

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

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

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

[identity profile] iisus.livejournal.com 2012-07-08 03:28 pm (UTC)(link)
>>мы делаем сложную модель, а эволюция в ней спотыкается на каком-то совсем простом шаге и дальше ни в какую

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

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

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

>> единомышленников я сколько ни искал, так и не смог найти

можете считать меня таковым, я порой пишу эволюционные модельки, и был бы рад с кем-то пообщаться на эту тему

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-08 18:46 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-08 21:10 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-09 19:05 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-11 22:46 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-12 06:51 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-12 21:04 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-13 08:32 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-14 21:38 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-14 22:38 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-15 11:45 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-16 21:38 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-18 12:28 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-07-19 10:08 (UTC) - Expand

(no subject)

[identity profile] iisus.livejournal.com - 2012-07-19 22:33 (UTC) - Expand

(no subject)

[identity profile] wormball.livejournal.com - 2012-08-03 22:23 (UTC) - Expand

(no subject)

[identity profile] antiphoton.livejournal.com - 2012-07-09 10:03 (UTC) - Expand

[identity profile] wormball.livejournal.com 2012-07-08 09:58 am (UTC)(link)
Ну, у Докинза роль отбирающего агента играет человек, так что это не совсем то. В принципе ту же систему можно и к вашей модели применить - заставить компьютер генерировать своды правил, выводить результаты и предоставлять на суд человеку.

Ежели говорить о системах, совмещающих онтогенезморфологию и филогенез, то вспоминаются darwinpond, darwin@home, framsticks, а также эксперименты Karl Sims. Вот только, насколько я понимаю, морфология объектов отбора там задаётся жёстко, а не через генерирующие правила. А вот чтобы в одной модели был и онтогенез, и филогенез - такого я не встречал.

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