Pull to refresh

Comments 71

Плесень эволюционировала?

А так, да, очень понравилось ) Напоминает начало игры S.P.O.R.E и ей подобных.

Теперь вы в ответе за сотворённый вами мир и не имеете права его забросить )
Вообще-то, как порядочный Бог, может. Предварительно наделив их свободой воли :)
Я понял, откуда берётся свобода воли. Это когда задолбанный Бог говорит своим созданиям: «Блин, да делайте уже, что хотите, надоели!»
Вы мыслите в верном направлении ;-)
И кстати сэмплы с дропбокса в сафари тормозят сильнее, чем в хроме.
Очень понравилось, всегда привлекали такие штуки.
А если сделать клеткам разные параметры, а не только энергию (и разные типы клеток — допустим, одни могут поглощать, другие на скорость движения влияют), то можно будет вообще наблюдать великолепную эволюцию в духе генетического алгоритма.
Следующим этапом будет введена потеря энергии на рывок и индивидуальные параметры рывка для клеток (% энергии, который она готова потратить и параметры жертвы, при которых она это сделает). Эти данные будут передаваться генетически. Визуализировать будем красным — агрессивных, синим — трусливых, зелёным — пофигистов. Энергию — размером.

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

Отдельная плюшка — переход к 3D, но там нужно больше материи сразу…
Великолепно, именно об этом я и говорил.
Жду следующих версий.
Где то я подобное встречал…
что то вроде тыц

И это довольно интересная система.
А что тут служит источником энтропии?
Рандом только один раз используется, при генерации положения начальных клеток?
да. если проект доживёт до распределённой screensaver версии, однозначность развития ситуации исходя из начальных параметров будет использоваться для контроля за невмешательством в вычислительные процессы конечных пользователей двойным просчётом каждого сценария на разных машинах облака. (очевидно, может появиться соблазн вмешаться в вычисления, чтобы помочь своей популяции в рамках своего участка распределённого космоса)
А я еще один рандом углядел у вас)
Если не ошибаюсь, клетки, которые «выстреливают» из центра (реинкарнации сожранных) — выстреливают под рандомным углом.
Или она просто появляется в центре, а дальше ее растаскивает внешнее воздействие?
они выстреливают в случайных точках, и, соответственно, ускоряются под случайными углами, но делают это в соответствии с изначальными параметрами инициализации рандомайзера, поэтому повлиять на ход эксперимента можно, только вмешавшись в него slidebar'ами, в целом он должен быть стабилен
Понятно. Успехов в реализации, надеюсь, проект не загнется, выглядит очень интересно.
Гипнотизирует!

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

Может быть, сделать так что новорожденные источником и большинство стартовых клеток жизни клетки будут пассивны и не будут «обращать внимание» на остальных, или создавать связи поглощения с остальными, двигаясь только относительно источника жизни? Это разгрузит часть ресурсов/на клетку.

Более простой способ разгрузит систему: клетка реагирует только на те клетки вне своего космика, которые находятся на определенном расстоянии от нее. Тогда зависимость не квадратична.

Проблема в том, что чтобы выяснить, на каком расстоянии находится клетка — уже нужно вычислить расстояние между клетками, т.е. выполнить это действие N^2 раз. В целях оптимизации можно сегментировать пространство, это и есть алгоритм Барнса-Хата. Но, по инопланетным для меня причинам, он даёт выигрыш на видеокарте только после 50K частиц.

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

Технически, учитывая архитектурные особенности CUDA, это даст не прирост производительности, а её потерю на ветвлении.
Должен сказать, что эти ваши Космики весьма и весьма жестокие твари :( Они свергли своего короля (образно говоря): i.imgur.com/aPKNc.png, мне его даже как-то жаль стало, т.к. он теперь стоит и ничего не делает, к нему кто-то периодически подлетает и в спешке отлетает, но сам он не двигается, обиделся очень :(
А у меня таких «королей» штук 5 было, был лютый ппц, когда они крепились к кому-либо. Весь организм нахрен разрывало во все стороны
UFO just landed and posted this here
На этот счёт у меня особое мнение, а именно: нейронные сети — не самый лучший способ реализации разума на аппаратной платформе. Впрочем, не хочу быть голосоловным, поговорим об ИИ после того, как я его реализую :-)

Это будет как минимум позже создания эмулятора эмоций и инстинктивных движений для анимации виртуальных настольных нимфоманок
Я думаю надо подождать квантовых компьютеров.
Впрочем, есть у меня мнение, что мозг тоже каким-то образом в процессе мышления опирается на некоторые квантовые эффекты.
Вот правда как проверить эту догадку? Современной измерительной аппаратуры видимо будет недостаточно.
Эх, жаль, что не кросспатформенно =(
Нельзя ли адаптировать под Linux и Mac?
Думаю, будет с течением времени.

Если есть энтузиаст, который перекомпилит исходник в другой среде — я с удовольствием поделюсь кодом сегодня же.
Мне бы на ATI запустить :( Видюха то очень мощная стоит, Radeon 5870, но блин она CUDA не умеет.
если много энтузиазма, там нужно только переписать CUDA процедуру на OpenCL, и она очень простая. в основном, как всегда, возиться придётся с тем, чтобы разобраться, куда запрягать лошадей в новой среде
Хорошо, будет время поковыряю :) Я думаю если что, то могу поспрашивать о том что да как в личке?
Пока максимум, что я могу предложить, нажать s, уменьшить foodtemp и увеличить foodk. Они будут очень быстро расти

Возможность кормить руками любимчиков сделаю позже ;-)
Я не очень понял, два здоровых «индивида» могут слиться друг с другом? При каких условиях?

А то я вот смотрю — есть двое, но они пролетают друг мимо друга, и как будто бы, наоборот, отдирают мелкие «запчасти», а не присоединяются.
Я бы еще предложил прикрутить расход энергии на импульсы в разные стороны, а то два гиганта любят сходиться друг с дружкой и метаться друг к дружке с дикой скоростью, иногда, правда, они разлетаются с такой же огромной скоростью, но не все :)
Промахнулся веткой, извините :)
да, хорошая идея. расход энергии на импульс и принятие решений, совершать ли импульс — в todo есть
Да, да, секс, где же секс? Размножение, ревность, измена, беспорядочные половые связи…
А кто автор музычи в самом первом ролике? :)
Думаю вам понравится книга «Электрические методы обогащения», Автор: Павел Черкашин. Там в основной сюжетной линии разработка на базе ботнета информационного проекта «Аквариум», «населенного» программами с искусственным интеллектом.

А еще хотелось бы в будущем увидеть у космиков размножение на базе генетических алгоритмов (эволюционных), отбор по всем правилам Дарвина и все такое =)
спасибо! генетические алгоритмы уже в разработке, ради них всё и затевалось
Есть алгоритм рассчёта взаимодействия, более эффективный, чем Barnes-Hut — работает за O(N) вместо O(N logN). Два года назад, когда я с ним столкнулся, его ещё не распараллелили. Однако, с тех пор, возможно, с этим уже что-то сделали.
Это, наверное, круто, но моя 9800 GTX+ с CUDA 1 не позволяет мне оценить наверняка. Это возможно как-то исправить, кроме как покупкой новой видеокарты?)
я постараюсь сделать вариант для ранних версий CUDA
UFO just landed and posted this here
Очень интересный проект! Мне он вдвойне интересен, потому что давно хочу написать нечто очень похожее. Есть много теоретических наработок, но до реализации так и не дошёл. Как мне кажется, в вашей модели не хватает простора для эволюции. Пока не очень понятно как будет происходить размножение и мутации. Если вы планируете развивать проект в направлении моделирования эволюции, то с большим интересом присоединюсь. Можно будет всё перенести на более кроссплатформенные рельсы в виде Qt или аналогов и OpenCL вместо Cuda.
Спасибо! Это было бы здорово! Вопрос «простора для эволюции» ключевой, на эту тему много мыслей и экспериментов, которые нужно проверять в лоб, воображением я не осиливаю просмотреть пространство вариантов. Напишите, пожалуйста, мне в skype
Ну кстати если взять SceneGraph из Qt5, то на нем вполне шуструю и красивую визуальную обертку можно сделать, а сами вычисления переписать на openCL. В принципе тоже готов поучаствовать.
Случилось ли что-нибудь интересное в мире космиков с тех пор?
да, с самого момента написания этого поста и до сегодняшнего дня мы с группой энтузиастов активно разрабатываем скажем так «космики 2.0». впрочем, идея совершенно другого масштаба (поэтому и ушло уже столько времени) — мы с нуля создаём физическую реальность (свой специфический движок, в первую очередь в целях оптимизации под как можно больший объём материи, чтобы космос был велик), виртуальные органические тела (тела у которых есть чётко выделенные органы и которые не «пролетают друг сквозь друга») и помещаем в эти тела примитивную форму сознания на базе продвинутых модификаций различных нейросетей.

т.е. мы создаём полную триаду 1 мир + N * ( тело + сознание )

детали не публикуем до альфы, но если интересно — пишите в skype: pavel-kudinov, могу показать как это выглядит на сегодня :-)

UFO just landed and posted this here
я пока не готов распространять информацию по проекту в кругу людей, с которыми я не знаком лично хотя бы заочно. будет очень жаль, если кто-то возьмёт относительно примитивную по объёму и качеству часть уже достигнутых результатов, и выложит на всеобщее обозрение.

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

говоря короче, я считаю, что ранняя публичность в любой форме может негативно сказаться на судьбе проекта в целом.
Вы не читали Дэна Симмонса, тетралогию «Гиперион»? Там была интересная идея, откуда возник искусственный интеллект — развился из подобных программ симуляции эволюции, поставленных в ограниченные условия.
P.S. Кстати, очень достойная книга! Рекомендую любителям фантастики.
Все же как клеточный автомат система не совсем удачно построена. Первый недостаток — нет оттока энергии, только накачка. Гаснущие клетки по определению содержат меньше энергии чем новорожденные, поэтому сумма энергии системы постоянно растет.
Второе — клетки ядра крупных космиков почти бессмертны, самая крупная из них — бессмертна полностью, ничто не может ее поглотить. Разве что вырастет еще более крупная клетка, но тогда ничто не сможет поглотить уже ее.
Прежде всего, спасибо за конструктивную критику!

Теперь обороняюсь ;-)

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

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

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

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

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

Правда, решив проблему крупных клеток вы решите и эту. Отдача энергии на движение, как и аннигиляция толстяков с частичной потерей энергии — это вполне рабочий холодильник, как кажется. Это поможет вашей системе стать полностью открытой.

Кстати уже в который раз вижу интересный баг (а может фичу?) в svg. Когда время жизни вселенной подходит к концу и остается одна-единственная крупная сеть с очень-очень жирной клеткой ядра, сидящая на источнике жизни и пожирающая все, что из него вылетает, она через какое-то время своей жизни… ммм… превращается в черную дыру, коллапсирует, встасывая в себя всю свою сеть и источник жизни заодно. Я думаю, что вы специально написали такое поведение, но если нет, то это самый поразительный баг, который мне приходилось видеть.
Знаю, играл. В Она в числе прочих выступила вдохновителем
Sign up to leave a comment.

Articles