250 likes | 386 Views
Popisná zložitosť v triede bezpredponových regulárnych jazykov. Diplomová záverečná práca. Pracovisko: Ústav informatiky Vedúci : RNDr. Galina Jirásková, CSc. Autor: Bc. Monika Krausová. Obsah. Ciele diplomovej práce Úvod do problematiky Dosiahnuté výsledky Plány do budúcnosti
E N D
Popisná zložitosť v triede bezpredponových regulárnych jazykov Diplomová záverečná práca Pracovisko: Ústav informatiky Vedúci: RNDr. Galina Jirásková, CSc. Autor: Bc. Monika Krausová
Obsah • Ciele diplomovej práce • Úvod do problematiky • Dosiahnuté výsledky • Plány do budúcnosti • Literatúra
Ciele diplomovej práce • Skúmať uzavretosť triedy bezpredponových jazykov na ďalšie regulárne operácie ako napr. rozdiel, cyklický posun, shuffle, štvorec a k-ta mocnina jazyka, ľavý a pravý kvocient, a pod. • Analyzovať techniky získavania horných a dolných odhadov popisnej zložitosti. • Čo najpresnejšie odhadnúť popisnú zložitosť uvedených operácií pri použití čo najmenšej abecedy.
Bezpredponové regulárne jazyky • Regulárne jazyky: DKA, NKA • Bezpredponové jazyky: v jazyku neexistujú dve rôzne slová u, v také, že v = uw • Príklad 1: L = {trala, tralala} - nie je bezpredponový • Príklad 2: L = {slovo}L = {aa, ab, ac, ba, bb, bc, ca, cb, cc} - sú bezpredponové
Štruktúra deterministických automatov • Minimálne DKA pre bezpredponové jazyky: <=> • jediný koncový stav f • stav f na každé písmeno do dead stavu d
Je uzavretá na: prienik rozdiel zreťazenie štvorec k-tu mocninu Nie je uzavretá na: zjednotenie doplnok iteráciu zrkadlový obraz symetrický rozdiel cyklický posun shuffle ľavý kvocient pravý kvocient Uzáverové vlastnosti triedy bezpredponových jazykov
Dôkaz na uzavretosť • Veta: Trieda BJ je uzavretá na štvorec. • Dôkaz: L2 = L.L Položme L1 = L, L2 = L. Využijeme dôkaz uzavretosti triedy BJ na operáciu zreťazenia (z bakalárskej práce).
Dôkaz na neuzavretosť • Veta: Trieda BJ nie je uzavretá na ľavý kvocient. • Dôkaz: Nech K = {a, b} a L = {aba, bbaba}. Potom K\L = {ba, baba}, čo nie je bezpredponový jazyk.
Aká môže byť zložitosť? • Stavová zložitosť jazyka: • počet stavov v minimálnom DKA • Nedeterministická stavová zložitosť jazyka: • počet stavov v (nejakom) minimálnom NKA • Zložitosť operácie: • zložitosť výsledného jazyka v najhoršom prípade
Čo je zložitosť regulárnej operácie? • Máme: m – stavový DKA pre K n – stavový DKA pre L • Pýtame sa: ??? – stavový DKA pre K U L • Stavová zložitosť zjednotenia RJ je mn • horný odhad • dolný odhad • Nedeterministická zložitosť zjednotenia RJ je m + n + 1
Stavová zložitosť - rozdiel • tesná hranica: mn − 2n − m + 4 • dosiahnutá na trojpísmenkovej, aj na binárnej abecede • binárna abeceda – dlhšie časové obdobie – komplikovanejší dôkaz • analyzované malé hodnoty m a n
Stavová zložitosť - rozdiel • Veta: Stavová zložitost’ rozdielu dvoch BJ nad abecedou s aspoň dvoma písmenami je daná funkciou 1, ak m=1, n>=1 alebo m=2, n=2, 2, ak m=2, n>=3, m, ak m>=1, n=1 alebo m>=3, n=2, mn − 2n − m + 4, ak m, n>=3. • Veta:Stavová zložitost’ rozdielu dvoch BJ nad unárnou abecedou je daná funkciou 1, ak m = n, f(m,n) = m, inak. f(m,n) =
Stavová zložitosť – ľavý kvocient • opravený dôkaz z článku v triede RJ • tesná hranica: 2n – 1 • dosiahnutá na (n – 1) písmenách (nie menej) • analyzované malé hodnoty m a n
Ľavý kvocient – horný odhad • Konštrukcia DKA pre jazyk L(A)\L(B): • odstránime dead stav v DKA B • nové počiatočné stavy budú S = {q; existuje w z L(A), že (s,w) = q} • podmnožinová konštrukcia
Stavová zložitosť - ľavý kvocient • Veta: Stavová zložitost’ ľavého kvocientu nejakého BJ iným BJ nad abecedou s aspoň dvoma písmenami je daná funkciou 1, ak m=1, n>=1 alebo m=2, n=2, 2, ak m=2, n>=3, m, ak m>=1, n=1 alebo m>=3, n=2, mn − 2n − m + 4, ak m, n>=3. f(m,n) =
Stavová zložitosť - ľavý kvocient • Veta:Stavová zložitost’ ľavého kvocientu nejakého BJ iným BJ nad unárnou abecedou je daná funkciou 1, ak m > n, f(m,n) = 2, ak m = n, n – m + 2, inak.
Stavová zložitosť – pravý kvocient • tesná hranica: n - 1 • dosiahnutá na binárnej abecede • analyzované malé hodnoty m a n
Pravý kvocient – horný odhad • Konštrukcia DKA pre jazyk L(B)/L(A): • nové koncové stavy F' = {q; existuje w z L(A), že (q,w)F} • ε L(A) => f F’, a teda f bude dead
Pravý kvocient – dolný odhad • Dôkaz: Nech K = {a, bm - 2} a L = {an - 2}. - bezpredponové - akceptované m – DKA a n – DKA - L/K = {an - 3} - všetky stavy sú dosiahnuteľné - žiadne dva stavy nie sú ekvivalentné
Stavová zložitosť - pravý kvocient • Veta: Stavová zložitost’ pravého kvocientu nejakého BJ iným BJ nad abecedou s aspoň dvoma písmenami je daná funkciou 1, ak m=1, n>=1 alebo m=2, n=2, 2, ak m=2, n>=3, m, ak m>=1, n=1 alebo m>=3, n=2, n - 1, ak m, n>=3. f(m,n) =
Stavová zložitosť - pravý kvocient • Veta:Stavová zložitost’ pravého kvocientu nejakého BJ iným BJ nad unárnou abecedou je daná funkciou 1, ak m > n, f(m,n) = 2, ak m = n, n – m + 2, inak.
Plány do budúcnosti • preskúmať a nájsť tesné hranice stavovej zložitosti pre operácie zrkadlový obraz a shuffle • analyzovať malé hodnoty m a n pre operácie preskúmané v bakalárskej práci • venovať sa kombináciám operácií
Literatúra • Yo-Sub Han, Kai Salomaa, Sheng Yu: State Complexity of Combined Operations for Prefix-Free Regular Languages. LATA 2009: 398-409. • Yo-Sub Han, Kai Salomaa, Derick Wood: Nondeterministic State Complexity of Basic Operations for Prefix-Free Regular Languages. Fundamenta Informaticae 90 (2009) 93-106. • Yo-Sub Han, Kai Salomaa, Derick Wood: Operational State Complexity of Prefix-Free Regular Languages. Automata, Formal Languages, and Related Topics 2009: 99-115 • G. Jirásková and A. Okhotin: State complexity of cyclic shift. Theor. Inform. Appl. 42 (2008) 335-360.