360 likes | 811 Views
Biosistemų modeliai. Doc. Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50-415 Email: damarobe @soften.ktu.lt. Biosistemų modeliai. Ekosistemų modeliai Plėšrūno-aukos modelis Neuroniniai modeliai Dirbtiniai neuroniniai tinklai Augimo modeliai Fraktalai L-sistemos
E N D
Biosistemų modeliai Doc. Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50-415 Email: damarobe@soften.ktu.lt
Biosistemų modeliai • Ekosistemų modeliai • Plėšrūno-aukos modelis • Neuroniniai modeliai • Dirbtiniai neuroniniai tinklai • Augimo modeliai • Fraktalai • L-sistemos • Evoliuciniai modeliai • Genetiniai algoritmai Bioinformatika (B110M100)
Plėšrūno-aukos modelis (1) • Pasiūlė A.J. Lotka (1925) ir V. Volterra (1926) • Tarkime, triušiai yra aukos, o vilkai – plėšrūnai • x(t) – triušių skaičius, • y(t) - vilkų skaičius momentu t. • Aukų populiacija apribota plėšrūnų populiacijos, triušiai dauginasi eksponentiškai • Vilkų populiacijos augimas priklauso nuo jų medžiojimo sėkmės • Vilkų populiacijos mažėjimas priklauso nuo natūralaus mirtingumo • Auka turi neribotą maisto kiekį ir dauginasi eksponentiškai, jeigu nėra medžiojama • Medžiojimo koeficientas yra proporcingas plėšrūno ir aukos susitikimo dažniui Bioinformatika (B110M100)
Plėšrūno-aukos modelis (2) • Galima užrašyti matematiškai diferencialinių lygčių sistema: X – aukų skaičius/tankis; Y – plėšrūnų skaičius/tankis; α – aukų augimo greitis; β – X medžiojimo greitis; γ – Y asimiliacijos koeficientas; δ – plėšrūnų mirtingumo koeficientas • Sistema turi dvi pusiausvyras: • Vilkai ir triušiai išnyksta: x* = 0, y* = 0. • Pusiausvyra, kai x* = γ/δβ, y* = α/β. Bioinformatika (B110M100)
Plėšrūno ir aukos populiacijų dinamika • Plėšrūno ir aukos modelis yra taikomas ir plačiau, kai egzistuoja konkurencija dėl tam tikrų resursų. Bioinformatika (B110M100)
Erdvinis plėšrūno-aukos modelis • Demonstruoja populiacijų dinamiką erdvėje • Pagrįstas Lotka-Volterra modelio lygtimis • Modelio veikimo principas • Vienoje vietoje (ląstelėje) gali būti vilkas (plėšrūnas) arba triušis (auka) • Kiekvienu laiko momentu atsitiktinai yra pasirenkama viena ląstelė ir tos ląstelės kaimynas • Jei viename pasirinktų langelių yra vilkas, o kitame triušis, tuomet triušis yra suvalgomas (miršta) • Pasisotinęs vilkas gali atsivesti palikuonių (su tam tikra tikimybe) • Jei viename pasirinktų langelių yra triušis, o kitame nieko nėra, tai zuikis gali atsivesti palikuonių (su tam tikra tikimybe) • Jei po visų šių pakeitimų vienas langelis tebėra užimtas, o kitas laisvas, tai įvyksta perėjimas į laisvąjį langelį
Sudėtingesni modeliai • Naudojami sudėtingesnėms ekosistemoms modeliuoti • Vilkų ir avių modelis: 3 rūšių (vilkų, avių, žolės) sąveika • Nestabili ekosistema: laiko bėgyje išnyksta viena arba daugiau rūšių • Stabili ekosistema: nei viena rūšis neišnyksta - populiacijų skaičius svyruoja apie kažkokią konkrečią vertę • Galima modeliuoti pasinaudojant Lotka-Volterra lygtimis • Modelio principai: • Pradiniu laiko momentu yra tam tikras kiekis kiekvienos rūšies atstovų • Vilkai ir avys juda vieną ląstelę į atsitiktinę pusę. Žolė nejuda. • Jei vilkas ir avis arba avis ir žolė yra toje pačioje ląstelėje, tai pirmasis gyvūnas suvalgo antrajį. • Rūšies atstovas surijęs kitos rūšies atstovą atstato savo energiją • Jei vilkas arba avis yra vieni ląstelėje, tai jie netenka vieno vieneto energijos. Jei energija < 0, tai vilkas arba avis miršta. • Bet kuriuo laiko momentu vilkas ar avis gali reprodukuotis (su tam tikra tikimybe). Žolė atauga kas tam tikrą laiką.
Plėšrūno-aukos modelio vizualizacija • Grafinė vizualizacija • http://mokslasplius.lt/rizikos-fizika/lotka-volterra • http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) • Erdvinė vizualizacija • http://mokslasplius.lt/rizikos-fizika/auka-ir-plesrunas-agentai • http://mokslasplius.lt/rizikos-fizika/vilku-ir-aviu-modelis • http://www.ph.ed.ac.uk/nania/lv/lv.html • http://germain.umemat.maine.edu/faculty/hiebeler/java/CA/PredPrey/PredPrey.html • http://www.leinweb.com/snackbar/wator/ Bioinformatika (B110M100)
Biologiniai neuroniniai tinklai • Žmogaus nervų sistema – labai sudėtingas neuronų tinklas • sudaro 10 mljrd. biologinių tarpusavyje sujungtų neuronų • Kiekvieną neuroną sudaro ląstelės branduolys, vienas aksonas ir daugybė dendritų • Ląstelės branduolys sumuoja signalus, gautus iš dendritų ir sinapsių • Dendritas priima signalus iš kitų neuronų • Aksonas perduoda elektrinius signalus • Maži tarpai tarp išsišakojusių aksono galų ir dendritų vadinami sinapse. • Neuronas, gavęs pakankamai įvesties signalų, stimuliuojančių neuroną iki slenkstinio lygio, išsiunčia impulsą savo aksonui • Tačiau jei įvesties signalai nepasiekia reikiamo slenkstinio lygio, jie greitai nuslopsta taip ir nesukėlę jokių veiksmų Bioinformatika (B110M100)
Biologinio neurono sandara www.elektronika.lt Bioinformatika (B110M100)
Dirbtinio neurono sandara www.elektronika.lt Bioinformatika (B110M100)
Dirbtinis neuronas • Svarbiausias neuroninio tinklo elementas. • komponentai: svoriai, slenksčiai ir aktyvavimo funkcija: X = [x1, x2, ..., xn] – neurono įvestis, W = [W1, W2, ..., Wn] - svorio koeficientai, rodantys atskirų įvesčių stiprumus jei Wi > 0, sužadinamas signalas išvestyje y jei Wi < 0 – išvesties signalas slopinamas Θ – vidinis neurono sklenkstis f – neurono aktyvavimo funkcija y – neurono išvestis Bioinformatika (B110M100)
Aktyvavimo funkcija • Aktyvavimo funkcija –matematinės operacijos su išvesties signalu. • Kokio sudėtingumo aktyvavimo funkcija taikoma, priklauso nuo neuroninio tinklo sprendžiamo uždavinio. • Populiariausios – tiesinė, slenksčio, agregatinė tiesinė, sigmoidinė ir hiberbolinio tangento aktyvavimo funkcijos. • Dažniausiai naudojama sigmoidinė funkcija: Bioinformatika (B110M100)
Neuroninių tinklų struktūra • Skiriami vienasluoksnių ir daugiasluoksnių perceptronų neuroniniai tinklai. • Daugiasluoksnių perceptronų tipo neuroninį tinklą sudaro: • Įvesties sluoksnis – neuronai, priimantys informaciją iš išorinių šaltinių ir siunčiantys ją apdoroti tinklui. • Paslėptasis sluoksnis – neuronai, priimantys informaciją iš įvesties sluoksnio ir apdorojantys ją tik jiems žinomu būdu. • Išvesties sluoksnis – neuronai, gaunantys apdorotą informaciją ir siunčiantys ją iš neuroninio tinklo. Bioinformatika (B110M100)
Daugiasluoksnis neuroninis tinklas www.elektronika.lt Bioinformatika (B110M100)
Vienkrypčio ryšio neuroninis tinklas • Vieno sluoksnio išvestys gali jungtis tik su kito sluoksnio įvestimis. • Paskutinio sluoksnio išvestys laikomos tinklo išvestimis. www.elektronika.lt Bioinformatika (B110M100)
Grįžtamojo ryšio neuroninis tinklas • Įvestis sudaro išorinės įvestys ir paties tinklo išvestis, kuriai būdingas tam tikras vėlinimas. www.elektronika.lt Bioinformatika (B110M100)
Neuroninių tinklų apmokymas (1) • Prižiūrimas mokymas • Reikalingas išorinis mokytojas (duomenų rinkinys, programa, stebėtojas), valdantis mokymosi procesą ir teikiantis informaciją • Tikslas – priversti neuroninį tinklą pakeisti neuroninių jungčių svorius pagal pavyzdines įvestis ir išvestis • Mokymas baigiamas tinklui išmokus (galima minimali paklaida) sieti įvestis su išvestimis • Svarbus veiksnys – mokymo duomenų aibė, kuri turi būti suprantama ir privalo aprėpti visas tinklo taikymo sritis • Tinklas veiks gerai tik parinkus tinkamą mokymo aibę Bioinformatika (B110M100)
Neuroninių tinklų apmokymas (2) • Neprižiūrimas mokymas • Neturi išorinio mokytojo. • Pateikiami tik įvesčių pavyzdžiai • Sistema pati pagal požymius turi suklasifikuoti įvestis. Bioinformatika (B110M100) 19
Neuroninių tinklų taikymai (1) • Ekonomikoje: • Finansinėms galimybėms vertinti: atsižvelgdami į kompanijos ar individualaus asmens finansines galimybes, tinklai nusprendžia, ar suteikti jiems kreditą. • Finansinėms prognozėms: prognozuojami būsimi akcijų kursai. • Vertybinių popierių portfeliui formuoti: kaip gauti didžiausią vertybinių popierių pelną ir kiltų mažiausia rizika. • Sukčiavimams nustatyti: automatiškai nustato bandymus neteisėtai atsiskaityti kreditine kortele • Medicinoje: • Medicininei diagnozei: analizuodami simptomus ir vaizdo duomenis, pavyzdžiui, rentgeno nuotraukas, tinklai padeda gydytojams nustatyti diagnozę.
Neuroninių tinklų taikymai Pramonėje: Procesams modeliuoti ir valdyti: geriausiems valdymo parametrams nustatyti. Mašinų diagnostikai: stebi mašiną ir jai sugedus įspėja sistemą. Kokybei valdyti: pasitelkus vaizdo kamerą ar jutiklį analizuojama gaminių kokybė. IT: Balsui atpažinti: tariamus žodžius verčia ASCII tekstu. Intelektualiai paieškai: neuroniniai tinklai taikomi kuriant interneto paieškos variklius, besiremiančius ankstesnės vartotojo elgsenos analize ir pateikiančius vartotojui rezultatus.
DNT taikymo pavyzdys • Antrinės baltymų struktūros prognozavimui atliekami tokie žingsniai: • Sukurkite neuroninį tinklą (parašykite programą). • Apmokykite neuroninį tinklą su žinoma antrine struktūra. • Paduokite neuroniniam tinklui naujus baltymus su nežinoma struktūra ir nustatykite jų struktūrą. • Pasitikrinkite, ar numatoma struktūra yra biologiškai prasminga. • Dažniausiai yra naudojami grįžtamojo ryšio daugiasluoksniai neuroniniai tinklai. Bioinformatika (B110M100)
Demonstracija • Funkcijos aproksimavimas • http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html • Įvairūs neuroninių tinklų modeliai • http://ccl.northwestern.edu/netlogo/models/Perceptron • http://www.neuroinformatik.ruhr-uni-bochum.de/ini/VDM/research/gsn/DemoGNG/GNG.html • http://www.simbrain.net/Downloads/downloads_main.html Bioinformatika (B110M100)
Matematiniai evoliucijos modeliai • Molekulinių-genetinių sistemų kilmės modeliai • nagrinėja gyvybės kilmės problemas • Kvazirūšys, hiperciklai, syseriai • Bendrieji evoliucijos modeliai • aprašo informacinius evoliucijos aspektus • Fraktalai, ITS, L-sistemos • Dirbtinės gyvybės modeliai • analizuoja dirbtinių “organizmų” egzistuojančių kompiuterio atmintyje gyvenimo ir evoliucijos aspektus • Ląsteliniai automatai, “Gyvenimo žaidimas” • Taikomieji evoliucijos modeliai • naudoja evoliucinius optimizavimo metodus • Evoliuciniai skaičiavimai, genetiniai algoritmai Bioinformatika (B110M100)
Kvazirūšių modelis • Aprašo save atgaminančių cheminių molekulių, pvz., RNR arba DNR, evoliuciją • Remiasi 4 prielaidomis • Save atgaminantys organizmai gali būti aprašyti sekomis, sudarytomis iš nedidelio skaičiaus blokelių • Naujos sekos atsiranda sistemoje tik jau egzistuojančių sekų kopijavimo (be klaidų arba su klaidomis) pasėkoje • Žaliavų reikalingų kopijavimui visada pakanka • Sekos gali skilti į sudedamąsias dalis, o skilimo tikimybė nepriklauso nuo sekos amžiaus. Bioinformatika (B110M100)
Matematinis kvazirūšių aprašas • Yra S galimų sekų ir niorganizmų su seka i. • Kiekvienas iš šių organizmų turi Ai palikuonių. • Kiekviena seka yra N simbolių eilutė, kur simboliai yra imami iš l raidžių turinčios abėcėlės. • Kai kurie iš šių palikuonių yra savo tėvo kopijos ir turi seką i, o kiti yra mutantai ir turi skirtingą seką. • Mutacijos dažnis qijreiškia tikimybę, kad j tipo tėvas turės i tipo palikuonį. • Evoliucijos procesą sudaro vienas po kito einančios sekų kartos. Nauja karta S(t+1) yra gaunama iš prieš tai buvusios kartos S(t).
Kvazirūšių evoliucijos algoritmas • 0 žingsnis.Pradinės populiacijos S(0) formavimas. Kiekvienam k = 1 , ..., n, ir i = 1 , ..., N , atsitiktinai pasirinkite simbolį Ski iš duotos abėcėlės. • 1 žingsnis. Atrinkimas. • 1.1. Konkrečios sekos atrinkimas. Atsitiktinai pasirinkite seką k ir sukurkite seką S(t+1) iš sekos S(t). • 1.2. Sekos atrinkimo kartojimas. Kartokite žingsnį 1.1 tol, kol sekų skaičius naujoje populiacijoje pasiekia reikšmę n. • 2 žingsnis.Mutacijos. Kiekvienam k = 1 , ..., n, ir i = 1 , ..., N, su tikimybe P pakeiskite simbolį Ski(t+1) į kitą pasirinktą abėcėlės simbolį. • 3 žingsnis.Evoliucija. Pakartokite žingsnius 1, 2, kai t = 0, 1, 2, ... Bioinformatika (B110M100)
Hiperciklų modelis • Hiperciklai gali būti laikomi hipotetinių primityvių vienaląsčių organizmų protėvių modeliu: I – RNR molekulės E - enzimai Bioinformatika (B110M100)
Hiperciklų modelis • Tarkime, turime n RNR molekulių, kur i-toji RNR molekulė koduoja i-tajį enzimą (i = 1, 2 ,... , n). • Enzimai cikliškai padidina RNR molekulės replikavimo greitį, t.y. i-tasis enzimas padidina (i+1)-osios RNR molekulės replikavimo greitį, o n-tasis enzimas padidina 1-osios RNR molekulės replikavimo greitį. • Aprašoma sistema turi primityvų transliavimo mechanizmą, todėl RNR sekose saugoma informacija gali būti transliuojama į enzimus. Bioinformatika (B110M100)
Hiperciklų modelis • Prielaidos: • hiperciklai yra patalpinami į atskiras vienas nuo kito erdviškai apribotas dalis, vadinamas koacervatais • kiekvienas koacervatas turi tik vieną hiperciklų modelį • koacervato tūris yra proporcingas jo viduje esančių makromelekulių kiekiui • transliavimo procesas yra žymiai greitesnis negu replikavimo procesas Bioinformatika (B110M100)
Matematinis hiperciklų aprašas • Remiantis prielaidomis gaunamos tokios lygtys: ,i = 1,2,..., n Ni – i-tosios RNR molekulių skaičius koacervate; xi – i-tosios RNR molekulių koncentracija koacervate; V – koacervato tūris; c – konstanta, charakterizuojanti makromelekulių koncentraciją duotame koacervate; fi – i-tosios RNR sintezės greitis. Bioinformatika (B110M100)
Vizualizacija • http://ccl.northwestern.edu/netlogo/models/community/hypercycle Bioinformatika (B110M100)
Siserių modelis • Aprašo katalitiškai sąveikaujančias makromolekules: nukleotidų grandines ir baltymus I yra polinukleotidų matrica, E1 ir E2 – replikavimo ir transliavimo enzimai, E3 , E4, ..., En – papildomi baltymai Bioinformatika (B110M100)
Siserių modelis • Prielaidos: • 1) skirtingi siseriai yra talpinami į atskirus koacervatus • 2) koacervato tūris didėja proporcingai sintezuotų makromelekulių skaičiui • 3) koacervato tūriui viršijus slenkstinę reikšmę jis suskyla į dvi dalis • 4) selekcija modeliuojama pasirenkant siserį su didžiausiu makromelekulių sintezės greičiu • Matematiškai aprašoma panašiai kaip hiperciklai Bioinformatika (B110M100)
Genetinio dreifo modeliai • Modeliuoja genetinės atrankos procesus • Pradžioje visoms ląstelėms priskiriama atsitiktinė spalva • Kiekviena ląstelė nusikopijuoja spalvą nuo atsitiktinės ląstelės • Po tam tikro laiko viena spalva pradeda dominuoti • Išvados: evoliucija gali vykti atsitiktinai, be tikslo Bioinformatika (B110M100)
Vizualizacija • http://ccl.northwestern.edu/netlogo/models/GenDriftPglobal Bioinformatika (B110M100)