3D

Jul. 7th, 2012 06:02 pm
macroevolution: (Default)
[personal profile] macroevolution

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Date: 2012-07-14 10:38 pm (UTC)
From: [identity profile] wormball.livejournal.com
> Серьёзно изучать биологию для целей ИИ - значит прочесть несколько вузовских учебников по биологии-цитологии-генетике-эволюции

Скажем так, я биофак МГУ закончил.

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

Для понимания этого недостаточно. Иначе бы сильный ИИ уже давно вырастили и исследовать было бы нечего.

> У вас есть такое понимание?

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

> Я согласился с тем, что от описания генотипа модели зависит её способность эволюционировать, но в данный момент я считаю, что нет разницы, на каком языке её реализовывать

Я вам задам наводящий вопрос. Чем генетическое программирование отличается от генетических алгоритмов?

Date: 2012-07-15 11:45 am (UTC)
From: [identity profile] iisus.livejournal.com
> биофак МГУ

Отлично, теперь в вашей компетенции я не сомневаюсь.

> Для понимания этого недостаточно.

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

> Я вам задам наводящий вопрос. Чем генетическое программирование отличается от генетических алгоритмов?

Они отличаются интерпретацией генетического текста. И возможностями наращивания генотипа. ГА интерпретируется прямо, ибо каждый кодируемый ими параметр задаёт параметр оптимизируемой системы. Генотип равен фенотипу. И создание новых генов не имеет смысла, так как в исходной системе для них нет места. В то время как в ГП геном интерпретируется путём построения на его основе программы. И тут фенотип принципиально отличается от генотипа, так как фенотип есть не сама программа, а ход её работы и результаты вычислений. И если геном породит построение фрактального объекта, то фенотип окажется несравнимо сложней генотипа. Плюс, в ГП возможно наращивание генокода, ибо всякая новая запись будет интерпретирована как осмысленная комманда в программе. (Это если я ничего не путаю).

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

>А вот куда бы хотелось двигаться вам - этого я пока что не смог понять.

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

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

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

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

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

> Но в этом различии мне не видно преимущества одних языков над другими.

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

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

Разумеется. Вот в лиспе (и в обычном генетическом программировании) программа представляется как древовидный список. Но по сути это та же программа на языке программирования.

> Например, нейросеть - тоже программа с входными и выходными данными и процессом вычисления.

Лично моё субъективное мнение - что будущее не за нейронными сетями, а за чем-либо похожим на "человеческие" языки программирования.

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

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

> Простейший способ взаимодействия между нами

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

Date: 2012-07-18 12:28 pm (UTC)
From: [identity profile] iisus.livejournal.com
> Я имел в виду, что в генетическом программировании генотип задаётся на некотором языке программирования.

Это самый низкий уровень абстракции. А рассматривать обобщённо, то можно сказать, что геном в ГП есть набор операций над данными. И это даёт более широкую область применения ГП. Если операции выполняются последовательно, то это традиционная программа. Если параллельно, то это сеть процессов. Я хочу сказать, что нет разницы, оперирует ли генотип командами существующего языка программирования или виртуальными операциями, которые мы заранее определили на каком нам удобно языке. И эта виртуальность не создаёт ограничений на результаты вычислений в такой программе. Скажем, я создаю на С++ набор операторов со всеми арифметическими действиями, с циклами и условиями, и с областью памяти для данных. Кодирую это в asm-подобную систему. Это тривиальные вещи, но мы получаем язык в языке, при чём, крайне удобный язык в виде объекта с набором функций: породить копию, мутировать, исполнить программу, оценить результаты и т.д. И нет разницы, на каком языке был этот объект создан. И нет разницы, какой язык мы эмулируем: какой нам удобней, такой и делаем.

> И согласитесь, что далеко не всё равно, на каком именно.

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

> Лично моё субъективное мнение - что будущее не за нейронными сетями, а за чем-либо похожим на "человеческие" языки программирования.

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

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

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

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

> Я бы всё же хотел, чтобы вы с моим сайтом ознакомились и высказали бы своё мнение

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

Date: 2012-07-19 10:08 am (UTC)
From: [identity profile] wormball.livejournal.com
> Это самый низкий уровень абстракции. А рассматривать обобщённо, то можно сказать, что геном в ГП есть набор операций над данными.

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

> И нет разницы, на каком языке был этот объект создан.

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

> И нет разницы, какой язык мы эмулируем: какой нам удобней, такой и делаем.

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

> У каждой описательной модели найдётся дело, мне кажется. Сети хороши для одних функций, последовательное вычисления для других. Важно найти, как к этим функциям из приспособить.

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

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

Я на эту тему думаю следующее. Физическую модель надо простейшую. Зато надо наделить агентов способностью атаковать друг друга, обмениваться сообщениями и прилипать друг к другу. Тогда мы сможем получить, например, самопроизвольное возникновение многоклеточности - понятное дело, что двоим атаковать одного сподручнее. А дальше, возможно, будут возникать более сложные коллективы клеток и системы управления в них. Также должны и эволюционировать и системы распознавания "свой-чужой" - ведь атаковать своих не имеет смысла, но с другой стороны паразиты запросто могут представляться своими. По идее так может возникнуть и дипломатия (т. н. social intelligence hypothesis). На мой взгляд это было бы интереснее, нежели просто эволюция рогов-копыт. Хотя ежели в физической модели будет возможность фиксации и определения относительного положения клеток, то и рога с копытами вполне смогут образовываться.

Date: 2012-07-19 10:33 pm (UTC)
From: [identity profile] iisus.livejournal.com
> Я бы сказал, что языки по степени удобства (особенно для эволюции) заметно различаются, посему разница налицо. Представьте, например, что вы задаёте геномы своих агентов на чистом С++. Каково вам будет их мутировать и какой их процент будет хотя бы компилироваться?

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

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

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

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

> а сделать на нейронных сетях язык программирования - ну разве что составлять из нейронов целый процессор с памятью

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

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

Да, это интересно. Если возникнет синхронизация делений, чтоб группа соединившихся агентов размножалась одновременно и дети образовывали бы такую же связанную группу - например, за счёт возникновения "языка" связей между ними, чтоб все знали, к кому цепляться. И чтоб всё это развивалось на фоне спецификации отдельных членов этого метаорганизма. Хотя я бы это назвал скорей симбиозом, а не многоклеточностью. Многоклеточность - это когда геном один и тот же у всех клеток, и дети вырастают в организм путём деления и дифференциации отдельных клеток.

Date: 2012-08-03 10:23 pm (UTC)
From: [identity profile] wormball.livejournal.com
Извиняюсь, что долго не отвечал, немного другим был занят.

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

Было бы интересно ознакомиться. Кстати, вам знакомы такие слова, как EANT и NEAT? А то я знаю одного человека, который NEAT пытается улучшать.

> но идей для эксперимнтов много, думаю, среди них найдётся работающая.

Огласите весь список, пожалуйста.

> Вообще-то нейросеть является языком программирования, просто очень специфическим.

Разумеется. Я хотел сказать, что "человеческим" языком программирования в львиной доле случаев проще выразить алгоритм, оттого, собственно, программы пишутся на "языках", а не на "сетях". И что с моей точки зрения такие языки (конечно, с некоторыми поправками) должны быть эффективнее и в эволюционном процессе.

> Хотя я бы это назвал скорей симбиозом, а не многоклеточностью.

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

> Многоклеточность - это когда геном один и тот же у всех клеток

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

> тогда, когда у нас уже появится идея совместного эксперимента.

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

Date: 2012-07-09 10:03 am (UTC)
From: [identity profile] antiphoton.livejournal.com
Спасибо за ссылку, офигеть!
Page generated Aug. 18th, 2025 06:02 pm
Powered by Dreamwidth Studios