Professional Documents
Culture Documents
Skripta Hudak 2002
Skripta Hudak 2002
Skripta Hudak 2002
(Koniec prkladu)
Schma veobecnej rekurzie
Prv ne uvedieme schmu veobecnej rekurzie a denciu iastonch (veobecnch) rekurzvnych fun-
kci potrebujeme si denova ete jednu operciu - minimizciu .
Dencia 1.4 Majme dve totlne funkcie a ; ak plat, e
hovorme, e je zskan z operciou minimizcie
Za zmienku stoj, e pokm je totlna funkcia, vsledok minimalizcie, t.j. funkcia
nemus by vdy totlnou funkciou.
Dencia 1.5 (Vpotov) schma veobecnej rekurzie je konen postupnos krokov vpotov, priom
v kadom kroku sa realizuje vpoet, ktor je bu:
aplikciou funkcie , alebo
aplikciou funkcie , alebo
aplikciou funkcie , alebo
aplikciou funkcie , alebo
aplikciou kompozcie, alebo
aplikciou primitvnej rekurzie, alebo
ak f,h s po rade a rne funkcie (na obore prirodzench siel) a
bude aplikovan minimizcia na vpoet h
Dencia 1.6 Funkcia je iastone rekurzvna funkcia ak me by
vytvoren z funkci , , , alebo , pouitm konenho potu aplikci kom-
pozcie, primitvnej rekurzie a minimizcie
Ak funkcia zskan poda dencie 1.6 je totlna, volme ju veobecnou rekurzvnou funkciou. Uke-
me teraz prklady niekokch rekurzvnych funkci vytvorench poda dencie 1.6.
1.2 Modely algoritmov 13
1. Cel as korea
FUNKCIA SCHMA
Z
and thus
2. Cel as podielu
FUNKCIA SCHMA
and thus
1.2.2 Turingove stroje
Turingov stroj (TS) je abstraktn vpotov stroj - abstraktn automat, ktor si meme predstavi
ako mechanizmus, ktor je uveden na obr. 1.4
TS (budeme ho oznaova M), ako vidno z obrzku, sa sklad z tchto ast: riadiaca jednotka M , pska
p a tacia a zapisovacia hlava h . Riadiaca jednotka M predstavuje stavov mechanizmus, ktor je
v kadom ase charakterizovan stavom q a na zklade informcie poskytovanej mu tacou a zapisova-
cou hlavou h (alej len hlavou) me tento stav zmeni na (povedzme) stav q . Pska t je nekonen
zava i zprava linerne usporiadan postupnos buniek , priom v kadom ase iba konene vea tchto
buniek s neprzdne, t.j. obsahuj niektor (vo veobecnosti kad in) symbol z niektorej konenej
mnoiny symbolov Sigma - vstupnej abecedy psky TS; ostatn bunky psky s przdne, o sa vyjadruje
prtomnosou v takch bunkch pecilneho symbolu B . Hlava je mechanizmus so schopnosou vidie
prve obsah jednej bunky na pske p a to prve tej nad ktorou sa nachdza (aktulna bunka) a realizova
jednu z troch innost: ta symbol nachdzajci
Obrzok 1.4: Turingov stroj
14 vod do informatiky
sa v aktulnej bunke (obsah aktulnej bunky), prepsa obsah aktulnej bunky, pohyb hlavy o jednu
bunku doava, alebo doprava. TS m schopnos vykonva urit elementrne innosti - kroky, ktor
mono charakterizova takto: na zklade obsahu aktulnej bunky - s (ktor vnma hlava v ase t na
pske p ), stavu v ktorom sa nachdza riadiaca jednotka TS M - q , TS prepe obsah aktulnej bunky
(prostrednctvom h ) na (povedzme) s , zmen polohu h o jednu bunku doava, alebo doprava, prpadne
nech ju na pvodnom mieste a riadiaca jednotka M prejde do stavu (povedzme) q . Opsan innos
predstavuje krok innosti TS a d sa vyjadri formlnejie ako intrukcia TS v tvare
Intrukn kd I Intrukn kd II
Pre plnos s priveden dva sbory intrukci: sbor I a II. Interpretcia (p ) pre D R je: ak je M
v stave q , v aktulnej bunke sa nachdza s , TS prepe s na s , M prejde do q a hlava sa presunie o
jednu bunku doprava. Je jasn, e (p ) pri D L bude oznaova krok s pohybom doava a ostatn asti
kroku bud toton s predolou intrukciou. Intrukn sbor II pozostva z intrukci pozostvajcich
zo 4 ast, oproti 5 astiam intrukcie (p ). Ich vznam je jasn. Tak naprklad (p : q s s q )
znamen, e ak je M v stave q , v aktulnej bunke sa nachdza s , TS prepe s na s , M prejde
do q (a hlava zostva nepohnut). Intrukcia (p : q s Rq ) znamen, e ak je M v stave q ,
v aktulnej bunke sa nachdza s , hlava sa presunie o jednu bunku doprava (a obsah aktulnej bunky
zostva nezmenen). Vykonanie kroku TS poda intrukcie (p , i 1,2,3) volme aplikciou intrukcie
(p ,i 1,2,3).
ubovon konen postupnos intrukci je program TS. Nie je ak ukza, e intrukn sbory I
a II s rovnocenn v tom zmysle, e ubovon program v intruknom sbore I sa d vyjadri v int-
ruknom sbore II a tak, e TS sa bude sprva rovnako na rovnakej vstupnej pske. Pristpime teraz
k upresneniu toho, o budeme rozumie pod sprvanm TS.
Najprv sa dohodneme, e situciu na obr.1.1.2 vyjadrme reazcom symbolov
, t.j. e aktulna bunka obsahuje symbol , TS M je v stave q a e obsah vstupnej psky naavo od
aktulnej bunky je u a obsah vstupnej psky napravo od aktulnej bunky je v . V terii TS tak situciu
nazvame kongurcia TS a oznaujeme to
Dencia 1.7
O dvoch kongurciach c a c hovorme, e c je dosiahnuten z c v TS M za jeden krok, aplikciou
intrukcie p , oznaujeme to ,
prve vtedy, ak plat
i=1 a a
i=2 a , a
i=3 a , a
kde p : q s s q oznaujeme meno a tvar intrukcie s menom p
O postupnosti kongurci c ,c ,c ,.. .,c takch, e pre vetky j 0, 1,.. .,m potom
hovorme, e c je dosiahnuten z c a symbolicky to oznaujeme .
1.2 Modely algoritmov 15
TS M mono denova aj formlne [?], ako niektor usporiadan 5-icu
Dencia 1.8 TS je usporiadan 5-ica M (K, , , , q ), kde
- K je konen mnoina stavov
- je konen mnoina symbolov vstupnej psky, tzv. vstupn abeceda
- je konen mnoina symbolov psky TS, t.j.
- : K ( ) 2 je prechodov funkcia TS M, D R, L
- q K je tzv. poiaton stav TS M
Dencii TS zodpoved intrukn kd II a naviac tvar funkcie predpoklad nedeterministick spr-
vanie, t.j. tak, e v jednej kongurcii mu by aplikovaten 2 a viac intrukci. V deterministickom
prpade bude ma prechodov funkcia tvar
Uvedieme teraz prklad TS.
Prklad 1.2
(Koniec prkladu.)
O TS M hovorme, e m (koniaci) vpoet na vstupnej pske x , ak existuje postupnos kongurci
c , c ,. . .c a pritom tak, e , a , priom a
je tak kongurcia v ktorej nie je aplikovaten iadna intrukcia TS M .
Dohodneme sa teraz na uritom spsobe reprezentcie prirodzench sel na pske TS s abecedou 0,1 .
Prirodzen slo n budeme symbolicky reprezentova reazcom pozostvajcim z n 1 symbolov 1,
a tak symbolick reprezentciu budeme oznaova , t.j.
. .
; niekedy tak reazec budeme
vyjadrova ako . Majme m- icu prirodzench sel n ,n ,. . .,n ; potom tak m-icu (n , n
n ) budeme vyjadrova symbolicky ako Majme alej symbolick vraz
e , pozostvajci zo symbolov z 1,B , potom symbol e vyjadruje poet jednotiek v e , t.j. naprklad
. Ak a s dve kongurcie TS Z a ,
budeme vola vsledkom TS Z z a oznaova to ako , alebo formlnejie
Nech teraz TS Z m vpoet . Denujeme teraz n - rnu funkciu pre TS Z takto: pre
kad m -icu (n , n n ) tak, e m z kongurcie vpoet
a teda bude hodnota denovan, a stva sa hodnotou takej funkcie pre argument
. Formlnejie
16 vod do informatiky
Teraz sme pripraven uvies denciu Turingovsky vypotatenej funkcie
Dencia 1.9 Funkcia je iastone (Turingovsky) vypotaten, ak existuje TS Z tak,
e
Vtedy hovorme, e TS Z pota . Ak navye je totlna, hovorme, e je
(Turingovsky) vypotaten.
Tak naprklad TS z prkladu 1.2 pota funkciu . Skutone, uvaujme prpustn
postupnos kongurci pre TS Z z prkladu 1.2:
Poet symbolov 1 v poslednej kongurcii - je rovn m m a je poda dencie hodnotou
funkcie. Vimnime si, e kongurcia je mtva kongurcia, t.j. e nie je v nej aplikovaten iadna
intrukcia programu TS prkladu ??. Oznaenie znamen viacnsobn opakovan pouitie intrukcie
p .
Podobnm spsobom je mono dokza vypotatenos ubovonej iastone, alebo plnej (veobecnej)
rekurzvnej funkcie. Turing s pouitm jemnch technk, vrtane techniky podprogramov [1] , dokzal e
trieda funkci typu a trieda rekurzvnych funkci s toton. Tento zver je vlastne
zkladom pre hypotzu o tom, e vetko o bolo je a bude algoritmicky rieiten bude vypotaten
niektorm Turingovm strojom. Posledn je vlastne hypotza Turinga - Churcha .
Kapitola 2
Motivan zdroje informatiky
2.1 Jazyky a ich reprezentcie
Jazyk je mono denova viacerymi spsobmi. Ako prklad me posli dencia, ktor vymedzuje ja-
zyk ako niektor teleso slov a metd ich kombinovania, ktor s pochopiten pre vznamn as uritej
spolonosti. Tak dencia je vcelku pochopiten, ale mlo uiton pre ely kontruovania formlnej
terie jazykov. V informatike pracujeme s pojmom formlny jazyk, k dencii ktorho teraz pristpime.
Abecedou volme ubovon konen mnoinu symbolov. Prkladom abecedy mu sli tieto mnoiny
symbolov:
Vznamnou abecedou je mnoina symbolov tvoriaca tzv. ASCII kd, ktor predstavuje mnoinu sym-
bolov a znakov pouvanch uritou asou spoloenstva ijcej na plante Zem.
Majme teraz dve abecedy . Symbolom budeme oznaova mnoinu prvkov s nasledujcou
vlastnosou
Symbol oznauje operciu zreazenia (konkatencie) a prvok je reazec pozostvajci z dvoch symbo-
lov; na prvom mieste a po om nasleduje . Poet symbolov v reazci uruje jeho dku, o budeme
oznaova ako . Podobne, ak mme tri abecedy budeme symbolom oznaova
mnoinu reazcov dky 3
V alom vynechvame symbol opercie zreazenia a peme jednoducho . Uvaujme teraz
abecedu a denujme si -nsobn zreazenie abecedy , ktor ozname . Teda mme
Prvky bud reazce dky na abecede V (alej ak bude jasn o ak abecedu ide, budeme hovori
jednoducho reazec dky ). Majme reazec, potom je symbol reazca a
je predpona reazca dky .
Prklad 2.1 Majme ;
17
18 Motivan zdroje informatiky
Denujeme teraz induktvne ; , kde oznauje przdny reazec, t.j. tak reazec, ktor
neobsahuje iadny symbol, a a napokon denujeme
_
univerzlnu mnoinu reazcov nad abecedou , tzv. tranzitvny uzver V. Mnoinu vetkch neprzdnych
reazcov nad abecedou oznaujeme a volme kladnm uzverom , t.j. . Budeme
pouva oznaenie - zrkadlov obraz reazca , ktor denujeme takto
_
if
if
Dencia 2.1 Formlnym jazykom nad abecedou volme ubovon podmnoinu univerzlnej mno-
iny reazcov , t.j.
Uvedieme niekoko prkladov jazykov. Najprv sa vak dohodneme na niektorch oznaeniach. Nech
je reazec a , potom vyjadruje poet vskytov symbolu v ; bude vyjadrova
reazec
. .
.
Prklad 2.2
- Je to nekonen jazyk pozostvajci z reazcov, kad z ktorch pozostva
z predpony dky zloen z 0 a nasleduje prpona rovnakej dky zloen z 1.
- konen jazyk
- nekonen jazyk, s slov z tohto jazyka
- je nekonen jazyk
Vimnime si, e usporiadanie pouit pri tvorbe telefonnho zoznamu je lexikograck usporiadanie.
Prklad 2.3 Nasledujce reazce s lexikogracky usporiadan
Kapitola 3
Konen automaty.
Koncepcia abstraktnch koneno-stavovch strojov m svoj zrod na konci 30. rokov 20. storoia. Tieto
stroje v alom budeme vola konenmi automatmi. K pochopeniu podstaty tejto koncepcie prispeli
vedci z rznych oblast: architektra relovch systmov a potaov, neurofyziolgia, matematika a lin-
gvistika.
Prvotnm stimulom k tdiu konench automatov bola potreba terie analzy a nvrhu zloitch
telefnnych relovch systmov. Vznik strojov na spracovanie informci a ich pouitie pre ely ko-
munikan a vpotov sa vyznaovalo tm, e tak systmy pracuj s diskrtnymi symbolmi (psmen,
slice), s deterministickej povahy, o znamen e sa vyluuje nhodn sprvanie (pri kdovan sprv
mus kdova transformova dan symbol vdy rovnako; pota interpretuje dan intrukciu vdy rovna-
ko). Tak stroje s vytvoren vzjomnm prepojenm vekho potu prvkov s obmedzenho potu typov
(logick obvody). Diskrtne symboly s reprezentovan hodnotami fyziklnych velin (prd, naptie) z
uritho pevne danho intervalu, alebo kombinci konenho potu takch velin. alm vznamnm
typom systmov, ktor je mono modelova takmi strojmi s naprklad nervov systmy, ktormi s vy-
baven iv organizmy. K nemalmu prekvapeniu sa ukzalo, e procesy z oblasti jazykovej (lingvistika)
s modelovaten na takch strojoch. Ukzalo sa, e abstraktm modelom takch systmov s konen
automaty.
3.1 Konen automaty s vstupom.
Konen automat je mono chpa ako urit mechanizmus (Obr. 3.1) pozostvajci z troch ast:
riadiaci blok , vstupn kanl, vstupn kanl.
Obrzok 3.1: Mechanick predstava konenho automatu
Riadiaci blok sa vyznauje okrem inho tm, e v kadom ase (s vnimkou uritch asovch
momentov-asovch bodov) sa me nachdza v jednom z konenho potu stavov. Vstupn kanl
sli na zavdzanie informcie z okolitho prostredia do , zatia o vstupn kanl sli na vydvanie
informcie z do okolitho prostredia.
37
38 Konen automaty.
innos konenho automatu je realizovan v diskrtnom ase . Vo veobecnosti, pri
diskrtnom ase ns nezaujma vzah k relnemu asu, ale iba t skutonos, e innos automatu v
(diskrtnom) ase predchdza innos automatu v (diskrtnom) ase a nasleduje po innosti
automatu v (diskrtnom) ase . Polome - hodnotu vstupnej informcie v konenom automate
v ase , - hodnotu vstupnej informcie v konenom automate v ase , a - hodnotu
stavovej premennej v konenom automate v ase . Musme uvies niekoko poznmok k prve
denovanm hodnotm: zatia o a s denovan v asovom bode , hodnota je denovan
v (otvorenom) intervale a nie je denovan v asovch bodoch a . innos konenho
automatu sa sklad z krokov. Krok sa denuje v jednotlivch bodoch diskrtnej asovej osi (Obr. 3.2) a
pre bod to bude denovan takto: , ktor sa nachdza v stave a na vstupe m , prejde
do stavu a na vstupe vyd hodnotu .
Obrzok 3.2: Interpretcia kroku v diskrtnom ase
Symbolicky budeme krok innosti konenho automatu vyjadrova
Teraz pristpime k formlnej dencii jednej triedy konench automatov s vstupom- konenm au-
tomatom Mealy.
3.1.1 Konen automaty s vstupom Mealy.
Zaneme s formlnou denciou
Dencia 3.1 Konen automat Mealy je dan 5 - icou kde
- konen mnoina stavov
- vstupn abeceda
- vstupn abeceda
- prechodov funkcia
- vstupn funkcia
3.1 Konen automaty s vstupom. 39
je plne denovan ak a s totlne funkcie.
je inicilny konen automat (Mealy) ak je vybrat tzv. inicilny (poiaton) stav , v ktorom
zapone svoju innos. V tom prpade sa dencia automatu rozri o tento poiaton stav, t.j.
.
Argumenty a hodnoty funkci a sa vzahuj k diskrtnemu asu a s interpretovan takto:
a . O budeme hovori, e je s - nasledovn-
kom stavu a volme odozvou v ase na vstupn stimul . Vzhadom na konen
povahu s konen objekty a tm aj reprezentovaten konenm spsobom, naprklad ta-
bukou, alebo inou reprezentciou (grafom).
Reprezentcie konenho automtu Mealy.
Automat Mealy me by reprezentovan niekokmi spsobmi:
tabukami funkci
prechodovou tabukou
stavovm diagramom
Tabuka funkci je matematickou reprezentciou automatu Mealy. spova v zadan tabuliek
funkci (vi obr. 3.3). Vzhadom na konen povahu tchto funkci je to vdy mon. Na obr. 3.5a)
je prklad tabukovej reprezentcie konkrtneho konenho automatu Mealy.
Obrzok 3.3: Tabukov reperezentcia prechodovej a vstupnej funkcie automatu Mealy
Prechodov tabuka. Prechodov tabuka je vytvoren (obr. 3.4) z riadkov a stpcov
( oznauje poet prvkov v abecede ). Riadky(stpce) zodpovedaj symbolom abecedy ( ) a
kad riadok(stpec) je oznaen zodpovedajcim symbolom abecedy ( ).
Obrzok 3.4: Reprezentcia automatu Mealy prechodovou tabukou
40 Konen automaty.
Obrzok 3.5: Reperezentcia konkrtneho automatu Mealy tabukou funkci a prechodovou tabukou
Prklad prechodovej tabuky je na obr. 3.5b). Vimnime si, e prechodov tabuka na obr. 3.5b) a
tabukov reprezentcia na obr. 3.5a) patria tomu istmu konenmu automatu Mealy.
Stavov diagramy. Stavov diagram je orientovan graf, vrcholy ktorho s oznaen stavmi automatu
a hrany s oznaen dvojicou symbolov priom tak, e hrana
bude oznaen dvojicou prve vtedy ak a (obr. 3.6)). Poiatonmu
stavu zodpoved vrchol oznaen , do ktorho vedie z odnikia vedca hrana (ovem do poiatonho
stavu mu vies aj hrany z inch stavov(vrcholov)). Prklad stavovho diagramu automatu, ktorho
reprezentcia je priveden na obrzkoch ( 3.5 a 3.28) je uveden na obr.( 3.8)).
Obrzok 3.6: Stavov diagram automatu Mealy
Pre niektor ely, ktor nm bud jasn pozdejie, potrebujeme denciu tzv. zoveobecnenej pre-
chodovej a vstupnej funkcie automatu Mealy.
przdny symbol
przdny symbol
Obrzok 3.7: Zoveobecnen funkcie automatu Mealy .
Koneno-automatov zobrazenia.
3.1 Konen automaty s vstupom. 41
Kadmu automatu Mealy meme priradi zobrazenie , ktor
denujeme takto:
(3.1)
Zobrazenie poda dencie ( ??) volme koneno-automatovm zobrazenm, alebo jednoducho
automatovm zobrazenm automatu Mealy .
Teraz poukeme na niektor vlastnosti automatovch zobrazen . Budeme hovori o dvoch
reazcoch , e je predponou(prexom) reazca - symbolicky , ak plat, e pre
niektor reazec . O ubovonom zobrazen hovorme, e zachovva dku, ak plat
. Ak pre ubovon zobrazenie plat, e implikuje ,
potom hovorme, e je sekvenn zobrazenie. Plat tto veta.
Theorem 3.1 Majme automat Mealy a automatov zobrazenie , potom
plat, e zobrazenie je sekvenn a zachovvajce dku zobrazenie.
Dkaz: Najprv dokeme, e zachovva dku. V alom predpokladme, e automat Mealy
je plne denovan automat. Nie je ak vidie, e z plnej denovanosti
plynie totlnos . Dkaz vedieme indukciou poda dky reazcov.
Bza indukcie. . V takom prpade a tvrdenie plat. Podobne pre
tvrdenie plat. Skutone, predpokladajme e a ; potom . Pretoe
pre niektor plat .
Hypotza induknho kroku. Predpokladajme, e pre vetky reazce tak, e plat, e
. Majme teraz reazec a nech . Reazec sa d vyjadri ako
priom .
Uvaujme teraz . Poda dencie( 3.7)
Poda dencie( 3.1) a hypotzy induknho kroku mme, e
(3.2)
(3.3)
Poda dencie ( 3.1) a ( 3.3) mme a hypotza indukcie plat aj pre
a dostvame vsledok.
Majme teraz reazce tak, e , t.j. mme reazec pre ktor plat, e .
Nasledujce rovnosti vyplvaj z dencie funkci a
kde
Mme teda, e
(3.4)
Dokzali sme, e je sekvenn a zachovvajce dku zobrazenie.
42 Konen automaty.
Prklad 3.1 Na obr. 3.8 je uveden stavov diagram konenho automatu Mealy . In rereprezentcie
tohoto automatu s na obr. 3.5 a 3.28. Automat m 3 stavy , jeho vstupn a vstupn abeceda
s toton . Automat na svojom vstupe prijma reazec ; po prijat
symbolu na vstupe (v ase ) automat bez ohadu na to, v ktorom stave sa nachdza (v ase )
zotrvva v tomto stave (v ase ). Naopak, po prijat symbolu na vstupe (v ase ) automat
prechdza (v ase ) do stavu (resp. alebo ), ak sa nachdzal (v ase ) v stave (resp.
alebo ). Odozvy, ktor vydva na svojom vstupe sa daj charakterizova takto: symbol
je odozvou , ak nsledovnkovm stavom je , in je odozva . Ozname si - poet vskytov
v reazci (analogicky pre poet vskytov ), potom meme poveda, e rta
. Skutone, bude (v ase ) v stave ak , t.j. poet v reazci
je deliten bez zvyku; bude (v ase ) v stave ak ,
t.j. poet v reazci je deliten so zvykom ; ; bude (v ase ) v stave
ak , t.j. poet v reazci je deliten so zvykom . Na
tomto zklade systm, ktor sa sprva tak, ako sme prve popsali, teda ako , sa zvykne vo vpotovej
technike oznaova ako potadlo modulo 3.
Obrzok 3.8: Stavov diagram konenho automatu Mealy - potadlo modulo 3
innos automatu Mealy sa d vyjadri vpotom. Majme postupnos stavov
(3.5)
O postupnosti( 3.5) hovorme, e je prpustnou postupnosou stavov (pps) v konenom automate Me-
aly (vzhadom na reazec a odozvu ) , ak plat, e
. Tento fakt zvykneme vyjadrova
(3.6)
a hovori, e automat m vpoet , alebo, e inicialny konen automat Mealy m na
vstupn reazec odozvu , priom tomuto vpotu zodpoved pps( 3.5).
O stave v inicilnom automate hovorme, e je nedosiahnuten v prve
vtedy, ak neexistuje iadna prpustn postupnos stavov vedca z do . Inmi slovami a formlnejie
Na druhej strane o stave v inicilnom automate hovorme, e je pascov
stav, ak plat, e z neexistuje prechod do iadneho inho stavu v v automate . Inmi slovami
a formlnejie
3.1 Konen automaty s vstupom. 43
Vpoet automatu sa d charakterizova aj pomocou zobrazenia .
(3.7)
Prklad 3.2
Pre automat z obr.( 3.8) privedieme teraz niekoko vpotov, aby sme ilustrovali zaveden pojmy a in-
nos samotnho automatu.
3.1.2 Konen automaty s vstupom Moore.
Poznme dva typy konench automatov s vstupom. S automatom Mealy sma sa zoznmili v predo-
lej kapitole. V tejto sa budeme venova automatom Moore. Automat Moore sa odliuje od automatu
Mealy v tom, e jeho odozva na vstupe (v ase ) je uren jednoznane jeho stavom (v ase ). Vetky
ostatn pojmy s toton s automatom Mealy.
Dencia 3.2 Konen automat Moore je dan 5 - icou kde
- konen mnoina stavov
- vstupn abeceda
- vstupn abeceda
- (zoveobecnen) prechodov funkcia
- vstupn funkcia
je plne denovan ak a s totlne funkcie.
je inicilny konen automat (Moore) ak je vybrat tzv. inicilny (poiaton) stav , v ktorom
zapone svoju innos. V tom prpade sa dencia automatu rozri o tento poiaton stav, t.j.
.
Argumenty a hodnoty funkci a sa vzahuj k diskrtnemu asu a s interpretovan rovnako ako
sme to uviedli pri dencii automatu Mealy, t.j. . Vstupn funkcia
a to znamen, e automat Moore m, na rozdiel od automatu Mealy, denovan odozvu aj v ase ,
pretoe jeho odozva zvis iba od stavu .
Reprezentcie konenho automtu Moore.
Automat Moore, podobne ako automat Mealy, me by reprezentovan niekokmi spsobmi:
tabukami funkci
prechodovou tabukou
stavovm diagramom
44 Konen automaty.
Tabuka funkci je matematickou reprezentciou automatu Moore a spova v zadan tabuliek
funkci . Vzhadom na konen povahu tchto funkci je to vdy mon. Na obr. 3.9a) je prklad
tabukovej reprezentcie automatu Moore. Vimnime si stpec funkcie , v ktorom rovnakmu cieovmu
stavu zodpovedaj rovnak odozvy.
Obrzok 3.9: Reperezentcia automatu Moore pomocou tabuliek funkci, resp. tabukou prechodov
Prechodov tabuka. Prechodov tabuka je vytvoren (obr. 3.9b)) z riadkov a
stpcov ( oznauje poet prvkov v abecede ). Riadky zodpovedaj symbolom abecedy a kad
riadok je oznaen zodpovedajcim symbolom abecedy . Zvltnosou prechodovej (stavovej) tabuky
automatu Moore je, e v poli je iba nsledovnk a odozva, vzhadom na povahu vstupnej funkcie
, je uveden nad menom stavu, ktor oznauje dan stpec. To znamen, e v automate Moore
m odozva rovnak povahu, ako stavov premenn. Inmi slovami, v automate Moore hodnota
vstupnej premennej je denovan v ase , zatia o premenn a s denovan na
otvorenom intervale .
Stpce prechodovej tabuky automatu Moore s oznaen stavmi automatu , ale v skutonosti ide o
oznaenie prvkami ; prvok stojaci nad menom stavu je hodnota vstupnej funkcie . Prechodov
tabuka automatu Moore me by predstaven aj v tvare podobnom pre automat Mealy (obr. 3.10 ).
Obrzok 3.10: Reprezentcia automatu Moore prechodovou tabukou v tvare Mealy
Prklad prechodovej tabuky automatu Moore je na obr. 3.11. Vimnime si, e prechodov tabuka v
3.1 Konen automaty s vstupom. 45
prklade zodpoved tabukovej reprezentcii na obr. 3.9.
Obrzok 3.11: Prechodov tabuka automatu Moore
Stavov diagramy. Stavov diagram automatu Moore je orientovan graf,
vrcholy ktorho s oznaen dvojicou , kde . Hrany s oznaen symbolmi abecedy
priom tak, e hrana bude oznaen prve vtedy ak a a
(obr. 3.12)). Poiatonmu stavu zodpoved vrchol oznaen , do ktorho vedie z odnikadia vedca
hrana (ovem do poiatonho stavu mu vies aj hrany z inch stavov(vrcholov)).
Obrzok 3.12: Stavov diagram automatu Moore
Prklad stavovho diagramu automatu, ktorho reprezentcia je priveden na obrzku ( 3.11) je uveden
na obr.( 3.13b)).
innos automatu Moore sa d, podobne ako v prpade automatu Mealy,
vyjadri vpotom. Majme postupnos stavov
(3.8)
O postupnosti( 3.8) hovorme, e je prpustnou postupnosou stavov (pps) v konenom automate Moore
(vzhadom na reazec a odozvu ) , ak plat, e
. Tento fakt zvykneme vyjadrova
(3.9)
a hovori, e automat m vpoet , alebo, e inicialny konen automat Moore m na
vstupn reazec odozvu , priom tomuto vpotu zodpoved pps ( 3.8). Vimnime si rozdiel v
charaktere odozvy , dka ktorej je pretoe automat Moore m odozvu aj v stave
46 Konen automaty.
Obrzok 3.13: Prklad stavovho diagramu automatu Moore
. Aby sme mohli vyjadri pomery v automate Moore pomocou koncepcie koneno - automatovho
zobrazenia, tak ako sme to robili v prpade automatu Mealy, denujeme si vstupn funkciu atomatu
Moore v upravenom tvare, ktor pripomna denciu vstupnej funkcie pra automat Mealy. Vimnime
si, e vstupn funkcia automatu Moore
(3.10)
Argument mono vyjadri pomocou prechodovej funkcie
(3.11)
ak dosadme ( 3.11) do ( 3.10)
(3.12)
av stranu ( 3.12) vyjadrme teraz ako funkciu argumentov
(3.13)
Funkcie a mono chpa denovanmi na obore . Teraz meme
denova zobrazenie pre automat Moore .
(3.14)
V ( 3.14) predpokladme, e .
Vpoet automatu Moore sa d charakterizova takto:
(3.15)
(3.16)
(3.17)
Prklad 3.3
Pre automat Moore z obr.( 3.11) privedieme teraz niekoko vpotov, aby sme ilustrovali zaveden
3.1 Konen automaty s vstupom. 47
pojmy a innos samotnho automatu.
Vimnime si povahu odozvy v ase , ktor je v obidvoch pps rovnak, pretoe obidve zanaj
v rovnakom stave - .
3.1.3 Podobnos konench automatov Moore a Mealy
Uvaujme teraz dva konen automaty typu Mealy a Moore , resp.
. Ukzali sme, e automaty Mealy a Moore
realizuj urit zobrazenia resp. typu . I ke automaty a
maj spolon rty, maj aj urit odlinosti. Zavedieme teraz relciu podobnosti
medzi dvomi typmi automatov.
Dencia 3.3 Majme dva plne denovan konen automaty typu Mealy a Moore ,
resp. . Budeme hovori, e je podobn (a naopak je podobn )
prve vtedy ak
kde .
Nie je ak sa presvedi, e automaty na obr.( 3.8) a ( 3.13) s podobn. Plat nasledujci vsledok,
ktor dokeme.
Theorem 3.2 Ku kadmu automatu Moore sa njde podobn automat Mealy a naopak, ku
kadmu automatu Mealy sa njde podobn automat Moore .
Dkaz: (Moore Mealy )
Majme automat Moore . Zostrojme, na zklade podobn automat Mealy
. Kontrukcia je relatvne jednoduch (obr. 3.14) a bola nami u realizovan
vyie, pri denovan funkcie .
Formlnejie:
Tm je kontrukcia automatu zaven. Zostva dokza, e je podobn .
Dkaz budeme vies indukciou poda dky vpotov .
48 Konen automaty.
Obrzok 3.14: Kontrukcia podobnho automatu Moore
Bza indukcie:
Oividne plat
(3.18)
(3.19)
Z ( 3.18) plynie, e . Na druhej strane z ( 3.19) mme, e . Toto spolu
dva a tm je bza indukcie dokzan.
Hypotza indukcie:
Predpokladajme, e plat
(3.20)
Inmi slovami hypotza ( 4.37) me by vyjadren takto:
(3.21)
Uvaujme teraz vpoet v pre niektor reazec a nech
(3.22)
Vpoet ( 3.22) me by vyjadren takto:
(3.23)
kde sa predpoklad, e a . av as ( 3.23) spa podmienky hypotzy ( ) a
preto plat
(3.24)
Na druhej strane, posledn krok ( 3.23) implikuje . Toto spolu s ( 3.24) nm dva, e
3.1 Konen automaty s vstupom. 49
(3.25)
Predpokladajme teraz, e v automate mme teraz vpoet pre niektor reazec a nech
(3.26)
Vpoet ( 3.26), podobne ako v predolom prpade, me by vyjadren takto:
(3.27)
kde sa predpoklad, e a . av as ( 3.27) spa podmienky hypotzy ( )
a preto plat
(3.28)
a . Na druhej strane, posledn krok ( 3.27) implikuje . Toto spolu s ( 3.28) nm
dva, e
(3.29)
Dokzali sme teda, e hypotza induknho kroku plat aj pre reazce na vstupnej abecede dky
.
Mealy ( Moore )
Kontrukcia podobnho automatu Moore poda automatu Mealy je zloitejia oproti tomu, o
sme videli pri dkaze vety v smere (Moore ( Mealy).
Zaneme kontrukciou automatu Moore poda automatu Mealy . Nech automat
a automat Mealy . Potom
(3.30)
(3.31)
pre niektor (3.32)
Tmto je kontrukcia automatu Moore zaven. Vimnime si, e stavy automatu s usporia-
dan dvojice . Jasnejiu predstavu nm podva obr.( 3.15). Vidme, e jednmu prechodu
v automate Mealy zodpoved cel mnoina prechodov pre vetky v automate
Moore , ktor maj t vlastnos, e maj spolon -nsledovnk , ktorho -predchodcami
s vetky stavy automatu Moore majce prv zloku stav , t.j. stavy pre kad .
Kandidtom na poiaton stav automatu je ktorkovek stav pre ubovon , t.j.
existuje monch poiatonch stavov automatu .
Pristpime k dkazu podobnosti automatov.
50 Konen automaty.
Obrzok 3.15: Kontrukcia podobnho automatu Moore poda automatu Mealy
Dkaz vedieme op matematickou indukciou poda dky vpotov v automate .
Bza indukcie:
Uvaujme vpoet dky v automate
(3.33)
Poda ( 3.30) o znamen e v existuje vpoet
(3.34)
Z ( 3.34) plynie, e , kde . Na druhej strane z ( 3.33) mme, e .
Toto spolu dva a tm je bza indukcie dokzan.
Hypotza indukcie:
Predpokladajme, e plat
(3.35)
kde
Hypotza ( 3.35) me by vyjadren takto:
(3.36)
kde a .
Predpokladajme teraz, e v automate mme teraz vpoet pre niektor reazec a nech
(3.37)
Vpoet ( 3.37) me by vyjadren takto:
3.1 Konen automaty s vstupom. 51
(3.38)
kde sa predpoklad, e a . av as ( 3.38) spa podmienky hypotzy ( )
a preto plat
(3.39)
kde a
Na druhej strane, posledn krok ( 3.38) implikuje, . Poda ( 3.30) mme,
e . To znamen, e v mme krok vpotu
(3.40)
Toto spolu s ( 3.39) nm dva, e
(3.41)
Dokzali sme teda, e hypotza induknho kroku plat aj pre reazce na vstupnej abecede dky
.
Uvaujme teraz vpoet v pre niektor reazec a nech
(3.42)
Vpoet ( 3.42) me by vyjadren takto:
(3.43)
kde sa predpoklad, e a a .
av as ( 3.43) spa podmienky hypotzy ( ) a preto plat
(3.44)
Na druhej strane, posledn krok ( 3.43) implikuje . Toto spolu s ( 3.44) nm dva, e
(3.45)
Dokzali sme, e hypotza induknho kroku plat aj pre vpoty dky . To znamen, e plat
(3.46)
V kadom z dvoch analyzovanch prpadov sme boli schopn zostroji podobn automaty a teda tvr-
denie vety plat.
Na obr.( 3.16) je uveden prklad tvorby automatu Moore poda automatu Mealy.
52 Konen automaty.
Obrzok 3.16: Kontrukcia podobnho automatu Mealy poda automatu Moore
Prklady systmov modelovatench konenmi automatmi.
Uvedieme teraz prklady systmov, sprvanie ktorch sa d opsa pomocou konench automatov. Na
konen automaty meme pozera ako na abstraktn modely (stroje), ktor vyjadruj urit druh spr-
vania sa, vlastnch celej triede relnych systmov. V praxi je vemi dleit vedie rozpozna situcie, pre
ktor s modelmi prve konen automaty. Prklady, ktor teraz nasleduj, maj za lohu toto tvrdenie
ilustrova na niekokch konkrtnych situciach.
Prklad 3.4
Na obr.( 3.17) je schma vpotovho stroja , ktor pozostva zo vstupu
Obrzok 3.17: Vpotov stroj
Opis innosti vpotovho stroja je dan rovnicami
(3.47)
(3.48)
kde . Opercia je opercia stania modulo 2 . Dencia je dan tabukou
0 0 1
1 1 0
Z rovnice (( 3.47)) mme, e vstupn hodnota zvis nielen od vstupu v ase , ale zvis tie od
histrie, t.j. od hodnt . Podobne aj hodnota premennej v ase bude zvisie od
a . To navodzuje mylienku, e abstraktn stroj (automat) ako model vpotovho stroja
mus ma schopnos zapamta si historick hodnoty premennch v ase . Tak hodnoty
tvoria mnoinu , ktor je zloen z prvkov, predstavujcich
vetky mon kombincie hodnt dvojice premennch . Automat bude ma 4 stavy,
kad zodpovedajci jednej dvojici historickch hodnt. Nasledujca tabuka reprezentuje hodnoty
v zvislosti na hodnotch a .
3.1 Konen automaty s vstupom. 53
Tabuka:Vpotov stroj
00 01 10 11
00 01 11 10
11 10 00 01
Tabuka me by povaovan za prechodov tabuku konenho automatu. Stavov diagram na obr.( 3.17
b)) je alternatvnou reprezentciou sprvania opsanho tabukou Vpotov stroj.
al prklad pochdza z neurofyziolgie. Ide o popis innosti tzv. neurnu a mechanizmov vytvorench
z takch prvkov, ktor oznaujeme ako neurnov siete.
Prklad 3.5
Na obr. 3.18 je zobrazen schma neurnovej siete, ktor pozostva z dvoch neurnov.
Obrzok 3.18: Schma neurna a jeho koneno-stavov model
Z popisu innosti neurna plynie, e vstupn hodnota neurna v ase , povedzme je toton s
hodnotou stavovej premennej neurna, ktor me by jednou z hodnt a zvis
nielen od stavu neurna v ase , ale aj od hodnt budiacich a brzdiacich vstupov neurna v ase
a prahu neurna. Vetko toto sa d vyjadri tabukou (vi. tab. 3.1).
Tab. 3.1 me by povaovan za prechodov tabuku konenho automatu. Stavov diagram na obr. 3.18b
je alternatvnou reprezentciou sprvania opsanho tab. 3.1.
54 Konen automaty.
Tabuka( 3.1)
00 01 10 11
00 00 00 00
01 11 00 00
Tabuka 3.1: innos neurnovej siete
3.2 Ekvivalencia konench automatov
V tejto kapitole budeme tudova vlastnosti relcie ekvivalencie denovanej na triede konench au-
tomatov rovnakho typu, povedzme automatov Mealy. Majme dva konen automaty Mealy
. Automaty a maj rovnak vstupn a vstupn abecedy a , take
s nimi asociovan automatov zobrazenia a s zobrazeniami rovnakej povahy, patriacej do
triedy zobrazen . Je prirodzen povaova dva konen automaty Mealy a za ekvivalentn
( ) ak realizuj rovnak zobrazenia, t.j. plat
(3.49)
Dencia( 3.49) me by vyjadren tak, ako je to uveden na obr.( 3.19). Na obr.( 3.19) je zapojenie
dvoch automatov a , ktor maj spojen vstupy. Ustanovenie platnosti dencie ( 3.49) znamen
vykonanie experimentu, ktor bude pozostva v postupnom podvan vstupnch reazcov na
vstupy a a vyhodnocovanie vstupnch reazcov (odoziev) na vstupe automatov. Ak pre
kad odozvy automatov a bud rovnak (avak vo veobecnosti rzne pre rzne ),
potom tak dva automaty bud ekvivalentn. Tak experiment je korektn, avak nie je realizovaten za
konen as, pretoe poet reazcov je nekonen. Tak experimenty (ale aj dencie typu( 3.49))
sa preto oznauj ako nekontruktvne. Dencia( 3.49) neumouje zostroji algoritmus rozhodovania
vlastnosti ekvivalencie na triede konench automatov (Mealy). Napriek tomu vak dencia ( 3.49) je
relciou ekvivalencie v matematickom zmysle. Skutone, nie je ak ukza, e tto relcia je reexvna
( ), symetrick ( ) a tranzitvna ( ).
Platnos tchto vlastnost itate me ahko overi vytvorenm zodpovedajcich spojen automatov v
zmysle obr.( 3.19) a realizovanm zodpovedajcich mylienkovch experimentov.
V snahe njs algoritmus rozhodovania problmu ekvivalencie konench automatov, musme poui
in prstup.
Obrzok 3.19: Ekvivalencia konench automatov
3.2.1 Ekvivalencia stavov v konenom automate.
Problm hadania algoritmu rozhodovania vlastnosti ekvivalencie zaneme z analzy vlastnosti ekviva-
lencie stavov v konenom automate (Mealy). Majme automat Mealy a dva stavy
. Automat je inicilny automat s poiatonm stavom . me by inicializovan aj
3.2 Ekvivalencia konench automatov 55
v inom stave ne je , naprklad v , alebo . Vytvorme teda dve kpie a to takto:
(3.50)
(3.51)
Teraz meme denova ekvivalenciu dvoch stavov v
Dencia 3.4 Majme konen automat Mealy . O dvoch stavoch budeme
hovori, e s ekvivalentn prve vtedy ak plat, e s ekvivalentn a (t.j. ).
Dencia ( 3.4) je nekontruktvna, pretoe je zaloen na nekontruktvnej ekvivalencii dvoch auto-
matov, ktor predstavuj kpie jednho a toho istho automatu Mealy, inicializovan v rznych stavoch.
Vchodisko sa ponka denovanm tzv. konenej ekvivalencie, o om hovor nasledujca dencia.
Dencia 3.5 Majme konen automat Mealy . O dvoch stavoch budeme
hovori, e s k-ekvivalentn prve vtedy ak plat
(3.52)
Inmi slovami povedan, dva stavy s k-ekvivalentn ak automaty a maj rovnak odozvy na
vetky a tak, e (avak vo veobecnosti rzne pre rzne ).
Nie je ak sa presvedi, e k-ekvivalencia stavov je relcia ekvivalenie v matematickom zmysle. Plat
takto tvrdenie
Lemma 3.1 Majme automat Mealy a stavy , potom plat, e
(3.53)
Dkaz:
( ) Majme automat a nech plat . Posledn sa d vyjadri takto:
(3.54)
av strana ( 3.54) sa d vyjadri
(3.55)
Podobne aj prav strana ( 3.54) sa d vyjadri
(3.56)
Z porovnania pravch strn ( 3.55)a ( 3.56) dostvame
(3.57)
(3.58)
Rovnos ( 3.57) ale znamen, e a rovnos ( 3.58) znamen, e . Ak vezmeme do vahy
to, e a a , dostaneme, e . Dokzali sme teda, e
(3.59)
56 Konen automaty.
( )
Dkaz implikcie v opanom smere sa vykon analogicky a preto ho prenechvame ako cvienie pre
itatea.
Je jasn, e plat
(3.60)
Z algebry je znmy fakt o povahe rozkladu mnoiny , ktor je indukovan relciou ekvivalencie
denovanej na tejto mnoine.
Fact 3.1 Majme relciu ekvivalencie na mnoine , potom rozbja na mnoinu podmnon
s tmito vlastnosami:
1.
(plnos rozkladu)
2. (dizjunktnos rozkladu)
Mnoinu volme rozkladom poda relcie ekvivalencie R a oznaujeme ju ,
t.j.
(3.61)
Niekedy hovorme, e je rozklad indukovan relciou .
Majme dva rozklady a mnoiny indukovan relciami ekvivalencie a a nech
(3.62)
(3.63)
O rozklade ( 3.62) budeme hovori, e je zjemnenm rozkladu ( 3.63) ak plat
(3.64)
a budeme to oznaova .
Teraz pristpime ku kontrukcii algoritmu rozkladu mnoiny stavov automatu
na triedy ekvivalentnch stavov. N postup bude zaloen na postupnej tvorbe rozkladov , ,
, at. Malo by by jasn, e tak rozklady vdy existuj a naviac plat
(3.65)
Posledn tvrdenie vyplva z toho, e plat
Lemma 3.2 Majme automat Mealy a stavy . Potom
(3.66)
Dkaz: ( ) Predpokladajme, e ; to znamen, e
. Poda dencie vstupnej funkcie mme, e ,
3.2 Ekvivalencia konench automatov 57
a , o inmi slovami povedan znamen, e a . Na
druhej strane, oividne plat
(3.67)
a preto mme tento vsledok
(3.68)
( ) Implikcia v opanom smere sa doke plne analogicky. Skutone, predpokladajme, e mme
Poda ( 3.67)
(3.69)
a dostvame
(3.70)
Tvrdenie lemy je dokzan.
Teraz sme pripraven vytvori algoritmus rozkladu mnoiny stavov konenho automatu
na triedy ekvivalentnch stavov. Algoritmus je zaloen na postupnom vytvran tried
k-ekvivalencie, postupn tvorba ktorch je zaloen na tvrden Lemmy 3.5 a menovite na( 3.66).
Algoritmus: Rozklad mnoiny stavov .
Algoritmus na obr.( 3.20) je urite procedrou. Zostva dokza, e je aj algoritmom v zkom zmysle,
t.j. e je to rezultatvna procedra. K tomu si sta uvedomi, e v kadej itercii druhho kroku je
vytvoren na zklade rozkladu (triedy i-ekvivalencie) nov rozklad (triedy i+1-ekvivalencie).
je zjemnenm , t.j. a pretoe je konen mnoina, algoritmus vdy skon, t.j. po
uritom pote krokov . Otzkou zostva to, i kritrium je korektn kritrium na
ukonenie procedry. Predpokladajme, e plat nasledujce:
(3.71)
Tvrdenie ( 3.71) znamen, e v rozklade sa njde tak trieda ekvivalentnch vzahov
a v nej dva tak stavy , e o nich plat pre niektor
a . To znamen, e a s tak stavy, ktor s ekvivalentn, ale nie
s ekvivalentn. Z avej asti ( 3.71) ale plynie, e v bude existova trieda
obsahujca stavy s popsanou vlastnosou, o implikuje, e nebud u ani ekvivalentn a
teda a to je spor. Z toho vyplva, e kritrium je korektn kritrium na ukonenie
procedry a rozklad je rozkladom na triedy ekvivalentnch stavov.
Dokzali sme nasledujci vsledok
Theorem 3.3 Pre kad konen automat Mealy existuje algoritmus rozkladu mno-
iny stavov na triedy ekvivalentnch stavov.
Uvedieme teraz prklady pouitia algoritmu rozkladu
58 Konen automaty.
Vstup: konen automat
Vstup: rozklad mnoiny stavov na triedy ekvivalentnch stavov
Telo algoritmu:
1.krok: Vytvorte
je trieda rozkladu poda
t.j.
2.krok: Nech je u vytvoren rozklad poda
a nech
potom:
3.krok: if then
begin
goto 2.krok
end
else
goto 4.krok
4.krok:
STOP.
Obrzok 3.20: Algoritmus rozkladu.
Prklad 3.6 Majme konen automat , ktor je zadan (stavovou) prechodovou ta-
bukou a jeho stavov diagram je na obr.( 3.21)
Prechodov tabuka
A B C D E F G H I J
B/1 B/0 A/0 E/1 E/0 A/0 H/1 D/0 J/1 I/1
G/1 F/0 B/1 D/1 C/0 A/1 F/1 E/1 I/0 J/0
Vytvorme teraz rozklady na triedy ekvivalencie :
Ako je vidie a preto je vsledn rozklad na triedy ekvivalentnch stavov. Iba dva stavy
v automate s ekvivalentn.
Prklad 3.7 Majme konen automat , ktor je zadan (stavovou) prechodovou ta-
bukou a jeho stavov diagram je na obr.( 3.22)
3.2 Ekvivalencia konench automatov 59
Obrzok 3.21: Stavov diagram
Obrzok 3.22: Stavov diagram
Prechodov tabuka
A B C D E F G H J
B/0 C/1 D/0 C/1 F/1 G/0 F/1 J/1 H/1
C/0 D/1 E/0 B/1 E/1 C/0 G/1 B/0 D/0
Vytvorme teraz rozklady na triedy ekvivalencie :
V tomto prpade a preto je vsledn rozklad na triedy ekvivalentnch stavov. V automate
mme teraz tri dvojice ekvivalentnch stavov: . Prklad ilustruje pouitie algoritmu
a poukazuje na skutonos, e rozpoznanie ekvivalencie stavov na zklade reprezentcie automatu (stavov
diagram, alebo prechodov tabuka) nie je jednoduch problm.
Redukovan konen automaty.
Po tom, ako sme pochopili problematiku ekvivalencie stavov v konenom automate a zostrojili algo-
ritmus na zisovanie takch stavov, je na mieste otzka: ak lohu maj ekvivalentn stavy v konenom
60 Konen automaty.
automate, alebo in potrebujeme ma v konenom automate ekvivalentn stavy? Ukazuje sa, e od-
strnenie z automatu ekvivalentnch stavov nahradenm kadej triedy ekvivalentnch stavov niektorm
stavom a prslunou pravou dencii zloiek automatu dospejeme k automatu, ktor realizuje rovnak
zobrazenie ako pvodn automat. Tak automat, ktor neobsahuje ekvivalentn stavy zvykneme vola
redukovanm konenm automatom, alebo jednoducho reduktom.
Dencia 3.6 Majme konen automat Mealy ; o automate hovorme, e je v
redukovanom tvare ak plat, e automat neobsahuje iadne ekvivalentn stavy, t.j. plat
(3.72)
V takom prpade o hovorme, e je redukovan automat, alebo redukt.
Podobn dencia plat aj pre konen automat Moore . V dsledku znmeho
vzahu medzi automatmi Mealy a Moore budeme sa v alom zaobera len automatmi Mealy. Zskan
vsledky bud v plnom rozsahu platn aj pre automaty Moore.
Dokeme teraz tento zaujmav vsledok
Theorem 3.4 Ku kadmu konenmu automatu Mealy sa njde ekvivalentn
redukovan konen automat , t.j. e plat
(3.73)
Dkaz:
Zaneme kontrukciou redukovanho automatu poda konenho automatu
.
1. Vytvorme rozklad mnoiny stavov na triedy ekvivalentnch stavov aplikciou algoritmu
rozkladu na . Nech
(3.74)
je zskan rozklad. Pripomenieme, e ( 3.74) m tieto vlastnosti:
_
pre
2. Na zklade ( 3.74) vytvorme teraz konen automat takto:
(3.75)
(3.76)
a
(3.77)
(3.78)
Kontrukcia automatu je zaven. Prv ne pristpime k dkazu ekvivalenie automatov a ,
povedzme si niekoko vysvetujcich poznmok k algoritmu kontrukcie automatu .
i. stavmi automatu s triedy ekvivalentnch stavov(vi 3.75). To m svojm dsledkom to, e
automat nebude ma ekvivalentn stavy a preto je redukovan automat.
3.2 Ekvivalencia konench automatov 61
ii. dencia prechodovej funkcie ( 3.76) je zaloen na dencii relcie ekvivalencie, t.j. e s-
nsledovnk kadho stavu z triedy sa mus nachdza v niektorej triede (avak vo veobecnosti
rznej pre rzne s).
iii. dencia vstupnej funkcie ( 3.77) odra skutonos, e v triede ekvivalencie s vetky stavy
ekvivalentn, t.j. teda maj rovnak odozvu na rovnak
vstup a preto a plat to aj pre kad .
iv. dencia poiatonho stavu hovor, e poiatonm stavom v automate bude t trieda ekvi-
valencie, ktor obsahuje poiaton stav automatu . Tak trieda je jedin.
Pristpime teraz k dkazu ekvivalencie automatov a matematickou indukciou poda dky
vpotov n.
Bza indukcie
Majme automaty a ; predpokladajme, e , kde
je trieda ekvivalencie obsahujca . Majme , e
(3.79)
poda kontrukcie mme, e
a a naopak (3.80)
Mme teda, e
a (3.81)
Automaty a s 1-ekvivalentn.
Hypotza indukcie
Predpokladajme, e automaty a s k-ekvivalentn, t.j.
a (3.82)
Tvrdenie hypotzy induknho kroku me by vyjadren aj pomocou vstupnch funkci
(3.83)
Uvaujme teraz vpoet v o dke
a plat, e a (3.84)
( 3.84) mono vyjadri
(3.85)
av as ( 3.85) vyhovuje hypotze induknho kroku, o znamen, e plat
a (3.86)
Prav as ( 3.85) znamen, e
(3.87)
62 Konen automaty.
Algoritmus kontrukcie reduktu (vi ( 3.76)) implikuje
(3.88)
( 3.88) a ( 3.86) dvaj
a (3.89)
o dokazuje, e hypotza plat aj pre vpoty dky a teda tvrdenie plat vbec. Dokzali sme, e
redukovan automat je ekvivalentn automatu .
Algoritmick rozhodnutenos ekvivalencie konench automatov.
Vrtime sa teraz k problmu ekvivalencie konench automatov. Ukeme, e na zklade algoritmu
rozkladu na triedy ekvivalencie mnoiny stavov konenho automatu, je mono zostroji algoritmus na
rozhodovanie ekvivalencie dvoch (a viac) konench automatov.
Dencia 3.7 Majme dva konen automaty Mealy ; stovm
automatom budeme vola konen automat denovan takto:
_
ak
ak
_
ak
ak
Sinovm (kartezinskym) automatom budeme vola konen automat
denovan takto:
Na obr.( 3.23) je uveden reprezentcia stovho automatu a na obr.( 3.24) reprezen-
tcia sinovho automatu .
Vimnime si, e stov automat z pvodnch dvoch automatov zskame tak, e jeho stavov diagram
bude vytvoren zo stavovch diagramov a ich postavenm veda seba. Sprvanie automatu je
vnman pozorovateom poda toho v ktorom zo stavovch diagramov sa v danom momente nachdza.
Na druhej strane sinov automat vznikne fyzickm spojenm vstupov a a pozorovate vnma
nov mechanizmus (automat) sasne, t.j. stav ako dvojicu stavov vytvrajcich automatov a podobne
aj vstup ako dvojicu vstupov vytvrajcich automatov.
Na triede konench automatov je mono denova alie vzahy pomocou zobrazen. Predpokla-
dajme, e mme triedu konench automatov (Mealy) na abecedch a majme dva automaty
a . Denujeme teraz zobrazenie takto:
(3.90)
(3.91)
(3.92)
Zobrazenie, ktor vyhovuje podmienkam ( 3.90),( 3.90)a ( 3.90) volme morzmom konench automatov
( ). V slade s klasikciou zobrazen [?] budeme hovori, e
a. je monomorzmom ak je injekcia.
3.2 Ekvivalencia konench automatov 63
b. je epimorzmom ak je surjekcia.
c. je izomorzmom ak je bijekcia.
Malo by by intuitvne jasn, e medzi izomorzmom a ekvivalenciou konench automatov (Mealy)
existuje urit vzah. Skutone, plat
Theorem 3.5 Ak s dva konen automaty Mealy a
izomorfn, potom s aj ekvivalentn.
Dkaz: Predpokladajme, e je bijektvne zobrazenie s tmito vlastnosami:
(3.93)
(3.94)
(3.95)
Okrem toho, pretoe je bijekcia, existuje inverzn k zobrazenie , ktor je taktie bijektvne
zobrazenie s tmito vlastnosami:
(3.96)
(3.97)
(3.98)
a plat .
Dokeme teraz tvrdenie vety indukciou poda dky vpotov .
Bza indukcie:
Predpokladajme, e v automate mme vpoet o dke
(3.99)
Z dencie izomorzmu ( 3.93),( 3.94) a ( 3.95) a ( 3.99) mme
(3.100)
Na obr.( 3.25) je zobrazen podstata kontrukcie vyjadrenej v ( 3.99)a ( 3.100).
V dsledku vlastnosti izomorzmu a existencie inverznho zobrazenia je trivilne ukza, e
( 3.100)bude implikova ( 3.99). Mme teda
(3.101)
alebo in
(3.102)
Hypotza indukcie: Nech pre vetky vpoty dky nanajvy plat
(3.103)
64 Konen automaty.
Predpokladajme teraz, e mme v vpoet dky
(3.104)
Vpoet ( 3.104) meme vyjadri ako zloen z dvoch ast
(3.105)
av as vpotu ( 3.105) vyjadruje vpoet o dke , teda vyhovujci hypotze indukcie a preto
meme predpoklada existenciu vpotu v
(3.106)
Prav as vpotu ( 3.105) je ekvivalentn tvrdeniu, e
(3.107)
Dencia izomorzmu dva
(3.108)
Z ( 3.107) a ( 3.108) mme
(3.109)
V dsledku vlastnosti izomorzmu a existencie inverznho zobrazenia je trivilne ukza ( 3.109)
bude implikova ( 3.104). Mme teda
(3.110)
Hypotza induknho kroku plat teda aj pre vetky vpoty dky (vber bol dostatone
veobecn) a teda tvrdenie plat pre vetky vpoty v automatoch a ubovonej dky. Inmi
slovami
(3.111)
Tvrdenie ( 3.111) je ale tvrdenie, e automaty a s ekvivalentn. Formlnejie
(3.112)
Tvrdenie vety je tm dokzan.
Vzah medzi ekvivalenciou a izomorzmom je o nieo komplikovanej. Mme tm na mysli to, e nie
ubovon dva konen automaty, ktor s ekvivalentn, bud aj izomorfn. Vlastnos izomorzmu kladie
na ekvivalentn automaty doplujce poiadavky. Povahu tchto poiadaviek upresuje nasledujca veta,
ktor teraz sformulujeme a dokeme.
Theorem 3.6 Ak s dva inicilne konen automaty (Mealy) a
redukovan, neobsahujce nedosiahnuten stavy, potom ak s ekvivalentn s aj
izomorfn.
Dkaz: Nech a s dva konen automaty Me-
aly, ktor vyhovuj podmienkam vety. Vytvorme teraz poda a stov konen automat
denovan svojimi zlokami , ktor s denovan v slade s denciou
stovho konenho automatu (vi 3.7).
3.3 Koneno-stavov akceptory 65
Aplikujeme teraz na algoritmus rozkladu mnoiny stavov . Nech vsledn rozklad na triedy
ekvivalentnch stavov stovho automatu je
(3.113)
Tvrdme, e rozklad ( 3.113) m pecialny tvar, menovite, e pre kad plat, e
a ak pre ubovon triedu , potom a , alebo naopak.
Predpokladajme najprv, e tomu tak nie je a nech existuje tak trieda ekvivalencie , e
a nech (3.114)
Situcia ( 3.114) je vak sporom s predpokladom, e automat je redukt. ubovon in distribcia
stavov medzi a privdza k sporu s tmto predpokladom. To ist plat o prpade, e .
Predpokladajme, e a . Pretoe neobsahuje nedosiahnuten stavy
je dosiahnuten v , t.j.
(3.115)
Kee poda predpokladu vety , potom m taktie vpoet
(3.116)
Povaha ekvivalencie stavov implikuje, e stavy a patria do jednej triedy ekvivalencie a to je spor. Tak
trieda sa neme v rozklade ( 3.113) vyskytova. Preto skutone plat, e triedy rozkladu ( 3.113)
maj tvar
(3.117)
Denujeme si teraz zobrazenie takto:
(3.118)
Zobrazenie ( 3.118) je bijekcia, o zaruuje povaha rozkladu ( 3.117).
Dokeme, e ( 3.118) je morzmus automatov a .
alej mme
Pretoe a s ekvivalentn ako inicilne automaty, to implikuje, e
Zobrazenie je teda izomorzmom automatov a a veta je tm dokzan.
3.3 Koneno-stavov akceptory
Koneno-stavov akceptory (ksa) s konen automaty bez vstupu. V tejto kapitole sa budeme ve-
nova tdiu tejto triedy konench automatov. Koneno-stavov akceptory s uren k reprezentcii
66 Konen automaty.
jednej triedy formlnych jazykov rozpoznvanm. Tto triedu jazykov, ako to dokeme v tejto kapitole,
mono stotoni s triedou jazykov, ktor generuj tzv. regulrne gramatiky. Preto tto triedu jazykov
budeme vola regulrnymi jazykmi, alebo niekedy aj koneno-stavovmi jazykmi.
Medzi hlavn ciele tejto kapitoly patria:
1. tdium povahy jazykov rozpoznatench ksa.
2. ustanovenie vzahu medzi regulrnymi gramatikami a ksa, ako rozpoznvami rovnakej triedy for-
mlnych jazykov.
3. ustanovenie vzahu medzi jazykmi reprezentovanmi (generovanmi) regulrnymi gramatikami a
jazykmi reprezentovanmi (rozpoznatenmi) ksa.
Pojmy zaveden pre konen automaty s vstupom sa takmer vetky vzahuj aj na koneno-stavov
akceptory. V alom preto budeme predpoklada znalos tchto pojmov a uvedieme na prslunch mies-
tach iba odchlky v interpretovan tchto pojmov v svislosti prve s ksa.
Dencia 3.8 Koneno-stavov akceptor je dan 5 - icou kde
- konen mnoina stavov
- vstupn abeceda
- prechodov funkcia
- poiaton stav
- mnoina nlovch stavov
Reprezentcie koneno-stavovho akceptora s rovnak, ako u konench automatov s vstupom. Teda
ksa me by reprezentovan :
tabukou prechodovej funkcie
prechodovou (stavovou) tabukou
stavovm diagramom
Tabuka prechodovej funkcie je matematickou reprezentciou ksa Na obr. 3.26 je prklad tabukovej
reprezentcie koneno-stavovho akceptora.
Prechodov tabuka. Prechodov tabuka je vytvoren (obr. 3.27) z riadkov a
stpcov ( oznauje poet prvkov v abecede ). Riadky(stpce) zodpovedaj symbolom abecedy
( ) a kad riadok(stpec) je oznaen zodpovedajcim symbolom abecedy ( ). V polku o sradnici
sa nachdza s-nsledovnk stavu , t.j. .
Prklad prechodovej tabuky ksa je na obr. ??. Vimnime si, e prechodov tabuka v prklade
zodpoved tabukovej reprezentcii na obr. 3.26.
Stavov diagramy. Stavov diagram je orientovan graf, vrcholy ktorho s oznaen stavmi automatu
a hrany s oznaen symbolom priom tak, e hrana bude oznaen
prve vtedy ak (vi obr. 3.6a)). Poiatonmu stavu zodpoved vrchol oznaen ,
do ktorho vedie z odnikia vedca hrana (ovem do poiatonho stavu mu vies aj hrany z inch
stavov(vrcholov)). Finlov stavy je zauvan oznaova dvojitm kruhom. Prklad stavovho diagramu
automatu, ktorho reprezentcia je priveden na obrzkoch ( 3.26 a ??) je uveden na obr.( 3.29b)).
Podobne ako v prpade konench automatov s vstupom potrebujeme denciu tzv. zoveobecnenej
prechodovej funkcie koneno-stavovho akceptora .
przdny symbol
3.3 Koneno-stavov akceptory 67
innos koneno-stavovho akceptora sa d vyjadri vpotom. Najprv zavedieme
oznaenie
(3.119)
Majme postupnos stavov
(3.120)
O postupnosti( 3.120) hovorme, e je prpustnou postupnosou stavov (pps) v koneno-stavovom ak-
ceptore (vzhadom na reazec ) , ak plat, e .
Tento fakt zvykneme vyjadrova
(3.121)
a hovori, e ksa m vpoet zo stavu do stavu priom tomuto vpotu zodpoved
pps( 3.120).
Pojmy (ne)dosiahnutenho, resp. pascovho stavu s vhodnou modikciou rovnomennch pojmov
pre konen automaty s vstupom. Tak o stave v inicilnom ksa hovorme, e
je nedosiahnuten v prve vtedy, ak neexistuje iadna prpustn postupnos stavov vedca z do
. Na druhej strane o stave v inicilnom ksa hovorme, e je pascov stav, ak
plat, e z neexistuje prechod do iadneho inho stavu v v ksa . Inmi slovami a formlnejie
Pre ksa sa prirodzenm spsobom denuje jazyk akceptovan ksa .
Dencia 3.9 Majme ksa ; potom jazykom akceptovanm ksa budeme vola
mnoinu vetkch takch reazcov , e pre kad tak sa njde v prpustn postupnos stavov
a plat, e . Formlnejie
(3.122)
Uvedieme teraz prklad
Prklad 3.8 Na obr.( ??) je uveden ksa
Nie je ak pochopi sprvanie vyjadren ksa . Skutone, vidme, e ksa prechdza pri kadom
vskyte 1 do inho stavu (1-nsledovnka aktulneho stavu), zatia o pri vskyte 0 zotrvva v pvodnom
stave. Stav je poiatonm a sasne jedinm nlovm stavom ksa . Z sa znovu ocitne v
po prijat na svojom vstupe ubovonho reazca takho, ktor obsahuje poet vskytov
symbolu 1, ktor je deliten bez zvyku tromi a pritom me obsahova ubovon poet vskytov symbolu
0. Systm s takmto sprvanm sa zvykne v terii automatov (a diskrtnych systmov) nazva potadlo
modulo 3. Formlnejie
(3.123)
Niekedy je vhodn simulova innos ksa niektorm simulanm konenm au-
tomatom Moore, k dencii ktorho teraz prejdeme.
Majme ksa ; o automate Moore budeme hovori, e
simuluje ksa prve vtedy ak plat
a posledn symbol (3.124)
68 Konen automaty.
Prpad uveden v ( 3.124) m miesto zrejme vtedy a len vtedy ak plat, e v automate je funkcia
denovan tak, e
(3.125)
Inmi slovami povedan, sa zska z ksa jednoducho tak, e stavy z sa oznaia symbolom a
stavy z sa oznaia . Posledn je ilustrovan obr.( 3.31).
3.3.1 Nedeterministick koneno-stavov akceptory.
Dencia ksa uveden v kapitole( 3.3) predpoklad deterministick sprvanie sa automatov. O tom
sved prechodov funkcia , ktor denuje pre kad dvojicu najviac jeden
s-nsledovnkov stav. Ako sa ukazuje, tak dencia nie je jedine mon a navye ani nie je eln z ha-
diska ustanovenia vzahu s regulrnymi gramatikami. Posledn maj nedeterminizmus zahrnut vo svojej
dencii; na niektor vetn tvar je mono aplikova jedno z viacerch substitunch (odvodzovacch) pra-
vidiel pri odvodzovan a pouitie ktorhokovek z takch pravidiel (na dan vetn tvar) je mon(leglne).
Teraz uvedieme denciu nedeterministickko ksa, ktor bude ma nedeterministick sprvanie. Ako uk-
eme, tak dencia nezvyuje akceptan silu takto denovanej triedy nedeterministickch ksa (ndksa),
t.j. triedy jazykov reprezentovanch deterministickmi ksa (dksa) a nedeterministickmi ksa (ndksa) s
toton (je to trieda tzv. regulrnych jazykov).
Uvedieme formlnu denciu ndksa.
Dencia 3.10 Nedeterministick koneno-stavov akceptor (ndksa) je dan 5-icou ,
kde
- konen mnoina stavov
- vstupn abeceda
- relcia na mnoine stavov a vstupnej abecede
- mnoina poiatonch stavov
- mnoina nlovch stavov
Dencia ndksa potrebuje urit komentr.
prechodov funkcia je v dencii ( 3.10) nahraden relciou , ktor je dan mnoinou 3-c
. Ak niektor 3-ica je z , to znamen, e v jestvuje prechod zo stavu pod
do stavu . V stavovom diagrame (vi obr.( ??)) automatu bude tomu zodpoveda prslun
prechod. V ndksa me vak vo veobecnosti existova viac ne jedna 3-ica s rovnakou prvou
a druhou zlokou, naprklad a . V takom prpade (vi obr.( ??)) automat
bude ma zo stavu pod vstupom dva mon prechody, jeden do stavu (zodpovedajci
), alebo do stavu (zodpovedajci . To, ktor z prechodov sa bude realizova
nie je vopred dan, avak v danej situcii sa uskuton iba jeden z nich. Zodpovedajca voba je
ponechan na samotn ndksa a v tom spova vlastne jav (fenomn) nedeterminizmu. Realizcia
ktorhokovek z monch prechodov je povaovan za legitmnu (prpustn), avak realizova sa v
danom ase me iba jeden z monch prechodov.
ndksa me ma vo veobecnosti viac ne jeden stav, ako poiaton stav. To vyjadruje pr-
tomnos poloky v deninej 5-ici. Prpustn postupnos stavov v ndksa bude kad tak
postupnos stavov, ktor zana v ubovonom stave a je pps v zmysle dencie pps( 3.5) pre
dksa. Inmi slovami povedan, pri dencii pps v ndksa budeme uvaova s monmi (i ke nie
realizovanmi) prechodmi a symbolom budeme vyjadrova prve tto monos,t.j.
me prejs z do stavu pod vstupom
symbolom pre ubovon budeme vyjadrova fakt, e me ma vpoet zo stavu
do stavu pod . Mnoina vetkch monch vpotov ndksa zanajcich v poiatonom
3.3 Koneno-stavov akceptory 69
stave (v niektorom z monch) a koniacich v niektorom nlovom stave (v jednom z monch),
denuje , jazyk akceptovan ndksa , t.j.
(3.126)
3.3.2 Determinizcia ndksa.
Ako u bolo uveden, rozrenie dencie koneno-stavovch akceptorov o jav nedeterminizmu v ich
sprvan sleduje cie ustanovi vzah medzi gramatikami regulrnych jazykov a koneno-stavovmi ak-
ceptormi. Spomenuli sme tie, e toto rozrenie nevedie k zveniu akceptanej sily, t.j. e tieda jazykov
reprezentovan triedou ndksa je toton s triedou jazykov reprezentovanch deterministickmi ksa. V
tejto kapitole sa zameriame na dkaz poslednho tvrdenia o jazykovej rovnomocnosti tried determinis-
tickch a nedeterministickch koneno-stavovch akceptorov.
N vklad zaneme najprv monmi interpretciami fenomnu nedeterminizmu v dencii ndksa.
Poznme tri mon interpretcie nedeterminizmu pozorovateom, ktor uplatuje sekvenn princp uva-
ovania a pozorovania.
1.interpretcia nedeterminizmu: sie automatov.
Poda tejto interpretcie je mono si sprvanie ndksa predstavi pomocou sprvania
siete automatov vytvorenej z kpi ndksa poda nasledovnho postupu (vi obr.( 3.32)). Zaneme
so sieou pozostvajcou z kpi automatu , ako je to na obr.( 3.32a)), kde sa predpoklad, e
a kpie s inicializovan kad v inom poiatonom stave z . Automaty maj
spolon vstup a pozorovate me registrova odozvy jednotlivch kpi na vstupn reazec podvan
na vstupe siete.
Predpokladajme, e na vstupnom reazci m kad z automatov
deterministick sprvanie, t.j. m jedin pps a nech automat je ten, ktor sa ocitol
v stave v ktorom ndksa m monch prechodov pod symbolom , ktor je symbolom na
vstupe siete, t.j.
.
.
. (3.127)
Na zklade ( 3.127) pridme k sieti automatov kpi ndksa kad
iniciovan v inom s-nsledovnkovom stave . Vimnime si, e lohu automatu iniciovanho v stave
pln kpia , ktor bola pvodne inicializovan v a po prijat reazca sa nachdza v stave
. Tento krok rozrenia siete zopakujeme vdy a v prpade ubovonej kpie ndksa nachdzajcej
sa v sieti, kedykovek nastane situcia, e dan kpia sa nachdza v stave, z ktorho ndksa m viac
ne jeden mon prechod. Po prijat reazca kad automat vslednej siete bude sa
nachdza v cieovom stave pps, ktor tak automat reprezentuje a poet automatov vo vslednej sieti
bude reprezentova poet monch pps, ktor ndksa me ma pre slovo . Ak aspon
jeden z automatov siete sa ocitne v stave potom slovo meme povaova za slovo, ktor ndksa
akceptuje a je teda slovom jazyka .
70 Konen automaty.
2.interpretcia nedeterminizmu: strom dosiahnutench stavov.
Pri interpretcii nedeterminizmu ndksa stromom dosiahnutench stavov postu-
pujeme nasledovne. Predpokladajame, e mme slovo a chceme preskma vetky mon
sprvania ndksa na . Zvolme si jeden z poiatonch stavov, povedzme a urobme ho
koreom grafovej truktry, ktorej dme meno strom dosiahnutech stavov (v ndksa pre slovo
)(vi obr.( 3.33)).
Strom dosiahnutenosti je modikciou stavovho diagramu v tom zmysle, e dva vrcholy stromu
dosiahnutenosti s incidentn, t.j. s spojen orientovanou hranou prve vtedy, ak .
Cesta v strome dosiahnutenosti vedca zo stavu do stavu je oznaen reazcom prve
vtedy ak v ndksa existuje pps
Predpokladajme, e sme vytvorili strom dosiahnutenosti pre predponu reazca a nech
je stav dosiahnuten pod . Mu nasta dve principilne odlin situcie.
ndksa m jedin stavu
ndksa m niekoko stavu
V prvom prpade pridme k jednu orientovan hranu v strome dosiahnutenosti
(obr.( 3.33b))). V druhom prpade pridme toko hrn ku , koko s-nsledovnkov m ndksa v
stave (obr.( 3.33c))). Po uplatnen uvedenho postupu pre cel slovo obdrme strom
dosiahnutenosti pre stav a slovo s tmito vlastnosami:
1. kad list stromu m rovnak hbku - , t.j. strom je plne vyven
2. kad list stromu reprezentuje posledn stav (povedzme ) niektorej monej pps v ndksa (pre
stav a reazec ). Inmi slovami, ak plat, e v strome je list oznaen potom v ndksa je
mon vpoet (je mon pps)
3. kad cesta v strome dosiahnutenost (pre stav a reazec ) vedca z korea do ubovonho
listu je oznaen .
4. ak existuje aspon jeden list v strome dosiahnutenosti (pre poiaton stav a reazec )
potom tak reazec je slovo jazyka .
3.interpretcia nedeterminizmu:makrostavov.
Pri tejto interpretcii predpokladme, e mme automat, ktor sa me nachdza sasne vo viacerych
stavoch. Tak kolektvny stav zvykneme oznaova ako makrostav. Koncepcia makrostavu nm umon
zohadni vetky mon prechody, ktor ndksa pripa pri nedeterministickej dencii prechodov pre
niektor stav a vstupn symbol . Pojem makrostavu sa poksime denova formlnejie a pozdejie
ho budeme ilustrova na prklade ndksa, stavov diagram ktorho je na obr.( 3.34).
Majme teraz veobecne niektor ndksa a uvaujme najprv situciu, ke mme
stav a tak, e pre niektor mme
.
.
.
3.3 Koneno-stavov akceptory 71
Mnoina stavov sa vol s-dosiahnutenou mnoinou stavov zo stavu a budeme ju
oznaova . Majme teraz niektor mnoinu stavov . Symbolom ozname
mnoinu s-dosiahnutench stavov zo stavov mnoiny , t.j.
_
(3.128)
Uvaujme teraz niektor reazec a poksime sa njs mnoinu stavov dosiahnutench zo stavu
v ndksa . To sa d urobi induktvne
_
(3.129)
V termnoch vpotov v ndksa sa to d vyjadri aj takto:
(3.130)
Zaujmav prpad predstavuj mnoiny stavov dosiahnuten v ndksa z mnoiny poiatonch
stavov . Tak dosiahnuten mnoiny budeme oznaova jednoducho pre , t.j. formlnejie
_
(3.131)
Hodnota sa vypota poda ( 3.129). Dosiahnuten mnoiny stavov pre ubovon
volme makrostavy. Na obr.( 3.34) s odvoden makrostavy-mnoiny stavov dosiahnuten z mnoiny
poiatonch stavov (v danom prpade je ). To, e (vi obr.( 3.34b))) je dsledok
toho, e v ndksa mme vpoty
(3.132)
(3.133)
(3.134)
Analogicky, to e znamen, e v existuj dva mon vpoty pre reazec a to
(3.135)
(3.136)
Podobnm spsobom sa denuj ostatn dosiahnuten mnoiny stavov v , resp. makrostavy. Zrejme
proces generovania makrostavov mono ukoni, ak na ktorejkovek ceste v grafe makrostavov je vygene-
rovan u predtm (a nielen na tejto ceste) vygenerovan makrostav. Proces generovania makrostavov
je konen, pretoe poet makrostavov je konen.
Je treba poveda, e interpretcia nedeterminizmu ndksa pomocou makrostavov le v zklade algo-
ritmu determinizcie ndksa. Zmyslom takho algoritmu je tvorba dksa pre niektor ndksa s
vlastnosou, e .
3.3.3 Determinizcia ndksa.
Pristpime teraz k nvrhu algoritmu kontrukcie jazykovo ekvivalentnho dksa k ndksa .
Algoritmus uvedieme ako postupnos krokov, v ktorch vytvorme denin zloky dksa poda
deninch zloiek ndksa .
Zostrojili sme kontrukciou jednotlivch deninch zloiek . Vimnime si, e vstupn
abeceda pre je rovnak, ako pre ndksa . Uvedieme teraz niekoko poznmok, ku kontrukcii .
72 Konen automaty.
1. stavmi dksa s vetky dosiahnuten moiny stavov z mnoiny poiatonch stavov, t.j. makro-
stavy. V prpade, e ndksa nie je plne denovan automat, potom bude denovan zvltny stav,
oznaen ako s vlastnosou, e pre kad tak, e neexistuje v ndksa mon pps pre
, bude hodnotou prechodovej funkcie . Inmi slovami
a
(3.137)
Ako plynie z( 3.137) stav je vlastne pascovm stavom.
2. poiaton stav je vlastne dosiahnuten mnoina stavov , kde je przdny
reazec. Skutone, dosiahnuten mnoina stavov z mnoiny poiatonch stavov je vlastne
samotn mnoina .
3. dencia mnoiny nlovch stavov vychdza z prvch dvoch interpretci nedeterminizmu. Tam
sme predpokladali, e dan reazec bol povaovan za akceptovan v ndksa vtedy, ak
jestvovala aspo jedna pps s cieovm stavom z mnoiny .
Dokeme teraz jazykov ekvivalenciu automatov a , posledn zostrojen poda algorit-
mu( 3.35). Dkaz povedieme matematickou indukciou poda dky vpotov .
Bza indukcie: n=1
Predpokladajme, e v ndksa mme vpoet dky 1
(3.138)
Z ( 3.138) a dencie makrostavov plynie, e
(3.139)
Poda dencie prechodovej funkcie plat , o implikuje, e v bude krok vpotu
(3.140)
(3.141)
Je trivilne dokza, e existencia vpotu( 3.140) v bude implikova existenciu vpotu( 3.138) v
. Tm je bza indukcie dokzan.
Hypotza indukcie: predpokladajme, e pre vetky vpoty o dke plat
Uvaujme teraz reazec a a nech v ndksa
existuje vpoet
(3.142)
Vpoet ( 3.142) me by vyjadren
(3.143)
av as vpotu ( 3.143) vyhovuje hypotze induknho kroku, o znamen, e prve vtedy v
existuje vpoet
(3.144)
3.3 Koneno-stavov akceptory 73
Na druhej strane prav as( 3.143) znamen, e
(3.145)
Poda dencie makrostavov a na zklade ( 3.144) a ( 3.145) mme, e . Poda dencie
prechodovej funkcie potom , o znamen existenciu vpotu v
(3.146)
Jednoducho sa dokazuje implikcia aj v opanom smere, t.j. e z existencie vpotu ( 3.146) v
plynie existencia vpotu ( 3.143) v . Hypotza indukcie plat preto aj pre vetky vpoty o dke
a teda veobecne plat
(3.147)
Predpokladajme teraz, e mme reazec . To znamen, e v mme vpoet
(3.148)
Poda dokzanho vsledku o korepondencii vpotov v a ( 3.147) mme, e prve vtedy v
bude existova vpoet
(3.149)
Pretoe a sasne , mme , o znamen, e ( ??) je akceptanm
vpotom pre , t.j. a preto . Plat teda, e . Je jasn, e plat
aj opan tvrdenie.
Skutone, majme teraz . Z dencie jazyka plynie
(3.150)
Z toho, e mme, e
Poda ( 3.147) mme
(3.151)
Je teda ( 3.151) akceptan vpoet v , a . Dokzali sme teda, e
(3.152)
a tm je dokzan jazykov ekvivalencia a . Meme teraz sformulova tvrdenie, ktor sme
prve dokzali.
Theorem 3.7 Ku kadmu ndksa sa njde dksa s vlastnosou, e .
Teraz uvedieme prklad na ilustrciu prve dokzanho vsledku, v ktorom vytvorme k ndksa
jazykovo mu ekvivalentn dksa (obr.( ??)).
74 Konen automaty.
3.4 Regulrne gramatiky a koneno-stavov akceptory.
Cieom tejto kapitoly je ustanovi vzah medzi regulrnymi gramatikami a koneno-stavovmi ak-
ceptormi, presnejie medzi triedami jazykov, ktor reprezentuj regulrne gramatiky a koneno-stavov
akceptory.
Pripomeme si najprv zkladn fakty o regulrnych gramatikch (vi kapitolu ( 2.2.1)). Gramati-
ka je regulrna ak jej pravidl vyhovuj nasledujcej schme. Majme regulrnu
gramatiku
kde: neterminlov abeceda
terminlov abeceda
mnoina pravidiel
tartovac symbol
priom pre pravidl v plat
alebo (3.153)
kde a . Forma pravidiel ( 3.153) je vlastne schmou pravidiel akejkovek
regulrnej gramatiky. Oproti pvodnej dencii, isto z technickch prin, predpokladme alej pecilne
pravidlo, ktor nemen povahu generovanho jazyka
ak potom
Prklad regulrnej gramatiky uvdzame niie
Prklad 3.9
Denin zloky s: . Pravidl gramatiky vyhovuj schme ( 3.153).
Teraz pristpime k dkazu jazykovej ekvivalencie regulrnych gramatk a koneno-stavovch akcepto-
rov.
Theorem 3.8 Ku kadej regulrnej gramatike sa d zostroji ndksa
s vlastnosou, e .
Dkaz: Dkaz vykonme kontruktvne, t.j. zostrojme algoritmus kontrukcie ndksa poda regulrnej
gramatiky (reg) a potom dokeme jazykov ekvivalenciu a . Najprv vytvorme algoritmus.
Uvedieme niekoko poznmok k algoritmu.
1. v 1.kroku kad pravidlo denuje vlastne svojou pravou stranou ( ) poiaton stav
ndksa . To vysvetuje zavedenie tohoto typu pravidiel, ktor sa vyskytuj tie pri kontrukcii
(regulrnej) gramatiky ekvivalentnej niektorm dvom (regulrnym) gramatikm [?].
3.4 Regulrne gramatiky a koneno-stavov akceptory. 75
2. 2. krok poukazuje na prbuznos regulrnych gramatk a ndksa; reg v kadom kroku odvodenia
generuje jeden terminlov symbol, omu v ndksa zodpoved prechod pod rovnakm symbolom.
V reg sa mu vyskytova vo veobecnosti viac ne jedno pravidlo s rovnakou avou stranou
(povedzme ) a tomu mus zodpoveda prslun mnoina nedeterministickch prechodov v .
To vysvetuje rozrenie dencie ksa o jav nedeterminizmu, ktor sme vykonali vyie. V prpade,
e pravidlo m tvar zodpovedajci prechod v vedie do (jedinho) nlovho stavu
v (3.krok).
3. pravidlo sa v reg bude vyskytova prve vtedy, ke . Prtomnos takho
pravidla bola zdvodnen v dkaze lemy( 2.2.2). To vysvetuje opodstatnenos 4.kroku a zalenenie
(jedinho) nlovho stavu ndksa do mnoiny nlovch stavov .
Pristpime teraz k dkazu jazykovej ekvivalencie reg a ndksa .
Medzi odvodeniami v reg a vpotami v plat nasledujci vzah:
(3.154)
Ponechvame na itatea dkaz ( 3.154). Je jednoduch, a podobne ako u viackrt doteraz, vedie sa
matematickou indukciou poda dky odvoden (v ), resp. vpotov (v ).
Predpokladajme teraz, e mme . To znamen, e plat
(3.155)
Odvodenie( 4.64) je mono reprezentova takto
(3.156)
Z odvodenia( 3.156) mme, e
(3.157)
(3.158)
(3.159)
Prav strany ekvivalenci ( 3.157), ( 3.158) a ( 3.159) implikuj existenciu vpotu v ndksa
(3.160)
ktor mono zapsa v tvare
(3.161)
Ak si uvedomme ( 3.157), e je poiaton stav, potom vpoet ( 3.161) je akceptan a .
Uveden zver plat pre ubovon a preto plat, e .
Majme teraz slovo . To znamen, e ndksa m akceptan vpoet
(3.162)
Vpoet ( 3.162) mono teraz vyjadri takto
(3.163)
76 Konen automaty.
Vpoet ( 3.163) a algoritmus kontrukcie ndksa poda reg implikuj nasledujce ekvivalencie
(3.164)
(3.165)
(3.166)
Prav strany ekvivalenci ( 3.164), ( 3.165) a ( 3.166) zaruuj existenciu odvodenia v
(3.167)
Odvodenie ( 3.167) je odvodenm slova patriaceho jazyku a teda . To dokazuje,
v dsledku veobecnej povahy vybranho slova , e .
Dokzali sme teda
(3.168)
a vsledok vety plat.
Uvedieme na zver prklad na pouitie vsledku vety( 3.8).
Prklad 3.10 Na obr.( 3.38) je uveden stavov diagram ksa zostrojenho na zklade algoritmu ve-
ty( 3.8) poda reg uvedenej v prklade ( 3.9).
Dencia 3.13 Dva regulrne vrazy s ekvivalentn vtedy a len vtedy ak plat, e
kde s hodnoty r.v.
Formlne
Dencia 3.14 Kadmu r.v. na V v zmysle dencie 3.11 je mon jednoznane priradi cel slo
h( ) takto:
1.
2. ak s r.v. a s im zodpovedajce cel sla, potom
78 Konen automaty.
slo sa vol hbka r.v.
Regulrny vraz uruje teda v zmysle dencie 3.12 jednoznane niektor mnoinu . Ztvorky v
regulrnych vrazoch mu by vynechan, ak to nevedie k nedorozumeniu.
Poda dencie 3.13 dva r.v. s ekvivalentn ak mnoiny reazcov (slov) nimi denovan s rovnak.
Plat nasledujca veta.
Veta 3.1 Ak s r.v. na V potom platia tieto vzahy:
Platnos vzahov 1-8 vyplva priamo z vlastnost operci a konkatencie. Verikcia tchto
vzahov je ponechan itateovi!
Dencia 3.15 Ak je r.v. na V, potom pod zrkadlovm (obrtenm) vrazom budeme chpa
1. ak
_
_
_
2. ak
_ _
3. ak
_ _
4. ak
Tvrdenie: Pre ubovon regulrny vraz na V je taktie r.v.
Dkaz: Budeme vies dkaz indukciou po hbke r.v.
Ak
_
_
_
3.5 Analza a syntza ksa 79
tvrdenie trivilne plat.
Predpoklad indukcie: Nech tvrdenie plat pre .
Majme vrazy tak, e . V zmysle dencie, ak , potom
a teda je r.v. a .
Podobne pre je
_ _
regulrnym vrazom a
_ _
. Podobne pre
je
_ _
. A tvrdenie plat pre
_ _
, teda tvrdenie plat vbec.
Prklad 3.11 Nech
_ _
_ _
__ _ _ __
je zrejme r.v.
Kad zo vzahov 1-15 z vety 3.1 plat aj pre prpad zrkadlovch r.v.
3.5.2 Analza ksa
Koncov mnoiny stavov
Dencia 3.16 Nech M = (Q, S, P, I, F) bude KSA. Koncovou mnoinou E(q) stavu q automatu M
bude sbor vetkch takch vstupnch reazcov, pre ktor v M existuje pre kad z nich niektor prpustn
stavov postupnos prevdzajca M z q do niektorho nlovho stavu, t.j.
_
_
(3.169)
Prklad 3.12 Uvaujeme KSA poda obr.(3.12)
Koncov mnoina E(A) je mnoina reazcov zloench z 0,1 a takch, e prvm symbolom je vdy 1,
za ktorou nasleduje ubovon poet dvojc 00 kon sa op 1 teda prevdza M z A do D, ktor
je jedinm nlovm stavom. In: E(A) bude pozostva z 1, za ktorm nasleduje niektor reazec,
ktor prevdza M zo stavu B do stavu D (symbol . znamen operciu reazenia a nie nsobenia):
(3.170)
Podobne reazce z E(c) bud obsahova ako prv symbol 0, za ktorou bude nasledova niektor reazec
z E(B), teda:
(3.171)
Napokon reazcom v E(B) me by reazec zanajci 0, za ktorm nasleduje niektor reazec z E(c),
alebo jednoducho 1, teda
80 Konen automaty.
_
(3.172)
Vzahy (3.170),(3.171) a(3.172) vytvraj systm mnoinovch rovnc, ktormu musia vyhovova kon-
cov mnoiny akceptora M.
Jazyk, ktor M rozpoznva, me by vyjadren pomocou jeho koncovch mnon.
V naom prklade L(M) je mnoina reazcov (slov), ktor s obsiahnut v koncovej mnoine poiato-
nho stavu.
L(M)=E(A)
Vimnime si, e koncov mnoina stavu D je , pretoe D je akceptujcim stavom (nlovm
stavom) a neexistuje iadny prechod z tohoto stavu. Teda vzah (3.172) meme prepsa do tvaru:
_
Tmto prkladom sme ilustrovali spsob, ktorm meme odvodi sstavu mnoinovch rovnc pre
ubovon automat M bez vstupu. Prv ne pristpime k zoveobecneniu tohoto spsobu, preskmame
niektor zkladn vlastnosti koncovch mnon.
Vlastnosti koncovch mnon:
1. Malo by by jasn, e koncov mnoina E(q) pre vdy obsahuje przdny reazec
2. Naopak, ak q nie je nlovm stavom, potom nepatr do E(q), pretoe aspo jeden symbol je
potrebn k tomu, aby M preiel z q do niektorho inho stavu a teda aj do nlovho stavu.
3. Predpokladajme, e . Potom mus existova prpustn postupnos stavov
pre tak, e obsahuje aspo jeden prechod. Ak prvm symbolom je s potom
, kde
Z toho vyplva, e mus existova stav v M tak, e
a
_ _
Podobne plat aj opan tvrdenie.
4. Napokon reazec je akceptovan M vtedy a len vtedy, ak existuje tak prstupn postupnos
stavov , e
kde q a q s poiatonm, resp. nlovm stavom. Teda L(M) je mnoinovm stom koncovch
mnon poadovanch stavov automatu M.
Na zklade poznatkov, ktor sme doteraz zskali o koncovch mnoinch meme vyslovi tieto tvrde-
nia:
Tvrdenie 1:
Nech M = (Q, S, P, I, F) bude KSA a E(q) je koncov mnoina stavu q. Potom
3.5 Analza a syntza ksa 81
1. vtedy a len vtedy ak
2. ak , potom vtedy a len vtedy ak
_ _
je prechodom v M
pre niektor
3.
Tvrdenie 2:
Koncov mnoiny KSA M = (Q, S, P, I, F) vyhovuj sstave pravo-linernych mnoinovch rovnc:
pre kad
_ _ _ _
kde
_ _ _
m
_
a
_
(przdna mnoina) v ostatnch prpadoch
Kad koecient
_ _
je mnoinou obsahujcou tie a len prve tie symboly, pre ktor M m
prechod z q do .
Linerne mnoinov rovnice s analgiou linernych algebraickch rovnc. Aritmetick opercie zloe-
nia, nsobenia v linernych algebraickch rovniciach zodpovedaj operciam mnoinovho stu a kon-
katencie (zreazenia). Rovnice s skutone linerne, pretoe koncov mnoiny, ktor tu vystupuj ako
neznme veliiny mu sa vyskytova v kadom terme iba jedin raz. Prvlastok pravolinerny m svoj
pvod v tom, e neznme koncov mnoiny stoja v kadom terme zprava. V alom uvidme ako tieto
rovnice mu by rieen a e rieenm tchto rovnc je vdy tzv. regulrny vraz.
Vimnime si, e pri vytvran mnoinovch rovnc termy zodpovedajce tzv. pascovm stavom nebud
sa vyskytova na pravej strane rovnc, pretoe pre ubovon pascov stav.
Podobn vaha plat pre nedosiahnuten stavy, pretoe ak napr. je nedosiahnuten zo iadneho
poiatonho stavu potom rovnica pre
_ _
, ako aj vetky vskyty termov s
_ _
mu by
odstrnen zo sstavy bez vplyvov na L(M). Doporuujeme itateovi vykona tieto vahy detailnejie.
Ak M je KSA s prechodom
potom na zklade tvrdenia (3.170) reazec vdy vtedy ak
_ _
, alebo formlnejie
_ _ _ _
1
Odtia vyplva, e meme psa
_ _
(3.173)
1
symbol tu oznauje implikciu
82 Konen automaty.
Rieenie sstavy mnoinovch rovnc
Ukzali sme, e pre kad konen akceptor (ksa) je mon zapsa sstavu pravo-linernych mnoinovch
rovnc typu
- koncov mnoina stavu
_
_ __
_
v ostatnch prpadoch
Pre niektor K a j bude przdna a v tom prpade prslun leny z rovnc vypadn. Rieeniami
tejto sstavy bud koncov mnoiny a zostva nm dokza, e tieto mnoiny s jedinm rieenm takej
sstavy.
Spsob rieenia takejto sstavy linernych mnoinovch rovnc je analogick spsobu rieenia obyaj-
nch linernych algebraickch rovnc a je zaloen na postupnej redukcii potu premennch pomocou
nahradzovania (substitcie). In povedan, najprv si vyjadrme napr. ako funkciu .
Dosadenm do zbvajcich rovnc obdrme sstavu o n-1 prvkoch . Podobne postu-
pujeme a km neobdrme jedin rovnicu, povedzme ako funkciu kontnt .
Poksime sa toto urobi systematicky.
V prpade uvedenej sstavy
.
.
.
zaneme s vyjadrenm mnoiny . Zrejme rovnica pre me ma tvar
_
_
_
_
_
_
_
Problm je v tom, e stoj na oboch stranch tejto rovnice.
Aby , mus plati jedna z tchto podmienok
1.
2.
Povedan, je mon ilustrova na nasledujucom pseudo-grafe 3.5.2, v ktorom spojnice s oznaen
mnoinami a nie jednoduchmi symbolmi. alm abstrahovanm dostaneme z toho pseudo-grafu graf
3.5.2.
kde
Poda dencie koncovch mnon je pre tento prpad jasn, e
_
(3.174)
3.5 Analza a syntza ksa 83
,
kde X m vznam koncovej mnoiny stavu X.
Z grafu 3.5.2 je mon odvodi rieenie
_ _ _ _
o je ahko verikovaten, ak mme na zreteli to, e
_
Rieenie 3.174 je znme ako tzv. Ardenovo pravidlo.
Ak teda pouijeme 3.174 na rovnicu pre dostaneme
_
_
_ _
_
_
Dosadenm do zbvajcich rovnc sustavy namiesto dostaneme
_
_
_
_
_
_
Ak ozname
_
potom
_ _
pre K = 2, . . . n
Podobnm postupom meme eliminova ostatn neznme . Procedra rieenia sstavy
kon odvodenm rovnice pre
_
a z toho plynie, e
kde s oznaenm pre niektor regulrny vraz odvoden v priebehu rieenia.
Skutone, vsledn vraz je vytvoren pomocou operci
z kontantnch
mnon a s teda regulrnymi vrazmi.
Prklad 3.13 Majme akceptor, ktor je zobrazen obr.3.5.2. Vyjadrenia jeho koncovch mnon meme
zapsa takto:
84 Konen automaty.
Koncov mnoiny tu oznaujeme priamo menami stavov, teda A = E(A). Postup pri redukcii je na-
sledovny:
_ _
Z obr.3.5.2 a z uvedench vzahov je mon kontatova, e
_
_
_
_
_ _
Poznmka: Poradie redukcie stavov nie je uren a zloitos redukcie zvis niekedy od vhodnho
vberu poradia. Vsledky rznych redukci jednho a toho istho akceptora mu veobecne povedan
privies k rznym r.v. avak tieto rzne reg. vrazy bud opisova jeden a ten ist jazyk (ak ovem s
odvoden pre jeden a ten ist stav!)
Jednoznanos rieenia sstavy
V predolej asti sme uviedli, e rieenm rovnice
_
Je toto rieenie jedin?
Najprv ukeme detailnejie, e je to skutone rieenm
_ _ _
86 Konen automaty.
_
Potom systm pravo-linernych mnoinovch rovnc
_ _
(3.176)
m jedin rieenie tak, e
_
kde s koncovmi mnoinami pre M
Dkaz:
Koncov mnoiny s denovan vzahom
_
pre niektor
_
Bolo dokzan, e koncov mnoiny automatu M mu by rieeniami systmu rovnc 3.176.
Predpokladajme, e s podmnoiny mnoiny , ktor s niektorm rieenm systmu 3.176.
Vyuijeme vsledok vety 3.2 k tomu, aby sme dokzali, e kad (K = 1, . . . n) je jedinm rieenm.
iadny z koecientov neobsahuje przdny symbol (pretoe akceptor nem - prechody a ).
Teda ani v rovnici pre neobsahuje a teda poda vety 3.2 vzah
_
_
_ _
_
_
mus plati medzi mnoinami . Ak nahradme v ostatnch rovniciach systmu 3.176
dostaneme rovnice typu
_ _
kde s vrazy podobn tm, ktor sme odvodili vyie. Vytvoren redukovan systm
je op pravo-linerny a iadne neobsahuje a teda pre plat
_
_
_ _
_
_
a je v zmysle vety 3.2 jedinm rieenm. Opakovanm tohto kroku a dovtedy pokm nebude systm
zredukovan na jedin rovnicu pre , ktor bude vyrieen vzhadom k tm istm spsobom a
zskan rieenie bude op jedinm poda vety 2 a bude predstavova niektor kontantn mnoinu dan
zodpovedajcim regulrnym vrazom.
Pri redukcii sstavy 3.176 ns vbec nezaujmali otzky zloenia mnon , podstatnm
bolo to, e s rieenm sstavy. V kadom kroku v zmysle vety 3.2 rieenia (K = 1, . . .
n) boli jedin.
Teda vraz pre je jedinou monou hodnotou pre neznme pri ubovonom porad elimincie
premennch pre jeden a ten ist systm. In povedan, pri rznych spsoboch vberu poradia prvkov
3.5 Analza a syntza ksa 87
z pri redukcii systmu, zskan rieenia, t.j. vrazy pre bud reprezentova v
kadom z tchto prpadov jedny a tie ist mnoiny.
Pretoe poradie slovania stavov je nepodstatn, podobne ako aj vber poradia redukcie, tento argu-
ment je mon prenies na ubovon K = 1, . . . n.
Jazyk
A tento jazyk je dan jednoznane prve vykonanou redukciou. Tvrdenie je dokzan!
Vsledkom takejto procedry redukcie s regulrne mnoiny ako rieenia pre kad (K = 1, . . .
n). Obdrali sme teda 1.as znmeho tvrdenia dokzanho Kleene pre prpad konench automatov
(akceptorov).
Veta 3.4 Kad koneno-stavov akceptor M uruje niektor regulrny vraz, ktor opisuje jazyk rozl-
iten (rozpoznaten) M.
3.5.3 Syntza ksa
V tejto asti dokeme, e pre ubovon r.v. existuje ksa, ktor rozpoznva jazyk dan tmto r.v. .
Syntza takho ksa je uroben takm spsobom, e najprv kontruujeme akceptory pre asti r.v. a potom
kombinciou tchto ksa vytvrame akceptor pre cel r.v. (rekurzvny postup).
Vchodzm bodom je kontrukcia ksa pre r.v. typu a pre ubovon .
Majme ksa ktor rozpoznvaj ubovon regulrne mnoiny .
Ako je mon skontruova M pre
?
Je eln predpoklada, e ksa s takej povahy, e:
1. maj jedin poiaton stav (kad z nich me ma in) pre ktor neexistuje prechod
pre iadne S a iadne
2. maj jedin nlov stav (kad z nich me ma in tak stav) pre ktor neexistuje prechod
pre iadne S a iadne
Za tchto podmienok je kontrukcia M mon. Prkladom budeme ilustrova nemonos zostrojenia
takho M v prpade, e aspo jedna z podmienok 1, 2 je naruen.
Prklad: ksa s dan obrzkom
Obrzok
Obr.5
Aby sme obdrali M pre
prirodzenm sa zd stotonenie poiatonch stavov
a nlovch stavov . Podobne pre zskanie M takho, e sa zd
prirodzenm stotonenie nlovho stavu s poiatonm stavom a povaova za poiaton stav
M poiaton stav a za nlov stav M nlov stav .
-ksa
Ekvivalencia -ksa a ksa
88 Konen automaty.
Kleeneho veta o syntze ksa
3.5.4 Vlastnosti regulrnych jazykov
Nerodove ekvivalencie a ich pouitie
Nech S je abeceda a je mnoina vetkch reazcov nad S. Budeme vola relciu R nad relciou
ekvivalencie ak R vyhovuje podmienke reexvnosti, symetrie a tranzitvnosti.
Relciu ekvivalencie volme pravm invariantom (pi) ak pre
Analogicky sa denuje av invariant (li)
Relcia R je kongruenciou , ak R je sasne pi aj li
Lema 1: Majme R kongruenciu nad ; potom xRy, zRw plat xzRyw
D: xRy xzRyz(R je pi)
zRw yzRyw(R je li)
xzRyz, yzRyw xzRyw (R je ekvivalencia a preto . . .)
Relcia ekvivalencie R bude relciou konenho indexu nad ak je konen rozklad
Veta 3.5 Nerodove ekvivalencie
Nech je mnoina reazcov, je mnoina vetkch jazykov akceptovatench ksa na S (t.j. M pre L
L = L(M), M = (Q, S, , q, F) , L nech je nejak ksa jazyk. Potom nasledujce tvrdenia s ekvivalentn
1. ( t.j. )
2. L je zjednotenm konenho potu tried ekvivalencie niektorej relcie R nad piki
3. Relcia ekvivalencie E nad denovan explicitne takto
xEy je piki
Dkaz: 1 2
Nech L = L(M), M = (Q, S, F). Denujeme R takto:
R je ekvivalencia: xRx pre
Ukeme, e R je prav invariant (pi)
3.5 Analza a syntza ksa 89
Nech xKy: uvaujme
- je konen rozklad
je reprezentciou stavu
Pretoe Q je konen, plynie
_ _
Dsledok:
nie je ksa j.
D: vyberme
no vieme, e L (poda vety) je zjednotenm K tried ekvivalencie.
Potom
spor!
Uzverov vlastnosti na triede regulrnych jazykov
Uzverov vlastnosti pre regulrne j.
_
90 Konen automaty.
1.spsob:
Poda Kleeneho vety
2.spsob: Nech
potom existuj ksa
i = 1, 2
Vytvorme M = (Q,
F)
_ _
_
_
_
_
_
1. spsob
2. spsob
obrzok
_
_
Uvaujme
_ _
92 Konen automaty.
_
(substitcia)
je abecedaX je abeceda
Def.: Trieda L:
je uzavret na substitciu
L
Veta: Treida reg. jazyka je uzavret na substitciu
D: G = (N, T, P, S)L(G) = L S T
Nech je substitcia pre t.j. mus existova reg. gram
Denujeme teraz nov gramatiku
_
_
_
_
Nech
3.5 Analza a syntza ksa 93
_
_
_ _
_ _
_
_
_ _
_ _
_ _
Uvaujme:
Vytvorme
_
_
_ _
- koncov substitcia
Uvaujme
Nech
homomorzmus
_ _
Analogicky pre
gsm zobrazenie:
_
Majme alej i = 1, . . . K reg. gramatiky tak, e
Vytvorme nov gramatiku
_ _
s tmito zlokami
_
Je jasn, e
je regulrna gramatika alebo me by tak uroben
3.5.5 Algoritmick problmy regulrnych jazykov
3.5 Analza a syntza ksa 95
Obrzok 3.23: Stov konen automat
96 Konen automaty.
Obrzok 3.24: Sinov konen automat
3.5 Analza a syntza ksa 97
Obrzok 3.25: Izomorzmus automatov
98 Konen automaty.
Obrzok 3.26: Tabukov reperezentcia koneno-stavovho akceptora
Obrzok 3.27: Reprezentcia koneno-stavovho akceptora prechodovou (stavovou) tabukou
Obrzok 3.28: Prechodov tabuka koneno-stavovho akceptora
3.5 Analza a syntza ksa 99
Obrzok 3.29: Stavov diagram koneno-stavovho akceptora
Obrzok 3.30: Ksa potadlo modulo 3
Obrzok 3.31: Simulan konen automat Moore pre ksa-potadlo modulo 3
Obrzok 3.32: Sie automatov
Obrzok 3.33: Interpretcia nedeterminizmu stromom dosiahnutenosti
Obrzok 3.34: Nedeterministick koneno-stavov akceptor
100 Konen automaty.
Algoritmus: Determinizcia ndksa
Vstup: ndksa
konen mnoina stavov
konen mnoina vstupnch symbolov (vstupn abeceda)
relcia ndksa (program ndksa )
mnoina poiatonch stavov
mnoina nlovch stavov
Vstup: dksa
konen mnoina stavov
konen mnoina vstupnch symbolov (vstupn abeceda)
prechodov funkcia dksa
poiaton stav dksa
mnoina nlovch stavov dksa
Telo algoritmu:
Vytvorte:
Obrzok 3.35: Algoritmus determinizcie ndksa.
Obrzok 3.36: Determinizcia ndksa
3.5 Analza a syntza ksa 101
Algoritmus: Kontrukcia ndksa poda reg .
Vstup:
regulrna gramatika
abeceda neterminlov
abeceda terminlov
konen mnoina pravidiel gramatiky
tartovac symbol gramatiky
Vstup:
ndksa
konen mnoina stavov ndksa
vstupn abeceda ndksa
mnoina prechodov - relcia ndksa
mnoina poiatonch stavov ndksa
mnoina nlovch stavov ndksa
Telo algoritmu:
plat v
1. krok
2. krok
3. krok
4. krok
plat v
Obrzok 3.37: Algoritmus kontrukcie ndksa poda reg .
Obrzok 3.38: Kontrukcia ndksa poda reg G
Obrzok 3.39: KSA pre jazyk 1(00)*1
102 Konen automaty.
Kapitola 4
Zsobnkov automaty a
bezkontextov jazyky
V tejto kapitole sa budeme venova novmu typu automatov, tzv. zsobnkovm automatom (push-down
automata - (pda)). Bude ns zaujma vzah tchto automatov k formlnym jazykom. Z tohoto dvodu
ns bud zaujma predovetkm zsobnkov akceptory, ako reprezentanti uritej triedy formlnych ja-
zykov. Ukeme, e pjde o triedu tzv. bezkontextovch (context - free) jazykov. Posledn predstavuj
teoretick model pre realistick programovacie jazyky (Pascal, C atp.). Budeme venova pozornos aj
tdiu vlastnost bezkontextovch gramatk a ustanovme vzah jazykovej ekvivalencie medzi zsobnko-
vmi automatmi (pda) a bezkontextovmi gramatikami (cfg). Zodpovedajce algoritmy prevodu pda na
cfg a naopak predstavuj teoretick zklad prekladu programov (prekladaov), pecilne asti nazvanej
syntaktick analza.
4.1 Zsobnkov automaty
Zaneme s intuitvnou predstavou zsobnkovho automatu, ktor ilustruje obr.( 4.1).
Obrzok 4.1: Zsobnkov automat - mechanick model
Model na obr.( 4.1) pozostva z piatich ast:
103
104 Zsobnkov automaty a bezkontextov jazyky
riadiaca jednotka (konen automat)
vstupn pska
pamov pska (zsobnk)
tacia hlava vstupnej psky
(tacia a zapisovacia) hlava zsobnka
Vstupn pska predstavuje jednorozmern tvar, rozprestierajci sa neobmedzene doava a doprava,
linerne usporiadanch buniek, kad z ktorch me obsahova jeden symbol, patriaci do niektorej ko-
nenej mnoiny symbolov, tzv. vstupnej abecedy. V danom ase iba konene vea buniek bude obsahova
tak symboly a zvyok (nekonene vea ) buniek bud przdne, o sa bude vyjadrova tak, e tieto przd-
ne bunky bud obsahova pecilny symbol .
Zsobnk (pamov pska) predstavuje jednorozmern tvar, rozprestierajci sa od uritho miesta -
dna zsobnka, neobmedzene nahor, linerne usporiadanch buniek, kad z ktorch me obsahova je-
den symbol, patriaci do niektorej konenej mnoiny symbolov, tzv. abecedy zsobnka (pamovej becedy
). V danom ase iba konene vea buniek bude obsahova tak symboly a zvyok (nekonene vea ) buniek
bud przdne, o sa bude vyjadrova tak, e tieto przdne bunky bud obsahova pecilny symbol .
Vstupn hlava pda predstavuje mechanizmus so schopnosou ta obsah bunky nad ktorou sa hlava
v danom ase nachdza, tzv.aktulnej bunky. Po pretan obsahu bunky (tmto aktom sa obsah bun-
ky nemen) sa vstupn hlava posunie o jednu bunku doprava, ktor sa stva novou aktulnou bunkou.
Vstupn hlava nem monos pohybu doava, ani neme meni obsah akejkovek bunky na vstupnej
pske. To vysvetuje, preo sa tejto hlave hovor tacia hlava.
Hlava zsobnka pda predstavuje mechanizmus so schopnosou ta obsah aktulnej bunky zsobn-
ka nad ktorou sa hlava v danom ase nachdza a po pretan obsahu tento obsah bu vymae (nahrad
pvodn obsah przdnym obsahom, ktor je reprezentovn pecilnym symbolom ), alebo ho vymae a
do zsobnka, ponajc aktulnou bunkou smerom nahor, zape niektor reazec pozostvajci zo sym-
bolov zsobnkovej abecedy a hlava sa nastav na poslednej neprzdnej hornej bunke, ktor bude novou
aktulnou bunkou zsobnka (novm vrcholom zsobnka). Aktulna bunka zsobnka sa vol vrcholom
zsobnka.
Riadiaca jednotka pda je modikovan konen automat s vstupom (sekvenn stroj) s vlastno-
sami, ktor sme opsali a tudovali v kapitole ( 3.1). Vstupom pre je dvojica symbolov , resp.
, kde je obsah aktulnej bunky na vstupnej pske a je obsah aktulnej bunky (vrchola) zsobnka.
innos pda sa realizuje v jednotlivch krokoch. Kad krok je determinovan 3-icou s tmto
vznamom: ak sa riadiaca jednotka nachdza v stave a aktulne bunky vstupnej psky a zsobnka
obsahuj symboly , resp. potom krok pda spova v posune hlavy zsobnka smerom nahor, a v
nahraden v zsobnku reazcom (obr.( 4.1)), posunom vstupnej hlavy o jednu bunku doprava a
prechodom do novho stavu (povedzme) . Toto zvykneme vyjadrova intrukciou pda, ktor m
tvar
(4.1)
Vznam intrukcie ( 4.1) bol prve opsan vyie a jej efekt na zmenu situciu v pda ilustruje
obr.( 4.2).
Pristpime teraz k formlnej dencii zsobnkovho automatu.
Dencia 4.1 Zsobnkov automat je dan 7 - icou , kde
4.1 Zsobnkov automaty 105
Obrzok 4.2: Efekt vykonania intrukcie v zsobnkovom automate
PROGRAM Tabuka funkcie
a) b)
Obrzok 4.3: Deterministick zsobnkov automat.
- - konen mnoina stavov
- - abeceda vstupnej psky (vstupn abeceda)
- - abeceda zsobnka
- - symbol dna zsobnka
- - poiaton stav
- - mnoina nlovch stavov
je prechodov funkcia pda , ktor je denovan takto:
nedeterministick pda
deterministick pda
V nedeterministickom pda je prechodov funkcia vlastne relciou, t.j. ,
o sa d vyjadri ako konen postupnos 5-c , ktor budeme vola programom pda .
Rovnako sa d vyjadri aj v prpade deterministickho pda . V tomto prpade bude ma program
t zvltnos, e nebude obsahova dve 5-ice s rovnakmi prvmi tromi zlokami. Na obr.( 4.3) je
uveden prklad deterministickho pda, ktor je reprezentovan alternatvne: programom (obr.( 4.3a)))
a tabukovou reprezentciou prechodovej funkcie (obr.( 4.3b))).
Vimnime si, program pda na obr.( 4.3a)) m t vlastnos, e neobsahuje 3-ice s rovnakmi prvmi
tromi zlokami. Ide teda o deterministick pda, oho dkazom je tabukov reprezentcia . Obr.( 4.4)
je prkladom zsobnkovho automatu, program ktorho nespa uveden poiadavku. Ide o nedetermi-
nistick pda.
Vimnime si, e intrukcie a maj rovnak 3-icu prvch zloiek ; analogicky aj intrukcie
a maj rovnak 3-icu prvch zloiek . Na obr. ( 4.4) mme teda program nedeterminis-
tickho zsobnkovho automatu.
Na vyjadrenie situcie, v ktorej sa pda v danom ase nachdza zavedieme
nov pojem, tzv. kongurcie pda .
106 Zsobnkov automaty a bezkontextov jazyky
PROGRAM
:
:
:
:
:
:
:
:
:
:
Obrzok 4.4: Nedeterministick zsobnkov automat.
Kongurcia vyjadruje situciu pda , ktorho vstupn hlava stoj nad aktulnou
bunkou s obsahom a obsah neprzdnej asti vstupnej psky pda bezprostredne napravo od aktulnej
bunky je . Obsah zsobnka je , priom je symbol na vrchole zsobnka (na ktor je nastaven
v danom ase hlava zsobnka) a obsah zsobnka pod vrcholom smerom ku dnu zsobnka je (vi
obr.( 4.5)). Z hadiska formlneho je kongurcia . Denujeme si teraz vznamn
kongurcie. Hovorme, e kongurcia je
- poiaton kongurcia ak , kde je obsah celej neprzdnej asti vstupnej psky
- nlov kongurcia ak , kde
- przdna kongurcia ak , kde
- przdna nlov kongurcia ak , kde
Obrzok 4.5: Kongurcia zsobnkovho automatu
Krok vpotu pda vedci z kongurcie do kongurcie
, o symbolicky oznaujeme ako , je dan nasledujcou
denciou
(4.2)
Majme teraz postupnos kongurci , kde je poiaton kongurcia. O tejto postup-
nosti budeme hovori, e je prpustn postupnos kongurci (ppk) v pda , ak plat, e
Tento fakt potom formlne vyjadrujeme takto:
alebo alternatvne
4.1 Zsobnkov automaty 107
kde . Teraz sme pripraven denova jazyk, ktor zsobnkov automat me akcep-
tova. Rozliujeme niekoko spsobov akceptovania reazcov zsobnkovm automatom:
- akceptovanie nlovou kongurciou
- akceptovanie przdnou kongurciou
Budeme hovori, e pda akceptuje slovo nlovou kongurciou ak
existuje prpustn postupnos kongurci
a pre niektor
Mnoinu vetkch reazcov akceptovanch nlovou kongurciou budeme oznaova
(4.3)
Budeme hovori, e pda akceptuje slovo przdnou kongurciou
(przdnym zsobnkom) ak existuje prpustn postupnos kongurci
Mnoinu vetkch reazcov akceptovanch przdnou kongurciou (przdnym zsobnkom) budeme
oznaova
(4.4)
V alom budeme pouva spojenie akceptovanie przdnou kongurciou a spojenie akceptovanie
przdnym zsobnkom, ako rovnocenn.
Zsobnkov automat, ktor akceptuje przdnym zsobnkom nebude potrebova mnoinu nlovch
stavov a preto ju urobme przdnou mnoinou a tak pda budeme denova ako 7-icu
Na obr.( 4.3) sme uviedli program zsobnkovho automatu. Je jednoduch sa presvedi, e tento
zsobnkov automat akceptuje przdnou kongurciou ( przdnym zsobnkom) a jeho jazyk
(4.5)
Skutone, vimnime si, e intrukcia nahrad symbol na dne zsobnka symbolom a intrukciou
postupne ta zo vstupnej psky symboly a odpamtva si ich do zsobnka. Predpokladme, e na
vstupnej pske je reazec, ktor zana predponou zloenou zo samch symbolov (povedzme, e tak
predpona bude obsahova takch symbolov) za ktormi nasleduje prpona zloen vlune zo symbolov
(bude obsahova takch symbolov). tanie prpony zloenej zo symbolov me by roben iba
pouitm intrukcie , ktor predpoklad, e na vstupnej pske v aktulnej bunke sa nachdza a
na vrchole zsobnka sa nachdza . Pokm tak situcia trv, aplikuje sa a pri tom sa zakadm
vymae zo zsobnka symbol z vrchola zsobnka. Tento proces me trva dovtedy, km je zsobnk
neprzdny. Zrejme dosiahnutie kongurcie znamen, e na vstupnej pske sa nachdza reazec
pre ubovon . Mme teda, e pda m prpustn postupnos kongurci, koniacu przdnou
kongurciou prve vtedy, ak na vstupnej pske je reazec pre ubovon . Formlnejie
Zaviedli sme dva spsoby akceptovania slov zsobnkovmi automatmi: nlovou kongurciou a
przdnym zsobnkom. Ukazuje sa, e ide iba o dve (sn technicky motivovan) dencie, ktor z-
sadnm spsobom nemenia akceptan silu zsobnkovho automatu. Inmi slovami, d sa dokza
platnos nasledujceho vsledku.
108 Zsobnkov automaty a bezkontextov jazyky
Veta 4.1 Ku kadmu zsobnkovmu automatu ktor akceptuje nlovou
kongurciou, sa njde zsobnkov automat s vlastnosou, e
a naopak, ku kadmu zsobnkovmu automatu ktor akceptuje
przdnou kongurciou, sa njde zsobnkov automat s vlastnosou, e
.
Dkaz: Majme zsobnkov automat . Dokeme, e vieme zostroji jazykovo
ekvivalentn pda . Uvedieme najprv algoritmus tvorby pda poda .
Algoritmus FP:
plat v bude plati v
krok
krok
krok
simuluje innos pda vaka tomu, e do zsobnka si hne na zaiatku zape symbol dna zsobnka
pda (1.krok) a e as programu je toton s programom pda (2.krok). Symbol je
uloen nad symbolom dna zsobnka pda , o zaruuje, e nebude akceptova slov ,
ktor automat privdzaj do kongurcie pre . Tak slov nepatria do , ale by
patrili do , ak by sa nenachdzal pod ! as programu denovan v 3.kroku zabezpeuje
vyprzdnenie zsobnka pda po dosiahnut nlovej kongurcie v pda .
Pristpime teraz k formlnemu dkazu jazykovej ekvivalencie pda a . Majme . To
znamen, e
(4.6)
Na zklade algoritmu FP a (4.6) v pda mme vpoet
(4.7)
Vpoet (4.7) je akceptanm vpotom v pda pre slovo a to znamen, e , m
sme dokzali, e .
Nie je ak dokza, a ponechme to na itatea, e existencia vpotu (4.7) v pda , implikuje
existenciu vpotu (4.6) v pda a teda, e plat , o spolu s predtm dokzanou
inklziou znamen, e .
Majme teraz pda . Vytvorme pda a dokeme
jeho jazykov ekvivalenciu s . Najprv uvedieme algoritmus tvorby pda poda .
4.2 Bezkontextov gramatiky 109
Algoritmus PF:
plat v bude plati v
krok
krok
krok
Pristpime k formlnemu dkazu jazykovej ekvivalencie pda a , zostrojenho poda algoritmu
PF. Majme . To znamen, e
(4.8)
Na zklade algoritmu PF a (4.8) v pda mme vpoet
(4.9)
Vpoet (4.9) je akceptanm vpotom v pda pre slovo a to znamen, e , m
sme dokzali, e .
Nie je ak dokza, a ponechme to op na itatea, e existencia vpotu (4.9) v pda , implikuje
existenciu vpotu (4.8) v pda a teda, e plat , o spolu s predtm dokzanou
inklziou znamen, e . Tvrdenie o jazykovej ekvivalencii zsobnkovch automatov
akceptujcich nlovou kongurciou a przdnym zsobnkom je tm dokzan a veta plat.
_
kde je nov neterminlov symbol. Potom , t.j. je silne ekvivalentn s .
Dkaz: Kvli zjednodueniu ozname si ako . Potom z (I) mme, e
(4.30)
Rovnica (4.30) vyhovuje podmienke existencie jedinho rieenia (vi fakt 4.1 ) a preto
(4.31)
Uvaujme teraz jazyk , ktor si ozname ako . Z mnoiny pravidiel (II) mme, e
(4.32)
(4.33)
Rieenm (4.33) poda (4.29) bude
(4.34)
Dosadenm (4.34) do (4.32) dostaneme
bola zskan z nahradenm iba - pravidiel (pravidiel s avou stranou ) a preto mme, e
.
a s aj silne ekvivalentn, pretoe kadmu odvodeniu
zodpoved v jedin odvodenie
a naopak. Lema je dokzan.
Dve popsan transformcie
118 Zsobnkov automaty a bezkontextov jazyky
substitcia neterminlovch rukovt pravidiel a
nahradenie mnoiny pravidiel (I) mnoinou pravidiel (II)
tvoria zklad algoritmu prevodu cfg do Greibachovej tvaru. To, e obidve transformcie zachovvaj
jazyk pvodnej gramatiky a sasne vytvraj korepondenciu medzi (minimlnymi avmi) odvo-
deniami, zaruuje, e vsledn cfg v Greibachovej tvare bude silne ekvivalentn s .
Dencia 4.3 Majme cfg a nech . Subgramatikou
(gramatiky ) volme niektor cfg, ktor m pravidl
Inmi slovami obsahuje iba tie pravidl, av strana ktorch patr do . Dsledkom dencie
subgramatiky je, e mono vybra tak, e niektor neterminl bude avo-
rekurzvny v , ale nebude avo-rekurzvny v . Je jasn, e ak pravidlo je v potom
neterminl neme patri do , ak subgramatika nem obsahova avo-rekurzvne neterminly
v . Uvedieme prklad.
Prklad 4.3
Majme cfg .
G:
Vimnime si, e neterminly s avo-rekurzvne v .
Vytvorme subgramatiku pre
G(A):
Neterminl nie je avo-rekurzvny v .
Vytvorme subgramatiku pre
Neterminl nie je avo-rekurzvny v . (Koniec prkladu.)
Algoritmus: Greibach
4.2 Bezkontextov gramatiky 119
Vstup: bezkontextov gramatika
podmnoina
subgramatika
kde nie je avo-rekurzvny
neterminl v
Vstup: bezkontextov gramatika v Greibachovej tvare
Telo algoritmu:
I.as:
1.krok: Majme pravidlo
je avo-rekurzvny v
Nech - pravidl (pravidl s avou stranou ) s
Nahra pravidlo pravidlami
2.krok: Ak existuje pravidlo pre
opakuj 1.krok; ak nie prejdi k 2.asti
Gramatika zskan po skonen 1.asti bude
II.as: */po skonen 1.asti -pravidl maj tvar:*/
nem rukov z
_
_
3.krok: nahra (A) pravidlami:
_
_
kde je nov neterminlov symbol
Dostaneme cfg
4.krok: Vytvor a ; Stop
*/Subgramatika neobsahuje avo-rekurzvne
symboly v . Skutone, v G boli dodan
a pravidl, ktor nie s avo-rekurzvne
v . Naviac, sa nevyskytuj ako
rukovte v iadnom z pravidiel ;
potom nie s avo-rekurzvne ani v .
To znamen, e subgramatika nem
avo-rekurzvne odvodenia. */
5.krok: opakuj 1. a 2.as pre vetky avo-rekurzvne symboly
; ak tak neterminly u neexistuj,
potom prechod k 6.kroku.
6.krok: pouitm substitcie neterminlovch rukovt pravidiel v
vykonaj ich transformciu na Greibachovej tvar.
Vsledn cfg je v Greibachovej tvare.
7.krok: Stop.
(Koniec algoritmu.)
Dosiahnut vsledky meme teraz zhrn a sformulova ako vetu.
Veta 4.3 Pre kad bezkontextov gramatiku sa njde bezkontextov gramatika
120 Zsobnkov automaty a bezkontextov jazyky
a tak, e a je silne ekvivalentn s .
Na zver tejto kapitoly uvedieme prklad na kontrukciu Greibachovej gramatiky.
Prklad 4.4
Majme bezkontextov gramatiku
Neterminly s avo-rekurzvne v .
Aplikujeme algoritmus na cfg . Vyberme
I. as:
pravidlo pravidlo po substitcii
II. as:
Mnoina -pravidiel po substitcii
_
_
_
3.krok: Nahradenie mnoiny pravidiel (A):
_
_
Zskavame gramatiku
V je avo-rekurzvny neterminl.
Neterminl nie je viac avo-rekurzvny neterminl (v ).
Aktualizujeme vstupn veliiny pre algoritmus.
I. as:
pravidlo pravidlo po substitcii
4.3 Jazykov ekvivalencia zsobnkovch automatov a bezkontextovch gramatk. 121
II. as:
Mnoina -pravidiel po substitcii
_
_
_
3.krok: Nahradenie mnoiny pravidiel (A):
_
_
Zskavame gramatiku
je vsledn gramatika v Greibachovej tvare.
(Koniec prkladu)
4.3 Jazykov ekvivalencia zsobnkovch automatov a bezkon-
textovch gramatk.
V tejto kapitole budeme tudova vzah medzi zsobnkovmi automatmi (pda) a bezkontextovmi
gramatikami (cfg). Bude ns zaujma predovetkm odpove na otzku v akom vzahu s triedy jazy-
kov, ktor s reprezentovan zsobnkovmi automatmi na jednej strane a bezkontextovmi gramatikami
na strane druhej. Ukeme, e ide o identick triedy jazykov a teda, e tak pda ako aj cfg s reprezen-
tantami triedy bezkontextovch jazykov. Kontrukcie, ktor bud zostrojen pri dkaze tejto jazykovej
ekvivalencie pda a cfg, s vemi dleit pre kontrukciu relnych prekladaov programovacch jazykov.
Konkrtne ide o vznamn zloky prekladaov kontrolujce syntaktick sprvnos programov, tzv. syn-
taktick analyztory.
Zaneme s kontrukciou pda pre cfg . Budeme predpoklada, e je v Greibachovej tvare, k
omu ns oprvuje veta 4.3.
Predpokladajme, e mme cfg v Greibachovej tvare . Ako vieme pravidl gramatiky
maj tvar
122 Zsobnkov automaty a bezkontextov jazyky
Kontrukcia pda bude vytvoren poda nasledujceho jednoduchho algoritmu.
Ak je v : Bude v :
(expanzia zsobnka)
Program pda zabezpe nasledujce sprvanie:
(1.) nahrad symbol na dne zsobnka tartovacm symbolom cfg - ,
(2.) pravidlu zodpoved krok, v ktorom ak ta na vstupnej pske symbol (rukov ) a na
vrchole zsobnka sa nachdza (av strana ), vymae na vrchole zsobnka a zape
do zsobnka reazec (zvyok pravej strany ). Tento krok sa in vol aj expanziou
zsobnka. Spsob expanzie zodpoved povahe kroku odvodenia v cfg : symbol bude symbolom
slova odvodenho v , zatia o symboly bud nahraden pravmi stranami
pravidiel (ak ), alebo bud asou odvodenho slova (ak ), a vtedy bud
identikovan 4.intrukciou,
(3.) pravidlu zodpoved krok, v ktorom ak ta na vstupnej pske symbol (rukov ) a na
vrchole zsobnka sa nachdza (av strana ), jednoducho vymae na vrchole zsobnka.
To zodpoved kroku odvodenia v , v ktorom sa aplikciou vygeneruje v odvodenom slove
bez akhokovek alieho kontextu napravo od ,
(4.) ide o tanie na vstupnej pske so sasnm vmazom symbolov v zsobnku, ak symboly v aktu-
lnych bunkach vstupnej psky a zsobnka s toton.
Ukeme, e pda a cfg reprezentuj rovnak jazyk. Zaneme z ustanovenia korepondencie
medzi odvodeniami v a vpotami v metdou matematickej indukcie poda dky odvoden v .
Uvaujme odvodenie
a nech
znamen, e ide o odvodenie o krokoch
Majme a nech . V takom prpade m pravidlo .
Pravidlo m tvar . Poda algoritmu kontrukcie pda je v programe intrukcia
(4.35)
Aplikcia intrukcie (4.43) v kongurcii nm dva
(4.36)
Zrejme je to aj naopak a teda mme, e
Vyslovme teraz hypotzu, e plat
(4.37)
kde
4.3 Jazykov ekvivalencia zsobnkovch automatov a bezkontextovch gramatk. 123
Uvaujme teraz odvodenie
a nech (4.38)
Odvodenie (4.38) meme vyjadri aj takto:
(4.39)
Z (4.39) mme, e reazec a jeho odvodenie maj tieto vlastnosti:
a
a naviac (4.40)
Odvodenia (4.40) vyhovuj hypotze (4.37) a preto
(4.41)
Prv krok odvodenia (4.40) implikuje prtomnos pravidla
(4.42)
v gramatike . Poda algoritmu kontrukcie pda je v programe intrukcia
(4.43)
Aplikcia intrukcie (4.43) v kongurcii implikuje, e
(4.44)
a naopak. Z uvedenho potom vyplva, e v pda bude vpoet
.
.
. (4.45)
Naopak, existencia vpotu (4.45) bude implikova existenciu odvodenia (4.38) v . To znamen, e
hypotza indukcie plat aj pre odvodenia dky a teda plat pre odvodenia akejkovek dky.
Majme teraz niektor slovo . Potom to znamen, e v plat
(4.46)
Z existencie korepondencie (4.37) mme, e prve vtedy v pda bude existova vpoet
(4.47)
Poda algoritmu kontrukcie pda poda cfg - 1.krok v bude aj vpoet z poiatonej kongurcie
(4.48)
Vpoet (4.48) znamen, e . Pretoe korepondencia (4.37) je ekvivalencia plat, e
Dokzan vsledok sformulujeme teraz ako vetu
124 Zsobnkov automaty a bezkontextov jazyky
Uvedieme teraz prklad.
Prklad 4.5
Na obr.4.9 je bezkontextov gramatika a pda zostrojen poda algoritmu uvedenho v dkaze vety(4.4).
Obrzok 4.9: Kontrukcia pda poda cfg
itate by sa mal ubezpei, e jazyk, ktor generuje akceptuje je . (Koniec
prkladu.)
Veta 4.4 Ku kadej bezkontextovej gramatike sa njde zsobnkov automat
s vlastnosou, e
Pda sa d poda cfg efektvne zostroji.
.
.
.
133
134 ZBYTOK
_
_
-
-
Transdukcia:
(??):
Dopl 1
Patologick kongurcie dpdas.
Chytil:
p1. tanie przdneho zsobnka
5.1 Uzverov vlastnosti 135
p2. - krokyi) nekonen - postupnos
ii) konen - postupnos
p3. - postupnos cez nlov a nenlov stavy.
SH MIT patologick klasikcia.
S1: mtva kongurcia (przdny zsobnk)
S2: mtva kongurcia (nepln program)
a)
b)
c) q nedenuje iadny prechod
S3:
Dopl 2
SH MIT defabologizcia dpda
S1: tanie przdneho zsobnka
potom ale
ak
Preto v MIT notcii urobme toto
_ _
_
_ _
_
S2: mtva kongurcia / nepln dencia
je mtva kongurcia
Potom
Aj
Preto ale ak je ako poda (??)
136 ZBYTOK
Dopl 3
S3: - kongurcie
potom tak, e
je
obrzky
Dopl 4
__ _ _
__ _ _
__ _ _
__ _ _
__ _ _
__ _ _
__ _ _
Dopl 5
Veta: Ku kadmu dpda M existuje dpda s vlastnosou, e
Dkaz: Predpokladajme, e dpda
neme ma neobmedzen postup-
nosti kongurci (tak dpda M vdy meme predpoklada na zklade lemy o odcyklovan).
5.1 Uzverov vlastnosti 137
Poksime sa teraz zostroji - dpda akceptujci doplnok k T(M) jednoduchm nahradenm F z Q-F
Najprv musme upravi M tak, aby M preanalyzoval do konca obsah vstupnej psky. Prina, e tomu
tak nie je me tkvie vo vskyte tchto prpadov:
S1: przdny zsobnk
S2: nepln dencia (t.j. existuj tak
e
V prpade (S1) ide o tieto situcie (alebo prpad S1 spsobuje takto situcie
Majme stav , ale ak zmenme F na Q-F pretoe v je
Tto situciu odstrnime ahko. Vytvorme
_ _
_ _
_
t.j.
Prpad S2 zrejme spsobuje vskyt takejto situcie v M:
a je mtva kongurcia t.j.
potom
a tak, e
Po odstrnen defektu (S1) a (S2) je ete jedna mon situcia v dencii M, ktor brni trivilne
vytvori z M . Uvaujme situciu
Nech
A nech
Potom ale
Preto postupujeme takto:
Nech
138 ZBYTOK
_
Dopl 6
_
_
je denovan ubovone
ak potom
Ukeme, e
Nech
Najprv ukeme, e
Zrejme
Naopak, ak potom mus ecistova ppk
potom ak
iadny zo stavov nie je z F (v opanom prpade by )
v existuje zrejme ppk
Zrejme
5.1 Uzverov vlastnosti 139
Dsledok: Trieda deterministickch bezkontextovch jazykov je uzavret na doplnok.
Dopl 7
Nov dkaz vety o doplnku. (??)
Veta: Trieda deterministickch jazykov je uzavret na doplnok.
D: Predpokladme, e L je deterministick a
je dca a T(M) = L .
Bez straty na veobecnosti meme predpoklada, e M je plne denovan, m odstrnen k-cykly.
Vytvorme za
_
_
takto: M bude simulova M s tm rozdielom,
e bude nachdza informciu o tom, i M po pretan poslednho symbolu preiel niektorou nlovou
kongurciou, alebo nie; k tomu elu vytvorme kde
_
_
_
Ak M je v kongurcii potom Mbude v kongurcii priom ak K=p
a M ta symbol a na vstupnej pske potom M prejde do a K=n ak
Ak M ta symbol a zo stavu q, a M je v kongurcii s K=n potom Mpreiel do
kongurcie (q, f) a potom ta symbol a.
Poznme:
1.ak
_
2. ak
_
je nedenovan
Ukeme, e
_ _
Majme po pretan a M bude v kongurcii.
Naopak, nech po pretan bude M v a M bude
v prpade, e Mm preta al symbol na vstupnej pske, prejde do kongurcie
ktor je formtom pre x
Dopl 8
Z povedanho mme
140 ZBYTOK
Cyk 1
Lema (o cykloch): (k dpda)
Ku kadmu dpda M existuje dpda s vlastnosou, e je prost od
-cyklov.
Dkaz: Nech
.
Predpokladajme, e dencia umouje - cykly t.j. tak ppk, e
pre ubovon .
Situcia (*) me ma dva podprpady
c1. zsobnk neobmedzene narast
c2. zsobnk nikdy neprekro urit dku
Predpokladajme pre uritos, e
card Q = s
card
= t
r = maximlny poet symbolov o ktor sa me zvi zsobnk.
Potom pristpime k analze podprpadu i.
i. tvrdme, e zsobnk narast neobmedzene prve vtedy ak jeho dka prekro rst symbolov.
Ak zsobnk narast neobmedzene potom urite jeho dka prekro rst symbolov.
Naopak, predpokladajme, e dka zsobnka m viac ako rst symbolov po realizcii uritej ppda
cyk 2
potom z (??) meme vybra tak postupnos
_ _ _ _
e pre
Potom (??) a (??) implikuj, e medzi kongurciamiv (??) sa njdu dve tak, e
_ _ _ _
5.1 Uzverov vlastnosti 141
ku
e
pretoe plat
_ _ _ _
a z toho, e
mme, e
_ _ _ _
pre a zsobnk neobmedzene narast.
N dpda M upravme pridanm k nemu potadla 1, funkciu ktorho osvetlme niie.
ii. Predpokladajme teraz, e zsobnk rob nekonen - postupnos avak zsobnk neprekro urit
hranicu.
Poda predchodzieho mme, e ak zsobnk nepohneme pod urit hranicu 4 a nepresiahne ju o viac
ne rst vymbolov potom mus za takto prejs cez dve rovnak kongurcie.
cyk 3
Posledn implikuje, e potom nasleduje nekonen cyklus.
Upravme preto na indikciu druhho prpadu 2-ta, ktor bude sledova tento fakt.
Povedan vyjadrme formlne:
_
_
_
_ _
_
_
_
Evidentne T(M) = T(M)
218
Analogicky je mon dokza, e taktie nemu obsahova (doporuuje sa to pre itatea).
Teda neobsahuj a jedin mus obsahova .
Nech obsahuje .
Uvaujeme slovo
142 ZBYTOK
Slovo
a plat e , alebo o je spor.
Tvrdenie je dokzan a nie je bezkontextov jazyk.
Vlastnos self-embedding-u bezkontextovch gramatk.
Vimnime si, e bezkontextov gramatika, ktor nie je pravo- ani avo-linerna (teda nie je regulrna)
me generova regulrny jazyk.
Prkad 14:
219
Gramatiky maj vlastnos self-embedding-u. Jazyk
_ _
a je regulrny. nie je regulrna.
Dencia 9: Bezkontextov gramatika G m vlastnos self-embedding-u (je xujca G) ak existuje tak
neterminlov symbol A, e plat
kde
kde G = (N, T, P,
)
neterminlov symbol A sa vol xovac neterminlov symbol. Vlastnos, ktor sme vyie opsali,
m vek vznam a umouje testova bezkontextov jazyky na regularitu, t.j. i dan jazyk je regulrny.
Bez dkazu privedieme takto vetu.
Veta 8: (veta o self-embedding-u)
Bezkontextov jazyk je neregulrny vtedy a len vtedy ak kad bezkontextov gramatika, ktor ho
generuje m vlastnos self-embeddingu.
220
Algoritmick problmy:
Ako u vieme, hovorme e dan problm je algoritmicky rozhodnuten, ak existuje algoritmus, ktor
v kadom prpade dva odpove na postaven problm.
Niekedy je vhodnejie algoritmick rozhodnutenos formulova takto: mme problm, ktor me ma
ubovone mnoho konkrtnych reprezentci (prpadov); meme teda hovori o akejsi triede problmov
(konkrtnych). Ak existuje algoritmus, ktor rozhoduje v kadom jednom prpade danho problmu o jeho
rieen, alebo dva konkrtnu odpove na postaven problm, potom je trieda problmov algoritmicky
rozhodnuten.
Ako prklad meme uvies problmy:
1. problm: ak x, y s prirodzen sla, je x y ?
Konkrtne prpady problmu: 2 3 ?, 5 4 ? ap.
5.1 Uzverov vlastnosti 143
Jednm z algoritmov, ktor rozhoduje postaven problm (triedu vetkch monch konkrtnych pr-
padov problmu) je tento:
obrzok
221
In reprezentcia:
_ _
_
Algoritmus pota funkciu
_ _
pre ubovon x, y. Tento problm je algoritmicky rozhod-
nuten.
Z matematickej logiky je znmy takto problm:
2. problm: zisti, i ubovon Turingov stroj zastav, ak na jeho vstup podme slovo y ( v prslunom
kde). Ak mme na mysli niektor z enumeranch procedr pre slov z uritej abecedy, napr. godelovsk
enumerciu, ktor je zaloen na godelovskej numercii, potom meme vetky T. stroje usporiada.
Podobne meme usporiada aj slov zo vstupnej abecedy Turingovch strojov. Potom ak mme T.s.
bude to znamena, e jeho popis sa nachdza na x+1. mieste v zozname, ktor je vytvoren enumeranou
(preslovaciou) procedrou. Teda formlnejie n problm meme vyjadri takto:
Majme popis T.s. a majme vstupn slovo y. alej majme - iastone rekurzvnu funkciu
prirodzen . Inmi slovami
222
Potom n problm meme vyjadri takto:
Je denovan pre dan y?
Je znme, e tento problm nie je algoritmicky rozhodnuten.
In povedan, neexistuje tak obecne-rekurzvny funkcia
_
Tento problm nos nzov problm zastavenia T.s., alebo halting problem.
Tento problm je kanonick v tom zmysle, e sa dar ukza pre ubovon algoritmicky nerozhodnuten
problm, e je ho mon previes na problm zastavenia. Jeden tak prklad ukeme alej, ktor nm
potom bude sli ako nstroj pre skmanie algoritmickej rozhodnutenosti rznych problmov tkajcich
sa bezkontextovkch jazykov a gramatk.
Postov korepondenn problm (PCP).
Dencia 1: Majme konen abecedu T a dva konen zoznamy reazcov (slov) z A a B.
Nech
Budeme hovori, e A, B predstavuj prpad Postovho korepondennho problmu (PCP). Samotn
PCP spova v tomto: njs tak
223
reazce
144 ZBYTOK
kde
aby platilo, e
pre niektor n.
Rieenm danho prpadu PCP (A, B) 1) je postupnos indexov.
Prklad 1: Majme a zoznamy A, B s dan tabukou
i Zoznam A Zoznam B
1
2
3
1
10111
10
111
10
0
Tento prpad PCP m rieenie: 2, 1, 1, 3.
Skutone
1) PCP (AB) je symbolick oznaenie pre konkrtny prpad PCP dan zoznamami A, B.
224
Prklad 2: Majme takto prpad PCP:
i Zoznam A Zoznam B
10
011
101
101
11
011
T = 0, 1
Ukeme, e tento prpad PCP nem rieenie. Je jasn, e ak by PCP (A, B) mal rieenie, potom
, pretoe s jedinmi reazcami zoznamov, ktor zanaj 1.
Kandidtom pre mus by tak z reazcov A, ktor zana 1, teda a) alebo b)
a)
b)
Prpad a) ukazuje, e neme vies k rieeniu, teda jedin mon voba je . Podobn
argument sa uplatuje aj v prpade at.
5.1 Uzverov vlastnosti 145
Z toho vyplva, e nikdy nedosiahneme iadanho rieenia.
Dencia 2: Modikovanm PCP volme PCP ktorho rieenie mus by v tvare
In povedan, rieenie MPCP (A, B)
225
m tvar
Veta 1: Ak by bol rozhodnuten PCP, potom by bol rozhodnuten a MPCP.
Dkaz: Majme MPCP pre tieto dva zoznamy
Ukeme, ako je mon kad prpad MPCP previes na niektor prpad PCP, ktor m rieenie vtedy
a len vtedy ak ho m dan prpad MPCP. Majme T - najmeniu abecedu, ktor obsahuje vetky symboly,
ktor sa vyskytuj v zoznamoch A a B. Teda
Nech alej bud dva symboly, ktor nepatria do T.
Denujme si dva homomorzmy na :
- przdny symbol
Vytvorme nov zoznamy C, D takto:
kde
226
pre
Zoznamy C, D vytvoren so zoznamov A, B prkladu s:
Zoznam A Zoznam B
i
1
2
3
1
10111
10
111
10
0
146 ZBYTOK
C D
i
1
2
3
4
5
Zoznamy C, D predstavuj prpad PCP (t.j. je to PCP (C,D)).
Meme vyslovi takto tvrdenie: PCP (C, D) m rieenie vtedy a len vtedy ak MPCP (A, B) m
rieenie.
Skutone, ak je rieenie MPCP (A, B) potom je jasn, e PCP (C, D) m rieenie
Podobne, ak je rieenm PCP (C, D) potom , pretoe iba
zanaj tm istm symbolom ( ) a na druhej strane, s jedin dva reazce z C
a D, ktor konia symbolom . Nech j je najmenie cel slo tak, e . Potom
je taktie rieenie PCP (C,D) a pre iadne je rieenm
MPCP (A,B).
227
Ak by existoval algoritmus pre rieenie PCP, potom privedenm kadho MPCP na PCP by bolo mon
rozhodn kad prpad MPCP. Veta je dokzan.
Veta 2: Postov korepondenn problm je algoritmicky nerozhodnuten.
Dkaz: Poda vety 1 je teraz dostaton ukza, e ak by bol MPCP algoritmicky rozhodnuten,
potom by bol takm aj problm zastavenia (halting problm) pre Turingove stroje. Pre kad T.s. M
a vstup W je mon skontruova MPCP, ktor m rieenie vtedy a len vtedy ak M zastav pri podan
slova W.
Majme T.s.
_
_
a nech B je przdny symbol (blank).
Vznam jednotlivch zloiek v zadan M je tento:
K - konen mnoina stavov
- abeceda T.s. M