Искусственная жизнь, симулятор эволюции ботов c генетическим алгоритмом (Кибербиология)
2022 ж. 16 Ақп.
167 514 Рет қаралды
Эволюция виртуальных организмов, программа написана для развлечения. Можно наблюдать разные искусственные формы жизни в выдуманном мире! Рекомендую также посмотреть ролики ТехноШамана ( foo52ru )!
Исходный код программы:
github.com/OakwoodTable/Cyber...
***
Пару слов о том что я использовал для создания программы. Программа написана на языке С++ с использованием графической библиотеки SDL и библиотеки интерфейса Dear ImGUI. Реализация перцептрона написана без применения библиотек ввиду своей простоты. Многопоточность реализована также с помощью стандартной библиотеки языка.
Второе видео: kzhead.info/sun/qcyLqNuKqWltl6M/bejne.html
баловство все это... и тупиковое направление, а чтоб создавать что-то прогрессирующее, модель надо формировать как на самом деле формировалась на земле жизнь, есть несколько лекций Дробышевского об эволюции, о питании и размножении, и над этим стоит задуматся, а еще послушать пару лекций профессора Савельева о мозге, тогда могут сформироватся принципиально новые концепции эволюции, а если кратко... то разговор о трех движущих силах в природе, размножение, питание и доминантность, под питанием чаще всего подразумевается канибализм, но его недостаточно для питания, канибализм так-же является и частью доминантности... и как у тарантулов и богомолов, частью размножения, поедание самцва, выполнившего свои функции... а еще, обязательным условием, нужна передача потомуству своих генов, тоесть наследование характеристик от родителей, с их смешением рандомайзом ... при каком количестве потомства выше выживаемость... как рыбы начали ухаживать и охранять потомство... все примеры в природе сформировались настоящей эволюции
@@khtulkiddqd8554 в природе нет цели, только правила.
@@darkfrei2 путь самурая продиктован кодексом чести, а не законами физики
выложи исполняемый файл пожалуйста, уменя собрать не получается
Подскажи пожалуйста, как запустить твой проект с гитхаба? В Vusual Studio его скопировал, а как добавить библиотеки? Я понимаю, что это очень нубский вопрос, но т.к. я не имел дела с этим раньше, хотелось бы разобраться) Хотя бы в какую сторону копать и где найти нужную инормацию
Главное - не забыть тщательно помыть руки после работы с этим кодом..... А то мало ли чего ... =)
@Тарас Атавин ахаха
@Тарас Атавин это по сути зомби вирус тока он может в само обучение если наделить машину таким разумом в скоре она может дать пиздюлей человечеству припомоши ядерного оружия или какого еще пиздеца
@Тарас Атавин АХАХ, душно
@Тарас Атавин ты нерусь
юморнул юморнул
Видел комментарий про соль. Можно сделать это как необходимый для жизни минерал, которого значительно больше в море, чем на суше, но в море нет фотосинтеза
Добавь температуру. К примеру в левом углу экрана холодно, а в правом жарко. По центру будет самая подходящая температура для жизни.
абсолютно далёк от программирования, но это потрясающе. завораживает. ледяной холодок пробежал когда хищники всех сожрали и вымерли - напомнил рассказ Азимова "день охотников"
Верно, можно получить хорошее представление насколько хрупок наш мир и насколько вообще наше существование невероятно
Почему те, кто занимаются фотосинтезом - травоядные, если они - трава?
В целом да, но на траву они тоже не похожи, потому что они все подвижны. Можно представить, что боты это бактерии. Некоторые из них занимаются фотосинтезом, а некоторые - хищники. Либо травоядные боты как бы едят травку, которая растет только в тех клетках, где есть фотосинтез.
А почему трава не может есть траву?))
@@yanas2226 тут вообще некорректно использовать слово трава, есть, например, растения лишённые хлорофилла, которые живут в симбиозе с грибами. поэтому в роликах правильнее говорить о продуцентах и консументах (т.е. тех, кто использует энергию солнца и энергию других существ).
@@noitaukkokronk прикольно
Люди из плоти едят мясо
Очень ждём продолжения .Это слишком интересная работа ,что бы её забрасывать !!!))
Спасибо автору за это видео, довольно увлекательно. Хочу предложить несколько идей: 1. Скрещивание ботов. При делении бот должен иметь число соседей, не меньше чем n(параметр в геноме). Если условие выполнено, то бот случайно выбирает n ботов и проводит скрещивание с нейросетей, которая является нейросетью нового бота. 2. На вход нейросети подовать предыдущее действие этого бота. Возможно это создаст цепочки действий. 3. После смерти бота появляется органика, падающая в океан. Органику можно съесть, но если бот окружён органикой, то он превращается в органику. 4. Состояние споры. При выполнении команды, бот превращается в спору на небольшой период и двигается вверх. Если он встречает бота или стену, то он приходит в обычное состояние. В состоянии споры бот не тратит энергию. 5. Глобальные катаклизмы. Очень редко может случится катаклизм, уровень солнечной энергии становится почти нулевым и 90% ботов умирает. Уровень низкой энергии держится 400 ходов, после чего возвращается в норму. Так же катаклизм можно вызвать самостоятельно, нажав на кнопку. 6. Приливы. Океан будет менять свой уровень в течении 30 ходов по синусоиде, в максимальной точке доходя до половины мира. 7. Жажда. Боты будут иметь жажду, то есть они будут вынуждены пить. Восполнить жажду можно тремя способами: прокантактировать с океаном, съесть бота и съесть органику. Изначально жажда бота равна 100. Если жажда ниже 50, бот не может съесть другого бота. Если ниже 30, бот не может есть органику. Если ниже 20, бот не может двигаться. Ниже 10 - невозможно фотосинтезировать. При контакте с океаном жажда восполняется автоматически, за ход на 10 едениц. Очень хочется увидеть продолжение вашего видео. Это довольно интересная идея.
пункт 2 очень хорош. запоминание состояния позволяет породить стратегическое поведение. только вот правильная реализация этого принципа не такая уж тривиальная, даже не знаю, как это правильнее сделать
@@noitaukkokronk я думаю о реализации с помощью дополнительных нейронов на входе. Будет несколько нейронов на которые будет подаваться последовательность предыдущих ходов бота
так напишите код.
@@user-gg4oe2ge1y С нейросетью реализовать пока не пробовал. Пытался добавить память ботам в симуляции foo52. Результат полностью отсутствует, боты беспорядочно двигаются. Возможно с нейросетью получится, но для экспериментов придётся переписать код с нуля
Так это же мы так и живем!!!
Всем спасибо за просмотр! Можете смело оставлять комментарии и делать любые другие манипуляции! Пока ютуб меня просмотрами не балует, в первые дни их было ноль :) Пришлось придумывать разные кликбэйты. Ваши мения по поводу улучшения качества видео особенно приветствуются.
Записывайте ещё, всё очень хорошо получилось!
Мне кажется, тема "вечнозеленая", наберет обороты постепенно. Но обороты не слишком большие).
Делай дальше, вполне неплохо, видно, что в монтаже не человек на зарплате, но при этом само содержание самоценно, очень интересно смотреть. Короче к чему я, делай дальше))
@@user-do4le2wq8m я предлагаю ввести для ботов информационную среду: следовые химические метки и цвет бота. это породит более интересные вариации на тему "свой-чужой"
Прикольный мир будто первый paint открыл а там такое залипалово. Интересно как во всём этом цимес находить. Поздравляю всех заинтересовавшихся, пойду посмотрю что ещё есть. Флуктуации корреляции миров это божественно. Тем кто считает что за недельку сотворилось в первичном бульоне - пусть попробует в математике!
<a href="#" class="seekto" data-time="690">11:30</a> Я полагаю ровность тоннелей обусловлена горизонтальной протяжностью (зацикленностью) мира: боты, геном который позволяет им безостановочно двигаться влево или вправо, поощряются наличием таких тоннелей, в то время как вертикальное движение в конечном итоге упрется в границу или море. Это также подтверждается тем фактом, что вертикальные тоннели все же существуют, их видно на видео, но ни один из них не такой ровный, как горизонтальные
Спасибо вам огромное за то что публикуете вашу работу. Невероятно интересно 👍
Спасибо, было очень интересно. Я думаю, что программу можно было бы сделать интереснее если бы: 1) существует соль, что необходима для фотосинтеза и еë можно использовать для укрепления против хищников. 2) существует изначальное количество соли, но со временем еë концентрация растëт 3) существа имеют ген от которого зависит их продолжительность жизни. После смерти остаëтся трупик, что может быть съеден, но если его не есть, он будет падать вниз 4) было бы интересно добавить вирусы и имунитет у клеток.
4) хайповая тема ))))
пишите код ё маё. на словах-то много что можно
Обычно добавление дополнительных условий и усложнение механики приводит к тому что у тебя получается нереалистичный и дисбалансный мир. Я пробовал добавлять механики трупа, механики взрыва, механики скрещивания, механики делёжки энергии с соседом, механики соли т.д. чем сложнее делал тем более унылая система получалась.
Как же будет круто когда вычислительные мощности вырастут на столько что можно будет запускать подобное не на примере кубиков, а на примере реальный 3D существ с симуляцией физики реального мира
как же не круто когда задумываешься о том, что мы можем быть такими же "кубиками" )
Я уверен, что подобные симуляции, только в место ботов были поставлены люди уже давно в работе! И было бы не плохо уже обнародовать эти расчеты, так как они бы позволили выбирать людям путь эволюционного развития, в котором бы ошибок потрясающих общество было куда меньше, или возможно совсем исключены. Но, эти отчёты под большим секретом. Я думаю, Мир так резко стал сворачиваться, что его развитие становится угрозой для власть имущих. И они стремительным образом пытаются корректировать его с помощью вирусов, войн, и цифрового контроля, а главное, сокращения населения до 500 тысяч, и перехода питания на насекомых. Все эти нововведения не случайны! Нам надо быстрее умнеть и развиваться, что бы наконец всему обществу вырваться из пасти маленькой кучки алигархата. И тратить свою энергию не на выживание, а на изучение этого Мира. Оглянитесь, сколько галактик вокруг, сколько планет не освоеных, а мы все топчется на одной планете уже больше как минимум 48 тыс. лет. Ни чего глупее и тупее и быть не может! Мы на этой планете, как белка в колесе, постоянно наступаем на одни и те же грабли. Позор!
@@dimachet5775 Главное не впадать в паранойю. К сожалению паразитная форма жизни существует с момента зарождения жизни и весьма эффективна. Нужно учиться сдерживать паразитов и самим не плошать. Люди весьма противоречивы, с одной стороны за мир и порядок, а с другой могут мусор выкидывать в окно автомобиля как будто так и должно быть.
@@victor_anik Общество строится на правилах, правах и обязанностях. Эти правила далеки от совершенства, но именно они позволяют обществу не развалится и раствориться в хаосе. Эти правила эволюционируют и позволяют развиваться обществу. Если нет тотального контроля, и ответственности за действия индивидуума, а так как поведение человека формируется от его личных качеств, приобретенных в процессе личного воспитания, то конечно человек может и выбросить мусор в окно, и пройти на красный свет, и сделать множество других не законных действий. Именно поэтому, на такой случай и существует уголовный и гражданский кодекс. Что б хоть как то корректировать поведение людей игнорирующих общественные правила. Но, если углубиться в такое поведение людей, то в большинстве случаев, отклонение в поведении обусловлено не соответствием с внутренним пониманием справедливости, или логики. Хотя и присутствуют чисто паразитарные модели поведения людей! Но, я уверен, что это болезнь, следствие не совершенной системы управления обществом. Именно поэтому я сторонник создания вот таких моделей, в которых можно виртуально создавать необходимые условия, ускоряя время и таким образом увидеть исход данного выбранного направления развития. Что бы избежать катаклизмов и не нужных людских травм, и жертв. Найдя таким образом рабочую модель, только тогда можно реализовывать на практике. Пока же мы выстраиваем наше общество в слепую.
@@victor_anik на самом деле это так и есть
Большое спасибо за интересные видео, с удовольствием посмотрю продолжение!
foo52 Классно всё сделал, тебя тоже интересно слушать :D
Попробуйте просимулировать язык общения у микробов. Дайте им возможность передавать данные и потом будет интересно изучить, какие слова что означают (конечно это будет очень сложно)))
Они передают инфу размножением. Не всем нужна 2 сигнальная система
@@bbKp3K тем кому не нужна, те и не будут пользоваться. А те кому нужна, те щас не могут получить эту инфу.
"Попробуйте просимулировать язык общения" 😆 может ещё политические взгляды и сексуальные предпочтения или культуру? у меня есть смутные подозрения что это было бы несколько затруднительно выполнить
@@user-gg4oe2ge1y нет, другое не надо. Просто даёшь команды им, которые слышат все и всё, а дальше они решают сами.
Очень рад что есть еще один канал с интересной темой про симуляцию эволюции. В комментариях много дельных предложений для развития этой программы дальше, единственное просьба добавить скомпилированный файл, для людей не имеющих возможности скачать с гитхаба. Благодарю за видео
а какой еще?
Шикарно! Мне очень понравилось видео! Такие симуляции надо детям в школе показывать
Отличная работа. Очень интересно. Спасибо!
Немедленно продолжай!Ты большой молодец!
Классная работа! Последняя симуляция, с 2мя колония из разных симуляций, прям завораживает)
Шикарный проект. Спасибо за видео!
Невероятно круто! Посмотрел подряд сразу два раза!
Это наверное одно из самых лучших видео на ютубе.
Последний эксперимент очень драматичный, конечно же.
Это нечто! Спасибо автору. Удивительно
Очень интересно! Ждем усовершенствованный мир и новых эволюций ботов )
Отличная симуляция, очень хорошо выглядит!
Всё супер! ;-)
Спасибо, это лучший блокбастер, который я посмотрел за последние недели!
Это потрясающе офигенно. У меня была идея сделать подобное, но мне не хватило навыков
Интересно , спасибо !
круто что у ботов каким-то образом есть генетическая память и унаследованная модель поведения
Отличная находка! Будем следить
Сразу подписался!!! Жутко интересно, очень круто👍
спасибо за видео!
Шикарно!
Вот после таких видео рождаются гипотезы симуляции ))
Спасибо за видео
Очень круто
Идея для развития: Различные виды ресурсов и возможность рисовать метаболические сети реакций. При этом для каждого вида движения помимо желания нейросети нужно набрать определенных ресурсов, простых либо синтезированных. Ну и выход нейросети для осуществления синтеза. Наверно сложно будет сразу "зародить жизнь" в таких условиях, поэтому изначально дать ботам некоторых ресурсов
Это настолько неожиданно.. фундаментально.
очень круто!
Супер интересно. Я залип на эти миры.
Гениально!
Где видео, я требую видео!!!
Получается мир во всём мире будет только тогда когда люди будут похожи друг на друга как 2 капли воды, то есть никогда
Было бы интересно постепенно добавить пищу.воду.температуру. и случаеные условия - погоду.
Кросивое) Думал что-то похожее намонстрячить, но с заделом на, так сказать, SPECIAL модель, когда есть какое-то количество очков, которое распределяются по-разному. Защита, атака, зрение, скорость, накопительность, распознание, мимикрия (ну и т.д. что забыл). Далее от того, сколько энергии есть, можно за ход потратить на несколько действий с разными затратами. Ну и мутации перекидывают стартовые параметры. А время жрёт накопления. Перк вроде фотосинтеза интересный) Не думал о таком) Короч воротить ненапереворотить)
Круто
Классно👍
Просто вау
Видео топ!!!
Топове відео Лайк Подписка
Фиолетовые догадались как построить коммунизм - оказывается надо просто не жрать друг друга 🤣
и съесть остальных несогласных))
При коммунистах жрать больше всего хочется
Классно. Вот бы в русло какое-нибудь пустить. Например... Сделать виртуальную машину, выполняющую/транслирующую определённый набор инструкции. И ботов, которые самодописывают свой набор инструкций. А отбор сделать по принципу "добиться от кода определённых результатов". Например, синтез речи или текста. Но система будет замкнута на учителя, это осложняет, конечно...
Интересно
мир слева направо не зациклен, а обьеденен, в общем работа классная, лайк)
Интересная тема. А можно добавить больше вводных? Подвижность с зависимостью от энергии например
Очень круто! А можно попросить выложить исполняемый файл? Я совсем не понимаю как собрать исходники и поиграться с программой самому..
у меня тоже с этим проблемы
поддерживаю и умоляю дайте экзешник
Достойно
Веселая игрушка, приятно глянуть
Дуже сподобалось!
Похоже нашего кибер биолога поработили его же создания! Ps. когда продолжение?
надо сразу делать сохранение конфигурации, чтобы можно было перезапускать при других условиях )
Это целая, маленькая вселенная))
Мне видео понравилось.
Интересный контент
Если бы созданные потомки так же отличались объемом "мозга". Т.е. предусмотрнеть мутацию сложности собственной нейросети организма. Грубо говоря дать возможность развить разум. Не знаю возможно ли это но если да - то эксперимент будет куда интересней.
класс 👍👍👍
офигеть, я оказівается подписан на этого фу52. Даже не знал.
Очень классно, было бы супер разделить видео на 3 поменьше, скажем, по 10 минут каждое. И интерфейс сделать покрупнее по возможности
А зачем делить видео по 10 минут?
Дожили. Смотрю чемпионаты по Экселю и борьбу квадратиков с другими квадратиками. Привет мультивиния.
Это потрясающе Было оч интерессно, случ нарвался и даже недумал об этой херне, Это посути ежеминутно происходить везде с этими организмами(не с ботамм) Осталось только выяснить кто круче бот или реал клетка😁
классный ролик! А на чем написанна вся эта игра?
Да куда ж ты после первого видео на 3 месяца пропал-то?.. ждём.
<a href="#" class="seekto" data-time="333">5:33</a> Хищники распространяются по всему миру Тем временем пятно каннибалов, движущееся на восток: ЗА ОРДУ!!!
Травоядным нужно добавить возможность стать ядовитыми :)
Последний опыт про мир, вечно стоящий на грани вымирания - это прям про наш. Борьба рабов и господ: последним всё мало, хочется больше, и только борьба и простест не даёт загнуться в мире тотального деспотизма.
5 месяцев прошло. Надеюсь, ты выключил эту программу? Мало куда они могут доэволионировать.
Хорошо что демонстрации долгие и можно просто понаблюдать
Так выглядит чистилище
Очень интересно и завараживающе, только не понятно с технической части описания кода для тех кто немного понимает в программировании и хотел бы повторить
интересные эксперименты . вам нужно ознакомится с фантастической оперой Гиперион . сильная штука . там описывается развитие искусственного интеллекта который развивался вот с таких вот экспериментов
интересно было бы задавать мир с определёнными параметрами, например со средним уровнем кислорода. и когда в мире будет снижаться количество ботов, произовдящих кислород, в мире начинался условный катаклизм, влияющий на всех ботов. еще так и не понял, предусмотрены ли мутации для зеленых ботов. если да, то рано или поздно они же должны были мутировать во что-то способное противостоять агрессивным красным..
Ещё никогда так не переживал ,за зелёные квадратики
<a href="#" class="seekto" data-time="1178">19:38</a> это к чему движется человечество съедая невозобновляемые ресурсы
Как обрабатываются коллизии? Если например в ряду есть 3 клетки. По краям боты, по центру свободно. Оба хотят перейти в центр. Кто перейдёт?
Надо сделать море большим размером и дать свои бонусы, например, меньше тратишь энергии на передвижение, но отсутствует фотосинтез. А сверху сделать подобие неба, где невозможен фотосинтез, но энергии тратишь больше, чем в море, но меньше, чем в основной части. Итог, в воде тратишь 1 единицу энергии, в воздухе 2, а в основной части 3,но там доступен фотосинтез.
И вот становится очевидно, почему нейросети никогда не должны применяться для принятия критичных решений. Посмотрите на симуляцию: она вроде бы довольно проста, но при этом уже возникают эффекты, объяснить которые сами же создатели симуляции не могут ("тоннели"). Это особенность нейросетей: вы не можете точно установить, почему нейросеть думает именно так, то есть вы не можете проанализировать и устранить ошибку.
можно накладывать граничные условия
Можно просто затратить побольше времени и разобраться в феномене тех же тоннелей.
Привет 👋 Хотел узнать, а на чем ты пришёл нейронку и визуализацию?
Нужно ещё настроить, чтобы при поедании не вся энергия собралась съеденного существа, а как ирл - только какой то процент. Тогда фотосинтез может не умереть
Прошу, добавьте скомпилированную программу на гитхаб или подробные интсрукции для сборки. Я далек от IT и не могу понять, как это все сделать.
Залипательно
Теперь я знаю как появилась игра Марио (динозавры из 90х меня поймут)
Интересно создать такие условия когда возникнут устойчивые "многоклеточные" организмы которые будут взаимодействовать с другими "многоклеточными"
Занимательная история Возможно ли просмотреть 2-х ботов в бесконечном пространстве?
Хотелось бы запустить на своём ПК, но шарится в файлах крайне сложно, будет ли более удобное для запуска приложение или это не ваше?
говорю сразу в искуственой жизни обязательно должен быть ген на увеличение колва генов
Кажется наш мир тоже может быть симуляцией.