Муравей Лэнгтона
Управление
Режим ввода
Направление муравья
Скорость
Размер поля
Правила
- Если муравей находится на чёрной клетке, то он поворачивает на 90° влево и изменяет цвет клетки на белый. Затем он делает шаг согласно направлению.
- Если муравей находится на белой клетке, то он поворачивает на 90° вправо и изменяет цвет клетки на чёрный. Затем он делает шаг согласно направлению.
Общая информация
Муравей Лэнгтона - это классический двумерный клеточный автомат, созданный исследователем Крисом Лэнгтоном в 1986 году. Он представляет собой бесконечное (или ограниченное рамками экрана) поле, разделённое на одинаковые клетки. Каждая клетка может находиться в одном из двух состояний - быть белой или чёрной.
На этом поле располагается «муравей» - абстрактный агент, который имеет своё положение и направление движения. На каждом шаге муравей анализирует цвет клетки, на которой стоит, и в соответствии с простыми правилами поворачивает, изменяет цвет клетки и делает шаг вперёд.
Несмотря на чрезвычайную простоту правил, поведение муравья оказывается удивительно сложным. Сначала он движется хаотично, создавая на поле беспорядочные узоры, но спустя сотни шагов его траектория неожиданно организуется в устойчивую «дорогу», которая повторяется бесконечно. Это свойство делает муравья Лэнгтона одним из самых известных примеров того, как простые локальные правила могут приводить к сложному и даже кажущемуся осмысленным глобальному поведению.
Интересные факты
- Муравей Лэнгтона является Тьюринг‑полным - теоретически способен выполнять любые вычисления.
- Поведение муравья проходит три стадии: хаос → переход → шоссе.
- «Шоссе» появляется всегда, но строгого математического доказательства этого пока нет.
- Существуют десятки вариаций: многоцветные муравьи, несколько муравьёв, изменённые правила.
- Первые сотни шагов выглядят случайными, но затем возникает устойчивая структура.
- Муравей Лэнгтона часто используется в искусстве, генеративной графике и визуальных экспериментах.
- Несмотря на простоту, поведение муравья трудно предсказать заранее - типичное свойство сложных систем.