Технические подробности проекта "Искусственная жизнь. Мир 1"

  Рет қаралды 64,307

foo52ru ТехноШаман

foo52ru ТехноШаман

7 жыл бұрын

"Нудный" ролик о том, как выполняется код ботов, задумки для следующего мира, про половое размножения и что вижу я во время симуляции.
Что бы понять, о чём ролик, надо посмотреть видео обзор о проекте.
• Искусственная жизнь. Г...
Также про проект "Искусственная жизнь" в новом варианте.
Проект переписан товарищем на языке Java
github.com/CyberBiology/Cyber...
и им же написанно дальнейшее развитие проекта
github.com/CyberBiology/Genesis
Ссылка на .jar файлы проектов CyberBiology и Genesis.
yadi.sk/d/C7lUGl0v3WdJqH
На данный момент версии возможно устарели.
Для запуска нужно иметь установленную на компьютере Java
www.java.com/ru/download/
CyberBiology.jar просто запускаем и смотрим.
Genesis.jar запускаем, нажимаем кнопку Creat Map - создаётся карта. Первый бот - это точка в центре.
Запускаем симуляцию кнопкой Start/Stop.
Внизу видим текстовое поле Population, где отображается количество живых ботов. Если там 0, то начинаем с начала.
Если первый бот находится в воде, то обычно сразу помирает.
Подвигайте ползунок Sea Level, что бы бот оказался на суше.
Выражаю благодарность тем, кто поддерживает меня финансами.
Реквизиты для финансовой поддержки можно найти в
/ foo52ru

Пікірлер: 191
@Orakcool
@Orakcool 6 жыл бұрын
Будем надеяться что проект не заброшен окончательно! очень интересно было-бы следить за развитием проекта)))
@shahaman5694
@shahaman5694 6 жыл бұрын
Очень интересно, пожалуйста продолжите этот ваш эксперимент. Откройте свою страницу на патреон чтобы вас могли поддерживать материально, появится дополнительная мотивация.
@vorobushek6590
@vorobushek6590 4 жыл бұрын
Спасибо огромное!! После Вас я очень заинтересовался этой темой, Вы очень многое мне объяснили!! Спасибо!! Очень надеюсь, что Вы не забросите эту тему и будете продолжать этим заниматься))
@nikitaeverywhere
@nikitaeverywhere 6 жыл бұрын
1:11 «опять двадцать пять» :) Занимательно, продолжайте в том же духе! Рекомендую ещё проследить, чтобы отношение сторон финального видео было строго 16:9. Удачи!
@aPiozo
@aPiozo 7 жыл бұрын
Интереснее смотреть именно на поведение ботов в долгосрочной перспективе, как было в прошлых видео, как действует принцип селекции и как от этого менялась длительность жизни ботов, надеюсь по принципу размножения тоже будет такое видео. Хотелось бы чтобы каждое новое видео рассматривался отдельный фактор, если в первом видео была селекция, то в следующем размножение, потом, к примеру распространение вируса, конкуренция видов и т.д. А так - классно!
@YaShoom
@YaShoom 6 жыл бұрын
У меня появилась идея многоклеточного организма. Клетка случайно специальной командой прицепляет другую клетку к себе, их коды при этом склеиваются. Клеткам это будет выгодно за счёт расширения длины генома, но большая клетка неуклюжая, по этому в среднем эти организмы, я думаю, не будут больше 2-х, 3-х клеток. Хотя эволюция непредсказуема, может появятся и 200-клеточные монстры.
@Siluet3656
@Siluet3656 6 жыл бұрын
Подписался ради этого проекта
@FoxSlyme
@FoxSlyme 4 жыл бұрын
1:11 ну опять двадцать пять!
@user-xw5oz6nn4k
@user-xw5oz6nn4k 4 жыл бұрын
Забавно
@razvigor2819
@razvigor2819 4 ай бұрын
Я только сейчас допер... В системе команд нет NOP - одноячеечного "ничего не делать не тратя ход". Да и безусловные переходы на короткие дистанции вперед невозможны. Это, имхо, катастрофически замедляет эволюцию, делая гарантированно тупиковыми даже полезные последовательности но расположенные неудачно относительно полезных соседей... (Аргумент что бот мол может зациклиться отметаем, т.к. цепочка только из переходов возможна и в этой модели. Решается присвоением переходу затрат времени скажем в 1/10, а там сам вымрет ) Выход лично мне видится в отказе на ограничение значения в диапазоне 0..63, можно разрешить скажем 0..511 и брать остаток от деления на сколько там получится, как с поворотом. Тогда данное улучшение не потребует нового мира.
@vorobushek6590
@vorobushek6590 4 жыл бұрын
У меня вопрос: Когда Вы писали код в мозг бота, после команды "съесть" Вы задали 4 ячейки, и во всех команда "49". Первый вопрос - Зачем 4 ячейки? Второй вопрос - Почему во всех 49? Ведь с каждой ячейки нужно разное количество значений прибавить в program_counter.
@foo52ru
@foo52ru 4 жыл бұрын
Какая команда будет выполняться, зависит от того, что съел (пытался съесть) бот. Для этой команды я определил 4 варианта ( пустота, органика, стена, бот), поэтому 4 ячейки, где записано число, которое нужно прибавить к program_counter в каждом из 4 случаев. Так как по алгоритму, в любом случае алгоритм возвращается к началу, поэтому везде стоит 49. Число 49 будет прибавлено к program_counter и управление будет передано самой первой команде (повернуть) .
@vorobushek6590
@vorobushek6590 4 жыл бұрын
@@foo52ru Спасибо!
@andreyman3953
@andreyman3953 7 жыл бұрын
Если добавить команды "заменить ген другого бота на свой" и "отобрать энергию у другого бота", то возможно появятся некие подобия паразитов и вирусов.
@47syorha52
@47syorha52 4 жыл бұрын
А так-же у инфузорий есть такой обмен
@fridrihfonzehtor6276
@fridrihfonzehtor6276 6 жыл бұрын
такая идея появилась: добавить учет возраста например если бот продержался определенное количество времени, то например увеличивает запас хранимой энергии и реже дает потомство можно еще сделать мутацию не стабильной (каждый 4-й бот), а случайной так же можно сделать для хищников, чтоб при питании какой-то одной пищей другая пища являлась ядом например если бот ест фотосинтезаторов, то если переключиться на минералофагов или хищьников то они будут давать ему меньше энергии или являться ядом (в зависимости от мутации)
@user-ch4qc8ps2o
@user-ch4qc8ps2o 6 жыл бұрын
Забавно. Я сам уже довольно давно вынашивал идею электронной биологии. Оказывается не я один. Впрочем я ни разу не програмист, так что шансов реализовать подобное у меня почти не было. Теперь мои идеи. 1)Реализовать поедание через зависимость от размера. Это кажется очень логичным, чем больше организм, тем проще ему есть более маленьких. Это позволит убрать ситуации где одна клетка вгрызается в огромные колонии. 2)Сделать многоклеточные организмы единым целым в плане управления. Чтобы не для каждой клетки просчитывались все шаги, а лишь для главной, она же первая которая появилась. Например если клеток больше чем одна, то первая получает номер 0, а последующие 1,2,3 итд. Если номер не ноль то их циклы пропускаются. Еда генерируется с множителем равным количеству клеток. ИТД. Двигаться все клетки тоже должны вместе. Реализация деталей может быть разной, главная идея это разгрузить машину от обработки ненужных данных. 3)Сделать мир еще больше. Сделать перемещения зависящими от размера тела. Увеличить дальность обзора в зависимости от количества клеток. 4)Начать работу над дифференциацией клеток. Например создать отельный набор параметров отвечающих за ключевые поведенческие особенности клеток. Генерирование еды, атака других вражеских клеток, повышенный обзор, повышенная подвижность. Эти параметры будут являться модификаторами к уже существующим значениям. Например клетка может получать 10 еды от фотосинтеза. Параметр может изменять это значение от 0 до 200%. Но сумма 4-х параметров должна быть всегда 400%. То есть, допустим у нас есть клетки с фотосинтезом 200%, но защитой от атак 0%. Такие клетки выживут лишь внутри организма. Клетки же с защитой от атак будут нужны на периферии. Клетки дающие обзор будут востребованы спереди, по направлению движения, клетки подвижности сзади. Итд. У меня еще есть много мыслей. Если вам все еще это интересно, буду рад поделиться.
@foo52ru
@foo52ru 6 жыл бұрын
Пишите, возможно какая то мысль заинтересует меня, появятся новые идеи. Новый мир, который я никак не начну, будет больше, но поступающей энергии меньше. Это сделает мир более пустынным, между ботами или колониями будут большие расстояния. Эволюция у колоний будет более изолированна от других. Недостаток ресурсов сделает выгодным перемещение. В качестве ресурса не "свет", а "трава". Чем дольше по клетке на карте не проходил бот, тем больше энергии там накопилось
@user-ch4qc8ps2o
@user-ch4qc8ps2o 6 жыл бұрын
Я думаю это и так очевидно, что в большей части именно задание начальных условий и генетического алгоритма определяет полученный результат. Начальные условия определяют точку равновесия, а генетический алгоритм степень приспособляемости. Будет ли жизнь такого электронного террариума похожа на нашу или совершенно от него отличаться. Будут ли там доминировать сверхгиганты или одноклеточные организмы. В этой связи следует заранее обозначить желаемый результат. Для меня это похожая на земную, вполне рабочая экосистема. На мой взгляд крайне интересно было бы посмотреть на развитие организмов, от одноклеточных, до многоклеточных. Появление первой дифференциации клеток. Появление возможно каких-то более сложных органов. Подобное развитие так же может быть поощрено генетическим алгоритмом, в котором разные полезные свойства клеток будут меняться. Как мне кажется это вполне реализуемо. И еще пара вопросов. Много ли у вас времени ушло на программирование подобного террариума? Насколько реально научиться этому с нуля?
@foo52ru
@foo52ru 6 жыл бұрын
Неделя на создание рабочего прототипа, потом месяц на эксперименты с разными условиями, командами, коэффициентами и т.д. Реально научиться можно, собственно я сам научился программировать. Сын тоже сам научился, затем успешно выступал на разных олимпиадах по программированию, был призёром регионального этапа всероссийской олимпиады школьников. Никаких репетиторов ему для этого не понадобилось. Другое дело, что программирование требует определённого склада ума и не всем даётся.
@foo52ru
@foo52ru 6 жыл бұрын
Естественно, что от условий мира и набора команд зависит полученный результат. Поэтому я достаточно долго экспериментировал с разными условиями и командами. Хотел, что бы получились многоклеточные организмы с дифференциацией клеток. Для этого ввёл команды делится ресурсами с соседями, узнавание родственников, узнавание, окружен бот со всех сторон, или находится с краю, анабиоз, когда бот становится недоступен для хищников, не тратит и не получает энергии. Это бы помогло пережить тяжелое время, уйдя в спячку, либо стать непробиваемой кожей у организма. К сожалению, до этого не дошло, скорее всего не хватало времени. У меня отсутствует сохранение, поэтому после выключения компа, все результаты пропадают и надо эволюционировать с нуля. Сейчас вернулся к проекту, добавлю сохранение и запущу на длительный срок, посмотрим, что получится. Ну и параллельно, создание нового мира с другими условиями
@user-hi1pd1xr7g
@user-hi1pd1xr7g 6 жыл бұрын
Пункты 3 и 4 слишком уменьшать производительность, а вот п. 1 и 2 довольно интересные.
@Vaidotui
@Vaidotui 5 жыл бұрын
Пусть они сами придумывают соответствие между таблицей чисел и таблицей команд. Это можно реализовать допуская веса 0/1.
@Vaidotui
@Vaidotui 5 жыл бұрын
При половом размножнии обязательно надо вводить возраст зрелости. То есть перенимаешь генетический опыт только у успешного индивида.
@orangetv3tgl144
@orangetv3tgl144 3 ай бұрын
Генетический опыт?
@LithiumDeuteride-6
@LithiumDeuteride-6 6 жыл бұрын
Ещё интересно. zhurnalko.net/=nauka-i-tehnika/tehnika-molodezhi/1993-05--num6 Статья с Техники Молодёжи 1993 год. Там тоже нечто похожие используется, подробности можно найти в интернете, но это достаточно сложно, у меня сейчас нет времени найти более подробную инфу, интернет сейчас закончится. Может позже, через неделю другую...
@foo52ru
@foo52ru 6 жыл бұрын
Я читал эту статью в 93 году. Собственно, тогда я и представить не мог, что когда-нибудь у меня будет компьютер и я реализую нечто похожее. Тогда я очень заинтересовался и позавидовал учёным, что они могут заниматься такими интересными вещами. :)
@user-tz1yy7xf6x
@user-tz1yy7xf6x 4 жыл бұрын
Очень круто. Мне особенно понравилась идея с "геномом" на 64 ячейки и механизм смещений по этому геному Я писал подобную программу на первом курсе универа, но использовал просто рандомизацию команд. Некоторые интересные явления наблюдались, но "генетической" составляющей никакой не было. Теперь хочу попробовать раскопать тот проект и попробовать добавить гены. Кстати, очень сильно влияет половое размножение и разные типы ботов. С половой системой все ясно, размножение только с противоположным полом, а по поводу типов - можно построить любую иерархию. У меня было 5 типов ботов, и свои не атаковали своих. Можно ещё разнообразить эту систему - добавить типы, которые "дружат", "нейтральные" типы и "враждебные" - те, кто при виде друг друга пытаются атаковать
@nighthunter28
@nighthunter28 4 жыл бұрын
беспереспективно, программа пишет свою программу. ее можно легко переобразовать в обычный код, будет работать все быстрее, но это и главный минус, т.к. дальнейшее обучение невозможно. при изменение условий нужно опять переобучать бота (помещать в лабу). все-таки для этого нужны нейронные сети, они будут обучаться все время.
@dmitrypoznyakov3387
@dmitrypoznyakov3387 3 жыл бұрын
Ого, здорово! Интересно наблюдать эволюцию вживую. Я такие же эксперименты ставлю в Cell Lab, где можно наблюдать за развитием и эволюцией клеток в чашке Петри, меняя там условия. +в вк есть группа по этой игре, там я геномы выкладываю
@lunartorph
@lunartorph 5 жыл бұрын
А что если увеличить коль-во команд с 64 до 96 или добавить резервный код(Ну те же самые прерывания), и сделать чтобы потомок отличался по одному из двух параметров:до 5 отличий и/или особая метка которая остаётся при размножении до 3 поколений с параметром памяти к примеру: ПраД-прадедушка Д-Дедушка О-Отец В-Внук ПраВ-правнук Д _ _ _ _ -МЕТКА+Параметр памяти Д 1 0 0 О 2 1 0 В 3 2 1 ПраВ 1 3 2 . В подобном случае 0-незанятое место 1,2-занятое 3-при появлении заменится индивидуальной. То есть понадобится генеологическое древо с 15 ячейками ПраД-8 Ячеек Д-4 Ячейки О-2 Ячейки +1 Индивидуальная которая и займёт место отца у ребёнка а мети прадедушек пропадут, и кстати могут быть случаи инцеста тогда может быть от 1 до 3 пустых ячеек , ну и тогда получится , чистокровный потомок , ни и ещё одну ячейку под "Чистокровие" будет вообще безумием... P.S.Я вот это читаю и сам Оху**аю , пока это читаю , получился такой-же "Нудный" коммент , как и видеоролик , и я буду очень благодарен если ты это реализуешь , и я подписан на твой канал....И это.... сори за мат.
@user-iq5pl4bv1f
@user-iq5pl4bv1f 4 жыл бұрын
Как все сложно
@wasland509
@wasland509 2 жыл бұрын
96 не получится, минимум 128
@ivankuznetsov5618
@ivankuznetsov5618 4 жыл бұрын
Это- удивительно!
@user-cmcumm
@user-cmcumm 4 жыл бұрын
Не понял, но интересно
@vesvit
@vesvit 6 жыл бұрын
Забавно. Было бы неплохо еще иметь возможность просмотреть код конкретного бота, для анализа его кода. Это что касается программной части. Что касается идей для мира то возможно внести элемент радиации. Например чем ближе к солнцу тем больше уровень радиации, в таком случае при размножении количество изменяемых элементов кода может увеличиться на мощность радиации. Например мощность радиации 5, тогда количество случайных мутаций при размножении может быть от 0 до 5. Это можно обыграть как количеством изменяемых элементов кода, так и количеством мутированных потомков. Ну и радиацию может излучать не только солнце, но и сами клетки при превышении определенного уровня энергии, или добавить еще один параметр "радиоактивность"
@vesvit
@vesvit 6 жыл бұрын
Подумал тут и с вопросом радиоактивности можно поступить следующим образом: уровень радиоактивности зависит от уровня энергии в боте. При превышении определенного уровня энергии внутри бота он умирает. При этом становится источником радиоактивности. С условием - чем ближе к источнику - тем выше радиоактивность. Но хорошо бы придумать как использовать радиоактивность как источник энергии. В таком случае возможно появятся популяции которые устойчивы к радиации.
@6556
@6556 5 жыл бұрын
Круто, спасибо. Очень познавательно
@Profil2579
@Profil2579 7 жыл бұрын
вот бы такую симуляцию запустить на одном из супер-компьютеров :)
@guest7329
@guest7329 7 жыл бұрын
KAJbMAP а толку? всеравно параллельно выполнять нельзя .
@foo52ru
@foo52ru 7 жыл бұрын
guest73 Идеально параллелится. Код каждого бота может выполняться на отдельном ядре. Сейчас процессор прыгает от бота к боту, выполняя по небольшому фрагменту кода.
@guest7329
@guest7329 7 жыл бұрын
Это только если 1 бот на поле или отдельная колония на каждом ядре. Если будет много ботов на поле то текущему боту(который ходит) нужно знать позиции всех остальных ботов.И как это распараллелить?
@foo52ru
@foo52ru 7 жыл бұрын
guest73 все это решаемо. Код, конечно, надо писать конкретно под многоядерную систему. Правда, опыта такого у меня нет :(
@Profil2579
@Profil2579 7 жыл бұрын
Возможно ты уже говорил в одном из видео, но всё-же спрошу: на каком языке написан сей проект? =) Предполагаю, что Java, но хотелось бы точно знать =) И сколько лет ты уже программируешь?
@legostroitel9429
@legostroitel9429 4 жыл бұрын
сделай пж оптимизацию под экраны 2160х1080. ни черта на 800х500 не видно
@darkeliphant1843
@darkeliphant1843 6 жыл бұрын
Вот вопрос такой появился, есть ли команда "0", если такой команды нет то это безусловный переход и счетчик команд увеличивается на ноль, т.е. в этом самом нуле навсегда и останется? К примеру если в в самой первой ячейке программы бота будет записан "0" что произойдет?
@foo52ru
@foo52ru 6 жыл бұрын
Всё верно, в этом случае бот зациклится на этой команде и , собственно, обречен. Но "0" бывает полезен для создания циклов как в 2:50 Проверил, команды "0" нет, под команды заняты числа с 23 по 53, хотя вроде ничего не мешает повесить на "0" какую нибудь команду, что бы нивелировать эту особенность данного числа.
@darkeliphant1843
@darkeliphant1843 6 жыл бұрын
foo52ru Спасибо.
@user-iq5pl4bv1f
@user-iq5pl4bv1f 4 жыл бұрын
Продолжай видео про искуственную жизнь, интересная тема
@Aleksandr_MAN
@Aleksandr_MAN Жыл бұрын
Добрый день. Кажется в журнале "Наука и жизнь", скорее всего в конце 80-х описывалась эта тема.
@raffirusblub8996
@raffirusblub8996 6 жыл бұрын
А продолжение будет? Понравилась очень интересно =)
@ruservices
@ruservices 4 жыл бұрын
Здравствуйте. Хочу брать у вас уроки
@user-tn3bw1wg8w
@user-tn3bw1wg8w 4 жыл бұрын
Интересно) получилось)
@user-vu1bn9fr1x
@user-vu1bn9fr1x Жыл бұрын
автору хочу выразить уважение, скорее всего он уже работает где-то в FAANG, или над научными проектами )
@alexvarlyk9114
@alexvarlyk9114 7 жыл бұрын
Признаться я довольно слабо все понимаю, что печально, но приобщится хочется. Какая общая цель эксперимента? Симулятор жизни с различными наборами "хромосом"? Но тогда их надо больше чем 64 и играться с вариантами. И я так понимаю, развитие бота не возможно? Боты ведь никак не сохраняют "удачные билды" и при производстве потомков все равно потихоньку меняются. Значит наиболее жизнеспособный набор хромосом в любом случае изменится? Может надо добавить им память? А по размножению, может сравнивать хромосомы двух ботов, оставлять одинаковые позиции и выбирать из двух там, где они различаются? И если ввести память, размножение может стать еще интереснее. пс. не знаю почему я гены назвал хромосомами(может сунуть наборы генов в одну хромосому? типа движение и все варианты перемещения) и вообще если все вышеизложенное бред, не пинайте сильно :)
@foo52ru
@foo52ru 7 жыл бұрын
Alex Varlyk "Удачные билды" сохраняются до тех пор, пока не появится более удачный. При размножении, мутацию имеет только 1 новорожденный бот из 4. Трое других - полная копия родителя. Сначала хотел поэкспериментировать с генетическим алгоритмом, что бы эволюционировал сам код. Когда получилось, захотелось посмотреть, а что будет, если дать им размножение и выпустить на волю. Так что цель - удовлетворить любопытство. Ну и жизнь в этом варианте начинается с одного бота. Потом образуются разные виды. Интересно.
@alexvarlyk9114
@alexvarlyk9114 7 жыл бұрын
А как определяется "удачный билд", по времени жизни? Совсем упустил из виду, что рождается 4 бота, тогда да, более менее геном сохраняется. Не произвольно ведь сравниваешь симуляцию с реальной жизнью. Слишком интересные вопросы затрагивает тема :) Но сложно моделировать то , о чем человечество имеет слабое представление или вообще не имеет :) Я про разум и все такое. Глядишь такие вот симуляции и натолкнут на ответы, а там тудым-сюдым и привет, восстали машины из пепла ядерной войны :)))
@foo52ru
@foo52ru 7 жыл бұрын
Удачный билд определяется естественным отбором. Почему именно потомки "удачного билда" стали доминировать, можно только предполагать. Я в отборе уже не участвую. Видимо, сформировавшийся код, управляющий ботом, делает все более оптимально в тех условиях и на том уровне, где находится бот.
@alexvarlyk9114
@alexvarlyk9114 7 жыл бұрын
А можно завести статистику? Какой набор генома существовал дольше всех, где это было, как часто появлялось потомство. Тогда можно пытаться проанализировать.
@foo52ru
@foo52ru 7 жыл бұрын
Можно конечно, но сейчас мне более интересны другие вопросы. Как долго будет развиваться мир или развитие остановится, ведь придуманный мир очень ограничен? Если запустить несколько одинаковых симуляций, все будут развиваться в разных направлениях или, в итоге, все придут к одному результату? Ну и сейчас продумываю новый мир, в котором попытаюсь устранить некоторые ограничения текущего мира.
@user-gr2rm2jd2j
@user-gr2rm2jd2j 5 жыл бұрын
Вот за сурс на джава отдельное огромное спасибо
@silentium_noxe
@silentium_noxe 6 жыл бұрын
Чувак ты классный. Вопрос: на чем ты пишешь? Какой язык используешь и какую библиотеку используешь для оконной процедуры для Windows? Я видел в коде объявление функции через fn() это питон?
@47syorha52
@47syorha52 4 жыл бұрын
Pixilang
@user-hi1pd1xr7g
@user-hi1pd1xr7g 6 жыл бұрын
Привет! Объясни, пожалуйста, зачем нужны безусловные переходы? Мне кажется в этой команде мало смысла и она нужна только для того чтоб заполнить гены без команд. Прерывания намного важнее, ими можно заменить безусловные переходы. А теперь немного идей: 1) Сделать функцию анабиоза (бот на некоторое время переходит в спячку, то есть беззащитное положение). Возможно она будет в основном ненужна, но в период зимы может пригодится. Для этого даже можно сделать новый условный оператор, который получает информацию о поре года. 2) Можно сделать функцию испускания яда, которая будет уничтожать близлежащие неродственные клетки. Возможно на производство яда в клетке, и на производство антидота в соседних родственных клетках будет тратится энергия. 3) Учитывать соотношения размеров клеток при поедании. 4) Добавить симбиоз и паразитизм, хотя возможно это будет самым сложным из вышеперечисленных пунктов. P.S. Я сам на С++ уже второй день пытаюсь создать что-то подобное. Многое я пока даже не представляю как реализовать, по скольку опыт программирования на данном языке всего один год. По этому я и буду стараться набросить идей. И, пожалуй, главный вопрос: "Каковы приблизительные сроки выхода нового видео по данной тематике?" Просто мне кажется, что пересматривать одни и те же видео про генетический алгоритм и небесную механику по 100500 раз немного ненормально :) Заранее огромное спасибо за ответы! Желаю больших успехов ;)
@user-fl3nd6sm6v
@user-fl3nd6sm6v 5 жыл бұрын
Ну уж точно не скучный канал :) ! Если команда безусловного перехода заполнит все ячейки, то бот лапы склеит (умрёт), и не сможет дать потомство, и не произойдёт такого, что все ячейки попросту заняты безусловными переходами
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
@@user-fl3nd6sm6v Тоже не очень понял для чего безусловный переход, неужели без него не будет работать? И зачем прерывания?
@nighthunter28
@nighthunter28 4 жыл бұрын
@@user-pb7pz7nv3m чтобы зациклить хода. аля goto в басике.
@lokpasddq763
@lokpasddq763 6 жыл бұрын
Вопрос! сколько и какие колонии можно и нужно сформировать чтоб получить что то осмысленное. Ну например надпись из "органики". Где будет хранить колония(и) иноформацию о размере шрифта типа надписи и прочее css. Возможно ли сформировать с помощью ботов что то типа html разметки текста. куда девать органику и прочее.. П.с. пака что у игры нет цели и смысла.. идея интересна.
@47syorha52
@47syorha52 5 жыл бұрын
Я в java версии заметил форму жизни, которая появляется после слишком сильного изменения уровня моря. Организмы отделяются от колоний и начинают хаотично двигаться, являются хищными и через время умирают. Они уж слишком похожи на Beta частицы. Я принял для себя называть это "Радиация"
@47syorha52
@47syorha52 5 жыл бұрын
А так-же они удаляются на достаточное расстояние от родительской колонии
@47syorha52
@47syorha52 5 жыл бұрын
А ещё они всю органику жрут, размножаются и со временем погибают. А вот колонии от них прямого урона не получают, но органики им не достаётся.
@47syorha52
@47syorha52 5 жыл бұрын
Из-за радиации колонии из одиночных организмов сформироваться не могут, ибо радиация их съедает
@47syorha52
@47syorha52 5 жыл бұрын
Радиация склонна к мародёрству, последние наблюдения показывают, что радиация появляется вблизь органики и кроме органики мало что может кушать
@morskoyzmey
@morskoyzmey 6 жыл бұрын
ИМХО, но пересечение команд плохая идея. 2:15 код 25 уже фотосинтез, но в данном случае это поворот. Т.е. если клетка изначально занималась фотосинтезом, а потом соседний ген мутировал в 26, то вместо фотосинтеза, она начинает ходить. Слишком сильная мутация. И зачем нужны безусловные переходы? Слишком много хаоса из-за изменения одного такого байта, ведь нарушаются последовательности переходов
@user-fl3nd6sm6v
@user-fl3nd6sm6v 5 жыл бұрын
Alexey Kovalevsky безусловный переход важен, здесь принцип работы программ древних компьютеров, что-то вроде goto с метками, если не будет безусловных переходов, то команды, в программе ботов, будут идти последовательно, и из-за этого "тело" условной команды будет большим и вызывать ошибки, ведь там могут появляться сложные конструкции (условие в условие, которое в другом условие, и т.д) и реализовать такие конструкции будет сложно (для разработчика), а если получиться, то это будет очень ресурсозатратным ( долго будет обрабатывать код).А то что ты сказал в начале- тупо.Ведь если сделать команды перехода с "ексклюзивным" параметром (цифрой которая не занята другой командой),стоящим после команды перехода, то в процессе мутации,команду перехода может заменить другая команда, в этом случае параметр останется, стоящий после заменённой команды перехода, и в процессе выполнения кода,этот параметр вызовет ошибку, ведь нет команды под таким номером, а если убрать команду перехода с её "эксклюзивным" параметром, в процессе мутации, то мы заменим не 1 байт, а два, а это нарушает "правила". Всё и так работает.
@lokpasddq763
@lokpasddq763 6 жыл бұрын
ещё вопрос о типах ботов ! ботов из двух, трёх клеток с разными показателями и уровнями энергии.
@unfade831
@unfade831 4 жыл бұрын
*[**1:11**] Опять двадцать пять 😂*
@Muchcap
@Muchcap 6 жыл бұрын
Можно увеличить рамер генома и сделать больше возможных действий организма, тогда при эволюции появятся очень интересные особи, отдаленно напоминающие интеллект
@user-cw1ro4jv6d
@user-cw1ro4jv6d 5 жыл бұрын
а в начале рассматривались коды которые генерировались случайно? а то при разборе кажется что они специально написаны. и если случайно, то на каждую клетку кода любая цифра от 0 до 63 ? а то там только 25 повторялось кажется.
@arthurlouiskarl
@arthurlouiskarl 6 жыл бұрын
Какой язык программирования и инструменты были использованы в создании симуляции?
@foo52ru
@foo52ru 6 жыл бұрын
Малоизвестный интерпретатор Pixilang. Он достаточно аскетичен, но позволяет программировать и запускать код прямо на планшете/телефоне. Проект создавался вне дома на планшете.
@arthurlouiskarl
@arthurlouiskarl 6 жыл бұрын
Спасибо за ответ. Некоторое время ищу платформу для создания подобной симуляции, думал свою написать, но это довольно времязатратно. Погуглю Pixilang
@user-zi7gw8sx8d
@user-zi7gw8sx8d 5 жыл бұрын
Я что-то не увидел тут нейросеть в классическом понимании? Какая-то матрица. Почему именно такая? Почему не разносторонняя? Почему не 3D?
@foo52ru
@foo52ru 5 жыл бұрын
Я тоже не смог увидеть здесь нейросеть? Может её тут и не было?
@broglor8048
@broglor8048 6 жыл бұрын
продолжения хочу
@Eratosthenes0fCyrene
@Eratosthenes0fCyrene 6 жыл бұрын
Прекрасно!
@Eratosthenes0fCyrene
@Eratosthenes0fCyrene 6 жыл бұрын
Не хватает только возможности увеличивать скорость течения времени, на мощной машинке можно было бы сразу далеко заглянуть.
@cloudysh
@cloudysh Жыл бұрын
Как хранится мир? Это ли 2Д массив с ячейками хранящие параметры о самих себе (вроде их типа), или же одномерный массив, где каждый элемент так же хранит свой тип, и к тому же свои X & Y координаты?
@razvigor2819
@razvigor2819 2 жыл бұрын
Думаю, для "полового размножения" ботов необходимо внести "доминантную" и ""рецессивную" копии/части "генома". И определение родственника производить только по доминантной составляющей.
@thousend
@thousend Жыл бұрын
а что если хардкор - определение по рецессивной части?
@SashaLuchik
@SashaLuchik 6 жыл бұрын
как то сложно, наверное, надо предыдущие видео посмотреть, чтобы понять.
@forty42two
@forty42two 6 жыл бұрын
Вот интересное видео про генетические алгоритмы. В описании к видео есть сама программа kzbin.info/www/bejne/hF6rm5mJabVpqJY
@andreyman3953
@andreyman3953 7 жыл бұрын
Насколько я понимаю, pixilang - не объектно ориентированный, следовательно каждая "деталь" бота реализована элементом массива, и количество таких массивов равно количеству "деталей" бота? Можете ли вы сделать ролик с разбором кода или дать ссылку на сам код?
@foo52ru
@foo52ru 7 жыл бұрын
Каждый бот занимает в памяти 78 ячейки ( 64 ячейки - днк-код и 14 ячейки дополнительной информации). //================================================================ WORLD_WIDTH =180 // размер мира 180х96 WORLD_HEIGHT=96 MAX_BOTS_COUNT= WORLD_WIDTH * WORLD_HEIGHT // максимальное количество живности MIND_SIZE = 64 BOT_SIZE = MIND_SIZE + 14 // =============== внутренности бота =============================== // 0..63 мозг ADR= MIND_SIZE+0 // адрес текущей команды X_COORD= MIND_SIZE+1 // Х-координата Y_COORD= MIND_SIZE+2 // У-координата HEALTH= MIND_SIZE+3 // здоровье MINERAL= MIND_SIZE+4 // накопленно минералов LIVING= MIND_SIZE+5 // 0-free 1-органика 2-органика_вниз 3-живой 4-многоклеточное C_RED = MIND_SIZE+6 // доля красного цвета C_GREEN= MIND_SIZE+7 // доля зеленого цвета C_BLUE= MIND_SIZE+8 // доля синего цвета DIRECT= MIND_SIZE+9 // направлениe 1-вверх, 3 -право, 5-низ PREV = MIND_SIZE+10// ссылка на предыдущего NEXT = MIND_SIZE+11 // ссылка на следующего MPREV = MIND_SIZE+12 // ссылка на предыдущего у многоклеточного MNEXT = MIND_SIZE+13 // ссылка на следующего у многоклеточного //=============================================================== //.... боты со всеми параметрами и мозгом-геномом .................................... bots=new( MAX_BOTS_COUNT , BOT_SIZE ,INT16) // массив для ботов clean( bots, 0 ) //============================================================== Максимальное количество ботов равно размеру мира 180*96=17280 У меня в памяти сразу создается массив 17280 на 78 для всех возможных ботов. У каждого бота есть ссылка на предыдущего и следующего. За каждый ход, программа по ссылкам пробегает по всем существующим ботам. Прибавление, удаление ботов происходит с помощью редактирования ссылок. Код я выложу в группе ВКонтакте, когда приведу его в порядок. Сейчас пока некогда.
@andreyman3953
@andreyman3953 7 жыл бұрын
Благодарю! Примерно так себе я это и представлял. Меня даже смущало, что есть неиспользуемая память, но, видимо, этого не избежать.
@user-qx9ys9xt3t
@user-qx9ys9xt3t 4 жыл бұрын
А откуда именно такой набор команд? Автор сам их придумал, и почему именно такой?
@foo52ru
@foo52ru 4 жыл бұрын
Автор сам их придумал. Можно разные придумывать, я разные команды пробовал, многие убрал, так как не заметил пользы от них. Можно придумывать не только команды, но и разные миры, хоть многомерные, но хотелось, что бы немного был похож на наш, для простоты восприятия.
@dkazbek
@dkazbek 6 жыл бұрын
А program counter обнуляется при каждом цикле? Или сохраняется на протяжении всей жизни и обнуляется только при рождении?
@foo52ru
@foo52ru 6 жыл бұрын
Казбек Дадтеев обнуляется только при рождении. Более понятно, если называть его - указатель текущей команды.
@user-cw1ro4jv6d
@user-cw1ro4jv6d 5 жыл бұрын
а почему было решено убрать разнообразие команд выбора направления и брать остатки от деления со следующим кодом? так получается же что это и задание направления и какаято ещё команда. это нормально?)
@foo52ru
@foo52ru 5 жыл бұрын
что бы было больше свободных чисел для добавления новых команд. Ген, который был параметром, в следующем проходе может стать командой. Это нормально с точки зрения виртуальной машины, выполняющей код-геном. С точки зрения человека, это может показаться ненормальным, так как усложняет разбор кода. Писал на хабре статью про это. Вроде называется "создание искусственной жизни“. Там подробно разбирал работу кода-генома.
@Dseymo
@Dseymo 5 жыл бұрын
Может добавить еще типо этого: хищник ест организм и есть вероятность получить часть его генома?
@JohnDoe-yb8gu
@JohnDoe-yb8gu 4 жыл бұрын
В реале это же так не работает. Хищники просто вещества получают и всё
@floks700
@floks700 3 жыл бұрын
зато в фантастике да, терминатор т1000 после контакта всю инфу получает, а в фильме Нечто после поедания генетическая инфа копируется. тем интереснее попробовать такой механизм.
@user-hr4wq1nq3k
@user-hr4wq1nq3k 5 жыл бұрын
А когда?
@Fastereus
@Fastereus 6 жыл бұрын
ПИПЕЦ, склоняю голову ...
@jevjev2183
@jevjev2183 6 жыл бұрын
если бы вписать функцию преобладания сильного гена в толпе чтобы управлять толпой и способность развития мышления
@user-qp1oy9qs5v
@user-qp1oy9qs5v 6 жыл бұрын
Очень захватывающе. Немного непонятно, как бот определяет какого цвета ему становиться? То есть в момент, когда он сжирает клетку, он становится красным? И после этого он будет красным, пока, допустим не переработает минералы? В таком случае, как бот может принимать средние цвета, например, фиолетовый?
@foo52ru
@foo52ru 6 жыл бұрын
Для определения цвета используются 3 компонента: красный, зелёный и синий. Когда бот получает энергию от минералов, то значение синего немного увеличивается, а зелёного и красного уменьшается. Через некоторое время синий достигнет максимума, а зеленый и красный опустятся до нуля. Если бот полакомиться мясом, то значение синего немного уменьшиться а красного увеличится. Чем чаще ест мясо тем ближе к красному
@user-qp1oy9qs5v
@user-qp1oy9qs5v 6 жыл бұрын
Спасибо, теперь понял. Что вы можете сказать о производительности Pixilang? Я собираюсь переписать приложение на lua, есть ли смысл в этом если я хочу прироста в скорости?
@TeppopucT
@TeppopucT 5 жыл бұрын
Вот и появились первые хромосомы))
@abdhp78
@abdhp78 4 жыл бұрын
0:26 Молодец, сгенерировал бота, который только то и делает что фотосинтез))
@NewStoryline
@NewStoryline 4 жыл бұрын
Ты это сам придумал?
@user-jq3rn5uw9x
@user-jq3rn5uw9x 4 жыл бұрын
Ты гений
@dakantsa1712
@dakantsa1712 5 жыл бұрын
да это же ДНК :D
@Adam-pj4zq
@Adam-pj4zq 4 жыл бұрын
Всё предопределено
@nighthunter28
@nighthunter28 4 жыл бұрын
да это минус. т.е. обучаем бота под конкретную задачу, а дальше все( нужны нейронные сети.
@vorobushek6590
@vorobushek6590 4 жыл бұрын
как же сложно понимать мозг этого бота из 64 ячеек.. теперь я понимаю ученых, которые изучают наш мозг..
@AlexLink-rb5by
@AlexLink-rb5by 5 жыл бұрын
Не сильно понял обучение бота, как его обучает эволюция? Чисто случайным кодом? Типа выжил то гуд а нет, так нет...
@foo52ru
@foo52ru 5 жыл бұрын
У некоторых новорожденных может измениться случайным образом случайный байт. 1. Это может никак не отразиться на способностях бота. 2. Это может ухудшить способности бота, тогда он с большой вероятностью погибнет или не сможет оставить много потомства. 3, Это может улучшить способности бота, тогда он с большей вероятностью сможет оставить много потомства. С большей вероятностью следующие поколения будут лучше приспособлены для данных условий. А если популяция достаточно большая, то вероятность становится почти 100%
@AlexLink-rb5by
@AlexLink-rb5by 5 жыл бұрын
@@foo52ru спасибо за ответ, буду дальше разбираться ;)
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
А что такое смещение для условного перехода? Суть его в том на сколько ячеек увеличить счетчик при возникновении того или иного препятствия на пути?
@foo52ru
@foo52ru 5 жыл бұрын
Да, поэтому бот будет реагировать по разному, в зависимости от препятствия.
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
​@@foo52ru Мне вашу модель очень трудно реализовать пока что, поэтому я сделал упрощенную, чтобы потом усложнять? Можете дать совет будет ли она работать на практике для финансовых рынков? Интересует есть ли проблема в самом алгоритме. Будет ли он работать циклично?
@foo52ru
@foo52ru 5 жыл бұрын
@@user-pb7pz7nv3m Я далёк от финансовых рынков, ничего посоветовать не могу.
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
@@foo52ru Подскажите пожалуйста, а данное смещение также задается в геноме или оно жестко задано в программе? У вас справа пометка 2 -пусто, 3-стена, 4-органика, 5-бот,6-родня. Откуда вы брали эти значения?
@foo52ru
@foo52ru 5 жыл бұрын
задано в программе
@marcelsamvel3013
@marcelsamvel3013 4 жыл бұрын
4:40 ОКАЖУТЬСЯ
@Man_angel
@Man_angel 3 жыл бұрын
Мудрено то как, а по проще никак в кодировке? Процедуры пожирнее прицепить, нагляднее всё будет, что прям скорость просчета давит?
@SergeyPetrov1972
@SergeyPetrov1972 3 жыл бұрын
"Опять 25" :-). Классный проект. А зачем боту тратить команду на узнавание, сколько у него энергии? Логичнее не анализировать это командно, а просто проверять извне.
@dakantsa1712
@dakantsa1712 5 жыл бұрын
ПОЧЕМУ ТЫ НЕ ПРОДОЛЖАЕШЬ!
@nighthunter28
@nighthunter28 4 жыл бұрын
потому что это беспереспективно. видать это дошло до автора. максимум для курсовичка потянет.
@Xeenych
@Xeenych 7 жыл бұрын
А на чем написана симуляция, какие библиотеки?
@foo52ru
@foo52ru 7 жыл бұрын
Написано на Pixilang. Это малоизвестный интерпретатор, зато позволяет программировать прямо на смартфоне/планшете. Библиотеки не используются.
@user-dt2wk7ls8z
@user-dt2wk7ls8z 4 жыл бұрын
У меня вопрос... Графический интерфейс сам писал или готовый где-то есть? Хочу дома "живой" экран сделать, залить код и тупо смотреть за этим хаосом.
@cassandradawn780
@cassandradawn780 4 жыл бұрын
Это pixilang
@user-tn3bw1wg8w
@user-tn3bw1wg8w 4 жыл бұрын
Буду дальше просматривать) данный проект, случайно наткнулся
@mykolaovdiichuk5724
@mykolaovdiichuk5724 4 жыл бұрын
На чем написан проект?
@foo52ru
@foo52ru 4 жыл бұрын
pixilang
@user-uq6rh7jc9e
@user-uq6rh7jc9e 5 жыл бұрын
Человек пытается сымитировать то, что, якобы возникло случайно. Я бы уже задумался о присутствии в мире идеального программиста - Создателя.
@foo52ru
@foo52ru 5 жыл бұрын
Создатель якобы возник случайно? Я бы уже задумался..
@KustRecn
@KustRecn 4 жыл бұрын
@@foo52ru может это вселенный фрактал, кто-то создал нас, этого кого-то создал кто-то, которого создал кто-то и т.д.?
@1kvolt1978
@1kvolt1978 Жыл бұрын
Хорошая шутка про "идеального программиста", смешная. :D Если Создатель и есть/был, и он программист, то он тот ещё говнокодер.
@khusamov
@khusamov Жыл бұрын
Мир с половым размножением ботов так и не сделали?
@9snozabe1
@9snozabe1 6 жыл бұрын
А что если добавить типологию ботов? Взять основы из какой нибудь имеющейся типологии людей (векторная психология, соционика, психософия, хуман дизайн, физиогномика и т.д.). Не важно какая просто параметры ботов которые рождаются, чтобы были разные Или даже проще типичные игровые хар-ки сила, ловкость, интеллект. Будет уже более сложное социальное взаимодействие. P.S. Это можно сделать приложением, чтобы самому поиграться?)
@AllpowerfulAndrew
@AllpowerfulAndrew 7 жыл бұрын
Не понял, почему вначале, когда дошло до третей ячейки, к 61 прибавился номер ячейки 2, а в предыдущих ячейках не прибавлялось? А если бы там был номер 63, то при прибавлении 2 получилось бы 65, а такой ячейки нет. Что тогда? Можно где-то найти весь этот алгоритм в письменном подробном виде? Вы сами его придумали или где-то это есть? Очень хочется его реализовать самому, но не понимаю по видео, много вопросов. Буду благодарен за ответ!
@foo52ru
@foo52ru 7 жыл бұрын
За некоторыми числами зарегистрированы определенные команды. Например 25 - команда фотосинтеза. После её выполнения, указатель текущей команды увеличивается на 1. За числом 61 не было зарегистрировано команды, поэтому у меня это безусловный переход и к указателю текущей команды прибавляется данное число. 2+61=63 Если получившееся число больше 63, то из него вычитается 64. В итоге код получается замкнут по кругу. Вот так примерно это выглядит ////////////////////////////////////////////////////////////////////////// начало: Считываем число из ячейки, на которую указывает указатель если число = 25, то ( выполнить команду №1, перейти в начало ) если число = 26, то ( выполнить команду №2, перейти в начало ) если число = 27, то ( выполнить команду №3, перейти в начало ) .... прибавить к указателю число из ячейки если результат > 63, то (указатель = указатель - 64) перейти в начало //////////////////////////////////////////////////////////////////////////// При выполнении команд значение указателя также изменяется. В простейшем случае, как при выполнении команды фотосинтеза, значение указателя увеличивается на 1 Алгоритм виртуальной машины, которая выполняет код бота, копирует работу процессора на аппаратном уровне. Примерно так и работает процессор, считывает команды из памяти, выполняет их, при этом значение указателя текущей команды изменяется и указывает на следующую команду. ru.wikipedia.org/wiki/%D0%A1%D1%87%D1%91%D1%82%D1%87%D0%B8%D0%BA_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4
@AllpowerfulAndrew
@AllpowerfulAndrew 7 жыл бұрын
Вот как это я понял. Если счётчик показывает 4, к примеру, а у нас число 62, то мы не прибавляем к 62, т. к. будет больше 64, а отнимаем... что от чего? 64 от 62? Но тогда получится отрицательное число. Или от 64 отнимаем получившееся, то есть 62. И тогда получается 2 и мы переходим к ячейке под номером 2 так? Не могу уловить такие алгоритмы с первого раза.
@foo52ru
@foo52ru 7 жыл бұрын
Код замкнут по кругу. Можно на цилиндре нарисовать замкнутую по кругу цепочку из 64 ячеек под номерами от 0 до 63. Если идти последовательно по этой цепочке, то будут номера 0, 1, 2, 3, ....., 62, 63, 0, 1, 2, 3, 4...... Если текущая команда 4, а там число 62, то мы к 4 прибавляем 62 и если полученный результат превысил номер крайней ячейки, то вычитаем общее число ячеек. 4+62 = 66. 66-64=2. У меня поле, где живут боты, тоже замкнуто по кругу. Когда бот выходит за правый край экрана, то он появляется с левого края экрана. Для этого, если его Х-координата вышла за край, то я вычитаю из неё ширину экрана и бот оказывается слева. (180-180=0) Если бот вышел за левый край экрана, то я прибавляю к его Х-координате ширину экрана и бот выходит с правой стороны экрана. (-1+180=179)
@AllpowerfulAndrew
@AllpowerfulAndrew 7 жыл бұрын
Так, теперь я понял этот момент. Дальше тоже есть много непонятного. Так что насчёт письменного варианта этих алгоритмов? Есть где-нибудь подробное и детальное описание подобного алгоритма? Это Вы его придумали?
@foo52ru
@foo52ru 7 жыл бұрын
Придумал я. Возможно есть что-нибудь похожее, я не искал. В качестве вдохновения, опыт программирования и отладки программ на ассемблере. Код-геном бота работает как ассемблер, простые команды плюс разные условные и безусловные переходы.
@Yura5555
@Yura5555 6 жыл бұрын
Продолжение будет?
@drvexsear9398
@drvexsear9398 6 жыл бұрын
Извините, может я чего-то не знаю. Но где ещё видео? Другие варианты миров, как вы говорили? Что получается и т.д. На комментарии вы отвечаете. Я так и не смог чего-либо подобного найти, а тема очень интересная.
@foo52ru
@foo52ru 6 жыл бұрын
Новых видео пока нет. Сейчас на планшете крутится первый вариант мира, но там ничего интересного не пока происходит. Мир нашел некое сбалансированное состояние и нём пребывает, хотя в любой момент может всё поменяться. Даже колонии исчезли и мир стал более однородным, с равномерным распределением энергии, никто почти не умирает, новые почти не рождаются. Своего рода тепловая смерть. Хотя по центру, за последние несколько дней, стали наклевываться небольшие колонии. Посмотрю, как будет развиваться дальше. Пока обдумываю, каким будет новый мир, начну его делать в Новогодние праздники. Там у меня как раз двух недельный отпуск добавляется.
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
Вообще я полагаю, что главный минус программы, что условия мира в ней не изменны, но в реальном мире условия довольно часто меняются. В итоге выходит так, что те организмы, которые учатся много поколений прежде, чем подстраиваются под изменения оружающей среды не будут выживать в реальной среде, так как правила игры будут меняться быстрее, чем они чему-либо научатся. Надо придумать метод максимально быстрого приспособления к окружающей среде и правилам нового мира. Интересно думали ли вы об этом? А что если раз в 100 поколений например менять условия среды, например рандомно увеличивать количество яда, еды или стен, отнимать возможность превращать яд в еду и так далее?
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 жыл бұрын
И кстати пришла идея, что если запустить миллион параллельных миров одновременно, то обучение произойдет намного быстрее.
@YaShoom
@YaShoom 5 жыл бұрын
У вас 1 клетка команды = 1 байту? По моему если в клетке может поместиться максимум 63, то это значит что в клетке 6 бит. А значит в написаных вами 21-ячековом коде 15 байт и 6 бит.
@nighthunter28
@nighthunter28 4 жыл бұрын
минимальная единица хранения информации - байт. логческий тип тип boolean занимает 1 байт, хотя имееет два значения 0 или 1
@YaShoom
@YaShoom 4 жыл бұрын
@@nighthunter28 Значит можно было увеличить размеры до реального байта, при этом не увеличивая потребление памяти в компьютере?)))
@politbers562
@politbers562 6 жыл бұрын
Продолжения не будет?
@goiiia3774
@goiiia3774 5 жыл бұрын
Вообще увлекательно! Закачал себе на телефон, пускай развиваются )) Я тут придумал как расширить их возможности, но так как в программировании не бум бум, как сделать, не знаю.. Сейчас боты просто оптимизируются для выживания, но вот если бы они узнавали что то новое ;) Как то бы сделать, чтобы каждый бот периодически делал записи из спонтанных букв и цифр и каждый раз проверял этот набор символов как какую то новую команду. Если команда не выполняется, (т.е. это просто набор букв) он её пропускает. А вот вдруг там сложится какая то команда, абсолютно новая для всех ботов. В "Теореме о бесконечных обезьянах" обезьяна напечатала "Гамлета" Шекспира. А наши может и мир всё же захватят наконец ) ru.wikipedia.org/wiki/Теорема_о_бесконечных_обезьянах
@Dseymo
@Dseymo 5 жыл бұрын
По идее это можно сделать, но для этого нужно много времени :)
@user-wy1by3wi1d
@user-wy1by3wi1d 6 жыл бұрын
Это просто ппц, да в нас такой же код заложен создателем ! А " время " это счетчик, так что мы живем и размножаемся по заложенной программе !
@dimay4984
@dimay4984 6 жыл бұрын
НЕО посторел... голос уставший.
@user-oq3lz9hr7s
@user-oq3lz9hr7s Жыл бұрын
د خل بث
@lokpasddq763
@lokpasddq763 5 жыл бұрын
напиши олгаритм роста волос на голове, и расчески. а вообше если не брать кубизм который ненавидел вольт Дисней, то можно попробывать сделать что то более реальное в 3д , но боюсь что закончиться всё гонкой бильярдных шаров по луууу_ ЗаМ. без инерции..офф кос
@user-lv4dr7og8b
@user-lv4dr7og8b 4 жыл бұрын
смотрю про програмирование а тут курсы 8 класса биологии
@nRADRUS
@nRADRUS 7 жыл бұрын
некоторые физики тоже с нуля начинают считать - kzbin.info/www/bejne/Y526eH1sn6eBers
@stranger271271
@stranger271271 4 жыл бұрын
Говнокод
@T3mak
@T3mak 6 жыл бұрын
Чтобы*, окажутся*. Что за безграмотность?
Вирус для "искусственной жизни"
9:55
foo52ru ТехноШаман
Рет қаралды 156 М.
Эволюция "цифровых деревьев". Версия2.
16:38
foo52ru ТехноШаман
Рет қаралды 87 М.
1🥺🎉 #thankyou
00:29
はじめしゃちょー(hajime)
Рет қаралды 22 МЛН
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 118 #shorts
00:30
1 класс vs 11 класс (неаккуратность)
01:00
БЕРТ
Рет қаралды 2,2 МЛН
Создаём мозг для "змейки". Часть 2.
14:04
foo52ru ТехноШаман
Рет қаралды 154 М.
Симуляция жизни на Python
0:35
Random Coder
Рет қаралды 1 М.
Искусственная жизнь. Генетический алгоритм. Мир №1
20:15
Искусственная жизнь. Борьба кланов 4.
14:42
foo52ru ТехноШаман
Рет қаралды 42 М.
Меняем пространство и время местами
8:03
foo52ru ТехноШаман
Рет қаралды 388 М.
Моделирование эволюции "цифровых деревьев"
14:23
foo52ru ТехноШаман
Рет қаралды 148 М.
Роевой интеллект. Проект "Орущие букашки"
16:16
foo52ru ТехноШаман
Рет қаралды 314 М.
Карточка Зарядка 📱 ( @ArshSoni )
0:23
EpicShortsRussia
Рет қаралды 64 М.
Samsung Android Mobile Battrey
0:39
Gaming zone
Рет қаралды 342 М.
A4 Reset to zero
0:26
STYLE YT
Рет қаралды 17 М.