Моделирование процесса эволюции

otlichnica

не знаю, боян или нет, но все равно замечательно:
http://megaswf.com/serve/102223/

nozanin

не знаю, боян или нет, но все равно замечательно:
ничего не показывает быдлофлешь, что не так делаю?

stm7518204

Чувакам респект!

stm7543347

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

otlichnica

я дергал) где-то на 12-14 поколении произошло четкое разделение на длинный спортивный автомобиль с низкой посадкой и внедорожник с огромными колесами гг.

L2JVIDOCQ

К 20 поколению на 5% мутаций больше половины машинок уже похожи на внедорожник с большими колесами.. Так что работает все :)
upd: Ошибся - все машинки - внедорожники с большими колесами, тока не у всех удачные конфигурации, позволяющие полностью преодолеть все препятствия. Но эволючия работает, у них все лучше и лучше получается :)

stm7543347

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

Хотя, на самом деле, если подумать, это не специализация, а рудиментарность.
Специализация была бы, если б там на дороге были лужи коктейля Лужкова, и если играть эльфами по ним проезжать, ядовитые капли попадают в нежное брюшко, если оно не прикрыто ничем.
Чего-то я туплю с утра. :crazy:
Но все равно забавно.

stm7543347

Эльфы и гномы же!

bitle

А что на графиках? И в скобках что за число? Рекордная дистанция?

L2JVIDOCQ

Мне кажется, в скобка - это та дистанция, достигнув которую, конфигурация не претерпевает мутацию.

stm7543347

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

bitle

Интересно еще как он отбор делает - каждая следующая машинка - это предыдущая + %мутации?
Или так: берется лучшая в поколении, и в следующем поколении все 20 машинок это ее мутанты. Далее опять самая удачная берется и 20 мутаций и т.д.?
Кажется что правильно - второе

L2JVIDOCQ

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

bitle

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

L2JVIDOCQ

Да, я так понял.

otlichnica

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

karim

а разве не скрещиваются две лучших от которых все потомки с дополнительными мутациями? иначе нет смысла

L2JVIDOCQ

Вот хз. Мануал бы найти.

griz_a

Работает! Сходится с результатами реальной жизни - в 12 поколении каждая вторая машинка - это "КАМАЗ"! :)

L2JVIDOCQ

Когда до конца дойдем, узнаем, игнис - хороший внедорожник или ошибка природы :)

otlichnica

это может быть моделью агамогенеза

stm7543347

НЕ НАЖИМАЙТЕ ПОСОНЫ! ФЛЭШКА ЕСТ МОЗГ!1111

luherstag

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

karim

в контексте нравоучения

Vlad128

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

L2JVIDOCQ

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

stm7543347

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

Vlad128

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

luherstag

Да, но почему это хорошо, а не, скажем, плохо?
У меня сложилось ощущение, что апологеты ГА кричат: "Посмотрите, насколько могущественна эволюция в реале! Давайте её скопируем". Такое рассуждение не катит по изложенной причине.
Я буду рад, если моё заблуждение развеют и укажут на реальные сильные стороны ГА.

Vlad128

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

luherstag

Про половое и бесполое -
К последнему посту. Правильно ли я понимаю, что выигрыш может достигаться из-за того, что популяция вьётся вокруг оптимума, по разные его стороны, поэтому если взять что-то промежуточное между двумя особями, то хорошие шансы, что результат будет ближе к оптимуму, чем любая из них?
Во-первых, это правдоподобно для гладких фунций желательно от малого числа переменных, но тогда применимы намного более эффективные и математически обоснованные методы оптимизации. ГА же рекламируются для мерзких задач, где пространство оптимизации очень многомерное и иногда даже дискретное. Я честно говоря не могу сходу прикинуть, будет ли там "интерполяция" давать ощутимые преимущества... Впрочем, не утверждаю, что не будет.
Во-вторых, как я понимаю кроссинговер это не совсем интерполяция. Если воспользоваться геометрической аналогией, ребёнок появляется не на прямой, соединяющей родителей, а скорее в случайной точке внутри баундинг бокса, в вершинах которого стоят родители. И это намного хуже интерполяции. Представь себе сильно сплюснутый (не вдоль координатной оси) ландшафт (например, задача минимизация функции (x+y)^2+10000*(x-y)^2 и соответственно сильно сплюснутое облако популяции. Если взять две точки на дальних концах этого облака, большая часть баундинг бокса будет намного хуже, чем эти две точки. И нет оснований полагать, что в сложных задачах ландшафт не будет сплюснут хоть в каких-нибудь направлениях.

Vlad128

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

luherstag

Что-то я слишком много гадаю.
Лучше спрошу так:
Какие именно черты всяких методов из метоптов, отсутствующие в случайных блужданиях, появляются в ГА?

Vlad128

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

Vlad128

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

luherstag


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

luherstag

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

Big_Bob

А расскажите для тупых, что отображается на графике?

Vlad128

красный — максимальное пройденное расстояние, черный — среднее.

Big_Bob

А какое значение имеет цвет рессоров, которые держат колеса?

Vlad128

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

var24

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

stm7543347

Если тебе просто не нравится идея скрещивания - просто мутации тоже неплохо работают. Получишь что-то вроде particle swarm или пчол.
Это не так. Существенная часть партикулярного сварма - обмен информацией между частицами. Стая не есть дискретный набор индивидуальностей.
В ГА его роль как раз и играет кроссинговер.

var24

Согласен. Просто мне показалось, что против именно идеи скрещивания. То, что все равно надо иногда каким-то образом сужать область поиска, подразумевалось :)

stm7543347

То, что все равно надо иногда каким-то образом сужать область поиска, подразумевалось :)
Ну, например, в слублужданиях с длиннохвостами это как делается?

CLERiC_77rus

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

Big_Bob

А должно ли все сойтись к одной машинке повторенной 20 раз, если выставить мутацию на ноль?

Vlad128

можешь проверить :)

fabio

да сводится - машинки все одинаковые красные и черные графики сливаются

CLERiC_77rus

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

Vlad128

как от этого избавиться?
почему ты хочешь от этого избавиться? :)

CLERiC_77rus

почему ты хочешь от этого избавиться?
хочу идеальную машинку.

CLERiC_77rus

у меня получаются такие машинки.


и эта "голова" им мешает.

shpanenoc

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

stm7543347

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

CLERiC_77rus

ну повысь процент мутаций, но будь готов к тому, что твой удачный дизайн может пропинаться
ну я там в одном месте попробовал поднять до 69% первый глубокий провал на графике виден =)
текущие машинки получились на 1-2%, 8 поставил как раз перед скринами.

shpanenoc

ну высокий процент мутаций как раз и означает примерно "что за фрик-шоу? Убить всех и наделать новых!"

ulia06

за 600 (к шестиста) красненькой цифрой в скобках кому-нибудь выйти удавалось? Или мне так сильно повезло с пятью с лишним сотнями, но я все загубил?
И ещё: когда в скобках появляются большие числа (300/400/500 кто-нибудь доезжал до них реально? а то у меня максимум 50% выходило.
ЗЫ: ирушка по факту действительно смесь эволюции и креационизма гремучая: искать оптимумы, подбирать параметры, делать рестарты когда надоест :)

Evgenui

у меня самый прогресс пошел когда запустил с 1%. т.е. когда уходил с работы, среднее подошло к 170, топовое - к 265. и в принципе и то и другое продолжало расти. Завтра с утра ожидаю колонию монстров зохававших мир

L2JVIDOCQ

У меня уже сутки считает. 180 поколений. Мал=шинки классные. Но на 200 начинаеются большие горки и у машинок просто мощности не хватает, чтоб подняться. У меня уже график в виде горизонтальной линии.
Сдается мне, что флэху создал пгмнутый троль.

demiurg


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

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

selena12

короче налицо стагнация как проходимого расстояния, так и внешнего вида начиная с десятка (примерно) поколений.
т.е. флэха иллюстрирует, что чисто на эволюции дальше самых примитивных систем уйти не удается :D

BSCurt

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

shpanenoc

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

Sergey79

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

Vlad128

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

дальше график уже не рисуется. Все, вырубаю :)

stm7543347

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

Sergey79

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

iri3955

Так

seeknote

Это происходит когда она доезжает до цифры в скобках. Раньше вроде было не так?
так должно быть

selena12

аналог того, что не съели, но сдохла от старости

stm7543347

Аналог того, что не все коту масленица.

L2JVIDOCQ

Чота херота эта ваша эволюция.

Vlad128

попугайчик :)

L2JVIDOCQ

Блин, почти тысяча поколений, а внедорожника все еще нет. Даже, вон, колеса разные. Это что же, должно пройти миллионы лет, то есть 10^6/25=40000 поколений и больше, чтоб получить правильную машинку? Да пошли они... :mad:

Vlad128

разные колеса — это адекват. Ими гораздо проще управлять положением центра тяжести, чем формой тушки.

L2JVIDOCQ

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

Vlad128

Ну даа :) но переднее чуть больше заднего пока у меня лучше всех едут.

navstar

На 596-ом поколении уродилось вот такое нечто и алгоритм остановился, так как это нечто бесконечно кувыркается в ямке и не может из неё выбраться:

Sergey79

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

griz_a

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

Evgenui

новая версия :D
http://www.boxcar2d.com/
теперь с изменяющимся числом колёс :D

iri3955

БТР решает

Evgenui

Max Wheel можно изменять, ещё большее количество колес решает ещё больше : )

Suebaby

ваще очень хочется самому конструировать тоже, чтобы осознать, насколько юзер круче/хилее эволюции

Vikuschechka9

пора живую клетку моделировать

demiurg

Chen and Shakhnovich. Thermal adaptation of viruses and bacteria. Biophys J (2010) vol. 98 (7) pp. 1109-18
Heo and Shakhnovich. Interplay between pleiotropy and secondary selection determines rise and fall of mutators in stress response. PLoS Comput Biol (2010) vol. 6 (3) pp. e1000710
А щас там у него уже реально зоопарк, и половое размножение можно включить, а можно выключить.

Big_Bob

Там еще freq какой-то появился, за что она может отвечать?

Lena35

а разве не скрещиваются две лучших
не зря тебя модератором ЛИСа назначили :)

Lena35

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

Sergey79

фиг знает, у меня на одном колесе рассекают только так (прямо со старта)

Lena35

И в скобках что за число? Рекордная дистанция?
В скобках - это норматив КМС для данного поколения.
Т.е. машина завершает тест, либо кода не способнадвигаться дальша, либо когда достигает этого числа.

Lena35

вчера когда засыпал видел сей грузовик :)

Vlad128

что значит когда засыпал? у тебя там нулевое поколение :confused:

Lena35

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

kastodr33

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

Brina

Некоторое время назад все увлекались функаном...

chyk2005

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

Suebaby

выложена версия 2.1
там можно сохранять, модифицировать и запускать свои машинки
судя по форуму той игры, у всех получается
у меня же не работает: кнопки paste не пашут
пробовал на двух разных компах под 2 разными ОС в 3 разных браузерах
если кто-нить скажет мне, как (по действиям) запустить свою машину — буду очень благодарен

maksim23

Suebaby

конструированием я прошёл эту трассу

maksim23

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

Suebaby

я тоже на 2 колёсах прошёл
а ещё 1-колёсные куры доходят аж до 400

maksim23

Пепелац для рохождения трассы "Blockhead":

0.5124,2.90761,0.40883,0.33299,0.10595,1.2937,0.363,1.84,0.0975,2.188,0.8955,1.231,0.962, 2.57836,0.6254,0.39534,4,5.4319,1.46002,6,4.51477,1.23391,-1,4.55349,0.60187,4,3.69737,0.688,-1, 1.87828,1.361,-1,1.736,0.57917,1,1.13097,1.5,5,6.097,1.35078,15148843,2614,9710369,63232,16122020, 11580199,16588845,12156275,7507063,13008574,3854103,4732528,13694560,6930587,9929751,16445202,7

Sergey79

а зачем ему наверху шип?

maksim23

От него рикошетируют кубики и разбивают столбы, стоящие впереди. Это, кстати, эволюционное приспособление, не я придумал :)

maksim23

Кто-нибудь карту The Gap проходил? У меня вырастают вот такие... Кхм...

Red_Fighter

Путем периодического голосования вырастил трехколесный БТР, которому нехватало 5 метров до финиша
Оставить комментарий
Имя или ник:
Комментарий: