Formální jzyky Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 1/ 46
Teorie formálních jzyků motivce Příkldy typů prolémů, při jejichž řešení se využívá pozntků z teorie formálních jzyků: Tvor překldčů: lexikální nlýz syntktická nlýz Vyhledávání v textu: hledání zdného vzorku hledání textu zdného regulárním výrzem Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 2/ 46
Zákldní pojmy Oecně se teorie formálních jzyků zývá prolémy, kde: Prcujeme se sekvencemi znků(říkáme též symolů). Znky ptří do nějké konečné ecedy. Musíme rozpoznávt ty sekvence znků, které nějkou vlstnost mjí tycojinemjí. V teorii formálních jzyků se sekvencím znků říká slov. Množině slov z nějké ecedy se říká jzyk. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 3/ 46
Aeced slovo Definice Aeced je liovolná neprázdná konečná množin symolů(znků). Poznámk: Aeced se čsto oznčuje řeckým písmenem Σ(velké sigm). Definice Slovo v dné ecedě je liovolná konečná posloupnost symolů z této ecedy. Příkld 1: Σ = {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z} Slov v ecedě Σ: AHOJ ABRACADABRA ERROR Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 4/ 46
Aeced slovo Příkld 2: Σ 2 = {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, } Slovovecedě Σ 2 : HELLO WORLD Příkld 3: Σ 3 = {0,1,2,3,4,5,6,7,8,9} Slovvecedě Σ 3 : 0,31415926536,65536 Příkld 4: Slovvecedě Σ 4 = {0,1}:011010001,111,1010101010101010 Příkld 5: Slovvecedě Σ 5 = {,}:,, Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 5/ 46
Aeced slovo Příkld 6: Aeced Σ 6 jemnožinvšechasciiznků. Příkld slov: clss HelloWorld { pulic sttic void min(string[] rgs) { System.out.println("Hello, world!"); } } clss HelloWorld { pulic sttic void min(str Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 6/ 46
Práce s formálními jzyky Když chceme nějký jzyk popst, máme několik možností: Můžeme vyjmenovt všechn jeho slov(což je le použitelné jen pro mlé konečné jzyky). Příkld: L = {,, } Můžeme specifikovt nějkou vlstnost, kterou mjí právě t slov, která do tohoto jzyk ptří: Příkld: Jzyk nd ecedou {0, 1}, oshující všechn slov, ve kterých je počet výskytů symolu 1 sudý. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 7/ 46
Práce s formálními jzyky V teorii formálních jzyků se používjí především následující dv přístupy: Popst(idelizovný) stroj, zřízení, lgoritmus, který rozpozná slov ptřící do dného jzyk vede k použití tzv. utomtů. Popst nějký mechnismus umožňující generovt všechn možná slovptřícídodnéhojzyk vedektzv.grmtikám regulárním výrzům. (udeme se jim věnovt později) Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 8/ 46
Některé zákldní pojmy Délkslovjepočetznkůveslově. Npříkld délk slov je 5. Délkuslovwoznčujeme w. Pokudtedynpř.w =,pk w =5. Početvýskytůznkuveslověwoznčujeme w. Proslovow =tedypltí w =2 w =3. Prázdné slovo je slovo délky 0, tj. neoshující žádné znky. Prázdné slovo se oznčuje řeckým písmenem ε(epsilon). (Pozn.: V litertuře se pro oznčení prázdného slov někdy používá místo symolu ε řecké písmeno λ(lmd).) ε =0 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 9/ 46
Zřetězení slov Se slovy je možné provádět operci zřetězení: Npříkld zřetězením slov OST RAVA vznikne slovo OSTRAVA. Operce zřetězení se oznčuje symolem (podoně jko násoení). Tento symol je možné vypouštět. OST RAVA =OSTRAVA Zřetězeníjesocitivní,tj.proliovolnátřislovu,vwpltí (u v) w =u (v w) což znmená, že při zápisu více zřetězení můžeme vypouštět závorky psátnpříkldw 1 w 2 w 3 w 4 w 5 místo (w 1 (w 2 w 3 )) (w 4 w 5 ). Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 10/ 46
Zřetězení slov Zřetězení není komuttivní, tj. oecně pro dvojici slov u v nepltí rovnost u v =v u Příkld: OST RAVA RAVA OST Zjevněproliovolnáslovvwpltí: v w = v + w Pro liovolné slovo w tké pltí: ε w =w ε =w Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 11/ 46
Prefixy, sufixy podslov Definice Slovoxjeprefixemslovy,jestližeexistujeslovovtkové,žey =xv. Slovoxjesufixemslovy,jestližeexistujeslovoutkové,žey =ux. Slovoxjepodslovemslovy,jestližeexistujíslovuvtková,že y =uxv. Příkld: Prefixyslovjsou ε,,,,,. Sufixyslovjsou ε,,,,,. Podslovslovjsou ε,,,,,,,,,,. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 12/ 46
Jzyk Množinuvšechslovtvořenýchsymolyzecedy Σoznčujeme Σ. Definice (Formální) jzyk L v ecedě Σ je nějká liovolná podmnožin množiny Σ,tj.L Σ. Příkld1:Množin {00,01001,1101}jejzykvecedě {0,1}. Příkld 2: Množin všech syntkticky správných progrmů v jzyce Jv je jzyk v ecedě tvořené množinou všech Unicode znků. Příkld 3: Množin všech textů oshujících sekvenci znků ABRACADABRA je jzyk v ecedě tvořené množinou všech ASCII znků. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 13/ 46
Množinové operce n jzycích Vzhledem k tomu, že jzyky jsou množiny, můžeme s nimi provádět množinové operce: Sjednocení L 1 L 2 jejzyktvořenýslovy,kteráptříuďdojzykl 1 neodojzykl 2 (neodooou). Průnik L 1 L 2 jejzyktvořenýslovy,kteráptřísoučsnědojzyk L 1 idojzykl 2. Doplněk L 1 jejzyktvořenýtěmislovyze Σ,kteráneptřídoL 1. Rozdíl L 1 L 2 jejzyktvořenýslovy,kteráptřídol 1,leneptří dol 2. Poznámk: Při opercích nd jzyky předpokládáme, že jzyky, se kterými operci provádíme, používjí tutéž ecedu Σ. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 14/ 46
Množinové operce n jzycích Formálně: Sjednocení:L 1 L 2 = {w Σ w L 1 w L 2 } Průnik:L 1 L 2 = {w Σ w L 1 w L 2 } Doplněk:L 1 = {w Σ w L 1 } Rozdíl:L 1 L 2 = {w Σ w L 1 w L 2 } Poznámk:Předpokládáme,žeL 1,L 2 Σ pronějkoudnouecedu Σ. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 15/ 46
Množinové operce n jzycích Příkld: Uvžujmejzykyndecedou {A,B,...,Z}. Pk L 1 množinvšechslovoshujícíchpodlovofoo L 2 množinvšechslovoshujícíchpodlovobar L 1 L 2 množinvšechslovoshujícíchpodslovofooneobar, L 1 L 2 množinvšechslovoshujícíchpodslovfooibar, L 1 množinvšechslov,kteráneoshujípodslovofoo, L 1 L 2 množinvšechslov,vekterýchsevyskytujepodslovofoo, le nevyskytuje podslovo BAR. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 16/ 46
Zřetězení jzyků Definice ZřetězeníjzykůL 1 L 2 jejzyk L = {uv u L 1,v L 2 } tj.jzykvšechslov,kterázčínjíslovemzl 1 pokrčujíslovemzl 2. ZřetězeníjzykůL 1 L 2 oznčujemel 1 L 2. Příkld: L 1 = {,} L 2 = {,,} JzykL 1 L 2 oshujeslov: Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 17/ 46
Iterce jzyk Definice ItercejzykL,oznčovnázápisemL,jejzyktvořenýslovyvzniklými zřetězením liovolného počtu slov z jzyk L. Tj.w L právětehdy,když n N : w 1,w 2,...,w n L:w =w 1 w 2 w n Příkld:L = {,} L = {ε,,,,,,,,,,,...} Poznámk: Počet slov, která zřetězujeme, může ýt i 0, což znmená, že vždypltí ε L (ezohledunto,zd ε Lneone). Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 18/ 46
Iterce jzyk lterntivní definice Poznámk: Jeden pojem může mít více různých definic. Tyto definice mohou vypdt n první pohled rozdílně, přitom jsou le vzájemně ekvivlentní ve smyslu, že popisují jednu tutéž věc. Jko příkld si ukážeme dlší dvě lterntivní definice pojmu iterce jzyk, přičemž oě jsou ekvivlentní s dříve uvedenou definicí. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 19/ 46
Iterce jzyk lterntivní definice NejprvedefinujemeprojzykLčíslok NjzykL k : L 0 = {ε}, L k =L k 1 L prok 1 To znmená L 0 = {ε} L 1 = L L 2 = L L L 3 = L L L L 4 = L L L L L 5 = L L L L L... Příkld:ProL = {,}jzykl 3 oshujenásledujícíslov: Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 20/ 46
Iterce jzyk lterntivní definice Alterntivní definice 1 Iterce jzyk L je jzyk L = k 0 L k Poznámk: L k =L 0 L 1 L 2 L 3 k 0 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 21/ 46
Iterce jzyk dlší lterntivní definice Alterntivní definice 2 ItercejzykLjenejmenší(vzhledemk )jzykl tkový,že ε L prokždéu L v Lpltí,žeuv L Poznámk:To,žejzykL jenejmenšívzhledemk znmená,žepro jkýkolivjzykl splňujícívýšeuvedenépodmínkypltíl L. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 22/ 46
Iterce jzyk Poznámk:PoužívásetkézápisL + jkozkrtkz L L,tj. L + = k 1 L k Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 23/ 46
Zrcdlový orz Zrcdlovýorzslovwjeslovowzpsné pozpátku. Zrcdlovýorzslovwznčímew R. Příkld: w =AHOJ w R =JOHA Formálněmůžemedefinovt,žeprow = 1 2 n (kde i Σ)je w R = n n 1 1. Alterntivněmůžemedefinovtw R jkorev(w),kderev : Σ Σ je funkce definovná induktivně tkto: rev(ε) = ε pro Σw Σ jerev(w) =rev(w) Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 24/ 46
Zrcdlový orz Zrcdlový orz jzyk L je jzyk tvořený zrcdlovými orzy všech slov zjzykl. ZrcdlovýorzjzykLznčímeL R. L R = {w R w L} Příkld: L = {,,} L R = {,,} Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 25/ 46
Uspořádání n slovech Předpokládejme určité(lineární) uspořádání < symolů ecedy Σ, tj.pokud Σ = { 1, 2,..., n },tkpltí 1 < 2 <... < n. Příkld: Σ = {,,c},přičemž < <c. Nmnožině Σ můžemedefinovtnásledující(lineární)uspořádání < L : x < L yprávětehdy,když: x < y,neo x = y existujíslovu,v,w Σ symoly, Σtkové,že pltí x =uv y =uw < Neformálněmůžemeříctvuspořádání < L řdímeslovpodledélky v rámci stejné délky lexikogrficky(podle ecedy). Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 26/ 46
Uspořádání n slovech Všechnslovndecedou Σmůžemepomocíuspořádání < L seřditdo posloupnosti w 0,w 1,w 2,... vekterésekždéslovow Σ vyskytujeprávějednoukdeproliovolná i,j Npltí,žew i < L w j právětehdy,kdyži <j. Příkld:Proecedu Σ = {,,c}(kde < <c)udezčátek posloupnosti vypdt následovně: ε,,,c,,,c,,,c,c,c,cc,,,c,,,c,... PokududememluvitnpříkldoprvníchdesetislovechjzykL Σ, mámetímnmyslidesetslov,kteráptřídojzykljsoumezivšemi slovyzjzyklnejmenšívzhledemkuspořádání < L. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 27/ 46
Konečné utomty Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 28/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk Příkld: Uvžujme slov nd ecedou {0, 1}. Chtěli ychom rozpoznávt jzyk L, který je tvořen slovy, ve kterých se vyskytuje sudý počet symolů 1. Chceme nvrhnout zřízení, které přečte slovo, sdělí nám, zd toto slovo ptřídojzyklčine. 0 1 0 1 1 1 0 1 0 0 1 ANO Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 29/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 0 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 0 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 2 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 3 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 4 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 4 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk První nápd: Počítt počet výskytů symolů 1. 0 1 0 1 1 1 0 1 0 0 1 6 ANO 6jesudéčíslo Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 30/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Druhý nápd: Ve skutečnosti nás zjímá pouze, zd počet dosud přečtených symolů 1 je sudý neo lichý(tj. místo čísl si stčí pmtovt jen jeho poslední it). 0 1 0 1 1 1 0 1 0 0 1 S ANO Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 31/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: S L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 0 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 L Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Rozpoznávání jzyk Chovní tohoto zřízení můžeme popst grfem: 0 S 1 1 0 L 0 1 0 1 1 1 0 1 0 0 1 S Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 32/ 46
Deterministický konečný utomt 1 2 3 4 5 Deterministický konečný utomt se skládá ze stvů přechodů. Jedenzestvůjeoznčenjkopočátečnístvněkterézestvůjsou oznčeny jko přijímjící. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 33/ 46
Deterministický konečný utomt Formálně je deterministický konečný utomt definován jko pětice (Q,Σ,δ,q 0,F) kde: Q je neprázdná konečná množin stvů Σ je eced(neprázdná konečná množin symolů) δ :Q Σ Qjepřechodováfunkce q 0 Qjepočátečnístv F Qjemnožinpřijímjícíchstvů Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 34/ 46
Deterministický konečný utomt 1 2 3 4 5 Q = {1,2,3,4,5} Σ = {,} q 0 =1 F = {1,4,5} δ(1,) =2 δ(1,) =1 δ(2,) =4 δ(2,) =5 δ(3,) =1 δ(3,) =4 δ(4,) =1 δ(4,) =3 δ(5,) =4 δ(5,) =5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 35/ 46
Deterministický konečný utomt Místo zápisu δ(1,) =2 δ(1,) =1 δ(2,) =4 δ(2,) =5 δ(3,) =1 δ(3,) =4 δ(4,) =1 δ(4,) =3 δ(5,) =4 δ(5,) =5 udeme rději používt stručnější tulku neo grfické znázornění: δ 1 2 1 2 4 5 3 1 4 4 1 3 5 4 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 36/ 46
Deterministický konečný utomt Místo zápisu δ(1,) =2 δ(1,) =1 δ(2,) =4 δ(2,) =5 δ(3,) =1 δ(3,) =4 δ(4,) =1 δ(4,) =3 δ(5,) =4 δ(5,) =5 udeme rději používt stručnější tulku neo grfické znázornění: δ 1 2 1 2 4 5 3 1 4 4 1 3 5 4 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 36/ 46
Deterministický konečný utomt 1 2 3 4 5 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt 1 2 3 4 5 2 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt 1 2 3 4 5 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt 1 2 3 4 5 4 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt 1 2 3 4 5 3 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt 1 2 3 4 5 4 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 37/ 46
Deterministický konečný utomt Konfigurce konečného utomtu A je dán stvem jeho řídící jednotky dosud nepřečteným oshem pásky. MnožinvšechkonfigurcíConf jeq Σ. Příkld: (2, ) Conf Pro dný utomt A můžeme n množině všech konfigurcí definovt inární relci Conf Conf s následujícím význmem: C 1 C 2 znmená,žeutomtamůžepřejítjednímkrokem zkonfigurcec 1 dokonfigurcec 2. Příkld: (2,) (5,) Formálněpltí,že (q,w) (q,w )právětehdy,kdyžw =w q = δ(q,)pronějké Σ. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 38/ 46
Deterministický konečný utomt Konfigurce (q,w)senzývápočátečníkonfigurce,jestližeq=q 0. Příkld: (1, ) je počáteční konfigurce. Konfigurce (q,w)senzývákoncovákonfigurce,jestližew = ε. Příkld: (4, ε) je koncová konfigurce. Definice Výpočet utomtu je posloupnost konfigurcí C 0,C 1,C 2,,C k kdec i jsoukonfigurce,c 0 jepočátečníkonfigurce,c k jekoncová konfigurceprovšechni {1,2,...,k}pltí,žeC i 1 C i. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 39/ 46
Deterministický konečný utomt 1 2 3 4 5 (1, ) 1 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt 1 2 3 4 5 (1,) (2,) 2 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt 1 2 3 4 5 (1,) (2,) (5, ) 5 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt 1 2 3 4 5 (1,) (2,) (5,) (4,) 4 Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt 1 2 3 4 5 3 (1,) (2,) (5,) (4,) (3,) Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt 1 2 3 4 5 4 (1,) (2,) (5,) (4,) (3,) (4,ε) Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 40/ 46
Deterministický konečný utomt Dále můžeme definovt pro dný utomt A relci Conf Conf, tkovou,žec C pltíprávětehdy,kdyžutomtmůžepřejítnějkým liovolným(inulovým)počtemkrokůzkonfigurcecdokonfigurcec. Přesnějiřečeno,C C pltíprávětehdy,kdyžexistujeposloupnost konfigurcí C 0,C 1,C 2,...,C k kdec 0 =C,C k =C provšechni {1,2,...,k}pltí,žeC i 1 C i. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 41/ 46
Deterministický konečný utomt Alterntivněmůžemerelci definovtjkonejmenšírelcisplňující následující podmínky: ProkždéC Conf pltíc C. ProkždéC,C Conf pltí,žepokudc C,pkC C. ProkždéC,C,C Conf pltí,žepokudc C C C,pk C C. Poznámk:Relce jereflexivnímtrzitivnímuzávěremrelce, tj. je to nejmenší reflexivní trzitivní relce oshující relci. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 42/ 46
Deterministický konečný utomt Definice Koncovákonfigurce (q,ε)jepřijímjící,jestližeq F. Definice AutomtA = (Q,Σ,δ,q 0,F)přijímáslovow Σ právětehdy,když (q 0,w) (q,ε)pronějkéq F. Tj.utomtApřijímáslovowprávětehdy,kdyžvýpočetutomtuA zčínjícívpočátečníkonfigurci (q 0,w)skončívpřijímjícíkoncové konfigurci. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 43/ 46
Deterministický konečný utomt Definice Jzyk rozpoznávný(přijímný) dným deterministickým konečným utomtema = (Q,Σ,δ,q 0,F),oznčovnýL(A),jemnožinvšechslov přijímných tímto utomtem, tj. L(A) = {w Σ (q 0,w) (q,ε),q F} Definice Jzyk L je regulární právě tehdy, když existuje nějký konečný utomt, který jej přijímá. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 44/ 46
Deterministický konečný utomt Definice MějmeDKAA = (Q,Σ,δ,q 0,F). Zápisemq w q,kdeq,q Qw Σ,udemeoznčovtto,že pokudjeutomtvestvuq,tkpřečtenímslovwpřejdedostvuq. Poznámk: Q Σ Qjeternárnírelce. Místo (q,w,q ) píšemeq q w. Tuto relci můžeme formálně definovt následující induktivní definicí: q ε qproliovolnéq Q Prow Σ Σ: q q w právětehdy,kdyžexistujeq Qtkové,žeq q w δ(q,) =q. Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 45/ 46
Deterministický konečný utomt JzykrozpoznávnýdnýmDKAA = (Q,Σ,δ,q 0,F)pkmůžeme definovt(lterntivně) tkto: L(A) = {w Σ q F :q 0 w q} Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 46/ 46