Skip to content

J4CKVVH173/evolution2.0

Repository files navigation

Evolution

Симулятор эволюции клеток

preview

Установка

Для работы необходимо поставить зависимости из requirements.txt и библиотеку tkinter.

Поле

Поле представляет собой мир, замкнутый циклично по горизонтали, и имеющий стены по горизонтали. На первичном поле в рандомных местах появляются питательные клетки, "травоядные" клетки.

"Травоядные" клетки

На первичном поле спавнится N ограниченное число клеток питающихся растительными клетками, травоядные. Каждое поедание клетки восполняет здоровье.

Геном поведения

Клетка содержит геном поведения который представляет из себя две матрицы весов. Когда клетка собирается сделать шаг, она передает свои веса в нейронную сеть, входные значения для данной нейронной сети и на основании результатов вычислений нейронной сети делает шаг.

Входными параметрами нейронной сети является окружение "живой" клетки, в радиусе одной клетки игрового поля, и здоровье самой клетки.

Выходные нейроны нейронной сетки отвечают каждый за свое действие:

  1. Клетка делает шаг вверх
  2. Клетка делает шаг вправо
  3. Клетка делает шаг вниз
  4. Клетка делает шаг влево
  5. Клетка кусает вверх, если там другая клетка, пытается ее съесть
  6. Клетка кусает вправо, если там другая клетка, пытается ее съесть
  7. Клетка кусает вниз, если там другая клетка, пытается ее съесть
  8. Клетка кусает влево, если там другая клетка, пытается ее съесть
  9. Клетка производит свою копию, делится

Обработка поведения

Обработкой поведения клетки занимается нейронная сеть с одним скрытым слоем. Она принимает веса и входные значения. Каждая клетка имеет свои веса, дабы поведение клетки было уникальным.

Энергия

При появлении новая клетка получает M энергии. Если энергия клетки достигает 0, она умирает, при этом став растительной клеткой. При поедании растительной клетки, "травоядная" клетка получает K энергии.

Деление

При делении, клетка создают точную копию своей клетки, при этом половину своего здоровья она передает ребенку.

About

Проект для реализации упрощенной модели эволюции

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages