Transcript 8 paskaita

Biosistemų augimo ir
evoliucijos modeliai
Doc. Robertas Damaševičius
KTU Programų inžinerijos katedra,
Studentų 50-415
Email: [email protected]
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)
2
Mandelbrot’o fraktalas
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)
6
Fraktalų demonstracija
 Fraktalinio augimo modelis
 http://apricot.polyu.edu.hk
/~lam/dla/dla.html
Bioinformatika (B110M100)
7
Sierpinski trikampis
 http://math.rice.edu/~lanius/fractals/sierjava.html
Bioinformatika (B110M100)
8
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 + f
a,..., 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)
9
IFS pavyzdys
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ė
z 0 , z1  ws1 z 0 , z 2  ws 2 z1 , z 3  ws3 z 2 ,...
s1, s2, s3 yra atsitiktiniai skaičiai iš intervalo [1...n].
Bioinformatika (B110M100)
11
AIFS: Kielek medis
Bioinformatika (B110M100)
12
IFS demonstracija
 http://www.cut-the-knot.org/ctk/ifs.shtml
Bioinformatika (B110M100)
13
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)
14
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 naudojant
L-gramatikas
 Biologinis pagrindimas:
 Visi simboliai yra vienodi, nėra skirtumo tarp terminalinių ir
neterminalinių simbolių
 Taisyklių tipai:
 Trynimo taisyklė A   modeliuoja trynimo mutaciją
 Grandinės taisyklė A  B modeliuoja vieno nukleotido mutaciją
 Kartojimo taisyklė A  AA modeliuoja pasikartojančius sekų motyvus
 Augimo taisyklė A  BC modeliuoja DNR sekos augimą (evoliuciją)
 Stochastinė taisyklė p : A  B modeliuoja atsistiktines sekos mutacijas
Formalus L-gramatikos aprašas
G  (V , , R, P)
Čia:
 V  A, C , G, T  simbolių aibė
  V
pradinė sistemos būsena.
 R  V  V simbolių generavimo taisyklės.
 P aibė tikimybių p  0,1 , kad taisyklė r  R bus pritaikyta.
K
1
L
j
j
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)
19
L-sistemų pavyzdžiai
Bioinformatika (B110M100)
20
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)
21
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)
22
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)
23
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 – kai visos 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)
29
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ų.
Tipinis ES algoritmas
Pradžia
t
<
-
0
u
ž
d
u
o
t
i
s
k
a
i
č
i
u
o
p
r
t
i
a
d
i
n
e
P
(
t
)
s
P
(
t
)
r
kol (neįvykdyta sąlyga
P
a
b
a
i
g
a
c
i
k
l
o
t
-
>
t
+
1
i
š
r
i
n
p
e
r
r
s
k
a
c
i
k
p
r
k
t
i
i
n
k
t
i
i
č
i
u
o
t
i
l
o
p
a
b
a
a
d
ž
i
a
P
(
t
)
P
(
t
)
P
(
t
g
a
i
i
)
š
e
i
–
P
(
k
š
m
e
s
r
i
b
a
)
t
+
1
)
s
k
a
i
č
i
u
o
t
i
ES procedūra





1) Problema apibrėžiama kaip n-mačio realių skaičių
vektoriaus XR’, 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
Tipinis GA
Pradžia
g
:
=
0
S
u
k
u
Į
v
e
r
k
o
l
g
:
/
/
r
t
i
t
i
n
n
e
=
g
+
kartų skaitliukas
p
t
i
a
t
o
l
p
u
l
i
a
c
i
j
ą
p
o
p
u
l
i
a
c
i
i
k
t
a
P
j
(
ą
g
)
P
(
g
g
)
/
/
1
Pasirinkti P(g) iš P(g  1)
Atlikti P(g) kryžminimą
A
t
l
i
k
t
i
P
(
Įvertinti
P
a
c
i
k
l
o
b
a
i
g
a
k
o
l
p
a
g
)
m
P
(
g
)
b
a
i
g
u
a
t
a
c
i
j
ą
s
u
s
k
a
i
č
i
u
o
t
i
t
i
k
s
l
o
f
-
j
o
s
r
e
i
k
š
m
e
s
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/SimpleGeneti
cAlgorithm
Bioinformatika (B110M100)
37