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

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

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

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