Пока фон Нейман сражался с многочисленными техническими трудностями, возникшими при создании «Кинематона», его друг, американский математик польского происхождения Станислав Улам, дал ему хороший совет. Если фон Нейман хотел досконально изучить законы, на которых основывался этот процесс, ему надо было отложить в сторону ручную сборку и заняться виртуальной моделью. Тогда ученый изменил свою тактику и создал простую бесконечную матрицу, в которой можно было представить каждую клетку, как если бы перед нами лежал разграфленный листок, и каждая графа была бы занята. Все клетки должны иметь некое состояние, а их число должно быть конечным. В оригинальной модели фон Неймана для каждой клетки существовало 29 состояний. Идея заключалась в том, что, исходя из заданных правил, каждое состояние каким-то образом зависело от состояния соседних клеток и от своего предыдущего. Таким образом, система напоминала живые системы, по крайней мере в том смысле, что клетки могли меняться и входить в контакт с другими, находящимися в похожем или таком же состоянии. Итак, фон Нейман хотел исследовать очень сложную структуру при помощи очень простой модели — клеточных автоматов.
РОБОТОТЕХНИКА
Термин «робот», происходящий от чешского слова robota (подневольный труд), впервые появился в театральной пьесе *Россумские универсальные роботы» чешского драматурга Карела Чапека.
Она была поставлена в январе 1921 года в Праге. Действие в ней разворачивается вокруг фабрики, на которой создают механических существ для службы человеку. В конце пьесы роботы уничтожают людей. Робототехника — прикладная наука, на основе которой при помощи кибернетики и технической инженерии можно построить машину, управляемую специальной программой и способную обращаться с предметами, а также в некоторой мере взаимодействовать с окружающей средой.
Ее цель — замена людей на ряде однообразных, а также слишком тяжелых для человека или просто опасных операций. Тело робота состоит из механических элементов из металла или пластика и двигается благодаря сервомотору. Нервная система сформирована электропроводами, в венах течет смазывающее масло. Его мозг не просто похож на компьютер — это и есть компьютер. Однако часто встречается ошибочное представление о том, что робот должен походить на человека (в узком понимании посудомоечная машина — тоже робот). Робот должен отвечать трем основным характеристикам.
1. Его можно запрограммировать, как и компьютер.
2. Он должен быть машиной, способной выполнять конкретные действия в окружающей его среде.
3. Он должен быть гибким.
Третье свойство вытекает из двух предыдущих, так как, с одной стороны, подразумевает способность оперировать широким спектром программ, а с другой — взаимодействовать со средой разными способами.
Робот, играющий на фортепиано. Шанхайский музей науки и техники, Китай.
КЛЕТОЧНЫЙ АВТОМАТ
Клеточный автомат — это математическая абстракция клеточных процессов, которые наблюдаются в живых организмах. Его можно определить как динамическую систему, состоящую из двух компонентов: пространства клетки и правил поведения.
По определению клеточное пространство — это пространство фон Неймана, в котором его элементы, называемые клетками, находятся в состоянии, определяемом либо конечным числом значений {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 году. Помимо того что это просто очень интересная игра, имеющая важное применение в математике, она может быть полезным инструментом в исследованиях и помогает понять некоторые сложные природные процессы, так как является мощной моделью, которую можно применить, например, при изучении влияния разлива нефти на морскую фауну.