Доброго времени чтения, уважаемые участники habrahabr.ru
Игра Жизнь предложена Джоном Конвеем в 1970 году, и неоднократно обсуждалась на habrahabr.ru. Основные использованные теги приведены в метках к данной статье.
Предлагается ряд изменений, которые могут привести к новому направлению в развитии.
Предложение 1. В оригинальной игре предложено бесконечное поле, однако в реализациях обычно используется правило развертки тора — горизонтали и вертикали замкнуты в циклы.
Предлагается вариант, при котором горизонтали прямоугольного поля конечного размера замкнуты в цилиндр, а вертикали попарно соединены с шагом в половину размера поля по горизонтали. Таким образом можно получить легкий для расчетов аналог сферы.
Для моделирования изотропии предлагается использовать треугольную сетку, которая в расчетах подменяется оценкой близости по горизонтали, вертикали, и одной из диагоналей.
Для приближения поля к условиям планеты Земля, для областей, ближайших к верхней и нижней границе (полюсам) предлагается введение ухудшенных условий на участках в 10%, приближающихся к полюсам по вертикали. Таким образом, нормальными условиями будут обладать 80% игровой поверхности, что соответствует закону Парето.
Предложение 2. Для организмов предлагается добавление уровней сложности, возможностей объединения, генетической модификации и обучения.
Каждому организму назначается до 10-ти уровней сложности, каждый уровень представлен как в материальной, так и в абстрактной области. В простейшем случае это можно организовать двумя трехмерными массивами или одним четырехмерным массивом для игрового поля. Для каждого уровня каждого организма хранится используемый на этом уровне геном. В простейшем случае это может быть битовая маска для пяти основных реализаций верховного алгоритма. В более сложном случае можно использовать массивы строк для вариантов алгоритмов.
В начале игры каждый организм может содержать случайные гены на первом уровне сложности, дальнейшее усложнение может происходить в результате мутационных сбоев.
Уровень сложности в материальной области влияет на максимальную скорость (количество клеток, на которые организм передвигается в одном направлении за один ход). Таким образом, организмы с первым уровнем сложности (индекс массива 0) неподвижны. Целостный организм передвигается целиком.
Уровень сложности в абстрактной области влияет на количество обозреваемых по прямой соседних клеток. Предлагается удвоенный по сравнению с возможностью перемещения радиус обзора: для первого уровня — 1, для второго уровня — 3 и т.д. Видимость определяется от самых крайних клеток организма.
Организмы с одинаковым геномом, которые могут увидеть друг друга в соответствии с уровнем сложности в абстрактной области, двигаются друг к другу и соединяются. Поведение организмов с разными генами определяется их генетическими способностями и обученными базами знаний.
Реализация подобных игр может быть интересна современным студентам, изучающим обработку больших данных и алгоритмы обучения. Собственного варианта реализации на данный момент нет.
Литература: Педро Домингос, Верховный алгоритм. Как машинное обучение изменит наш мир.
Автор: palexisru