ПОИСК Статьи Рисунки Таблицы Словесная формулировка правил из "Машины клеточных автоматов" Познакомившись с тем, как выглядит правило клеточного автомата с точки зрения клетки, мы теперь обсудим, как выразить это правило в удобном для нас виде. Задание отдельных элементов в большой таблице - утомительная работа, служащая источником ошибок к тому же мы не хотим блуждать по огромному пространству правил без ощущения направления, структурного подхода к записи правил и осмысленных ограничений, вытекающих из природы рассматриваемой задачи. [c.33] что нам нужно, это язык для выражения правила в любых терминах, которые мы находим наиболее подходящими, и механизм для интерпретации наших запросов и трансляции их в справочную таблицу. На практике любой расширяемый язык программирования, если им достаточно легко пользоваться, пригоден для этих целей. Задачи самого нижнего уровня этого процесса трансляции могут поставляться конструктором машины как дополнительные, специализированные примитивы языка задачи более высокого уровня могут принимать форму утилит общего назначения наконец, проблемно-ориентированные потребности могут быть приняты пользователем во внимание за счет надлежащего объединения этих утилит или добавления к языку новых термов или конструкций. [c.33] Простой пример проиллюстрирует маршрут, который ведет от описания клеточного автомата в словесной 4юрме к запуску его на САМ. Правило, предложенное Эдвардом Фредкином из МТИ в начале эры клеточных автоматов [3], утверждает, что состояние клетки будет соответствовать четности ее окрестности , т. е. что она станет живой или мертвой в зависимости от того, содержит ли окрестность в текущий момент нечетное или четное количество живых клеток. Более формально. [c.34] Всякий раз, когда PARITY вызывается с новым набором значений соседей, оно вычислит соответствующее новое значение центральной клетки и запомнит его в подходящем элементе таблицы, связанном с плоскостью О ( PLNO знает, где располагается эта таблица, и действует как посредник). [c.35] В конце концов, MAKE-TABLE перенесет всю таблицу в САМ, ще она запомнится в памяти с быстрым доступом, подготовленную должным образом для того, чтобы пользоваться ею в ходе эксперимента. [c.35] Теперь нам осталось только запустить САМ. Зададим на экране начальную конфигурацию, скажем небольшой квадрат в середине, и нажмем клавишу run. Согласно правилу PARITY, квадрат будет быстро эволюционировать, пульсируя и создавая узоры типа персидский ковер , как на рис. 4.2. [c.35] Одним совсем не очевидным из справочной таблицы свойством PARITY, которое совершенно отчетливо обнаруживается структурным описанием (4.3), является его линейность Из этого факта можно формально вывести важные заключения например, волны не искажаются в результате прохождения друг сквозь друга. Другое свойство, которое может быть формально выведено из (4.3), состоит в том, что для любой исходной фигуры на однородном фоне эта фигура будет обнаружена воспроизведенной в пяти копиях после соответствующего промежутка времени (а позже в двадцати пяти копиях и так далее). [c.35] Хотя не следует поддаваться искушению приписывать чудодейственную силу форме записи законов, однако удачно выбранная форма часто способствует пониманию существенных особенностей поведения системы. [c.36] Систематические схемы присвоения имен - в которых правило определенного класса может быть восстановлено по его имени - иногда используются, но лишь в специальных ситуациях (см. [55, 66, 71, 38]). [c.36] Вернуться к основной статье