Тёмный

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

foo52ru ТехноШаман
Подписаться 97 тыс.
Просмотров 64 тыс.
50% 1

"Нудный" ролик о том, как выполняется код ботов, задумки для следующего мира, про половое размножения и что вижу я во время симуляции.
Что бы понять, о чём ролик, надо посмотреть видео обзор о проекте.
• Искусственная жизнь. Г...
Также про проект "Искусственная жизнь" в новом варианте.
Проект переписан товарищем на языке 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

Наука

Опубликовано:

 

15 янв 2017

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 191   
@Orakcool
@Orakcool 6 лет назад
Будем надеяться что проект не заброшен окончательно! очень интересно было-бы следить за развитием проекта)))
@shahaman5694
@shahaman5694 6 лет назад
Очень интересно, пожалуйста продолжите этот ваш эксперимент. Откройте свою страницу на патреон чтобы вас могли поддерживать материально, появится дополнительная мотивация.
@aPiozo
@aPiozo 7 лет назад
Интереснее смотреть именно на поведение ботов в долгосрочной перспективе, как было в прошлых видео, как действует принцип селекции и как от этого менялась длительность жизни ботов, надеюсь по принципу размножения тоже будет такое видео. Хотелось бы чтобы каждое новое видео рассматривался отдельный фактор, если в первом видео была селекция, то в следующем размножение, потом, к примеру распространение вируса, конкуренция видов и т.д. А так - классно!
@vorobushek6590
@vorobushek6590 4 года назад
Спасибо огромное!! После Вас я очень заинтересовался этой темой, Вы очень многое мне объяснили!! Спасибо!! Очень надеюсь, что Вы не забросите эту тему и будете продолжать этим заниматься))
@nikitaeverywhere
@nikitaeverywhere 6 лет назад
1:11 «опять двадцать пять» :) Занимательно, продолжайте в том же духе! Рекомендую ещё проследить, чтобы отношение сторон финального видео было строго 16:9. Удачи!
@Siluet3656
@Siluet3656 6 лет назад
Подписался ради этого проекта
@YaShoom
@YaShoom 6 лет назад
У меня появилась идея многоклеточного организма. Клетка случайно специальной командой прицепляет другую клетку к себе, их коды при этом склеиваются. Клеткам это будет выгодно за счёт расширения длины генома, но большая клетка неуклюжая, по этому в среднем эти организмы, я думаю, не будут больше 2-х, 3-х клеток. Хотя эволюция непредсказуема, может появятся и 200-клеточные монстры.
@dmitrypoznyakov3387
@dmitrypoznyakov3387 3 года назад
Ого, здорово! Интересно наблюдать эволюцию вживую. Я такие же эксперименты ставлю в Cell Lab, где можно наблюдать за развитием и эволюцией клеток в чашке Петри, меняя там условия. +в вк есть группа по этой игре, там я геномы выкладываю
@FoxSlyme
@FoxSlyme 4 года назад
1:11 ну опять двадцать пять!
@user-xw5oz6nn4k
@user-xw5oz6nn4k 4 года назад
Забавно
@6556
@6556 5 лет назад
Круто, спасибо. Очень познавательно
@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 Спасибо!
@user-iq5pl4bv1f
@user-iq5pl4bv1f 4 года назад
Продолжай видео про искуственную жизнь, интересная тема
@user-tz1yy7xf6x
@user-tz1yy7xf6x 4 года назад
Очень круто. Мне особенно понравилась идея с "геномом" на 64 ячейки и механизм смещений по этому геному Я писал подобную программу на первом курсе универа, но использовал просто рандомизацию команд. Некоторые интересные явления наблюдались, но "генетической" составляющей никакой не было. Теперь хочу попробовать раскопать тот проект и попробовать добавить гены. Кстати, очень сильно влияет половое размножение и разные типы ботов. С половой системой все ясно, размножение только с противоположным полом, а по поводу типов - можно построить любую иерархию. У меня было 5 типов ботов, и свои не атаковали своих. Можно ещё разнообразить эту систему - добавить типы, которые "дружат", "нейтральные" типы и "враждебные" - те, кто при виде друг друга пытаются атаковать
@nighthunter28
@nighthunter28 4 года назад
беспереспективно, программа пишет свою программу. ее можно легко переобразовать в обычный код, будет работать все быстрее, но это и главный минус, т.к. дальнейшее обучение невозможно. при изменение условий нужно опять переобучать бота (помещать в лабу). все-таки для этого нужны нейронные сети, они будут обучаться все время.
@ivankuznetsov5618
@ivankuznetsov5618 4 года назад
Это- удивительно!
@user-tn3bw1wg8w
@user-tn3bw1wg8w 4 года назад
Интересно) получилось)
@fridrihfonzehtor6276
@fridrihfonzehtor6276 6 лет назад
такая идея появилась: добавить учет возраста например если бот продержался определенное количество времени, то например увеличивает запас хранимой энергии и реже дает потомство можно еще сделать мутацию не стабильной (каждый 4-й бот), а случайной так же можно сделать для хищников, чтоб при питании какой-то одной пищей другая пища являлась ядом например если бот ест фотосинтезаторов, то если переключиться на минералофагов или хищьников то они будут давать ему меньше энергии или являться ядом (в зависимости от мутации)
@raffirusblub8996
@raffirusblub8996 6 лет назад
А продолжение будет? Понравилась очень интересно =)
@andreyman3953
@andreyman3953 7 лет назад
Если добавить команды "заменить ген другого бота на свой" и "отобрать энергию у другого бота", то возможно появятся некие подобия паразитов и вирусов.
@47syorha52
@47syorha52 4 года назад
А так-же у инфузорий есть такой обмен
@razvigor2819
@razvigor2819 4 месяца назад
Я только сейчас допер... В системе команд нет NOP - одноячеечного "ничего не делать не тратя ход". Да и безусловные переходы на короткие дистанции вперед невозможны. Это, имхо, катастрофически замедляет эволюцию, делая гарантированно тупиковыми даже полезные последовательности но расположенные неудачно относительно полезных соседей... (Аргумент что бот мол может зациклиться отметаем, т.к. цепочка только из переходов возможна и в этой модели. Решается присвоением переходу затрат времени скажем в 1/10, а там сам вымрет ) Выход лично мне видится в отказе на ограничение значения в диапазоне 0..63, можно разрешить скажем 0..511 и брать остаток от деления на сколько там получится, как с поворотом. Тогда данное улучшение не потребует нового мира.
@user-gr2rm2jd2j
@user-gr2rm2jd2j 5 лет назад
Вот за сурс на джава отдельное огромное спасибо
@Vaidotui
@Vaidotui 5 лет назад
Пусть они сами придумывают соответствие между таблицей чисел и таблицей команд. Это можно реализовать допуская веса 0/1.
@vesvit
@vesvit 6 лет назад
Забавно. Было бы неплохо еще иметь возможность просмотреть код конкретного бота, для анализа его кода. Это что касается программной части. Что касается идей для мира то возможно внести элемент радиации. Например чем ближе к солнцу тем больше уровень радиации, в таком случае при размножении количество изменяемых элементов кода может увеличиться на мощность радиации. Например мощность радиации 5, тогда количество случайных мутаций при размножении может быть от 0 до 5. Это можно обыграть как количеством изменяемых элементов кода, так и количеством мутированных потомков. Ну и радиацию может излучать не только солнце, но и сами клетки при превышении определенного уровня энергии, или добавить еще один параметр "радиоактивность"
@vesvit
@vesvit 6 лет назад
Подумал тут и с вопросом радиоактивности можно поступить следующим образом: уровень радиоактивности зависит от уровня энергии в боте. При превышении определенного уровня энергии внутри бота он умирает. При этом становится источником радиоактивности. С условием - чем ближе к источнику - тем выше радиоактивность. Но хорошо бы придумать как использовать радиоактивность как источник энергии. В таком случае возможно появятся популяции которые устойчивы к радиации.
@LithiumDeuteride-6
@LithiumDeuteride-6 6 лет назад
Ещё интересно. zhurnalko.net/=nauka-i-tehnika/tehnika-molodezhi/1993-05--num6 Статья с Техники Молодёжи 1993 год. Там тоже нечто похожие используется, подробности можно найти в интернете, но это достаточно сложно, у меня сейчас нет времени найти более подробную инфу, интернет сейчас закончится. Может позже, через неделю другую...
@foo52ru
@foo52ru 6 лет назад
Я читал эту статью в 93 году. Собственно, тогда я и представить не мог, что когда-нибудь у меня будет компьютер и я реализую нечто похожее. Тогда я очень заинтересовался и позавидовал учёным, что они могут заниматься такими интересными вещами. :)
@silentium_noxe
@silentium_noxe 6 лет назад
Чувак ты классный. Вопрос: на чем ты пишешь? Какой язык используешь и какую библиотеку используешь для оконной процедуры для Windows? Я видел в коде объявление функции через fn() это питон?
@47syorha52
@47syorha52 4 года назад
Pixilang
@user-cmcumm
@user-cmcumm 4 года назад
Не понял, но интересно
@Vaidotui
@Vaidotui 5 лет назад
При половом размножнии обязательно надо вводить возраст зрелости. То есть перенимаешь генетический опыт только у успешного индивида.
@orangetv3tgl144
@orangetv3tgl144 3 месяца назад
Генетический опыт?
@Eratosthenes0fCyrene
@Eratosthenes0fCyrene 6 лет назад
Прекрасно!
@Eratosthenes0fCyrene
@Eratosthenes0fCyrene 6 лет назад
Не хватает только возможности увеличивать скорость течения времени, на мощной машинке можно было бы сразу далеко заглянуть.
@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
@broglor8048
@broglor8048 6 лет назад
продолжения хочу
@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 довольно интересные.
@lokpasddq763
@lokpasddq763 6 лет назад
Вопрос! сколько и какие колонии можно и нужно сформировать чтоб получить что то осмысленное. Ну например надпись из "органики". Где будет хранить колония(и) иноформацию о размере шрифта типа надписи и прочее css. Возможно ли сформировать с помощью ботов что то типа html разметки текста. куда девать органику и прочее.. П.с. пака что у игры нет цели и смысла.. идея интересна.
@darkeliphant1843
@darkeliphant1843 6 лет назад
Вот вопрос такой появился, есть ли команда "0", если такой команды нет то это безусловный переход и счетчик команд увеличивается на ноль, т.е. в этом самом нуле навсегда и останется? К примеру если в в самой первой ячейке программы бота будет записан "0" что произойдет?
@foo52ru
@foo52ru 6 лет назад
Всё верно, в этом случае бот зациклится на этой команде и , собственно, обречен. Но "0" бывает полезен для создания циклов как в 2:50 Проверил, команды "0" нет, под команды заняты числа с 23 по 53, хотя вроде ничего не мешает повесить на "0" какую нибудь команду, что бы нивелировать эту особенность данного числа.
@darkeliphant1843
@darkeliphant1843 6 лет назад
foo52ru Спасибо.
@user-cw1ro4jv6d
@user-cw1ro4jv6d 5 лет назад
а в начале рассматривались коды которые генерировались случайно? а то при разборе кажется что они специально написаны. и если случайно, то на каждую клетку кода любая цифра от 0 до 63 ? а то там только 25 повторялось кажется.
@lokpasddq763
@lokpasddq763 6 лет назад
ещё вопрос о типах ботов ! ботов из двух, трёх клеток с разными показателями и уровнями энергии.
@user-vu1bn9fr1x
@user-vu1bn9fr1x Год назад
автору хочу выразить уважение, скорее всего он уже работает где-то в FAANG, или над научными проектами )
@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 в басике.
@legostroitel9429
@legostroitel9429 4 года назад
сделай пж оптимизацию под экраны 2160х1080. ни черта на 800х500 не видно
@ruservices
@ruservices 4 года назад
Здравствуйте. Хочу брать у вас уроки
@Aleksandr_MAN
@Aleksandr_MAN Год назад
Добрый день. Кажется в журнале "Наука и жизнь", скорее всего в конце 80-х описывалась эта тема.
@Profil2579
@Profil2579 7 лет назад
вот бы такую симуляцию запустить на одном из супер-компьютеров :)
@guest7329
@guest7329 7 лет назад
KAJbMAP а толку? всеравно параллельно выполнять нельзя .
@foo52ru
@foo52ru 7 лет назад
guest73 Идеально параллелится. Код каждого бота может выполняться на отдельном ядре. Сейчас процессор прыгает от бота к боту, выполняя по небольшому фрагменту кода.
@guest7329
@guest7329 7 лет назад
Это только если 1 бот на поле или отдельная колония на каждом ядре. Если будет много ботов на поле то текущему боту(который ходит) нужно знать позиции всех остальных ботов.И как это распараллелить?
@foo52ru
@foo52ru 7 лет назад
guest73 все это решаемо. Код, конечно, надо писать конкретно под многоядерную систему. Правда, опыта такого у меня нет :(
@Profil2579
@Profil2579 7 лет назад
Возможно ты уже говорил в одном из видео, но всё-же спрошу: на каком языке написан сей проект? =) Предполагаю, что Java, но хотелось бы точно знать =) И сколько лет ты уже программируешь?
@Muchcap
@Muchcap 6 лет назад
Можно увеличить рамер генома и сделать больше возможных действий организма, тогда при эволюции появятся очень интересные особи, отдаленно напоминающие интеллект
@unfade831
@unfade831 4 года назад
*[**1:11**] Опять двадцать пять 😂*
@cloudysh
@cloudysh Год назад
Как хранится мир? Это ли 2Д массив с ячейками хранящие параметры о самих себе (вроде их типа), или же одномерный массив, где каждый элемент так же хранит свой тип, и к тому же свои X & Y координаты?
@arthurlouiskarl
@arthurlouiskarl 6 лет назад
Какой язык программирования и инструменты были использованы в создании симуляции?
@foo52ru
@foo52ru 6 лет назад
Малоизвестный интерпретатор Pixilang. Он достаточно аскетичен, но позволяет программировать и запускать код прямо на планшете/телефоне. Проект создавался вне дома на планшете.
@arthurlouiskarl
@arthurlouiskarl 6 лет назад
Спасибо за ответ. Некоторое время ищу платформу для создания подобной симуляции, думал свою написать, но это довольно времязатратно. Погуглю Pixilang
@dkazbek
@dkazbek 6 лет назад
А program counter обнуляется при каждом цикле? Или сохраняется на протяжении всей жизни и обнуляется только при рождении?
@foo52ru
@foo52ru 6 лет назад
Казбек Дадтеев обнуляется только при рождении. Более понятно, если называть его - указатель текущей команды.
@user-cw1ro4jv6d
@user-cw1ro4jv6d 5 лет назад
а почему было решено убрать разнообразие команд выбора направления и брать остатки от деления со следующим кодом? так получается же что это и задание направления и какаято ещё команда. это нормально?)
@foo52ru
@foo52ru 5 лет назад
что бы было больше свободных чисел для добавления новых команд. Ген, который был параметром, в следующем проходе может стать командой. Это нормально с точки зрения виртуальной машины, выполняющей код-геном. С точки зрения человека, это может показаться ненормальным, так как усложняет разбор кода. Писал на хабре статью про это. Вроде называется "создание искусственной жизни“. Там подробно разбирал работу кода-генома.
@user-tn3bw1wg8w
@user-tn3bw1wg8w 4 года назад
Буду дальше просматривать) данный проект, случайно наткнулся
@user-qx9ys9xt3t
@user-qx9ys9xt3t 4 года назад
А откуда именно такой набор команд? Автор сам их придумал, и почему именно такой?
@foo52ru
@foo52ru 4 года назад
Автор сам их придумал. Можно разные придумывать, я разные команды пробовал, многие убрал, так как не заметил пользы от них. Можно придумывать не только команды, но и разные миры, хоть многомерные, но хотелось, что бы немного был похож на наш, для простоты восприятия.
@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-jq3rn5uw9x
@user-jq3rn5uw9x 4 года назад
Ты гений
@Adam-pj4zq
@Adam-pj4zq 4 года назад
Всё предопределено
@nighthunter28
@nighthunter28 4 года назад
да это минус. т.е. обучаем бота под конкретную задачу, а дальше все( нужны нейронные сети.
@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 лет назад
Благодарю! Примерно так себе я это и представлял. Меня даже смущало, что есть неиспользуемая память, но, видимо, этого не избежать.
@SashaLuchik
@SashaLuchik 6 лет назад
как то сложно, наверное, надо предыдущие видео посмотреть, чтобы понять.
@Fastereus
@Fastereus 6 лет назад
ПИПЕЦ, склоняю голову ...
@dakantsa1712
@dakantsa1712 5 лет назад
да это же ДНК :D
@abdhp78
@abdhp78 4 года назад
0:26 Молодец, сгенерировал бота, который только то и делает что фотосинтез))
@user-hr4wq1nq3k
@user-hr4wq1nq3k 5 лет назад
А когда?
@TeppopucT
@TeppopucT 5 лет назад
Вот и появились первые хромосомы))
@NewStoryline
@NewStoryline 4 года назад
Ты это сам придумал?
@user-zi7gw8sx8d
@user-zi7gw8sx8d 5 лет назад
Я что-то не увидел тут нейросеть в классическом понимании? Какая-то матрица. Почему именно такая? Почему не разносторонняя? Почему не 3D?
@foo52ru
@foo52ru 5 лет назад
Я тоже не смог увидеть здесь нейросеть? Может её тут и не было?
@morskoyzmey
@morskoyzmey 6 лет назад
ИМХО, но пересечение команд плохая идея. 2:15 код 25 уже фотосинтез, но в данном случае это поворот. Т.е. если клетка изначально занималась фотосинтезом, а потом соседний ген мутировал в 26, то вместо фотосинтеза, она начинает ходить. Слишком сильная мутация. И зачем нужны безусловные переходы? Слишком много хаоса из-за изменения одного такого байта, ведь нарушаются последовательности переходов
@user-fl3nd6sm6v
@user-fl3nd6sm6v 5 лет назад
Alexey Kovalevsky безусловный переход важен, здесь принцип работы программ древних компьютеров, что-то вроде goto с метками, если не будет безусловных переходов, то команды, в программе ботов, будут идти последовательно, и из-за этого "тело" условной команды будет большим и вызывать ошибки, ведь там могут появляться сложные конструкции (условие в условие, которое в другом условие, и т.д) и реализовать такие конструкции будет сложно (для разработчика), а если получиться, то это будет очень ресурсозатратным ( долго будет обрабатывать код).А то что ты сказал в начале- тупо.Ведь если сделать команды перехода с "ексклюзивным" параметром (цифрой которая не занята другой командой),стоящим после команды перехода, то в процессе мутации,команду перехода может заменить другая команда, в этом случае параметр останется, стоящий после заменённой команды перехода, и в процессе выполнения кода,этот параметр вызовет ошибку, ведь нет команды под таким номером, а если убрать команду перехода с её "эксклюзивным" параметром, в процессе мутации, то мы заменим не 1 байт, а два, а это нарушает "правила". Всё и так работает.
@jevjev2183
@jevjev2183 6 лет назад
если бы вписать функцию преобладания сильного гена в толпе чтобы управлять толпой и способность развития мышления
@Xeenych
@Xeenych 7 лет назад
А на чем написана симуляция, какие библиотеки?
@foo52ru
@foo52ru 7 лет назад
Написано на Pixilang. Это малоизвестный интерпретатор, зато позволяет программировать прямо на смартфоне/планшете. Библиотеки не используются.
@47syorha52
@47syorha52 5 лет назад
Я в java версии заметил форму жизни, которая появляется после слишком сильного изменения уровня моря. Организмы отделяются от колоний и начинают хаотично двигаться, являются хищными и через время умирают. Они уж слишком похожи на Beta частицы. Я принял для себя называть это "Радиация"
@47syorha52
@47syorha52 5 лет назад
А так-же они удаляются на достаточное расстояние от родительской колонии
@47syorha52
@47syorha52 5 лет назад
А ещё они всю органику жрут, размножаются и со временем погибают. А вот колонии от них прямого урона не получают, но органики им не достаётся.
@47syorha52
@47syorha52 5 лет назад
Из-за радиации колонии из одиночных организмов сформироваться не могут, ибо радиация их съедает
@47syorha52
@47syorha52 5 лет назад
Радиация склонна к мародёрству, последние наблюдения показывают, что радиация появляется вблизь органики и кроме органики мало что может кушать
@AlexLink-rb5by
@AlexLink-rb5by 5 лет назад
Не сильно понял обучение бота, как его обучает эволюция? Чисто случайным кодом? Типа выжил то гуд а нет, так нет...
@foo52ru
@foo52ru 5 лет назад
У некоторых новорожденных может измениться случайным образом случайный байт. 1. Это может никак не отразиться на способностях бота. 2. Это может ухудшить способности бота, тогда он с большой вероятностью погибнет или не сможет оставить много потомства. 3, Это может улучшить способности бота, тогда он с большей вероятностью сможет оставить много потомства. С большей вероятностью следующие поколения будут лучше приспособлены для данных условий. А если популяция достаточно большая, то вероятность становится почти 100%
@AlexLink-rb5by
@AlexLink-rb5by 5 лет назад
@@foo52ru спасибо за ответ, буду дальше разбираться ;)
@dakantsa1712
@dakantsa1712 5 лет назад
ПОЧЕМУ ТЫ НЕ ПРОДОЛЖАЕШЬ!
@nighthunter28
@nighthunter28 4 года назад
потому что это беспереспективно. видать это дошло до автора. максимум для курсовичка потянет.
@user-qp1oy9qs5v
@user-qp1oy9qs5v 6 лет назад
Очень захватывающе. Немного непонятно, как бот определяет какого цвета ему становиться? То есть в момент, когда он сжирает клетку, он становится красным? И после этого он будет красным, пока, допустим не переработает минералы? В таком случае, как бот может принимать средние цвета, например, фиолетовый?
@foo52ru
@foo52ru 6 лет назад
Для определения цвета используются 3 компонента: красный, зелёный и синий. Когда бот получает энергию от минералов, то значение синего немного увеличивается, а зелёного и красного уменьшается. Через некоторое время синий достигнет максимума, а зеленый и красный опустятся до нуля. Если бот полакомиться мясом, то значение синего немного уменьшиться а красного увеличится. Чем чаще ест мясо тем ближе к красному
@user-qp1oy9qs5v
@user-qp1oy9qs5v 6 лет назад
Спасибо, теперь понял. Что вы можете сказать о производительности Pixilang? Я собираюсь переписать приложение на lua, есть ли смысл в этом если я хочу прироста в скорости?
@forty42two
@forty42two 6 лет назад
Вот интересное видео про генетические алгоритмы. В описании к видео есть сама программа ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N-HjfS4P6r4.html
@razvigor2819
@razvigor2819 2 года назад
Думаю, для "полового размножения" ботов необходимо внести "доминантную" и ""рецессивную" копии/части "генома". И определение родственника производить только по доминантной составляющей.
@thousend
@thousend Год назад
а что если хардкор - определение по рецессивной части?
@SergeyPetrov1972
@SergeyPetrov1972 3 года назад
"Опять 25" :-). Классный проект. А зачем боту тратить команду на узнавание, сколько у него энергии? Логичнее не анализировать это командно, а просто проверять извне.
@Dseymo
@Dseymo 5 лет назад
Может добавить еще типо этого: хищник ест организм и есть вероятность получить часть его генома?
@JohnDoe-yb8gu
@JohnDoe-yb8gu 4 года назад
В реале это же так не работает. Хищники просто вещества получают и всё
@floks700
@floks700 3 года назад
зато в фантастике да, терминатор т1000 после контакта всю инфу получает, а в фильме Нечто после поедания генетическая инфа копируется. тем интереснее попробовать такой механизм.
@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 лет назад
задано в программе
@user-dt2wk7ls8z
@user-dt2wk7ls8z 4 года назад
У меня вопрос... Графический интерфейс сам писал или готовый где-то есть? Хочу дома "живой" экран сделать, залить код и тупо смотреть за этим хаосом.
@cassandradawn780
@cassandradawn780 4 года назад
Это pixilang
@marcelsamvel3013
@marcelsamvel3013 4 года назад
4:40 ОКАЖУТЬСЯ
@mykolaovdiichuk5724
@mykolaovdiichuk5724 4 года назад
На чем написан проект?
@foo52ru
@foo52ru 4 года назад
pixilang
@vorobushek6590
@vorobushek6590 4 года назад
как же сложно понимать мозг этого бота из 64 ячеек.. теперь я понимаю ученых, которые изучают наш мозг..
@Man_angel
@Man_angel 3 года назад
Мудрено то как, а по проще никак в кодировке? Процедуры пожирнее прицепить, нагляднее всё будет, что прям скорость просчета давит?
@9snozabe1
@9snozabe1 6 лет назад
А что если добавить типологию ботов? Взять основы из какой нибудь имеющейся типологии людей (векторная психология, соционика, психософия, хуман дизайн, физиогномика и т.д.). Не важно какая просто параметры ботов которые рождаются, чтобы были разные Или даже проще типичные игровые хар-ки сила, ловкость, интеллект. Будет уже более сложное социальное взаимодействие. P.S. Это можно сделать приложением, чтобы самому поиграться?)
@Yura5555
@Yura5555 6 лет назад
Продолжение будет?
@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 лет назад
Придумал я. Возможно есть что-нибудь похожее, я не искал. В качестве вдохновения, опыт программирования и отладки программ на ассемблере. Код-геном бота работает как ассемблер, простые команды плюс разные условные и безусловные переходы.
@drvexsear9398
@drvexsear9398 6 лет назад
Извините, может я чего-то не знаю. Но где ещё видео? Другие варианты миров, как вы говорили? Что получается и т.д. На комментарии вы отвечаете. Я так и не смог чего-либо подобного найти, а тема очень интересная.
@foo52ru
@foo52ru 6 лет назад
Новых видео пока нет. Сейчас на планшете крутится первый вариант мира, но там ничего интересного не пока происходит. Мир нашел некое сбалансированное состояние и нём пребывает, хотя в любой момент может всё поменяться. Даже колонии исчезли и мир стал более однородным, с равномерным распределением энергии, никто почти не умирает, новые почти не рождаются. Своего рода тепловая смерть. Хотя по центру, за последние несколько дней, стали наклевываться небольшие колонии. Посмотрю, как будет развиваться дальше. Пока обдумываю, каким будет новый мир, начну его делать в Новогодние праздники. Там у меня как раз двух недельный отпуск добавляется.
@politbers562
@politbers562 6 лет назад
Продолжения не будет?
@khusamov
@khusamov Год назад
Мир с половым размножением ботов так и не сделали?
@goiiia3774
@goiiia3774 6 лет назад
Вообще увлекательно! Закачал себе на телефон, пускай развиваются )) Я тут придумал как расширить их возможности, но так как в программировании не бум бум, как сделать, не знаю.. Сейчас боты просто оптимизируются для выживания, но вот если бы они узнавали что то новое ;) Как то бы сделать, чтобы каждый бот периодически делал записи из спонтанных букв и цифр и каждый раз проверял этот набор символов как какую то новую команду. Если команда не выполняется, (т.е. это просто набор букв) он её пропускает. А вот вдруг там сложится какая то команда, абсолютно новая для всех ботов. В "Теореме о бесконечных обезьянах" обезьяна напечатала "Гамлета" Шекспира. А наши может и мир всё же захватят наконец ) ru.wikipedia.org/wiki/Теорема_о_бесконечных_обезьянах
@Dseymo
@Dseymo 5 лет назад
По идее это можно сделать, но для этого нужно много времени :)
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
Вообще я полагаю, что главный минус программы, что условия мира в ней не изменны, но в реальном мире условия довольно часто меняются. В итоге выходит так, что те организмы, которые учатся много поколений прежде, чем подстраиваются под изменения оружающей среды не будут выживать в реальной среде, так как правила игры будут меняться быстрее, чем они чему-либо научатся. Надо придумать метод максимально быстрого приспособления к окружающей среде и правилам нового мира. Интересно думали ли вы об этом? А что если раз в 100 поколений например менять условия среды, например рандомно увеличивать количество яда, еды или стен, отнимать возможность превращать яд в еду и так далее?
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
И кстати пришла идея, что если запустить миллион параллельных миров одновременно, то обучение произойдет намного быстрее.
@user-uq6rh7jc9e
@user-uq6rh7jc9e 5 лет назад
Человек пытается сымитировать то, что, якобы возникло случайно. Я бы уже задумался о присутствии в мире идеального программиста - Создателя.
@foo52ru
@foo52ru 5 лет назад
Создатель якобы возник случайно? Я бы уже задумался..
@KustRecn
@KustRecn 4 года назад
@@foo52ru может это вселенный фрактал, кто-то создал нас, этого кого-то создал кто-то, которого создал кто-то и т.д.?
@1kvolt1978
@1kvolt1978 Год назад
Хорошая шутка про "идеального программиста", смешная. :D Если Создатель и есть/был, и он программист, то он тот ещё говнокодер.
@YaShoom
@YaShoom 5 лет назад
У вас 1 клетка команды = 1 байту? По моему если в клетке может поместиться максимум 63, то это значит что в клетке 6 бит. А значит в написаных вами 21-ячековом коде 15 байт и 6 бит.
@nighthunter28
@nighthunter28 4 года назад
минимальная единица хранения информации - байт. логческий тип тип boolean занимает 1 байт, хотя имееет два значения 0 или 1
@YaShoom
@YaShoom 4 года назад
@@nighthunter28 Значит можно было увеличить размеры до реального байта, при этом не увеличивая потребление памяти в компьютере?)))
@user-wy1by3wi1d
@user-wy1by3wi1d 6 лет назад
Это просто ппц, да в нас такой же код заложен создателем ! А " время " это счетчик, так что мы живем и размножаемся по заложенной программе !
@lokpasddq763
@lokpasddq763 5 лет назад
напиши олгаритм роста волос на голове, и расчески. а вообше если не брать кубизм который ненавидел вольт Дисней, то можно попробывать сделать что то более реальное в 3д , но боюсь что закончиться всё гонкой бильярдных шаров по луууу_ ЗаМ. без инерции..офф кос
@dimay4984
@dimay4984 6 лет назад
НЕО посторел... голос уставший.
@user-oq3lz9hr7s
@user-oq3lz9hr7s Год назад
د خل بث
@nRADRUS
@nRADRUS 7 лет назад
некоторые физики тоже с нуля начинают считать - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--lWGJ6jBNDY.html
@user-lv4dr7og8b
@user-lv4dr7og8b 4 года назад
смотрю про програмирование а тут курсы 8 класса биологии
@stranger271271
@stranger271271 4 года назад
Говнокод
@T3mak
@T3mak 6 лет назад
Чтобы*, окажутся*. Что за безграмотность?
Далее
Теорема Байеса [3Blue1Brown]
15:05
Просмотров 209 тыс.
Делаю эволюцию ИИ в Unity
17:05
Просмотров 475 тыс.
Неразбиваемый экран!
0:23
Просмотров 32 тыс.
Ноутбук БЕЗ ЭКРАНА!
0:54
Просмотров 59 тыс.
5 САМОДЕЛОК ИЗ DVD ПЛЕЕРА
10:10
Просмотров 70 тыс.