ЗАДАЧА 13.10. Одномерные клеточные автоматы

а.         Напишите программу, представляющую элементарный одномерныйклеточный автомат. Для одновременного изменения состояния клетокпроще всего использовать разные массивы для состояний клеток нашагах t и t + 1. Примите правило «сложения по модулю два», пока-занное на рис. 13.14, т.е. значение клетки на шаге 1 + \ являет-ся суммой по модулю 2 ее соседей на шаге t. В качестве начальнойвыберите конфигурацию с одной ненулевой клеткой (затравка). Дос-таточно рассмотреть временную эволюцию в течение приблизительно20 шагов. Получается ли узор из ненулевых клеток самоподобным?Можете ли вы охарактеризовать его фрактальной размерностью?

б.         Рассмотрите свойства аналогичного правила, в котором значениеклетки на шаге t + 1 является суммой по модулю 2 значений ее со-

седей плюс ее самой иа шаге /. Это правило называется также правилом 10010110 или 150 = 21 + 22 + 24 + 27.

в. Задайте «хаотическую» начальную конфигурацию, в которой каждая клетка находится в состоянии 1 с равной вероятностью 50%. Рассмотрите временную эволюцию правила 00010010 (правило 18 = = 21 + 24), правила 01001001 (правило 73 = 2° + 23 + 26), правила 136 (10001000), правила 90 и правила 150. Достаточно рассмотреть 80 клеток на протяжении 60 временных шагов. Чувствительны ли образующиеся узоры к изменению начальных условий? Зависит ли структура узоров от того, используются ли периодические краевые условия или другие? В зависимости от качественного поведения временной эволюции распределите эти автоматы по четырем классам:

Стационарное однородное состояние.

Узор, состоящий из отдельных периодических областей.

Хаотический апериодический узор.

Сложные локализованные структуры.

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