32
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

Použitie metafory chemostatu ako optimalizačného algoritmu

  • Upload
    paulos

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Chemostat. zariadenie používané na pestovanie biologických kultúr. Prítok živín. Organizmy +živiny. - PowerPoint PPT Presentation

Citation preview

Page 1: Použitie metafory chemostatu ako optimalizačného algoritmu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Typy slučiek:

ELoop

...

............

MLoop Hairpin ILoop1

ILoop2BulgeL2 BulgeR2BulgeL1 BulgeR1

Page 22: Použitie metafory chemostatu ako optimalizačného algoritmu

Ekvivalenty

• Iné tvary sa pokladajú za MLoop

BulgeL1 BulgeR1 BulgeL2 BulgeR2

Page 23: Použitie metafory chemostatu ako optimalizačného algoritmu

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

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

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

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

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

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

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

Iba samointerakcia

Page 31: Použitie metafory chemostatu ako optimalizačného algoritmu

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

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