EN
creator cover foo52ru ТехноШаман

foo52ru ТехноШаман

Поток сознания гика
foo52ru ТехноШаман
409
subscribers
goals
79 of 1 000 paid subscribers
Возможность полностью посвятить себя творчеству.

About the creator

Я автор Ютуб-канала foo52ru, который посвящён моим экспериментам в таких областях, как программирование, микроконтроллеры, кибербиология, нейронные сети.
Оказалось, что моё творчество интересно многим людям и на меня уже подписались тысячи человек.
У вас есть возможность поддержать меня материально, став моим подписчиком на Boosty. Это даст мне возможность больше времени уделять каналу. В идеале, хотелось бы, что бы моё творчество стало моей основной работой.
Для подписчиков буду стараться выкладывать материалы с проектов, над которыми сейчас работаю, какие то неопубликованные материалы и идеи на будущее. Вроде пока всё.
Исходник проекта про альтруизм
Исходник написан в среде Processing
Level required:
Герой нашего времени

Зарождение альтруизма

Некоторые моменты, на которые хотел овраттить внимание.
Добыча появляется на поверхности на некоторое время, потом исчезает.
Это одно из условий, которое придаёт смысл крику. Без этого выгоднее было бы потихоньку есть свою находку вместе с прямыми потомками.
С помощью добычи я пытался удерживать численность популяции около 1800 особей.
Когда их становилось мало, я увеличивал количество добычи на карте, когда становилось мало, я уменьшал.
Так как калорийность добычи возрастала, то и частота её появления на карте уменьшалась. В последней части, добыча появлялась на карте в среднем в три раза реже, расстояния между добычей возрастало, что и приводило к необходимости усиления крика.
Идея для ролика возникла после прослушивания этой лекции.
Show more
Исходники ролика про принцип Фишера (соотношение полов)
Исходники скрипта из видео про принцип Фишера
Level required:
Герой нашего времени

Параллельные Вселенные

Из любопытства запустил две идентичные симуляции. В одной из них "убил" одну из клеток. Темным цветом показано, где в двух  параллельных симуляциях появилась разница. 
В самом первом опыте  изменения  стали сразу происходить по всему полю, а не вокруг места "убийства"
Дело в том, что при внесении изменений в одну из симуляций, генератор случайных чисел начинал выдавать разные последовательности для этих симуляций.
Show more
Show more comments
avatar
А простые нейросети можно, я думаю, сделать и на процессинге, и на яваскрипте...
avatar
Однако, если убить одну из клеток, даже при заданном сиде - организмы, которые по сути и не должны были контактировать с исчезнувшей клеткой будут вести себя иначе. Это будет из-за того, что вместе с клеткой исчез ещё один или несколько вызовов метода получения случайного числа, что влияет на последующие вызовы этого метода. Таким образом, клетка, которая должна была бы ходить после убитой, в своём рандоме получит то число, которое должна была бы получить убитая клетка. А следующая после неё - число от предыдущей. И такое смещение распространится на все клетки далее.
Show more replies
avatar
foo52ru ТехноШаман, да, это решает описанную проблему. Спасибо за ответ!

Утилита для просмотра и сравнения файлов с геномом

Скрипт написан в Processing и нужен для просмотра и сравнения файлов с геномом, сохранёных во время симуляции "Борьба кланов".
В первой строке нужно прописать имена файлов без расширений.
String[] files = {"9", "10", "11", "12", "13", "14", "15", "16", "17"};
В данном примере будут открыты файлы начиная от 9.dat до 17.dat
В утилите есть два режима, которые переключаются кнопкой [mode] в правом верхнем углу.
>>mode 0
В первом режиме, кликая по верхним кнопкам, можно выбрать два файла для сравнения.
Сейчас в левом окне отображается геном из файла 9.dat, он сравнивается с геномом из файла 17.dat и красным цветом выделены несовпадения. под таблицей показан процент и количество совпадений/несовпадений.
Show more
avatar
Хотелось бы как-то изменить вероятность появления ошибки в геноме, есть такая возможность?
avatar
Evpatiy Ev,  в коде симуляции есть такие строчки 
//---- mutation --------
if(stg==APEX){
if(random(0,100)<=1){
int g = findFreeGenom();
arrayCopy(GN[gn],GN[g]);
GN[g][floor(random(0,673))] = floor(random(0, 256));
GN[g][673] = 1;
cells[newIndex].gn = g;
mutationCounter += 1;
}
}
Вот строка 
if(random(0,100)<=1)
как раз и отвечает за это.
Генерируется случайное число от 0 до 100 и сравнивается с 1. Если меньше, то происходит мутация у новой клетки. То есть вероятность 1%
Что бы сделать 2%, нужно изменить эту строчку на:
if(random(0,100)<=2)
или
if(random(0,50)<=1)
Исходный код симуляции "борьба кланов" 3
исходный код "борьба кланов" версия 3
Level required:
Большие надежды
Исходный код симуляции "борьба кланов" 2
Описание кнопок в программе и исходный код.
Level required:
Большие надежды
Show more comments
avatar
Я запускал на Mac M1 Pro (если чего не путаю).
Всё нормально работает.
По идее, под каждую платформу свой Processing  и код должен одинаково работать.
avatar
Если можно, подскажите, а сколько реального времени работы компа ушло на данную симуляцию?
avatar
Андрей Герасимов, обычно на одну симуляцию от нескольких дней, до пары недель. В этом ролике симуляции короткие, каждая по несколько дней
Фрагменты симуляции
карта распределения органики во время симуляции
Level required:
Герой нашего времени

Subscription levels

Герой нашего времени

$ 1,07 per month
- Упоминание спонсора в титрах
- Доступ в закрытый чат в Discord
- Доступ к закрытым статьям
+ chat

Большие надежды

$ 2,68 per month
- Упоминание спонсора в титрах
- Доступ в закрытый чат в Discord
- Доступ к закрытым статьям
- Доступ к некоторым исходным проектам с обновлениями
+ chat

Атлант расправил плечи

$ 5,4 per month
- Упоминание спонсора в титрах
- Доступ в закрытый чат в Discord
- Доступ к закрытым статьям
- Доступ к некоторым исходным проектам с обновлениями
- Ранний доступ к исходному коду новинок
+ chat

Трудно быть богом

$ 54 per month
- Упоминание спонсора в титрах
- Доступ в закрытый чат в Telegram
- Доступ к закрытым статьям
- Доступ к некоторым исходным проектам с обновлениями
- Ранний доступ к исходному коду новинок
- Отдельное упоминание в роликах на YouTube
+ chat
Go up