Murakkab xatti-harakatlarga ega oddiy modellar, ya'ni xaos
texnologiya

Murakkab xatti-harakatlarga ega oddiy modellar, ya'ni xaos

Kompyuter olimlar tomonidan tabiat tomonidan yashiringan sirlarni ochish uchun tobora ko'proq foydalaniladigan vositadir. Modellashtirish tajriba va nazariya bilan birgalikda dunyoni o‘rganishning uchinchi usuliga aylanib bormoqda.

Uch yil oldin, Sileziya universitetida biz kompyuter usullarini ta'limga integratsiya qilish dasturini boshladik. Natijada, ko'plab mavzularni o'rganishni oson va chuqurroq qilish uchun juda ko'p qiziqarli didaktik materiallar yaratildi. Python asosiy vosita sifatida tanlandi, u mavjud ilmiy kutubxonalar kuchi bilan birgalikda tenglamalar, tasvirlar yoki ma'lumotlar bilan "kompyuter tajribalari" uchun eng yaxshi yechimdir. To'liq ish stolining eng qiziqarli ilovalaridan biri bu Sage [2]. Bu kompyuter algebra tizimining Python tili bilan ochiq integratsiyasi bo'lib, shuningdek, veb-brauzer va bulutli xizmat [3] orqali kirishning mumkin bo'lgan variantlaridan biri yoki interaktiv bo'lgan yagona hisoblash serveri orqali darhol o'ynashni boshlash imkonini beradi. ushbu maqolaning versiyasi [4] ga asoslanadi.

Ekologiyadagi xaos

Oksford universitetining 1-kursida avstraliyalik olim Robert Mey demografik dinamikaning nazariy jihatlarini o'rgandi. U o'z ishini Nature jurnalida "Juda murakkab dinamikaga ega oddiy matematik modellar" [XNUMX] provokatsion sarlavhasi ostida chop etilgan maqolada jamladi. O‘tgan yillar davomida ushbu maqola nazariy ekologiyada eng ko‘p iqtibos keltiriladigan asarlardan biriga aylandi. Bu ishga bunday qiziqishning sababi nimada?

Populyatsiya dinamikasining klassik muammosi ma'lum bir turning hozirgi holatini hisobga olgan holda kelajakdagi populyatsiyasini hisoblashdir. Matematik nuqtai nazardan, ekotizimlar aholining bir avlodining hayoti bir mavsum davom etadigan eng oddiy deb hisoblangan. Bir mavsumda to'liq metamorfozga uchragan hasharotlar populyatsiyasi, masalan, kapalaklar yaxshi misoldir. Vaqt tabiiy ravishda aholining hayot davrlariga mos keladigan diskret davrlarga2 bo'linadi. Shunday qilib, bunday ekotizimni tavsiflovchi tenglamalar tabiiy ravishda shunday deb ataladi diskret vaqt, ya'ni. t = 1,2,3…. Robert Mey boshqa narsalar qatorida bunday dinamika bilan shug'ullangan. O'z mulohazalarida u ekotizimni populyatsiyasi o'tgan yilgi populyatsiyaning kvadratik funktsiyasi bo'lgan yagona turga soddalashtirdi. Bu model qayerdan kelgan?

Populyatsiya evolyutsiyasini tavsiflovchi eng oddiy diskret tenglama chiziqli modeldir:

Bu erda Ni - i-mavsumdagi mo'l-ko'lchilik, Ni + 1 esa keyingi mavsumdagi aholini tavsiflaydi. Bunday tenglama uchta stsenariyga olib kelishi mumkinligini ko'rish oson. Agar a = 1 bo'lsa, evolyutsiya populyatsiya hajmini o'zgartirmaydi va <1 yo'q bo'lib ketishiga olib keladi va a > 1 holati populyatsiyaning cheksiz o'sishini anglatadi. Bu tabiatdagi nomutanosiblikka olib keladi. Tabiatdagi hamma narsa cheklanganligi sababli, cheklangan miqdordagi resurslarni hisobga olish uchun ushbu tenglamani to'g'rilash mantiqan. Tasavvur qiling-a, zararkunandalar har yili bir xil bo'lgan donni iste'mol qiladilar. Agar hasharotlar ko'payish mumkin bo'lgan oziq-ovqat miqdori bilan solishtirganda kam bo'lsa, ular to'liq reproduktiv quvvatda ko'paya oladilar, matematik jihatdan a > 1 doimiysi bilan aniqlanadi. Biroq, zararkunandalar soni ko'payganligi sababli, oziq-ovqat kam bo'ladi va ko'payish qobiliyati pasayadi. Tanqidiy holatda, shunchalik ko'p hasharotlar tug'ilishini tasavvur qilish mumkin, ular ko'payish uchun vaqtlari bo'lmasdan butun donni eyishadi va aholi nobud bo'ladi. Oziq-ovqat mahsulotlariga cheklangan kirishning bu ta'sirini hisobga oladigan model birinchi marta 1838 yilda Verhulst tomonidan taklif qilingan. Ushbu modelda o'sish sur'ati doimiy emas, balki aholining holatiga bog'liq:

O'sish sur'ati a va Ni o'rtasidagi bog'liqlik quyidagi xususiyatga ega bo'lishi kerak: agar aholi soni ko'paysa, o'sish sur'ati kamayishi kerak, chunki oziq-ovqat mahsulotlariga kirish qiyin. Albatta, bu xususiyatga ega bo'lgan ko'plab funktsiyalar mavjud: bu yuqoridan pastga funktsiyalardir. Verhulst quyidagi munosabatlarni taklif qildi:

bu erda a>0 va doimiy K>0 oziq-ovqat resurslarini xarakterlaydi va atrof-muhit sig'imi deb ataladi. K ning o'zgarishi aholi o'sish sur'atiga qanday ta'sir qiladi? Agar K oshsa, Ni/K kamayadi. O'z navbatida, bu 1-Ni / K ning o'sishiga olib keladi, ya'ni u o'sadi. Demak, o‘sish sur’ati oshib, aholi soni tez o‘sib bormoqda. Shunday qilib, (1) tenglamadagi kabi o'sish sur'ati o'zgaradi deb faraz qilib, oldingi modelni (3) o'zgartiramiz. Keyin tenglamani olamiz

Bu tenglamani rekursiv tenglama sifatida yozish mumkin

bu yerda xi = Ni / K va xi + 1 = Ni + 1 / K i va vaqt i + 1 bo'yicha o'zgartirilgan populyatsiyalarni bildiradi. (5) tenglama logistik tenglama deb ataladi.

Bunday kichik modifikatsiya bilan bizning modelimizni tahlil qilish oson bo'lib tuyulishi mumkin. Keling, buni tekshirib ko'ramiz. A = 5 parametr uchun (0.5) tenglamani boshlang'ich populyatsiyadan boshlab x0 = 0.45 ni ko'rib chiqing. Ketma-ket populyatsiya qiymatlarini rekursiv tenglama (5) yordamida olish mumkin:

x1= bolta0(1 p0)

x2= bolta1(1 p1)

x3= bolta2(1 p2)

(6) dagi hisob-kitoblarni osonlashtirish uchun biz quyidagi dasturdan foydalanishimiz mumkin (u Python tilida yozilgan va boshqa narsalar qatori Sage platformasida ham ishga tushirilishi mumkin. http://icse.us.edu kitobini o'qishni tavsiya qilamiz. .pl/e-book .), bizning modelimizga taqlid qilib:

a = 0.5 x = 0.45 diapazondagi i uchun (10):      x \u1d a * x * (XNUMX-x)      x chop etish

Biz xi ning ketma-ket qiymatlarini hisoblaymiz va ularning nolga moyilligini sezamiz. Yuqoridagi kod bilan tajriba o'tkazish orqali, x0 ning boshlang'ich qiymatidan qat'i nazar, bu haqiqat ekanligini tushunish ham oson. Bu aholining doimiy nobud bo'lishini anglatadi.

Tahlilning ikkinchi bosqichida a parametrining qiymatini ae (1,3) diapazonidagi istalgan qiymatga oshiramiz. Ma'lum bo'lishicha, u holda xi ketma-ketligi ma'lum miqdorga boradi x * > 0. Buni ekologiya nuqtai nazaridan talqin qilsak, populyatsiya soni fasldan mavsumga o'zgarmaydigan ma'lum darajada mustahkamlanganligini aytishimiz mumkin. . Shuni ta'kidlash kerakki, x * ning qiymati x0 boshlang'ich holatiga bog'liq emas. Bu ekotizimning barqarorlashuvga intilishining samarasidir - aholi o'z hajmini o'zini oziqlantirish qobiliyatiga moslashtiradi. Matematik jihatdan, tizim barqaror sobit nuqtaga intiladi, deb aytiladi, ya'ni. x = f(x) tengligini qanoatlantiruvchi (bu keyingi momentdagi holat oldingi momentdagidek bo‘lishini bildiradi). Sage yordamida biz ushbu evolyutsiyani vaqt o'tishi bilan populyatsiyani grafik tarzda tasavvur qilishimiz mumkin.

Bunday barqarorlashtirish effekti tadqiqotchilar tomonidan kutilgan edi va logistik tenglama (5) hayratlanarli bo'lmaganda ko'p e'tiborni jalb qilmagan bo'lardi. Ma'lum bo'lishicha, parametrning ma'lum qiymatlari uchun model (5) oldindan aytib bo'lmaydigan tarzda harakat qiladi. Birinchidan, davriy va multiperiodik holatlar mavjud. Ikkinchidan, har bir vaqt qadami bilan populyatsiya tasodifiy harakat kabi notekis o'zgaradi. Uchinchidan, boshlang'ich sharoitlarga katta sezgirlik mavjud: ikkita deyarli farq qilmaydigan dastlabki holat butunlay boshqacha populyatsiya evolyutsiyasiga olib keladi. Bu xususiyatlarning barchasi butunlay tasodifiy harakatga o'xshash va deterministik xaos deb ataladigan xatti-harakatlarga xosdir.

Keling, ushbu mulkni o'rganamiz!

Birinchidan, a = 3.2 parametrining qiymatini o'rnatamiz va evolyutsiyani ko'rib chiqamiz. Ajablanarlisi shundaki, bu safar populyatsiya bitta emas, balki har ikkinchi mavsumda ketma-ket sodir bo'ladigan ikkita qiymatga etadi. Biroq muammolar shu bilan tugamayotgani ma’lum bo‘ldi. a = 4 bilan tizim endi oldindan aytib bo'lmaydi. Keling, (2) rasmni ko'rib chiqaylik yoki biz kompyuter yordamida raqamlar ketma-ketligini o'zimiz yaratamiz. Natijalar butunlay tasodifiy va bir oz boshqacha boshlang'ich populyatsiyalar uchun mutlaqo boshqacha ko'rinadi. Biroq, diqqatli o'quvchi e'tiroz bildirishi kerak. Deterministik tenglama1 bilan tasvirlangan tizim, hatto juda oddiy bo'lsa ham, qanday qilib oldindan aytib bo'lmaydigan tarzda harakat qilishi mumkin? Bo'lishi mumkin.

Ushbu tizimning o'ziga xos xususiyati uning dastlabki sharoitlarga ajoyib sezgirligidir. Bir milliondan biriga farq qiladigan ikkita boshlang'ich shartdan boshlash kifoya va bir necha qadamdan so'ng biz butunlay boshqacha aholi qiymatlarini olamiz. Keling, kompyuterda tekshiramiz:

a = 4.0

x = 0.123 u=0.123+0.000001 PKC = [] diapazondagi i uchun (25): x = a*x*(1-x) u = a*u*(1-u) chop etish x, y

Bu erda deterministik evolyutsiyaning oddiy modeli. Ammo bu determinizm aldamchi, bu faqat matematik determinizm. Amaliy nuqtai nazardan, tizim oldindan aytib bo'lmaydigan tarzda harakat qiladi, chunki biz hech qachon boshlang'ich shartlarni matematik jihatdan aniq belgilay olmaymiz. Aslida, hamma narsa ma'lum bir aniqlik bilan aniqlanadi: har bir o'lchov vositasi ma'lum bir aniqlikka ega va bu tartibsizlik xususiyatiga ega bo'lgan deterministik tizimlarda amaliy oldindan aytib bo'lmaydiganlikka olib kelishi mumkin. Misol tariqasida har doim tartibsizlik xususiyatini ko'rsatadigan ob-havo prognozi modellarini keltirish mumkin. Shuning uchun uzoq muddatli ob-havo prognozlari juda yomon.

Xaotik tizimlarni tahlil qilish juda qiyin. Biroq, biz kompyuter simulyatsiyasi yordamida betartiblikning ko'plab sirlarini juda oson hal qilishimiz mumkin. Keling, bifurkatsiya diagrammasini chizamiz, unga abscissa o'qi bo'ylab a parametrining qiymatlarini va ordinat o'qi bo'ylab logistik xaritalashning barqaror sobit nuqtalarini joylashtiramiz. Biz bir vaqtning o'zida ko'p sonli tizimlarni simulyatsiya qilish va ko'plab namunaviy vaqtlardan keyin qiymatlarni chizish orqali barqaror ball olamiz. Siz taxmin qilganingizdek, bu juda ko'p hisob-kitoblarni talab qiladi. Keling, quyidagi qiymatlarni "ehtiyotkorlik bilan" qayta ishlashga harakat qilaylik:

numpy ni np sifatida import qiling Nx = 300 Bu = 500 x = np.linspace (0,1, Nx) x = x + np.nollar((Na,Nx)) h = np.transpose (h) a=np.linspace(1,4,Na) a=a+np.nollar((Nx,Na)) diapazondagi i uchun (100): x=a*x*(1-x) pt = [[a_,x_] a_,x_ dyuym uchun zip(a.flatten(),x.flatten())] nuqta (pt, o'lcham = 1, rasm o'lchami = (7,5))

Biz rasmga o'xshash narsani olishimiz kerak (3). Ushbu rasmni qanday izohlash mumkin? Misol uchun, a = 3.3 parametrining qiymati bilan bizda 2 ta barqaror sobit nuqta mavjud (aholi soni har ikkinchi mavsumda bir xil). Biroq, a = 3.5 parametri uchun bizda 4 ta doimiy nuqta bor (har to'rtinchi mavsumda populyatsiya bir xil raqamga ega), a = 3.56 parametri uchun esa bizda 8 ta doimiy nuqta mavjud (har sakkizinchi mavsumda populyatsiya bir xil raqamga ega). Ammo a≈3.57 parametri uchun bizda cheksiz ko'p sobit nuqtalar mavjud (aholi soni hech qachon takrorlanmaydi va oldindan aytib bo'lmaydigan tarzda o'zgaradi). Biroq, kompyuter dasturi yordamida biz a parametrining ko'lamini o'zgartirishimiz va ushbu diagrammaning cheksiz geometrik tuzilishini o'z qo'llarimiz bilan o'rganishimiz mumkin.

Bu aysbergning faqat uchi. Bu tenglama haqida minglab ilmiy ishlar yozilgan, ammo u haligacha o'z sirlarini yashiradi. Kompyuter simulyatsiyasi yordamida siz hatto yuqori matematikaga murojaat qilmasdan, chiziqli bo'lmagan dinamika olamining kashshofini o'ynashingiz mumkin. Sizni logistik tenglamaning ko'plab qiziqarli xususiyatlari va ularni vizualizatsiya qilishning qiziqarli usullari haqida batafsil ma'lumotni o'z ichiga olgan onlayn versiyani o'qishni taklif qilamiz.

1 Deterministik qonun - bu kelajak yagona holat bilan belgilanadigan qonun. Antonim - ehtimollik qonuni. 2 Matematikada "diskret" ma'lum bir hisoblanuvchi to'plamdan qiymatlarni olishni anglatadi. Buning aksi "uzluksiz".

a Izoh qo'shish