Použitie metafory chemostatu ako optimalizačného algoritmu
description
Transcript of Použitie metafory chemostatu ako optimalizačného algoritmu
![Page 1: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/1.jpg)
Použitie metafory chemostatu ako optimalizačného algoritmu
Správa o stave riešenia pre Dizertačný projekt I
Školiteľ : prof. Ing. Vladimír Kvasnička, DrSc.
Vypracoval : Ing. Marian Bobrík
![Page 2: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/2.jpg)
Chemostat
• zariadenie používané na pestovanie biologických kultúr
Organizmy+živiny
Odtok obsahuMiešanie
Prítok živín
![Page 3: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/3.jpg)
Chemostat• Metafora pre modelovanie správania populácie• Príklad jednoduchého chemostatu
1
1 F
FC
dt
dC F
FCF
dt
dF
1
0
5
10
15
20
25
30
0 2 4 6 8 10 12 14 16 18 20
Time
Co
ncen
tratio
n
Organism
Nutrients
![Page 4: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/4.jpg)
Typogenetika
• Zjednodušený analóg reálnych biologických molekúl
• Príliš zjednodušený– sekundárna štruktúra prakticky nehrá úlohu– nie je výpočtovo univerzálny
• Použiteľný na modelovanie hypercyklov
![Page 5: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/5.jpg)
Ribonukleová kyselina
Štruktúra RNA
Primárna štruktúra Sekundárna štruktúra Terciárna štruktúra
![Page 6: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/6.jpg)
Ribonukleová kyselina
• Zároveň schopná niesť genetickú informáciu
• Aj vykonávať katalytické funkcie
• Vytvára širokú paletu 3D tvarov
• Schopná katalyzovať vlastné kopírovanie
• Hypotéza RNA sveta
• RNA a umelá chémia
![Page 7: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/7.jpg)
Typy sekundárnej štruktúry
Sponka(hairpin)
Vydutina(bulge)
Vnútorná slučka(internal loop)
Viacnásobná slučka(multiloop)
Vonkajšia slučka (internal loop)
Páry báz(base pairs)
![Page 8: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/8.jpg)
Zápis sekundárnej štruktúry
• Vždy sa dá zakresliť planárnym grafom• Množina párov• Podmienky :Ak a sú páry báz, potom pre každé páry platí
nn jijijiSfold ,, 2211
ji lk
2 ij
ljki
jlijki
![Page 9: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/9.jpg)
Zátvorkový zápis
S = AUGCGAGGUUUCGCCGCACGGUCGGUC
fold(S)={0●25,3●12,4●11,5●9,13●24,14●23,15●22,17●21}
A U G C G A G G U U U C G C C G C A C G G U C G G U C
) . ) ) ( ( (.. .. (((( ( ) ) ) ) ). .....
0 10 20 26
![Page 10: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/10.jpg)
Stromový zápis
3
2
1
1
Multi(0,0,2)1
1
1
Hairpin(3)
Hairpin(3)
Bulge(0,1)
Bulge(1,0)
Bulge(1,0)
Bulge(1,0)
External(0,4)
![Page 11: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/11.jpg)
Dynamické programovanie
• Minimalizácia voľnej energie
• Zjednodušený výpočet
MAXVij
1, ijHPjiPAIR
mjim VVjmiMAXijVLP ,1
1,1, jiVjiPAIR
![Page 12: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/12.jpg)
Brainfuck
Príkaz Význam C++ ekvivalent
+ Inkrement akumulátora a++;
- Dekrement akumulátora a--;
> Inkrement ukazateľa p++;
< Dekrement ukazateľa p--;
[ Začiatok slučky while( a ) {
] Koniec slučky }
. Čítanie a = *p;
, Zápis *p = a;
• Extrémne jednoduchý• Výpočtovo univerzálny• Vhodný pre evolučné algoritmy
![Page 13: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/13.jpg)
Virtuálny procesor
.............. .........
.............. .........
A(4bit)
PC(9bit)
P(9bit)
Memory(512x4bit)
IO buffer(512x4bit)
![Page 14: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/14.jpg)
Tabuľka inštrukciíHex Príkaz Význam C++ ekvivalent
0 0* Ukončenie programu return;
1 V Inkrement ukazateľa p++;
2 ^ Dekrement ukazateľa p--;
3 + Inkrement akumulátora a++;
4 - Dekrement akumulátora a--;
5 < Čítanie z pamäti a = memory[ p ];
6 > Zápis do pamäti memory[ p ] = a;
7 { Čítanie z I/O medzipamäti a = io_buffer[ p ];
8 } Zápis do I/O medzipamäti io_buffer[ p ] = a;
9 [ Začiatok slučky while( a ){
A ] Koniec slučky }
B N** Nič
C X Vymeň nasledujúcu hodnotu s akumulátorom
int tmp = memory[ pc ]; memory[ pc++ ] = a; a = tmp;
D N** Nič
E N** Nič
F Z* Vymaž registre a = 0; p = 0;
![Page 15: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/15.jpg)
Test hustoty replikátorov
• Najjednoduchší replikátor “[<}V]“
• z 1048576 (220) náhodných programov
• každý 62500 program je replikátor
• Priemerná veľkosť 11.6 znaku
![Page 16: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/16.jpg)
Stromová reprezentácia programu
• Vyššie programovacie jazyky
• Genetické programovanie
Príklad : for(a=i;a;a=a>>1)b+=a&1;
FOR
a =
1a
>>a
+=
1a
&b
=
ia
![Page 17: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/17.jpg)
Princíp systému
V
Konvenčný systém AL
+=
a
&b
Genetické programovanie
RNA
..ACGCGUU...AUUCGCGA..
Stromová štruktúra
Sémantika
Sekundárna štruktúra
Výsledný systém
}
<
[
]
![Page 18: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/18.jpg)
Postup prekladu
+--+11+1Y-0000Y0101YY1+Y0+101-
ROOT
LoopEdges
ReadIncL
GrabE ‘-‘
InsIncR
GrabE ‘Y1+‘
Genotyp / primárna štruktúra
Sekundárna štruktúraProgram
Výpočet pomocou DP
Interpretácia
Dodatočné informácie
![Page 19: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/19.jpg)
Virtuálny procesor
Program
PC
L R
Ľavý reťazec Pravý reťazec
A
T
bang
![Page 20: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/20.jpg)
Spôsob kódovania
Typ predchádzajúcej slučky
Typ slučky
Počet báz medzi nimi
![Page 21: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/21.jpg)
Typy slučiek:
ELoop
...
............
MLoop Hairpin ILoop1
ILoop2BulgeL2 BulgeR2BulgeL1 BulgeR1
![Page 22: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/22.jpg)
Ekvivalenty
• Iné tvary sa pokladajú za MLoop
BulgeL1 BulgeR1 BulgeL2 BulgeR2
![Page 23: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/23.jpg)
Interakcia s okolím
......
011
11
0
111010001
1101
Okolie GrabEL
1001110
0001001000
1001110
Ľavý reťazec
10011
100
L
register
![Page 24: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/24.jpg)
Príkazy, ktoré nezávisia od typu predchádzajúcej slučky
Počet predchádzajúcich párov báz
Typ slučky 1 2 3 4 5 6 7
ELoop ROOT *
MLoop LoopEdges LoopEdgesM LoopIncA LoopDecA LoopIncT LoopDecT LoopNop**
BulgeL1 IncL ReadIncL InsIncL DelIncL CutIncL ***
BulgeR1 IncR ReadIncR InsIncR DelIncR CutIncR ***
BulgeL2 DecL ReadDecL InsDecL DelDecL CutDecL
BulgeR2 DecR ReadDecR InsDecR DelDecR CutDecR
ILoop1 IncA IncT AxchgT AtoT AsumT
ILoop2 DecA DecT Ligate TtoA TSumA
![Page 25: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/25.jpg)
Príkazy, ktoré závisia od predchádzajúceho typu slučky
( a nezávisia od predchádzajúceho počtu báz ).
Typ predchádzajúcej slučky
Typ slučky ELoop MLoop BulgeL1 BulgeR1 BulgeL2 BulgeR2 ILoop1 ILoop2
Hairpin SetT SetT GrabEL GrabER GrabBL GrabBR SetA SetA
![Page 26: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/26.jpg)
Test hustoty samoreplikátorov
• Gramatika { 0,1,+,-,Y } • Energie párov E(0●1) = 15, E(+●-) = 5
• Energia sponky/znak pre N>2 = -1, inak ∞• Energia nespárovaného znaku -1• Grab do 5 znakov vždy uspeje• Grab na podreťazec programu vráti jeho
celý reťazec• Inak nevráti nič
![Page 27: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/27.jpg)
Test hustoty samoreplikátorov
• Najkratší replikátor má 24 znakov
• Množstvo ekvivalentných sekvencií
• “0++Y+Y+Y---0000YYY1Y1111”
• Z 10000000 náhodne generovaných sekvencií– Každá cca 105000 sekvencia je replikátor– Priemerná dĺžka replikátora bola 50.4 znaku
![Page 28: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/28.jpg)
Vznik samoreplikátorov v chemostate
Kopírovaný reťazec
Kopírujúci reťazec
Pravdepodobnosť úmerná fitness4
Pomalý prísun náhodných reťazcov ( 1/100) odtoku
Náhodné ničenie reťazcov
Duplikácia +mutácia
Hodnotenie fitness
Chemostat
![Page 29: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/29.jpg)
Vznik samoreplikátorov v chemostate
1.0
0.0
0.2
0.4
0.6
0.8
![Page 30: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/30.jpg)
Iba samointerakcia
![Page 31: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/31.jpg)
Vlastnosti systému
• Výpočtová univerzálnosť
• Spontánny vznik replikátorov
• Interakcie medzi programmi
• Evolúcia systému replikátorov
![Page 32: Použitie metafory chemostatu ako optimalizačného algoritmu](https://reader035.fdocuments.net/reader035/viewer/2022062301/5681504e550346895dbe4c8a/html5/thumbnails/32.jpg)
Výhľad do budúcna
• Priestorová štruktúra v chemostate
• Tvorba hypercyklov
• Evolúcia zložitejších funkcií
• Menej zjednodušený výpočet sekundárnej štruktúry