Simulace přírodního výběru pěnkav
Název simulace: Simulace přírodního výběru pěnkav
Autor: Rubeš Ondřej, rubo01
Modelovací nástroj: NetLogo
Přírodní selekce je základním mechanismem evoluce, který poprvé formuloval Charles Darwin. Tento proces spočívá v tom, že jedinci s vlastnostmi, které jim umožňují lépe se přizpůsobit svému prostředí, mají větší šanci přežít a rozmnožit se. Charles Darwin popsal tři základní principy, které se uplatňují. První říká, že potomci dědí své vlastnosti od svých rodičů. Druhý, že se rodí více jedinců, než přežije. To znamená, že prostředí má omezené zdroje. A třetí, který tvrdí, že potomci se mezi sebou svými vlastnostmi liší. To vede k postupné změně genetického složení populace, protože příznivé vlastnosti se stávají běžnějšími v následujících generacích. Přírodní selekce je tedy klíčovým faktorem v adaptaci organismů na měnící se podmínky prostředí. [1]
Definice problému
Tato simulace se zaměřuje na studium přírodní selekce, konkrétně u pěnkav, známých také jako Darwinovy pěnkavy. Cílem je pochopit, jak různé faktory prostředí mohou ovlivňovat různé vlastnosti a charakteristiky jedinců, kteří se v prostředí vyskytují.
Metoda
Za nejvhodnější metodu modelování považuji multiagentní simulaci, protože v práci využíváme jedinců, kteří působí ve specifickém prostředí. V tomto prostředí interagují s ostatními jedinci, ale také s prostředím samotným.
Model
Model je abstrakcí reálného světa. Jelikož ne všechny významné rysy pěnkav mají vliv ve specifickém a izolovaném prostředí, budeme se zaobírat pouze těmi, které napomáhají přežití v tomto prostředí. Identifikoval jsem dvě vlastnosti, jejichž vývoj budeme zkoumat, tedy velikost jedince a přizpůsobení zobáku. Další charakterové rysy pěnkav jsou například: zbarvení, zpěv a vokalizace, hnízdění apod. Jedinci a prostředí mají poměrně rozsáhlé možnosti nastavení. Díky tomu lze specificky izolovat zkoumané jevy.
Nastavitelné parametry modelu
- Evolve-largeness – určuje, zdali se bude při reprodukci pěnkav adaptovat jejich velikost. (true/false)
- Evolve-beak-depth – určuje, zdali se bude při reprodukci pěnkav adaptovat jejich zobák. (true/false)
- Finches – původní počet pěnkav v simulaci (5 – world-size * 2)
- Birds-vision-radius – dohled pěnkav kolem sebe (5 – world-size)
- Must-by-larger-by-percent – koeficient, který určuje o kolik procent musí být jedince větší, aby mohl vyhnat od potravy jedince menšího. (10–100)
- Evolution-koeficient – hodnota určuje rozsah možných změn jedinců oproti jeho rodičům. (0.1-1)
- Food – určuje počet potravy v prostředí (2- finches * 1.5)
- Eat-time-ticks – určuje počet ticků, na který se musí jedinec zastavit, aby spořádal potravu (10-100)
- Seeds-hardness-mean – střední hodnota vlastnosti hardness generované potravy (6-12)
- World-size – velikost prostředí (32-44)
- Cycle-lenght – maximální doba jednoho cyklu v počtech ticků (500–1000)
Agenti – pěnkavy
Hlavními aktéry simulace jsou pěnkavy, které se snaží přežít ve specifickém prostředí. Pěnkavy mají různé vlastnosti a úkony, které provádějí.
Pozice
Základní pozice pěnkav se určuje vždy na začátku cyklu a jsou rozmístěny náhodně po obvodu plochy, která představuje simulované prostřední. V případě, že se pěnkavě podařilo sehnat dostatek potravy, vrací se na původní pozici, než skončí cyklus.
Vlastnost
- start-x – souřadnice x začínajícího pole, slouží k vrácení na začátek, pokud jedinec sehnal dostatek potravy. Je určena náhodně na začátku cyklu.
- start-y – souřadnice y začínajícího pole, slouží k vrácení na začátek, pokud jedinec sehnal dostatek potravy. Je určena náhodně na začátku cyklu.
- target – cílová potrava, za kterou pták letí. V průběhu cyklu se mění a určuje se pomocí funkce hledání potravy.
- speed – rychlost kterou se pohybuje jedinec, je dáno koeficientem 0.7 – jeho velikostí / 100. Čím je jedinec větší, tím větší váhu nese a je o to pomalejší. Samotná rychlost nemá tak významný rozdíl, a jelikož se jedná o stejný typ ptactva, můžeme tuto vlastnost počítat zmíněným způsobem.
- eaten-seeds – počet zajištěné potravy v cyklu, důležité pro konečnou fázi cyklu. Základem je hodnota nastavena na 0.
- find-delay – pozastavení hledání na krátkou dobu (10 ticků), pokud je jedinec vystrnaděn z od potravy.
- beak-depth – vlastnost zobáku jedince, pohybuje se v rozmezí 6-14mm a určuje, kterou potravu je schopen sníst. Základní hodnota je náhodná z normálního rozdělení se střední hodnotou 9 a rozptylem 1.2.
- largeness – velikost jedince, figuruje v možnosti odehnat jiné jedince od potravy (10-27cm) a rychlosti pohybu. Základní hodnota je náhodná z rozmezí 10-15cm.
- Zbarvení – měníme v závislosti na počtu nalezené potravy (0 = zelená, 1 = modrá, 2 = červená)
Pohyb
Pohyb v simulaci je odlišný v závislosti na několika jevech. Jedním z typů pohybu je náhodné hledání. Pěnkava se pohybuje v prostředí zcela náhodně, dokud nenalezne potravu. V případě, že má aktivní cíl (target), pohybuje se přímo k němu. Posledním případem je, když sehnala dostatek potravy a vrací se na startovní pozici. V takovém případě se pohybuje přímo na ni. Jelikož se pěnkavy pohybují vzduchem, nejsou zde řešeny kolize jedinců.
Hledání potravy
Při náhodném pohybu zároveň probíhá vyhledávání potravy. To je pomocí jednoduché funkce, která v okolí jedince, dle nastavení, hledá potravu, kterou je schopen sníst a která není zabraná nebo je zabrána menším jedincem, kterého lze vystrnadit. I tuto skutečnost lze modifikovat. Jedinec hledá potravu, dokud se nenasytí dvěma kusy.
Vystrnadění slabšího
Jelikož v simulaci izolujeme pouze stejný druh ptactva, řešíme souboj o potravu prostřednictvím velikosti jedinců, kde větší jedinec vyhrává. Protože nelze přesně stanovit, jak velký velikostní rozdíl musí být mezi jedinci, aby k tomu došlo, je tato vlastnost nastavitelná. V příkladu to znamená, že když se k jednomu zdroji potravy sletí více jedinců, zůstane potrava tomu největšímu a nejrychlejšímu. Dalším případem je, když při hledání potravy uvidím zdroj potravy okupován slabším jedincem. V tomto případě jej považuji za volné, protože ho lze vyhnat.
Ukončení cyklu
Existuje několik podmínek, které končí jeden cyklus simulace.
- V prostředí se nenachází žádná potrava
- Všichni jedinci jsou již plně najedení
- Proběhl nastavitelný počet ticků potřebný k ukončení cyklu
Na konci cyklu jedinci umírají v případě, že nesehnaly žádnou potravu. Přežívají, pokud sehnaly alespoň jednu a rozmnožují se, pokud získali dvě. Zároveň se resetuje vlastnost eaten-seeds na její původní hodnotu.
Reprodukce
Pokud se pěnkavě povedlo získat více potravy (2) tak je schopna reprodukce. Je vytvořen nový jedinec a jeho vlastnosti odvozeny od rodiče. V zjednodušeném světě má potomek pouze jednoho rodiče. Zároveň je provedena modifikace zkoumaných atributů. Nelze však dosáhnout jiných hodnot vlastností než v povoleném rozsahu.
Prostředí
Simulované prostředí abstrahuje pouze jedince pěnkav a potravy. Izoluje je tak od jakýchkoli dalších vlivů, to znamená, že v prostředí nevyskytují žádní predátoři a jediná smrt jedinců nastává z nedostatku potravy. Jediné soupeření je mezi jedinci samotnými. V simulaci je velikost prostředí dána velikostí plochy, kde se jedinci pohybují.
Semínka
Hlavním prvkem v prostředí, mimo pěnkav, které jsme již popsali, je potrava v podobě semínek. Ta jsou začátkem každého cyklu generována náhodně v prostředí s odlišnou hodnotou vlastnosti hardness. Ta pochází z normálního rozdělení, jehož střední hodnotu lze nastavit a rozptylu rovnému jedné. Tento jev je odvozen od vlastnosti beak-depth u pěnkav. Výsledkem je, že různí jedinci zvládnou pozřít různou škálu semínek.
Vlastnosti
- Hardness – náročnost získání potravy. Porovnává se s vlastností zobáku (<beak-depth)
- Eat-time – odpočitávadlo pro dobu, kterou musí jedinec strávit získáváním potravy (nastavitelné)
- Occupied-by – odkaz na agenta pěnkavy, který právě získává potravu z tohoto zdroje.
Výsledky
Díky modelu můžeme pozorovat vývoj vlastností pěnkav při různých specifikách prostředí. Výsledkem jsou jedinci s nejlépe uzpůsobenými vlastnostmi k danému prostředí. Hlavní výstupy tvoří porovnání mezi vývojem vlastností jedinců. V práci si ukážeme několik příkladů, kdy různorodost prostředí vyzdvihuje odlišné vlastnosti. Změny budeme pozorovat mezi 50-100 cykly.
Základní
Při základním nastavení parametrů (viz. obr) můžeme již po 60 cyklech pozorovat vývoj vlastností. Populace se ustálila již po několika cyklech v rozmezí 45-55 jedinců. To je způsobeno počtem generované potravy (50) a možnostmi přežití a reprodukce. Velikost jedinců se změnila, její hodnoty se pohybují dvěma směry. První je nízká (kolem 9 cm), kdy jsou jedinci rychlejší. Druhým směrem jsou větší jedinci (kolem 14cm), kteří mají výhodu velikosti a dokáží vystrnadit menší jedince. Vlastnost beak-depth zůstala téměř beze změny. Největší zastoupení má střední hodnota 9mm a krajní hodnoty vymizely. To znamená, že v tomto prostředí není zapotřebí výrazné uzpůsobení zobáku potravě.
Náročné získání potravy
V tomto scénáři dojde v prostředí k silnému zvýšení náročnosti získání potravy (seeds-hardness-mean). Tato situace jednou nastala i v reálném světě a již při prvních potomcích byl zaznamenán rozdíl v uzpůsobení zobáku. Můžeme předpokládat podobné závěry i v tomto modelu. Při pozorování této simulace zaznamenáváme zásadní změnu v ustálení populace, nejdříve je náhlý propad, protože umírají jedinci, kteří nejsou schopni získat žádnou potravu. Následně v několika cyklech roste populace, tedy jedinci s lepší vlastností beak-depth se začínají reprodukovat. Po několika dalších cyklech dochází k ustálení opět kolem počtu generovaného jídla. Zásadní vliv tohoto prostředí pozorujeme ve vlastnosti beak-depth, která se nyní pohybuje kolem 13mm. Můžeme tedy říci, že změna této vlastnost byla kritickou reakcí na změnu v prostředí. Velikost jedinců se posunula lehce vpravo, jsou tedy o něco větší než původní rozdělní. Tato vlastnost však není signifikantní v tomto prostředí.
Menší prostředí s pomalým získáváním potravy
V tomto případě je prostředí menší a získávání potravy pomalejší. Výsledkem je signifikantní změna velikosti, která se dostala na průměr 15,5cm. Populace rostla a ustálila se běžným způsobem jako v základní simulaci. Uzpůsobení zobáku zaznamenalo posun k vyšším hodnotám, ale ne tak velkým jako při druhé simulaci.
Závěr
V této práci jsme se zaměřili na studium přírodní selekce u Darwinových pěnkav pomocí simulace v NetLogo. Naším cílem bylo pochopit, jak různé faktory prostředí ovlivňují vlastnosti jedinců, konkrétně velikost a přizpůsobení zobáku, a jak tyto změny vedou k evolučním adaptacím.
Pomocí multiagentní simulace jsme vytvořili model, který umožňuje sledovat dynamiku populace pěnkav v různých prostředích a za různých podmínek. Díky široké škále nastavitelných parametrů jsme mohli izolovat specifické jevy a analyzovat jejich dopady na vývoj vlastností pěnkav.
Na základě výsledků můžeme konstatovat, že se nám podařilo úspěšně simulovat a analyzovat proces přírodní selekce u pěnkav. Naše simulace poskytla cenné vhledy do toho, jak specifické environmentální podmínky ovlivňují evoluční adaptace a jak různé vlastnosti jedinců mohou být selektivně výhodné v různých situacích.
Kód
Reference
- ↑ The Galapagos Finches and Natural Selection Dostupné z: https://bio.libretexts.org/Bookshelves/Introductory_and_General_Biology/General_Biology_(Boundless)/18%3A_Evolution_and_the_Origin_of_Species/18.01%3A_Understanding_Evolution/18.1C%3A_The_Galapagos_Finches_and_Natural_Selection