Искусственная жизнь, симулятор эволюции ботов c генетическим алгоритмом (Кибербиология)
Вставка
- Опубліковано 26 вер 2024
- Эволюция виртуальных организмов, программа написана для развлечения. Можно наблюдать разные искусственные формы жизни в выдуманном мире! Рекомендую также посмотреть ролики ТехноШамана ( foo52ru )!
Исходный код программы:
github.com/Oak...
***
Пару слов о том что я использовал для создания программы. Программа написана на языке С++ с использованием графической библиотеки SDL и библиотеки интерфейса Dear ImGUI. Реализация перцептрона написана без применения библиотек ввиду своей простоты. Многопоточность реализована также с помощью стандартной библиотеки языка.
Второе видео:
ua-cam.com/video/vhRxwRr77dk/v-deo.html
баловство все это... и тупиковое направление, а чтоб создавать что-то прогрессирующее, модель надо формировать как на самом деле формировалась на земле жизнь, есть несколько лекций Дробышевского об эволюции, о питании и размножении, и над этим стоит задуматся, а еще послушать пару лекций профессора Савельева о мозге, тогда могут сформироватся принципиально новые концепции эволюции, а если кратко... то разговор о трех движущих силах в природе, размножение, питание и доминантность, под питанием чаще всего подразумевается канибализм, но его недостаточно для питания, канибализм так-же является и частью доминантности... и как у тарантулов и богомолов, частью размножения, поедание самцва, выполнившего свои функции... а еще, обязательным условием, нужна передача потомуству своих генов, тоесть наследование характеристик от родителей, с их смешением рандомайзом ... при каком количестве потомства выше выживаемость... как рыбы начали ухаживать и охранять потомство... все примеры в природе сформировались настоящей эволюции
@@khtulkiddqd8554 в природе нет цели, только правила.
@@darkfrei2 путь самурая продиктован кодексом чести, а не законами физики
выложи исполняемый файл пожалуйста, уменя собрать не получается
Подскажи пожалуйста, как запустить твой проект с гитхаба? В Vusual Studio его скопировал, а как добавить библиотеки? Я понимаю, что это очень нубский вопрос, но т.к. я не имел дела с этим раньше, хотелось бы разобраться) Хотя бы в какую сторону копать и где найти нужную инормацию
Главное - не забыть тщательно помыть руки после работы с этим кодом..... А то мало ли чего ... =)
@Тарас Атавин ахаха
@Тарас Атавин это по сути зомби вирус тока он может в само обучение если наделить машину таким разумом в скоре она может дать пиздюлей человечеству припомоши ядерного оружия или какого еще пиздеца
@Тарас Атавин АХАХ, душно
@Тарас Атавин ты нерусь
юморнул юморнул
Видел комментарий про соль. Можно сделать это как необходимый для жизни минерал, которого значительно больше в море, чем на суше, но в море нет фотосинтеза
Спасибо автору за это видео, довольно увлекательно. Хочу предложить несколько идей:
1. Скрещивание ботов. При делении бот должен иметь число соседей, не меньше чем n(параметр в геноме). Если условие выполнено, то бот случайно выбирает n ботов и проводит скрещивание с нейросетей, которая является нейросетью нового бота.
2. На вход нейросети подовать предыдущее действие этого бота. Возможно это создаст цепочки действий.
3. После смерти бота появляется органика, падающая в океан. Органику можно съесть, но если бот окружён органикой, то он превращается в органику.
4. Состояние споры. При выполнении команды, бот превращается в спору на небольшой период и двигается вверх. Если он встречает бота или стену, то он приходит в обычное состояние. В состоянии споры бот не тратит энергию.
5. Глобальные катаклизмы. Очень редко может случится катаклизм, уровень солнечной энергии становится почти нулевым и 90% ботов умирает. Уровень низкой энергии держится 400 ходов, после чего возвращается в норму. Так же катаклизм можно вызвать самостоятельно, нажав на кнопку.
6. Приливы. Океан будет менять свой уровень в течении 30 ходов по синусоиде, в максимальной точке доходя до половины мира.
7. Жажда. Боты будут иметь жажду, то есть они будут вынуждены пить. Восполнить жажду можно тремя способами: прокантактировать с океаном, съесть бота и съесть органику. Изначально жажда бота равна 100. Если жажда ниже 50, бот не может съесть другого бота. Если ниже 30, бот не может есть органику. Если ниже 20, бот не может двигаться. Ниже 10 - невозможно фотосинтезировать.
При контакте с океаном жажда восполняется автоматически, за ход на 10 едениц.
Очень хочется увидеть продолжение вашего видео. Это довольно интересная идея.
пункт 2 очень хорош. запоминание состояния позволяет породить стратегическое поведение. только вот правильная реализация этого принципа не такая уж тривиальная, даже не знаю, как это правильнее сделать
@@noitaukkokronk я думаю о реализации с помощью дополнительных нейронов на входе. Будет несколько нейронов на которые будет подаваться последовательность предыдущих ходов бота
так напишите код.
@@ДионисийНирванов С нейросетью реализовать пока не пробовал. Пытался добавить память ботам в симуляции foo52. Результат полностью отсутствует, боты беспорядочно двигаются. Возможно с нейросетью получится, но для экспериментов придётся переписать код с нуля
Так это же мы так и живем!!!
Почему те, кто занимаются фотосинтезом - травоядные, если они - трава?
В целом да, но на траву они тоже не похожи, потому что они все подвижны. Можно представить, что боты это бактерии. Некоторые из них занимаются фотосинтезом, а некоторые - хищники. Либо травоядные боты как бы едят травку, которая растет только в тех клетках, где есть фотосинтез.
А почему трава не может есть траву?))
@@yanas2226 тут вообще некорректно использовать слово трава, есть, например, растения лишённые хлорофилла, которые живут в симбиозе с грибами. поэтому в роликах правильнее говорить о продуцентах и консументах (т.е. тех, кто использует энергию солнца и энергию других существ).
@@noitaukkokronk прикольно
Люди из плоти едят мясо
Добавь температуру. К примеру в левом углу экрана холодно, а в правом жарко. По центру будет самая подходящая температура для жизни.
Очень ждём продолжения .Это слишком интересная работа ,что бы её забрасывать !!!))
11:30
Я полагаю ровность тоннелей обусловлена горизонтальной протяжностью (зацикленностью) мира: боты, геном который позволяет им безостановочно двигаться влево или вправо, поощряются наличием таких тоннелей, в то время как вертикальное движение в конечном итоге упрется в границу или море. Это также подтверждается тем фактом, что вертикальные тоннели все же существуют, их видно на видео, но ни один из них не такой ровный, как горизонтальные
Всем спасибо за просмотр! Можете смело оставлять комментарии и делать любые другие манипуляции! Пока ютуб меня просмотрами не балует, в первые дни их было ноль :) Пришлось придумывать разные кликбэйты. Ваши мения по поводу улучшения качества видео особенно приветствуются.
Записывайте ещё, всё очень хорошо получилось!
Мне кажется, тема "вечнозеленая", наберет обороты постепенно. Но обороты не слишком большие).
Делай дальше, вполне неплохо, видно, что в монтаже не человек на зарплате, но при этом само содержание самоценно, очень интересно смотреть. Короче к чему я, делай дальше))
@@ОлегНелюбин-г6д я предлагаю ввести для ботов информационную среду: следовые химические метки и цвет бота. это породит более интересные вариации на тему "свой-чужой"
Прикольный мир будто первый paint открыл а там такое залипалово. Интересно как во всём этом цимес находить. Поздравляю всех заинтересовавшихся, пойду посмотрю что ещё есть. Флуктуации корреляции миров это божественно. Тем кто считает что за недельку сотворилось в первичном бульоне - пусть попробует в математике!
Спасибо, было очень интересно.
Я думаю, что программу можно было бы сделать интереснее если бы:
1) существует соль, что необходима для фотосинтеза и еë можно использовать для укрепления против хищников.
2) существует изначальное количество соли, но со временем еë концентрация растëт
3) существа имеют ген от которого зависит их продолжительность жизни. После смерти остаëтся трупик, что может быть съеден, но если его не есть, он будет падать вниз
4) было бы интересно добавить вирусы и имунитет у клеток.
4) хайповая тема ))))
пишите код ё маё. на словах-то много что можно
Обычно добавление дополнительных условий и усложнение механики приводит к тому что у тебя получается нереалистичный и дисбалансный мир. Я пробовал добавлять механики трупа, механики взрыва, механики скрещивания, механики делёжки энергии с соседом, механики соли т.д. чем сложнее делал тем более унылая система получалась.
Очень рад что есть еще один канал с интересной темой про симуляцию эволюции. В комментариях много дельных предложений для развития этой программы дальше, единственное просьба добавить скомпилированный файл, для людей не имеющих возможности скачать с гитхаба. Благодарю за видео
а какой еще?
Супер интересно. Я залип на эти миры.
foo52 Классно всё сделал, тебя тоже интересно слушать :D
Попробуйте просимулировать язык общения у микробов.
Дайте им возможность передавать данные и потом будет интересно изучить, какие слова что означают (конечно это будет очень сложно)))
Они передают инфу размножением. Не всем нужна 2 сигнальная система
@@bbKp3K тем кому не нужна, те и не будут пользоваться. А те кому нужна, те щас не могут получить эту инфу.
"Попробуйте просимулировать язык общения" 😆 может ещё политические взгляды и сексуальные предпочтения или культуру? у меня есть смутные подозрения что это было бы несколько затруднительно выполнить
@@ДионисийНирванов нет, другое не надо.
Просто даёшь команды им, которые слышат все и всё, а дальше они решают сами.
Последний эксперимент очень драматичный, конечно же.
круто что у ботов каким-то образом есть генетическая память и унаследованная модель поведения
Большое спасибо за интересные видео, с удовольствием посмотрю продолжение!
Немедленно продолжай!Ты большой молодец!
Шикарно! Мне очень понравилось видео!
Такие симуляции надо детям в школе показывать
Спасибо, это лучший блокбастер, который я посмотрел за последние недели!
Очень интересно! Ждем усовершенствованный мир и новых эволюций ботов )
абсолютно далёк от программирования, но это потрясающе.
завораживает.
ледяной холодок пробежал когда хищники всех сожрали и вымерли - напомнил рассказ Азимова "день охотников"
Верно, можно получить хорошее представление насколько хрупок наш мир и насколько вообще наше существование невероятно
Фиолетовые догадались как построить коммунизм - оказывается надо просто не жрать друг друга 🤣
и съесть остальных несогласных))
При коммунистах жрать больше всего хочется
Отличная симуляция, очень хорошо выглядит!
Отличная работа. Очень интересно. Спасибо!
Вот после таких видео рождаются гипотезы симуляции ))
Это наверное одно из самых лучших видео на ютубе.
Это потрясающе офигенно. У меня была идея сделать подобное, но мне не хватило навыков
Всё супер!
;-)
Классная работа! Последняя симуляция, с 2мя колония из разных симуляций, прям завораживает)
Последний опыт про мир, вечно стоящий на грани вымирания - это прям про наш. Борьба рабов и господ: последним всё мало, хочется больше, и только борьба и простест не даёт загнуться в мире тотального деспотизма.
Я ещё не настолько эволюционировал, чтобы запустить этот код, а автор не на столько эвалюционировал, чтоб понять, что в мире существуют простейшие, которым нужен ярлык для запуска программы в папке под виндоус)
проект очень крутой, но для многих некчёмный по тому что тупо сложно понять как запустить
Получается мир во всём мире будет только тогда когда люди будут похожи друг на друга как 2 капли воды, то есть никогда
5:33
Хищники распространяются по всему миру
Тем временем пятно каннибалов, движущееся на восток: ЗА ОРДУ!!!
Где видео, я требую видео!!!
Дожили. Смотрю чемпионаты по Экселю и борьбу квадратиков с другими квадратиками. Привет мультивиния.
Классно. Вот бы в русло какое-нибудь пустить. Например... Сделать виртуальную машину, выполняющую/транслирующую определённый набор инструкции. И ботов, которые самодописывают свой набор инструкций. А отбор сделать по принципу "добиться от кода определённых результатов". Например, синтез речи или текста. Но система будет замкнута на учителя, это осложняет, конечно...
И вот становится очевидно, почему нейросети никогда не должны применяться для принятия критичных решений. Посмотрите на симуляцию: она вроде бы довольно проста, но при этом уже возникают эффекты, объяснить которые сами же создатели симуляции не могут ("тоннели"). Это особенность нейросетей: вы не можете точно установить, почему нейросеть думает именно так, то есть вы не можете проанализировать и устранить ошибку.
можно накладывать граничные условия
Можно просто затратить побольше времени и разобраться в феномене тех же тоннелей.
мир слева направо не зациклен, а обьеденен, в общем работа классная, лайк)
Было бы интересно постепенно добавить пищу.воду.температуру. и случаеные условия - погоду.
Отличная находка!
Будем следить
19:38 это к чему движется человечество съедая невозобновляемые ресурсы
Очень круто! А можно попросить выложить исполняемый файл? Я совсем не понимаю как собрать исходники и поиграться с программой самому..
у меня тоже с этим проблемы
поддерживаю и умоляю дайте экзешник
Травоядным нужно добавить возможность стать ядовитыми :)
Очень классно, было бы супер разделить видео на 3 поменьше, скажем, по 10 минут каждое. И интерфейс сделать покрупнее по возможности
А зачем делить видео по 10 минут?
Это потрясающе
Было оч интерессно, случ нарвался и даже недумал об этой херне,
Это посути ежеминутно происходить везде с этими организмами(не с ботамм)
Осталось только выяснить кто круче бот или реал клетка😁
Теперь я знаю как появилась игра Марио (динозавры из 90х меня поймут)
Кросивое)
Думал что-то похожее намонстрячить, но с заделом на, так сказать, SPECIAL модель, когда есть какое-то количество очков, которое распределяются по-разному. Защита, атака, зрение, скорость, накопительность, распознание, мимикрия (ну и т.д. что забыл). Далее от того, сколько энергии есть, можно за ход потратить на несколько действий с разными затратами. Ну и мутации перекидывают стартовые параметры. А время жрёт накопления. Перк вроде фотосинтеза интересный) Не думал о таком) Короч воротить ненапереворотить)
Это нечто! Спасибо автору. Удивительно
Невероятно круто! Посмотрел подряд сразу два раза!
Похоже нашего кибер биолога поработили его же создания! Ps. когда продолжение?
Мне кажется что не хватает существами способности защищать себя, что бы процесс атаки был не простым и требовал либо слаженных действий, либо особого упорства
Интересно
говорю сразу в искуственой жизни обязательно должен быть ген на увеличение колва генов
Нужно поставить задачу, которую разбить на два этапа: 0) создать среду обитания чтобы она была максимально приближена к условиям на планете Земля 1) дождаться эволюционирования чат-ботов в сложные организмы (в итоге они должны быть разнообразны настолько, насколько разнообразна среда их обитания) 2) Продолжить эволюцию уже сложных организмов до тех пор, пока они не начнут проявлять зачатки разума. К этому времени постараться подготовить какую-то обратную связь по эту сторону экрана компьютера - средства коммуникации, которыми можно отвечать - видеокамера, мышь, клавиатура и т.д. (иначе ИИ будет развиваться абсолютно не зная о существовании внешнего разума и никакого контакта не получится) Ну а дальше - объяснять ничего не нужно. Однако - если пойти в рассуждениях дальше: зародыши разума - чат-ботов прошедших весь этот путь эволюции, у которых будут уже сформированы все необходимые рефлексы, понимание окружающего мира можно продавать. Каждый может покупать их и дальше, уже в домашних условиях, в специальной программе дообучать их в соответствии со своими потребностями. тут процесс обучения будет схож с человеческим. На самотек его пускать нельзя. Постоянная обратная связь. Уточняющие вопросы со стороны ИИ и ответы человека. Ну, примерно в общем как ребенка учат.
Кажется наш мир тоже может быть симуляцией.
В свое время вдохновился энтузиазмом ТехноШамана (когда он еще не был собой). Повторил его эксперимент с некоторым упрощением и одновременно усложнением мира и генома ботов. Но этого было недостаточно, а внутренний гений требовал продолжения эксперимента. Еще тогда начал обдумывать половое размножение ботов, но ни одна из идей не была пригодна для получения вменяемых результатов. Ведь сделать для того чтобы сделать - это так себе цель. Я хотел сделать так, чтобы это имело реальный смысл для киберэволюции и естественного отбора. Короче, постепенно быт взял свое и эти разработки были закинуты в дальний угол.
Теперь, посмотрев код видео этого автора и поглазев его исходники, я вновь загорелся идеей создания полового размножения. Теперь я знаю как сделать не только половое размножение, но и рефлексы и реакцию бота на события, а также закрепление полезных навыков в поколениях (что-то вроде врожденных инстинктов особей из конкретной популяции).
В общем буду творить. Определенно есть шансы на вменяемую реализацию всего выше описанного.
С удовольствием посмотрю вашу программу, успехов.
У меня новая идея: Добавьте в гены возможность перемещаться во времени))
Особенно будет интересно проследить за таким путешественником, узнать как он применяет эти умения.
Это практически нереально реализовать, потому что компьютер не может просчитывать будущее заранее, пока симулирует настоящее
Увы :(
@@Слышьты-ф4ю я имел ввиду перемещаться в прошлое, проматывая шаги окружающих в обратную сторону или делать снимок какой-то секунды и просто по желанию букашки тепешить её в это окружение. Впрочем в будущее тоже ведь можно, просто надо заморозить букашку, ускоренно просчитать события и вернуть букашку в получившееся окружение.
@@НектоНеизвестный-в1р а как решать, кто двигается, если путешественников хотя бы двое?
@@НектоНеизвестный-в1р в будущее как раз несложно
Это настолько неожиданно.. фундаментально.
Нужно ещё настроить, чтобы при поедании не вся энергия собралась съеденного существа, а как ирл - только какой то процент. Тогда фотосинтез может не умереть
Веселая игрушка, приятно глянуть
5 месяцев прошло. Надеюсь, ты выключил эту программу? Мало куда они могут доэволионировать.
Шикарно!
Уверен подобных моделей разработано очень много. Именно поэтому Мир в котором мы с Вами живём так резко стал меняется. Видимо с помощью таких или подобных моделей было спрогназировано наше будущее. Очень перспективное направление для изучения будущего. Вводим серию определенных данных, ускоряем процесс и получаем результат. Гениально! Вот только в чьих руках окажутся такие расчеты? Подобной техникой расчета можно добиваться результатов как с пользой для общества, так и нет. Это своего рода оружие. И судя по тому как меняется наш Мир, это оружие далеко не в хороших руках.
будущее давно спрогнозировано на примере огня. есть топливо - огонь горит, размножается. нет топлива - огонь выгорел, всё успокоилось
@@victor_anik Гениально! ))) Вот только огонь, это энергия! А энергия ни куда не исчезает, а переходит из одного состояния, в другое. И все что нас окружает и мы в том числе, это всё, энергия!
@@dimachet5775 ну не совсем огонь энергия, скорее высвобождение энергии из одной формы в другую.
огонь это цепная реакция.
размножение существ тоже цепная реакция. автокатализ тоже цепная реакция. посему начало жизни нужно искать в простейшем автокатализе
@@victor_anik Я понимаю какую мысль Вы хотели донести. Но, на мой взгляд такое высказывание не корректно. Извините.
@@victor_anik Есть энергия кинетическая, и потенциальная. Видов энергии множество! Это и тепловая, световая, звуковая, электрическая, магнитная, эл.статическая, ядерная, термоядерная и т.д. А вот процессы перехода энергии из одного состояния в другое могут отличаться немного, или совсем, но как правило этот процесс как Вы правильно подметили лавинный, стремительный.
Интересно , спасибо !
Да куда ж ты после первого видео на 3 месяца пропал-то?.. ждём.
стоить добавить, что это эволюция слепых существ с мгновенным пищеварением и мгновенным размножением без периода уязвимости (это про "хищников")
7:38 Так вот как появилась империя Obsidian time! Слава империи!
Ещё никогда так не переживал ,за зелёные квадратики
Эх, был бы я программистом! У меня-то фантазии хватает - у меня давно бы эта штука до разума эволюционировала! Жаль я поздно хватился - надо было в 90-е годы ещё изучать программирование, как только компы появились! А то с DOSом, Нортоном и Quick-бейсиком поэкспериментировал и всё, увы.
Это ШУЕ или реально есть некие кибер биологии которые занимаются исследованием абстрактных цифровых животных в кибер пространстве?
Интересная тема. А можно добавить больше вводных? Подвижность с зависимостью от энергии например
офигеть, я оказівается подписан на этого фу52. Даже не знал.
Как биолог могу сказать, что это очень интересная модель, но не сильно похожая на поведение реальных микроорганизмов
Дам важную наводку для того чтобы получить идеальную симуляцию. Для этого код организмов и окружающую среду нужно делать на основе системы У-СИН. По этой схеме организована жизни на нашей Земле. Т.е. она заведомом рабочая. 5 первоэлементов и между ними система разрушающих и созидающих связей.
Классы при медативный, вещь.
Ботам не хватает способности "переносить" в себе воду ) Именно не выпивать её бесследно, а как у живых существ - попил/вспотел/испражнился. Было бы интересно, я полагаю.
Идеи - разная плотность поступления солнечной энергии на каждый пиксель. Добавление различных ресурсов, необходимых для жизни, вода, еда, минералы. Сезонность и климатические изменения. Возможность ботов объединяться в организмы крупнее чем 1 клетка, допустим часть ботов передвигают весь организм, другие накапливают энергию из фотосинтеза и распределяют ее по оставшимся.
Есть довольно забавная конфигурация для исследования, как одно общество может поглотить другое
Есть 2 вида A и B, у которых есть 2 подвида "1" и "2"
толпа А слева , толпа B справа
А1 -- мирные их много , кормят А2
А2 -- хищник(теppористы) их мало поедают всех B и иногда всех А
B1 -- мирные их много кормят B2
B2 -- хищник(полиция) поедает только A2
соседство А и B имеет интересную динамику и связано с реальной динамикой общества
Мне видео понравилось.
Очень круто
16:40
И тут в студию ворвался Пушной
Это целая, маленькая вселенная))
На 14-30 пара корней полетели по диагонали слева направо вниз в левой части экрана. Удивительная мутация! Что их заставило? (Умерли правда - как метеоры сгорели в пути)
внимание ты пропустил один геном появившийся на 1 секунду это торпеда - хищник который летит строго вверх и пожирает всё на своём пути
Достойно
Как же это интересно. Жду когда до игр дойдёт что-то подобное, представьте условный Spore но с такой крутой симуляцией, а не те заскриптованные донатные помойки которые выпускают сейчас...
интересные эксперименты . вам нужно ознакомится с фантастической оперой Гиперион . сильная штука . там описывается развитие искусственного интеллекта который развивался вот с таких вот экспериментов
Интересно создать такие условия когда возникнут устойчивые "многоклеточные" организмы которые будут взаимодействовать с другими "многоклеточными"
спасибо за видео!
тот самый вася обдристаловкин бежит писать "а есть на андроид?"
Хотелось бы запустить на своём ПК, но шарится в файлах крайне сложно, будет ли более удобное для запуска приложение или это не ваше?
Эти игрушки ещё яснее показывают, мироздание возникло благодаря Разуму, есть Бог!
Есть доказательства того, что бог существует?
@@tyga9202 конечно! Любая система - показывает, что есть Творец
@@andrerevez4970 , пока что не вижу доказательств, а только голословщину.
@@tyga9202 откуда взялся большой взрыв? Из точки? А точка откуда взялась?
@@tyga9202 система
Спасибо за видео
9:05 "Существуют большие колонии растений, которые занимаются фотосинтезом, а также несколько колоний хищников, медленно поедающих их"
Хищники которые едят траву.
22:10 получилась реакция Белоусова
интересно было бы задавать мир с определёнными параметрами, например со средним уровнем кислорода. и когда в мире будет снижаться количество ботов, произовдящих кислород, в мире начинался условный катаклизм, влияющий на всех ботов.
еще так и не понял, предусмотрены ли мутации для зеленых ботов. если да, то рано или поздно они же должны были мутировать во что-то способное противостоять агрессивным красным..
Все возможные полосы в Ваших процессах вызваны последовательным перебором матрицы при итерациях расчётов каждой клеточки. Если вы переделаете расчёты на многопоточку и будете расчитывать каждую клетку в рандомной последовательности, то получите результаты более хаотичные.
Какие еще полосы?
@@Cyberbiolog видимо имеются в виду тоннели
@@Cyberbiolog имею ввиду все аномалии, которые возникают в четко заданном направлении. Группы снизу вверх, с права на лево, корни и т.д.
Хорошо что демонстрации долгие и можно просто понаблюдать
По названию думал что речь пойдёт про "super worldbox" )