Предложение по модификации правил игры Жизнь

в 19:27, , рубрики: Conway's game of Life, Алгоритмы, верховный алгоритм, игра жизнь, игра жизнь конвея, игры для программистов, эволюция

Доброго времени чтения, уважаемые участники habrahabr.ru

Игра Жизнь предложена Джоном Конвеем в 1970 году, и неоднократно обсуждалась на habrahabr.ru. Основные использованные теги приведены в метках к данной статье.

Предлагается ряд изменений, которые могут привести к новому направлению в развитии.
image

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

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

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

Для приближения поля к условиям планеты Земля, для областей, ближайших к верхней и нижней границе (полюсам) предлагается введение ухудшенных условий на участках в 10%, приближающихся к полюсам по вертикали. Таким образом, нормальными условиями будут обладать 80% игровой поверхности, что соответствует закону Парето.

Предложение 2. Для организмов предлагается добавление уровней сложности, возможностей объединения, генетической модификации и обучения.

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

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

Уровень сложности в материальной области влияет на максимальную скорость (количество клеток, на которые организм передвигается в одном направлении за один ход). Таким образом, организмы с первым уровнем сложности (индекс массива 0) неподвижны. Целостный организм передвигается целиком.

Уровень сложности в абстрактной области влияет на количество обозреваемых по прямой соседних клеток. Предлагается удвоенный по сравнению с возможностью перемещения радиус обзора: для первого уровня — 1, для второго уровня — 3 и т.д. Видимость определяется от самых крайних клеток организма.

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

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

Литература: Педро Домингос, Верховный алгоритм. Как машинное обучение изменит наш мир.

Автор: palexisru

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js