» » Чи так вже точний комп'ютер? Розмноження з точки зору математики.

Чи так вже точний комп'ютер? Розмноження з точки зору математики.

Фото - Чи так вже точний комп'ютер? Розмноження з точки зору математики.

Більшість з нас вважає, що комп'ютер є еталоном точності і непогрішності. Ще б пак, він здатний провести обчислення за будь-якою формулою і видати результат з такою кількістю знаків після коми, що мимоволі задаєшся питанням: «Навіщо стільки? Кому може знадобитися така точність? Напевно, тільки вченим-дослідникам, які розраховують ядерні реакції або модель Всесвіту. Мені-то вона точно ні до чого! ». Не поспішайте, можливо, що завдання, яке не по зубах вашого комп'ютера, поруч і зовсім не складна на перший погляд.

Давайте звернемося до біології. Ця наука давно вже тісно співпрацює з математикою, використовуючи її можливості для відповідей на свої біологічні питання. Ось, наприклад, візьмемо пару кроликів, природно різностатевих, і пустимо їх у великий загін. Запаси їжі необмежені, хижаків немає. Скільки кроликів буде в загоні через місяць, рік, десять років? Якщо кролики вас мало цікавлять, то можна розглянути замість кроликів людей, а замість загону - Землю. Своя сорочка ближче до тіла?

Що буде з людством в майбутньому? Чи буде населення Землі збільшуватися або зменшуватися? Цими питаннями вчені потурбувалися ще у вісімнадцятому столітті. У 1798 році Томас Роберт Мальтус, англійський демограф і економіст, у своєму трактаті «Про закон зростання народонаселення» зробив висновок, що чисельність популяції зростає по експоненті, тобто в геометричній прогресії. Майбутнє безхмарно? Як би не так! Людині потрібно їсти, пити, десь жити, одним словом, споживати ресурси. А вони зовсім не безмежні. Виробництво ресурсів зростає з часом лінійно, в арифметичній прогресії.

Всі ми ще зі шкільної лави пам'ятаємо, що геометрична прогресія зростає значно швидше, ніж арифметична. Мальтус теж це знав, і зробив висновок, що рано чи пізно експонента обжене лінійну функцію. На Землі настане голод, який призведе до зменшення чисельності населення. На підставі цього Мальтус запропонував ввести обмеження на народжуваність, особливо для найбідніших верств суспільства. З висновками Мальтуса погодився і Чарльз Дарвін. У своєму щоденнику він вказував, що жодна популяція не може розмножуватися до безкінечності, оскільки існують чинники, які перешкоджають такому необмеженого розмноження. В результаті - уповільнення швидкості росту популяції і вихід її чисельності на стаціонарний рівень.

Вперше з математичної точки зору фактори, що обмежує зростання популяції, описав Ферхюльст у своєму знаменитому рівнянні логістичного зростання. У першому наближенні його можна записати у вигляді:

Х = С * Х * (1 - Х),
де Х - чисельність популяції в частках від максимально можливої за даних умов, С - фактор росту, який визначає, скільки потомства дає, в середньому, одна пара особин. Це рекурсивна формула, в якій кожне наступне значення ряду залежить від попереднього.

Незважаючи на крайню простоту, логістична модель виявилася досить гарним наближенням для опису чисельності багатьох популяцій. Дійсно, якщо фактор зростання менше одиниці, то популяція дуже швидко гине, незважаючи на велику вихідну чисельність. При чинниках зростання більше одиниці чисельність популяції не зростає необмежено, а стабілізується на певному рівні. Чим більше фактор росту, тим більше стабільна чисельність популяції. Однак необмежено зростати фактор росту теж не може. Якщо він перевищує деяке критичне значення, то популяція дуже швидко гине через брак ресурсів.

Ще більш цікаві моделі з найменшою критичної чисельністю. Саме вони відображають зростання популяцій, в основі розмноження яких лежить схрещування, що припускає зустрічі між особинами різних статей. На жаль, розуміння таких моделей вже вимагає грунтовного знання математики, тому ми обмежимося тільки їх словесним описом.

При низькій щільності популяції, тобто відносно чисельності популяції до займаної території, швидкість розмноження різко падає, тому що ймовірність зустрічі двох особин різних статей зменшується. Насправді ця щільність не повинна опускатися нижче певної критичної величини. Якщо це відбудеться, то середній час, протягом якого може відбутися запліднення, стає більше часу життя окремої особини. Популяція вимирає.

Для різних видів критична щільність різна. Вона може бути особливо низькою для довгоживучих хижаків, які переміщуються в пошуках здобичі на десятки кілометрів. Наприклад, критична щільність для ондатр - всього лише одна пара особин на тисячу квадратних кілометрів. А для американського мандрівного голуба на таку ж площу необхідно кілька сотень тисяч особин. На жаль, цей вид, незважаючи на гадану численність, перейшов через критичну межу своєї чисельності і вимер, незважаючи на всі зусилля з охорони цих птахів.

Повернемося до нашого логістичного рівняння. Давайте спробуємо визначити, який же фактор росту є критичним? Математично доведено, що якщо фактор росту знаходиться в межах від 1 до 3, то через деякий кількість ітерацій, тобто повторюваних обчислень по логістичної формулою, популяція стабілізується. При факторі зростання, що дорівнює трьом, функція роздвоюється - через певне число ітерацій ми прийдемо до ситуації, коли висока популяція в один рік змінюється низькою в наступний. Якщо фактор росту С = 3.45, то функція роздвоюється знову, ми отримуємо чотирирічний цикл. Далі при зростанні З функція роздвоюється все швидше і швидше і в точці С = 3.57 починається хаос. Значення функції не будуть мати який-небудь періодичності або структури. Тут ми підійшли ще до однієї цікавої теми - теорії динамічного хаосу. Але це вже виходить за рамки статті.

Вам вже захотілося перевірити все це на своєму комп'ютері? Добре, запускаємо Microsoft Excel. Давайте введемо в клітинку А1 фактор росту, наприклад 4. У комірки A2 - початкове значення популяції, наприклад 0.1. В осередку A3 на потрібно помістити формулу для розрахунку «= $ A $ 1 * A2 * (1-A2)». Давайте спробуємо для перевірки порахувати цей же вислів, але попередньо розкриємо дужки: Х = С * (Х - Х * Х). З першого погляду це здається абсурдним - навіщо два рази вважати одне й теж? Повірте, це принципово важливо. Отже, в клітинку В2 заносимо таке ж значення, як в А2, а в В3 - формулу «= $ А $ 1 * (B2-B2 * B2)». На всяк випадок порахуємо різниця між двома виразами: у С3 помістимо формулу різниці «= A3-B3». Зрозуміло, що ми очікуємо побачити там нулі, але давайте переконався. Отже, копіюємо діапазон A3: C3 вниз разів сто і дивимося, що у нас відбувається.

Ось сюрприз! Вже з шостий-сьомий рядки нуля в різниці немає! Більше того, різниця зростає і на п'ятидесятий кроці, а може бути і раніше, вже порівнянна з нашими числами. Ще більш дивно, що різні комп'ютери можуть давати різні результати!

Виникає питання - яке ж значення вірно? А ніяке! Починаючи з певною ітерації, всі сучасні комп'ютери дають невірний результат. А причина проста - незважаючи на, здавалося б, величезну точність, комп'ютер все ж округлює значення. Нехай у десятому, двадцятому, п'ятидесятих знакові, але округлює. При ітераційних обчисленнях ця помилка швидко накопичується і спотворює дані. Ви все ще вважаєте, що точність комп'ютера надто висока? ]