Количество щупалец у нашей 3D-медузы определяется чувствительностью сигнального каскада, который блокирует превращение клеток "ободка" в клетки - зачатки щупалец. Сигнальное вещество, блокирующее это превращение, выделяется клетками - зачатками щупалец (отрицательная обратная связь). Таким образом, из состояния "одно щупальце" в состояние "очень много щупалец" медуза может перейти в результате одной мутации, которая подпортит что-нибудь в сигнальном каскаде, сделав его менее чувствительным к сигнальному веществу. Цифирки - пороговые концентрации сигнального вещества, при которых клетки ободка не могут превратиться в зачатки щупалец.
Я все надеюсь выложить эту программу в сеть, чтобы все могли скачать, поиграть, посоздавать зверей... Может быть, в ближайшие дни удастся это сделать.
Про 2D-версию - доклад
no subject
Date: 2012-07-08 12:15 pm (UTC)а если поставить цель просто утилизовать эволюцию, чтоб какие-нибудь конечности роботов выращивать, то модель можно здорово упростить, оставив только необходимое, чтоб работала быстрей, глядишь и современные компьютеры управятся
no subject
Date: 2012-07-08 01:20 pm (UTC)Только есть одно маленькое но - эволюция в таких системах довольно быстро достигает некоторого предела, после которого ничего интересного уже не возникает. А хотелось бы получить потенциально бесконечную прогрессивную эволюцию. И это суть основная задача теории эволюции и искусственной жизни. И поэтому прогресс в эволюционировании "роботов" напрямую зависит от развития "биологических представлений".
Причём, насколько я понимаю, банальное увеличение "подробности" модели не даёт желаемого результата. То бишь мы делаем сложную модель, а эволюция в ней спотыкается на каком-то совсем простом шаге и дальше ни в какую. Например, сидят наши агенты на своих местах и ничего не делают, и так продолжается вечно. Таким образом, чтобы наша эволюция ушла достаточно далеко, мы должны понять и преодолеть все те препятствия, которые встречаются на её пути.
С другой стороны, есть надежда, что можно создать достаточно простую систему, в которой бы прогресс, будучи единожды запущен, шёл бы всё ускоряющимися темпами (как в нашем с вами мире). Осталось только такую систему найти. Лично моё мнение - что она должна быть основана на двух вещах - достаточно выразительном языке генома (скажем, лисп-подобном) и общении между агентами, позволяющем взаимодействовать и формировать сложные взаимоотношения в коллективе (т. н. гипотеза социального интеллекта, неоднократно упоминавшаяся автором настоящего журнала). Только вот моих личных способностей для создания такой системы недостаточно, а т. н. единомышленников я сколько ни искал, так и не смог найти.
no subject
Date: 2012-07-08 03:28 pm (UTC)да, это распространённая загвоздка, но решаемая. Сложней придумать модель с неограниченной перманентной эволюцией.
>>она должна быть основана на двух вещах - достаточно выразительном языке генома (скажем, лисп-подобном)
действительно, язык генома важен, ибо задаёт поисковое пространство, и оно должно увеличиваться и усложняться по ходу эволюции, чтоб был шанс найти нетривиальное решение, а не просто оптимизировать имеющееся решение, как происходит в генетических алгоритмах с константной длиной генома
>> единомышленников я сколько ни искал, так и не смог найти
можете считать меня таковым, я порой пишу эволюционные модельки, и был бы рад с кем-то пообщаться на эту тему
no subject
Date: 2012-07-08 06:46 pm (UTC)Вот это уже интересно! Можно на ваши модельки посмотреть?
Мой сайт http://alife-ru.org/ - я там понемногу систематизирую информацию по теме (ибо достаточно хороших и полных сайтов на эту тему я не встречал даже на английском языке). Буду признателен, ежели вы примете в этом деле участие. А также собственно в разработке моделей искусственной жизни. Ну и все здесь присутствующие, кто этой темой интересуется.
Надеюсь, за спам сочтено не будет. :)
no subject
Date: 2012-07-08 09:10 pm (UTC)А вот одна из давнишних программок, вроде она должна работать:
http://narod.ru/disk/55726638001.a9dbae16f22a8dca1094f9075fb18735/GeneCars.rar.html
Вообще, я занимаюсь эволюцией систем управления, выраженных в виде графов - что-то среднее между нейросетями и белково-генетическим управлением в клетке. Так что онтогенеза нет (если не считать таковым процесс управления). Зато усложняться управляющая сеть может бесконечно.
В программке, ссылку на которую я привёл, надо жать "next generation" когда большинство машинок остановились. Тогда лучшие породят новое поколение.
На даче у меня будет интернет через пару дней, так что потом ещё побеседуем.
no subject
Date: 2012-07-09 02:31 am (UTC)no subject
Date: 2012-07-09 02:42 am (UTC)Но вот с разнообразием типов взаимодействия - действительно сложно. Правда, есть такая мысль: моделировать сначала некоторый минимум заданных свойств самих организмов (способность двигаться, обнаруживать другие объекты и питательную среду; способность эти объекты отталкивать или разрушать и поглощать), а взаимодействия строить на их основе. А потом понемногу добавлять в модель другие виды свойств, и смотреть, как она будет в результате усложняться.
Правда, есть у меня подозрение, что я велосипед изобрёл :)
3D
Date: 2012-07-09 06:14 am (UTC)no subject
Date: 2012-07-09 06:23 am (UTC)VoLUME 7I, NUM@EH. 24 PH YSICAL REVIEW LETTERS 13 DECEMBER 1993
no subject
Date: 2012-07-09 09:09 am (UTC)no subject
Date: 2012-07-09 09:35 am (UTC)no subject
Date: 2012-07-09 09:37 am (UTC)no subject
Date: 2012-07-09 09:59 am (UTC)no subject
Date: 2012-07-09 10:03 am (UTC)no subject
Date: 2012-07-09 12:23 pm (UTC)no subject
Date: 2012-07-09 12:57 pm (UTC)насколько я могу его оценить.
no subject
Date: 2012-07-09 01:25 pm (UTC)no subject
Date: 2012-07-09 03:23 pm (UTC)Но вот с разнообразием типов взаимодействия - действительно сложно. Правда, есть такая мысль: моделировать сначала некоторый минимум заданных свойств самих организмов (способность двигаться, обнаруживать другие объекты и питательную среду; способность эти объекты отталкивать или разрушать и поглощать), а взаимодействия строить на их основе. А потом понемногу добавлять в модель другие виды свойств, и смотреть, как она будет в результате усложняться.
Правда, есть у меня подозрение, что я велосипед изобрёл :)
no subject
Date: 2012-07-09 07:05 pm (UTC)Помню, помню, курсе на втором или третьем встречал, очень потешно.
no subject
Date: 2012-07-10 06:33 am (UTC)no subject
Date: 2012-07-11 10:46 pm (UTC)а вы программируете что-нибудь? И планируете ли в будущем какие-то эксперименты? И на каких областях биологии базируетесь? И какими языками программирования владеете?
no subject
Date: 2012-07-12 06:51 am (UTC)А можно об этом где-либо почитать и/или скачать программу?
> а вы программируете что-нибудь? И планируете ли в будущем какие-то эксперименты?
Бывает и такое. Вот у меня был мегапроект: http://erg.biophys.msu.ru/lamarckathome/forum/ , правда, до ума я его так и не довёл. А вот то, чем я полгода назад занимался - грубо говоря, я хотел получить модель возникновения многоклеточности, однако безуспешно. Теперь хочу переписать сию программу по-человечески и с немного другими правилами игры. А затем, ежели всё будет хорошо, она послужит основанием для мегапроекта, подобного указанному.
> И на каких областях биологии базируетесь?
Ну, у меня на сайте вроде написано - теория эволюции и эволюционная теория игр. Вот сейчас читаю книжку авторства Brian Skyrms об моделировании общения. Также хотелось бы откопать теорию на тему, какой язык лучше для эволюции, но боюсь, что это несбыточная мечта. Вот разве что встретил у Lee Spector хорошую идею - коли в программе содержится незнакомое имя, то воспринимать его как наиболее близкое к нему из знакомых.
> И какими языками программирования владеете?
Из попсовых - паскаль, С++, питон. Из непопсовых - Forth, также давно хочу изучить лисп и вообще функциональное программирование, прочитал чуть более половины SICP, дошёл собственно до интерпретатора и в силу неведомых причин на этом остановился, давно хочу продолжить.
no subject
Date: 2012-07-12 09:04 pm (UTC)Можно будет скачать, когда я вернусь в Москву. А почитать можно будет если я вернусь к этой модели и напишу статейку. Пока могу вкратце рассказать. В нейросетях используется обычно один тип синапсов, но в мозгу их существует несколько разных, и я решил их все в одной сети потестить. А модель такая: сверху экрана с разными (в пределах одного порядка) скоростями падают объекты двух типов, "еда" и "не еда". Организмы могут двигаться по плоскости и ловить эти объекты. Ещё у них есть органы чувств, что-то вроде сложного глаза насекомых. В начале им даётся рандомная сеть, связывающая датчики и двигатели, и постепенно сеть эволюционирует до 90% избирательности. А вот до ста процентов не получается довести. То ли времени им не хватает до этого (несколько часов тестил), то ли модель несовершенна... Но точно можно сказать, что с разными синапсами результаты лучше, чем с одинаковыми.
Кстати, киньте мыло в личку, а то что мы тут у товарища в журнале как у себя дома разобсуждались.
Ещё вопрос: вы основываетесь на чьих-то вычислительных моделях, вроде теории игр, или биологию изучаете серьёзно? Имеете представление о том, как многоклеточность возникла в природе?
И ещё: вы следите за периодикой, связанной с моделированием эволюции? Может, встречали на archive.org интересные статейки из новых?
Здорово, что вы знакомы с С++. Если найдём общие сферы интереса, можно будет замутить вместе программку. И, кстати, я считаю, что язык не важен. На С++ можно изобразить любую структуру.
no subject
Date: 2012-07-13 08:32 am (UTC)Ну, мы вроде по теме обсуждение ведём. Мыло (и джаббер) мой ник собака gmail com. Ежели ничего секретного нет - то, наверное, лучше писать на форум http://alife-ru.org/forum/ , чисто чтобы архив обсуждения накапливался.
> Ещё вопрос: вы основываетесь на чьих-то вычислительных моделях, вроде теории игр, или биологию изучаете серьёзно?
Почему или? И что вы вкладываете в понятие "серьёзно"?
> Имеете представление о том, как многоклеточность возникла в природе?
Насколько я понимаю, такого представления ещё никто не имеет, а существуют лишь отдельные словесные рассуждения.
> И ещё: вы следите за периодикой, связанной с моделированием эволюции? Может, встречали на archive.org интересные статейки из новых?
Я боюсь, это несбыточная мечта. У меня уже сейчас столько литературы скопилось, что на миллион лет хватит. Я был бы счастлив, ежели бы хотя бы основные учебники осилил по всему, что меня интересует. И всегда остаётся ощущение, что то, что мне надо, уже есть в интернете, но я не знаю, как это найти. В частности, упомянутая книжка Скирмса открыла мне ту область, о которой я давно уже смутно мечтал, что с одной стороны радует, а с другой подтверждает указанные опасения. Надо, надо делать сайт - достаточно хороших сайтов по теме я даже на английском языке не встречал.
> Здорово, что вы знакомы с С++.
Ну вы же понимаете, что это ни о чём не говорит.
> Если найдём общие сферы интереса, можно будет замутить вместе программку.
Вот это было бы хорошо. Правда, у меня пока что получалось так, что у каждого своё представление о том, какую программу надо писать, оттого коллективное творчество накрывается сами знаете чем.
> И, кстати, я считаю, что язык не важен. На С++ можно изобразить любую структуру.
На машине Тьюринга тоже можно изобразить любую структуру. А также есть теорема, согласно которой на множестве всех задач любой алгоритм имеет одну и ту же эффективность. Однако чувственный опыт как бы говорит нам, что не все языки одинаково полезны, в частности, не одинаково подходят в качестве языков задания генотипа агента. Собственно, вы чуть выше с этим согласились.
no subject
Date: 2012-07-14 09:38 pm (UTC)Могли бы вы привести пример данных, для описания которых что-то подходит лучше, чем С++? Спрашиваю потому, что в это не верю. Я согласился с тем, что от описания генотипа модели зависит её способность эволюционировать, но в данный момент я считаю, что нет разницы, на каком языке её реализовывать, а С++ представляется наиболее универсальным, гибким и ясным.
Ок, обсудим на форуме, когда появится конкретика для обсуждения. Например, там я выложу последнюю программу.