Искусственная жизнь, симулятор эволюции ботов c генетическим алгоритмом (Кибербиология)
HTML-код
- Опубликовано: 16 фев 2022
- Эволюция виртуальных организмов, программа написана для развлечения. Можно наблюдать разные искусственные формы жизни в выдуманном мире! Рекомендую также посмотреть ролики ТехноШамана ( foo52ru )!
Исходный код программы:
github.com/OakwoodTable/Cyber...
***
Пару слов о том что я использовал для создания программы. Программа написана на языке С++ с использованием графической библиотеки SDL и библиотеки интерфейса Dear ImGUI. Реализация перцептрона написана без применения библиотек ввиду своей простоты. Многопоточность реализована также с помощью стандартной библиотеки языка. Наука
Второе видео:
ruclips.net/video/vhRxwRr77dk/видео.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 я думаю о реализации с помощью дополнительных нейронов на входе. Будет несколько нейронов на которые будет подаваться последовательность предыдущих ходов бота
так напишите код.
@@user-gg4oe2ge1y С нейросетью реализовать пока не пробовал. Пытался добавить память ботам в симуляции foo52. Результат полностью отсутствует, боты беспорядочно двигаются. Возможно с нейросетью получится, но для экспериментов придётся переписать код с нуля
Так это же мы так и живем!!!
Почему те, кто занимаются фотосинтезом - травоядные, если они - трава?
В целом да, но на траву они тоже не похожи, потому что они все подвижны. Можно представить, что боты это бактерии. Некоторые из них занимаются фотосинтезом, а некоторые - хищники. Либо травоядные боты как бы едят травку, которая растет только в тех клетках, где есть фотосинтез.
А почему трава не может есть траву?))
@@yanas2226 тут вообще некорректно использовать слово трава, есть, например, растения лишённые хлорофилла, которые живут в симбиозе с грибами. поэтому в роликах правильнее говорить о продуцентах и консументах (т.е. тех, кто использует энергию солнца и энергию других существ).
@@noitaukkokronk прикольно
Люди из плоти едят мясо
Очень ждём продолжения .Это слишком интересная работа ,что бы её забрасывать !!!))
11:30
Я полагаю ровность тоннелей обусловлена горизонтальной протяжностью (зацикленностью) мира: боты, геном который позволяет им безостановочно двигаться влево или вправо, поощряются наличием таких тоннелей, в то время как вертикальное движение в конечном итоге упрется в границу или море. Это также подтверждается тем фактом, что вертикальные тоннели все же существуют, их видно на видео, но ни один из них не такой ровный, как горизонтальные
Всем спасибо за просмотр! Можете смело оставлять комментарии и делать любые другие манипуляции! Пока ютуб меня просмотрами не балует, в первые дни их было ноль :) Пришлось придумывать разные кликбэйты. Ваши мения по поводу улучшения качества видео особенно приветствуются.
Записывайте ещё, всё очень хорошо получилось!
Мне кажется, тема "вечнозеленая", наберет обороты постепенно. Но обороты не слишком большие).
Делай дальше, вполне неплохо, видно, что в монтаже не человек на зарплате, но при этом само содержание самоценно, очень интересно смотреть. Короче к чему я, делай дальше))
@@user-do4le2wq8m я предлагаю ввести для ботов информационную среду: следовые химические метки и цвет бота. это породит более интересные вариации на тему "свой-чужой"
Прикольный мир будто первый paint открыл а там такое залипалово. Интересно как во всём этом цимес находить. Поздравляю всех заинтересовавшихся, пойду посмотрю что ещё есть. Флуктуации корреляции миров это божественно. Тем кто считает что за недельку сотворилось в первичном бульоне - пусть попробует в математике!
Как же будет круто когда вычислительные мощности вырастут на столько что можно будет запускать подобное не на примере кубиков, а на примере реальный 3D существ с симуляцией физики реального мира
как же не круто когда задумываешься о том, что мы можем быть такими же "кубиками" )
Я уверен, что подобные симуляции, только в место ботов были поставлены люди уже давно в работе! И было бы не плохо уже обнародовать эти расчеты, так как они бы позволили выбирать людям путь эволюционного развития, в котором бы ошибок потрясающих общество было куда меньше, или возможно совсем исключены. Но, эти отчёты под большим секретом. Я думаю, Мир так резко стал сворачиваться, что его развитие становится угрозой для власть имущих. И они стремительным образом пытаются корректировать его с помощью вирусов, войн, и цифрового контроля, а главное, сокращения населения до 500 тысяч, и перехода питания на насекомых. Все эти нововведения не случайны! Нам надо быстрее умнеть и развиваться, что бы наконец всему обществу вырваться из пасти маленькой кучки алигархата. И тратить свою энергию не на выживание, а на изучение этого Мира. Оглянитесь, сколько галактик вокруг, сколько планет не освоеных, а мы все топчется на одной планете уже больше как минимум 48 тыс. лет. Ни чего глупее и тупее и быть не может! Мы на этой планете, как белка в колесе, постоянно наступаем на одни и те же грабли. Позор!
@@dimachet5775 Главное не впадать в паранойю. К сожалению паразитная форма жизни существует с момента зарождения жизни и весьма эффективна. Нужно учиться сдерживать паразитов и самим не плошать. Люди весьма противоречивы, с одной стороны за мир и порядок, а с другой могут мусор выкидывать в окно автомобиля как будто так и должно быть.
@@victor_anik Общество строится на правилах, правах и обязанностях. Эти правила далеки от совершенства, но именно они позволяют обществу не развалится и раствориться в хаосе. Эти правила эволюционируют и позволяют развиваться обществу. Если нет тотального контроля, и ответственности за действия индивидуума, а так как поведение человека формируется от его личных качеств, приобретенных в процессе личного воспитания, то конечно человек может и выбросить мусор в окно, и пройти на красный свет, и сделать множество других не законных действий. Именно поэтому, на такой случай и существует уголовный и гражданский кодекс. Что б хоть как то корректировать поведение людей игнорирующих общественные правила. Но, если углубиться в такое поведение людей, то в большинстве случаев, отклонение в поведении обусловлено не соответствием с внутренним пониманием справедливости, или логики. Хотя и присутствуют чисто паразитарные модели поведения людей! Но, я уверен, что это болезнь, следствие не совершенной системы управления обществом. Именно поэтому я сторонник создания вот таких моделей, в которых можно виртуально создавать необходимые условия, ускоряя время и таким образом увидеть исход данного выбранного направления развития. Что бы избежать катаклизмов и не нужных людских травм, и жертв. Найдя таким образом рабочую модель, только тогда можно реализовывать на практике. Пока же мы выстраиваем наше общество в слепую.
@@victor_anik на самом деле это так и есть
Последний эксперимент очень драматичный, конечно же.
Большое спасибо за интересные видео, с удовольствием посмотрю продолжение!
Спасибо вам огромное за то что публикуете вашу работу. Невероятно интересно 👍
круто что у ботов каким-то образом есть генетическая память и унаследованная модель поведения
foo52 Классно всё сделал, тебя тоже интересно слушать :D
Отличная работа. Очень интересно. Спасибо!
Спасибо, было очень интересно.
Я думаю, что программу можно было бы сделать интереснее если бы:
1) существует соль, что необходима для фотосинтеза и еë можно использовать для укрепления против хищников.
2) существует изначальное количество соли, но со временем еë концентрация растëт
3) существа имеют ген от которого зависит их продолжительность жизни. После смерти остаëтся трупик, что может быть съеден, но если его не есть, он будет падать вниз
4) было бы интересно добавить вирусы и имунитет у клеток.
4) хайповая тема ))))
пишите код ё маё. на словах-то много что можно
Обычно добавление дополнительных условий и усложнение механики приводит к тому что у тебя получается нереалистичный и дисбалансный мир. Я пробовал добавлять механики трупа, механики взрыва, механики скрещивания, механики делёжки энергии с соседом, механики соли т.д. чем сложнее делал тем более унылая система получалась.
Шикарно! Мне очень понравилось видео!
Такие симуляции надо детям в школе показывать
Очень интересно! Ждем усовершенствованный мир и новых эволюций ботов )
Немедленно продолжай!Ты большой молодец!
Шикарный проект. Спасибо за видео!
Это нечто! Спасибо автору. Удивительно
Спасибо, это лучший блокбастер, который я посмотрел за последние недели!
Очень рад что есть еще один канал с интересной темой про симуляцию эволюции. В комментариях много дельных предложений для развития этой программы дальше, единственное просьба добавить скомпилированный файл, для людей не имеющих возможности скачать с гитхаба. Благодарю за видео
а какой еще?
Классная работа! Последняя симуляция, с 2мя колония из разных симуляций, прям завораживает)
Это наверное одно из самых лучших видео на ютубе.
Отличная симуляция, очень хорошо выглядит!
Невероятно круто! Посмотрел подряд сразу два раза!
Супер интересно. Я залип на эти миры.
Отличная находка!
Будем следить
Попробуйте просимулировать язык общения у микробов.
Дайте им возможность передавать данные и потом будет интересно изучить, какие слова что означают (конечно это будет очень сложно)))
Они передают инфу размножением. Не всем нужна 2 сигнальная система
@@bbKp3K тем кому не нужна, те и не будут пользоваться. А те кому нужна, те щас не могут получить эту инфу.
"Попробуйте просимулировать язык общения" 😆 может ещё политические взгляды и сексуальные предпочтения или культуру? у меня есть смутные подозрения что это было бы несколько затруднительно выполнить
@@user-gg4oe2ge1y нет, другое не надо.
Просто даёшь команды им, которые слышат все и всё, а дальше они решают сами.
Всё супер!
;-)
Вот после таких видео рождаются гипотезы симуляции ))
Сразу подписался!!! Жутко интересно, очень круто👍
Это потрясающе офигенно. У меня была идея сделать подобное, но мне не хватило навыков
Шикарно!
Интересно , спасибо !
Очень круто
Где видео, я требую видео!!!
Фиолетовые догадались как построить коммунизм - оказывается надо просто не жрать друг друга 🤣
и съесть остальных несогласных))
При коммунистах жрать больше всего хочется
Получается мир во всём мире будет только тогда когда люди будут похожи друг на друга как 2 капли воды, то есть никогда
Гениально!
Спасибо за видео
спасибо за видео!
Я ещё не настолько эволюционировал, чтобы запустить этот код, а автор не на столько эвалюционировал, чтоб понять, что в мире существуют простейшие, которым нужен ярлык для запуска программы в папке под виндоус)
проект очень крутой, но для многих некчёмный по тому что тупо сложно понять как запустить
Веселая игрушка, приятно глянуть
Идея для развития: Различные виды ресурсов и возможность рисовать метаболические сети реакций. При этом для каждого вида движения помимо желания нейросети нужно набрать определенных ресурсов, простых либо синтезированных. Ну и выход нейросети для осуществления синтеза.
Наверно сложно будет сразу "зародить жизнь" в таких условиях, поэтому изначально дать ботам некоторых ресурсов
Это настолько неожиданно.. фундаментально.
Интересно
Дожили. Смотрю чемпионаты по Экселю и борьбу квадратиков с другими квадратиками. Привет мультивиния.
Мне видео понравилось.
очень круто!
Просто вау
мир слева направо не зациклен, а обьеденен, в общем работа классная, лайк)
Было бы интересно постепенно добавить пищу.воду.температуру. и случаеные условия - погоду.
Последний опыт про мир, вечно стоящий на грани вымирания - это прям про наш. Борьба рабов и господ: последним всё мало, хочется больше, и только борьба и простест не даёт загнуться в мире тотального деспотизма.
Кросивое)
Думал что-то похожее намонстрячить, но с заделом на, так сказать, SPECIAL модель, когда есть какое-то количество очков, которое распределяются по-разному. Защита, атака, зрение, скорость, накопительность, распознание, мимикрия (ну и т.д. что забыл). Далее от того, сколько энергии есть, можно за ход потратить на несколько действий с разными затратами. Ну и мутации перекидывают стартовые параметры. А время жрёт накопления. Перк вроде фотосинтеза интересный) Не думал о таком) Короч воротить ненапереворотить)
Дуже сподобалось!
Если бы созданные потомки так же отличались объемом "мозга". Т.е. предусмотрнеть мутацию сложности собственной нейросети организма. Грубо говоря дать возможность развить разум. Не знаю возможно ли это но если да - то эксперимент будет куда интересней.
Классно👍
Это целая, маленькая вселенная))
Видео топ!!!
Круто
5:33
Хищники распространяются по всему миру
Тем временем пятно каннибалов, движущееся на восток: ЗА ОРДУ!!!
Достойно
Так выглядит чистилище
Очень круто! А можно попросить выложить исполняемый файл? Я совсем не понимаю как собрать исходники и поиграться с программой самому..
у меня тоже с этим проблемы
поддерживаю и умоляю дайте экзешник
говорю сразу в искуственой жизни обязательно должен быть ген на увеличение колва генов
Кажется наш мир тоже может быть симуляцией.
Травоядным нужно добавить возможность стать ядовитыми :)
класс 👍👍👍
Интересный контент
Классно. Вот бы в русло какое-нибудь пустить. Например... Сделать виртуальную машину, выполняющую/транслирующую определённый набор инструкции. И ботов, которые самодописывают свой набор инструкций. А отбор сделать по принципу "добиться от кода определённых результатов". Например, синтез речи или текста. Но система будет замкнута на учителя, это осложняет, конечно...
И вот становится очевидно, почему нейросети никогда не должны применяться для принятия критичных решений. Посмотрите на симуляцию: она вроде бы довольно проста, но при этом уже возникают эффекты, объяснить которые сами же создатели симуляции не могут ("тоннели"). Это особенность нейросетей: вы не можете точно установить, почему нейросеть думает именно так, то есть вы не можете проанализировать и устранить ошибку.
можно накладывать граничные условия
Можно просто затратить побольше времени и разобраться в феномене тех же тоннелей.
Теперь я знаю как появилась игра Марио (динозавры из 90х меня поймут)
Нужно поставить задачу, которую разбить на два этапа: 0) создать среду обитания чтобы она была максимально приближена к условиям на планете Земля 1) дождаться эволюционирования чат-ботов в сложные организмы (в итоге они должны быть разнообразны настолько, насколько разнообразна среда их обитания) 2) Продолжить эволюцию уже сложных организмов до тех пор, пока они не начнут проявлять зачатки разума. К этому времени постараться подготовить какую-то обратную связь по эту сторону экрана компьютера - средства коммуникации, которыми можно отвечать - видеокамера, мышь, клавиатура и т.д. (иначе ИИ будет развиваться абсолютно не зная о существовании внешнего разума и никакого контакта не получится) Ну а дальше - объяснять ничего не нужно. Однако - если пойти в рассуждениях дальше: зародыши разума - чат-ботов прошедших весь этот путь эволюции, у которых будут уже сформированы все необходимые рефлексы, понимание окружающего мира можно продавать. Каждый может покупать их и дальше, уже в домашних условиях, в специальной программе дообучать их в соответствии со своими потребностями. тут процесс обучения будет схож с человеческим. На самотек его пускать нельзя. Постоянная обратная связь. Уточняющие вопросы со стороны ИИ и ответы человека. Ну, примерно в общем как ребенка учат.
офигеть, я оказівается подписан на этого фу52. Даже не знал.
надо сразу делать сохранение конфигурации, чтобы можно было перезапускать при других условиях )
Топове відео
Лайк
Подписка
19:38 это к чему движется человечество съедая невозобновляемые ресурсы
Ещё никогда так не переживал ,за зелёные квадратики
Интересная тема. А можно добавить больше вводных? Подвижность с зависимостью от энергии например
Похоже нашего кибер биолога поработили его же создания! Ps. когда продолжение?
Очень классно, было бы супер разделить видео на 3 поменьше, скажем, по 10 минут каждое. И интерфейс сделать покрупнее по возможности
А зачем делить видео по 10 минут?
Нужно ещё настроить, чтобы при поедании не вся энергия собралась съеденного существа, а как ирл - только какой то процент. Тогда фотосинтез может не умереть
Идеи - разная плотность поступления солнечной энергии на каждый пиксель. Добавление различных ресурсов, необходимых для жизни, вода, еда, минералы. Сезонность и климатические изменения. Возможность ботов объединяться в организмы крупнее чем 1 клетка, допустим часть ботов передвигают весь организм, другие накапливают энергию из фотосинтеза и распределяют ее по оставшимся.
Хорошо что демонстрации долгие и можно просто понаблюдать
Это потрясающе
Было оч интерессно, случ нарвался и даже недумал об этой херне,
Это посути ежеминутно происходить везде с этими организмами(не с ботамм)
Осталось только выяснить кто круче бот или реал клетка😁
Залипательно
Эх, был бы я программистом! У меня-то фантазии хватает - у меня давно бы эта штука до разума эволюционировала! Жаль я поздно хватился - надо было в 90-е годы ещё изучать программирование, как только компы появились! А то с DOSом, Нортоном и Quick-бейсиком поэкспериментировал и всё, увы.
стоить добавить, что это эволюция слепых существ с мгновенным пищеварением и мгновенным размножением без периода уязвимости (это про "хищников")
Надо сделать море большим размером и дать свои бонусы, например, меньше тратишь энергии на передвижение, но отсутствует фотосинтез. А сверху сделать подобие неба, где невозможен фотосинтез, но энергии тратишь больше, чем в море, но меньше, чем в основной части. Итог, в воде тратишь 1 единицу энергии, в воздухе 2, а в основной части 3,но там доступен фотосинтез.
Да куда ж ты после первого видео на 3 месяца пропал-то?.. ждём.
В свое время вдохновился энтузиазмом ТехноШамана (когда он еще не был собой). Повторил его эксперимент с некоторым упрощением и одновременно усложнением мира и генома ботов. Но этого было недостаточно, а внутренний гений требовал продолжения эксперимента. Еще тогда начал обдумывать половое размножение ботов, но ни одна из идей не была пригодна для получения вменяемых результатов. Ведь сделать для того чтобы сделать - это так себе цель. Я хотел сделать так, чтобы это имело реальный смысл для киберэволюции и естественного отбора. Короче, постепенно быт взял свое и эти разработки были закинуты в дальний угол.
Теперь, посмотрев код видео этого автора и поглазев его исходники, я вновь загорелся идеей создания полового размножения. Теперь я знаю как сделать не только половое размножение, но и рефлексы и реакцию бота на события, а также закрепление полезных навыков в поколениях (что-то вроде врожденных инстинктов особей из конкретной популяции).
В общем буду творить. Определенно есть шансы на вменяемую реализацию всего выше описанного.
С удовольствием посмотрю вашу программу, успехов.
Классы при медативный, вещь.
интересно было бы задавать мир с определёнными параметрами, например со средним уровнем кислорода. и когда в мире будет снижаться количество ботов, произовдящих кислород, в мире начинался условный катаклизм, влияющий на всех ботов.
еще так и не понял, предусмотрены ли мутации для зеленых ботов. если да, то рано или поздно они же должны были мутировать во что-то способное противостоять агрессивным красным..
интересные эксперименты . вам нужно ознакомится с фантастической оперой Гиперион . сильная штука . там описывается развитие искусственного интеллекта который развивался вот с таких вот экспериментов
Привет 👋 Хотел узнать, а на чем ты пришёл нейронку и визуализацию?
Ботам не хватает способности "переносить" в себе воду ) Именно не выпивать её бесследно, а как у живых существ - попил/вспотел/испражнился. Было бы интересно, я полагаю.