Skip to content

Симулятор, демонстрирующий работу естественного отбора

License

Notifications You must be signed in to change notification settings

Dmitry221060/Natural-selection-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Симулятор-естественного-отбора

Настраиваемая симуляция, демонстрирующая работу естественного отбора

Правила

Мир - поле 24х24. Поле циклично, т.е. выйдя за одну границу, Существо выйдет с противоположной. По умолчанию, на поле располагаются 36 Существ, 72 клетки с ядом и 72 клетки с едой.

Существа - единственные подвижные объекты, имеют три параметра - геном, шаг генома и сытость.
Геном - массив из 40 чисел от 0 до 64, каждое число это команда, которую должно выполнить Существо. Так же как и поле, геном цикличен.
Шаг(индекс) генома - число, показывающее какую по счёту команду выполнять, после каждой команды он изменяется, в зависимости от команды и её результатов.
Сытость - здоровье. Если оно опустится до 0, то Существо погибнет. Каждый день(ход) Существо теряет 1 единицу сытости, максимальная сытость ограничена 99 единицами.
Клетка с едой - когда Существо встаёт на эту клетку или взаимодействует с ней - оно съедает еду и получает +10 к сытости. Сразу после употребления, еда появляется в другой свободной клетке на поле.
Клетка с ядом - если Существо встаёт на эту клетку, то оно умирает, однако, если Существо взаимодействует с ядом, то оно обезвреживает его и съедает, получая +10 к сытости. Сразу после употребления, яд появляется в другой свободной клетке на поле.

Когда в мире остаётся 6 существ, начинается размножение - каждое Существо создаёт 5 идентичных себе копий и одну, у которой меняется случайное число в геноме(родительские Существа погибают). В результате чего на поле снова 36 Существ и всё повторяется сначала. За счёт естественного отбора, существа с удачными мутациями живут дольше и плодятся, вытесняя менее совершенных сородичей.

Большинство констант можно задать в начале симуляции, не бойтесь экспериментировать!

Команды генома

Если число 0..7, то Существо перемещается в соответствующую клетку и завершает ход
0 1 2
3 C 4
5 6 7
Если в клетке был яд, Существо погибает
Если в клетке было другое Существо, то геном пролистывается на два шага, а Существо остаётся на месте
Если в клетке была еда, то геном пролистывается на три шага, а Существо перемещается в эту клетку и съедает еду
Если клетка была пустой, то геном пролистывается на четыре шага, а Существо перемещается в эту клетку

Если число 8..15, то Существо взаимодействует с соответствующей клеткой и завершет ход
8  9  10
11 C  12
13 14 15
Если в клетке был яд, то геном пролистывается на один шаг, а Существо преобразует яд в еду и съест
Если в клетке было другое Существо, то геном пролистывается на два шага
Если в клетке была еда, то геном пролистывается на три шага, а Существо съедает еду из этой клетки
Если клетка была пустой, то геном пролистывается на четыре шага

Если число 16..23, то Существо смотрит, что находится в соответствующей клетке (команда не завершает ход)
16 17 18
19 C  20
21 22 23
Если в клетке был яд, то геном пролистывается на один шаг
Если в клетке было другое Существо, то геном пролистывается на два шага
Если в клетке была еда, то геном пролистывается на три шага
Если клетка была пустой, то геном пролистывается на четыре шага

Если число 24..64, то оно пролистывает геном Существа на свою величину, при этом ход не завершается

About

Симулятор, демонстрирующий работу естественного отбора

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages