SamSuka
foo52ru ТехноШаман
foo52ru ТехноШаман

boosty


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

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

Из любопытства запустил две идентичные симуляции. В одной из них "убил" одну из клеток. Темным цветом показано, где в двух  параллельных симуляциях появилась разница. 
В самом первом опыте  изменения  стали сразу происходить по всему полю, а не вокруг места "убийства"
Дело в том, что при внесении изменений в одну из симуляций, генератор случайных чисел начинал выдавать разные последовательности для этих симуляций.
Что бы всё работало корректно, пришлось переписать функцию генерации случайного числа.  
Кстати, если в коде добавить строчку randomSeed(число, то для каждого числа будет генерироваться одна и та же симуляция.

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

Comments

<div ><div><span class="text">Klaxwork, на самом деле можно писать на чём угодно. Нейросеть - это алгоритм, изобретены они были в прошлом веке, просто мощностей не хватало. Вот пример реализации нейросети в 300 строк C: https://nicholas.carlini.com/writing/2023/chat-gpt-2-in-c.html</span></div><div></div></div>

yeikoestud

<div ><div><span class="text">foo52ru ТехноШаман, да, это решает описанную проблему. Спасибо за ответ!</span></div></div>

Алексей «Zheg» Жеглов

<div ><div><span class="text">Однако, если убить одну из клеток, даже при заданном сиде - организмы, которые по сути и не должны были контактировать с исчезнувшей клеткой будут вести себя иначе. Это будет из-за того, что вместе с клеткой исчез ещё один или несколько вызовов метода получения случайного числа, что влияет на последующие вызовы этого метода. Таким образом, клетка, которая должна была бы ходить после убитой, в своём рандоме получит то число, которое должна была бы получить убитая клетка. А следующая после неё - число от предыдущей. И такое смещение распространится на все клетки далее.</span></div></div>

Алексей «Zheg» Жеглов

<div ><div><span class="text">А простые нейросети можно, я думаю, сделать и на процессинге, и на яваскрипте...</span></div></div>

Klaxwork


More Creators