Подпишитесь на нашу ежедневную рассылку с новыми материалами

Игры


Станислав Иванейко,

Глайдер из игры "Жизнь"
На заре видеоигр, в семидесятые годы прошлого века, энтузиасты были стеснены только фантазией. Важен был сам факт появления виртуального пинг-понга, а квадратный шарик и ракетка в виде палочки никого в то время не смущала. Пока одни игры уходили в развлекательную сторону и формировали жанры, которые мы видим сейчас (экшены, гонки, стратегии, симуляторы), другие казались не от мира сего уже в те годы.
 
Джон Конвэй, фото Thane Plambeck via Wikimedia
Джон Конвей, фото Thane Plambeck via Wikimedia
 
Британский математик Джон Конвей стал одним из пионеров в области компьютерных разработок. В то время как люди видели первые ПК только на выставках и не представляли, что с ними делать дома, Конвей вовсю работал над проектом "Жизнь" — клеточным автоматом, состоящим из решетки ячеек. 

Каждая клетка живет в условном состоянии "1" или "0". Со всех сторон ее могут окружать другие клетки, но могут и не окружать. Для работы автомата нужно задать всего пару условий: базовое состояние ячеек и условие его смены – с нуля на единицу или наоборот. На этом принципе работают многие клеточные автоматы. Обычно такие алгоритмы применяются в областях математики, которые находятся далеко за пределами школьной, а то и вузовской программы.
 
Закончив с малопонятной теорией, перейдем к "Жизни" Конвея. Выглядит это как-то так:



Заслуга математика - в том, что он смоделировал убедительную модель эволюции и развития клеток. Если включить воображение и представить, что каждая точка – живое существо, окруженное себе подобными, то легко увидеть процессы жизни, бытия и смерти зверушки.
 
Для правдоподобного поведения клеток необходимы определенные условия. Лучше всего особенности игры описаны в книге научного писателя Мартина Гарднера "Математические досуги". Вот три основных правила:
 
1. Не должно быть ни одной исходной конфигурации, для которой существовало бы простое доказательство возможности неограниченного роста популяции.
2. В то же время должны существовать такие начальные конфигурации, которые заведомо обладают способностью беспредельно развиваться.
3. Должны существовать простые конфигурации, которые в течение значительного промежутка времени претерпевают изменения и заканчивают свою эволюцию одним из трех способов: полностью исчезают (из-за перенаселенности либо разреженности), переходят в устойчивую конфигурацию и перестают изменяться или же, наконец, выходят на колебательный режим, то есть бесконечный цикл превращений с определенным периодом.
Конвей задал два состояния ячейкам: живое и мертвое (оно же пустое). Причем рождаются и погибают все клетки в один миг – это, условно говоря, поколение. Каждую клетку окружают восемь ячеек, на которых могут находиться фишки. В зависимости от количества точек, окружающих клетку, и происходит эволюция. 
 
Если с фишкой граничит ровно три клетки, произойдет размножение. Когда рядом с точкой соседствуют две или три клетки, опасности нет, это комфортное состояние для выживания. Самое интересное – условия гибели фишки. Больше трех граничащих фишек – смерть, меньше двух – тоже смерть. Так здесь происходит моделирование перенаселенности и одиночества. С учетом быстрого роста населения Земли и пессимистичными прогнозами о грядущей нехватке ресурсов, "Жизнь" заставляет призадуматься.

Попробуйте сами: расставляйте точки кликом мыши, нажимайте "Start". Средняя кнопка — скорость анимации, правая — список демонстрационных фигур.


 
У "Жизни" Конвея полно условностей и нелогичностей с точки зрения реальной жизни. Хотя бы факт, что для появления новой клетки должно быть три ячейки – в нашем-то мире обычно и двух достаточно, хотя всякое случается. Также отсутствующие факторы типа внешней среды, конфликтов между клетками и внезапной смерти. Но "Жизнь" – это в первую очередь игра, причем 1970 года. Чем она проще, тем ярче прослеживаются закономерности эволюции и развития поколений. Вариантов событий может быть масса, и главное – все они более-менее правдоподобны.
 
Динамичное изменение точек превращается в анимацию. Просчитав закономерности и высчитав нужную последовательность рождения/смерти фишек, можно создавать красивейшие узоры. Первой найденной конфигурацией стал пятиклеточный планер, он же глайдер. Он оказался самой популярной и часто появляющейся фигурой в "Жизни". Глайдер, как и сама игра, стал культовым: именно его известный хакер Эрик Реймонд предложил для символа цифровых взломщиков.

Глайдерное ружье Госпера, первая бесконечно растущая фигура в "Жизни"

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

В "Жизнь" можно поиграть в самой "Жизни". Привет, Inception!



"Жизнь" обладает мощнейшим инструментарием, нужно лишь усвоить принцип игры. Имеются объемные конфигурации с участием множества фигур: условные космические корабли, пушки, НЛО и другие объекты. В процессе эволюции они взаимодействуют и преобразовываются в новые клетки. Наблюдать за этим можно долго.
Нужные услуги в нужный момент
{banner_819}{banner_825}
-50%
-15%
-40%
-10%
-50%
-20%
-10%
-20%
-20%
-12%