Читать книгу Математические модели в естественнонаучном образовании. Том I - Денис Владимирович Соломатин - Страница 10
Глава 2. Линейные модели структурированных популяций
2.1. Линейные модели и матричная алгебра
ОглавлениеОсновная идея моделирования, которую используем, проста. Вместо того, чтобы складывать размер всей популяции, отслеживая одну величину, не обращая внимания на возраст или стадию развития, будет рассматриваться несколько различных величин, таких как количество взрослых и количество детенышей, количество выпускников и количество абитуриентов. Однако ограничимся использованием очень простых уравнений.
Пример. Предположим, что рассматривается гипотетическая популяция с тремя стадиями жизни: яйцо, личинка и взрослая особь (соответственно абитуриент, бакалавр и магистр математического образования). Наша условная популяция такова, что особи прогрессируют от яйца к личинке за один промежуток времени, а от личинки к взрослой особи за другой. Наконец, взрослые особи откладывают яйца и отмирают на следующем этапе (находят своё призвание в другой области и не трудоустраиваются по специальности). Чтобы формализовать это, обозначим за количество яиц в момент времени , за количество личинок в момент времени , за количество взрослых особей в момент времени .
Предположим, после сбора данные обнаруживается, что только 4% яиц выживают, чтобы стать личинками, только 39% личинок доживают до взрослой жизни, а взрослые особи в среднем производят по 73 яйца. Это может быть выражено тремя уравнениями: , , .
Система из трех разностных уравнений является моделью популяции насекомых. Обратите внимание, поскольку уравнения не содержат более сложных операций, чем те, которые используются при написании уравнении прямой, оправданно называть эту модель линейной. Также обратите внимание, если захотим использовать эту модель для прогнозирования численности будущих популяций, понадобятся три начальных значения, , и , по одному для каждой стадии. Поскольку три уравнения связаны между собой (ведь популяция одной стадии развития появляется в формуле, дающей будущую популяцию другой стадии), эта система разностных уравнений несколько сложнее, чем линейные модели из предыдущей главы.
Вопросы для самопроверки:
– Приведенный пример может быть фактически описан моделью , где – количество взрослых. Объясните, почему?
Конечно, если поймем, что описывает данную популяцию, то сразу узнаем, что популяция будет расти экспоненциально, увеличиваясь в 1.1388 раза на каждые три временных интервала.
Пример. Повторно рассмотрим приведенный выше пример, но предположим, что вместо того, чтобы умереть (уйти из профессии), 65% взрослых выживают на протяжении дополнительного временного шага (работают вплоть до пенсии и далее). Тогда модель становится немного сложнее: , , .
Опять же, правомерно называть эту модель линейной, так как все члены имеют первую степень. Однако из-за произведенной модификации уже не ясно, как выразить рост популяции одним уравнением. Очевидно, изменение модели должно привести к еще более быстрому росту популяции. Взрослые особи, которые живут дольше, могут производить больше яиц, производя еще больше взрослых особей, которые выживают дольше, и так далее. Однако новые темпы роста отнюдь не очевидны.
Пример. Предположим, нас интересует лес, состоящий из двух видов деревьев, где и обозначают количество каждого вида в лесу в год (дубы и берёзки, аналогично физики и математики, информатики и технологии). Когда дерево умирает, на его месте растет новое дерево, но новое дерево может быть любого вида. Чтобы быть конкретным, предположим, что деревья вида относительно долго живут, и только 1% умирает в данный год . С другой стороны, деревьев вида погибает 5%. Поскольку они быстро растут, деревья , однако, с большей вероятностью преуспеют в завоевании свободного пространство, оставленного мертвым деревом; 75% всех свободных мест достаются деревьям вида , и только 25% достаются деревьям вида . Все это можно выразить с помощью равенств , .
Вопросы для самопроверки:
– Объясните смысл каждой операции в этих уравнениях.
После упрощения модель представляет собой систему из двух линейных разностных уравнений
,
.
В отличие от предыдущих двух примеров, нет очевидного предположения о том, как будут вести себя популяции, смоделированные этими уравнениями.
Чтобы прийти к пониманию, предположим, что популяция начинается с и . Эти начальные значения численности популяции могли бы описывать лес, в котором большинство деревьев были выборочно вырублены ранее. Что произойдет с популяцией с течением времени? Компьютерный эксперимент показывает результаты в таблице 2.1.
Таблица 2.1. моделирование леса
Год
0 10 990
1 22.30 977.70
2 34.35 965.65
3 46.17 953.83
4 57.74 942.26
5 69.09 930.91
… … …
10 122.50 877.50
… … …
50 401.04 598.96
… … …
100 543.44 456.56
… … …
500 624.97 375.03
… … …
1000 625 375
… … …
В этой таблице показано довольно интересное поведение популяции; похоже, что численность приближается к равновесию, с 625 деревьями вида и 375 вида . Фактически, как можно видеть на рисунке 2.1, если бы начали с любого другого неотрицательного выбора и , численный эксперимент показал бы аналогичное движение к точно такому же соотношению численности деревьев к численности деревьев . То, что лес приблизится к стабильному распределению двух видов деревьев в отношении , не очевидно из уравнений. Еще менее понятно, почему стабильное распределение находится именно в таком соотношении. Чтобы начать понимать поведение моделей, подобных приведенной выше, нужно использовать несколько вспомогательных математических инструментов.
Рисунок 2.1. Два имитационных моделирования численности деревьев в лесу.
Очень полезными в данном случае оказываются векторы и матрицы. Наиболее удобным математическим языком описания моделей, приведенного выше типа, является язык линейной алгебры. Он включает в себя несколько типов математических объектов, которые могут оказаться полезны.
Определение. Вектором арифметического -мерного пространства называется упорядоченный набор вещественных чисел, обычно записываемый в виде строки, либо столбца.
Пример. и являются векторами в , а является вектором в .
Арифметические векторы обычно обозначаются прописными буквами с черточкой над ними. Например, можно использовать запись для обозначения распределения числа деревьев в год из примера выше, где . Как видите, много места на странице тратится впустую, когда векторы написаны в столбцах. Поэтому можно писать , что в данном случае несёт ту же информацию.
Определение. Матрица представляет собой прямоугольную таблицу вещественных чисел с строками и столбцами.
Пример. это матрица 2 × 2, а – матрица 3 × 4.
Если матрица имеет равное количество строк и столбцы, то она называется квадратной. Обратите внимание, что на самом деле нет никакой существенной разницы между вектором пространства и – матрицей, они даже записаны идентичным образом.
Матрицы (множественное число слова «матрица») обычно обозначаются заглавными буквами, такими как , или . Например, можно сказать, – это матрица перехода, для модели леса выше, поскольку её элементами являются числа, используемые для прогнозирования будущих популяций деревьев. И переписать модель леса в матричной форме записи так или просто . Немного опережая события модель была выражена в простой форме , которая очень похожа на линейные модели, рассмотренные в предыдущей главе. Остаётся понять, что имеется в виду, когда записывают , как матрицу, умноженную на вектор.
Определим так, чтобы уравнения в матричной форме записи и в виде системы линейных уравнения означали одно и то же. Другими словами, если естественным образом можно называть матрицы равными тогда и только тогда, когда равны их соответствующие элементы, то нужно получить .
Это приводит к следующему определению матричного умножения:
Определение. Произведением 2×2-матрицы на вектор из называется .
Вместо того, чтобы пытаться запомнить эту формулу, лучше поняться суть процесс матричного умножения: для получения элемента в -той строке -того столбца результата, необходимо умножить -тую строку первого множителя на -тый столбец второго множителя. Для умножения -той строки на -тый столбец вычисляется сумма произведений их соответствующих компонент, как при вычислении скалярного произведения векторов.
Если перемножаются матрицы большей размерности, чем 2 × 2, то действуют аналогичным способом. Заметим, что для нахождения произведения каждая строка матрицы первого множителя должна иметь столько компонент, сколько их в векторе столбце второго множителя. Это означает, если дан -вектор из и пытаемся его умножить слева на матрицу, то матрица должна иметь записей в каждой строке и, следовательно, иметь столбцов. Поскольку пока имеем дело в основном с квадратными матрицами, то будем использовать матрицы для умножения на вектор из .
Пример. .
Подумайте еще раз о лесе с двумя видами деревьев. Предположим, что приведенное выше описание того, как изменяется состав леса, происходит только во влажный год, поэтому мы переименуем матрицу перехода .
Если предположим, что в засушливые годы вид умирает с большей скоростью, то матрица перехода для таких лет может принять вид .
Вопросы для самопроверки:
– Что изменилось в этой матрице, почему оказалось так, что деревья имеют более высокую смертность в засушливые годы, чем во влажные годы? Фактически, всё, что изменили, это вероятность гибели дерева в сухой год, теперь она составляет 0,39. Остальные параметры остались такими же, как в исходной модели.
– Убедитесь, что если вероятность гибели дерева заменяется на 0,39, то получается приведенная выше матрица .
Предположим, что начальные популяции задаются вектором значений , как и прежде. Если первый год сухой, то .
Теперь предположим, что за сухом годом последует влажный год. Как это отразится на популяции? Так как , а , то . Последнее значение легко вычислить путем матричного умножения: .
Более интересный вопрос заключается в том, можно ли найти одну матрицу, умножение на которую моделирует совокупное влияние на популяцию засушливого года, за которым следовал дождливый год? Хотя и очевидно равенство , но существует ли матрица такая, что ?
Казалось бы, что может быть проще, для нахождения достаточно переставить скобки в уравнении , записав его в виде , тогда искомая матрица . Но для этого предстоит научиться перемножать две матрицы и так, чтобы всегда новая матрица была определена, причем матричное умножение должно обладать свойством ассоциативности. Как же выглядит эта матрица ? Вместо того, чтобы экспериментировать на конкретных числах, введём обозначения , , . Таким образом , , , . Подставив и в и , получим , , или после перестановки, , . Что в матричной форме записи примет вид . Это указывает на то, как нужно определить произведение двух матриц:
Обратите внимание, что первый столбец произведения получается в результате умножения строк матрицы на первый столбец матрицы , воспринимаемый как вектор-столбец, а второй столбец произведения получается умножением на второй столбец из .
Определение. Произведением двух матриц называется новая матрица, столбцы которой находят путем умножения строк матрицы первого множителя на каждый из столбцов матрицы второго множителя.
Это означает, чтобы перемножить две матрицы, когда правая имеет по элементов в каждом столбце, левая должна иметь по элементов в каждой строке.
Пример. .
Интересно то, что если умножать две вышеуказанные матрицы в обратном порядке, правую на левую, вместо левой на правую, то получится другой результат.
Пример. .
Для большинства матриц и получается . То есть матричное умножение не является коммутативным. Порядок множителей имеет значение.
Вопросы для самопроверки:
– Ожидается ли с биологической точки зрения, что влияние на лес сухого года, за которым следует влажный год, будет точно таким же, как у влажного года, после которым будет сухой год? Какое это имеет отношение к замечанию о некоммутативности матричного умножения?
Обратите внимание, что, хотя произведение 2х2 матрицы на 2х1 вектор столбец справа имеет смысл, когда вектор размещен слева произведение не имеет смысла. Потому что в каждой строке есть только один элемент имеет, но в каждом столбце по два элемента, определение матричного умножения окажется неприменимым. Поскольку векторы пишем в виде столбцов, это означает, что всегда нужно матрицы помещать слева от векторов в таких произведениях.
Тот факт, что для матриц умножение не является коммутативным, то есть порядок множителей имеет значение, является существенным отличием матричной алгебры от привычной арифметики. Важно при использовании матриц всегда помнить об этом.
К счастью, хотя и не будем приводить тому строгое доказательство, матричное умножение является ассоциативным: при умножении любых трех матриц . Следовательно, можно перегруппировать множители на своё усмотрение, результат умножения не изменится. Дело в том, что произведение двух матриц было определено так, чтобы имело место в частном случае, когда является вектором. Требуется лишь повторить выкладки и согласно определения убедиться в истинности равенства для любой матрицы .
Конечно, требуется некоторая практика, чтобы освоиться с матричной алгеброй, для этого есть упражнения. Большинство используют компьютер для выполнения матричных вычислений, особенно когда размеры матриц велики. Как только понимаете, как выполнять умножение, процесс становится утомительным для ручного счета. Тем не менее, нужно уметь делать простые ручные вычисления, чтобы понимать, как эффективно использовать компьютер.
Есть еще несколько понятий и правил, которые используются при выполнении операций над векторами и матрицами. Поскольку у нас есть термины (векторы и матрицы) для массивов чисел, удобно иметь особый термин и для отдельных чисел.
Определение. Скаляр – это одно число.
Определение. Чтобы умножить вектор или матрицу на скаляр, умножьте каждую их компоненту на этот скаляр.
Пример. .
Определение. Чтобы сложить два вектора или две матрицы, складывайте соответствующие компоненты. Слагаемые должны быть одинакового размера.
Пример. .
Определение. Вектор, все компоненты которого равны нулю, называется нулевым вектором и обозначается как .
Векторы и матрицы также подчиняются дистрибутивным законам умножения относительно сложением, а именно: , .
Наконец, хотя матричное умножение некоммутативно, можно менять порядок множителей матрицы и скаляра, например, .
Задачи для самостоятельного решения:
2.1.1. Вычислите без помощи компьютера
а.
б.
в.
г.
2.1.2. Объясните, почему произведение не определено.
2.1.3. Для , и без компьютера найдите значения выражений ниже. Затем проверьте ответы с помощью MATLAB. Матрицы в MATLAB вводятся так:
A=[-1,2;1,1]
а.
б.
в.
г.
д.
е. Докажите, что , а .
2.1.4. Выполните пункты (а-е) из предыдущего задания для , и . Cначала без компьютера, затем проверьте свои ответы с помощью MATLAB.
2.1.5. Для матрицы , вектора и скаляра докажите, что путём вычисления каждой из стороны.
2.1.6. Для матрицы , моделирующей долю трудоустроенных выпускников сдвоенных специальностей, вычислите , , . Каков смысл этих операций? Что особенного в значении ? Используйте MATLAB для вычислений.
2.1.7. Для матрицы из предыдущей задачи, получите график с изображением количества выпускников каждой из своей сдвоенной, задерживающихся в системе образования на протяжении нескольких лет по окончании ВУЗа, предполагая . Используя команды MATLAB:
P=[.18 .21; .17 .15]
x=[10; 12]
pops=[x]
x=P*x
for n=1:10
pops=[pops x]
x=P*x
end
plot(pops')
Повторите этот процесс несколько раз, используя различные начальные векторы . Все ли первоначальные векторы в конечном итоге приводят к одному и тому же результату?
2.1.8. В первом примере данного раздела описывается классическая модель из жизни насекомых, системой уравнений , , .
а. Запишите эту модель в матричной форме, как , используя 3×3-матрицу . Какой смысл имеет вектор ?
б. Вычислите и без помощи компьютера. Как смысл этих матриц?
в. Вычисление должно соответствовать уравнению . Объясните эту связь.
2.1.9. Во втором примере данного раздела описывается модель системой уравнений , , .
а. Выразите эту модель с помощью 3× 3-матрицы .
б. Вычислите и без помощи компьютера.
в. Начиная со значений , постройте график динамики численности популяции с помощью компьютера. В качестве отправной точки можно использовать команды из задачи 2.1.7, чтобы построить график средствами MATLAB.
2.1.10. В материалах данного раздела строится модель леса из двух типов деревьев, когда одни сменяются другими и обратно, в динамике и временной перспективе дается оценка соотношения ожидаемого числа деревьев разного типа. Отсюда вопрос: а в онкологии, определяемой по слюне или еще где-то, биохимики могут ли использовать подобное? Например, делается замер концентрации нескольких веществ по образцу слюны, потом впрыскивается какой-нибудь катализатор, делается повторный замер концентрации тех же веществ, смотрим как изменилось их соотношение, строим матрицу перехода от одного состояния к другому для здорового и для больного, тем самым как-бы оценивается быстрота и направление реакции, чего стало больше, чего меньше и насколько, а дальше по этой матрице моделируется развитие событий, для постановки экспресс диагнозов.