|
|||
БІОСИСТЕМИ. БІОСФЕРА
ЕКОСИСТЕМИ. ПОПУЛЯЦІЇ
ОРГАНІЗМИ У ДОВКІЛЛІ
ЛЮДСТВО ТА ЙОГО ДОЛЯ
|
|||
VII-3. Арифметичне та геометричне зростання |
VII-4. Деякі типи R-моделей в популяційній екології, їх призначення та структура → |
VII-3. Арифметичне та геометричне зростання
VII-3.1. Дві жартівливі задачі
Почнемо обговорення з двох «математичних» задач, які не слід сприймати занадто серйозно. Не кваптеся шукати відповіді на ці задачі; прочитайте, будь ласка, спочатку першу, та знайдіть на неї ту відповідь, яка здається вам правильною. Потім, не кваплячись, самостійно знайдіть відповідь, яка вас задовільнить, для другої задачі.
Перша задача стосується курок. Скільки яєць відкладуть три курки за три дні, якщо півтори курки зносять півтора яйця за півтора дня (рис. VII-3.1)? Не кваптеся читати далі, знайдіть відповідь!
Рис. VII-3.1. Задача про курок. Півтори курки зносять півтора яйця за півтора дня. Скільки яєць знесуть три курки за три дні?
Часто здається, що ця задача не має сенсу, оскільки в ній використані дрібні величини. Це не проблема; наведемо приклад цілком серйозного використання дрібних одиниць, коли мова йде про розмноження. Так, українська Вікіпедія дозволяє встановити, що чистий коефіцієнт відтворення (кількість дочок в однієї жінки, що доживають до віку своєї матері, за якої чисельність населення лишається стабільною) у сучасному світі близький до 1,1. На одну жінку має приходитися 1,1 дочки, і в цьому нема парадоксів! Ніхто не очікує жахливих випадків, коли нещасна жінка народжує одну десяту частину дитини. Цю величину можна сприймати так: з 10 жінок 9 мають по одній дочці, а одна — дві.
Ті, хто правильно розв'язує цю задачу про курок, зазвичай міркують так. В скільки разів збільшилася кількість курок? В скільки разів збільшився час відкладання яєць? За умови постійної швидкості розмноження, в скільки разів має збільшитися результат? Чому він у такому разі дорівнюватиме?
Є відповідь? Наступна задача стосується амеб. Попри свою умовність, вона базується на цілком реалістичних цифрах. В ній використана приблизна максимальна швидкість розмноження Amoeba proteus та врахований середній об'єм її тіла. Спрощення, що використане в цій задачі, стосується, звісно, того, що за жодних умов у певному обсязі не сконцентруються самі амеби, без того середовища, у якому вони існують.
Таким чином, ми розглядаємо умови, за яких амеби та їхні потомки діляться навпіл раз на добу; 28 діб вистачить, щоб зібралася літрова банка амеб. Скільки часу потрібно, щоб отримати літрову банку з потомства двох амеб (рис. VII-3.2)?
Рис. VII-3.2. Задача про амеб. Амеба ділиться навпіл один раз на добу; наступної доби кожен з нащадків також ділиться навпіл. Внаслідок поділу клітин потомство однієї амеби заповнює літрову банку через 28 діб. За який час заповнить літрову банку потомство двох амеб?
Знайшли відповідь? Зрозуміли, що задачу про амеб слід розв'язувати принципово не так, як задачу про курок (і саме для того, щоб ускладнити розв'язання задачі про амеб ми й почали з задачі про курок)? Річ у тому, що у першому випадку ми маємо справу з арифметичною прогресією, а у другому — з геометричною. Арифметична прогресія — це послідовність чисел, кожен наступний член якої, починаючи з другого, відрізняється від попереднього на те з саме число, різницю прогресії. Якщо різниця арифметичної прогресії більше ніж 0, ця прогресія є такою, що зростає. Геометрична прогресія — це послідовність чисел, перший член якої не дорівнює нулю, а відношення будь-якого елемента послідовності до попереднього є тим самим числом, знаменником прогресії. Якщо знаменник прогресії більше ніж 1, ця прогресія є такою, що зростає (варіанти з від'ємними знаменниками прогресії для простоти розглядати не будемо).
Важливим є те, що чисельність організмів внаслідок їх розмноження зростає геометрично. У першій задачі ми також маємо справу з розмноженням, але не розглядаємо додавання потомства до числа плідників, беремо вужчу часову рамку.
VII-3.2. Сумне відкриття Томаса Мальтуса
Дослідження розмноження організмів почав Леонардо Пізанський (≈1170 – ≈1250), більш відомий як Фібоначчі. На початку XIII століття, у 1202 році він видав «Трактат про рахування» («Liber abaci»), де розглядав низку задач. Серед них була задача, пов'язана з розмноженням кроликів (що зробила кроликів символом нестриманого розмноження й, припустимо, символом еротичного журналу «Плейбой» і загалом сексуальної розкутості).
«Хтось вирощує кроликів в просторі, з усіх боків обнесеному високим муром. Скільки пар кроликів народжується в один рік від однієї пари, якщо через місяць пара кроликів приносить іншу пару, а народжувати кролі починають з другого місяця після свого народження» (Фібоначчі, 1202)
Розв'язанням цієї задачі є так звані числа Фібоначчі: послідовність чисел, що починається з двох одиниць (нагадаємо, що мова йде про пари кроликів, тобто одиниця — це два плідники!), а далі кожний наступний член цієї послідовності є сумою двох попередніх: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55... Ця послідовність чисел володіє низкою дивних властивостей в математиці, але їх обговорення уведе нас далеко від теми. До речі, ви зрзуміли, що відповіді на наведені на початку цього пункту задачі — 6 та 27? Зрозуміло, чому?
Першим, хто чітко зрозумів усю силу розмноження організмів, був геніальний англійський священник, демограф та економіст Томас Мальтус (1766–1834). В роботі «Нарис про закони народонаселення» у 1798 році він доводив наступну думку. Чисельність
населення зростає у геометричній прогресії, а «життєві блага» (ресурси) — в арифметичній. Наслідком нестриманого зростання має ставати неминуча катастрофа перенаселення — мальтузіанська катастрофа, за якої населенню, що зростає швидше, ніж «життєві блага», попросту не вистачить їжі.
«Я думаю, що можу справедливо наголосити два постулати. По-перше, їжа необхідна для існування людини. По-друге, що пристрасть між статями необхідна і залишиться майже в такому ж стані, як зараз. <...> Припускаючи, що мої постулати прийняті, я стверджую, що сила народонаселення невизначено більша, ніж сила землі, щоб виробляти засоби існування для людини» (Томас Мальтус, 1798)
Мальтус дуже розумно обговорює наслідки з цього висновку. Він пропонує пізні шлюби, календарну контрацепцію, стриманість та допомогу бідним не їжею, а підтримкою в організації власної справи. До речі, прямі нащадки Мальтуса до цього часу живуть в Англії...
Комуністичні ідеологи звинувачували Мальтуса у пропаганді війни та знищення бідних — і це є просто наклепом. До цього часу поширеним є погляд, що «Мальтус спростований». Базується цей погляд на тому, що у міркуваннях Мальтуса цілком закономірно не враховані дві обставини. Перша. Ресурси, що забезпечують існування людей, зростають не арифметично, а швидше. Зміни господарювання викликають інтенсифікацію в отриманні потрібних людині ресурсів. Гектар оранки зараз дає набагато більше їжі, ніж у часи Мальтуса (якою ціною — ми обговорювали у цьому підручнику раніше; перш за все — за рахунок використання величезної кількості викопної енергії). Друга — що швидкість зростання чисельності людей зменшується, відстає від геометричної. І це зрозуміло: у часи Мальтуса демографічний перехід (див. пункт VI-7) ще не відбувся. Втім, навіть з наведеної цитати зрозуміло, що Мальтус не вважав свої висновки чимось незалежним від дійсного стану справ. Так або інакше, він був першим, хто по-справжньому замислився про вплив сили розмноження живих організмів на їхню забезпеченість ресурсами.
До речі, робота Мальтуса мала несподівані наслідки. Книгу Мальтуса прочитало чимало людей; висновки, які вони робили з цієї книги, відповідали рівню їхнього розуміння та мислення. Для нас важливо, що в різний час в середині XIX ст. цю книгу прочитали два британські зоологи, що подорожували на кораблях британського військового флоту, в бібліотеках яких було по примірнику книги Мальтуса. Обидва бачили відмінності тваринного та рослинного світів різних континентів і різних островів. Обидва шукали причину цих відмінностей. Обидва знайшли рішення після того, як прочитали книгу Мальтуса (рис. VII-3.3). Першим з цих дослідників був Чарльз Дарвін (1809–1882), другим — Альфред Воллес (1823–1913). Обидва зрозуміли, що в природі всі живі істоти не розмножуються з тією швидкістю, на яку здатні. З цього випливає, що переважна кількість особин або не потрапляє у придатні для розмноження умови, або гине до досягнення зрілості. Чи випадковим є виживання та розмноження? З цього питання витікає ідея природного добору!
Рис. VII-3.3. «Батьки» концепції природного добору, чотири блискучих англійських вчених: Томас Мальтус (1766–1834), Чарльз Дарвін (1809–1882), Альфред Воллес (1823–1913), Герберт Спенсер (1820–1903)
VII-3.3. Інтелектуальний виклик для читачів
З наведених тут відомостей зрозуміло, що проблема співвідношення між арифметичним та геометричним зростанням є дуже цікавою. Сформулюємо питання, відповідь на яке можна шукати за допомогою імітаційного моделювання з використанням засобів, які описані у пунктах VII-2.1 та VII-2.2.
Завдання VII-3.1. За яких умов геометрична прогресія, що зростає, не переганяє арифметичну прогресію, що зростає?
Це питання можна дещо розширити.
Завдання VII-3.2. За яких умов прогресія, яка близька до геометричної, що зростає, але відрізняється від неї періодичним зменшенням знаменника прогресії, не переганяє прогресію, яка близька до арифметичної, що зростає, але відрізняється періодичним збільшенням різниці прогресії?
Уточнення, що зроблені у завданні VII-3.2, дозволяють врахувати гальмування розмноження, що можуть бути пов'язані з демографічним переходом, та інтенсифікацію господарства.
Ще більш широкий спосіб сформулювати поставлену проблему, є наступним.
Проблема VII-3.1. Чи може популяція, що зростає, запобігти мальтузіанській катастрофі?
Шановні читачі! В цьому і двох попередніх пунктах достатньо відомостей, щоб почати пошук відповідей на наведені питання засобами R. Повірте, цей пошук може привести вас до достатньо нетривіальних та дуже важливих висновків. Спробуйте пройти ту частину шляху, яка не прописана тут покроково, самостійно. Наприклад, ви можете створити модель, де будуть порівнюватися арифметичне та геометричне зростання, подібну до тієї, що побудована у чанку VII-2.7. Скоріше за все, для того, щоб обмежити діапазон даних, що буде виведений на графік, вам також доведеться використовувати умову if(), що припинить імітацію, якщо геометричне зростання «переможе у перегонах» з арифметичним. Побудувати графік, що відбиватиме результати моделювання, можна безліччю шляхів; один з них аналогічний тому, що показаний у чанку VII-2.9.
Чи достатній цей інтелектуальний виклик для того, щоб підштовхнути вас до дії?
VII-3.4. Результат виконання завдання VII-3.1: «Перегони» арифметичного та геометричного зростань
Наведемо текст скрипту, який виконує те, що вимагалося у завданні VII-3.1. Спочатку — заголовок і загальні речі. Якщо ви будете запускати цей скрипт на своєму комп’ютері, може бути корисним за допомогою функції setwd() зазначити шлях до своєї робочої директорії. У даному випадку тут розміщено закоментоване посилання на робочу директорію, якою користується автор цього скрипту. У вашому випадку адреса директорії, скоріше за все, матиме інший формат.
# Чанк VII-3.1
# «ПЕРЕГОНИ» АРИФМЕТИЧНОГО ТА ГЕОМЕТРИЧНОГО ЗРОСТАНЬ
rm(list = ls()) # Очищення Environment
# setwd("~/data/Eco_model") # Робоча директорія (виключно для D.Sh.!)
Обидва з вказаних початкових параметрів відносяться водночас до обох прогресій — як арифметичної, так і геометричної.
# Чанк VII-3.2
# ЗАГАЛЬНІ ВХІДНІ ПАРАМЕТРИ ТА УМОВИ ЕКСПЕРИМЕНТУ N1 <- 1 # Початкова чисельність популяції (однакова для обох прогресій) t <- 1000 # Тривалість експерименту (максимальна кількість кроків)
Створюємо вектор, де будуватиметься арифметична прогресія. Починаємо з параметра a, якій потрібний лише для її побудови. Звернемо увагу на одну обставину. Далі ми не будемо розбивати коментарі у чанках на окремі рядки (так вони будуть краще сприйматися). Втім, це може призводити до того, що ці довгі рядки будуть розбиватися у випадкових місцях, у тому числі — всередині слов, там, де неможливі переноси. Щоб RStudio правильно відбивало такі рядки, зробіть позначку в меню на опції Code/Soft Wrap Long Lines.
# Чанк VII-3.3
# АРИФМЕТИЧНЕ ЗРОСТАННЯ: # Вхідний параметр, що визначає прогресію a <- 1000 # Доданок арифметичної прогресії. Показує, яка величина додається до кожного попереднього значення арифметичної прогресії # Створення об'єкта для запису результатів arithm <- rep(NA, t) # Створення пустого вектора для запису арифметичної прогресії # Початковий стан arithm[1] <- N1 # Перенесення першого значення з загальних умов
Робимо те ж саме для геометричної прогресії
# Чанк VII-3.4
# ГЕОМЕТРИЧНЕ ЗРОСТАННЯ: # Вхідний параметр, що визначає прогресію q <- 1.1 # Знаменник геометричної прогресії. Показує, на яку величину множиться кожне попереднє значення геометричної прогресії # Створення об'єкта для запису результатів geom <- rep(NA, t) # Створення пустого вектора для запису геометричної прогресії # Початковий стан geom[1] <- N1 # Перенесення першого значення з загальних умов
Усе готово для запуску робочого циклу. Якщо геометрична прогресія не дожене арифметичну, цикл припиниться, коли лічильник циклу i досягне значення t. Якщо геометрична прогресія дожене арифметичну, цикл зупинить передбачена у ньому умова. У такому разі корисно подивитися, на якому i це відбулося.
# Чанк VII-3.5
# РОБОЧИЙ ЦИКЛ for(i in 2:t) {arithm[i] <- arithm[i-1] + a geom[i] <- geom[i-1] * q if(geom[i]>arithm[i]) break} # Цикл перераховує значення лічильника циклу i у вказаних межах. У фігурних дужках і послідовних рядках (або в одному рядку через точку з комою) — команди, що виконуються для кожного значення i. Команда if() перевіряє, чи перегнала геометрична прогресія арифметичну, та, у разі, якщо перегнала, зупиняє цикл for командою break i # Виводить значення i, на якому зупинився цикл for; це — момент "перемоги" геометричного зростання над арифметичним
## [1] 124
Лишилося додати діаграму.
# Чанк VII-3.6
# ПОБУДОВА ГРАФІКА plot(arithm, # Будуємо найпростіший графік; вказуємо джерело даних xlim=c(0, i*1.05), # Діапазон значень осі абсцисс (осі x) type="l", lty=1, col="blue", # ...тип, характер та колір лінії main="
«Перегони» арифметичного та геометричного зростань", # Заголовок xlab="Цикли імітації", ylab="Чисельність") # Підписи осей lines(geom, type="l", , lty=2, col="red") # Додаємо на графік ще одну лінію legend("topleft", inset=.05, title="Типи зростання:", c("арифметичне", "геометричне"), lty=c(1, 2), col=c("blue", "red")) # Додаємо легенду (розшифровку)
Рис. VII-3.4. Результат виконання чанка VII-3.6
Ви можете відтворити наведений R-скрипт або переносом послідовних фрагментів (наведених вище чанків) у вікно редактора скриптів RStudio, або просто шляхом його завантаження. У останньому випадку можливо, що кирилиця у фрагментах українського тексту буде відбита неправильно. У такому разі цей скрипт слід прочитати в RStudio із зазначенням правильної кодової сторінки (File / Reopen with Encoding... / UTF-8).
Ви можете поекспериментувати з різними значеннями параметрів цієї моделі (а їх, насправді, три). Параметри a та q визначають різні прогресії. Менший вплив на перебіг подій має початкова чисельність N1 (моделювання буде йти дещо по-різному залежно від того, як співвідносяться a та N1). Спрощуючи, можна було б вважати N1 умовою експерименту, як і t.
Картину, показану на рис можна вважати типовою. Якщо арифметична прогресія випереджує геометричну, з часом геометрична, яка здатна до прискорення, «візьме своє». Звісно, можливий й інший перебіг подій. Якщо q > (N1+a)/a, геометрична прогресія відразу випередить арифметичну. У такому випадку, який наведено вище, це відразу зупинить імітацію.
Слід визнати, що ми отримали тривіальний результат. Будь-яка геометрична прогресія, що зростає, рано чи пізно пережене арифметичну прогресію, що зростає. Довести це можна не лише за допомогою моделювання.
Приріст арифметичної прогресії лишається постійним; приріст геометричної — безперервно збільшується. У такому разі рано чи пізно приріст геометричної прогресії має як наздогнати приріст арифметичної, так і перебільшити його у будь-яку кількість разів. Це зрозумів ще Томас Мальтус. Саме на цьому базується висновок Мальтуса, що чисельність населення (яка, як він думав, зростає геометрично) у будь-якому разі пережене кількість ресурсів (яка здавалася такою, що зростає арифметично).
Сформулюємо «сухий залишок». «Перегони» арифметичного та геометричного зростань можуть відбуватися за одним з двох сценаріїв:
— геометричне зростання спочатку відстає від арифметичного, але через певний час наздоганяє;
— геометричне зростання з самого початку випереджує арифметичне.
В обох цих сценаріях неминучою є мальтузіанська катастрофа; як її ознаку ми розуміємо ситуацію, коли величина, яка зростає геометрично, перевищує ту, що зростає аримфетично (чисельність населення вища за забезпеченість ресурсами).
VII-3.5. Як виконувати завдання VII-3.2: прискорене арифметичне та загальмоване геометричне зростання
Тепер ми знаємо, що зростання кількості ресурсів є швидшим за арифметичне (внаслідок розвитку технологій), а популяційне зростання — повільнішим за геометричне (внаслідок того, що в зрілому суспільстві відбувається демографічний перехід). Для того, щоб зрозуміти закономірності таких змінених прогресій, ми можемо використати імітаційне моделювання. Зробимо нову модель. Починати, звісно, слід з назви та початкових команд скрипта.
# Чанк VII-3.7
# АРИФМЕТИЧНЕ, ПРИСКОРЕНЕ АРИФМЕТИЧНЕ, ГЕОМЕТРИЧНЕ ТА ЗАГАЛЬМОВАНЕ ГЕОМЕТРИЧНЕ ЗРОСТАННЯ
rm(list = ls()) # Очистка Environment
# setwd("~/data/Eco_model") # Робоча директорія (виключно для D.Sh.!)
Модель, яку ми створюємо, має суттєво більшу кількість параметрів, ніж попередня. Текст попередньої моделі було організовано так: спочатку задавалася арифметична прогресія, потім геометрична, лише в робочому циклі об’єднуються розрахунки, що стосуються обох прогресій. Цю модель краще організувати інакше, вибудувати блоки за етапами розрахунків. І перше рішення — зібрати в один блок параметри і умови.
# Чанк VII-3.8
# ЗАГАЛЬНІ ВХІДНІ ПАРАМЕТРИ ТА УМОВИ ЕКСПЕРИМЕНТУ
a <- 1000 # Доданок арифметичної прогресії; щоб прогресія зростала, має бути >0
q <- 2 # Знаменник геометричної прогресії; щоб прогресія зростала, має бути >1
period <- 10 # Проміжок часу між змінами показників модифікованих зростань
add_a <- 100 # Показник прискорення модифікованого арифметичного зростання
decr_q <- 2 # Показник гальмування модифікованого геометричного зростання
N1 <- 1 # Початкова чисельність популяції (однакова для обох прогресій)
t <- 1000 # Тривалість експерименту (максимальна кількість кроків)
Усі прогресії будемо збирати у векторах, що організовані однаково.
# Чанк VII-3.9
# СТВОРЕННЯ ОБʼЄКТІВ:
arithm <- rep(NA, t) # Арифметичне зростання
geom <- rep(NA, t) # Геометричне зростання
m_arithm <- rep(NA, t) # Модифіковане арифметичне зростання
m_geom <- rep(NA, t) # Модифіковане геометричне зростання
Крім перенесення у створені вектори початкового значення, нам будуть потрібні дві речі. Щоб змінювати показники модифікованих прогресій, лишаючи незмінними показники у звичайних арифметичній та геометричній прогресіях, ми маємо задати нові значення. Спочатку модифіковані показники дорівнюють немодифікованим, а далі вони можуть змінюватися. Ці зміни будуть відбуватися періодично; щоб відраховувати ці періоди, ми маємо запустити окремий лічильник.
# Чанк VII-3.10
# ПОЧАТКОВИЙ СТАН:
arithm[1] <- N1; geom[1] <- N1; m_arithm[1] <- N1; m_geom[1] <- N1 # Усі прогресії починаються з того самого значення
m_a <- a; m_q <- q # Модифіковані прогресії починаються з тих самих показників, що й не модифіковані
p <- 0 # Лічильник періоду змін показників
Головне. Робочий цикл. В ньому слід розрахувати наступні значення усіх прогресій. Значення модифікованих прогресій логічно розраховувати після перевірки, чи слід перерахувати їх показники. Ми задали початкове значення лічильника періоду змін показників; на кожному циклі його значення зростає на одиницю. Якщо значення досягає необхідного рівня, лічильник знову повертається до початкового значення, а показники модифікованих прогресій перераховуються.
# Чанк VII-3.11 # РОБОЧИЙ ЦИКЛ for(i in 2:t) { arithm[i] <- arithm[i-1]+a geom[i] <- geom[i-1]*q p <- p+1 if (p==period) {m_a <- m_a+add_a m_q <- m_q - (m_q-1)/decr_q # Принципово важлива формула. Можливі інші рішення!!! p <- 0 } m_arithm[i] <- m_arithm[i-1]+m_a m_geom[i] <- m_geom[i-1]*m_q if(m_geom[i]>m_arithm[i]) break} i # Виводить значення i, на якому зупинився цикл for; це - момент "перемоги" загальмованого геометричного зростання над прискореним арифметичним
—мальтузіанська катастрофа. Якщо її не буде, кількість циклів визначатиме t
## [1] 19
У наведеному прикладі коригування знаменника геометричної прогресії відбувається так: періодично від цього знаменника віднімається певна частина різниці наявного значення та одиниці. Це — далеко не єдине можливе значення. Цікаво спробувати й інші варіанти!
Ми маємо справу з моделлю, яка залежить від достатньо високої кількості параметрів. Результатом роботи моделі буде, скоріше за все, графік. Щоб зручніше порівнювати різні випадки, зручно вивести на графіку ті значення параметрів, що були використані при розрахунках. Згенеруємо об’єкт, який потім виведемо як підзаголовок на діаграмі, яку ми будуємо. Для цього використаємо команду paste0(): вона поєднує аргументи, що поєднані у дужках через кому. Зверніть увагу: текстові фрагменти узяті у лапки, а змінні вказані без лапок; у другому випадку на вихід піде числове значення цієї змінної.
# Чанк VII-3.12
# ПОБУДОВА ГРАФІКА
Param <- paste0("Параметри: a=", a, ", q=", q, ", add_a=", add_a, ", decr_q=", decr_q, ", period=", period, ", N1=", N1) # Підпис зі значеннями усіх параметрів, що будуть вказані на графіку
Подивимося, що у нас вийшло.
# Чанк VII-3.13
Param
## [1] "Параметри: a=1000, q=2, add_a=100, decr_q=2, period=10, N1=1"
Лишилося побудувати діаграму. Для простоти виведемо усі чотири лінії на графік.
# Чанк VII-3.14
plot(arithm, # Перша лінія
xlim=c(0, i*1.05), # Діапазон значень осі абсцис (осі x)
type="l", lty=1, col="blue", # ...тип, характер та колір лінії
main="Порівняння арифметичного, прискореного арифметичного,\n геометричного та загальмованого геометричного зростання", # Заголовок
sub = Param,
xlab="Цикли імітації", ylab="Чисельність") # Підписи осей
lines(geom, type="l", , lty=5, col="red") # Додаємо ще лінії
lines(m_arithm, type="l", , lty=3, col="blue4")
lines(m_geom, type="l", , lty=2, col="brown4")
legend("topleft", inset=.05, title="Типи зростання:", c("арифметичне", "геометричне", "прискорене арифметичне", "загальмоване геометричне"), lty=c(1, 5, 3, 2), col=c("blue", "red", "blue4", "brown4")) # Легенда
Рис. VII-3.5. Результат виконання чанка VII-3.14
Як ви бачите, параметри вказані на самому результаті роботи моделі. До речі, символи \n в підписах, які виводяться на діаграму, забезпечують розрив рядка, перенесення тексту на наступний рядок. Показаний на рис. VII-3.5 цілком відповідає першому зі сценаріїв, що вказані наприкінці пункту VII-3.4. Але чи це єдиний можливий результат?
В цьому тексті вказано достатньо, щоб почати експериментувати з моделлю. І на цьому етапі її обговорення краще зупинити, і запропонувати читачам самостійно зробити висновки, що саме можна узнати з використанням створеної моделі про загрозу мальтузіанської катастрофи. Створену модель можна зібрати по шматках або завантажити з batrachos.com (не забувайте про кодування: File / Reopen with Encoding... / UTF-8 !).
Ваш хід, читачі!