Третье свойство вытекает из двух предыдущих, так как, с одной стороны, подразумевает способность оперировать широким спектром программ, а с другой — взаимодействовать со средой разными способами.
Робот, играющий на фортепиано. Шанхайский музей науки и техники, Китай.
КЛЕТОЧНЫЙ АВТОМАТ
Клеточный автомат — это математическая абстракция клеточных процессов, которые наблюдаются в живых организмах. Его можно определить как динамическую систему, состоящую из двух компонентов: пространства клетки и правил поведения.
По определению клеточное пространство — это пространство фон Неймана, в котором его элементы, называемые клетками, находятся в состоянии, определяемом либо конечным числом значений {v1 ..., vn}, либо любым непрерывным значением. Это определение может показаться немного путаным, но его цель — показать, что даже если результат выглядит как очень простая игра, он не лишен математического формализма. Но чтобы выражаться понятнее, сведем рассуждения к простой формулировке, которая и используется в теоретических описаниях. Для начала пространство фон Неймана становится двумерным, чтобы его можно было представить на листке, в котором каждый квадратик обозначает клетку. Из двух множеств значений мы не будем рассматривать непрерывное множество, так как весь процесс происходит во внутренних механизмах компьютера, а они всегда работают с дискретными величинами. Из возможных множеств {v1 ..., vn} этих дискретных значений оставим только два — {1, 0}. Первое означает, что клетка жива, второе — что она мертва. Мы также можем выбрать два разных цвета. Итак, возьмем лист бумаги в клетку и ограничим нашу зону работы, например, квадратом со стороной 7 клеток. Затем возьмем черный фломастер и закрасим клетки (см. рисунок 1 на следующей странице).
КИБЕРНЕТИКА
Кибернетика — это наука, изучающая различные формы коммуникации, которые могут возникать между двумя механизмами, и законы, управляющие коммуникацией между человеком и машиной. Отцом кибернетики считается венгерский математик Норберт Винер (1894-1964). В 1948 году он написал книгу «Кибернетика, или Управление и связь в животном и машине», которая стала бестселлером и позволила автору улучшить свое — до этого нестабильное — материальное положение.
Норберт Винер.
У нас появится пространство, в котором есть живые клетки, обозначенные черным цветом, и мертвые, обозначенные белым. Теперь остается только установить правила развития, то есть детально описать, как эти клетки будут развиваться в своей среде. Если вышеупомянутый рисунок представляет собой фазу 1, у нас должен быть какой-то критерий, чтобы перейти к фазе 2 и, разумеется, чтобы перейти от фазы 2456 к фазе 2457. Говоря математическим языком, нам нужен алгоритм, который, если известно состояние фазы N, позволяет сконфигурировать состояние фазы N + 1. Поскольку в нашей решетке на данный момент нет никаких странных элементов вроде пакменов или тому подобных, на каждую из наших клеток могут действовать только другие клетки из ее окрестности. Одна из самых простых окрестностей — это окрестность по сторонам света (север, юг, запад, восток); то есть клетка может взаимодействовать только с клетками, расположенными над ней, под ней или по сторонам от нее. В этом случае она называется окрестностью фон Неймана. Если к этому мы прибавим диагонали, то получим так называемую окрестность Мура. Становится понятно, что возможности определения окрестностей почти безграничны. Мы можем сказать, например, что влиять будут только клетки, которые находятся на определенном расстоянии г. Существуют очень сложные правила окрестностей, которые описываются посредством матричных функций, но мы их не будем рассматривать в этой книге. Начнем с вышеуказанного клеточного пространства и определим правила, которые действуют для окрестности Мура.
1. Клетки с четным количеством живых соседних клеток умирают.
2. Клетки с нечетным количеством живых соседних клеток порождают живую клетку.
РИС. 1
РИС. 2
Таким образом, мы получим три фазы, показанные на рисунке 2.
Можно также начать с меньшего количества ячеек и установить другие правила. Несомненно, дойти до определенной фазы и наблюдать за результатом (существуют простые компьютерные программы, которые могут быстро показать нам фазу 1000) — интереснейшее занятие. Мы увидим удивительные фигуры и ситуации: можно создать устойчивые конфигурации, вымершие виды, натюрморты, хищников или структуры, которые двигаются в решетке, не теряя своей формы.
Это вариант игры «Жизнь», созданной британским математиком Джоном Хортоном Конвеем в 1970 году. Помимо того что это просто очень интересная игра, имеющая важное применение в математике, она может быть полезным инструментом в исследованиях и помогает понять некоторые сложные природные процессы, так как является мощной моделью, которую можно применить, например, при изучении влияния разлива нефти на морскую фауну.
ОТ МЕЧТЫ ЛЕЙБНИЦА К МЕЧТЕ ФОН НЕЙМАНА
Развитие человеческой мысли скрыто от нас, оно следует законам, которые пока не удалось выявить. Однако в истории науки были великие мыслители, считавшие, что если можно было бы обозначить идеи номерами и присвоить каждой свое число, то достаточно было бы произвести вычисления с этими числами, чтобы узнать, какие из них верные, а какие ложные. Собственно, это и было мечтой Готфрида Лейбница (1646-1716).
Немецкий поэт Фридрих Гёльдерлин (1770-1843) однажды сказал: «Когда человек мечтает, он король, когда размышляет — нищий». Несомненно, Лейбниц очень походил на короля...
Тем не менее для таких научных деятелей, как Паскаль, Лейбниц или Декарт, склонных в своих размышлениях если не к прагматизму, то, по крайней мере, к некоей конкретике, размышлять означало воплощать свои идеи на практике. И в этот момент мечта могла обернуться кошмаром. Следовательно, нас не должно удивлять, что результаты их первых выводов воплощались в вычислительных машинах, ведь вычисление — одна из первых абстрактных операций, выполняемых человеческим разумом. К тому же время показало, что действие самых продвинутых «думающих» машин, которые мы способны сделать, основано на вычислениях по строго определенным правилам компьютерной алгебры. Эта сложная и очень специализированная область математики, появившаяся вместе с информатикой, начала зарождаться еще в сознании философов и математиков.
Истина слишком сложна, нам дано лишь немного приблизиться к ней.
Джон фон Нейман
Вычислительная машина, спроектированная Лейбницем, была сложнее машины Паскаля, так как могла не только складывать и вычитать, но и умножать, делить и извлекать квадратные корни. Между началом ее создания и днем, когда Лейбниц увидел ее в собранном виде, прошло почти 23 года. Ученый дал ей говорящее название — Getrocknetsrechenmaschine (ступенчатая вычислительная машина). Действительно, она производила умножение путем последовательного сложения, но ее механизмы были слишком сложны технически для того времени, и она никогда не работала нормально. Несмотря на свою неудачу, Лейбниц посвятил себя размышлению над революционной идеей: если числа можно было бы представить на основании 2, это не только упростило бы механизмы машины, но и позволило бы применить к процессу вычисления бинарную логику.
ИГРА «ЖИЗНЬ