380 likes | 650 Views
Biosistemų augimo ir evoliucijos modeliai. Doc. Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50-415 Email: damarobe @soften.ktu.lt. Fraktalai. Fraktalo sąvoką apie 1980 m. įvedė Mandelbrot’as
E N D
Biosistemų augimo ir evoliucijos modeliai Doc. Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50-415 Email: damarobe@soften.ktu.lt
Fraktalai • Fraktalo sąvoką apie 1980 m. įvedė Mandelbrot’as • Fraktalas – objektas, kurio pagrindinė savybė yra savipanašumas, kai objektą galima išskaidyti į mažas dalis, kurios yra sumažintos visos objekto struktūros kopijos. • Pavyzdžiui, medis, plaučiai, kraujotakos ir nervų sistema. • Fraktalinės struktūros • Kantoro (Cantor) aibė, • Peano (Pean) kreivė, • Kocho (Koch) kreivė, • Sierpinskio (Sierpinski) trikampis ir kilimas, • Žiulia (Julia) aibės. Bioinformatika (B110M100)
Fraktalų pavyzdžiai • Natūralus fraktalas: Romanesco kopūstas
Lichtenberg’o figūros • Suformuoja aukštos įtampos (pvz., žaibo) iškrova
Matematiniai fraktalų gavimo metodai • Iteracinių funkcijų sistema (IFS) • Atsitiktinių iteracinių funkcijų sistema (AIFS) • L-sistemos Bioinformatika (B110M100)
Fraktalų demonstracija • Fraktalinio augimo modelis • http://apricot.polyu.edu.hk/~lam/dla/dla.html Bioinformatika (B110M100)
Sierpinski trikampis • http://math.rice.edu/~lanius/fractals/sierjava.html Bioinformatika (B110M100)
IFS • Pradinei figūrai pritaikomas afininių transformacijų rinkinys. • Afininė transformacija w yra sudaryta iš posūkio, atspindžio, sumažinimo ir slinkties transformacijų. • Pritaikius taškui P = (x, y) afininę transformaciją, gausime kitą tašką, kurio koordinatės P = (u, v) apskaičiuojamos taip: u = ax + by + e v = cx + dy + fa,..., f - transformacijos koeficientai • Pritaikę afininių transformacijų rinkinį figūrai (taškų aibei), gausime kitą figūrą (kitą taškų aibę). • Kartojant šį procesą kartosime, po tam tikro laiko gausime nesikeičiantį vaizdą, kuris yra vadinamas atraktoriumi. • Praktiškai gali reikėti labai daug kartojimų Bioinformatika (B110M100)
AIFS • Taikomos ne visos transformacijos iš karto, bet tik viena iš jų, kuri yra pritaikoma tik vienam taškui. • Jei yra n afininių transformacijų wi, tai joms parenkamos atitinkamos pasirodymo tikimybės pi (∑ pi =1). • Konkrečios transformacijos taikymas priklauso nuo jos tikimybės. • Tokiu būdu gaunama taškų aibė s1, s2, s3 yra atsitiktiniai skaičiai iš intervalo [1...n]. Bioinformatika (B110M100)
AIFS: Kielek medis Bioinformatika (B110M100)
IFS demonstracija • http://www.cut-the-knot.org/ctk/ifs.shtml Bioinformatika (B110M100)
L-sistema • L-sistemas pirmasis panaudojo Lindenmajeris augalų ir dumblių augimo procesams aprašyti. • Kiekviena ląstelė turi savo pažymėjimą - raidę, kuri gali reikšti ląstelės amžių, dydį ar kitokią laike kintančią charakteristiką. • Įvedamos perrašymo taisyklės kiekvienai raidei. Pvz., ką tik gimusi ląstelė pažymima A raide, o suaugusi - B. • Ląstelė subręsta per vieną laiko tarpsnį ir kitu tarpsniu pasidalina į dvi ląsteles. Bioinformatika (B110M100)
L-gramatikos • Formaliai aprašo L-sistemas • Apibrėžimas: • Formali lygiagreti gramatika • Taisyklės taikomos lygiagrečiai • Savybės: • lygiagretumas • Neskiriami terminaliniai ir neterminaliniai skirtumai • L-sistemų tipai: • Nepriklauso nuo konteksto: taisyklė priklauso tik nuo vieno simbolio • Jautri kontekstui:taisyklė priklauso ne tik nuo vieno simbolio, bet ir nuo jo kaimynų • Stochastinės: kiekviena taisyklė pasirenkama su tam tikra tikimybe
DNR sekų generavimas naudojantL-gramatikas • Biologinis pagrindimas: • Visi simboliai yra vienodi, nėra skirtumo tarp terminalinių ir neterminalinių simbolių • Taisyklių tipai: • Trynimo taisyklė modeliuoja trynimo mutaciją • Grandinės taisyklė modeliuoja vieno nukleotido mutaciją • Kartojimo taisyklė modeliuoja pasikartojančius sekų motyvus • Augimo taisyklė modeliuoja DNR sekos augimą (evoliuciją) • Stochastinėtaisyklė modeliuoja atsistiktines sekos mutacijas
Formalus L-gramatikos aprašas Čia: • simbolių aibė • pradinė sistemos būsena. • simbolių generavimo taisyklės. • aibė tikimybių , kad taisyklė bus pritaikyta.
L-sistemos pavyzdys • Tokiu atveju perrašymo taisyklės yra tokios: A → B ir B → AA. • Jei pradėtume nuo vienos suaugusios ląstelės, gautume tokį vaizdą: B AA BB AAAA BBBB AAAAAAAA ir t.t. • Jei parinktume grafinį gautos sekos pavaizdavimą, galėtume stebėti, kaip vyksta sistemos evoliucija laike: vystymąsis arba augimas.
L-sistemos augimo pavyzdys Bioinformatika (B110M100)
L-sistemų pavyzdžiai Bioinformatika (B110M100)
Fraktalinis augalas Kintamieji : X F Konstantos : + − Pradžia : X Taisyklės : (X → F-[[X]+X]+F[+FX]-X), (F → FF) Kampas : 25° F reiškia “piešti į priekį" “-” reiškia “pasukti į kairę 25°" “+”reiškia " pasukti į dešinę25°" Bioinformatika (B110M100)
L-sistemų demonstracija • http://zool33.uni-graz.at/schmickl/models/petersil.html • http://jsxgraph.uni-bayreuth.de/wiki/index.php/L-systems • http://to-campos.planetaclix.pt/fractal/plantae.htm Bioinformatika (B110M100)
Ląsteliniai automatai (LA) • Hipotetinės mašinos, kurios egzistuoja begaliniame lauke, suskirstytame į elementarius laukelius, su tam tikromis taisyklėmis ir laukelio būsenų skaičiumi • LA: paprastas erdvinės decentralizuotos sistemos modelis sudarytas iš atskirų komponentų (ląstelių) • Ryšys tarp ląstelių yra apribotas vietine sąveika. • Kiekviena atskira ląstelė yra tam tikroje būsenoje, kuri keičiasi laike priklausomai nuo jos kaimynių būsenos • LA: lygiagretaus skaičiavimo įrenginys galintis modeliuoti sudėtingus gamtos reiškinius Bioinformatika (B110M100)
LA klasės • 1 klasės LA evoliucionuoja į vieną homogeninę būseną • 2 klasės LA turi paprastą periodinę struktūrą • 3 klasės LA pasižymi chaotiniu (pseudoatsitiktiniu) elgesiu • 4 klasės LA turi sudėtingą lokalizuotą struktūrą ir gali būti naudojamas kaip universalus skaičiavimo automatas
“Gyvenimo žaidimas” (Life Game) • “Gyvenimo žaidimas”: LA sukurtas 1970 m. Dž. Konvėjaus. • Prielaidos • "Žaidimo" erdvė - begalinė plokštuma, suskaidyta į lygaus dydžio kvadratėlius (ląsteles). • Ląstelė (kvadratėlis lentoje) gali būti gyva arba mirusi • Ląstelė (gyva ar ne), vis tiek sąveikauja su savo visais kaimynais (viso 8) • Žaidimo taisyklės. • Ląstelė, jei gyva, gali mirti iš vienatvės, kai turi mažiau nei 2 kaimynus. • Ląstelė, jei gyva, gali mirti dėl grūsties, kai daugiau nei 3 kaimynus. • Ląstelė lieka gyva, jei turi 2 ar 3 kaimynus. • Ląstelė, jei negyva, gali "gimti", kai turi 3 kaimynus.
Sistemos evoliucija • „Gyvenimo žaidimas“ yra biologinės sistemos augimo ir savi-organizacijos iliustracija. • Atsirandančios situacijos žaidimo metu yra panašios į realius procesus, vykstančius gimstant, vystantis ir mirštant gyvoms organizmų kolonijoms. • Procesas, kuris yra determinuotas ir paklūsta aiškiems dėsniams, gali atrodyti chaotiškas ir neprognozuojamas. • Vykstant evoliucijai galimos tokios sistemos būsenos: • Regresija – kaivisos ląstelės žūna (nors tai atsitinka ne iš karto) • Stabilumas – sistema pereina į svyravimų režimą. Tai pusiausvyrinis arba ciklinis vystymasis. • Katastrofa – sistema plečiasi be galo • Eksperimentiškai parodyta, kad gyvenimo žaidimo taisyklės yra pusiausvyra tarp regresijos ir katastrofos.
Praktinis pritaikymas • Iš LA galima sukonstruoti loginius elementus "ir", "arba", "ne" ir netgi primityvų kompiuterį su aritmetiniu loginiu įtaisu, magistrale ir atmintimi • Šis kompiuteris pasižymi universalios Tiuringo mašinos charakteristikomis ir gali spręsti bet kokio tipo uždavinius, kuriuos galima aprašyti algoritmiškai
Pavyzdys: Belousovo-Žabotinskio (BŽ) reakcijos modeliavimas • Cheminis osciliatorius • Modeliuoja periodinius biologinius procesus gyvuosiuose organizmuose (pvz. širdies plakimas) • Gali būti aprašomas Lotka-Volterra lygtimis arba LA • Jei ląstelė yra būsenoje 1, ji pereina į [a/k1]+[b/k2]+1 būseną, kur a yra ląstelių kiekis tarpinėse būsenose (t.y. ne minimalioje ir ne maksimalioje), o b yra ląstelių kiekis max. būsenoje • Jei ląstelė yra maksimalioje būsenoje, jos būsena pasikeičia į minimalią. • Tarpinėse būsenose esančios ląstelės būsena turi būti suvidurkinta atsižvelgiant į kaimynų būsenas: [S/(a+b+1)]+g, kur S yra 8 kaimynių ir pačios ląstelės būsenų suma, o g vartotojo parinkta konstanta. • http://mokslasplius.lt/rizikos-fizika/bz-reakcija
Ląstelinių automatų demonstracija • 5 LA tipai • http://www.hermetic.ch/dnld.php?code=PCA • Didelis taisyklių rinkinys • http://www001.upp.so-net.ne.jp/suzudo/index_e.html Bioinformatika (B110M100)
Evoliuciniai skaičiavimai (ES) • Apima genetinius algoritmus (GA), evoliucijos strategijas ir evoliucinį programavimą (EP). • Remiasi fundamentaliais “natūralios evoliucijos” principais. • Terminai buvo pasiskolinti iš biologijos ir genetikos, • “individai” (arba “genotipai”, “struktūros”) populiacijoje yra vadinami “chromosomomis” (arba “eilutėmis”), • “genai” (ar “savybės”, “tipai”, “šifratoriai”) yra chromosomų elementai (arba vienetai). • Evoliucinė programa yra tikimybinis algoritmas, kuris aprašo individų populiaciją P(t) = x1(t),...,xn(t), kur t žymi iteracijų skaičių.
ES procedūra • 1) Problema apibrėžiama kaip n-mačio realių skaičių vektoriaus XR’, kuris maksimizuoja tikslo funkciją F(X), paieška. • 2) Pradinių vektorių Xi, i = 1,...,P, populiacija atsitiktinai parenkama iš kiekvieno kintamojo galimų reikšmių intervalo. • 3) Rezultatų vektorius, Xi’, i = 1,...,P, gaunamas prie kiekvieno vektoriaus tėvo Xi atsitiktinį dydį, pasiskirsčiusį pagal Gauso pasiskirstymą su nuliniu vidurkiu. • 4) Lyginant paklaidas F(Xi) ir F(Xi’), i = 1,...,P išrenkamas vienas vektorius. P vektoriai su mažiausia paklaida tampa naujais kitos kartos tėvais. • 5) Iteracijos 2-3 kartojamos tol, kol gaunamas pakankamas sprendinys ar baigiasi duotas skaičiavimo laikas.
Genetiniai algoritmai (GA) 1) Apibrėžiama problema ir aprašoma tikslo funkcija. 2) Atsižvelgiant į apribojimus sugeneruojama galimų sprendimų X populiacija. X - “chromosoma”, o jos elementai - “genai”. 3) Kiekviena populiacijos chromosoma, Xi, i = 1,...,P, dekoduojama į formą, tinkamą skaičiavimui, ir jai priskiriama vertė atitinkanti tikslo funkciją. 4) Kiekvienai chromosomai priskiriama reprodukcijos tikimybė Pi, i = 1,...,P. 5) Iš esamos populiacijos sukuriama nauja chromosomų populiacija naudojant genetinius operatorius. 6) Procesas nutraukiamas, jeigu randamas tinkamas sprendimas arba baigiasi duotas skaičiavimo laikas. Priešingu atveju pereinama į 3 žingsnį ir ciklas kartojamas.
Pagr. GA operatoriai • Kryžminimas taikomas 2 chromosomom (tėvams) ir sukuria 2 naujas chromosomas (vaikus) parenkant atsitiktinę vietą dvejetainiame kode ir sujungiant dalį pirmos eilutės prieš pasirinktą vietą su dalimi antros eilutės po pasirinktos vietos • Mutacija leidžia pakeisti bet kurį bitą naujo sprendimo kodo eilutėje
GA ir ES palyginimas • GA naudoja genetinių operatorių modelius, tokius kaip kryžminimas, inversija ir mutacija, ir taiko juos konkrečioms chromosomoms. • ES naudoja mutuojančius tėvus ir jų vaikus individo ar sprendimų erdvės lygyje. • Taikant GA reikalingas informacijos kodavimas (pervedimas į dvejetaines eilutes) ir dekodavimas (pervedimas iš dvejetainės eilutės į realius fizinius dydžius). • ES gali tiesiogiai dirbti su natūraliomis duomenų struktūromis be kodavimo ir dekodavimo procesų.
Demonstracija • http://ccl.northwestern.edu/netlogo/models/SimpleGeneticAlgorithm Bioinformatika (B110M100)