Независимо от того, исследуем ли мы рост числа выпускников математических специальностей, взаимодействие с работодателями, эволюцию рабочих программ классических курсов, передачу фундаментальных идей или распространение фейков, дидактические системы характеризуются изменениями и адаптацией. Даже когда они кажутся постоянными и стабильными, это часто является результатом баланса тенденций, толкающих системы в разных направлениях. Большое количество взаимодействий и конкурирующих тенденций может затруднить просмотр полной картины сразу.
Как мы можем понять такие сложные системы, как те, которые возникают в социальных науках? Как мы можем проверить, достаточно ли нашего предполагаемого понимания ключевых процессов, чтобы описать, как ведет себя система? Математический язык предназначен для точного описания, и поэтому описание сложных систем часто требует математической модели.
В этой главе мы рассмотрим некоторые способы, которыми математика используется для моделирования динамических процессов в обучении математике. Простые формулы связывают, например, количество абитуриентов в определенном году с выпускниками последующих лет. Мы учимся понимать последствия, которые можно прогнозировать, составляя уравнение, средствами математического анализа, при этом наша формализация может быть проверена эмпирическими наблюдениями. Хотя многие из моделей, которые мы рассматриваем, могут на первый взгляд показаться грубыми упрощениями, их сила в простоте. Чем проще модель, тем яснее становятся предсказываемые её последствия исходя из самых базовых предположений.
Начнем с того, что сосредоточимся на моделировании того, как количество выпускников физико-математических классов растёт или сокращается с течением времени. Поскольку математические модели должны основываться на вопросах, вот несколько вопросов, которые следует учитывать: почему число выпускников иногда растёт, а иногда сокращается? Должны ли объемы выпусков вырасти до такой степени, что они станут неустойчиво большими, а затем сойдут до нуля? Если нет, то должно ли количество выпускников достичь некоторого равновесия? Если равновесие существует, какие факторы ответственны за него? Является ли такое равновесие настолько тонким, что любое нарушение может положить ему конец? Что определяет, следует ли данная тенденция одному из этих курсов или другому?
Начнём разбирать перечисленные вопросы с помощью самой простой математической модели изменяющейся численности населения.
Предположим, мы выращиваем не будущих математиков, а популяцию какого-то организма, скажем, мух, в лаборатории. Представляется разумным, что в любой данный день численность населения будет меняться из-за новых рождений, так что оно увеличивается за счет добавления определенной доли f от имеющегося населения. При этом часть d от имеющегося населения погибнет, условно, как бы цинично это не звучало, но многие профессиональные математики после выпуска вынуждены работать не по специальности, что смерти подобно.
Рассмотрим простейшую прикладную модель, которую предложил Томас Мальтус в своём очерке 1798 года о принципе народонаселения, неоднократно подвергавшемся всесторонней критике. Если люди живут в течение 70 лет, то мы ожидаем, что из большой популяции примерно 1/70 населения будет умирать каждый год; таким образом, . Если, с другой стороны, мы предположим, что на каждые сто человек приходится около четырех рождений в год, мы имеем . Обратите внимание, что в этом случае мы выбрали год в качестве единиц времени.
Вопросы для самопроверки:
– Объясните, почему для любой популяции должно быть в диапазоне от 0 до 1. Что будет означать ? Что будет означать ?
– Объясните, почему должно быть не менее 0, но может быть больше 1. Можете ли вы назвать реальные популяции (при должном выборе единицы времени), для которых будет больше 1?
– Используя годы в качестве единицы времени, какие значения f и d будут уместны для моделирования числа выпускников естественно-научного профиля? Гуманитарного? Социально-экономического? Технологического и универсального?
Чтобы смоделировать значения P сфокусируемся на следующем за P изменении численности. Формально . Это означает, что, учитывая текущее значение , скажем, , а также и , например, и , можно предсказать изменение . Таким образом, в начале следующего временного периода суммарная численность составляет .
Введём несколько вспомогательных обозначений для упрощения восприятия математической модели. Пусть – размер популяции, измеренный в момент времени , тогда это приращение или изменение численности между последовательными моментами времени.
Ясно, что зависит от , поэтому можно встретить подстрочный индекс рядом с , так как для разных значений приращение оказывается разным. Тем не менее, этот индекс не редко пропускают.
Теперь то, что нас в конечном итоге волнует, это понимание динамики популяции , а не только приращения . Но . Объединив константы вместе, обозначив за , модель стала гораздо проще: .
Популяризаторы науки часто называют константу конечной скоростью роста населения. (Слово «конечный» используется, чтобы отличить это число от любого вида мгновенной скорости, которая включала бы производную, как вы знаете из курса дифференциального исчисления. Для значений , , и использованных ранее, вся модель теперь имеет вид , где . Первое уравнение, выражающее через , называется разностным уравнением, а второе, задающее , является его начальным условием. С этими двумя уравнениями легко составить таблицу значений численности с течением времени, как в таблице 1.1.
Таблица 1.1. Рост популяции по простой модели
Момент времени Численность
0 500
1 (1. 07)500 = 535
2 (1. 07)2500 = 572.45
3 (1. 07)3500 ≈ 612.52
… …
По закономерностям в таблице 1.1 легко перейти от рекуррентного соотношения для к замкнутой форме записи, чтобы осталась только зависимость от в явном виде: . На этой модели теперь легко предсказать численность популяции в любое время.
Может показаться странным называть разностным уравнением, когда разность там не появляется. Однако уравнения и эквивалентны, поэтому любое из них разумно определять одним и тем же термином.
Пример. Предположим, что система математического образования имеет очень жесткие ограничения на целевые цифры приёма в ВУЗы (что вполне реалистично на просторах СНГ), по которым каждый год выпускается 200 молодых специалистов и все сотрудники пенсионного возраста уходят на заслуженный отдых. После того, как состоялся очередной выпуск, только 3% остаются работать по специальности, чтобы связать свою профессиональную деятельность с математикой, остальные либо эмигрируют, либо находят выше оплачиваемую работу. Чтобы написать разностное уравнение в этой системе, где будем измерять в поколениях, нужно просто заметить, что уровень «смертности» равен , в то время как эффективная «плодовитость» системы равна . Следовательно, .
Вопросы для самопроверки:
– Будет ли общая численность математиков расти, а не уменьшаться при таких условиях?
– Предположим, вы не знаете эффективной «плодовитости», но знаете, что численность стабильна (неизменна) с течением времени. Какой должна быть ? (Подсказка: поймите, что такое , если численность стабильна?) Если каждый год выпускается 200 молодых специалистов, какая их часть должна оставаться в системе и обучать математиков следующего поколения?
Обратите внимание, что в этой последней модели мы игнорировали тех математиков, кто не участвует в обучении математиков следующего поколения. Это на самом деле довольно распространенный подход и упрощает модель. Однако это означает, что делаются дополнительные предположения. Для конкретного направления точное количество учителей может мало влиять на то, как растет численность специалистов. Возможно, учителя всегда встречаются примерно в равном количестве с узкими специалистами, так что мы знаем, что общая численность людей, посвятивших жизнь математике, просто вдвое превышает число учителей математики. С другой стороны, численность профессиональных математиков может вести себя иначе, чем численность учителей математики, но независимо от того, мало ли учителей или их много, всегда достаточно, чтобы появление учителей происходило непрестанно. Таким образом, именно численность учителей математики является важным параметром для отслеживания, чтобы понять долгосрочный рост или сокращение числа профессиональных математиков в стране.
Вопросы для самопроверки:
– Можете ли вы представить себе обстоятельства, при которых игнорирование уменьшения числа профессионалов той или оной области было бы хорошей идеей?
Так что же такое разностное уравнение? Теперь, когда увидели разностное уравнение на примере, можно попытаться дать строгое определение: разностное уравнение – это формула, выражающая значения некоторой величины в терминах предыдущих значений . Таким образом, если является какой-либо функцией, то называется разностным уравнением. В предыдущем примере использовалась , но часто будет более сложным.
Изучая разностные уравнения и их приложения, рассмотрим два основных вопроса: 1) Как найти подходящее разностное уравнение для моделирования ситуации? 2) Как понять поведение модели разностных уравнений после того, как её нашли?
Обе эти задачи бывают довольно трудны. Тем не менее, обязательно научитесь моделировать с помощью разностных уравнений, глядя на математические модели, используемые разными авторами в классической литературе, а затем создадите собственные модели. Однако, честно говоря, это не обязательно исключит столкновение с принципиально неразрешимой проблемой. Что касается понимания поведения, которое моделируется разностным уравнением, то обычно не представляется возможным найти явную формулу, как было сделано выше для , описывающего численность популяции в мальтузианской модели. Вместо этого разрабатываются методы извлечения менее точной, но качественной, а не количественной информации из модели.
Конкретное разностное уравнение, обсуждаемое в этом разделе, иногда называют экспоненциальной или геометрической моделью, поскольку модель приводит к экспоненциальному росту и ассоциируется с именем Томаса Мальтуса. Математики, однако, склонны сосредотачиваться на форме уравнения и говорить, что модель линейна. Такая терминология может сбивать с толку, но она важна, когда линейная модель описывает экспоненциальный рост или убывание.
Задачи для самостоятельного решения:
1.1.1. Популяция изначально составляла 100 особей, но из-за комбинированного воздействия рождений и смертей она утраивается каждый час.
а. Составьте таблицу численности популяции для пробегающего значения от 0 до 5, где измеряется в часах.
б. Приведите два уравнения, моделирующих рост популяции, сначала путем выражения через , а затем выразив через .
в. Что можно сказать об уровнях рождаемости и смертности среди населения вашей страны? Земного шара?
1.1.2. На ранних стадиях развития в развивающихся странах открытие новых школ происходит с достаточно регулярной скоростью. Предположим, что количество школ удваивается примерно каждый месяц.
а. Запишите уравнение, моделирующее эту ситуацию. Уточнив, сколько реального времени представлено шагом 1 в параметре и каково было начальное количество школ в период новейшей истории.
б. Заполните таблицу и нарисуйте график числа школ в зависимости от .
в. Сопоставьте полученные результаты с официальными данными Росстата. Это соответствует вашей модели? Какие выводы и/или вопросы это вызывает?
1.1.3. С помощью ручного калькулятора составьте таблицу значений численности населения выбирая в диапазоне от 0 до 6 для следующих моделей. Затем отобразите табличные значения на графике.
а. ,
б. ,
в. ,
1.1.4. Повторите решение задачи 1.1.3(а) с помощью MATLAB, введя последовательность команд, например:
p=1
x=p
p=1.3*p
x=[x p]
p=1.3*p
x=[x p]
…
Возврат к предыдущим командам для их повторения можно осуществлять нажатием клавиши "↑". Объясните, как это работает. Теперь повторите решение с использованием цикла, например:
p=1
x=1
for i=1:10
p=1.3*p
x=[x p]
end
Отступ не является обязательным, но помогает сделать цикл for-end понятнее для чтения. Объясните, как это работает. Визуализируйте полученные данные на графике с помощью команды:
plot([0:10],x)
1.1.5. Для модели, указанной в задаче 1.1.3 а), сколько времени должно пройти, прежде чем популяция превысит 10, превысит 100 и превысит 1 000? Используйте MATLAB, чтобы вычислить это экспериментальным путём, а затем вычислите аналитически, используя логарифмирование и тот факт, что . Обнаруживается ли закономерность в изменениях вычисленной продолжительности? Объясните, когда и почему значение стабилизируется.
1.1.6. Если бы данные в таблице 1.2 о численности докторов физико-математических наук были собраны по десятилетиям с момента основания института математики, соответствовали бы они геометрической модели? Будет ли численность соответствовать геометрической модели хотя бы в некотором временном интервале? Объясните наблюдаемое явление.
Таблица 1.2. Численность учёных в стране (сотни)
0 1 2 3 4 5 6 7 8 9 10
1,94 3,04 4,62 6,72 9,26 11,88 14,08 15,52 16,26 16,60 16,72
1.1.7. Заполните пропуски:
а. Модели и представляют растущие значения, когда – любое число в диапазоне _______, а – любое число в диапазоне _______.
б. Модели и представляют уменьшающиеся значения, когда – любое число в диапазоне _______, а – любое число в диапазоне _______.
в. Модели и представляют стабильные значения, когда – любое число в диапазоне _______ и когда – любое число в диапазоне _______.
1.1.8. Объясните, почему модель не может иметь смысла для описания численности популяции, когда .
1.1.9. Предположим, что популяция описывается моделью и . Найдите для .
1.1.10. Говорят, что модель имеет устойчивое состояние или точку равновесия при если всякий раз, когда , имеем .
а. Перефразируйте определение следующим образом: модель имеет устойчивое состояние при если всякий раз, когда , имеем .
б. Перефразируйте определение неформально: модель имеет устойчивое состояние , если ___.
в. Может ли модель, описываемая равенством иметь устойчивое состояние? Объясните почему.
1.1.11. Объясните, почему модель приводит к формуле .
1.1.12. Предположим, что на численность определенного населения влияют только рождение, смерть, иммиграция и эмиграция, каждая из которых происходит ежегодно в размере, прямо пропорциональном численности населения. То есть, если население составляет , то в течение периода времени в 1 год число рождений составляет , число смертей , число иммигрантов равно , а число эмигрантов равно , для некоторых , , и . Покажите, что популяция все еще может быть смоделирована равенством и выведите формулу для вычисления .
1.1.13. Как хорошо известно лимнологам и океанографам, количество солнечного света, проникающего на различные глубины воды, может сильно повлиять на численность живущих там организмов. Предположим, что вода имеет равномерную мутность, а количество обитателей на каждом метре в глубину пропорционально количеству поступающего света.
а. Объясните, почему это приводит к модели вида , где обозначает количество света, проникшего на глубину метров.
б. В каком диапазоне должны находиться параметры этой модели, чтобы иметь физический смысл?
в. При и постройте график для .
г. Применима ли аналогичная модель к фильтрации света через полог леса? Применимо ли там предположение о «равномерной мутности»?
1.1.14. В таблице 1.3 приведены данные о численности обучающихся физмат школ.
а. Изобразите данные на графике. Соответствуют ли эти данные геометрической модели роста? Объясните почему да или почему нет, используя графические и численные методы оценки. Можете ли придумать факторы, которые приведут к отклонению от геометрической модели?
б. Используя данные только за 1980 и 1985 годы для оценки скорости роста геометрической модели, посмотрите, насколько хорошо результаты модели согласуются с данными последующих лет.
в. Вместо того, чтобы просто использовать данные 1980 и 1985 годов для оценки показателя роста числа школьников, найдите способ использовать все данные, чтобы получить то, что (предположительно) должно быть лучшей геометрической моделью. Проявите творчество. Есть несколько разумных подходов. Соответствует ли ваша новая модель данным лучше, чем модель из части (б)?
Таблица 1.3. Оценки числа школьников
Год Численность школьников (в 1 000 человек)
1980 213,260
1985 231,658
1990 245,976
1995 254,504
2000 263,368
2005 263,952
2010 302,690
2015 328,602
2020 359,980
1.1.15. Предположим, что популяция моделируется уравнением , где измеряется в единицах. Если решим измерить численность популяции в тысячах единиц, обозначив это число за , то уравнение, моделирующее популяцию, могло измениться. Объясните, почему модель по-прежнему будет простой . Подсказка: обратите внимание на то, что .
1.1.16. В данной задаче исследуем, как изменится модель, если изменить количество времени, представленное приращением переменной на единицу. Важно отметить, что эта ситуация не всегда имеет биологический смысл. Например, для организмов, таких как многие насекомые, поколения не перекрываются. Дрозофилы не воспитывают себе преемников. Но время их размножения имеет регулярное распределение, поэтому использование приращения времени меньшее, чем промежуток между двумя последовательными временами рождения, было бы бессмысленным. Однако для более сложных организмов, таких как люди, с перекрывающимися поколениями и практически непрерывным размножением, нет естественного ограничения на выбор значения приращения времени. Таким образом, популяции иногда моделируются с «бесконечно малым» приращением времени (т.е. дифференциальными уравнениями, а не разностными). Эта ситуация иллюстрирует связь между двумя типами моделей: дискретная и континуальная.
Пусть популяция моделируется уравнением , , где каждое приращение на 1 представляет собой прохождение 1 года.
а. Предположим, что захотели создать новую модель для этой популяции, где каждое приращение на 1 представляет 0.5 лет, а численность популяции теперь обозначается . При этом хотим, чтобы новая модель описывала те же популяции, что и первая модель, с интервалом в 1 год (таким образом, ). Следовательно, составляется таблица 1.4. Заполните строку в таблице так, чтобы рост был все еще геометрическим. Затем предложите уравнение модели, выражающее через .
Таблица 1.4. Изменение временных шагов в модели
0 1 2 3
A 2А 4А 8А
0 1 2 3 4 5 6
A 2А 4А 8А
б. Задайте новую модель, которая описывает с интервалом в 1 год, обозначив размер популяции за , в которой приращение на 1 представляло бы 0.1 года (то есть ). Предлагается начать решение с создания таблицы, аналогичной таблице из части (a).
в. Предложите модель, которая согласуется с на интервале в 1 год, но описывает численность популяции , где приращение t на 1 представляет собой h лет (таким образом, ). Очевидно, что может быть больше или меньше 1; та же формула опишет любую ситуацию.
г. Обобщите части (а–в). Объясните, почему, если исходная модель использует приращение времени 1 год и задается уравнением , то модель, описывающая те же популяции с интервалом в 1 год, но использующая приращение времени лет, будет задана уравнением .
д. Если теперь изменить обозначение временного интервала с на , то пункт (г) показывает, что . Если считать бесконечно малым, то получим . Проиллюстрировать тот факт, что можно выбрав несколько значений при малом и сравнив значения с . Этот результат легко доказать формально:
.
д. Докажите, что решением уравнения при начальном условии является .
Как это согласуется с формулой для выражения через и в модели разностного уравнения ? Специалисты часто называют в каждой из выведенных выше формул «конечной скоростью роста», в то время как называется «собственной скоростью роста».
Мальтузианская модель предсказывает, что рост числа обучаемых математиков будет экспоненциальным. Однако такое предсказание не может быть оставаться точным продолжительное время. Ведь экспоненциальные функции растут быстро и без ограничений; и, согласно такой модели, рано или поздно математиков окажется больше, чем количество атомов во Вселенной. Модель, разработанная в данном разделе, должна дополнительно учитывать какой-то важный фактор. Чтобы быть более реалистичными в моделировании, нужно пересмотреть предположения, которые вошли в модель.
Главный недостаток заключается в предположении о том, что параметры (доля выпускающихся молодых специалистов) и (доля уходящих на заслуженных отдых пенсионеров) для моделируемой численности одинаковы независимо от текущего значения (количество профессиональных математиков работоспособного возраста). На самом деле, когда число становится большим, из-за перенасыщения рынка интеллектуального труда разумно ожидать более высокий уровень и низкий . Комбинируя эти факторы, можно сказать, что по мере увеличения численности конечные темпы её роста должны уменьшаться. Поэтому нужно как-то модифицировать модель так, чтобы темпы роста зависели от текущей численности; то есть скорость роста должна зависеть от так называемой «плотности».
Вопросы для самопроверки:
– Какие факторы могут стать причиной изменения плотности? Почему большое значение численности может иметь высокий уровень и/или низкий ?
Для создания нелинейной модели, чтобы спроектировать более адекватную модель, проще всего сфокусироваться на относительной величине , показывающей долю изменения численности на общее число, то есть на темпе роста популяции за один шаг времени. Как только поймем от чего зависят темпы роста общей численности на одного человека и найдем формулу для их описания, сможем получить из этого итоговую формулу для .
При небольших значениях темпы роста на человека должны быть большими, можно представить себе небольшой элитарный клуб интеллектуалов с большим количеством ресурсов, доступных в его среде для поддержки дальнейшего роста численности. Однако для больших значений дальнейшая скорость роста численности должна быть намного меньше, поскольку люди конкурируют как за идеи, так и за финансы в сфере их профессиональных интересов. Для еще больших значений темпы роста должны быть отрицательными, это будет означать, что численность сократится. Тогда разумно предположить, что искомая величина , как функция от , имеет график, представленный на рисунке 1.1.
Рисунок 1.1. Темпы роста численности в зависимости от текущего значения численности .
Конечно, нельзя предугадать, как выглядит график без сбора дополнительной информации. Возможно, график должен быть вогнутым или выпуклым, например. Тем не менее, это лишь первая попытка создать новую модель.
Вопросы для самопроверки:
– Постройте график темпов роста значений численности по мальтузианской модели. Чем тот график отличается от изображенного на рисунке 1.1?
Для мальтузианской модели , поэтому тот график темпов роста представляет собой горизонтальную линию и снижения по мере увеличения не происходит. С другой стороны, наклонная линия рисунка 1.1 улучшенной модели приводит к формуле , для некоторых и . В конечном итоге закономерность проявится яснее если записать уравнение прямой как , где – абсцисса точки пересечения горизонтальный оси, – ордината пересечения вертикальной. Заметим, что и должны быть положительными. Через алгебраические выкладки получим новое разностное уравнение . Эта модель обычно называется «дискретной логистической моделью» или «дискретным логистическим уравнением», хотя, к сожалению, многие модели называются также.
Параметры и в этой модели имеют физические и биологические интерпретации. Во-первых, если , то . При положительных темпах роста на душу населения население будет увеличиваться. С другой стороны, если , то . При отрицательных темпах роста на душу населения численность населения будет сокращаться. Поэтому называют несущей способностью окружающей среды, потому что она представляет собой максимальное количество особей, которые могут поддерживаться в течение длительного периода. Однако, когда население незначительно (т.е. намного меньше, чем ), множитель устремляется в 1. Поэтому для малых значений модель аппроксимируется приближенными значениями .
Другими словами, играет роль , в вышеописанной линейной модели. Параметр просто отражает то, как популяция будет расти или уменьшаться в отсутствие факторов, зависящих от плотности, когда численность намного ниже предельного значения. Как правило называют конечной внутренней скоростью роста. Термин «внутренний» относится к отсутствию внешнего воздействия, зависящего от плотности, а термин «конечный» подчеркивает тот факту, что используются временные шаги конечного размера, а не бесконечно малые временные шаги дифференциального уравнения.
Вопросы для самопроверки:
– Какие значения можно ожидать от и в случае, когда захотите смоделировать численность ежегодно поступающих на физико-математические факультеты омских ВУЗов?
Как вы увидите в задачах ниже, существует много способов, которыми разные авторы формируют логистические модели, в зависимости от того, смотрят ли на или , используют ли различные множители. Ключевым моментом, который поможет распознать нелинейную модель, является то, что и , и выражаются как квадратные трехчлены от . Кроме того, эти многочлены не имеют свободного члена (т.е. члена нулевой степени). Таким образом, логистическая модель является простейшей нелинейной моделью, которую можно придумать. Как и в случае с линейной моделью, первым шагом в понимании этой модели является выбор некоторых конкретных значений для параметров и , а также для начальной численности и вычисление следующих значений . Например, выбирая и так, что и , получаем таблицу 1.5.
Таблица 1.5. Популяционные значения из нелинейной модели
t 0 1 2 3 4 5 6 7 8 9 10
2.0117 3.2972 5.0653 7.0650 8.7238 9.6145 9.9110 9.9816 9.9963 9.9993 9.9999
Вопросы для самопроверки:
– Какой смысл могут иметь популяции, значения которых не являются целыми числами?
Если измерять размер популяции в единицах, таких как тысячи или миллионы особей, то нет никаких оснований для того, чтобы популяции были целыми числами. Для некоторых видов, таких как коммерчески ценные рыбы, может быть даже целесообразно использовать единицы массы или веса, такие как тонны.
Другая причина, по которой нецелочисленные значения популяции не вызывают опасения, даже если используем поштучные единицы измерения, заключается в том, что пытаемся лишь приблизительно описать размер популяции. Нет ожидания того, что модель даст точные прогнозы. Пока числа невелики, можно просто игнорировать дробные части без значительных потерь.
В таблице 1.5 видим, что популяционное значение увеличивается до пропускной способности 10, как и ожидалось. Сначала это увеличение кажется медленным, затем оно ускоряется, а затем снова замедляется. Построение значений популяции на рисунке 1.2 показывает сигмовидную картину, которая часто появляется в данных тщательно контролируемых лабораторных экспериментов, в которых популяции увеличиваются в ограниченной среде. График показывает значения популяции, связанные сегментами линий, чтобы сделать шаблон более ясным, хотя дискретные временные шаги нашей модели действительно дают популяции только в целочисленное время. Таким образом, с интуитивной точки зрения мы добились определенного прогресса; у нас есть более реалистичная модель для описания роста населения или численности выпускников физико-математических специальностей.
Рисунок 1.2. Популяционные значения из нелинейной модели.
Однако с математической точки зрения не всё так хорошо. В отличие от линейной модели, нет очевидной формулы для , которая возникала бы из составленной таблицы. На самом деле, единственный способ получить значение , по-видимому, заключается в создании таблицы с сотней записей в ней. Утратилась легкость, с которой можно было бы предсказывать будущие значения популяции.
Это то, с чем приходится мириться: хотя нелинейные модели более реалистичны, зачастую не представляется возможным получение явных формул для решения нелинейных дифференциальных уравнениях. Вместо этого используются графические методы и численные эксперименты для того, чтобы получить общее представление о поведении модели.
Первый из таких методов называется «Паутина». Паутина является основным графическим методом для понимания математической модели дискретного логистического уравнения. Это лучше всего проиллюстрировать на примере.
Рассмотрим еще раз модель , . Начнём с построения графика параболы, определенной уравнением, выражающим через , а также диагональной линии , как показано на рисунке 1.3. Так как популяция начинается с , отмечаем это значение на горизонтальной оси графика. Теперь, чтобы найти , просто двигаемся вертикально вверх по графику параболы, чтобы найти точку , как показано на рисунке.
Далее хотелось бы найти , но для этого нужно отметить на горизонтальной оси. Самый простой способ сделать это – двигаться горизонтально от точки до диагональной линии. Когда достигнем диагональной линии, окажемся в , так как сохранили ту же вторую координату, но изменили первую координату. Теперь, чтобы найти , просто двигаемся вертикально назад к параболе, чтобы найти точку . Теперь это просто вопрос повторения этих шагов навсегда: двигаться вертикально к параболе, затем горизонтально к диагональной линии, затем вертикально к параболе, затем горизонтально к диагональной линии и так далее.
Рисунок 1.3. Паутинная диаграмма нелинейной модели.
Судя по графику ясно, что если начальная популяция лежит в диапазоне от 0 до , то модель с и приведёт к постоянно растущему значению популяции, которое приближается к предельному значению пропускной способности равному 10.
Если оставить те же значения и , но положить , то паутина будет выглядеть так, как показано на рисунке 1.4.
Рисунок 1.4. Паутинная диаграмма нелинейной модели.
Действительно, становится ясным, что если имеет значение больше, чем , то наблюдается немедленное падение численности популяции. Если такое падение окажется ниже критического, то произойдёт постепенное увеличение, приближающееся обратно к предельному значению пропускной способности модели.
Вопросы для самопроверки:
– Для модели найдите отличное от нуля значение , соответствующее абсциссе точки пересечения параболы с горизонтальной осью, то есть имеющей ординату .
– Что произойдет, если выбрать больше, чем значение, найденное в предыдущем вопросе?
Если популяция становится отрицательной, то мы должны интерпретировать это как вымирание.
На этом этапе можно узнать гораздо больше, изучая логистическую модель с помощью калькулятора или компьютера, чем просто прочитав текст. Упражнения ниже помогут в этом. На самом деле обнаружится, что логистическая модель имеет некоторые сюрпризы, которые вы, возможно, не ожидаете.
Задачи для самостоятельного решения:
1.2.1. Пусть и . С помощью калькулятора составьте таблицу популяционных значений для . Изобразите полученные результаты на графике.
1.2.2. В модели , какие значения приведут к тому, что окажется положительным? Отрицательным? Какой смысл это имеет?
1.2.3. Повторите решение задачи 1 в MATLAB с помощью команд аналогичных следующим:
p=1; x=p
for i=1:22; p=p+.3*p*(1-p/15); x=[x p]; end
plot([0:22], x)
Объясните, как это работает.
1.2.4. Используя следующую программу onepop.m для MATLAB при различных значениях , исследуйте долгосрочное поведение модели , где . Возможно, придется изменить количество шагов, с которыми вы запускаете модель, чтобы изучить некоторые из вариантов.
% onepop.m
%
% Модель популяции одного вида
%
% У пользователя запрашивается уравнение, определяющее модель. Затем, кликнув
% по начальной численности популяции на графике, динамика популяции как функция
% от времени будет изображена в виде графика. После выполнения симуляции
% при нажатии клавиши 'd' числовые данные отобразятся в командное окно MATLAB.
%
p=0; % инициализация переменной популяции для формулы
%
disp(' ')
disp(' Введите формулу, определяющую модель популяции, обозначая за "p"')
disp('численность популяции: (Например: следующее_p = p+.8*p*(1-p/10) )')
next_p=input ('следующее_p = ','s');
%
p=eval(next_p); % тестируемая формула
%
disp(' ')
disp(' Введите диапазон популяции, который будет отображаться на графике:');
limits=input('(Значение по умолчанию [pmin pmax] = [0 20]) ');
if isempty(limits) limits=[0 20]; end;
%
disp(' ')
n=input(' Введите количество шагов для итерации: (по умолчанию n = 20) ');
if isempty(n) n=20; end;
%
disp(' ')
disp(' Наведите курсор на график, чтобы выбрать начальную популяцию и')
disp('кликните для рисования. Нажмите `d'', чтобы отобразить значения популяции')
disp('в командном окне. Нажмите любую другую клавишу, чтобы выйти.')
disp(' ')
disp(' Нажмите любую клавишу, чтобы начать.')
pause
%
figure; % настроить отображение нового графика
axis([ [0 n] limits]); grid on;
xlabel('Время');ylabel('Популяция P');
title(['следующее\_p=',next_p]);
hold on; % сохранение линий на графике при добавлении новых
%
times=[0:n]; % генерировать вектор времени для построения графика
%
newcontinue=1;
while newcontinue % цикл, пока не будет нажата не левая кнопка
[t,p,button]=ginput(1); % получить начальную численность популяции
if button==1
pops=p;
for i=1:n % построить вектор итерационных значений популяции
p=eval(next_p);
pops=[pops,p];
end
plot(times,pops); % график зависимости численности популяции от времени
else
newcontinue=0; % флаг выхода из цикла
if button==100
[times;pops]' % отобразить время и численность в командном окне
newcontinue=1; % повторить цикл снова после отображения значений
% если пользователь нажимает `d' для отображения
end
end
end
%
hold off % возвращает режим автоматической очистки графика
1.2.5. Наиболее распространенными способами записи уравнения дискретного логистического роста являются: , , , .
Представьте каждую из следующих моделей в четырех основных формах записи.
а.
б.
1.2.6. Дано уравнение модели
а. Постройте график функции от с использованием MATLAB путем ввода команды:
x=[0:.1:12]
y=.8*x.*(1-x/10)
plot(x,y)
б. Постройте график функции от путем изменения команд MATLAB из части (а).
в. Вычислите значения для при . Затем на графике из части (б) постройте паутину, начинающуюся с . Можно добавить линию на графике, введя команды
hold on, plot(x,y,x,x)
Полученная паутинная диаграмма достаточно точно соответствует таблице значений?
1.2.7. Если бы данные в таблице 1.6 о численности популяции были собраны в ходе лабораторного эксперимента, описывались бы они хотя бы приблизительно логистической моделью? Объясните почему. Если данные описываются логистической моделью, то можете ли оценить и в модели ?
Таблица 1.6. Значения численности популяции
0 1 2 3 4 5 6 7 8 9 10
1,94 3,04 4,62 6,72 9,26 11,88 14,08 15,52 16,26 16,60 16,72
1.2.8. Предположим, что популяция моделируется уравнением когда измеряется поштучно.
а. Найдите уравнение той же формы, описывающее ту же модель, но с популяцией, измеряемой в тысячах штук. Подсказка: пусть , тогда и можно найти формулу для описания зависимости от .
б. Найдите уравнение той же формы, описывающее ту же модель, но для популяции, измеряемой в единицах, выбранных таким образом, чтобы пропускная способность составляла 1 в этих единицах. Для начала определите пропускную способность исходной модели.
1.2.9. Метод построения паутинной диаграммы для изучения итерированных моделей не ограничивается только моделированием логистического роста, описанного выше. Определите графически популяции в каждой из моделей на рисунке 1.5 выполнив шесть итераций приращения, используя отмеченные начальные значения численности популяции .
а.
б.
в.
г.
Рисунок 1.5. Паутинные диаграммы для задачи 1.2.9.
1.2.10. Приведите формулу для графика, изображенного в части (а) рисунка 1.5. Как называется такая модель?
1.2.11. Некоторые из одних и тех же идей и моделей, используемых в исследованиях популяций, появляются в совершенно неожиданных научных областях.
a. Часто химические реакции протекают со скоростью, пропорциональной количеству участвующего в реакции вещества. Предположим, что используется очень малый временной интервал, чтобы смоделировать такое действие разностным уравнением. Пусть общее количество химических веществ участвующих в реакции равно , и то первое химическое вещество, которое изначально имеется в количестве , преобразуется во второе химическое вещество, которое получается в количестве в момент времени . Опираясь на свои школьные знания, объясните, почему . Какие значения являются допустимыми? Какой смысл имеет ? Как выглядит график функции от ?
b. Химические реакции называются автокаталитическими, если скорость, с которой они происходят, пропорциональна как количеству сырья, так и количеству продукта, тот есть продукт реакции отказывается её катализатором. Модно снова использовать очень малый интервал времени для моделирования такого действия, но уже с помощью другого уравнения. Пусть общее количество химических веществ участвующих в реакции равно и то одно химическое вещество преобразуется в другое химическое вещество, которое получается в количестве . Объясните, почему в данном случае . Если мало, но не равно нулю, то как будет выглядеть график функции от ? Если , то как будет выглядеть график функции от ? Можете ли интуитивно объяснить форму полученного графика? Обратите внимание на тот факт, что будет очень маленьким, потому что используется небольшой интервал времени. Модель логистического роста в таких случаях иногда также называют автокаталитической моделью.
Заметим, что пришедшая из химии автокаталитическая модель применима, среди прочего, для моделирования динамики трудовой миграции в сфере математического образования.
В отличие от простой линейной модели, описывающей экспоненциальный рост, нелинейные модели, такие как дискретная логистическая, могут описывать достаточно сложную динамику поведения. Без сомнения, это стало заметным в ходе выполнения некоторые упражнений из предыдущего раздела.
В этом разделе рассмотрим несколько конкретных типов поведения и разработаем простые инструменты для их изучения.
Начнём с моделирования таких явлений, как переходные процессы, равновесие и стабилизация. Полезно выделить несколько аспектов, связанных с поведением динамической модели. Иногда, несмотря на первоначальную уникальность, после того как прошло много шагов, поведение модели становится шаблонным. Первые несколько шагов итерации, однако, могут не указывать на то, что подобное произойдет в долгосрочной перспективе. Например, с дискретной логистической моделью и большинство начальных значений , первые несколько итераций модели производят относительно большие изменения в по мере дальнейшего приближения к 10. Таким образом, подобное поведение на ранней стадии называется переходным, потому что оно в конечном итоге сменяется другим поведением. Однако это не означает, что переходные процессы не вызывают интереса, поскольку реальные популяции вполне могут переживать кризисные ситуации, которые продолжают возвращать популяцию обратно на переходный этап.
Как правило, исследователей интересует долгосрочное поведение модели. Причина этого заключается в том, что изучаемая система не должна быть разрушена раньше, чем прекратятся переходные процессы. Часто, но далеко не всегда, долгосрочное поведение не зависит от точной численности исходной популяции. В модели , долгосрочное поведение для большинства начальных значений заключается в том, что популяция становится очень близкой к . Заметим, что если , то , следовательно в дальнейшем численность популяции никогда не поменяется. Таким образом, является равновесием (или стационарной, фиксированной точкой) модели.
Определение. Равновесным значением для модели является значение такое, что . Это эквивалентно тому, что для модели существует значение такое, что .
Нахождение равновесных значений сводится к решению уравнения равновесия. Для модели , решив уравнение видим, что существует ровно два равновесных значения: и .
Вопросы для самопроверки:
– Графически тоже можно найти равновесия, выполнив поиск пересечения кривой с диагональной прямой. Почему это так?
Тем не менее, Равновесие все еще может иметь различные качественные особенности. В примере выше и являются равновесиями, но популяция, близкая к 0, имеет тенденцию отходить от 0, тогда как популяция близкая к 10 имеет тенденцию двигаться к 10. Таким образом, 0 является неустойчивым или отталкивающим равновесием, а 10 является стабильным или притягивающим равновесием.
Предположим, что модель близка к описанию реальной популяции, стабильные равновесия – это те, которые можно наблюдать не только в живой природе. Поскольку любая система, вероятно, будет иметь небольшие отклонения от идеальной модели, даже когда популяция находится в состоянии равновесия, ожидается, что она будет меняться, по крайней мере, благодаря тем факторам, которые исключены из модели или изначально не принимались во внимание. Однако, отклоняясь на небольшое расстояние от стабильного равновесия, наблюдаемое значение будет возвращаться к нему обратно. С другой стороны, если происходит отклонение от неустойчивого равновесия, то наблюдаемое значение остается в стороне. Хотя нестабильные равновесия важны для понимания модели в целом, они не являются характерными особенностями популяции, которые стоит когда-либо ожидать в реальном мире.
Далее займёмся вопросами линеаризации. Следующая цель – определить, что заставляет одни равновесия быть стабильными, а другие – нестабильными.
Стабильность зависит от того, что происходит вблизи равновесия. Итак, чтобы сконцентрироваться в окрестности , рассмотрим популяцию , где – очень маленькое число, которое говорит о том, насколько далеко популяция находится от состояния равновесия. Называется отклонением от равновесия и интересно тем, как оно меняется с течением времени. Вычислим и используем его для поиска . Если больше, чем по абсолютной величине, то можно сделать вывод о том, что отдалилось от . Если наоборот, меньше по абсолютной величине, то приблизилось к . Если теперь проанализировать, как меняется на всех достаточно малых значениях , то можно будет определить, является ли исследуемое равновесие стабильным или нестабильным. Растущее отклонение означает нестабильность, в то время как уменьшающееся означает стабилизацию. Здесь не учитывается знак отклонения, рассматривая лишь абсолютное значение. Знак стоит принимать во внимание в последнюю очередь, так как он не имеет прямого отношения к вопросу о стабильности.
Пример. Рассмотрим модель , с которой уже сталкивались ранее и знаем, что равновесие достигается в точках и 10. В первую очередь исследуем , которое, судя по графику, стабилен на основании численных экспериментов. Подстановка значений и в уравнение для модели приводит к следующему выводу:
Заметим, что является очень малым числом, меньше 1, следовательно, еще меньше и ничтожно мало по сравнению с . Таким образом .
Это означает, что значения близкие к равновесию будут иметь отклонение от равновесия, уменьшающееся примерно в 0.3 раза с каждым последующим шагом времени. Поэтому небольшие отклонение от равновесия в дальнейшем уменьшаются и действительно стабильное значение.
Можно смотреть на число 0.3 как на «коэффициент растяжения», который говорит о том, насколько стремительно меняются отклонения от равновесия с течением времени. В данном примере, поскольку растягиваемся в менее чем 1 раз, на деле имеет место сжатие.
Процесс, описанный в примере выше, называется линеаризацией модели в равновесии, потому что сначала фокусируем внимание вблизи равновесия путем линейной замены , а затем игнорируем члены степени больше 1 в . Остается только линейная модель, аппроксимирующая исходную модель. Линейные модели, как видели, легко понять, потому что они производят либо экспоненциальный рост, либо распад.
Вопросы для самопроверки:
– Выполните аналогичный анализ для другого равновесия этой модели, чтобы показать, что оно нестабильно. Каким будет коэффициент растяжения, на который расстояния от точки равновесия растут с каждым шагом времени?
В результате аналогичного анализа в окрестности 0 обнаружится, что линеаризация при дает . Поэтому возмущения от этого равновесия со временем растут, следовательно, неустойчиво. В общем случае, когда коэффициент растяжения больше 1 по абсолютной величине, равновесие нестабильно. И наоборот, когда оно меньше 1 по абсолютной величине, равновесие стабильно.
Из курса математического анализа известно, что вышеописанный процесс линеаризации напоминает аппроксимацию графика функции по касательной прямой. Развивая эту идею коэффициент растяжения в предыдущем примере можно было бы выразить как отношение при бесконечно малых значениях . Но , где уравнение, определяющее модель. Заметим, что в последнем равносильном преобразовании использовалось равенство . Поскольку интересны лишь значения , очень близкие к , то последнее выражение очень близко к предельному значению . Но этот предел по определению является не чем иным, как производной , производной функции, определяющей модель. Итак, мы доказали следующую теорему.
Теорема. Если модель имеет равновесное значение , то подразумевает, что значение нестабильно, а при , будет стабильным значением. Если же , то этой информации недостаточно для определения стабильности и необходимо проводить дополнительное исследование.
Пример. Пусть , тогда . Вычислим . Следовательно, , поэтому стабильно.
Обратите внимание, что в этом примере значение, которое нашли для , оказалось точно таким же, как значение, которое нашли для «коэффициента растяжения» в примере выше, без использования инструментов дифференциального исчисления. Это, конечно, должно было произойти, потому что то, что привело к производной, изначально было более тщательным исследованием «методом пристального всматривания». Таким образом, производную можно интерпретировать как меру того, насколько быстро функция меняет свои значения.
Поскольку использовался формализованный подход, то есть записывались формулы и уравнения, для иллюстрации тесной связи между понятиями производной и стабилизацией поведения модели, настоятельно рекомендуется решить задачи с 1.3.1 по 1.3.3 в конце раздела, чтобы представить обнаруженную связь графически.
Почему важны как графический, так и аналитический подходы к определению стабильности? Первый является наиболее интуитивным и делает основные идеи наиболее ясными. Что можно было наблюдать на примере. Но слабость такого подхода в том, что он действенен лишь для моделей, включающих простые алгебраические формулы. Если бы в уравнении модели присутствовали экспоненты или другие сложные функции, алгебраические средства оказались бессильны. Когда модель усложняется, математический анализ становится прекрасным подручным инструментом для профессионального исследователя.
При линеаризации для определения стабильности очень важно сосредоточиться на равновесии. Даже не пытайтесь определить является ли точка стабильным или нестабильным равновесием, пока не убедитесь в том, что это точка является равновесием в принципе. Последующий анализ предполагает, что точка удовлетворяет равенству . Например, если бы попытались линеаризовать для в предыдущем примере, то не смогли бы ничего сделать, потому что 11 не является точкой равновесия.
Наконец, также важно, что проведённый анализ стабильного и неустойчивого равновесия, был локальным, а не глобальным. Эта устоявшаяся терминология означает, что рассмотрели лишь то, что происходит в очень небольших окрестностях вокруг точки равновесия. Хотя устойчивое равновесие будет притягивать все близлежащие значения, это не означает, что значения расположенные далекого тоже должны стремиться именно к нему. Точно так же, как несмотря на то нестабильность равновесие, нельзя утверждать, что далёкие от него значения не будут к нему стремиться или не окажутся вовсе ему равными.
Далее рассмотрим такие явления в динамическом моделировании как колебания, бифуркации и хаос. В задаче 1.2.4 предыдущего раздела исследовалось динамическое поведение логистической модели для K = 10 при множестве значений r. На самом деле, параметр в модели не очень важен; можно выбрать единицы, в которых измеряется численность популяции так, чтобы пропускная способность стала равна 1. Например, если пропускная способность составляет 10 000 штук, то можно использовать масштабную единицу равную 10 000, и тогда получится . Это наблюдение позволяет подробно сосредоточиться на том, как параметр влияет на поведение модели.
Зафиксировав , для любого значения логистическая модель имеет два равновесных значения, 0 и 1, так как это единственные значения , которые приводят к . Как увидите в ходе решения задач чуть позже, «коэффициент растяжения» при будет равен , а при равен . Поэтому всегда является неустойчивым равновесием для .
Случай гораздо интереснее. Во-первых, когда , что равносильно , модель имеет стабильное равновесие в точке . Формула показывает, что знак при этом никогда не изменится; хотя отклонение уменьшается, первоначально положительное отклонение остается положительным, а изначально отрицательное – отрицательным. Популяция просто движется к равновесию, никогда не превышая его.
Далее, когда увеличивается настолько, что , то и равновесие будет все еще стабильным. Однако, теперь видим, что так как , то знак будет чередоваться между положительным и отрицательным значением по мере увеличения . Таким образом, можно видеть колебательное поведение выше и ниже точки равновесия, поскольку отклонение от равновесного значения имеет чередование знака. Таким образом, популяция приближается к равновесию как затухающее колебание.
Подумаем о том, почему такое колебание может произойти с точки зрения моделируемой популяции. Если , мера скорости воспроизводства новых ленов популяции, достаточно велика, то популяция ниже пропускной способности окружающей среды может за один временной шаг своего развития временно вырасти настолько, что превысит пропускную способность. Как только численность превышает пропускную способность, популяция вымирает достаточно быстро, чтобы к следующему шагу она снова оказалась ниже пропускной способности окружающей среды. Но затем её численность снова вырастет настолько, чтобы превзойти критическое значение. Как будто популяция перенастраивается и адаптируется заново на каждом временном интервале.
Если параметр логистической модели окажется больше только что рассмотренных значений, то популяция не приблизится к равновесию. Когда , получится и поэтому ранее устойчивое равновесие становится неустойчивым. Таким образом, происходит резкое качественное изменение поведения численности популяции по мере дальнейшего увеличения параметра . Отсюда возникает интересный вопрос, каковы возможности модели с двумя неустойчивыми равновесиями и без устойчивых. Какое поведение тогда можно ожидать в долгосрочной перспективе?
Компьютерный эксперимент показывает, что для значений чуть больше 2 популяция попадает в 2-цикл, её численность бесконечно прыгает взад и вперед между значением выше 1 и значением ниже 1. По мере дальнейшего увеличения значения в 2-цикле меняются, но наличие 2-цикла сохраняется до тех пор, пока не достигнем другого значения , при котором происходит еще одно внезапное качественное изменение. На этот раз видим, что 2-цикл становится 4-циклом. Дальнейшее увеличение производит 8-циклы, затем 16-циклы и так далее.
Эта модель приводит к неожиданному, но интересному выводу: одна и та же популяция может демонстрировать разные циклы в своей численности, даже когда окружающая среда совершенно неизменна. Считая, что теоретические предположения в построении математической модели были верны и популяция имеет достаточно большое значение , на практике она может никогда не достигать ни одного из теоретически существующих равновесных значений.
Хороший способ понять влияние изменения параметра на рассматриваемую модель заключается в изображении диаграммы бифуркации на рисунке 1.6. В Maple это изображение легко получить следующей серией команд:
with(IterativeMaps):with(ImageTools):
Logistic := Bifurcation([x], [x + r*x*(1 – x)], [0.99], 1.5, 3):
ArrayTools:-Dimensions(Logistic)
ColouringProcedures:-HueToRGB(Logistic):Embed(Logistic)
Рисунок 1.6. Бифуркационная диаграмма логистической модели . По горизонтальной оси слева направо меняется значение параметра , а по вертикальной снизу вверх отложены циклические аттракторы значений соответствующей популяции.
Рисунок 1.6 получен следующим образом. Для каждого значения на горизонтальной оси выбирается некоторое значение и выполняется итерация модели на несколько временных шагов, чтобы пройти этап переходного процесса, например, раз 200. На практике это означает повторение итераций столько раз, пока не надоест. Затем продолжаются итерации на серии дополнительных шагов, раз 100, но теперь все значения наносятся на вертикальную ось над конкретным используемым . Это значения будут концентрироваться вокруг своеобразных точек притяжения, формируя так называемые циклические аттракторы.
Чтобы проиллюстрировать процесс для дискретной логистической модели, положим . Тогда, независимо от , после первого набора большого числа итераций, будет очень близок к стабильному равновесию . Таким образом, когда строим следующий набор из многих итераций, просто многократно строим точки, которые будут выглядеть так, будто они находятся в . На рисунке 1.6 точки фрагмента этой горизонтальной прямой выделены розовым цветом.
Если теперь продолжить процесс построения диаграммы при чуть большем чем 2, то первый набор итераций устремляет значения в 2-цикл, и затем, когда строится график на последующем наборе итераций, появляются точки, которые циклически перескакивают назад и вперед между двумя значениями, поэтому кажется, будто построили две точки. На рисунке 1.6 точки сформировавшихся в результате ветвей выделены синим.
На этой диаграмме заметно несколько особенностей. Во-первых, интервал значений , через который получаем -цикл, будет короче, чем для предыдущего -цикла. Таким образом, как только становится достаточно большим, небольшие дополнительные увеличения его значения имеют более радикальные последствия.
Во-вторых, если продолжает увеличиваться после определенной точки (≈2.692…), на рисунке 1.6 этот фрагмент подсвечен красным, то все бифуркации на -циклах произошедшие ранее начинают смешиваться, обнаруживается принципиально иной тип поведения аттракторов. Создается впечатление, что предельные значения модели изменяются более или менее случайным образом. Однако такое поведение, конечно, не случайно – существует полностью детерминированная формула, воспроизводящая его. Техническая терминология для описания того, что произошло, заключается в том, что поведение модели стало хаотичным. Выбор слова «хаос» для описания этого процесса, возможно, неудачен, поскольку вызывает ассоциацию с элементами случайности и изначальной путаницы, которых на самом деле нет. Тем не менее, данная математическая модель прекрасно находит себе практическое применение в современных цифровых криптосистемах и аналоговых системах радиоэлектронной борьбы, поскольку достаточно просто реализуется на аппаратном уровне.
Подобный «хаос» в действительности имеет довольно точное техническое определение, но не будем его приводить. Вместо этого просто неформально укажем на два требования, которые математики предъявляют к употреблению этого слова: 1) модель должна быть детерминированной, то есть в ней не может быть случайности; и 2) прогнозы модели чрезвычайно чувствительны к начальным условиям.
Чтобы увидеть, как именно дискретная логистическая модель проявляет свою хаотичность, например, зафиксировав , достаточно проиллюстрировать проявление второго требования. На рисунке 1.7 показаны значения , которые возникают из двух разных, но достаточно близких друг к другу значений и .
Рисунок 1.7 Результаты роста значения , полученные из двух близких начальных значениях для логистической модели при .
Обратите внимание на тот факт, что, хотя популяции и изменяются похожим образом в течение нескольких первых шагов, после этого они становятся полностью различимыми. В результате для такой пары значений наблюдается чрезвычайная чувствительность модели к начальным условиям. Конечно, это не является доказательством чего-либо, и вполне возможно, что такое поведение было просто последствием череды ошибок компьютерного округления. Однако математиками строго доказано, что это подлинный «хаос».
Возможность хаотического поведения в такой простой популяционной модели, как дискретная логистическая, вызвала большой ажиотаж в 1970-х годах, когда она была впервые опубликована в работе Мэй от 1978 года. Если бы такая простая модель смогла воспроизводить сложное поведение любой динамической системы, то от гипотезы о том, что сложная динамическая система может возникать лишь из сложных взаимодействий и флуктуаций окружающей среды пришлось бы отказаться. Дальнейшая работа Мэй с сотоварищами по вычислению соответствующих значений таких параметров, как , в математических моделях на основании лабораторных и реальных популяциях насекомых заставила их усомниться в том, что хаотическое поведение действительно наблюдается в реальной динамике живых популяций. Тем не менее, исследование эпидемий кори в Нью-Йорке действительно предполагало возможность контролируемого хаоса. Однако эпидемический паротит и ветряная оспа, как оказалось, вели себя отнюдь не хаотично. Хотя та работа все еще не теряет актуальности, существует очень мало данных высокого качества и достаточно длительной продолжительности, чтобы в действительности проверить ключевую идею. В последнее время основное внимание уделялось демографическим моделям, более сложным, чем логистические. Фактически, в 1996 году Кушинг и др. объявили о первом открытии реальной популяции, лабораторной популяции мучного жука триболия, которая демонстрировала хаотическую динамику и опубликовали этот результат в 2001 году.
Задачи для самостоятельного решения:
1.3.1. Точки равновесия модели располагаются там, где график зависимости от пересекает прямую линию . Предположим, что фокусируемся на участке графика вокруг точки равновесия и увеличиваем масштаб так, чтобы график функции от казался прямой линией. В каждой из моделей, показанных на рисунке 1.8, решите, является ли равновесие стабильным или нестабильным, выбрав значение близкое к устойчивому состоянию, а затем изобразите паутинную диаграмму.
а.
б.
в.
г.
Рисунок 1.8. Заготовки паутинных диаграмм для задачи 1.3.1.
1.3.2. Исходя из приведенной выше задачи, в каком диапазоне должен находиться наклон графика функции от в точке равновесия, чтобы обеспечить стабильность? Неустойчивость? Подсказка: возможно, захотите подумать об особых случаях, взяв наклон сначала −1, а затем 1.
1.3.3. Средствами математического анализа сформулируйте ответ на предыдущую задачу на языке производных: если является точкой равновесия модели , то она стабильна, когда выполнено следующее условие _________________ .
1.3.4. С точки зрения математики, имея дело с логистической моделью роста , всегда можно выбрать единицы, в которых измеряется так, чтобы .Таким образом, можно рассматривать уравнение , имеющее только один параметр , а не два. Исследуйте долгосрочное поведение этой модели для различных значений , начиная с .5 и постепенно увеличивая его, используя программу onepop.m для MATLAB из задачи 1.2.4. При каких значениях обнаруживается сходимость к равновесию без колебаний? А при каких сходимость к равновесию осуществляется с колебаниями? При каких появляется 2-цикл? А при каких – цикл длины 4?
1.3.5. В предыдущем упражнении обнаружили, что по мере увеличения после значения 2 популяция перестанет стремиться к и вместо этого попадет в цикл длины 2 и более.
а. Покажите, что, несмотря на срыв модели в 2-цикл, единственными точками равновесия по-прежнему являются и 1.
б. Если попадает в 2-цикл, то . Поэтому, возможно, стоит найти формулу для выраженного через . Сделайте это для и . Ответ должен оказаться многочленом четвертой степени.
в. Можно ли использовать полученные результаты из части (б) для поиска аналитических формул точек равновесия в 2-цикле, приравняв ? Попробуйте. Не всё может получиться с первого раза, но, по крайней мере, попробуйте объяснить те сложности, с которыми столкнулись.
1.3.6. Для каждого из следующих пунктов определите точки равновесия.
а.
б.
в.
г.
д.
1.3.7. Для пунктов (а–д) из предыдущей задачи алгебраическими преобразованиями линеаризуйте модель сначала на устойчивом состоянии 0, а затем на другом устойчивом состоянии для определения типа их устойчивости.
1.3.8. Вычислите все точки равновесия модели . Затем используйте чисто алгебраические средства для линеаризации в каждой из этих точек, чтобы определить, когда они стабильны или нестабильны.
1.3.9. Средствами математического анализа повторите решение предыдущей задачи используя производные для определения устойчивости равновесий . Конечно, должны получиться те же ответы.
1.3.10. Несколько иной подход к поиску соотношения между производными и стабильностью заключается в следующем: найдите приближение касательной прямой к в точках равновесия и . После этого замените найденными линейными приближениями в уравнении . Используйте это для определения типа стабильности точек равновесия. Полученный результат должен совпадать с ответами из двух предыдущих задач.
1.3.11. Моделирование многих социальных процессов связано с диффузией. Даже на уровне математических идей их взаимное проникновение между самыми разными отраслями очень заметно. Простым примером является найм выпускников математических специальностей на работу программистами (верно и обратное, квалифицированные программисты как правило дополнительно получают качественную математическую подготовку). Простая модель представляет социальную группу программистов как единый пул с концентрацией незаурядных умов , а группу профессиональных математиков как смежный отдел с концентрацией умов . Если для простоты предположить, что оба интеллектуальных пула имеют единичный объем, то в течение фиксированного промежутка времени на одной итерации найма новых сотрудников общее количество сотрудников окажется неизменным. Если представить себе очень маленький фиксированный интервал времени, то увеличение за этот временной интервал будет пропорционально разности между и . То есть . Этот экспериментальный факт иногда называют законом Фика.
а. В каком диапазоне должен быть параметр , чтобы эта модель имела смысл?
б. Используя тот факт, что , формализуйте модель так, оставив лишь два параметра, и , чтобы выразить через .
в. Для , , и различных вариантов значений , исследуйте модель с помощью программы onepop.m для MATLAB из задачи 1.2.4. Как изменится поведение модели, если использовать другое значение ?
г. Алгебраическим путём найдите точку равновесия (выразив её через и ) для этой модели. Согласуется ли это с тем, что вы видели в части (в)? Можете ли объяснить результат интуитивно?
д. Пусть . Перепишите модель в виде зависимости от , отклонения значений от точки равновесия, путем подстановки в и дальнейшего упрощения полученного выражения.
е. Используйте часть (д), чтобы найти формулу для , а затем для . Убедитесь в том, что формула дает те же результаты, что и машинный эксперимент в onepop.m.
ж. Можно ли модифицировать модель так, чтобы описывалась диффузия между двумя отсеками разных размеров?
Проектные работы:
1. Предположим, что численность выпускников математических факультетов, трудоустраивающихся по специальности, имеет динамику, хорошо моделируемую дискретным разностным уравнением .
Конечно, динамика этой численности всегда будет зависеть от значения , но, выбрав соответствующие единицы измерения, можно зафиксировать . Исследуйте влияние регулярного сокращения таких сотрудников при двух различных типах предположений.
а. , где – некоторое фиксированное число сотрудников, сокращаемых на каждом этапе времени, например, ежегодно.
б. , где – некоторый фиксированный процент сотрудников, сокращаемых на каждом временном этапе ().
Рекомендации
Чтобы почувствовать модели, исследуйте тему с помощью onepop.m из задачи 1.2.4 для множества разумных вариантов параметров. Опишите любое необычное поведение модели и попытайтесь его объяснить.
Рассчитайте аналитически равновесия (которые могут быть выражены через и или ) и стабильность этих равновесий (которые также могут зависеть от и или ).
Объясните равновесие и стабильность с точки зрения паутинных диаграмм. Какое влияние оказывает вычитание и на паутинную диаграмму логистической модели?
Постарайтесь найти наибольшее или которое можно выбрать так, чтобы все еще было устойчивое равновесие. Если или выбраны как можно большими, чтобы все еще существовало стабильное равновесие (это вполне может быть экономически обоснованным), что произойдет с нестабильным равновесием?
Если бы вы отвечали за управление моделируемой организации, было бы вам комфортно, если бы стабильное равновесие находилось близко к нестабильному?
Существуют ли значения , для которых может быть больше ? Имеет ли это какой-либо смысл?
Если без проведения сокращений численность сотрудников не имеет устойчивого равновесия, то может ли принудительное сокращение привести к стабильности? Имеет ли это экономический смысл?
Используйте программу longterm.m для создания диаграмм, показывающих изменения моделируемой численности в долгосрочной перспективе по мере изменения параметров модели.
% longterm.m
fun = @(x,r) x + r*x*(1-x);
x0 = .99; a0 = 0; a1 = 3; N = 777; preL = 200; L = 100;
mat = bifur(fun,x0,a0,a1,N,preL,L);
function mat = bifur(fun,x0,a0,a1,N,preL,L,p_siz)
% –
% Функция bifur: строит однопараметрическую диаграмму бифуркаций
% Вход: fun = некоторая функция @(x,para)
% x0 = стартовое значение для x
% a0 = начальное значение параметра a
% a1 = конечное значение параметра a
% N = количество интервалов для параметра 'a' на отрезке [a0;a1]
% preL = количество предварительно пропускаемых итераций для
% преодоления переходного процесса перед стабилизацией
% L = количество итераций для каждой начальной пары
% от (x0,параметр a)
% p_siz = размер маркера, по умолчанию 1
% Выход: mat = бифукационная матрица размера N на L
% которая хранит последовательность длины L
% для каждой пары (x0, параметр a)
% –
% установки по умолчанию
if ~exist('p_siz','var')
p_siz = 1;
end
% инициализация
mat = zeros(N,L);
a = linspace(a0,a1,N);
% основной цикл
format long
for i = 1:N
ca = a(i); % выбрать одно значение параметра в каждый момент времени
for j = 1:L % сгенерировать последовательность длиной L
if j == 1
pre = x0; % инициализируем стартовое значение
for k = 1:preL % пропускаем значения переходного процесса
nxt = fun(pre,ca);
pre = nxt;
end
end
nxt = fun(pre,ca); % вычисляем следующее значение последовательности
mat(i,j) = nxt; % сохраняем в результирующей матрице mat
pre = nxt; % последнее значение будет начальным для следующей итерации
end
end
% построение графика
dcolor = [0,0,1]; % настройка цвета маркера: синий
[r,c] = meshgrid(1:L,a); % наполяем сетку данных координат
surf(r,c,mat,'Marker','*','MarkerSize',p_siz,'FaceColor','None','MarkerEdgeColor', dcolor,'EdgeColor','None')
view([90,0,0]) % фиксируем направление камеры
ylim([a0,a1]) % размещаем данные на диаграмме
end
2. Для популяции со временем регенерации значительно меньшей единицы времени может быть неуместно думать о пропускной способности как о константе. Исследуйте, что произойдет, если пропускная способность изменяется синусоидально. Для начала попробуйте понять следующие команды MATLAB:
t=[0:50]
K=5+sin((2*pi/12)*t)
p=.1; pops=p
for i=1:50
p=p+.2*p*(1-p/K(i));
pops=[pops p];
end
plot(t,K,t,pops)
Рекомендации
Объясните, почему синусоидально изменяющаяся пропускная способность может иметь физический или социально-экономический смысл при некоторых обстоятельствах.
Исследуйте поведение модели для различных вариантов и . Колеблется ли вместе с ? Обратите особое внимание на то, когда популяция достигает пика и каково среднее значение в долгосрочной перспективе. Соответствуют ли результаты машинных экспериментов вашей интуиции?
Что происходит, если изменяется частота колебаний пропускной способности? Попробуйте заменить в предыдущем примере на при разных N.
По мере увеличения эта модель демонстрирует бифуркации? Хаос?
3. Изучите, что произойдет, если пропускная способность изменяется случайным образом в логистической модели, и, в частности, влияние такой пропускная способность на небольшие популяции. Нужно будет знать, что команда rand(1) в MATLAB выдает случайное число в диапазоне от 0 до 1 с равномерным распределением, и что randn(1) генерирует случайное число из нормального распределения с матожиданием 0 и стандартным отклонением 1. Можете начать с использования программы onepop.m с выражением типа 10 + rand(1) в качестве пропускной способности в логистической модели.
Рекомендации
Возможно, 10*rand(1) или 10+2*randn(1) были бы лучшей формулой для значений в экспериментальной модели. Опишите качественные различия между реальными ситуациями, которые могут описывать эти математические выражения.
Для выбранного выражения изучите поведение модели для различных вариантов и . Как ведет себя ? Каково среднее значение в долгосрочной перспективе? Соответствуют ли результаты вашей математической интуиции?
По мере увеличения эта модель демонстрирует бифуркации? Хаос?
Исследуйте, что происходит, если численность популяции небольшая и принимает целые значения. В MATLAB команда floor(p) возвращает ближайшее целое число меньше или равное