ИГРА «ЖИЗНЬ» ДЖОНА КОНВЕЯ
В игре «Жизнь» заполненная ячейка считается «живой», а пустая – «мертвой». И есть четыре простых правила для клеточных автоматов:
Низкая численность: живая клетка, у которой меньше двух живых соседей, умирает.
Жизнь: живая клетка с двумя или тремя живыми соседями остается в живых.
Перенаселенность: живая клетка, у которой больше трех живых соседей, умирает.
Размножение: мертвая клетка с тремя живыми соседями становится живой.
Несколько случайно расположенных клеток заполняются и становятся живыми, после чего запускается симуляция, и в результате образуются странные модели роста. Иногда клетки вымирают, иногда превращаются в маленькие колеблющиеся устойчивые формы. Если придать клеточным автоматам правильную сложную форму, они смогут даже копировать сами себя – и в игре «Жизнь» образуется «универсальный конструктор фон Неймана».
Концепцию клеточных автоматов впервые предложил математик Станислав Улам, которого заинтересовала идея Джона фон Неймана, и он захотел смоделировать жидкость, содержащую электромагнитные компоненты. И Улам, и Нейман были очарованы этой идеей, и она привела их к предположению, что живые системы могут быть самовоспроизводящимися и способными имитировать машину Тьюринга (решать все задачи, выполняемые компьютерами).
Фон Нейман определил «универсальный конструктор» как машину, которой под силу создавать идентичные копии себя, обрабатывая свою среду. Он использовал алгоритм клеточных автоматов, чтобы объяснить, как может работать универсальный конструктор. В 1970 году британский математик Джон Конвей вдохновился этой идеей и спроектировал специальный вид клеточных автоматов, ставший известным как игра «Жизнь».
ФОРМА ФИГУР
Некоторые ученые утверждают, что клеточные автоматы могут объяснить принцип работы биологических систем и даже Вселенной. Стивен Вольфрам, программист и создатель популярного программного обеспечения Mathematica, – один из таких людей. «Возможно, немного унизительно обнаружить, что мы, будучи людьми, в вычислительном отношении не более эффективны, чем клеточные автоматы с очень простыми правилами, – заключает он. – Но принцип вычислительной равнозначности подразумевает, что то же самое в конечном счете верно для всей нашей Вселенной».
Цифровые агенты
В то время как клеточные автоматы разделяют пространство и время на маленькие кусочки, другие виды моделей менее строги. Агентное моделирование развилось из работы фон Неймана над клеточными автоматами, и в итоге превратилось в самостоятельный научный метод. (Похоже звучащие многоагентные вычисления – это еще один связанный с ИИ подход, который рассматривает, как программные агенты взаимодействуют при решении проблем, но уделяет меньше внимания моделированию и фокусируется больше на практической стороне.)