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

3D


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

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

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

[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)
>>мы делаем сложную модель, а эволюция в ней спотыкается на каком-то совсем простом шаге и дальше ни в какую

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

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

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

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

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

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

Вот это уже интересно! Можно на ваши модельки посмотреть?

Мой сайт http://alife-ru.org/ - я там понемногу систематизирую информацию по теме (ибо достаточно хороших и полных сайтов на эту тему я не встречал даже на английском языке). Буду признателен, ежели вы примете в этом деле участие. А также собственно в разработке моделей искусственной жизни. Ну и все здесь присутствующие, кто этой темой интересуется.

Надеюсь, за спам сочтено не будет. :)

[identity profile] iisus.livejournal.com 2012-07-08 09:10 pm (UTC)(link)
Новые модельки показать не могу, потому что там надо какие-то библиотеки включать, чтоб они работали на других компах, а у меня нет времени с этим разбираться, я завтра уезжаю на дачу.

А вот одна из давнишних программок, вроде она должна работать:

http://narod.ru/disk/55726638001.a9dbae16f22a8dca1094f9075fb18735/GeneCars.rar.html

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

В программке, ссылку на которую я привёл, надо жать "next generation" когда большинство машинок остановились. Тогда лучшие породят новое поколение.

На даче у меня будет интернет через пару дней, так что потом ещё побеседуем.

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

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

3D

[identity profile] livejournal.livejournal.com 2012-07-09 06:14 am (UTC)(link)
Пользователь [livejournal.com profile] eredraug сослался на вашу запись в «3D (http://apokrif93.livejournal.com/9275347.html)» в контексте: [...] Источник сообщения [...]

[identity profile] adelaidastar.livejournal.com 2012-07-09 06:23 am (UTC)(link)
Punctuated Equilibrium and Criticality in a Simple Model uf Evolution
VoLUME 7I, NUM@EH. 24 PH YSICAL REVIEW LETTERS 13 DECEMBER 1993

[identity profile] adelaidastar.livejournal.com 2012-07-09 09:09 am (UTC)(link)
Я в Германии, но есть способы - см. е-мэил).

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

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

[identity profile] antiphoton.livejournal.com 2012-07-09 10:03 am (UTC)(link)
Спасибо за ссылку, офигеть!

[identity profile] stealth-nsk.livejournal.com 2012-07-09 12:23 pm (UTC)(link)
Э-э-э и что?

[identity profile] adelaidastar.livejournal.com 2012-07-09 12:57 pm (UTC)(link)
Я ни о чем не спорю:). Мне просто нравится их подход,
насколько я могу его оценить.

[identity profile] stealth-nsk.livejournal.com 2012-07-09 01:25 pm (UTC)(link)
Это да :)

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

[identity profile] wormball.livejournal.com 2012-07-09 07:05 pm (UTC)(link)
> А вот одна из давнишних программок

Помню, помню, курсе на втором или третьем встречал, очень потешно.

[identity profile] wormball.livejournal.com 2012-07-10 06:33 am (UTC)(link)
Спасибо, почитаю..

[identity profile] iisus.livejournal.com 2012-07-11 10:46 pm (UTC)(link)
а в последнем эксперименте у меня организмы эволюционно научаются ловить еду и уворачиваться от опасностей в плоском мире

а вы программируете что-нибудь? И планируете ли в будущем какие-то эксперименты? И на каких областях биологии базируетесь? И какими языками программирования владеете?

[identity profile] wormball.livejournal.com 2012-07-12 06:51 am (UTC)(link)
> а в последнем эксперименте у меня организмы эволюционно научаются ловить еду и уворачиваться от опасностей в плоском мире

А можно об этом где-либо почитать и/или скачать программу?

> а вы программируете что-нибудь? И планируете ли в будущем какие-то эксперименты?

Бывает и такое. Вот у меня был мегапроект: http://erg.biophys.msu.ru/lamarckathome/forum/ , правда, до ума я его так и не довёл. А вот то, чем я полгода назад занимался - грубо говоря, я хотел получить модель возникновения многоклеточности, однако безуспешно. Теперь хочу переписать сию программу по-человечески и с немного другими правилами игры. А затем, ежели всё будет хорошо, она послужит основанием для мегапроекта, подобного указанному.

> И на каких областях биологии базируетесь?

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

> И какими языками программирования владеете?

Из попсовых - паскаль, С++, питон. Из непопсовых - Forth, также давно хочу изучить лисп и вообще функциональное программирование, прочитал чуть более половины SICP, дошёл собственно до интерпретатора и в силу неведомых причин на этом остановился, давно хочу продолжить.

[identity profile] iisus.livejournal.com 2012-07-12 09:04 pm (UTC)(link)
> А можно об этом где-либо почитать и/или скачать программу?

Можно будет скачать, когда я вернусь в Москву. А почитать можно будет если я вернусь к этой модели и напишу статейку. Пока могу вкратце рассказать. В нейросетях используется обычно один тип синапсов, но в мозгу их существует несколько разных, и я решил их все в одной сети потестить. А модель такая: сверху экрана с разными (в пределах одного порядка) скоростями падают объекты двух типов, "еда" и "не еда". Организмы могут двигаться по плоскости и ловить эти объекты. Ещё у них есть органы чувств, что-то вроде сложного глаза насекомых. В начале им даётся рандомная сеть, связывающая датчики и двигатели, и постепенно сеть эволюционирует до 90% избирательности. А вот до ста процентов не получается довести. То ли времени им не хватает до этого (несколько часов тестил), то ли модель несовершенна... Но точно можно сказать, что с разными синапсами результаты лучше, чем с одинаковыми.

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

Ещё вопрос: вы основываетесь на чьих-то вычислительных моделях, вроде теории игр, или биологию изучаете серьёзно? Имеете представление о том, как многоклеточность возникла в природе?

И ещё: вы следите за периодикой, связанной с моделированием эволюции? Может, встречали на archive.org интересные статейки из новых?

Здорово, что вы знакомы с С++. Если найдём общие сферы интереса, можно будет замутить вместе программку. И, кстати, я считаю, что язык не важен. На С++ можно изобразить любую структуру.

[identity profile] wormball.livejournal.com 2012-07-13 08:32 am (UTC)(link)
> Кстати, киньте мыло в личку, а то что мы тут у товарища в журнале как у себя дома разобсуждались.

Ну, мы вроде по теме обсуждение ведём. Мыло (и джаббер) мой ник собака gmail com. Ежели ничего секретного нет - то, наверное, лучше писать на форум http://alife-ru.org/forum/ , чисто чтобы архив обсуждения накапливался.

> Ещё вопрос: вы основываетесь на чьих-то вычислительных моделях, вроде теории игр, или биологию изучаете серьёзно?

Почему или? И что вы вкладываете в понятие "серьёзно"?

> Имеете представление о том, как многоклеточность возникла в природе?

Насколько я понимаю, такого представления ещё никто не имеет, а существуют лишь отдельные словесные рассуждения.

> И ещё: вы следите за периодикой, связанной с моделированием эволюции? Может, встречали на archive.org интересные статейки из новых?

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

> Здорово, что вы знакомы с С++.

Ну вы же понимаете, что это ни о чём не говорит.

> Если найдём общие сферы интереса, можно будет замутить вместе программку.

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

> И, кстати, я считаю, что язык не важен. На С++ можно изобразить любую структуру.

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

[identity profile] iisus.livejournal.com 2012-07-14 09:38 pm (UTC)(link)
Серьёзно изучать биологию для целей ИИ - значит прочесть несколько вузовских учебников по биологии-цитологии-генетике-эволюции, чтоб понимать, как всё работает и знать, куда двигаться, если очередная модель даёт неудовлетворительные результаты. У вас есть такое понимание?

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

Ок, обсудим на форуме, когда появится конкретика для обсуждения. Например, там я выложу последнюю программу.

Page 2 of 3