foo52ru ТехноШаман

foo52ru ТехноШаман 

Поток сознания гика

534subscribers

102posts

goals1
85 of 1 000 paid subscribers
Возможность полностью посвятить себя творчеству.

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

Из любопытства запустил две идентичные симуляции. В одной из них "убил" одну из клеток. Темным цветом показано, где в двух  параллельных симуляциях появилась разница. 
В самом первом опыте  изменения  стали сразу происходить по всему полю, а не вокруг места "убийства"
Дело в том, что при внесении изменений в одну из симуляций, генератор случайных чисел начинал выдавать разные последовательности для этих симуляций.
Что бы всё работало корректно, пришлось переписать функцию генерации случайного числа.  
Кстати, если в коде добавить строчку randomSeed(число, то для каждого числа будет генерироваться одна и та же симуляция.
а мне интересно как сильно изменятся "геномы" если перевернуть половину симуляции (интересно как сильно они будут различатся)
foo52ru ТехноШаман, А будет возможность посмотреть как вы это реализовывали?
Вячеслав Луценко,  отправил код в личном сообщении, в комментариях файлы не отправляются
Comment removed
Klaxwork, Processing.
https://processing.org
А ты не пробовал писать эту симуляцию на C++? Он, всё-таки, быстрее работает, чем processing...
Или на шарпе (C#)?
И еще вопрос. Не думал написать это на нейросети? Взять простенькую нейросеть, с одним-двумя скрытыми слоями штук по 10 нейронов, плюс входной и выходной слои... А мутации будут в весах в этой нейронке...
Я тут пробовал нейросеть, в которой было 2500 во входном слое, 2000 в первом скрытом, 1500 во втором скрытом и 10 в выходном.
Прогон этой нейронки со случайными входными данными проходил за 22 миллисекунды...
А уж если будет всего штук по 10 нейронов в двух скрытых слоях, то она вообще моментально будет обрабатываться...
Klaxwork, для этого надо освоить С++ или С#.
Сейчас я изучаю javascript, что бы делать интерактивные модели и симуляции
Но ведь javascript работает медленнее... :)
И можно ли получить исходники? А то по видео никак не могу сообразить, как происходит "переход хода"... :)
Klaxwork,  хочу к роликам делать интерактивные статьи, где можно самому поиграть параметрами, для этого и изучаю Javascript. 
Исходники проекта "борьба кланов" я уже выкладывал (пост за 26 февраля)
А простые нейросети можно, я думаю, сделать и на процессинге, и на яваскрипте...
Klaxwork, на самом деле можно писать на чём угодно. Нейросеть - это алгоритм, изобретены они были в прошлом веке, просто мощностей не хватало. Вот пример реализации нейросети в 300 строк C: https://nicholas.carlini.com/writing/2023/chat-gpt-2-in-c.html
Однако, если убить одну из клеток, даже при заданном сиде - организмы, которые по сути и не должны были контактировать с исчезнувшей клеткой будут вести себя иначе. Это будет из-за того, что вместе с клеткой исчез ещё один или несколько вызовов метода получения случайного числа, что влияет на последующие вызовы этого метода. Таким образом, клетка, которая должна была бы ходить после убитой, в своём рандоме получит то число, которое должна была бы получить убитая клетка. А следующая после неё - число от предыдущей. И такое смещение распространится на все клетки далее.
Алексей «Zheg» Жеглов,  конкретно для эксперимента с параллельными вселенными я переделал генерацию случайного числа.
Насколько помню, когда управление переходит к определённой клетке, то генерирует новый сид, который зависит от координат этой клетки и номера текущего шага.
Поэтому начальный сид для клетки с координатами x y на шаге N всегда будет одинаковым.
Когда управление переходит к следующей клетке, сид генерируется снова уже с другими параметрами
foo52ru ТехноШаман, да, это решает описанную проблему. Спасибо за ответ!
Subscription levels4

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

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

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

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

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

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

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

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