Симуляция жизни при помощи генетического алгоритма

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024

Комментарии • 89

  • @masklab6748
    @masklab6748  2 года назад +7

    0:06 О делении
    0:15 Законы получения и потери энергии
    0:40 Описание свойств генов
    1:11 Первая симуляция. Большое пятно света
    4:31 Вторая симуляция. Градиентный свет
    5:58 Третья симуляция. Множество изолированных пятен света
    7:23 Последняя симуляция, успех!

  • @supsun-sockol
    @supsun-sockol 2 года назад +22

    Не плохо было бы усложнить симуляцию, добавить больше генов, больше видов пищи. Например:
    1) Добавить еду, которая будет давать энергию.
    2) Добавить следы от смерти клетки.
    3) научить клетки понимать, что вокруг них находится.
    4) Создать хищников
    5) Научить клетки объединяться в многоклеточные организмы.
    Я накидал то, что смог придумать сходу. Я надеюсь, что усложнение логики, генотипа и окружающего мира приведет к интересным результатам, таким как: многообразие видов, устойчивые экосистемы, а то и глядишь войны за территорию :)
    Удачи в будущих экспериментах!

    • @masklab6748
      @masklab6748  2 года назад +3

      Думаю результаты получатся очень интересными ) уже в процессе создания продолжения , часть из предложенных идей будут реализованы! Спасибо за коммент!

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад +3

      Объединяться в многоклеточные организмы клетки должны научится сами. Сами - это обязательно (для того и эволюция и самообучающиеся системы) Для этого надо только создать условия - чтобы они поняли, что объединиться выгодно. Могу предложить разные схемки для эволюции, они очевидны и лежат на поверхности: умершие клетки должны сохранять немного энергии, которую можно брать себе, если живая клетка вступит с ними в контакт. Живой организм может передвигать умершие клетки. Если ввести день и ночь или смену времен года, когда количество энергии уменьшается - догадаются ли они, что можно продержаться сезон за счет умерших клеток и что на зиму можно накопить их в запас (как и люди картошку, лук в подвале)? Ещё можно ввести такую фишку: если ты окружаешь себя мертвыми клетками - энергия живой клетки расходуется медленнее. Догадаются ли они построить на зиму домик из этих материалов? Если образуется класс клеток-хищников - хорошо бы, чтобы к примеру объединившись втроем-вчетвером в колонию, живые клетки получали защиту от этих хищников и они не могли их съесть (для усложнения можно к примеру, чтобы эта колония обязательно была в форме квадрата, иначе хищник может откусить торчащий кусок).
      Главное: чтобы эволюция никогда не заходила в тупик и потенциально могла развиться до разумной жизни надо выполнить единственное условие: клетка должна стремиться сохранить свою жизнь. И по-возможности - как можно дольше. Здесь, в отличие от живых организмов возможны два пути: если у клеток срок жизни ограничить, они будут эволюционировать, мутируя в процессе деления - давая потомство. Если же их срок жизни не ограничивать (вообще-то - цифровая жизнь вечна), то эволюционировать они должны накапливая изменения и опыт в самой клетке. Однако, несмотря на вечную жизнь, чтобы эволюция не останавливалась - её могут убить или она может умереть от недостатка энергии. Эти два фактора должны стимулировать её эволюцию и заставлять заботится о пропитании любыми доступными ей способами познавая и осваивая среду и все возможности которые ей предоставит Создатель (т.е. - вы).
      Отдельные мысли и кратко параметры всего проекта:
      1) питания должно быть три типа - а) Солнце (со сменой день-ночь и временами года), б) сами живые клетки в) трупы клеток
      2) Трупы клеток с остатками энергии можно передвигать, брать из них энергию, строить дома (скажем если с 3-х сторон есть стены и крыша - энергия живых клеток зимой у тех, кто находится в домике расходуется медленнее.)
      3) Срок жизни наверное для динамики все-таки лучше ограничить (больше стимула к размножению и мутации с эволюцией будет - нефиг лениться!)
      Пока наверное всё. Это - каркас для эволюции. Главная задача - получить простейшие организмы с устойчивыми безусловными рефлексами, легко живущими в созданной среде. Прямо как в Кембрии - вирусы в море. Если размножатся и мутируют - можно понемногу усложнять среду добавляя в неё новые параметры. Это надо посидеть-подумать - как дальше действовать (опираться естественно надо на нашу - биологическую эволюцию и среду в какой мы эволюционировали, с некоторыми поправками условий, которых в цифровом мире не существует. К примеру - не уверен, что надо придумывать силу тяжести, гравитацию. Она им не нужна. Во-всяком случае - на первых этапах точно не нужна. По-крайне мере не раньше того, когда они коллективно не дойдут до мысли о войнах за ресурсы. - Тогда можно введя гравитацию придумать к примеру, что трупы животных обладают массой и если их взять 2-3 штуки и бросить в противника - хищника - его можно будет убить. Но продумывать это в деталях - надо на более поздних этапах развития. Пока надо исчерпать все возможности простейшей эволюции и сохранить мутировавшие организмы)

    • @egor_dmitrievich.8351
      @egor_dmitrievich.8351 7 месяцев назад

      @@ДмитрийБудаев-д8к как клетки научаться объединяться в многоклеточные организмы, если условия виртуального мира не располагают возможностями жёсткой привязки клеток друг с другом??

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 7 месяцев назад

      @@egor_dmitrievich.8351 Надо побольше безусловных рефлексов задать. И они должны уметь откладывать их в генетическую память - это обязательное условие.

    • @emperorgalaxy4495
      @emperorgalaxy4495 5 месяцев назад

      ​@@egor_dmitrievich.8351Есть такая симуляция.
      Вбей в Ютубе:Evolving Multicellularity.
      Лично пробовал симуляцию и многоклеточные появляются достаточно долго да и объедение в среднем идёт до 2 клеток.
      Например у меня был вид который состоял из клетки сенсора и клетки хищника сенсор немного двигался в сторону жертвы а хищник уже пытался ускорится на жертву.
      Или ещё вид одна клетка чисто на скорость а вторая хищник выживали за счёт того чтобы сталкиватся с другими клетками на огромных скоростях (или растительностью).
      Были конечно живность и с 4-6 клетками но они были слишком не стабильны и постоянно умирали иза нехватки еды или иза других хищников которые откусывали клетки или вообще делили на две части.

  • @re7i7e
    @re7i7e Год назад +14

    Извините конечно, но не хватает прописаного сценария

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад +1

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

  • @ДмитрийБудаев-д8к
    @ДмитрийБудаев-д8к 9 месяцев назад +2

    Потрясающий опыт! И за ним, на самом деле - огромное будущее!

  • @softwet4341
    @softwet4341 Год назад +3

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

  • @Космический
    @Космический 9 месяцев назад +5

    Жаль что канал заброшен. Я бы очень хотел увидеть глобальную переработку проекта, а то он очень сырой.

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад +3

      Идей - прорва. Жаль я не программист и могу только на уровне логики думать, осуществить практически нет возможности. Здесь должен работать программист. Эта идея не просто игрушка или забава. В ней скрыт мощнейший потенциал и за этой идеей будущее. Интересно - кто первый из более сильных мира сего поймёт это и возьмется за работу всерьез на системном уровне. Уверен, что дождусь это. Только - когда? Чат-ГПТ, ИИ уже дождался - много лет назад знал, что это будет. Но это - абсолютно другая идея и иной путь для создания нового искусственного разума!

  • @DtTarrY
    @DtTarrY 2 года назад +4

    Воу, крутой контент, удивлен, что откопал на просторах Ютуба этот канал)))

    • @masklab6748
      @masklab6748  2 года назад +3

      Спасибо за коммент! )

  • @egor_dmitrievich.8351
    @egor_dmitrievich.8351 7 месяцев назад +1

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

  • @super-cl4ly
    @super-cl4ly 2 года назад +6

    Спасибо! У меня 0 25 я смотрю твой видос который сделал начало этого дня... Ночи... Суток гораздо интереснее

  • @loo2003
    @loo2003 2 года назад +3

    Прикольно, за ссылку на github отдельное спасибо)

    • @masklab6748
      @masklab6748  2 года назад

      Спасибо! Код конечно бы порефакторить, но эт чуть позже )

    • @trashlamar444
      @trashlamar444 2 года назад +1

      @@masklab6748 подскажи пожалуйста, как твою программу запустить?

    • @masklab6748
      @masklab6748  2 года назад

      @@trashlamar444 открываешь проект в Unity, жмешь Play. Должно работать сразу. Если не получится, могу записать short видос, как с нуля скачать/запустить

  • @MR_SpaceA
    @MR_SpaceA Год назад +3

    О, foo52ru выпустил новое виде... У ТЕБЯ НЕТ ДАЖЕ ТЫСЯЧИ ПОДПИСЧИКОВ?!?! Надеюсь ты продолжишь снимать качественные видео...

  • @СлаваУкраїні_ГероямСлава

    было-бы неплохо добавить
    хищьных клеток

  • @zhekatv-games
    @zhekatv-games 9 месяцев назад

    круто, молодец!

  • @SashaLuchik
    @SashaLuchik 8 месяцев назад

    Ну ты творец😊

  • @ДмитрийИскимжи-я4ж
    @ДмитрийИскимжи-я4ж 2 года назад +1

    Очень интересно сделано

  • @grebodya
    @grebodya 2 года назад +1

    Ты внимание их внешности больше уделяешь чем эволюции

  • @Tailorvens
    @Tailorvens Месяц назад

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

  • @lasiusn.3504
    @lasiusn.3504 2 года назад +5

    Круто) подпишусь на канал!
    Можешь объяснить, почему уровень получаемой энергии зависит от скорости движения клетки? Клетка питательные вещества из окружающей среды получает? То есть она одновременно и авто- и гетеротроф?

    • @masklab6748
      @masklab6748  2 года назад +3

      Когда я это продумывал, то предполагал, что в последствии на карте еще добавится слой CO2, который будет неравномерным. А фотосинтез - это процесс освобождения кислорода из углекислоты под действием света. В настоящем мире, растения окружены воздухом, который постоянно движется, принося все новый CO2. В симуляции этот процесс происходит как бы наоборот, не воздух движется мимо клеток, а клетки двигаются по ресурсам. И когда клетка останавливается, то "как буд-то бы" новый CO2 перестает поступать, поэтому вне зависимости от того есть свет или нет, строительный материал получить неоткуда.
      Как-то так )
      Спасибо за подписку и интересный вопрос!

    • @lasiusn.3504
      @lasiusn.3504 2 года назад +4

      @@masklab6748 теперь понятно, спасибо за ответ, пойду смотреть другие Ваши видео)

  • @ctels001
    @ctels001 2 года назад +2

    Макс! Ты Гребаный Гений!

    • @masklab6748
      @masklab6748  2 года назад +1

      :D спасиб

    • @MR_SpaceA
      @MR_SpaceA Год назад +1

      ​@@masklab6748Тебя научить самолайкатся?

    • @TheFastto
      @TheFastto Год назад +1

      @@MR_SpaceA для чего?

    • @MR_SpaceA
      @MR_SpaceA Год назад +1

      @@TheFastto Самолайк это очень полезная штука!

    • @TheFastto
      @TheFastto Год назад +1

      @@MR_SpaceA потренируюсь. Типо так?

  • @MrHunterpav
    @MrHunterpav 2 года назад +2

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

    • @masklab6748
      @masklab6748  2 года назад +2

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

    • @MrHunterpav
      @MrHunterpav 2 года назад +2

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

    • @masklab6748
      @masklab6748  2 года назад

      @@MrHunterpav ну так и получилось, в эксперименте функция выживания, как и у людей - выжил, смог набрать энергии чтобы родить потомство = выжил)
      В предыдущем комментарии я имел в виду, что не делал математическую оценку успешности вида. В этом собственно и суть "естественности" отбора. Факт выживания и возможность продолжить роль - выполняет функцию "функции выживания" %)

    • @MrHunterpav
      @MrHunterpav 2 года назад +2

      @@masklab6748 так этот факт выживания и должен передаваться потомкам, потомки должны быть с рождения уже заведомо предрасположены к выживанию)

    • @MrHunterpav
      @MrHunterpav 2 года назад +1

      @@masklab6748 , ну по сути, факт выживание - это и есть в каком-то роде функция выживания))

  • @yyytis2069
    @yyytis2069 2 года назад +3

    Почему так мало просмотров

    • @masklab6748
      @masklab6748  2 года назад

      Канал молодой :) еще плохо YT дает трафик

  • @iQuarx
    @iQuarx 2 года назад +2

    Напомнило игру , Cell Lab

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад

      Это уже далеко не игра - при всей схожести! Идея совсем другая. Конечно - можно припомнить и Цивилизацию И Эпоху империй и даже StarCraft. Но там - тупиковые ветви развития персонажей под управлением человека и всё. Здесь - не диктуются условия для эволюции, а предлагаются. Это - кардинальное различие! А уж выбирать путь развития должен геном.

    • @iQuarx
      @iQuarx 9 месяцев назад

      ​@@ДмитрийБудаев-д8к так вы сначала посмотрите что представляет из себя игра о которой я написал. Те игры о которых вы написали даже близко не имеют ничего общего.

  • @Светвотьме-з9э
    @Светвотьме-з9э 11 месяцев назад

    Спасибо за эксперимент,
    Как его можно применить в жизни?

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад

      В жизни пока не применишь. Однако это - всё-равно что стоять у истоков создания мира. Тот, кто доведёт его до ума, или хотя бы даст сильный хороший толчок - будет кем-то вроде Циолковского для космонавтики.

  • @user-uu4kz8sr5i
    @user-uu4kz8sr5i 10 месяцев назад

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

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад

      Просто здесь очень мало параметров среды для эволюции.

    • @user-uu4kz8sr5i
      @user-uu4kz8sr5i 9 месяцев назад

      @@ДмитрийБудаев-д8к какой не была бы среда, параметров генов всего три и они фиксированы.

  • @TheMrKMen
    @TheMrKMen Год назад +1

    Ну это же не совсем про гены. Это скорее какие-то морфологические тенденции или вроде того. ТехноШаман в цикле искусственной жизни сделал алгоритм, построенный на генах, как определённой последовательности команд.
    В принципе мне думается что дико крутой проект может быть, построенный на комбинировании простейшей нейросети и генов. Где генетические команды подаются на входной нейросети, и нейросеть двигает болванчиком. Гены в свою очередь состоят из двух элементов - это поведенческий и морфогенный, где последовательное выполнение команд влияет на морфологию. Потому-что я не очень понимаю, как можно без нейронной сети поместить этих болванчиков в векторный мир. Именно чисто генетические машинки всё-же обычно делали как клеточный автомат. Хотя... наверн если повороту и скорости шага добавить рандома, возможно в каком-то виде это и получится реализовать в векторе.

    • @masklab6748
      @masklab6748  Год назад +1

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

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад +1

      @@masklab6748 Жаль, что таких как ты и Техношаман мало! Надо чтобы кто-то всерьез начал это направление! Не останавливаясь на тупике эволюции, а понемногу усложняя среду и эволюционируя достигнутых особей дальше!

    • @masklab6748
      @masklab6748  9 месяцев назад +2

      @@ДмитрийБудаев-д8к я продолжил усложнение, но на англоязычном канале, как там срастется, тут опубликую новость и ссылки
      в планах повторить принцип днк
      проектирую систему, которая как ДНК хранит структуру организма и может случайным образом мутировать - добавляя разные типы клеток в организм, лишаясь их, меняя их свойства.

    • @ДмитрийБудаев-д8к
      @ДмитрийБудаев-д8к 9 месяцев назад

      @@masklab6748 Класс! - Правильное направление и мысли! С удовольствием посмотрю! Мне очень нравится как экспериментирует с эволюцией Cyber biolog - у него взято правильное направление! (в Ю-тубе есть его несколько видео) Интересно - что из всего этого в итоге получится! Это уже не нейросети - это нечто новое! Я - не программист, я - гуманитарий. Но я вроде неплохо умею мыслить логически (когда-то я пробовал с нуля написать программу. Предварительно посидел, подумал - что я хочу и как это должно работать? - А потом впервые в жизни взял книгу по Бейсику (это в 90-е годы было) и стал искать в ней то, что мне нужно. В результате - написал всем известную игру Морской бой. Это было давно, жаль, я тогда не взял курс на изучение Программирования. В этой Эволюции, которой вы занимаетесь я чувствую огромный потенциал, огромное будущее. Вы стоите у истоков чего-то совершенно нового в науке, в Программировании! Нового направления, у которого пока даже нет системного подхода.

  • @babyslender5837
    @babyslender5837 Год назад +1

    Здравствуйте, есть очень похожая игра на мобильные телефоны (cell lab)

    • @masklab6748
      @masklab6748  Год назад

      так точно, когда-то ей вдохновился

  • @tracerkey
    @tracerkey 2 года назад +1

    А где продолжения?

  • @НедоЮтубер-щ6ъ
    @НедоЮтубер-щ6ъ Год назад

    А как зап запустить программу?

  • @cludiee138
    @cludiee138 2 года назад +1

    Почему 330 подписчиков?

    • @masklab6748
      @masklab6748  2 года назад

      А сколько нужно? :)

  • @fudotsukiko2284
    @fudotsukiko2284 2 года назад +2

    топ канал. задонатить не как?)

    • @masklab6748
      @masklab6748  2 года назад

      Этот коммент лучше любого доната, спасибо! )

  • @user-ce3xf4hr9t
    @user-ce3xf4hr9t 5 месяцев назад

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

  • @enlightenment5d
    @enlightenment5d 5 месяцев назад

    Да уж

  • @DenIndustries
    @DenIndustries 2 года назад +1

    Крутой
    Я тоже делаю проекты с эволюцией, можешь посмотреть если интересно

  • @ВгостяхуСантаса
    @ВгостяхуСантаса 2 месяца назад

    Самое шляпное видео по данной теме! Условий развития клеток мало. И зачем было «помогать» клеткам? Ты нарушил чистоту эксперимента. Лень было ждать развития симуляции?

  • @DtTarrY
    @DtTarrY 2 года назад +3

    Воу, крутой контент, удивлен, что откопал на просторах Ютуба этот канал)))

    • @masklab6748
      @masklab6748  2 года назад +1

      Спасибо за отзыв, рад, что нравится! )