160 likes | 267 Views
Transformácia dvojsmerného automatu na jednosmerný. Autor: Tomáš Jakab Vedúci práce: Mgr. Alexander Szabari. Obsah. Ciele práce 2DFA Malá ukážka Plán, stav práce. Ciele. Vytvoriť rozhranie pre zadávanie dvojsmernného automatu Simulácia chodu automatu na slove
E N D
Transformácia dvojsmerného automatu na jednosmerný Autor: Tomáš Jakab Vedúci práce: Mgr. Alexander Szabari
Obsah • Ciele práce • 2DFA • Malá ukážka • Plán, stav práce
Ciele • Vytvoriť rozhranie pre zadávanie dvojsmernného automatu • Simulácia chodu automatu na slove • Transformácia dvojsmerného automatu na jednosmerný • Vizualizácia
2DFA • 2DFA (two-way deterministic finite automata) • Akceptuje regulárne jazyky • 2DFA neprinášajú výpočtový nárast, význam majú napríklad pri dokazovaní regulárností jazykov
2DFA • 5-tica M = ( Q, ,, q0, F ) • Q - stavy • - vstupná abeceda • - prechodová funkcia • q0 - počiatočný stav • F - koncové stavy • : Q x Q x L,R
2DFA • Základnou myšlienkou dvojsmerných automatov je, že na základe informácie o stave, v ktorom sa nachádza a prečítaného symbolu prejde do iného stavu a čítacia hlava sa môže posunút vľavo, vpravo alebo môže ostať na mieste. Teda môžeme sa v prípade potreby vrátiť späť k písmenám, ktoré sme už čítali. • Zarážky, akceptovanie slova
2DFA • 50. roky .. Rabin, Scott • Transformácia 2DFA => 1DFA n = počet stavov v 2DFA počet stavov v 1DFA = n(nn – (n – 1)n) pre n=5 => 10505
2DFA • Prechodová postupnosť : Keďže 2DFA môže posúvať hlavou oboma smermi, môže v priebehu výpočtu navštíviť to isté políčko viackrát. Má preto význam si všímať stavy, v ktorých políčko navštevoval, resp. opúšťal. Keďže odísť z políčka možno dvomi smermi, budeme si všímať zvlášť odchod doľava, resp. doprava.
2DFA • ľavá prechodová postupnosť i-teho políčka LPP(i) je postupnosť stavov, v ktorých hlava automatu prechádza počas výpočtu hranicu medzi (i-1)-ým a i-tym políčkom • pravá prechodová postupnosť i-teho políčka PPP(i) je postupnosť stavov, v ktorých hlava automatu prechádza počas výpočtu hranicu medzi i-tym a (i+1)-ým políčkom
2DFA • Čo vieme povedať o prechodových postupnostiach ? • v žiadnej z PP sa nesmie zopakovať stav s rovnakým následným posunom hlavy • každá PP je nepárnej dĺžky • všetky nepárne prvky sú rôzne • všetky párne prvky sú rôzne • maximálna dĺžka PP je 2n
2DFA • Nech M je 2DFA, M = ( Q, , q0, F ) Potom transformáciou dostaneme NFA M = ( Q, , q0, qF), kde Q = q0 d,a,LPP,PPP,NPP LPP, PPP,NPP množiny platných prechodových postupností 2DFA M a , dl,p
Plán, stav práce • Rozhranie pre zadávanie 2DFA • Simulácia chodu 2DFA
Plán, stav práce • Štúdium algoritmu transformácie z 2DFA na 1DFA • Samotná transformácia • Vizualizácia • Vypracovanie písomnej časti
Ďakujem za pozornosť