Добавить в корзинуПозвонить
Найти в Дзене

Искусственная жизнь в компьютере| Часть 1

Игра "Жизнь" Многие из вас наверняка слышали про игру "Жизнь", придуманную математиком Джоном Конвеем в 1970-х годах. Правила очень просты: 1) Место действия этой игры — «вселенная» — это размеченная на клетки поверхность или плоскость — безграничная, ограниченная, или замкнутая (в пределе — бесконечная плоскость). 2) Каждая клетка на этой поверхности может находиться в двух состояниях: быть «живой» (заполненной) или быть «мёртвой» (пустой). Клетка имеет восемь соседей, окружающих её. 3) Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам: 3.1) В пустой (мёртвой) клетке, рядом с которой ровно три живые клетки, зарождается жизнь; 3.2) Если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае, если соседей меньше двух или больше трёх, клетка умирает («от одиночества» или «от перенаселённости») 4) Игра прекращается, если : 4.1) На поле
Оглавление

Игра "Жизнь"

Многие из вас наверняка слышали про игру "Жизнь", придуманную математиком Джоном Конвеем в 1970-х годах.

Правила очень просты:

1) Место действия этой игры — «вселенная» — это размеченная на клетки поверхность или плоскость — безграничная, ограниченная, или замкнутая (в пределе — бесконечная плоскость).
2) Каждая клетка на этой поверхности может находиться в двух состояниях: быть «живой» (заполненной) или быть «мёртвой» (пустой). Клетка имеет восемь соседей, окружающих её.
3) Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
3.1) В пустой (мёртвой) клетке, рядом с которой ровно три живые клетки, зарождается жизнь;
3.2) Если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае, если соседей меньше двух или больше трёх, клетка умирает («от одиночества» или «от перенаселённости»)
4) Игра прекращается, если :
4.1) На поле не останется ни одной «живой» клетки
4.2) Конфигурация на очередном шаге в точности (без сдвигов и поворотов) повторит себя же на одном из более ранних шагов (складывается периодическая конфигурация)
4.3) При очередном шаге ни одна из клеток не меняет своего состояния.
Взято с сайта https://ru.wikipedia.org

В результате, по таким правилам живые клетки ведут себя подобным способом:

Поведение клеток игры схоже с поведением бактерий.
Поведение клеток игры схоже с поведением бактерий.

Так же, если расположить клетки особым способом, то можно добиться фигур, на подобии такого "ружья":

Фигура "ружье", стреляющая другими фигурами, а именно "планерами".
Фигура "ружье", стреляющая другими фигурами, а именно "планерами".

Если вы хотите "пощупать" эту самую игру, то я оставлю вам ссылку на онлайн-версию "Жизни". Ссылка

Кибербиологи

Недавно я наткнулся на канал YouTube под названием foo52ru и его видео, про искусственную жизнь.

Сначала может показаться, что это все та же игра "Жизнь", но это не совсем не так.

У каждой особи, есть свой набор команд, называемый автором "геном". Каждый ход, особь исполняет команду из своего генома, например: фотосинтез или передвижение. При размножении этот набор команд передается потомкам, причем с некоторым шансом, команда может мутировать.

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

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

Советую вам ознакомится как с foo52ru, так и с CyberBiology.

Планы

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

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

Буду рад ответить на все вас волнующие вопросы в комментариях!

Подписывайтесь на мой канал, если вы хотите следить за моими дальнейшими статьями.

#Информатика #программирование #искусственная жизнь