Представим в виде вектора N для поколения t число самок в каждой возрастной группе, то есть N0t, N1t, N2t, N3t и N4t:
Представим в виде вектора Nt + 1 число самок в каждой возрастной группе для следующего поколения, t +1:
В конце концов объединим матрицу L и векторы Nt и Nt + 1 описанные выше, в одно выражение в матричной нотации. Сразу же увидим, что для получения возрастной структуры популяции, начиная от поколения t и заканчивая следующим поколением, t + 1, достаточно найти произведение вектора, соответствующего поколению t, и матрицы L:
В сокращенном виде это записывается так: Nt + 1 = L·Nt.
Не описывая пока подробности выполнения операций над матрицами (об этом мы поговорим в главе 4), предположим, что экспериментальные данные о возрастах популяции оленей таковы: 190, 80, 56, 18 и 6 (численность особей от меньшего возраста к большему). Матрица L будет выглядеть следующим образом:
Если мы умножим вектор с исходными данными на матрицу L, получим следующий вектор:
Если мы умножим полученный вектор на матрицу L, получим новый вектор, который затем вновь умножим на матрицу L, и т. д. По прошествии 10 единиц времени, рассчитав последовательные итерации модели, получим, что общая численность популяции будет разделена по возрастным группам (от меньшего возраста к большему) в следующей пропорции: 48, 29, 16, 6 и 4 %.
Клеточные автоматы
В 1940-е годы Станислав Улам и Джон фон Нейман впервые описали метод моделирования, известный под названием метод клеточных автоматов. Улам изучал рост кристаллов, а фон Нейман впервые рассмотрел с теоретической точки зрения бесполое размножение, которое он назвал самовоспроизведением. Улам и фон Нейман встретились в лаборатории Лос-Аламоса, где была создана первая атомная бомба и где в те годы работал еще один их гениальный современник — Алан Тьюринг.
Джон фон Нейман вместе со Станиславом Уламом описал клеточные автоматы.
Клеточные автоматы — это модели, позволяющие описать тот же класс ситуаций, который описывается дифференциальными уравнениями. Однако клеточные автоматы имеют некоторые преимущества: при их использовании необязательно знать какое-либо уравнение, описывающее явление или систему, они не требуют мощного компьютера и позволяют быстро получить результат. При этом прогноз будущего состояния системы, то есть искомое решение, представляется в графическом виде. Так, модель «реакция — диффузия», с помощью которой Тьюринг описал узоры на шкуре позвоночных, можно описать (и наглядно представить на компьютере) с помощью клеточных автоматов без использования уравнений.
В 1970 году англичанин Джон Хортон Конвей сделал клеточные автоматы популярными, создав игру «Жизнь». Сегодня эта игра покинула стены лабораторий и обосновалась на множестве домашних компьютеров. В 2002 году Стивен Вольфрам, создатель программы Mathematica и один из тех, кто занимался изучением клеточных автоматов, написал книгу «Новый вид науки», вокруг которой развернулась бурная полемика. Вольфрам предсказал рождение новой физики, основу которой будут составлять клеточные автоматы. В настоящее время клеточные автоматы позволяют моделировать столь непохожие явления, как кольца планет (в частности, кольца Сатурна), столбы дыма (а следовательно, агрегацию частиц), поведение групп муравьев, рост кристаллов, узоры на шкуре позвоночных, форму раковин моллюсков и даже электоральные предпочтения.
На экране изображены некоторые классические конфигурации из игры «Жизнь», созданной Джоном Хортоном Конвеем. Различные формы или узоры, образованные этими автоматами, — это решения, альтернативные тем, которые можно получить с помощью дифференциальных уравнений.
Клеточный автомат — это решетка ячеек, находящихся в одном из множества возможных состояний. К примеру, если возможны всего два состояния, то ячейки могут находиться либо в состоянии 1 (черный цвет; «вкл.»), либо в состоянии 0 (белый цвет; «выкл.»). Ячейки называются конечными автоматами. К примеру, светофор — это конечный автомат с тремя возможными состояниями: зеленый, желтый, красный.
Каждая ячейка имеет так называемое соседство, куда обычно входят ячейки, смежные с ней. Существует множество разновидностей соседства. Одно из возможных соседств состоит из клеток, расположенных выше, ниже, слева и справа от данной ячейки, включая ее саму.
В любой модели начальное состояние ячеек (t = 0) решетки определяется согласно некоторому критерию. Затем по заранее установленным правилам определяется актуальное состояние ячеек (t + 1). При этом учитывается как текущее состояние рассматриваемой ячейки, так и состояние ее соседей. Этот процесс повторяется снова и снова, пока моделирование не будет завершено. На решетке клеточного автомата образуются узоры, порой имеющие удивительную форму. Эти узоры можно считать решением модели, то есть они представляют собой отпечаток будущего состояния изучаемой системы.
* * *
КЛЕТОЧНЫЕ АВТОМАТЫ В ПРИРОДЕ
В одном из классических примеров математической биологии рассматриваются моллюски родов Conus и Cymbiola. Их раковины имеют характерные узоры, образованные пигментами — активаторами и ингибиторами, которые, по всей видимости, подчиняются так называемому правилу 30 — одному из правил, изученных Стивеном Вольфрамом. Неудивительно, что некоторые считают этих моллюсков прекрасным примером клеточных автоматов в природе.
Экземпляр моллюска Conus Textile. Рисунки на его раковине напоминают узор, получаемый при рассмотрении клеточного автомата, который описывается правилом 30.
* * *
В игре «Жизнь» каждый конечный автомат имеет восемь соседей, расположенных выше, ниже, справа, слева и по диагоналям от нее. Будем считать, что каждый конечный автомат имеет всего два возможных состояния — 0, или «мертв», и 1, или «жив», — которые мы будем обозначать разными цветами. Суть игры в том, чтобы последовательно определять состояния конечных автоматов по установленным правилам перехода.
Правило № 1: Будущее состояние конечного автомата равно предыдущему, если число соседей конечного автомата в состоянии 1 равно 2.
Правило № 2: Конечный автомат переходит из состояния 0 в состояние 1, если число его соседей в состоянии 1 равно 3.
Правило № 3: Третье правило моделирует соседство с большим или малым числом «живых» автоматов, то есть автоматов в состоянии 1. Если число соседних автоматов в состоянии 1 меньше 2, то есть 1 или 0, либо больше 3, то есть 4, 3, 6, 7 или 8, то конечный автомат «умирает», то есть переходит из состояния 1 в состояние 0.
Последовательно применяя правила перехода для всех конечных автоматов клеточного автомата, мы увидим, как в процессе эволюции постепенно появляются характерные шаблоны и фигуры.
Модель «хищник — жертва» и клеточные автоматы
Модель «хищник — жертва» Лотки — Вольтерры стала одной из первых математических моделей в биологии и, возможно, одной из самых важных в математической биологии. Как мы уже отмечали, одно из преимуществ клеточных автоматов заключается в том, что для их использования не требуется знать дифференциальное уравнение, описывающее явление или систему. Модель «хищник — жертва» Лотки — Вольтерры была представлена в 1984 году Александром Дьюдени в статье «Акулы и рыбы ведут экологическую войну на тороидальной планете Ва-Top» (Shark and Fish Wage an Ecological War on the Toroidal Planet Wa-Tor). He используя ни одно из уравнений, представленных Лоткой и Вольтеррой, Дьюдени получил похожие результаты на компьютере со стандартными для 1980-х годов характеристиками.
Целью Дьюдени было найти подходящие значения параметров модели, допускавшие сосуществование на небольшой решетке популяции хищников (акул) и жертв (рыб).
Дьюдени рассмотрел следующие параметры:
— число жертв (рыб);
— временной порог размножения рыб: если рыба выживает в течение определенного числа циклов (или заранее установленного времени моделирования) и ячейка остается свободной, в ней рождается рыба;
— число хищников (акул);
— максимальное время голодания хищников: если акула не может поймать рыбу в течение определенного числа циклов (или заранее установленного времени моделирования), она умирает;