IV121 – Vybrané aplikace informatiky v biologii NetLogo Modelování v nástroji NetLogo IV121 – Vybrané aplikace informatiky v biologii 5. 3. 2013 Sven Dražan IV121 – Vybrané aplikace informatiky v biologii NetLogo Obsah • Hrátky s modely • Základy NetLoga • Tvorba jednoduchého modelu • Zadání projektu IV121 – Vybrané aplikace informatiky v biologii NetLogo NetLogo NetLogo – prostředí pro modelování pomocí agentů • Rozhranní pro programování a vizualizaci • http://ccl.northwestern.edu/netlogo/ • http://ccl.northwestern.edu/netlogo/docs/ • Rozsáhlá knihovna anotovaných modelů pro edukativní účely IV121 – Vybrané aplikace informatiky v biologii NetLogo Model – Conway’s Game of life • NetLogo: Computer Science/Cellular Automata/Life • Pokud má mrtvá buňka právě tři živé sousedy ožije. • Pokud má živá buňka právě dva živé sousedy přežije. • Jinak buňka umírá. IV121 – Vybrané aplikace informatiky v biologii NetLogo Game of Life – Stabilní konfigurace IV121 – Vybrané aplikace informatiky v biologii NetLogo Game of Life – „Glider gun“ IV121 – Vybrané aplikace informatiky v biologii NetLogo Game of Life – „Breeder“ IV121 – Vybrané aplikace informatiky v biologii NetLogo Game of Life – „Rakes“ a „Stable puffer“ IV121 – Vybrané aplikace informatiky v biologii NetLogo Game of Life – Závodní okruh IV121 – Vybrané aplikace informatiky v biologii NetLogo Modely - Termiti • NetLogo: Biology/Termites • Termiti se náhodně pohybují. • Když termit narazí na dřívko a žádné u sebe nemá, zvedne jej. • Když termit narazí na dřívko a jedno u sebe již má, položí to svoje vedle a jde s prázdnou dál. Jak se bude model chovat? IV121 – Vybrané aplikace informatiky v biologii NetLogo Model - Hlenky • http://www.youtube.com/watch?v=bkVhLJLG7ug • http://www.youtube.com/watch?v=9CRNmde0WUc IV121 – Vybrané aplikace informatiky v biologii NetLogo Model - Hlenky • Jaký je mechanismus shlukování? • Navrhněte centralizovaný a decentralizovaný • NetLogo: Biology/Slime IV121 – Vybrané aplikace informatiky v biologii NetLogo Inteligentní hlenky IV121 – Vybrané aplikace informatiky v biologii NetLogo Základy NetLoga - http://ccl.northwestern.edu/netlogo/ • Model tvořen • Agenty 3 možných typů (políčka, želvičky, vazby mezi želvičkami) • Ovládacími prvky • Vizualizací modelového světa • Grafy znázorňujícími proměnné modelu IV121 – Vybrané aplikace informatiky v biologii NetLogo Základy NetLoga – Agenti • Každý agent má ID (who), svoje proměnné, a pozici • Patches (políčka) • existují od spuštění modelu • Nepohybují se, nezanikají, jen jeden druh • Turtles (želvičky) • Je třeba je vytvořit na začátku • Mohou se pohybovat • Mohou vznikat, zanikat, schovávat se • Možností různých druhů s různými proměnnými a chováním • Links (vazby) • Spojují vždy dvě želvičky • Mohou být různých druhů • Nemají pozici IV121 – Vybrané aplikace informatiky v biologii NetLogo Základy NetLoga – Principy a záludnosti • Programovací jazyk blízký přirozenému • Velké množství předdefinovaných procedur a funkci • Některé názvy procedur tvořené proměnnými • create-, -here, -at • Želvy mají přímý přístup k proměnným políčka kde stojí • Další časový okamžik pomocí tick • Automatické kreslení grafů pomocí plot a plotxy • Některé nastavení pouze přes grafické rozhraní • Topologie světa a jeho rozměr • Proměnné z ovládacích prvků • Grafy a jejich vlastnosti IV121 – Vybrané aplikace informatiky v biologii NetLogo Tvorba jednoduchého modelu IV121 – Vybrané aplikace informatiky v biologii NetLogo NetLogo – Další užitečné části • Export do Java appletu • System Dynamics Modeler • Behaviour space • Editor tvarů želev a vztahů • 3D rozšíření • HubNet IV121 – Vybrané aplikace informatiky v biologii NetLogo Projekt – Pochopení jevu chemotaxe • Model chemotaxe v souboru chemotaxe_gradient.nlogo postihuje chování bakterií, které se snaží být co nejblíže zdroji potravy. • Zjistěte při kterém nastavení pravděpodobností je chemotaxe nejefektivnější. IV121 – Vybrané aplikace informatiky v biologii NetLogo Projekt – Vytvoření modelu • Vašim úkolem je vytvořit evoluční model tohoto fenoménu, tedy začít s bakteriemi, které mají obě pravděpodobnosti (forward-if-increasing / forward-ifdecreasing) stejné a rovné 50%. • Po konečném počtu generací (potenciálně velkém) budou mít bakterie vyvinutou schopnost chemotaxe, tzn. pravděpodobnosti se přiblíží hodnotám pro které je chemotaxe efektivní. • Vznik chemotaxe by měl být dán evolučním tlakem prostředí, nikoliv nějakou ad hoc podmínkou v kódu. IV121 – Vybrané aplikace informatiky v biologii NetLogo Projekt – Model Co by měl model obsahovat: • Prostředí s gradientem/ty potravy, která se nějakým způsobem doplňuje, rozptyluje difuzí a ztrácí se. • Bakterie, které potravu konzumují, pohybují se, množí a umírají. • Mutace, vznikající při dělení bakterií, které ovlivňují individuální parametry nově vzniklého jedince/ců. • Vizualizaci historie schopnosti chemotaxe a současné distribuce této vlastnosti mezi žijícími jedinci. IV121 – Vybrané aplikace informatiky v biologii NetLogo Projekt – Inspirace Co lze použít • Kusy kódu z libovolného existujícího projektu v NetLogu • Model chemotaxe ze souboru chemotaxe_gradient.nlogo • Model difuze ze souboru chemotaxe_diffusion.nlogo Inspiraci k evolučním modelům lze najít např. v sekci Model library / Biology / Evolution IV121 – Vybrané aplikace informatiky v biologii NetLogo Projekt – Odevzdání • Projekt odevzdejte v podobě kompletního modelu v NetLogu včetně řádně popsaného modelu v záložce Info. • V záložce Info také udejte za jak dlouho (počet kroků) dojde k vzniku chemotaxe a jeden takový výsledný stav modelu exportujte jako celý svět do formátu model_world.csv • Model a výsledný stav světa nahrejte jako dva samostatné soubory do odevzdávárny předmětu https://is.muni.cz/auth/el/1433/jaro2013/IV121/ode/ode_39365977/ • Deadline na odevzdání projektu je úterý 2.4. v 20:00. • Případné dotazy posílejte na sven@mail.muni.cz IV121 – Vybrané aplikace informatiky v biologii NetLogo Zdroje a odkazy • http://ccl.northwestern.edu/netlogo – Stránky nástroje NetLogo • http://ccl.northwestern.edu/netlogo/docs/ - Uživatelský manuál • http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life – Hra život • http://en.wikipedia.org/wiki/File:Color_coded_racetrack_large_channel.gif • http://www.youtube.com/watch?v=bkVhLJLG7ug – Shlukování hlenky • http://www.youtube.com/watch?v=9CRNmde0WUc – Vznik spórů • http://www.cbc.ca/news/technology/story/2010/01/21/tech-biology-slimemold-railway.html – Článek o „inteligenci“ hlenek