1 / 27

Vyvážená dekompozícia nedeterministického automatu pre regulárne výrazy

Prírodovedecká fakulta Univerzita Pavla Jozefa Šafárika v Košiciach Ústav Informatiky. Vyvážená dekompozícia nedeterministického automatu pre regulárne výrazy. Diplomová práca. Košice 200 5 Bc. Karol Seman. Rozdelenie pr áce. Teoretický základ Analýza známych metód

cissy
Download Presentation

Vyvážená dekompozícia nedeterministického automatu pre regulárne výrazy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prírodovedecká fakulta Univerzita Pavla Jozefa Šafárika v Košiciach Ústav Informatiky Vyvážená dekompozícia nedeterministického automatu pre regulárne výrazy Diplomová práca Košice 2005 Bc. Karol Seman

  2. Rozdelenie práce • Teoretický základ • Analýza známych metód • ε-NFA metóda • Pozičný automat • Čiastočné odvodzovanie • Spoločná množina nasledovníkov • Stromová dekompozícia a ε-NFA • Získanie separačného bodu • Popis, analýza a implementácia algoritmov

  3. Teoretický základ

  4. Regulárny výraz a ∙ ◊( (*b + c) ∙ d) ∙ e + * (f ∙ ( (g ∙ h) + i))

  5. Binárny strom a ∙ ◊( (*b + c) ∙ d) ∙ e + * (f ∙ ( (g ∙ h) + i))

  6. Nedeterministický konečnostavový automat Pätica M = (Q, ∑, ∆, qs , F), kde Q je konečná množina stavov, ∑ je konečná vstupná abeceda, ∆  Q  (∑  {ε})  Q je množina prechodov, qs Q je inicializačný stav a F  Q je podmnožina konečných stavov. Tu ε znamená prázdny reťazec.

  7. Porovnanie známych metód

  8. Porovnanie známych metód 1969 1971 1996 1997 2003 O(n(log n)2) O(|Σ| n log n)

  9. Stromová dekompozícia a ε-NFA

  10. Stromová dekompozícia • Vystrihneme podstrom t1 (t.j. jeden uzol a všetkých jeho nasledovníkov) tak, • že má≥ ⅓ a ≤ ⅔ pozícií t. Nech t2 je zvyšok po vybratí t1, viď Obrázok. • Použijeme ten istý postup na t1, t2 ak obsahujú viac ako 1 pozíciu γ.

  11. Zavedenie separačných bodov Cieľ: nájsť separačný stav pre každé dva znakové prechody spojené postupnosťou ε prechodov

  12. Dekompozícia ε-automatu. Prechody x a y spojené postupnosťou ε prechodov sú oddelené v dekompozícii vystrihnutím podautomatu (vyvážená stromová dekompozícia vyvolá dekompozíciu automatu) exβv prípade, že počiatočný bod je v aktuálnej oblasti, inak enβ.

  13. Získanie separačného bodu

  14. Separačný bod • Ak hrany x, y nie sú spojené cestou xy v M, hodnota sepx, y nie je definovaná • nájdeme ’ rozdeľujúce q na dva podregiónys rovnovážnym počtom bez-ε-ových prechodov. • Teraz zistíme kde cesta xy pôjde, podľa toho zvolíme nový aktuálny región • Opakujeme kým procedúra nenájde prípad, že ani q1 ani q2 neobsahujú kompletnú cestu • Ak x padne dovnútra M’, vráti hodnotu sepx, y rovnú ex’. • Obrátene, ak x je mimo M’, sepx, y bude mať hodnotu en’.

  15. Postup prevodu

  16. Postup prevodu

  17. Štruktúra regulárneho výrazu RV → Zj$ Zj → Zr {+ Zr} Zr → El {[·] El} El → {* | ^} Pr Pr → Ps | (Zj) Ps → a | … | z Regulárny výraz ľubovoľný počet zjednotení (jedno alebo viac), ktoré sú oddelené znakom „+“ Zjednotenie jednoduchšie regulárne výrazy, v ktorých sa nevyskytuje „+“ Zreťazenie ľubovoľný počet elementárnych výrazov, ktoré môžu byť oddelené znakom „·“, ale môže sa aj vynechať Elementárny výraz ľubovoľný počet (aj nula) a kombinácia znakov „*“ a „“ nasledovaná primitívnym výrazom Primitívny výraz tvorí ho písmeno malej abecedy alebo celé zjednotenie uzavreté v zátvorkách, ktoré môže opäť obsahovať zreťazenia, elementárne výrazy, primitívne výrazy alebo písmená Písmeno písmená malej abecedy v rozpätí od „a“ po „z“

  18. 1. Reg výraz → Binárny strom a + *(b + c · d)

  19. 2. Reg výraz → ε-NFA

  20. Príklad Binárny strom  KSA  a ∙ ◊( (*b + c) ∙ d) ∙ e + * (f ∙ ( (g ∙ h) + i)) Každý stav BUNV náhodne pomenujeme

  21. 3. Reg výraz → Binárny strom (s en,ex) a · b + c · d

  22. 4. Reg výraz → Separačná tab.

  23. Štruktúra výstupných dát

  24. Ďakujem za pozornosť a prajem pekný deň

  25. Zložitosti algoritmov

  26. Abstrakt V práci skúmame niekoľko metód na získanie nedeterministického konečného automatu bez ε hrán z regulárnych výrazov. Zameriame sa na veľkosť (počet prechodov) výsledného automatu a na časovú zložitosť prevodu. Ukážeme ako sa v súčasnosti [7,13] podarilo vylepšiť veľkosť výsledného automatu z O(n2) na O(n(log n)2) , taktiež O(n log n) pre ohraničenú abecedu (kde n je veľkosť regulárneho výrazu). Potom podrobne prezentujeme prevod cez ε-NFA a algoritmus na získanie separačného bodu, ktorý je srdcom dekompozície nedeterministického konečnostavového automatu a nový zovšeobecnený algoritmus na získanie všetkých separačných bodov.

  27. Veta 5.2. • Každý regulárny výraz  dĺžky n ≥ 1 môže byť nahradený ekvivalentným nedeterministickým automatom M s najviac 2n stavmi a n prechodmi bez ε hrán nasledovne: • Pre každý podvýraz  z  odpovedajúci podstromu pod nejakým uzlom v strome reprezentujúcom , existuje podautomat M v M, ktorý je podgraf v grafe reprezentujúcom M. • Pre každý ’, podvýraz  odpovedajúci nejakému podstromu s vrchným uzlom nachádzajúcim sa v podstrome , M’ je podautomat M, t.j. podgraf vnorený do seba v podgrafe M. • M má jednoduchý vstupný bod, stav enQ a jednoduchý výstupný bod, stav exQ, kde enex, teda reťazec a1 akΣ* je v L(β) vtedy a len vtedy, keď existuje cesta spájajúca hranami, vo vnútri podgrafu M, stav en s ex nazvaná a1 ak. • Hociktorá cesta idúca do podgrafu M z okolitého prostredia musí ísť cez stav en. A takisto, M nemá hrany končiace v en. • Hociktorá cesta opúšťajúca podgraf M do okolitého prostredia musí ísť cez stav ex. A tiež, nie sú žiadne hrany z okolitého prostredia končiace v ex.

More Related