Российский государственный гуманитарный университет
Опубликован: 13.07.2022 | Доступ: свободный | Студентов: 258 / 9 | Длительность: 11:54:00
Специальности: Программист
Лекция 5:

Игры. Клеточные автоматы

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Варианты игры "Жизнь"

Появление игры "Жизнь" привело к созданию клеточных автоматов со схожей структурой. Их называют жизнеподобными (Life-like) клеточными автоматами. Правила "зарождения" и "сохранения" жизни обозначаются в виде Bn_1\dotsn_p/Sm_1\dotsm_q, где n_i - число живых соседей, при которых пустая клетка становится живой, а m_j - число живых соседей, при которых живая клетка остается живой, где i = 1, \dots, p; j = 1, \dots, q. Для оригинальной игры "Жизнь" правило имеет вид: B3/S23.

Примерами известных жизнеподобных автоматов являются:

  • "Высшая жизнь" (High Life): B36/S23;
  • "Репликатор" (Replicator): B1357/S1357;
  • "Лабиринт" (Maze): B3/S12345;
  • "Фредкин" (Fredkin): B1357/S02468;
  • "День и ночь" (Day & Night): B3678/S34678.

На рис. 5.13 (a-c) показаны некоторые состояния клеточного автомата "Репликатор", в котором каждая конфигурация является репликатором - бесконечно копирует себя.

"Репликатор" в момент времени (a) 0; (b) 4; (c) 5

Рис. 5.13. "Репликатор" в момент времени (a) 0; (b) 4; (c) 5

Клеточный автомат "Лабиринт" создает изображения, похожие на лабиринт, из любого начального состояния ( рис. 5.14 (a-b) ).

"Лабиринт" в момент времени (a) 0; (b) 30

Рис. 5.14. "Лабиринт" в момент времени (a) 0; (b) 30

Клеточный автомат "Фредкин" порождает расширяющиеся конфигурации ( рис. 5.15 (a-c)).

"Фредкин" в момент времени (a) 0; (b) 5; (c) 7

Рис. 5.15. "Фредкин" в момент времени (a) 0; (b) 5; (c) 7

У клеточного автомата "День и ночь" на бесконечном поле существуют периодические конфигурации живых клеток, которые при замене мертвых клеток живыми, а живых - мертвыми преобразуются в конфигурации, которые так же являются пери

"День и ночь": периодические конфигурации  (a) живых клеток; (b) пустых клеток на поле из живых клеток

Рис. 5.16. "День и ночь": периодические конфигурации (a) живых клеток; (b) пустых клеток на поле из живых клеток
Игра "Жизнь" на гексагональном поле

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

На рис. 5.17 (a-g) показаны примеры осцилляторов для жизнеподобного клеточного автомата, правило "зарождения" и "сохранения" жизни которого имеет вид: B2/S34.

Упражнение. Найдите период каждого осциллятора, приведенного на рис. 5.17.

 Осцилляторы в игре с правилом B2/S34

Рис. 5.17. Осцилляторы в игре с правилом B2/S34

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

Например, пустая клетка становится живой с вероятностью \frac13, если она имеет ровно 2 живых соседа; живая клетка остается живой, если у нее имеется 1 или 2 живых соседа. Другим примером является клеточный автомат, в котором пустая клетка оживает с вероятностью 1, если имеет 3 живых соседа, и с вероятностью \frac16, если она имеет 2 живых соседа; живая клетка сохраняет жизнь, если она имеет 2 или 3 живых соседа.

Упражнения

  1. Пусть x - неотрицательное целое число. Покажите, что если x четное, то x \oplus 1 = x + 1, а если нечетное, то x \oplus 1 = x - 1.
  2. Найдите выигрышный ход в игре "Ним", если он существует, в позиции

    a) (19, 15, 4);

    b) (8, 4, 12, 22);

    c) (14, 25, 17, 3, 10).

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

    a) 10;

    b) 15;

    c) 20.

  4. Постройте функцию Шпрага-Гранди и придумайте выигрышную стратегию для игры в камни с одной кучкой. В игре участвуют два игрока, игроки ходят по очереди. Выигрывает игрок, который берет последний камень. Кучка содержит m камней. За один ход игрок может взять от 1 до k камней, если k равно

    4;

    b) 7.

  5. Придумайте выигрышную стратегию для игры в камни с n кучками. В игре участвуют два игрока, игроки ходят по очереди. За один ход игрок может взять от 1 до 7 камней из любой кучки. Выигрывает игрок, который берет последний камень. Постройте функцию Шпрага-Гранди для этой игры.
  6. Придумайте выигрышную стратегию для "мизерного" варианта игры "Ним", который отличается от исходной игры только тем, что игрок, берущий последний камень, проигрывает, а не выигрывает.
  7. Рассмотрим игру в N. В игре участвуют два игрока, Игроки ходят по очереди. Имеется пять костяшек домино с очками от 1 до 5. Первый игрок кладет монету на любую костяшку и получает число очков, обозначенное на этой костяшке. Второй игрок перекладывает монету на любую другую костяшку и получает число очков, равное сумме очков другого игрока и очков, обозначенных на этой костяшке. Оставлять монету на той же костяшке нельзя, и так далее. Выигрывает игрок, который набирает ровно N очков или принуждает противника превзойти эту сумму. Придумайте выигрышную стратегию для игры в N, если она существует, для значения N, равного

    a) 2;

    b) 6;

    с) 7;

    d) 13;

    e) 21;

    f) 37.

  8. Опишите с помощью клеток правила перехода для элементарного клеточного автомата, соответствующего правилу

    a) 24;

    b) 135;

    с) 215.

  9. Постройте логическую функцию, которая соответствует переходам в элементарном клеточном автомате для правила

    a) 110;

    b) 30;

    с) 150.

  10. Найдите состояния 1 - 10 элементарного клеточного автомата с начальным состоянием



    ,

    если для переходов используется правило

    a) 110;

    b) 18;

    c) 218;

    d) 150;

    e) 53;

    f) 30.

  11. Найдите состояния 1 - 10 элементарного клеточного автомата с начальным состоянием

    1)


    ;

    2)


    ,

    в котором правило перехода определяется логической функцией

    a) f(x, y, z) = x \oplus y \oplus z;

    b) f(x, y, z) = x & y \vee \neg z.

  12. Найдите состояния 1 - 10 элементарного клеточного автомата с начальным состоянием

    1)


    ;

    2)


    ,

    в котором правило определяется алгебраической функцией

    a) f(x, y, z) = (x + y + z) mod 2,;

    b) f(x, y, z) = (x y + x z) mod 2.

  13. Определите, через сколько шагов становится устойчивой или периодической конфигурация живых клеток в игре "Жизнь", приведенная на рис. 5.18:

     Начальные конфигурации живых клеток

    Рис. 5.18. Начальные конфигурации живых клеток
  14. Определите период приведенной на рис. 5.19 конфигурации живых клеток в игре "Жизнь":

    a) "маяк";

    b) "лягушка";

    c) "пентадекатлон"

     Начальные конфигурации живых клеток

    Рис. 5.19. Начальные конфигурации живых клеток
  15. Определите для жизнеподобной игры с правилом B3/S3, период осциллятора, приведенного на рис. 5.20:

     Начальные конфигурации живых клеток

    Рис. 5.20. Начальные конфигурации живых клеток
  16. Определите для жизнеподобной игры с правилом B3/S13, период осциллятора, приведенного на рис. 5.18:

     Начальные конфигурации живых клеток

    Рис. 5.21. Начальные конфигурации живых клеток
< Лекция 4 || Лекция 5: 12345 || Лекция 6 >