Automaty a gramatiky Jaso korektury: Milo Teodorovi odborn rady a garance: V clav Koubek 10. listopadu 1996 Tato skripta slou jako pom cka k p edn ce Automaty a gramatiky na MFF UK. Obsahuj tedy pouze z kladn vod do dan problematiky. V t ina kapitol zde uveden ch je zestru n n m (a tak polid t n m, jak douf m) knihy [2]. 1
2 OBSAH Obsah 1 Z kladn pojmy z teorie jazyk 3 2 vod do teorie automat 3 2.1 Historie : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2 Automaty a jazyky : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Klasikace automat : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.4 Moore v automat : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.5 Mealyho automat : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2.6 Zad v n automat v praxi : : : : : : : : : : : : : : : : : : : : : 6 2.7 Ekvivalence Mooreova a Mealyho automatu : : : : : : : : : : : : 7 3 Propojov n a dekompozice automat 10 3.1 Automatov a stavov kongruence : : : : : : : : : : : : : : : : : 10 3.2 Pod lov automat : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3 S riov a paraleln dekompozice : : : : : : : : : : : : : : : : : : : 15 4 Regul rn jazyky 25 4.1 Akceptory : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 4.2 Syntaktick kongruence jazyk : : : : : : : : : : : : : : : : : : : 31 4.3 Nedeterministick akceptory : : : : : : : : : : : : : : : : : : : : : 38 4.4 Dvoucestn automaty : : : : : : : : : : : : : : : : : : : : : : : : 48 4.5 Substituce : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54 4.6 Kvocienty jazyk : : : : : : : : : : : : : : : : : : : : : : : : : : 59 5 Gramatiky 61 5.1 Chomsk ho hierarchie : : : : : : : : : : : : : : : : : : : : : : : : 62 5.2 Bezkontextov gramatiky : : : : : : : : : : : : : : : : : : : : : : 70 5.2.1 Norm ln formy : : : : : : : : : : : : : : : : : : : : : : : : 70 5.2.2 Deriva n stromy : : : : : : : : : : : : : : : : : : : : : : : 72 5.2.3 Operace nad bezkontextov mi gramatikami : : : : : : : : 75 6 Z sobn kov automaty 77 7 Turingovy stroje 88 7.1 Odvozen Turingovy stroje : : : : : : : : : : : : : : : : : : : : : 89 7.2 Univerz ln Turing v stroj : : : : : : : : : : : : : : : : : : : : : : 99 Rejst k 102 Seznam v t 105 Seznam p klad 105 Literatura 105 A P ehled jazyk podle Chomsk ho hierarchie 106
3 1 Z kladn pojmy z teorie jazyk Abeceda A je libovoln kone n mno ina A prvky abecedy A budeme naz vat p smena, resp. symboly Slovem nazveme ka dou kone nou posloupnost p smen, jej d lku nazveme d lkou slova pr zdn slovo (slovo d lky 0) ozna me mno inu v ech slov nad abecedou A ozna me A A + = A n fg (mno ina v ech nepr zdn ch slov nad A) libovolnou podmno inu L mno iny A nazveme jazykem nad A (L A ) pro slova = a 1 : : : a m a = b 1 : : : b n denujeme operaci conc tak, e conc(; ) = = a 1 : : : a m b 1 : : : b n (pro m; n 2 N) (jedn se o slo en et zc, resp. slov) 1 Pozn mka: Na tomto m st pova uji za velmi vhodn si p ipomenout, co znamen kone n posloupnost, resp. mno ina. Kone nou mno inou m me na mysli mno inu kone n velikosti, neboli velikost t to mno iny je rovna n kter mu p irozen mu slu 2. Podobn posloupnost je kone n, pokud je jej d lka rovna p irozen mu slu. P irozen ch sel je ale nekone n mnoho, z eho nap klad vid me, e mno ina A v ech slov nad abecedou A je nekone n, kdykoliv A 6= ;. V m, e se k t to pozn mce r di vr t v ichni, kdo v pr b hu ten n sleduj c ch kapitol zabloud v pojmech kone no, nekone no a podobn. Pro p pad nejvy nouze p ipojuji m sto z chrann ho kruhu fakt shrnuj c celou pozn mku: P irozen ch sel je nekone n mnoho. Ka d p irozen slo je kone n. Naprosto stejn tvrzen plat samoz ejm i pro N 0 a Z (cel sla). Teorie jazyk nach z irok uplatn n v lingvistice, teorii programovac ch jazyk, biologii a dal ch oborech. 2 vod do teorie automat 2.1 Historie Teorie automat je pom rn mlad v da. Vznikla po tkem druh tvrtiny 20. stolet na popud logiky jako obor, hledaj c mo nosti kone n ho popisu nekone n ch objekt. U jej ho zrodu st li zejm na Turing, Kleene, Post, Church a Markov. Denice Turingova stroje z roku 1936 natrvalo za adila v zkum automat mezi v znamn odv tv modern v dy. K dal mu rozvoji p isp li v roce 1 Lehce nahl dneme, e operace skl d n et zc je asociativn, je jej jednotkov prvek, a e tedy A (conc; ) je monoid (dokonce voln nad mno inou A). 2 zna me N, resp. N 0 pro p irozen sla obohacen o 0.
4 2 VOD DO TEORIE AUTOMAT Tabulka 1: T dy jazyk Typ akceptoru (A)! T da jazyk rozpozn van akceptory typu A Typ gramatiky (G)! T da jazyk generovan gramatikami typu G Tabulka 2: Sch ma pr ce gramatik a akceptor Vstupn slovo! Akceptor A! V stup (slovo pat, resp. nepat do jazyka rozpozn van ho akceptorem A) Vstup (b zov slova jazyka L)! Gramatika G! Jazyk L 1943 biologov McGullcik a Pitts. V letech 1954{1960 byly kone n polo eny z klady form ln teorie kone n ch automat (Humann, Kleene), co vedlo ke zv en mu z jmu o tento obor v 60-t ch letech. 2.2 Automaty a jazyky Teorie automat se zab v konstrukc za zen na rozpozn v n jazyk (akceptory, resp. automaty) a mechanism na generov n jazyk (gramatiky). Ka d mu typu akceptoru (gramatiky) lze p i adit t du jazyk, kter dan za zen rozpozn (generuje). Vlastnostmi t d jazyk rozpozn van ch (generovan ch) dan m za zen m a vztahy mezi jazyky rozpozn van mi (generovan mi) r zn mi akceptory (gramatikami) se zab v teorie jazyk (viz tab. 1). Sch matick zn zorn n pr ce rozpozn vac ch za zen a generuj c ch mechanism naleznete v tab. 2. 2.3 Klasikace automat Automaty 1 lze klasikovat (t dit) podle nejr zn j ch hledisek. Mezi nejpou van j pat pou it pam 2 zp sob ur en n sleduj c kongurace 3 p stup ke vstupn m dat m 4 1 nebo akceptory, proto e to je pro na e pot eby jedno a to sam. Automaty je pon kud obecn j slovo, akceptory v sti n j 2 dn, z sobn k, atd. 3 jak je zad n zp sob p echodu automatu z jednoho stavu do druh ho (pevn dan, v b r z mno iny mo n ch p echod ) 4 zp sob ten vstupn ch dat (pohyb ve vstupn m slov, kter m automat prov it)
2.4 Moore v automat 5 V n sleduj c ch kapitol ch se nejprve budeme trochu zab vat automaty obecn, potom p ejdeme k akceptor m a vztah m mezi akceptory a jazyky. 2.4 Moore v automat Denice 2.1 Mooreov m automatem rozum me estici (Q; X; ; q 0 ; Y; ), resp. p tici (Q; X; ; Y; ) 5, kde X ozna uje vstupn abecedu Q (kone nou) mno inu stav automatu : Q X! Q p echodovou funkci q 0 2 Q po te n stav Y v stupn abecedu : Q! Y v stupn funkci Moore v automat si p edstavujeme jako za zen, kter m kontroln jednotku, kter m e nab vat kone n mnoha stav, vstupn a v stupn p sku. P sky jsou rozd len na jednotliv pol ka, kter jsou o slov na kladn mi cel mi sly. Ka d pol ko m e obsahovat jen jeden znak abecedy nebo m e b t pr zdn. Vstupn slovo = a 1 : : : a n je napsan na prvn ch n pol k ch vstupn p sky, tj. a i je na i-t m pol ku pro i n a pro i > n je i-t pol ko pr zdn. Po vstupn p sce se pohybuje hlava, kter p e te v dy obsah jednoho pol ka. Po v stupn p sce se pohybuje hlava, kter zapisuje na tuto p sku v stup automatu. Automat tedy pracuje v jednotliv ch taktech. Na po tku sv innosti se automat nach z ve stavu q 0 a ob hlavy jsou na prvn ch pol k ch sv p sky. V jednom taktu hlava na vstupn p sce p e te p smeno ze vstupu, kter je naps no na prohl en m i-t m pol ku, a v z vislosti na p e ten m p smenu a funkci p ech z do dal ho stavu. Hlava na vstupn p sce se p esune na i + 1-n pol ko. Z rove hlava na v stupn p sce zap e v stup automatu, kter z vis pouze na stavu automatu. Tuto z vislost ur uje funkce. Po zaps n v stupu se hlava na v stupn p sce p esune tak na dal pol ko. Je p irozen denovat roz en funkc (p echod z jednoho stavu do jin ho v z vislosti na p e ten m p smenu) na : Q X! Q (p echod z jednoho stavu do jin ho v z vislosti na p e ten m slov ) a (v stup v z vislosti na moment ln m stavu automatu) na : Q X! Y (v stup v z vislosti na p e ten m slov ) n sledovn : (1) (q; ) df = q (q; a) df = ( (q; ); a); (2) (q; ) df = ( (q; )); pro q 2 Q, a 2 X a 2 X. D le denujme p ekladovou funkci p : Q X! Y (3) p (q; ) df = p (q; a) df = p (q; ) (q; a) 5 n kdy n s nezaj m po te n stav, ale pr ce automatu bez z vislosti na n m
6 2 VOD DO TEORIE AUTOMAT pro q 2 Q, a 2 X a 2 X. P ekladov funkce, jak je z ejm z denice, vr t pro dan vstupn slovo odpov daj c slovo v stupn 6. Tvrzen 2.2 (8 ; 2 X )(8 q 2 Q) (q; ) = ( (q; ); ) (q; ) = ( (q; ); ) p (q; ) = p (q; ) p ( (q; ); ): D kaz: Provedeme pro prvn rovnost (ostatn jsou analogick ) indukc dle d lky. Pro = rovnost plyne z denice. P edpokl dejme tedy 6=. Bu = 0 b (pro n jak 0 2 X ; b 2 X). Potom postupn z denice, induk n ho p edpokladu a op t z denice dost v me (q; ) = ( (q; 0 ); b) = ( ( (q; ); 0 ); b) = ( (q; ); ) m je d kaz proveden. CBD 2.5 Mealyho automat Denice Mealyho automatu je velmi bl zk Mooreovu automatu (a jak se pozd ji uk e, d se jeden na druh p ev st). Denice 2.3 Mealyho automat je estice (Q; X; ; q 0 ; Y; ), resp. p i vynech n inici ln ho stavu p tice (Q; X; ; Y; ). Jednotliv prvky odpov daj popisu v kapitole 2.4 (Moore v automat), a na, kter je zde denov no jako zobrazen : Q X! Y. V stup Mealyho automatu tedy z vis na moment ln m stavu a znaku na vstupu. I pro Mealyho automat denujeme zobrazen Moore v automat. 7 a, a to stejn jako pro 2.6 Zad v n automat v praxi Nej ast j m zp sobem zad n Mooreova automatu M = (Q; X; ; q 0 ; Y; ) je tabulka jqj (jx j+1), kde ka d dek p slu jednomu stavu a ka d sloupec jednomu vstupn mu symbolu. V posledn m sloupci jsou uvedeny hodnoty v stupn funkce. Ostatn sloupce denuj funkci, tzn. dan mu stavu z Q p i azuj pro dan vstup op t n jak stav z Q. Vstupn stav q 0 (pokud je nutn jej zadat) se ozna uje ipkou. Mealyho automat se zad v podobnou tabulkou, jen posledn sloupec chyb a polo ky tabulky jsou tvo eny dvojicemi =, kde je op t hodnota p echodov a v stupn funkce. N sleduj c tabulky ukazuj p klady zad n Mooreova automatu M o = (Q o ; X o ; o ; Y o ; o ) (vlevo), 6 p i em pr ce automatu nad slovem nemus za nat v q 0; p ekladov funkce je denov na pro v echny stavy z Q 7 a na (q; ), co v p pad Mealyho automatu nem smysl!
2.7 Ekvivalence Mooreova a Mealyho automatu 7 b/k ' $ $ - b/n '? a/m 3 So S S S & a/k S S S S - d/i? d/o - 2-4 6 a/i a/k? 1 b/i 6 d/m b/n d/m Obr. 1: Automat M e zadan gracky Mealyho automatu M e = (Q e ; X e ; e ; Y e ; e ) (vpravo). M o a b c d ) q 1 q 1 q 5 q 2 q 4 1 q 2 q 5 q 2 q 1 q 3 0 q 3 q 1 q 1 q 2 q 1 1 q 4 q 3 q 2 q 5 q 4 1 q 5 q 2 q 4 q 3 q 2 0 M e a b d 1 3=k 1=i 1=m 2 1=i 3=n 4=o 3 2=m 3=k 1=i ) 4 1=k 2=n 4=m Z tabulek lze nap klad vy st, e automat M o p ejde ze stavu q 3 p i vstupu b do stavu q 1 a na v stupu je 1. Automat M e ze stavu 2 p i vstupu d p ejde do stavu 4, na v stupu bude o. 8 Jin m pom rn b n m zp sobem zad n automatu je orientovan graf, ve kter m stavy tvo uzly a hrany zn zor uj p echody mezi stavy. Obr zek 1 ukazuje grackou reprezentaci automatu M e zadan ho v e uvedenou tabulkou. 2.7 Ekvivalence Mooreova a Mealyho automatu Denice 2.4 M jme dva Mooreovy automaty 9 (Q i ; X; i ; Y; i ), i = 1; 2 se stejnou vstupn a v stupn abecedou. ekneme, e stavy q 1 a q 2 (q i 2 Q i ) jsou ekvivalentn (p eme q 1 q 2 ), pokud pro v echna 2 X plat (4) 1(q 1 ; ) = 2(q 2 ; ): 8 Jako cvi en by nebylo patn zkusit si vypsat vstupn a v stupn abecedy a mno iny stav obou automat 9 ne nutn r zn
8 2 VOD DO TEORIE AUTOMAT ekneme, e stavy q 1 a q 2 jsou -ekvivalentn (p eme q 1 q 2 ), pokud (4) plat pro v echna 2 X +. 10 Pro Mealyho automaty je -ekvivalence denov na stejn jako pro Mooreovy. Ekvivalence na Mealyho automatech nem smysl, nebo v jej denici vystupuje libovoln 2 X, tedy i =. V stupn funkce, pot ebn pro zaveden pojmu ekvivalence, v ak nad pr zdn m slovem v Mealyho automatu nen denov na. Pojem -ekvivalence denujeme analogicky tak pro jeden Mealyho a jeden Moore v automat. Denice 2.5 ekneme, e dva Mooreovy automaty (Q i ; X; i ; Y; i ), i = 1; 2 maj stejn chov n (resp. stejn -chov n ), pokud (8 q 1 2 Q 1 )(9 q 2 2 Q 2 )(q 1 q 2 ) (8 q 2 2 Q 2 )(9 q 1 2 Q 1 )(q 1 q 2 ); resp. q 1 q 2, jde-li o -chov n. Podobn jako u p edchoz denice 2.4, i zde je nutno poznamenat, e pro Mealyho automaty je stejn -chov n denov no jako pro Mooreovy. Denovat pro Mealyho automaty stejn chov n v ak nem smysl. Stejn -chov n denujeme beze zm ny tak pro jeden Mealyho a jeden Moore v automat. V ta 2.6 (Moore!Mealy) M jme Moore v automat (Q; X; ; Y; 1 ) a Mealyho automat (Q; X; ; Y; 2 ), pro kter plat (5) (8 q 2 Q)(8 a 2 X)( 2 (q; a) = 1 ((q; a))) Potom maj tyto dva automaty stejn -chov n. D kaz: Podle denice 2.5 je t eba naj t ke ka d mu stavu jednoho automatu -ekvivalentn stav automatu druh ho a naopak. Relace -ekvivalence se n m zde p mo nab z coby identita, tzn. stav q 2 Q Mealyho automatu ozna me za -ekvivalentn s t m stavem q v Mooreov a naopak. Mus me v ak ov it, e identita id Q 11 je zde skute n -ekvivalence (viz denice 2.4). Vezm me libovoln stav q 2 Q, n jak = 0 a pro 0 2 X, a 2 X. Z denice, p edpokladu (5), denice a op t denice dost v me 2 (q; ) = 2( (q; 0 ); a) = = 1 (( (q; 0 ); a)) = 1 ( (q; 0 a)) = 1 (q; ) Za podm nky (5) jsme ke ka d mu stavu Mooreova automatu na li (identick ) -ekvivalentn stav Mealyho automatu a naopak, tedy tyto automaty maj stejn -chov n. CBD 10 Jin mi slovy, dva stavy jsou ekvivalentn, pokud v po et zapo at v ka d m z nich nad stejn m slovem d v stejn v stup 11 pod z pisem id Q se skr v identick relace nad mno inou Q, tzn. ka d prvek je ekvivalentn pr v s m se sebou
2.7 Ekvivalence Mooreova a Mealyho automatu 9 V ta 2.7 (Mealy!Moore) M jme Mealyho automat (Q; X; 1 ; Y; 1 ) a Moore v automat (Q Y; X; 2 ; Y; 2 ), pro kter plat (8 q 2 Q)(8 a 2 X)(8 y 2 Y ) (6) (7) 2 ((q; y); a) = ( 1 (q; a); 1 (q; a)) 2 ((q; y)) = y Potom maj tyto dva automaty stejn -chov n. D kaz: Abychom prok zali stejn -chov n dvou automat, mus me naj t p slu n -ekvivalentn stavy. Jak by asi ka d ekal, za relaci -ekvivalence vezmeme (8 q 2 Q)(8 y 2 Y )((q; y) q) Ov it, e je to skute n -ekvivalence, znamen dok zat rovnost (8) (8 2 X + )( 2((q; y); ) = 1(q; )) Dok eme nejprve vztah (9) (8 2 X + )(8 q 2 Q)(8 y 2 Y )( 2 ((q; y); ) = ( 1 (q; ); 1 (q; ))) kter pozd ji vyu ijeme. D kaz vztahu (9) provedeme indukc podle d lky : pro = a 2 X je z denice, p edpokladu (6) a z denice a 2 ((q; y); a) = 2((q; y); a) = ( 1 (q; a); 1 (q; a)) = ( 1 (q; a); 1 (q; a)) Pro slovo d lky jedna tedy vztah (9) plat. P edpokl dejme nyn = 0 a a nech pro 0 plat (9). Potom z denice, induk n ho p edpokladu, p edpokladu (6) a denice a m eme ps t 2((q; y); a) = 2 ( 2((q; y); 0 ); a) = 2 (( 1(q; 0 ); 1(q; 0 )); a) = = ( 1 ( 1(q; 0 ); a); 1 ( 1(q; 0 ); a)) = ( 1(q; a); 1(q; a)) T m jsme dok zali vztah (9) a m eme p ikro it k d kazu v ty (tedy rovnice (8)). Postupn m pou it m denice, vztahu (9) a p edpokladu (7) dost v me 2 ((q; y); ) = 2( 2 ((q; y); )) = 2( 1 (q; ); 1 (q; )) = 1 (q; ) T m je dok z na rovnost (8), zvolen relace je opravdu -ekvivalence. Podle denice pro ka d stav Mealyho automatu existuje alespo jeden stav Mooreova automatu s n m -ekvivalentn a naopak, tedy automaty popsan v p edpokladech v ty maj stejn -chov n. CBD Uveden v ty n m kaj nejen, e lze Moore v automat p ev st na Mealyho (a naopak) se stejn m -chov n m, ale nadto poskytuj p esn n vod, jak to m me prov st. Nebo te u um me p ev st jeden automat na druh, plat denice, v ty a tvrzen, vysloven a dok zan pro jeden typ automat, okam it i pro druh 12. Od t to chv le, pokud nebude e eno jinak, budeme pracovat jenom s Mooreov mi automaty s t m, e p edchoz odstavec si podr me st le v pam ti. 12 a na to, e na vstupu Mealyho automatu nem smysl(!), co je ale trivi ln o et iteln probl m. Nicm n je t eba si uv domit, e kdykoliv pou v me (q; ) bez ur en, zda se jedn o Mealyho nebo Moore v automat, a p eme 2 X, m lo by b t pod arou poznamen no, e pro Mealyho je 2 X +. Vzhledem k tomuto odstavci to nad le pova uji za samoz ejmost a pozn mky pod arou na et v Mealyho automatech si s laskav m dovolen m odpust m.
10 3 PROPOJOV N A DEKOMPOZICE AUTOMAT P klad 2.8 (P eveden Moore!Mealy) Je d n automat M o ze strany 7. Sestrojte Mealyho automat se stejn m -chov n m jako M o. V ta 2.6 n m k, jak takov automat m me sestrojit. Mealyho automat M e 1 = (Q; X; ; Y; 1) se bude od M o li it pouze v stupn funkc, kterou denujeme pomoc v stupn funkce p edpisem (5). V sledek je z ejm z tabulky. FINE 13 M e 1 a b c d ) q 1 q 1 =1 q 5 =0 q 2 =0 q 4 =1 q 2 q 5 =0 q 2 =0 q 1 =1 q 3 =1 q 3 q 1 =1 q 1 =1 q 2 =0 q 1 =1 q 4 q 3 =1 q 2 =0 q 5 =0 q 4 =1 q 5 q 2 =0 q 4 =1 q 3 =1 q 2 =0 P klad 2.9 (P eveden Mealy!Moore) Bu M e 2 = (Q 2; X 2 ; 2 ; Y 2 ; 2 ) Mealyho automat zadan tabulkou (viz n e). Sestrojte Moore v automat se stejn m -chov n m. Z v ty 2.7 v me, jak takov automat sestrojit. Denujme Moore v automat M o 3 = (Q 2 Y 2 ; X 2 ; 3 ; Y 2 ; 3 ). Jeho stavy budou stavy uspo dan dvojice z kart zsk ho sou inu Q 2 Y 2, p echodov funkce 3 bude denov na vztahem (6) a v stupn funkce 3 d na rovnic (7). N sleduj tabulky automat M e 2 a M o 3. M o 3 x y M e 2 x y 1 1/b 2/a 2 2/a 1/b (1,a) (1,b) (2,a) a (1,b) (1,b) (2,a) b (2,a) (2,a) (1,b) a (2,b) (2,a) (1,b) b FINE 3 Propojov n a dekompozice automat 3.1 Automatov a stavov kongruence Denice 3.1 ekneme, e Moore v automat je redukovan, pokud dn dva r zn stavy nejsou ekvivalentn. Denice 3.2 Ekvivalenci na mno in Q nazveme automatovou kongruenc automatu (Q; X; ; Y; ), pokud plat (10) (11) (8 a 2 X)(8 q; q 0 2 Q)(q q 0 ) (q; a) (q 0 ; a)) (8 q; q 0 2 Q)(q q 0 ) (q) = (q 0 )) Pokud plat alespo podm nka (10), hovo me o stavov kongruenci 1 13 konec p kladu 1 je d le it si uv domit, e automatov kongruence je ekvivalence denovan na mno in Q jednoho automatu, kde to ekvivalence popsan v denici 2.4 je na mno in ch Q 1 a Q 2 dvou automat (mohou b t r zn )
3.1 Automatov a stavov kongruence 11 O automatov ch a stavov ch kongruenc ch si ekneme n co bli ho a po objasn n algoritmu na jejich hled n (algoritmus 1). Algoritmus 1 (Konstrukce automatov ch a stavov ch kongruenc ) M jme automat (Q; X; ; Y; ). 1. Hled n nejhrub 2 automatov kongruence. Na automatu (Q; X; ; Y; ) denujeme ekvivalence i pro i 2 N 0 : (8 q; q 0 2 Q) q i+1 q 0 df (q i q 0 ) ^ (8 x 2 X)((q; x) i (q 0 ; x)) Inicializa n krok 0 se pro Moore v a Mealyho automat li : q 0 q 0 df ((q) = (q 0 )) pro Moore v automat q 0 q 0 df (8 x 2 X)((q; x) = (q 0 ; x)) pro Mealyho automat Jinak e eno, stavy q a q 0 jsou ekvivalentn v i, pokud v po ty 3 v nich zapo at maj pro v echna slova d lky men nebo rovn i stejn v stupy. Algoritmus kon, jakmile n = n 1. Algoritmus je deterministick a vych z p mo z denice automatov kongruence. Lze nahl dnout, e pokud se n d le nerozpad, je nejhrub automatovou kongruenc dan ho automatu. Nejjemn j je z ejm id Q. V echny ostatn automatov kongruence z sk me zjemn n m n, tzn. rozpadem n kter ch t d n na men. P itom je v ak nutn db t na to, aby z skan relace byla op t automatov kongruence (tj. spl ovala podm nku (10))! 2. Hled n element rn ch stavov ch kongruenc. Stavov kongruence je element rn, pokud existuj dva r zn stavy q a q 0 takov, e je nejjemn j 4 kongruence, pro kterou plat q q 0. Element rn stavov kongruence dost v me opa n m postupem ne nejhrub automatovou kongruenci. Vyjdeme od ekvivalence lep c pr v dva prvky 5 a postupn vytv me ekvivalence hrub a hrub. Denujme op t ekvivalenci 0 = ft 0 1 ; T 0 2 ; : : : ; T 0 jqj 1 g; kde Ti 0 jsou ekvivalen n t dy a d le plat jt1 0j= 2, tzn. t da T 1 0 lep pr v dva prvky 6 a ostatn t dy obsahuj po jednom prvku (stavu z Q). Nyn indukc q i+1 q 0 df (9 p; p 0 2 Q)(9 a 2 X)(p i p 0 ^ (p; a) = q ^ (p 0 ; a) = q 0 ) 2 tzn. m nejm n kongruen ch t d 3 v po tem nad slovem a 1 : : : a n zapo at m ve stavu q 1 m m na mysli posloupnost stav q 1; : : : ; q n+1, kter spl uje (q i; a i) = q i+1 pro v echna 1 i n. Mysl m, e pojem v po tu je zde intuitivn z ejm a pova uji za zbyte n v novat mu zvl tn denici. 4 tzn. m nejv ce kongruen n ch t d 5 Denice: ekvivalence lep prvky x 1 a x 2, pr v kdy x 1x 2 6 vyb r me libovoln dvojice stav do T 0 1 a podle toho dost v me r zn stavov kongruence
12 3 PROPOJOV N A DEKOMPOZICE AUTOMAT Jin mi slovy vezmeme v echny stavy z jedn t dy a zjist me p echody funkce ze v ech t chto stav pro dan vstup. Stavy, z skan jako v sledky t to operace, prohl s me za ekvivalentn. Algoritmus kon, jakmile n = n 1. Ekvivalence n je stavovou kongruenc. Praktick pou it algoritmu je p edvedeno v p kladu 3.18. Neboj me-li se pono it do algebraick ch v raz, m eme ozna it K mno inu v ech stavov ch kongruenc a K 0 mno inu v ech automatov ch kongruenc na dan m automatu a na K denovat operace spojen ([) a pr sek (\) vztahy (pro ; 2 K) (q; q 0 ) 2 ( \ ), (q; q 0 ) 2 ^ (q; q 0 ) 2 (q; q 0 ) 2 ( [ ), (9 q 1 ; : : : ; q n ; q 1 = q; q n = q 0 ) (8 i 2 h1; n 1i N)(q i q i+1 _ q i q i+1 ) Z jemci si mohou dok zat, e K([; \) je svaz a K 0 ([; \) je jeho podsvaz. Prvn tvrzen obn ov it pro \ a [ komutativitu, asociativitu, absorbci a idempotenci 7. Druh tvrzen tak nen dn v da. Ka d automatov kongruence je z denice i stavov, tedy K 0 K. D le ka d automatov kongruence je zjemn n m nejhrub automatov kongruence z skan algoritmem 1, tzn. K 0 je uzav en na operace a je tud podsvazem K. Ozna me-li nejhrub automatovou kongruenci max, potom K 0 ([; \; id Q ; max ) je dokonce svaz s nejmen m a nejv t m prvkem. Nav c ka d prvek svazu K je spojen m element rn ch stavov ch kongruenc. 3.2 Pod lov automat Denice 3.3 M jme automat M = (Q; X; ; Y; ) a na n m automatovou kongruenci. Pod lov m automatem automatu M rozum me automat M= = (Q; X; ; Y; )= = (Q= ; X; 0 ; Y; 0 ); kde denujeme: (12) (13) 0 ([q] ; a) = [(q; a)] 0 ([q] ) = (q) Nez vislost t to denice na volb reprezentanta t dy kongruence (stav q) je t eba ov it: Vezm me dva stavy q 1 ; q 2 2 Q takov, e q 1 q 2 a ov me podm nky (12) a (13): Pro podm nku (12) dost v me denice automatov kongruence (10) a ekvivalence stav q 1 a q 2 0 ([q 1 ] ; a) = [(q 1 ; a)] = [(q 2 ; a)] = 0 ([q 2 ] ; a); tedy 0 ([q 1 ] ; a) 0 ([q 2 ] ; a) pro v echna a 2 X. Pro podm nku (13) obdobn aplikac (11) a ekvivalence q 1 a q 2 0 ([q 1 ] ) = (q 1 ) = (q 2 ) = 0 ([q 2 ] ) m je korektnost denice 0 a 0 prok z na. 7 V echny ty i vlastnosti lze ov it p mo z denice.
3.2 Pod lov automat 13 Tvrzen 3.4 Ekvivalence z denice 2.4 na automatu (Q; X; ; Y; ) je automatov kongruence. D kaz: Vezm me dva stavy q 1 ; q 2 2 Q takov, e q 1 q 2. Pro dok eme nejprve podm nku (10) z denice automatov kongruence. U it m druh ho dku tvrzen 2.2 8, ekvivalence q 1 q 2 a op t tvrzen 2.2 dost v me pro v echna a 2 X; 2 X ((q 1 ; a); ) = (q 1 ; a) = (q 2 ; a) = ((q 2 ; a); ); a tedy dle denice 2.4 je (q 1 ; a) (q 2 ; a). Podm nka (11) z denice automatov kongruence vypl v z denice ekvivalence stav q 1 a q 2 : a (q 1 ) = (q 1 ; ) = (q 2 ; ) = (q 2 ) Dok zali jsme, e ekvivalence, jak jsme ji denovali na za tku kapitoly v denici 2.4, spl uje v echny po adavky, aby mohla b t pova ov na za automatovou kongruenci 9. CBD Do konce kapitoly 3.2 pova ujme za ekvivalenci stav automatu (viz denice 2.4). Lemma 3.5 Pro pod lov automat (Q 0 ; X; 0 ; Y; 0 ) = (Q; X; ; Y; )= plat (14) (8 q 2 Q)(8 2 X )(( 0 ) ([q] ; ) = [ (q; )] ) D kaz: Provedeme indukc podle d lky. Pro = dost v me [ (q; )] = [q] = ( 0 ) ([q] ; ) pro v echna q 2 Q. Pokud 6=, plat pro v echna q 2 Q a = 0 a 2 X + z denice ; 0, induk n ho p edpokladu a denice CBD [ (q; )] = [( (q; 0 ); a)] = 0 ([ (q; 0 )] ; a) = = 0 (( 0 ) ([q] ; 0 ); a) = ( 0 ) ([q] ; ) V ta 3.6 (O pod lov m automatu) Pod lov automat M= je redukovan a m stejn chov n jako automat M. 8 m m na mysli dek (q; ) = ( (q; ); ); resp. speci ln p pad (q; a) = ((q; a); ) 9 s t m, e porovn v me stavy jednoho automatu, kde to denice ekvivalence stav pracuje s automaty dv ma
14 3 PROPOJOV N A DEKOMPOZICE AUTOMAT D kaz: Nech M= = (Q 0 ; X; 0 ; Y; 0 ) a M = (Q; X; ; Y; ). Nejprve uk eme, e M= m stejn chov n jako M, tzn. e odpov daj c stavy q a [q] jsou ekvivalentn, co okam it pro v echna q 2 Q; 2 X dost v me z denic ; 0 a 0 a lemmatu 3.5 (15) ( 0 ) ([q] ; ) = 0 (( 0 ) ([q] ; )) = 0 ([ (q; )] ) = = ( (q; )) = (q; ) Nyn dok eme, e M 0 je redukovan. Bu te [q 1 ], [q 2 ] ekvivalentn stavy v M=. Potom podle (15), denice 2.4 a op t (15) pro v echna 2 X (q 1 ; ) = ( 0 ) ([q 1 ] ; ) = ( 0 ) ([q 2 ] ; ) = (q 2 ; ); tedy q 1 q 2, co d v [q 1 ] = [q 2 ]. CBD Denice 3.7 M jme dva automaty M i = (Q i ; X i ; i ; Y i ; i ), i = 1; 2. Pak trojice (f : X 1! X 2 ; g : Q 1! Q 2 ; h : Y 1! Y 2 ) se naz v homomorsmus 10 automat z M 1 do M 2, pokud pro v echna q 2 Q 1, a 2 X 1 plat (16) (17) 2 (g(q); f(a)) = g( 1 (q; a)) 2 (g(q)) = h( 1 (q)) V ta 3.8 Kdy automaty M i = (Q i ; X; i ; Y; i ), i = 1; 2 maj stejn chov n a automat M 2 je redukovan, pak existuje homomorsmus automat z M 1 do M 2 11 (id X ; g : Q 1! Q 2 ; id Y ) takov, e g je surjektivn (na). D kaz: Denujme g : Q 1! Q 2 vztahem (8 q 2 Q 1 )(g(q) df q) CBD V ta 3.9 M me-li Moore v automat M = (Q; X; ; Y; ), pak existuje Moore v automat M 0 se stejn m chov n m, kter m nejmen po et stav mezi automaty, kter maj stejn chov n jako M 12. Pro automat M 0 d le plat, e je 10 Pro z jemce tu m me exkurzi do algebry: homomorsmus dvou algeber A( 1; : : : ; n), B( 1; : : : ; n) je jak koliv zobrazen f : A! B, kter je slu iteln se v emi operacemi algeber A; B, tzn. plat (8 i 2 h1; ni)(8 x 1; : : : ; x m 2 A)(f( i(x 1; : : : ; x m)) = i(f(x 1); : : : ; f(x m))); kde m je arita operac i; i. V na em p pad jsou algebrami automaty, kter ov em nemaj pouze jednu nosnou mno inu, ale trojici mno in X; Q; Y. Je tedy pot eba p esn ur it, co si p edstavujeme pod pojmem slu itelnost s operacemi ; (viz rovnice (16),(17)). 11 z pis id X zna identickou funkci na mno in X, tzn. (8 x 2 X)(x = id X(x)); srovnejte s denic identick relace 12 co je pom rn pochopiteln
3.3 S riov a paraleln dekompozice 15 a) - M - 1 M - 1 b) 6 -? - - M 1 M 1 -? - 6 - Obr. 2: a) s riov, b) paraleln zapojen automat #? - M - - - - 1 M - n Obr. 3: zp tn vazba nast v, pokud se v kask dn m spojen automat vytvo (orientovan ) kru nice jednozna n ur en a na izomorsmus 13 pod lov m automatem automatu M podle kongruence 14 3.3 S riov a paraleln dekompozice V t to kapitole uk eme, jak z jednodu ch automat vytv et slo it j. K tomuto elu budeme propojovat Mealyho automaty. Denice 3.10 Kask dn spojen automat je s tvo en s riov mi a paraleln mi spojen mi automat (viz obr. 2) bez zp tn vazby (viz obr. 3). 13 dv algebry (automaty) M 1, M 2 jsou z denice izomorfn, jakmile existuje homomorsmus (automat ) z M 1 do M 2, kter je prost a na (injektivn a surjektivn ) 14 ekvivalence stav viz denici 2.4
16 3 PROPOJOV N A DEKOMPOZICE AUTOMAT Denice 3.11 M jme dva automaty M i = (Q i ; X i ; i ; Y i ; i ), i = 1; 2 takov, e Y 1 X 2. Pak s riov m spojen m automat M 1 ; M 2 rozum me automat M = M 1 (=))M 2 = (Q 1 Q 2 ; X 1 ; ; Y 2 ; ); kde pro v echna a 2 X 1 ; q 1 2 Q 1 a q 2 2 Q 2 (18) (19) ((q 1 ; q 2 ); a) = ( 1 (q 1 ; a); 2 (q 2 ; 1 (q 1 ; a))) ((q 1 ; q 2 ); a) = 2 (q 2 ; 1 (q 1 ; a)) Denice 3.12 ekneme, e automat M 1 realizuje automat M 2, pokud existuj prost zobrazen f : X 2! X 1 a g : Q 2! Q 1 a zobrazen h : Y 1! Y 2 takov, e pro v echna a 2 X 2 ; q 2 Q 2 (20) (21) 1 (g(q); f(a)) = g( 2 (q; a)) 2 (q; a) = h( 1 (g(q); f(a))) Denice 3.13 ekneme, e automat M m s riovou dekompozici, kdy existuj automaty M 1 a M 2 takov, e M 1 (=))M 2 realizuje M a po et stav ka d ho z automat M 1 a M 2 je men ne po et stav M. Denice 3.14 M jme dva automaty M i = (Q i ; X i ; i ; Y i ; i ), i = 1; 2 takov, e X 1 = X 2 = X. Pak paraleln m spojen m automat M 1 ; M 2 rozum me automat M = (M 1 k M 2 ) = (Q 1 Q 2 ; X; ; Y 1 Y 2 ; ), kde pro v echna a 2 X 1,q 1 2 Q 1 a q 2 2 Q 2 (22) (23) ((q 1 ; q 2 ); a) = ( 1 (q 1 ; a); 2 (q 2 ; a)) ((q 1 ; q 2 ); a) = ( 1 (q 1 ; a); 2 (q 2 ; a)) Denice 3.15 Automat M m paraleln dekompozici, pokud existuj automaty M 1 ; M 2 takov, e M 1 k M 2 realizuje M a po et stav ka d ho z automat M 1 a M 2 je men ne po et stav M. Pozn mka: Pro n sleduj c v tu je d le it si osv tlit, co je ch p no jako trivi ln ekvivalence. Trivi ln ekvivalenc na mno in o n prvc ch je my lena ekvivalence o jedn nebo o n t d ch, tzn. bu jsou ekvivalentn v echny prvky, nebo dn dva r zn prvky. Tent pojem budeme ve stejn m smyslu pou vat i pro kongruenci. V ta 3.16 (S riov dekompozice) Automat M m s riovou dekompozici, pr v kdy m netrivi ln stavovou kongruenci. D kaz: Dok eme nejprve implikaci zleva doprava. P edpokl dejme, e M m s riovou dekompozici M 0 = M 1 (=))M 2 15, tedy existuj f; g; h takov, e plat (20) a (21) (nebo M 0 realizuje M), a d le plat (18), nebo M 0 je s riov spojen 16. Denujme ekvivalenci Q Q n sledovn : (24) (8 q i 2 Q)(q 1 q 2 df (r1 = r 2 )) 15 M 0 = (Q 1 Q 2; X 1; 0 ; Y 2; 0 ), M i = (Q i; X i; i; Y i; i), M = (Q; X; ; Y; ) 16 samoz ejm plat i (19), ale to zde nebudeme pot ebovat
3.3 S riov a paraleln dekompozice 17 kde g(q i ) = (r i ; s i ); i = 1; 2) (neboli stavy q 1 a q 2 jsou v, jakmile se prvn slo ky g(q 1 ) a g(q 2 ) rovnaj ). O relaci uk eme, e je netrivi ln stavovou kongruenc, tzn. ov me podm nku (10) a potom netrivi lnost. Jin mi slovy, mus platit tedy q 1 q 2 ) (8 a 2 X)((q 1 ; a)(q 2 ; a)); g((q 1 ; a)) = (r 0 1 ; s0 1 ) g((q 2 ; a)) = (r 0 2 ; s0 2 ) r 0 1 = r 0 2 Jak na to? Zkusme vyj d it g((q i ; a)). Z (20) a (18) dost v me g((q 1 ; a)) = 0 (g(q 1 ); f(a)) = 1 (r 1 ; f(a)); 2 (s 1 ; 1 (r 1 ; f(a))) = (r 0 1; s 0 1) g((q 2 ; a)) = 0 (g(q 2 ); f(a)) = = (r 0 2 ; s0 2); 1 (r 2 ; f(a)); 2 (s 2 ; 1 (r 2 ; f(a))) z eho je vid t, e (r 1 = r 2 ) ) (r 0 1 = r0 2 ), tedy (q 1q 2 ) (q 1 ; a)(q 2 ; a)) pro ka d a 2 X a proto je stavov kongruence. Proto e dva stavy q 1 ; q 2 2 Q jsou v, pr v kdy se prvn slo ky funkce g : Q! Q 1 Q 2 na t chto stavech rovnaj, vytv nejv e tolik ekvivalen n ch t d, kolik je stav v Q 1. Proto e podle denice s riov dekompozice jq 1 j<jqj, m m n t d ne jqj. Kdyby m la jedinou t du, ve v ech g(q) by musela b t stejn prvn slo ka. Proto e g je prost, musela by nutn platit prvn nerovnost ze vztahu (25) jqjjfs; (9q 2 Q)(g(q) = (r; s))gjjq 2 j : Druh nerovnost je d na faktem, e druh slo ky g(q) bereme z Q 2. Podle denice s riov dekompozice plat jq 2 j<jqj, co je ale ve sporu s nerovnostmi (25) a t m i s p edpokladem triviality. je tedy netrivi ln. Ale te : : : 17 Nech nyn M m netrivi ln stavovou kongruenci. Ozna me-li k maxim ln velikost t d kongruence, je k <jqj. P edpokl dejme, e pro ka dou t du V jsou jej prvky se azeny, tedy V = (q 1;V ; q 2;V ; : : : ; q jv j;v ). Denujme automaty M 1 a M 2 n sledovn : 18 M 1 = (Q= ; X; 1 ; Y 1 ; 1 ), nech je pod lov m automatem 19 automatu M s t m, e Y 1 = Q= X a pro ka d V 2 Q= a a 2 X je 1 (V; a) = (V; a). D le M 2 = (Q 2 ; Y 1 ; 2 ; Y; 2 ), kde Q 2 = f1; 2; : : : ; kg; 17 druh implikace 18 Idea denice M 1; M 2 nen nepochopiteln. Oba automaty k duj ve sv ch stavech stav z M, p i em M 1 uchov v t du ekvivalence, ve kter se stav z M vyskytuje, a M 2 k duje jeho po ad v t to t d. 19 sp je pod lov mu automatu p edstavou bl zk, proto e nen automatov, ale jen stavov kongruence
18 3 PROPOJOV N A DEKOMPOZICE AUTOMAT 2 (i; (V; a)) = 2 (i; (V; a)) = ( i pro i >jv j j kdy (q i;v ; a) = q j;1 (V;a) pro i jv j ( lib. prvek pro i >jv j (q i;v ; a) pro i jv j Chceme uk zat, e M 1 (=))M 2 = (Q 1 Q 2 ; X; 0 ; Y; 0 ) je s riovou dekompozic M, tedy v prvn ad, e v bec M realizuje (tzn. naj t prost zobrazen f : X! X a g : Q! Q 1 Q 2 a zobrazen h : Y! Y takov, aby platily vztahy (20) a (21) viz obr zek 4). Polo me h = id Y, f = id X a g(q i;v ) = (V; i) pro v echna q i;v 2 Q, kde V je rozkladov t da, obsahuj c stav q i;v na pozici i. D kaz vztahu (21) plyne z denice 2 ; 1, denice s riov ho spojen a denice zobrazen g (q i;v ; a) = 2 (i; (V; a)) = 2 (i; 1 (V; a)) = 0 ((V; i); a) = 0 (g(q); f(a)): Rovnici (20) dostaneme pro a 2 X; q i;v 2 Q a (q i;v ; a) = q j;u porovn n m slo- ek v raz 20 0 (g(q i;v ); a) = 0 ((V; i); a) = ( 1 (V; a); 2 (i; (V; a))) g((q i;v ; a)) = (U; j) Z denice 1 plat 1 (V; a) = [(q i;v ; a)] = U, tedy prvn slo ky v raz na prav ch stran ch se rovnaj. Druh slo ky se rovnaj p mo z denice 2, nebo q i;v je i-t prvek ve V a (q i;v ; a) je j-t prvek v U, tedy 2 (i; (V; a)) = j. Z denice M 1 a z faktu, e je netrivi ln, plyne jq 1 j<jqj. Proto e k =jq 2 j a je netrivi ln, v me jq 2 j<jqj, tedy M 1 (=))M 2 je s riovou dekompozic M. 21 CBD V ta 3.17 (Paraleln dekompozice) Automat M m paraleln dekompozici pr v tehdy, kdy existuj dv netrivi ln stavov kongruence 1 ; 2 takov, e pro ka d dva r zn stavy q; q 0 2 Q plat bu (q 1 ; q 2 ) 62 1 nebo (q 1 ; q 2 ) 62 2 22. D kaz: Doka me implikaci zleva doprava. P edpokl dejme, e M 0 = M 1 k M 2 realizuje M 23 a zobrazen f : X! X 1, g : Q! Q 1 Q 2, h : Y 1 Y 2! Y (f,g prost ) tuto realizaci ur uj. Denujme ekvivalence 1 a 2. Pro ka d dva stavy q 1 ; q 2 2 Q ozna me g(q 1 ) = (r 1 ; s 1 ) a g(q 2 ) = (r 2 ; s 2 ). Pak (26) (q 1 ; q 2 ) 2 1 df r1 = r 2 (27) (q 1 ; q 2 ) 2 2 df s1 = s 2 Z denic 1 ; 2 okam it vid me, e ob relace jsou symetrick, reexivn i tranzitivn a jsou tud ekvivalencemi. Dok eme, e 1 a 2 jsou netrivi ln stavov kongruence a 1 \ 2 = id Q. Vezm me n jak q 1 ; q 2 2 Q. Nech g(q 1 ) = (r 1 ; s 1 ) g(q 2 ) = (r 2 ; s 2 ) 20 prvn v raz lze odvodit z denice g a denice s riov ho spojen, druh je trivi ln 21 zde je dobr si pov imnout, e M 1 i M 2 maj nejm n dva stavy 22 nebo oboj 23 M 0 = (Q 1 Q 2; X; 0 ; Y 1 Y 2; 0 ), M i = (Q i; X; i; Y i; i), M = (Q; X; ; Y; )
'$ $ '$ $ 3.3 S riov a paraleln dekompozice 19 M M &% '$ '$&% 0 g Q - - '$ Q 1-1 - Y 1 B B &% '$ B B &% '$ &% $ C C B f X B - 2 X CCW - Y B B &% B > & %& B &% BN Y Q 2 % h 6 Obr. 4: Sch ma realizuj c ch funkc s riov dekompozice Z denice realizace a paraleln ho spojen plat g((q 1 ; a)) = 0 (g(q 1 ); f(a)) = ( 1 (r 1 ; f(a)); 2 (s 1 ; f(a))) = (r 0 1 ; s0 1) g((q 2 ; a)) = 0 (g(q 2 ); f(a)) = ( 1 (r 2 ; f(a)); 2 (s 2 ; f(a))) = (r 0 2; s 0 2) Z uveden ch rovnost podle denice 1 a 2 vypl v 1. (q 1 ; q 2 ) 2 1 ) (r 1 = r 2 ) ) (r 0 1 = r0 2 ) ) ((q 1; a); (q 2 ; a)) 2 1, tedy 1 je stavov kongruence 2. (q 1 ; q 2 ) 2 2 ) (s 1 = s 2 ) ) (s 0 1 = s0 2 ) ) ((q 1; a); (q 2 ; a)) 2 2, tzn. 2 je stavov kongruence V imn me si nejprve, e 1 m nejv e jq 1 j t d a 2 m nejv e jq 2 j t d. Proto e M 0 je paraleln dekompozice, plat jq 1 j<jqj a jq 2 j<jqj, tedy 1 a 2 nejsou identick kongruence. Dok eme sporem, e 1 m v ce ne jednu t du. Kdyby 1 lepila v echny prvky Q, pak odstran n m zbyte n ch prvk dostaneme jq 1 j= 1, a tedy jq 1 Q 2 j=jq 2 j. Proto e ale g je prost, muselo by platit jq 2 jjqj, co je spor s po adavky paraleln dekompozice. Obdobn se uk e, e 2 nelep v echny prvky Q. Ekvivalence 1 a 2 jsou tedy netrivi ln stavov kongruence. Nyn je je t t eba ov it, e 1 \ 2 = id Q, tzn. dok zat implikaci (8 q 1 ; q 2 2 Q)((q 1 ; q 2 ) 2 1 ^ (q 1 ; q 2 ) 2 2 ) q 1 = q 2 ) Vezm me libovoln q 1 ; q 2, nech g(q 1 ) = (r 1 ; s 1 ) a g(q 2 ) = (r 2 ; s 2 ). Pak ) q 1 1 q 2 ) r 1 = r 2 ) (g(q q 1 2 q 2 ) s 1 = s 1 ) = g(q 2 )) ) (q 1 = q 2 ); 2 p i em posledn implikace plyne z p edpokladu, e g je prost. Dok zali jsme, e relace 1 a 2, jak jsme je denovali na za tku t to sti d kazu, vyhovuj podm nk m v ty.
20 3 PROPOJOV N A DEKOMPOZICE AUTOMAT Nyn dok eme druhou implikaci. P edpokl dejme, e 1 a 2 jsou netrivi ln stavov kongruence automatu M, pro kter nav c plat (28) 1 \ 2 = id Q Budeme denovat automaty M 1 a M 2 a zobrazen f; g; h a uk eme, e M 0 = M 1 k M 2 = (Q 1 Q 2 ; X; 0 ; Y 1 Y 2 ; 0 ) pomoc f; g; h 24 paraleln dekomponuje M. Denujme automaty M 1 = (Q 1 ; X; 1 ; Y 1 ; 1 ) a M 2 = (Q 2 ; X; 2 ; Y 2 ; 2 ) n sleduj c m p edpisem Q 1 = Q= 1 Q 2 = Q= 2 1 ([q] 1 ; a) = [(q; a)] 1 2 ([q] 2 ; a) = [(q; a)] 2 Y 1 = Q 1 X Y 2 = Q 2 X 1 = id Y1 2 = id Y2 P edstavou jsou M 1 ; M 2 bl zk pod lov m automat m automatu M podle 1 a 2. D le denujme zobrazen h : Y 1 Y 2! Y, f : X! X, g : Q! Q 1 Q 2 takto: f = id X g(q) = ([q] 1 ; [q] 2 ) zvolme libovoln y 0 2 Y h(([q 1 ] 1 ; x 1 ); ([q 2 ] 2 ; x 2 )) = ( (q; x1 ) pro q 2 [q 1 ] 1 \ [q 2 ] 2 a x 1 = x 2 y 0 pro [q 1 ] 1 \ [q 2 ] 2 = ; nebo x 1 6= x 2 P echody funkc f; g; h jsou sch maticky zn zorn ny na obr zku 5. Ze v eho nejd ve mus me ov it, e h je zobrazen a f; g jsou prost zobrazen. Pro dan q 1 ; q 2 je h ur eno jednozna n (a tedy korektn denov no), nebo z (28) plyne j [q 1 ] 1 \ [q 2 ] 2 j 1 pro libovoln q 1 ; q 2. Je nasnad, e f je prost. Pro g a pro libovoln q 1 ; q 2 2 Q z (28) dost v me (q 1 6= q 2 ) ) ((q 1 ; q 2 ) 62 1 _ (q 1 ; q 2 ) 62 2 ) ) ) (([q 1 ] 1 6= [q 2 ] 1 ) _ ([q 1 ] 2 6= [q 2 ] 2 )) ) g(q 1 ) 6= g(q 2 ); tedy g je prost zobrazen (jednozna nost denice g plyne z vlastnost ekvivalence). Aby M 0 mohlo b t paraleln dekompozic M, mus M 0 realizovat M a d le po et stav M 1 a M 2 mus b t men ne po et stav M. Druh po adavek je spln n d ky netrivi lnosti 1 a 2. Prvn bude spln n, pokud pro M 0 ; M a f; g; h dok eme vztahy (20) a (21) z denice realizace. K d kazu (20) pou ijeme postupn denice g,f, 0, 1, 2 a op t g 0 (g(q); f(x)) = 0 (([q] 1 ; [q] 2 ); x) = = ( 1 ([q] 1 ; x); 2 ([q] 2 ; x)) = = ([(q; x)] 1 ; [(q; x)] 2 ) = g((q; x)) 24 zna en zobrazen zde odpov d denici realizace, denice funkc 0 a 0 viz (22) a (23)
' 3.3 S riov '$ $ ' a paraleln dekompozice '$ 21 &% &% '$ Q - - '$ Q 1 @ &% @ &% '$ $ M M 0 g @ @ @ @@R '$ '$ &% '$ Y 1 $ @R - @ @ @R X Q Q 2 &% QQQ &% Q QQQ Y Qs &% Z f ZZ~ Y - 2 & % & % X % 6 h Obr. 5: P echody realizuj c ch funkc paraleln dekompozice Vztah (21) plat podobn z denic g,f, 0, 1, 2 a h a faktu [q] 1 \ [q] 2 = q h( 0 (g(q); f(x))) = h( 0 ([q] 2 ; [q] 2 ); x) = = h( 1 ([q] 1 ; x); 2 ([q] 2 ; x)) = = h(([q] 1 ; x); ([q] 2 ; x)) = (q; x) Dok zali jsme, e M 0 realizuje M a po et stav automat M 1 ; M 2 je men ne po et stav M, tedy M 0 je paraleln dekompozic automatu M. 25 CBD P klad 3.18 (Hled n kongruenc automatu) Najd te nejhrub automatovou a alespo dv netrivi ln stavov kongruence automatu M, zadan ho tabulkou. D le sestrojte pod lov automat M 0 automatu M podle nejhrub automatov kongruence. M 0 1 A B=1 C=0 B B=1 A=0 C A=0 B=0 D E=1 A=0 E D=1 E=0 F B=1 C=0 V prvn ad sestroj me nejhrub automatovou kongruenci. Pou ijeme algoritmus ze strany 11. Podle n j mus me nejprve denovat ekvivalenci 0, kde dva 25 pokud n kter krok d kazu nen zcela z ejm, doporu uji p esn si rozepsat v echny p edpoklady (denice paraleln ho spojen, automat M 1; M 2 a funkc f; g; h) a c lov rovnice (de- nice realizace) pro automaty a jejich komponenty, kter v d kazu vystupuj
22 3 PROPOJOV N A DEKOMPOZICE AUTOMAT stavy jsou ekvivalentn, pr v kdy maj pro v echny vstupy stejn v stupy. Pro n s to znamen, e C je ekvivalentn samo se sebou a ostatn stavy ka d s ka d m 0 = ffa; B; D; E; F g; fcgg V ekvivalenci 1 budou ve stejn t d ty stavy, kter jsou ekvivalentn v 0 a i p echody pro v echny vstupy pomoc funkce jsou ekvivalentn v 0 1 = ffa; F g; fb; D; Eg; fcgg Postupn dost v me 2 = ffa; F g; fb; Dg; feg; fcgg 3 = ffa; F g; fbg; fdg; feg; fcgg 4 = ffa; F g; fbg; fdg; feg; fcgg Na li jsme automatovou kongruenci 3 = 4 = 1. Proto e ka d automatov kogruence je tak stavov, je i 1 stavov kongruence. Nav c je 1 netrivi ln, tak e n m zb v naj t jen jednu netrivi ln stavovou kongruenci. Algoritmus 1 n m rad, abychom vzali n jak dva stavy, prohl sili je za ekvivalentn (dostaneme 0 ), p echody z t chto stav p es stejn vstupy op t prohl sili za ekvivalentn atd. Vezm me nap klad A 0 B. Dost v me 0 = ffa; Bg; fcg; fdg; feg; ff gg Nebo (A; 1) = C a (B; 1) = A, bude A 1 C: 1 = ffa; B; Cg; fdg; feg; ff gg Ze stav A; B; C se ji nikam jinam nedostaneme, tedy 2 = 1 = 2. Ekvivalence 1 = 2 = 2 je netrivi ln stavovou kongruenc a spolu s 1 vyhovuje podm nk m prvn sti lohy. P esto e se k, e student by si nem l p id l vat pr ci a d lat v c, ne se v zad n po aduje, v r mci lep ho za it konstrukce stavov ch kongruenc uvedu n kter dal : 0 = ffa; Eg; fbg; fcg; fdg; ff ggg 1 = ffa; C; Eg; fb; Dg; ff gg 2 = ffa; B; C; D; Eg; ff gg 0 = ffc; F g; fag; fbg; fdg; feggg 1 = ffa; B; C; F g; fdg; fegg 2 = ffa; B; C; F g; fdg; fegg To u by snad sta ilo, ne?
3.3 S riov a paraleln dekompozice 23 Najd me nyn pod lov automat M 0 = (Q 0 ; X; 0 ; Y; 0 ) automatu M podle 1. Automat M je Mealyho automat, tedy i M 0 bude Mealyho automat. Denice pod lov ho automatu k, e mno ina stav Q 0 je mno inou t d automatov kongruence 1. Ozna me si jednotliv t dy po ad T 1 ; : : : ; T 5, aby manipulace s nimi byla p ehledn j 1 = ffa; F g; fbg; fcg; fdg; fegg = ft 1 ; T 2 ; T 3 ; T 4 ; T 5 g Automat M 0 m stejnou vstupn a v stupn abecedu jako automat M, tedy X = f0; 1g; Y = f0; 1g. P echodovou a v stupn funkci 0 a 0 dostaneme tak, e z ka d t dy T i vezmeme libovoln prvek q 2 T i a denujeme 0 (T i ; a) = [(q; a)] 1, 0 (T i ; a) = (q; a) pro v echna a 2 X. Automat M 0 zap eme tabulkou a budeme hotovi. FINE M 0 0 1 T 1 T 2 /1 T 3 /0 T 2 T 2 /1 T 1 /0 T 3 T 1 /0 T 2 /0 T 4 T 5 /1 T 1 /0 T 5 T 4 /1 T 5 /0 P klad 3.19 (Sestrojen dekompozic) Sestrojte s riovou a paraleln dekompozici automatu M = (Q; X; ; Y; ), zadan ho tabulkou M a b c 1 6=y 3=z 2=u 2 5=z 4=u 1=y 3 2=y 5=y 4=y 4 1=z 6=z 3=z 5 4=u 1=u 6=u 6 3=u 2=y 5=z Z tabulky lze o automatu M vy st, e Q = f1; 2; 3; 4; 5; 6g X = fa; b; cg Y = fu; y; zg Sestroj me nejprve s riovou dekompozici podle postupu, kter n m nab z d kaz v ty 3.16. Nejprve budeme pot ebovat jednu stavovou kongruenci (ozna me ji 1 automatu M. Podle algoritmu 1 volbou 1 0 2 dost v me 0 = ff1; 2g; f3g; f4g; f5g; f6ggg 1 = ff1; 2g; f3; 4g; f5; 6gg 2 = ff1; 2g; f3; 4g; f5; 6gg Algoritmus se zastavil a my jsme obdr eli stavovou kongruenci (29) 1 = ff1; 2g; f3; 4g; f5; 6gg = ft 1 ; T 2 ; T 3 g:
24 3 PROPOJOV N A DEKOMPOZICE AUTOMAT Kongruence 1 a volba po ad prvk v jednotliv ch t d ch kongruence 1 26 n m jednozna n ur uje automaty M 1 = (Q 1 ; X; 1 ; Q 1 X; 1 ) M 2 = (Q 2 ; Q 1 X; 2 ; Y; 2 ) z d kazu v ty 3.16 tak, e M 0 = M 1 (=))M 2 je s riovou dekompozic M. V automatech M 1 a M 2 je Q 1 = ft 1 ; T 2 ; T 3 g Q 2 = f1; 2g, nebo t dy kongruence 1 obsahuj maxim ln dva prvky 1 (T; x) = [(t; x)] 1 pro x 2 X, T 2 1, t 2 T 2 (i; (T; x)) = j, kdy funkce zobrazuje i-t prvek t dy T na j-t prvek t dy S = 1 (T; x) 27, pro i; j 2 Q 2, T; S 2 Q 1,x 2 X 1 je identick funkce 2 (i; (T; x)) = y, kdy v stup funkce z i-t ho prvku t dy T p i vstupu x je y, pro i 2 Q 2 ; T 2 Q 1 ; x 2 X; y 2 Y Funkce f; g; h, kter zprost edkov vaj realizaci, jsou denov ny n sledovn f = id X, h = id Y g(q) = (T; i), kde T 2 Q 1 obsahuje prvek q 2 T na pozici i Funkce g je pops na n sleduj c tabulkou q 1 2 3 4 5 6 g(q) (T 1 ; 1) (T 1 ; 2) (T 2 ; 1) (T 2 ; 2) (T 3 ; 1) (T 3 ; 2) Tabulky automat M 1 a M 2 vypadaj takto M 1 a b c T 1 T 3 =(T 1 ; a) T 2 =(T 1 ; b) T 1 =(T 1 ; c) T 2 T 1 =(T 2 ; a) T 3 =(T 2 ; b) T 2 =(T 2 ; c) T 3 T 2 =(T 3 ; a) T 1 =(T 3 ; b) T 3 =(T 3 ; c) M 2 (T 1; a) (T 1; b) (T 1; c) (T 2; a) (T 2; b) (T 2; c) (T 3; a) (T 3; b) (T 3; c) 1 2=y 1=z 2=u 2=y 1=y 2=y 2=u 1=u 2=u 2 1=z 2=u 1=y 1=z 2=z 1=z 1=u 2=y 1=z Z skali jsme tedy s riovou dekompozici automatu M. Nyn z skejme je t paraleln podle n vodu z d kazu v ty 3.17. Automat M 1 m eme vz t nezm n n z p edchoz sti lohy. Pro konstrukci druh ho automatu (ozna me ho M 3 ) pot ebujeme n jakou netrivi ln stavovou kongruenci 2 takovou, aby bylo spln no 1 \ 2 = id Q. Vezm me nap klad 28 2 = ff1; 3; 5g; f2; 4; 6gg = fs 1 ; S 2 g 26 v na em p pad je po ad d no z pisem (29) 27 t da S n s sama o sob nezaj m, pouze po ad prvk v n 28 algoritmus pro z sk n 2 nastartujeme volbou 1 0 3
25 Pro automat M 3 = (Q 3 ; X 3 ; 3 ; Y 3 ; 3 ) plat podobn jako pro M 1 (nebo jejich konstrukce je podle d kazu v ty 3.17 stejn ) X 3 = X Q 3 = Q= 2 = fs 1 ; S 2 g Y 3 = Q 3 X 3 3 a 3 jsou z ejm z tabulky M 3 a b c S 1 S 2 =(S 1 ; a) S 1 =(S 1 ; b) S 2 =(S 1 ; c) S 2 S 1 =(S 2 ; a) S 2 =(S 2 ; b) S 1 =(S 2 ; c) Funkce f 0 ; g 0 ; h 0, kter realizuj M pomoc M 00 = M 1 k M 3, jsou pops ny v d kazu v ty 3.17. Pro na i lohu: f 0 je identita g 0 : Q! Q 1 Q 3 ; g 0 (q) = (T; S), kde q 2 T 2 Q 1 ; q 2 S 2 Q 2 ; q 2 T \ S h 0 : Y 1 Y 3! Y ; h 0 ((T; x); (S; x)) = (q; x), kde q 2 T 2 Q 1 ; q 2 S 2 Q 2 ; x 2 X; q 2 T \ S Tabulky funkc g; h vypadaj takto (s t m, e pro zbytek deni n ho oboru h, tedy p i T \ S = ; nebo pro x 6= x 0, denujeme h((t; x); (S; x 0 )) = lib. prvek Y a do tabulky nezapisujeme): 29 q 1 2 3 4 5 6 (g(q)) 1 T 1 T 2 T 3 (g(q)) 2 S 1 S 2 S 1 S 2 S 1 S 2 FINE T S T \ S h((t; a); (S; a)) h((t; b); (S; b)) h((t; c); (S; c)) T 1 S 1 1 y z u T 1 S 2 2 z u y T 2 S 1 3 y y y T 2 S 2 4 z z z T 3 S 1 5 u u u T 3 S 2 6 u y z 4 Regul rn jazyky 4.1 Akceptory Za zen, kter rozpozn v n jak jazyk L, tzn. pro ka d vstupn slovo rozhodne o tom, zda pat do L i nikoliv, nazveme akceptorem. Jedn se 29 obecn z pisem (x) i m m na mysli i-tou slo ku vektoru x; konkr tn na tomto m st je konstrukce pou ita na vektor g(q)
26 4 REGUL RN JAZYKY ve skute nosti o Moore v automat A = (Q; X; ; q 0 ; Y; ) s v stupn abecedou Y = ftrue; falseg. Na v stupu je true, pokud vstupn slovo pat do jazyka rozpozn van ho akceptorem A. Denice 4.1 Akceptorem A obvykle rozum me p tici A = (Q; X; ; q 0 ; F ), kde Q je kone n mno ina stav X je kone n vstupn abeceda : Q X! Q je p echodov funkce q 0 2 Q je inici ln (nebo tak po te n ) stav F Q je mno ina koncov ch (nebo tak p ij mac ch) stav 1 Posloupnost stav r 0 ; : : : ; r n se naz v v po tem nad slovem = a 1 a 2 : : : a n, kdy (r i 1 ; a i ) = r i pro ka d i = 1; 2; : : : ; n. ekneme, e v po et je p ij mac, kdy r 0 = q 0 a r n 2 F. Slovo je p ij m no akceptorem A, kdy existuje p ij mac v po et nad, co je pr v kdy (q 0 ; ) 2 F. Jazyk p ij man akceptorem A je tvo en mno inou v ech slov p ij man ch akceptorem A, zna me ho L(A). Tedy L(A) = f 2 X ; (q 0 ; ) 2 F g. O dvou akceptorech A 1 ; A 2 ekneme, e jsou ekvivalentn, kdy p ij maj stejn jazyk, tzn. L(A 1 ) = L(A 2 ). Pozn mka: Akceptor (obecn jak koliv automat) nazveme kone n, pokud si m e zaznamenat pouze kone n mno stv informac, tedy nap. kdy m jen kone nou mno inu stav. Denice 4.2 Jazyk L nad abecedou X nazveme regul rn, je-li p ij m n n jak m kone n m akceptorem. Denice 4.3 Stav q akceptoru A = (Q; X; ; q 0 ; F ) je dosa iteln, kdy existuje 2 X takov, e q = (q 0 ; ). Pozn mka: Podobn jako Mooreovy a Mealyho automaty, i akceptory mohou b t zad ny gracky, tabulkou funkce, p padn slovn nebo jin m vhodn m zp sobem. Vyhnu se slo it m form ln m popis m zad n akceptoru. Rad ji uvedu p klad, ze kter ho by m lo b t v echno jasn. P klad 4.4 (Akceptor) Sestrojte akceptor A = (Q; X; ; q 0 ; F ), kter p ij m jazyk L = fa i b j ; i; j = 0; 1; : : :g: Jazyk L je mno inou posloupnost z abecedy fa; bg, ve kter ch po znaku b ji nen sleduje dn a. M li bychom tedy denovat akceptor, kter takov posloupnosti p ij m. Jedin, co mus me zajistit, je: Pokud po b p ijde a, akceptor ji vstupn slovo nesm p ijmout. Akceptor A na n sleduj c m obr zku vlevo tento po adavek jist spl uje. 1 Jin mi slovy, m me-li Moore v automat A = (Q; X; ; q 0; Y; ) s v stupn abecedou Y = ftrue; falseg, li se od akceptoru (Q; X; ; q 0; F ) pouze form ln m z pisem, pokud plat F = fq; (q) = trueg
4.1 Akceptory 27 a; b A a b? q 3 $ q 1 q 1 q 2 A? @I q @ a 2 q 3 q 2 a - q 1 - @ q 3 q 3 q 3 q 2 -? b b 6 V prav polovin obr zku je potom tabulka akceptoru A. Z obr zku, stejn jako z tabulky, lze v echny pot ebn informace 2 o akceptoru A vy st. Pro po dek uvedu je t jeden zp sob zad n A. Tato varianta v ak vy aduje n jak dopl uj c popis funkce. A = (fq 1 ; q 2 ; q 3 g; fa; bg; A ; q 1 ; fq 1 ; q 2 g) FINE Pozn mka: Jist jste si pov imli, e pokud se jednou dostaneme do q 3, ji v n m z staneme a cel v po et nen p ij mac. Stav m s touto vlastnost se n kdy k garbage (odpadov ) stavy. Pov imn me si, e vzhledem k denici akceptoru je t eba t chto stav pou- t, kdykoli chceme zajistit, aby v po et nad zbytkem slova ji nikdy nebyl p ij maj c, nebo funkce mus b t denovan pro ka dou dvojici z Q X, tzn. akceptor mus v ka d m stavu zn t pokra ov n p es ka d p smeno vstupn abecedy 3. Lemma 4.5 M jme akceptory A 1 = (Q 1 ; X; 1 ; q 1 ; F 1 ), A 2 = (Q 2 ; X; 2 ; q 2 ; F 2 ) takov, e plat 1. Q 2 = fq 2 Q 1 ; q je dosa iteln v A 1 g 2. 2 : Q 2 X! Q 2 je restrikce (z en ) 1 na Q 2, tj. 2 (q; x) = 1 (q; x) pro v echna x 2 X a q 2 Q 2 3. F 2 = F 1 \ Q 2 Pak jsou tyto akceptory ekvivalentn. D kaz: Z ejm L(A 2 ) L(A 1 ) je trivi ln fakt, kter vypl v z denice akceptoru A 2. Nech nyn 2 L(A 1 ) je libovoln slovo. Pro toto slovo existuje v akceptoru A 1 v po et, kter ov em neobsahuje stavy z mno iny Q 1 n Q 2, nebo tyto jsou nedosa iteln. To znamen, e v po et prob h pouze stavy mno iny Q 2, a tedy vzhledem k denici A 2 je slovo p ij m no v A 1, pr v kdy je p ij m no v A 2. CBD Podobn jako v automatech, i v akceptorech se denuje ekvivalence stav. N sleduj c denice je z ejm analogick denici 2.4. Denice 4.6 ekneme, e dva stavy q 1 ; q 2 akceptoru A jsou ekvivalentn (p eme q 1 q 2 ), kdy pro v echna 2 X plat (q 1 ; ) 2 F, (q 2 ; ) 2 F 2 vstupn abeceda, mno ina stav, inici ln stav (ozna en ipkou dovnit ), p ij mac stavy ( ipka ven), p echodov funkce 3 neform ln e eno: : : nicm n form ln by nebylo nutn kat nic :)
28 4 REGUL RN JAZYKY Tvrzen 4.7 Relace z denice 4.6 na akceptoru A = (Q; X; ; q 0 ; F ) je automatovou kongruenc. D kaz: Je t eba ov it podm nky (10) a (11) z denice automatov kongruence 3.2. Vezm me dva stavy q 1 ; q 2 2 Q takov, e q 1 q 2. Z denice a ekvivalence stav q 1 ; q 2 pro libovoln a 2 X a 2 X dost v me ((q 1 ; a); ) = (q 1 ; a) 2 F () F 3 (q 2 ; a) = ((q 2 ; a); ); tud (q 1 ; a) (q 2 ; a) a je ov ena podm nka (10). Podm nka (11) m pro akceptory form ln pon kud jin z pis 4 : q 1 q 2 ) (q 1 2 F, q 2 2 F ) Proto e vztah z denice 4.6 plat i pro =, z q 1 q 2 dost v me ekvivalenci (q 1 ; ) 2 F, (q 2 ; ) 2 F a n sledn z denice plat q 1 2 F, q 2 2 F, m je ov ena podm nka (11). Relace je tedy automatovou kongruenc. CBD Denice 4.8 Je-li automatov kongruence, pak pod lov m akceptorem akceptoru A = (Q; X; ; q 0 ; F ) rozum me akceptor A= = (Q= ; X; ; [q 0 ] ; F= ); kde pro v echna q 2 Q; x 2 X denujeme ([q] ; x) = [(q; x)] Jako cvi en doporu uji rozmyslet si, e pro F= plat z p edch zej c denice F= = f[q] ; (q 2 Q) ^ ([q] \ F 6= ;)g = f[q] ; (q 2 Q) ^ ([q] F )g; proto e dva stavy akceptoru jsou ekvivalentn v jen tehdy, pokud jsou bu oba dva v F, nebo dn z nich nen v F 5. Tvrzen 4.9 Akceptory A a A= jsou ekvivalentn. D kaz: Pro akceptory A = (Q; X; ; q 0 ; F ) a A= plat 2 L(A), (q 0 ; ) 2 F, [ (q 0 ; )] 2 F=, tedy L(A) = L(A= ). CBD, ([q 0] ; ) 2 F=, 2 L(A= ); Denice 4.10 Akceptor A je redukovan, jestli e dn dva stavy nejsou ekvivalentn. Akceptor A je dosahuj c, jestli e v echny jeho stavy jsou dosa iteln. 4 e tato formule je ekvivalentn s (11), ponech v m ten i na rozv en 5 viz denice 4.6 pro =