Skripta Hudak 2002

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 152

TECHNICK UNIVERZITA V KOICIACH

Fakulta elektrotechniky a informatiky


Prof.Ing.tefan HUDK, DrSc.
TEORETICK INFORMATIKA:
Katedra potaov a informatiky FEI TU
November 2002
2
Obsah
1 vod do informatiky 5
1.1 Jazyky a automaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Modely algoritmov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Rekurzvne schmy a funkcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Turingove stroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Motivan zdroje informatiky 17
2.1 Jazyky a ich reprezentcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Zkladn otzky o formlnych jazykoch . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Reprezentcia jazykov procedrami . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Gramatiky a jazyky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 Formlne gramatiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Vybran vlastnosti gramatk a jazykov . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Konen automaty. 37
3.1 Konen automaty s vstupom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1 Konen automaty s vstupom Mealy. . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2 Konen automaty s vstupom Moore. . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.3 Podobnos konench automatov Moore a Mealy . . . . . . . . . . . . . . . . . . . 47
3.2 Ekvivalencia konench automatov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.1 Ekvivalencia stavov v konenom automate. . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Koneno-stavov akceptory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3.1 Nedeterministick koneno-stavov akceptory. . . . . . . . . . . . . . . . . . . . . . 68
3.3.2 Determinizcia ndksa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3.3 Determinizcia ndksa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.4 Regulrne gramatiky a koneno-stavov akceptory. . . . . . . . . . . . . . . . . . . . . . . 75
3.5 Analza a syntza ksa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5.1 Regulrne vrazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5.2 Analza ksa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.5.3 Syntza ksa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.5.4 Vlastnosti regulrnych jazykov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3
4 OBSAH
3.5.5 Algoritmick problmy regulrnych jazykov . . . . . . . . . . . . . . . . . . . . . . 97
4 Zsobnkov automaty a bezkontextov jazyky 99
4.1 Zsobnkov automaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2 Bezkontextov gramatiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2.1 Chomskeho tvar bezkontextovch gramatk. . . . . . . . . . . . . . . . . . . . . . . 105
4.2.2 Greibachovej tvar bezkontextovch gramatk. . . . . . . . . . . . . . . . . . . . . . 109
4.3 Jazykov ekvivalencia zsobnkovch automatov a bezkontextovch gramatk. . . . . . . . 117
4.4 Niektor vlastnosti jazykov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.4.1 Stromy odvodenia v bezkontextovch gramatikch. . . . . . . . . . . . . . . . . . . 122
4.4.2 Vlastnosti bezkontextovch jazykov. . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5 ZBYTOK 129
5.1 Uzverov vlastnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Kapitola 1
vod do informatiky
Informatika je vedn odbor, ktor sa zaober prostriedkami a metdami reprezentcie, spracovania,
uchovvania a v poslednej dobe aj pouitm tchto prostriedkov a metd na prenos informcie. Je ne-
rozlune spojen s matematickmi strojmi-potami. Niekedy sa z toho dvodu informatika vol aj
potaovou vedou (computer science).
Vznik a vvoj elektronickch slicovch potaov preniesol aktivitu loveka od strojov, ktor trans-
formuj energiu k strojom na transformciu a vyuitie informcie. tdium vlastnost potaov, metd
ich programovania predstavuje jednu z hlavnch oblast informatiky.
Vznik informatiky (1. polovica 20.storoia) mal niekoko zdrojov, hovorme im motivan zdroje vzniku
a rozvoja informatiky:
1. metamatematika - upresnenie pojmu algoritmus;
2. technika a medicna - nvrh a analza zloitch systmov: relov systmy, neurofyziologick sys-
tmy
3. jazykoveda - jazykov preklad
Na prv pohad sa zd, e uveden zdroje maj mlo spolonho, avak, ako v alom ukeme, tieto
oblasti a problmy v nich formulovan (nie vetky s dodnes uspokojivo vyrieen), priviedli k zrodu
novho vednho odboru - informatiky. Informatika predstavuje dnes vznamn oblas praktickej in-
nosti a nov rozmer kultry sasnej civilizcie. Spolonm menovateom uvedench zdrojov bol objav
koncepcie abstraktnch strojov na spracovanie informcie - automatov, ktor predstavovali intelektulnu
vzvu k skmaniu a pochopeniu vlastnost takch strojov v najirom zmysle.
Abstraktn stroje a algoritmy Pojem abstraktnho stroja na spracovanie informci bol zaveden A. M.
Turingom [?]v r. 1936, ktor sa na jeho poes vol Turingovm strojom. Turing pouil koncepciu
abstraktnho stroja na upresnenie pojmu algoritmus , vneho problmu metodolgie matematiky -
metamatematiky, ktor bol s plnou vnosou nastolen na zaiatku 20. storoia (D. Hilbert). Turing
pomocou svojich strojov dokzal, e okovek, o je mono povaova za algoritmicky rieiten doke
vypota Turingov stroj. To sa stalo zkladom pre tvrdenie, e Turingove stroje s dobrm upresnenm
pojmu algoritmus. Upresneniam pojmu algoritmus boli venovan prce A. Churcha, ktor denoval tzv.
rekurzvne funkcie [14], E. Posta [3] - prepisovacie schmy a A. A. Markova [4] - algoritmy Marko-
va. Ukzalo sa, e trieda funkci vypotatench na Turingovch strojoch a trieda rekurzvnych funkci
Churcha s zhodn. Podobn vzah bol ustanoven aj vo vzahu k prepisovacm systmom a algorit-
mom Markova. Bola sformulovan tzv. Turing-Churchova tza , ktor hlsa, e okovek je algoritmicky
rieiten, je vypotaten na Turingovch strojoch. Tza je vyjadrenm limitnch monost potaov.
Turingove stroje mu by povaovan za abstraktn model systmov s nekonenm potom stavov.
5
6 vod do informatiky
Automaty a zloit systmy Prv polovica 20. storoia bola obdobm prudkho rozmachu elektrotech-
niky a nstupom systmov zostrojench z relovch obvodov [5]. To vyvolalo potrebu terie nvrhu
a analzy takch systmov. Typickmi predstavitemi takch systmov boli telefnne centrly na elek-
tromechanickch rel. Pre opis sprvania a truktry relovch obvodov a systmov Amerian C. E.
Shannon [?] a sovietsky vedec V. I. estakov [?] nezvisle na sebe navrhli pouitie tzv. boolovej algebry
[6]. Anglian G. Boole v r. 1854 vo svojej prci Laws of Thoughts poloil zklady algebry, ktor
dnes nesie jeho meno. Koncepcia boolovskch funkci C. E. Shannona je dnes zkladnm apartom na
opis sprvania a truktry tzv. kombinanch a sekvennch logickch obvodov, ktor s abstraktnmi
modelmi potaov na hardvrovej rovni. Ide o abstraktn stroje s konenm potom stavom, ktor vo-
lme konenmi automatmi . Sasn prax a teria nvrhu a analzy takch strojov je urovan prcou
Humana [?] z r. 1954, ako aj alch vedcov (V. M. Glukov [?], E.F. Moore [?], G.H. Mealy [?], E.J.
McCluskey [?], B. A. Trachtenbrot [?]).
V 40.rokoch 20.storoia skupina vedcov pod vedenm americkho neurofyziolga F. Rosenblatta sa ve-
novala tdiu procesov v nervovom systme ivch organizmov. W.S. McCulloch a W. Pitts s autormi
modelu neurnu, zkladnho stavebnho prvku nervovho systmu (Obr. 1.1). Ako sa ukzalo model
nervovho systmu zostrojen z takch neurnov je konenm automatom.
Obrzok 1.1: Model neurnu
1.1 Jazyky a automaty
Vzah medzi (abstraktnmi) jazykmi a automatmi bol ustanoven S. C. Kleene [?] v r. 1956??. Jazyk
je mono interpretova ako mnoinu viet zodpovedajcim uritm vlastnostiam, alebo uritm pravid-
lm vytvrania (kontrukn pravidl). Vety s reazce symbolov, ktor s vybrat z uritej konenej
mnoiny, ktor volme abecedou jazyka. Tak naprklad pod jazykom meme chpa mnoinu (vetkch)
programov pre pota v niektorom programovacom jazyku. Kad program je vetou v takom jazyku.
1.2 Modely algoritmov 7
alm prkladom jazyka me by mnoina vetkch reazcov vytvorench zo symbolov 0 a 1, ktor
vyhovuj uritm podmienkam; naprklad, e za kadou 1 mus nasledova 0. Kleene charakterizoval
jazyk ako mnoinu viet (reazcov), priom tak mnoinu, e prslunos k takej mnoine me by testo-
van niektorm abstraktnm strojom, naprklad konenm automatom.
V jazykovede jednm zo zkladnch problmov je problm prekladu z jednho jazyka (povedzme )
do druhho jazyka (povedzme ). Podstata rieenia takho problmu spova v pochopen podstaty
takho javu, e lovek je schopn sprvne formulova a rozumie vetm, ktor predtm nikdy nevyslovil,
alebo nepoul. Noam Chomsky [?, ?] v r. 1959 a 1963 publikoval prce , v ktorch boli zhrnut vsled-
ky vskumov pri rieen problmu prekladu prirodzench jazykov. Tam boli ustanoven vzahy medzi
hierarchiou (abstraktnch) jazykov, automatov a gramatk. Tto hierarchia sa vol Chomskho hierarchia
1.2 Modely algoritmov
Algoritmus je stredn pojem v informatike, ale aj v matematike. Jestvuje mnoho denci algoritmu.
My budeme pod algoritmom rozumie pojem v zmysle nasledujcej dencie.
Dencia1.1 Algoritmus je nvod na rieenie problmu, ktor pozostva z intrukci, intuitvny v-
znam ktorch je pouvateovi nvodu jasn, ako aj to ako jednotliv intrukcie mechanicky vykona, a
ktor (nvod) m tieto vlastnosti:
1. konenos
2. diskrtnos
3. hromadnos
4. determinovanos
5. sekvennos
6. rezultatvnos
Povieme si nieo bliie o jednotlivch vlastnostiach.
konenos algoritmu znamen, e kad intrukcia sa vykon za konen as a algoritmus sa sklad
z konenho potu intrukci
diskrtnos znamen, e kad intrukcia predstavuje diskrtnu jednotku (zloku) v tele algoritmu
(t.j. zaber konen priestor a je takto identikovaten)
hromadnos znamen, e nvod je uren na rieenie celej triedy loh (presnejie celej triedy intan-
ci prpadov loh danho typu, naprklad algoritmus delenia sel je vhodn na delenie akejkovek
dvojice sel)
determinovanos znamen, e po vykonan jednej intrukcie je jednoznane z povahy algoritmu
uren, ktor intrukcia sa vykon ako nasledujca
sekvennos znamen, e v danom ase sa me vykona najviac jedna intrukcia
rezultatvnos znamen, e algoritmus na ubovonej mnoine svojich vstupnch dt za konen as
vyd vsledok
8 vod do informatiky
V alom budeme rozliova medzi nvodmi poda tejto dencie, ktor spaj vetkch 6 podmienok
- bud to algoritmy v zkom zmysle , zatia o nvody, ktor spaj iba prvch 5 podmienok, t.j. ktor
nie s rezultatvne, budeme vola procedrami . Procedru budeme niekedy vola nerezultatvnym algo-
ritmom a algoritmus (v zkom zmysle) rezultatvnou procedrou.
Teraz uvedieme prklad na algoritmus v zkom zmysle.
Prklad 1.1 Majme problm: Pre ubovon prirodzen slo n 1 rozhodnite, i n je prvoslo.
Nvod na njdenie prvosla.
Krok: Intrukcia
1. Polo
2. Ak je stop: n je prvoslo
3. Ak je cel slo stop: n nie je prvoslo
4. Polo
5. Nvrat k 2. kroku
Nie je ak preveri, e priveden nvod m vetkch 6 vlastnost a je teda algoritmom v zkom zmysle.
Previerka 6. vlastnosti (rezultatvnos) predstavuje samostatn problm vo veobecnosti, avak v tomto
prpade je to jednoduch. Sta si uvedomi, e nvod had postupne ponajc 2 deliteov sla n . Za
najviac n - 2 opakovan algoritmus mus dospie k vsledku.
Na (obr. 1.2) je uveden reprezentcia algoritmu v tvare vvojovho diagramu.
Obrzok 1.2: Algoritmus na urenie prvosla
al prklad je na ilustrciu povahy procedr. Je z terie sel. Na zaiatok uvedieme, e pod pojmom
perfektn slo budeme v alom chpa tak prirodzen slo, ktor je rovn stu svojich deliteov
zvenmu o 1; tak naprklad 6 je perfektn slo, pretoe 1 2 3 6.
1.2 Modely algoritmov 9
Prklad 1.2 Majme problm: Pre ubovon prirodzen slo n 1 rozhodnite, i existuje perfekt-
n slo vie ako n.
Nvod na njdenie perfektnho osla.
Krok: Intrukcia
1. Polo
2. Polo
3. Polo
4. Polo
5. Ak je prechod k 8. kroku
6. Ak je prechod k 2. kroku
7. Stop: je perfektn slo vie ako
8. Ak nie je cel slo prechod k 10. kroku
9. Polo
10. Polo
11. Nvrat k 5. kroku
Na (obr.1.3) je uveden reprezentcia algoritmu v tvare vvojovho diagramu. Je jednoduch sa ubez-
Obrzok 1.3: Procedra njdenia perfektnho sla
pei, e priveden sbor intrukci je nvodom na hadanie perfektnho sla vieho ne n . Premenn
sum svojou hodnotou bude vyjadrova set deliteov zven o 1 pre testovan slo - kandidta na
perfektn slo. Pre kad tak slo sa testovanie skon po konenom pote opakovan cyklov, ktor
10 vod do informatiky
nvod obsahuje a ktor s zretenejie z vvojovho diagramu. Na rozdiel vak od predchdzajceho
prkladu nie je v danom prpade zaruen rezultatvnos. Ide teda o nerezultatvny algoritmus. Posledn
vyplva z toho, e v terii sel nepoznme vsledok, ktor by nm zaruoval existenciu perfektnho sla
vieho ako n pre ubovon n.
1.2.1 Rekurzvne schmy a funkcie
Vyie sme uviedli, e jednm z motivanch zdrojov informatiky bolo precizovanie pojmu algoritmus.
Jedno z upresnen je spojen s pojmom rekurzvnych vpotovch schm a na ich zklade denovanej
triedy tzv. rekurzvnych funkci.
Schma primitvnej rekurzie
V alom budeme uvaova premenn na obore prirodzench sel
a s funkciami s hodnotovm oborom .
Symbolom budeme oznaova n-rnu funkciu a tak, e ; ak
potom
bude tzv. charakteristickou funkciou mnoiny A , t.j. C (x ) 1 ak x A a C (x ) 0 ak x A .
Analogicky sa denuje C aj v prpade, e A . . . . Symbolom N (x ) oznaujeme
funkciu nadobdajcu hodnotu 0 pre vetky hodnoty x ; S (x ) x 1 je tzv. nsledovnkov funkcia
a sa vol vberov funkcia.
Dencia 1.1 Majme funkcie ; potom
ak plat, e
hovorme, e funkcia je vytvoren z funkci a
kompozciou
Pristpime teraz k dencii schmy primitvnej rekurzie
Dencia 1.2 Majme plne denovan (totlne) funkcie a , potom
ak plat, e
hovorme, e funkcia ,je vytvoren z funkci a
primitvnou rekurziou
Teraz meme denova primitvne - rekurzvnu funkciu
Dencia 1.3 Funkcia je primitvne - rekurzvna funkcia ak me by
vytvoren z funkci alebo pouitm konenho potu aplikci kom-
pozcie a primitvnej rekurzie.
1.2 Modely algoritmov 11
Z dencie kompozcie, primitvnej rekurzie a primitvne - rekurzvnej funkcie plynie, e primitvne -
rekurzvna funkcia je vdy totlna funkcia.
Uvdzame teraz prklady primitvne - rekurzvnych funkci.
Prklad 1.1
1. Set
FUNKCIA SCHMA
2. Set
FUNKCIA SCHMA
3. Exponencilna funkcia
FUNKCIA SCHMA
4. Funkcia Predchodca(Predecessor) -jednotkov dekrement
FUNKCIA SCHMA
_
5. Funkcia nezpornho rozdielu
FUNKCIA SCHMA
6. Funkcia Faktoril
FUNKCIA SCHMA
7. Funkcia
FUNKCIA SCHMA
12 vod do informatiky
8. Funkcia
FUNKCIA SCHMA

(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

Uvaujme v alom niektor abecedu a budeme predpoklada, e symboly abecedy


bud linerne usporiadan tak ako sme ich uviedli pri ich vymenovan vo vyie, t.j. budeme
povaova, e je pred akonhle sa v uvedenom vymenovan vyskytuje pred vo . Tto
skutonos budeme vyjadrova takto: a je to mon aj formlne vyjadri, t.j.
. Dohodneme sa, e plat pre kad prvok . Zaxujeme toto usporiadanie prvkov
abecedy (podobne ako v slovenskej abecede je povaovan za ustlen, e ) a na
jeho zklade denujeme teraz tzv. lexikograck usporiadanie reazcov.
2.1 Jazyky a ich reprezentcie 19
Dencia 2.2 Majme dva reazce a na abecede , t.j. ; potom hovorme, e u je
lexikogracky menie ako v, symbolicky , ak plat e reazce a maj toton predpony dky
a zodpovedajce prvky reazcov a (povedzme) a nasledujce za predponami
a s tak, e ; formlnejie

Vimnime si, e usporiadanie pouit pri tvorbe telefonnho zoznamu je lexikograck usporiadanie.
Prklad 2.3 Nasledujce reazce s lexikogracky usporiadan

2.1.1 Zkladn otzky o formlnych jazykoch


Teria a prax pouvania potaov stavaj pred teriu formlnych jazykov v tom zmysle, ako sme ich
denovali vyie, niekoko fundamentlnych otzok. Je potrebn si uvedomi (vi prklad 2.2), e jazyk
me by konenej, ale aj nekonenej povahy. V prpade konenho jazyka otzka jeho reprezentcie
nepredstavuje vnej problm. Posledn je problmom v prpade, e jazyk je nekonenej povahy. Tieto
otzky je mono sformulova takto:
1. Jestvuje konen reprezentcia nekonench jazykov?
2. Ak povahu maj jazyky s konenou reprezentciou?
3. Existuj jazyky pre ktor nejestvuje konen reprezentcia?
Pod konenou tu rozumieme tak reprezentciu, ktor je konenej povahy, t.j. e zaber konen priestor
(vyaduje naprklad konen pam, d sa vyjadri ako reazec konenej dky).
V alom sa poksime da odpove na tieto 3 otzky. Zatia o prv dve otzky potrebuj k svojmu
zodpovedaniu urit poznatky a vsledky, tretia otzka me by zodpovedan bezprostredne s tm, e
ako pracovnm prijmeme hypotzu o existencii konench reprezentcii jazykov, a k tomu teraz prist-
pime.
V alom sa budeme zaobera otzkou 3 vo vzahu k jazykom nad abecedou , ktor budeme po-
vaova za pevne dan. Predpokladajme, e disponujeme spsobom ako vytvori konen reprezentciu
pre ubovon jazyk nad abecedou , ktor ozname . O predpokladme, e bude reazcom
nad niektorou abecedou , na ktorej je denovan relcia linerneho usporiadania , o alej indukuje
existenciu lexikograckho usporiadania na reazcoch nad abecedou a teda aj nad -konenmi
reprezentciami jazykov nad . Linerne usporiadanie konench reprezentci bude aj linernym uspo-
riadanm jazykov. Inmi slovami povedan, . alej, aby sme zjednoduili
20 Motivan zdroje informatiky
V
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Obrzok 2.1: Konen reperezentcie jazykov - Mylienkov experiment
vklad, budeme jednoducho psa namiesto . Pristpime teraz k mylienkovmu experimentu,
ktor je vyjadren na obrzku 2.1
V tabuke na obr. 2.1 pouit symboly maj nasledujci vznam:
_
Vytvorme teraz nov jazyk vyhovujci podmienke, e slovo bude patri do prve vtedy,
ak ; formlnejie
(2.1)
Poksime sa teraz jazyk zaradi do tabuky na obr. 2.1. Predpokladajme, e jazyk m konen
reprezentciu-povedzme a je teda . Predpolome teraz, e ; poda dencie 2.1
a pretoe mme, e . Formlnejie
(2.2)
Reazec ekvivalenci (2.2) je vlastne sporom a dokazuje, e predpoklad o monosti zaradi do tabuky
jazykov s konenou reprezentciou je nesprvny a je prklad jazyka, pre ktor nejestvuje konen
reprezentcia. Mme teda
Veta 2.1 Existuje aspon jeden jazyk na abecede , pre ktor nejestvuje konen reprezentcia.
Veta 2.1 je vlastne odpoveou na 3. otzku o formlnych jazykoch.
2.1.2 Reprezentcia jazykov procedrami
Majme jazyk (na abecede ), t.j. a predpokladajme, e sme nali procedru s nasledovnmi
vlastnosami:
1. vstupom pre procedru je ubovon reazec na abecede ;
2. procedra je nvod na rozpoznvanie toho, i reazec na vstupe je reazec patriaci do jazyka
;
3. ak je na vstupe reazec , procedra za konen poet krokov (za konen as) rozhodne,
e patr do ;
4. ak procedra m na vstupe reazec , ktor nie je reazcom jazyka , me, ale nemus, za
konen poet krokov (za konen as) rozhodn, e nie je prvkom jazyka
2.1 Jazyky a ich reprezentcie 21
Procedru s uvedenmi vlastnosami budeme povaova za rozpoznva jazyka a oznaova to
. je vo vyie uvedenom zmysle konenou reprezentciou . Spsob reprezentcie jazyka po-
mocou procedry volme reprezentciou jazyka rozpoznvanm. Ako uvidme v alom, existuje
ete in spsob reprezentcie jazyka a tm je reprezentcia jazyka generovanm.
Vrme sa ete k reprezentcii jazyka rozpoznvanm. Vaka poslednej vlastnosti sa me spr-
va na vstupoch nepredvdatene, t.j. naprklad, e nemus vbec skoni a teda me by
nerezultatvnou. Posledn je rozliovacm kritriom pre jazyky. Inmi slovami, jazyky rozliujeme poda
toho, i maj ako svoj rozpoznva iba nerezultatvnu procedru , alebo maj rezultatvnu rozpoz-
nvajcu procedru. Vlastnosou rezultatvnej procedry na rozpoznanie jazyka je, e tak procedra
je povinn na ubovonom vstupnom reazci za konen poet krokov (za konen as) dorui
bu kladn ( ), alebo zporn odpove ( ). Teda rezultatvna procedra na rozpoznanie
jazyka mus ma tieto vlastnosti:
1. vstupom pre procedru je ubovon reazec na abecede ;
2. procedra je nvod na rozpoznvanie toho, i reazec , na vstupe je reazec patriacim do
jazyka ;
3. ak je na vstupe reazec , procedra za konen poet krokov (za konen as) rozhodne,
e patr do ;
4. ak je na vstupe reazec , procedra za konen poet krokov (za konen as) rozhodne,
e nepatr do .
Jazyky je mono charakterizova pomocou ich reprezentantov ako to uvdzaj nasledujce dencie.
Dencia 2.3 Majme jazyk a jeho rozpoznva ; jazyk je rekurzvne-presliten
ak je procedra. Ak je algoritmus (rezultatvna procedra) potom jazyk je rekurzvny.
Procedru budeme znzorova tak, ako je to na obr. 2.2b.
Obrzok 2.2: Reperezentcie jazyka rozpoznvanm R(L) a generovanm G(L)
Reprezentcia jazyka generovanm.
22 Motivan zdroje informatiky
Uvaujme op niektor jazyk a procedru . Budeme hovori, e procedra reprezentuje
generovanm, ak m nasledujce vlastnosti:
1. procedra nem iadny vstup a m iba jeden vstup (obr. 2.2a);
2. procedra generuje na svojom vstupe v ubovonom porad iba reazce patriace do jazyka a
iadne in;
3. niektor reazec me generova aj viackrt;
Pre jazyk procedra s uvedenmi vlastnosami sa bude vola reprezentantom generovanm, alebo
jednoducho genertorom a budeme ju oznaova . Grack reprezentcia je na obr. 2.2a.
Medzi reprezentciami jazykov rozpoznvanm a generovanm existuje tesn vzah, k ustanoveniu kto-
rho teraz pristupujeme.
Vzah medzi reprezentciami jazykov rozpoznvanm a generovanm
Predpokladajme najprv, e pre niektor jazyk mme jeho genertor . V duchu Turing-
Churchovej tzy nie je problm si predstavi pravu genertora tak, aby proces generovania slov
jazyka bol riaden niektorou procedrou, dajme jej meno , ktor na svojom vstupe vydva
hodnotu , ktor je inkrementovanou hodnotou jej vstupnej premennej. Upravme procedru
tak, aby na svojom vstupe, na zklade hodnoty na vstupe procedry , povedzme , vy-
dala reazec jazyka v usporiadan, poda ktorho generuje reazce jazyka . Takto upraven
procedru ozname . Op, s odvolanm sa na Turing-Churchovu tzu nie je ak zostroji rezul-
tatvnu procedru, ktor porovnva a ustanovuje totonos dvoch reazcov na svojom vstupe; ozname
tak procedru . Na zklade procedr vytvorme truktru, ako je uveden
na obrzku 2.3
Obrzok 2.3: Kontrukcia poda
innos procedry prebieha takto: pre hodnotu vyd na svoj vstup reazec , ktor je
reazcom jazyka a je i. reazec v porad, v ktorom generuje reazce . Reazec je vstupom
procedry , spolu s reazcom , prslunos ktorho k jazyku chceme ustanovi. Procedra
za konen as vyd bu odpove

Zno, ak a teda , alebo Nie, ak a teda .


2.1 Jazyky a ich reprezentcie 23
V prpade, e vyd vstup NIE, ktor iniciuje zvenie hodnoty generovanej na vstupe
, ktor je impulzom pre na generovanie novho reazca jazyka , ktor je generovan
v porad ako i+1. reazec a proces sa opakuje. Vimnime si, e usporiadanie procedr na obr. 2.3 je nov
procedra, ktor m sprvanie ako procedra . Skutone, ak reazec potom procedra
vyd ako v porad j. reazec a teda po konenom pote krokov, presnejie po krokoch vyd na vstupe

ZNO o tom potvrdenie, e . Vstup

ZNO procedry je preto stotonen s vsledkom


. Vimnime si vak, e ak reazec procedra obr. 2.3 nikdy neskon a je teda nerezultatvna.
Majme teraz procedru -rozpoznva jazyka . Poksime sa zostroji pre genertor jazyka .
Prv predstava o procedre je na obrzku 2.4
Obrzok 2.4: Kontrukcia poda :intuitvna predstava
Na obr. 2.4 procedra je uren na vytvorenie kpie reazca na svojom vstupe, ktorm je
prve vygenerovan reazec na abecede procedrou , ktor je genertorom jazyka . truktra
obr. 2.4, me by povaovan za procedru avak iba s ruenm obmedzenm. Skutone,
generuje, podobne ako v predolom prpade, iba jeden reazec a to prve ten, ktor poda usporia-
dania vlastnho procedre zodpoved hodnote na vstupe , t.j. hodnote vstupu procedry
INC(i), povedzme, e je to reazec . Reazec je podan na vstup procedry a sasne na
vstup procedry . Ak procedra je povinn za konen as vyda na vstupe
NO o tom informciu, ktor je vstupom pre procedru , ktor vyd kpiu na svoj vstup,
ktor je vlastne vstupom genertora . Vstup

ZNO je zrove aj vstupom pre , ktorej


vstup iniciuje generovanie alieho reazca - vstupu pre . Tento proces, ako aj sprvanie
naej procedry bude prebieha naznaenm spsobom do doby, kedy vy generuje na svojom
vstupe prv tak reazec , ktor nie je reazcom jazyka a na ktorom procedra nem rezul-
tatvne sprvanie a teda me pracova neobmedzene dlho. Vonkaj pozorovate procedry vak nem
nikdy, poas takho sprvania sa procedry istotu, i ide o sprvanie, ktor povedie k vsledku, t.j.
rozpoznaniu testovanho reazca, alebo ide o nerezultatvny proces. Toto predstavuje Achillovu ptu
navrhnutej procedry a spomnan obmedzenie. Musme preto urobi urit pravy navrhnutej kont-
rukcie, aby sme eliminovali tak patolgiu v sprvan. Vchodiskom je zavedenie uritch obmedzen
na prpustn dku vpotu, ktor dovolme procedre pri rozpoznvan aktulneho reazca na jej
vstupe; inmi slovami, pre kad reazec dovolme rozpoznva ho iba urit as, povedzme
asovch jednotiek ( krokov). Ak za tak dobu rozpozn, e COPY vygeneruje na
vstupe a prejdeme na generovanie alieho v porad reazca. V prpade, e sa tak nestane, procedra
prestane pracova nad rozpoznvanm a prejde k rozpoznvaniu novho reazca, povedzme
s novou prpustnou hranicou dky vpotu (procesu rozpoznvania), povedzme . Stratgia bude ma
spech, ak njdeme spsob systematickho prehadvania priestoru dvojc . Ako ukeme
tak systematick spsob sa d njs.
24 Motivan zdroje informatiky
Spomnan systematick spsob je zaloen na existencii 1-1 a na kdovacch zobrazen (bijekcie)
zobrazujcich dvojice prirodzench sel do oboru prirodzench sel, ako kdov takch
dvojc.
Uvaujme zobrazenie
Ozname ; potom nasledujce pravy slia k dosiahnutiu vyjadrenia pre hadan kdovacie
zobrazenie.
(2.3)
Pri alch pravch pouijeme tieto oznaenia: - oznauje najvie cel slo tak, e je menie,
alebo rovn ,a - oznauje najmenie cel slo tak, e je vie, alebo rovn . Nie je ak vidie,
e
(2.4)
Vzah (2.4) vyjadruje ohranienie vrazu zdola. Po uritch vpotoch mono njs aj
ohranienie vrazu zhora
2.1 Jazyky a ich reprezentcie 25
(2.5)
. . . alej mono uskutoni tieto pravy:
(2.6)
Zavedieme si oznaenie
(2.7)
Z nerovnosti ( 2.6) hore plynie, e
(2.8)
Rovnicu (2.3) meme s pouitm oznaenia (2.8) prepsa
(2.9)
Prav stranu (2.9) ozname ako , t.j.
(2.10)
Napokon dostaneme sstavu dvoch rovnc
Rieenie sstavy je
(2.11)
(2.12)
Prav strany (2.11) a (2.12) oznaujme ako , resp. , t.j.
(2.13)
(2.14)
Nie je ak sa presvedi, e zobrazenia s bijektvne zobrazenia. Tabuka na
obr. 2.5 ilustruje povahu uvedench zobrazen
26 Motivan zdroje informatiky
Obrzok 2.5: Kdovacie zobrazenia
Teraz zorganizujeme procedru generovania reazcov jazyka poda obr. ??. Povieme si nieo najprv
o niektorch zlokch truktry na obr. ??.
Nau pozornos si najprv zasluhuj tri komponenty: .
- je genertor jazyka upraven tak, e generuje iba jeden reazec - poda hodnoty vstup-
nej premennej , a je to reazec v lexikograckom usporiadan reazcov na abecede .
- je rozpoznva jazyka , ktor je rozren o mechanizmus riadenia dky vpotov ;
procedra m dovolen vykona najviac krokov pri aktulnom rozpoznvan reazca , pre
.
- je procedra, ktor vykonva dve innosti: inkrementuje hodnotu premennej - kd nie-
ktorej dvojice prirodzench sel a dekdovanie inkrementovanej hodnoty kdu, t.j. vpoet
a , ktor sa stvaj aktulnymi hodnotami premennch a - vstupnch premennch
procedry a .
V zmysle Turing-Churchovej tzy tak procedry existuj a pri poiadan ich vieme formlne opsa
(vyjadri). Navrhnut procedra pracuje takto:
1. inicializujeme ;
2. majme ; najprv inkrementuje , t.j. a vypota aktulne hodnoty a , t.j.
a pre aktulnu hodnotu ;
3. vygeneruje reazec , ktor je vstupom ; procedra m teraz dovolen zaa
rozpoznva , ale tento proces nesmie ma viac ako krokov. Tu mu nasta dve situcie:
procedra rozpozn, e a vyd na vstup (prostrednctvom procedry ),
alebo nedospeje za krokov k vsledku a vtedy je jej innos preruen, dochdza (na zklade
vstupu NIE procedry ) k iniciovaniu procedry .
2.2 Gramatiky a jazyky 27
Obrzok 2.6: Procedra generovania poda
Je jasn, e kad reazec bude rozpoznan procedrou , t.j. bude existova tak dvojica
, e a , kde je poet krokov, ktor potrebuje procedra (a teda aj )
na rozpoznanie reazca . Existencia takej hodnoty je zaruen a plynie z dencie . Bijektvna
povaha kdovacch zobrazen zaruuje poadovan vber pre kad .
2.2 Gramatiky a jazyky
Gramatiky s reprezentanti jazykov generovanm. Pojem formlnej gramatiky, v tom tvare ako ho uve-
dieme niie, je spojen s menom znmeho americkho lingvistu Noama Chomskeho a je zaloen na
koncepcii tzv. prepisovacch systmov americkho matematika E.Posta. Ako u bolo uveden, ide o
vsledky rieenia problmu prekladu prirodzench jazykov, naprklad preklad z anglitiny do sloveniny.
Tento problm nebol (a nie je dodnes) vyrieen, avak pokus o formalizciu tohto problmu priviedol
k vzniku terie prekladu formlnych jazykov, predstavitemi ktorch s programovacie jazyky - Fortran,
Algol, Pascal, C, Ada, ML, Occam atp.
Problm rozkladu vety je nm dverne znmy zo zkladnej koly. Na obr. 2.7 je znzornen rozklad
vety Eva m mamu
Na najvyej rovni je vlastn veta pozostvajca zo slov. Na nasledujcej niej a alch rovniach
sa nachdzaj objekty, ktormi rozliujeme povahu objektov na vyej rovni. Tak pod vlastnou vetou
sa nachdzaj tzv.slovn druhy, pod nimi sa nachdzaj vetn druhy, alej vetn asti, ktor vytvraj
vetu. Objekty, alebo pojmy na vetkch rovniach, okrem najvyej, s uveden v ztvorkach (veta),
zatia o slov vytvrajce vetu s bez ztvoriek. Tmto spsobom sa rozliuj objekty dvoch odlinch
typov: neterminlne symboly - objekty v ztvorkach a terminlne symboly - objekty bez ztvoriek. Proces
vetnho rozkladu na obr. 2.7 meme vyjadri aj inm spsobom, v tvare tzv. produknch pravidiel.
Na najniej rovni je vyjadren to, e veta sa sklad z podmetovej a prsudkovej asti. To sa d
vyjadri takto:
podmetov as prsudkov as (2.15)
Objekt ( 2.15) volme produkn pravidlo, alebo niekedy aj substitun, nahradzovacie, alebo prepi-
28 Motivan zdroje informatiky
Obrzok 2.7: Vetn rozklad
sovacie pravidlo. Kad produkn pravidlo pozostva z troch ast: av as ( ), prav as
( podmetov as prsudkov as ) a symbol , ktor hovor, e av as me by nahraden
pravou asou. Vetn rozklad potom vyjadrme ako mnoinu produknch pravidiel.
podmetov as prsudkov as
podmetov as
prsudkov as prsudok
podstatn meno
prsudok
podstatn meno
podstatn meno
podstatn meno
Substitun pravidl mono poui na generovanie viet (frz). Ukeme to na prklade.
podmetov as prsudkov as
prsudkov as
prsudok
podstatn meno
Ema prsudok
Ema
Ema m
Ema m podstatn meno
Ema m mamu
2.2 Gramatiky a jazyky 29
Spsob, ktorm sme demontrovali pouitie pravidiel sa vol odvodenm; symbol znamen, e ide
o krok odvodenia v ktorom je pouit substitun pravidlo . Teraz meme pristpi k formlnejiemu
popisu gramatk.
2.2.1 Formlne gramatiky
Formlne gramatiky, k dencii ktorch teraz pristpime, s predstavitemi jazykov generovanm. V a-
lom predpokladme existenciu abecedy neterminlovch symbolov - , abecedy terminlovch symbolov
- a potom meme denova formlnu gramatiku takto:
Dencia 2.4 Formlna gramatika je dan 4 - icou
kde:
- je abeceda neterminlovch symbolov
- je abeceda terminlovch symbolov
- je tartovac symbol
- je mnoina substitunch pravidiel , t.j.
je av strana pravidla p
je prav strana pravidla p
Uvaujme dva reazce na abecede ; budeme hovori, e reazec je odvoditen
za jeden krok z reazca , ak plat, e a a gramatika m pravidlo .
Niekedy hovorme, e je odvoditen z za jeden krok pouitm (pomocou) pravidla . Formlne to
budeme vyjadrova takto: (alebo ak je jasn o ktor ide, alebo jednoducho ak je
pravidlo jasn, alebo nepodstatn). O dvoch reazcoch na abecede budeme hovori,
e reazec je odvoditen z reazca , ak plat, e existuje postupnos reazcov
takch, e pre vetky . Symbolicky to zapeme takto: . Budeme v alom
uvaova iba tak odvodenia, ktor zanaj (vychdzaj) zo tartovacieho symbolu . Budeme vola
vetnm tvarom alebo frzou gramatiky kad tak reazec , e plat . Reazec
o ktorom plat, e budeme vola vetou, alebo slovom gramatiky G. Mnoina vetkch
slov gramatiky je jazykom gramatiky , ktor oznaujeme . Formlnejie
Prklad 2.4 Majme gramatiku :
V je platn odvodenie
Vetn tvary gramatiky s:
zatia o je slovom gramatiky a teda .
je zrkadlov obraz reazca
30 Motivan zdroje informatiky
Gramatiky delme poda uritho kritria, ktor je dan vzahmi medzi dkami avch a pravch strn
pravidiel. Konkrtnejie: ak potom medzi avou a pravou stranou pravidla me plati
, alebo . Rozdelenie gramatk uvdza Tabuka 2.1
Tabuka 2.1: Rozdelenie gramatk
Kritrium Typ gramatiky Nzov gramatiky
0-gramatika frzov gramatika
1-gramatika kontextov gramatika
2-gramatika bezkontextov gramatika
pravidl gramatiky
vyhovuj schme:
alebo
pre a
3-gramatika regulrna gramatika
Tabuka 2.1: Rozdelenie gramatk
V prklade 2.4 je bezkontextov gramatika, o om sa itate me jednoducho presvedi.
Budeme hovori, e
Jazyk je frzov ak je 0- gramatika a
Jazyk je kontextov ak je 1-gramatika a
Jazyk je bezkontextov ak je 2-gramatika a
Jazyk je regulrny ak je 3-gramatika a
Z dencie formlnych gramatk a jazykov mme, e ak uvaujeme triedy jazykov nad rovnakou abe-
cedou, povedzme , potom ak ozname triedu jazykov typu nad , potom plat,
.
Nasleduj prklady gramatk. Pri gramatikch pouvame ustlen oznaenia. Neterminlov symboly
oznaujeme vekmi psmenami A, B, S . . ., zatia o terminlov symboly s mal psmen, alebo slice
a,b,c,. . .,0,1,. . .
Gramatika je regulrna gramatika o om sa itate presved na zklade porovnania dencie regu-
lrnych gramatk a tvaru pravidiel gramatiky . Skutone, kad pravidlo vyhovuje schme ,
alebo . Podobne sa od itatea iada uri povahu jazyka , ktor reprezentuje (generuje).
2.2 Gramatiky a jazyky 31
Gramatika je bezkontextov gramatika pretoe av strana kadho pravidla je neterminl a plat,
e prav strana kadho pravidla nie je kratia ako jeho av strana. Podobne sa od itatea iada uri
povahu jazyka , ktor reprezentuje (generuje).
Gramatika je kontextov gramatika, pretoe av strany niektorch pravidiel s reazce obsahujce
viac ne iba neterminl (pravidl ) a plat, e prav strana kadho pravidla nie je kratia
ako jeho av strana. Od itatea sa iada presvedi sa, e .
Vimnime si rozdiely medzi regulrnou ( ), bezkontextovou ( ) a kontextovou ( ). Nzov po-
slednej vyjadruje to, e povaha nahradzovania (substitcie) zvis od okolia (kontextu) nahradzovanej
asti.
Uveden rozdelenie gramatk a jazykov je zkladom pre tzv. Chomskeho hierarchiu jazykov.
Tabuka 4.2.1: Chomskeho hierarchia jazykov (gramatk a automatov)
Jazyky Gramatiky Akceptory In
Typ Nzov Typ Nzov
rekurzvne
nepresliten
- - - -
0 frzov 0 frzov
Turingove
stroje
-
1 kontextov 1 kontextov
Linerne
ohranien
Turingove
stroje
-
2 bezkontextov 2 bezkontextov
Zsobnkov
automaty
-
3 regulrne 3 regulrne
Konen
automaty
Regulrne
vrazy
Tabuka 2.2: Rozdelenie gramatk
32 Motivan zdroje informatiky
2.2.2 Vybran vlastnosti gramatk a jazykov
Zaneme jednou zaujmavou vlastnosou gramatk.
Lemma 2.1 Ku kadej gramatike sa njde gramatika
s vlastnosou, e tartovac symbol sa nebude vyskytova na pravej strane iadneho pravidla v a
.
Majme gramatiku (typ nie je podstatn); poda vytvorme gramatiku
tmto spsobom:
ak je v potom je v
ak je v potom je v
Mme teda, e a .
V gramatike mme nov tartovac symbol, ktor sa nevyskytuje na pravej strane iadneho pravidla
v . Predpokladajme teraz, e mme slovo ; to znamen, e . Posledn odvodenie
bude ma aspon jeden krok a preto ho mono predstavi ako . V prvom kroku tohoto
odvodenia bol uroben prv krok s pouitm pravidla z mnoiny pravidiel gramatiky
. Poda algoritmu kontrukcie gramatiky vak potom v sa nachdza pravidlo , o dovouje
vykona v krok odvodenia . V druhej asti odvodenia slova v sa nevyskytuje a je
realizovan s pouitm pravidiel z , ktor sa vyskytuj aj v , o znamen, e v jestvuje odvodenie
. Toto spolu s prvm krokom dva odvodeneie . Posledn odvodenie ale
dokazuje, e a mme teda, e .
Predpokladajme teraz, e slovo , o znamen, e v mme odvodenie . Tak
ako v predolom prpade, toto odvodenie bude ma aspon jeden krok a preto ho mono predstavi ako
. V prvom kroku tohoto odvodenia bol uroben prv krok s pouitm
pravidla z mnoiny pravidiel gramatiky . Vimnime si, e reazec neobsahuje ,
o implikuje, e v druhej asti odvodenia t.j. v nebude pouit pravidlo s avou stranou
obsahujcou ; posledn znamen, v tejto asti odvodenia bud pouit iba pravidl gramatiky .
Inmi slovami .
Prv krok odvodenia bol vykonan s pouitm pravidla z mnoiny pravidiel . Poda algo-
ritmu kontrukcie gramatiky vak potom v sa nachdza pravidlo , o dovouje vykona v
krok odvodenia . To spolu s predolm zabezpeuje existenciu odvodenia . Znamen to
vak, e a mme teda, e . Spolu s predchdzajcou inklziou
sme teda dokzali , e .
Nasledujci prklad objasuje vsledok uveden v Leme 2.2.2.
2.2 Gramatiky a jazyky 33
Prklad 2.5
Jazyk , o zaruuje Lema 2.2.2. Nie je ako sa presvedi, e .
Vsledok Lemy 2.2.2 nm dva monos zaleova przdny reazec do kontextovch (a tm aj do
bezkontextovch a regulrnych) jazykov, prpadne ho odtia aj odstrni. K tomu aby sme mohli przdny
reazec zaleni do jazyka sta upravi jeho gramatiku tak ako to uvdza Lema 2.2.2. K novej
gramatike pridme jednoducho pravidlo . Naopak, predpokladajme e
mme (kontextov) jazyk s gramatikou a nech obsahuje przdny
reazec . Kee je kontextov gramatika, jedin spsob zalenenia do je prtomnos pravidla
, priom sa nevyskytuje na pravej strane iadneho pravidla. Odstrnenie z vykonme
jednoducho odtrnenm pravidla . Vzniknut takto nov gramatika bude generova teraz jazyk
neobsahujci przdny reazec , t.j. .
Rekurzvnos kontextovch jazykov
vodom pripomenieme, e poda povahy rozpoznvaov jazykov rozliujeme tzv.rekurzvne presliten
alebo rekurzvne jazyky poda toho, i rozpoznva je procedrou alebo algoritmom (v zkom zmysle).
V tejto asti ukeme, e kad kontextov (a teda aj bezkontextov a regulrny) jazyk je rekurzvny.
Inmi slovami, e trieda kontextovch jazykov je triedou rekurzvnych jazykov. Z hadiska praktickho
m tak kontatovanie vny vznam, lebo z neho plynie zver, e pre kad kontextov (a teda aj bez-
kontextov a regulrny) jazyk bude existova rezultatvna procedra jeho rozpoznvania, ktor umouje
kontrukciu prekladaa pre tak jazyk.
Zaneme vahou o povahe vetnch tvarov, ktor je mono odvodi v niektorej kontextovej gramatike
, ktor pre alie ely budeme povaova za pevne dan. Predpokladajme, e mme
postupnos vetnch tvarov ktor s odvoditen v . Inmi slovami povedan nech
(2.16)
V odvoden( 2.16) je v kadom kroku pouit niektor pravidlo gramatiky . Pretoe v kontextovej
gramatike o kadom pravidle plat, e , potom v odvoden ( 2.16) dky vetnch tvarov
vytvraj monotnne neklesajcu postupnos, t.j. pre kad . Na druhej strane
34 Motivan zdroje informatiky
Algoritmus: Rozpoznva kontextovch jazykov
Vstup:
Vstup: no, ak
Nie, ak
Telo algoritmu:
1.krok: Vytvorte
2.krok: Nech
Vytvorte:
3.krok: if then
begin
goto 2.krok
end
else
goto 4.krok
4.krok:
5.krok: if then
else
4.krok: STOP.
Obrzok 2.8: Algoritmus na rzpoznvanie kontextovch jazykov
a je konen mnoina. Pre uritos predpokladajme, e
a uvaujme reazce na abecede . Pre pevne dan mme, e existuje reazcov dky na
abecede . Predstavme si odvodenie v gramatike vetnho tvaru o dke . Tvrdme,
e kad tak vetn tvar mono odvodi niektorm odvodenm, dka ktorho nepresiahne urit hranicu.
Majme teda odvodenie
(2.17)
Nech
(2.18)
bude asou odvodenia ( 2.17) obsahujca iba reazce dky a je prv vetn tvar dky , ktor sa
vyskytuje v ( 2.17). Malo by by jasn, e naavo od sa v ( 2.17) nebude vyskytova iadny reazec
dky a ak z je odvoden vetn tvar dky vej ne potom iadny reazec dky sa nebude
v ( 2.17) nachdza ani napravo od . Predpokladajme na chvu, e dka vybratej asti odvodenia
( 2.18) prevyuje . To ale znamen, e v ( 2.18) vyskytuj dva vetn tvary a a tak,
e a plat, e . Posledn nm umouje skrti as odvodenia ( 2.18) a nahradi ho
kratou asou
(2.19)
Tento postup meme opakova dovtedy pokm as odvodenia ( 2.19) nebude kratia ako .
Skracovanie mono uplatni pre vetky asti odvodenia ( 2.17) pre vetky hodnoty . Vsledn
odvodenie vetnho tvaru potom nepresiahne hranicu

Na tomto poznatku o odvodeniach v kontextovch gramatikch je zaloen algoritmus rozpoznvania


kontextovho jazyka (Obr. 2.8).
Mnoina obsahuje vetky tak vetn tvary, ktor s odvoditen v za najviac krokov a dka
ktorch nepresahuje . Spsob tvorby v 3. kroku je zaloen na opercii (mnoinov zjednotenie),
2.2 Gramatiky a jazyky 35
ktor vyluuje tie vetn tvary, ktor boli odvoden dlhmi odvodeniami ne s tie, ktor produkuj vetn
tvary a s u obsiahnut v .
Dokeme teraz, e navrhnut procedra je rezultatvna. Vimnime si, e pre kad
(2. krok). Pretoe reazcov konenej dky je konene vea a kad vetn tvar mus by odvoden
niektorm odvodenm s potom krokov nepresahujcim urit hranicu, procedra v 2. kroku nm zaru
pre kad vetn s dkou neprevyujcou , e bude v niektorom kroku vygenerovan a bude prvkom
pre niektor . Preverme, e kritrium uplatovan v 3. kroku zaru pri jeho negcii
korektn ukonenie procedry. Skutone, predpokladajme, e tomu tak nie je, t.j. e
nie je vhodnou podmienkou pre ukonenie innosti naej procedry. To znamen, e sa
njde tak index , e bude plati toto:
(2.20)
Reazec rovnost ( 2.20) ale znamen, e v sa njde tak reazec , o ktorom plat, e sa
nevyskytuje v iadnej z naavo sa vyskytujcich mnon v ( 2.20) a . Na druhej strane to znamen,
e v sa njde tak reazec , e . Z ( 2.20) ale okamite mme, e pre kad
, a teda . Posledn implikuje, e , a to je spor s naim predpokladom
a ( 2.20). Uzavierame preto, e je dobr kritrium na ukonenie innosti procedry a tto
vdy skon svoju innos s prslunm vsledkom (5. krok).
Dokzali sme tento vsledok:
Veta 2.2 Kad kontextov jazyk je rekurzvny jazyk, t.j. existuje rezultatvna procedra ako rozpoz-
nva , ktor je mono na zklade kontextovej gramatiky jazyka efektvne zostroji.
Algoritmus m tri parametre: kontextov gramatika
, a . Na obr. 2.9 je grack reprezentcia algoritmu na
rozpoznvanie kontextovch jazykov.
Obrzok 2.9: Rozpoznva kontextovch jazykov
36 Motivan zdroje informatiky
Na ilustrciu algoritmu uvedieme prklad.
Prklad 2.6 Majme gramatiku
G je kontextov gramatika
Reazec testovan na prslunos k L(G):
Realizcia algoritmu:
Vsledok testu na prslunos reazca k jazyku je pozitvny. Tento reazec sa nachdza
v mnoine .

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).

3.5 Analza a syntza ksa


3.5.1 Regulrne vrazy
Stavov diagramy koneno-stavovch akceptorov a sbor pravidiel ubovonej regulrnej gramatiky
(alebo gramatiky samotn) s nepriamymi formami reprezentcie regulrnych jazykov. Vyvstva otzka,
i existuje in - priama forma reprezentcie jazyka a ovem taktie konen. Je vhodn vyjadrova
jazyk explicitne v termnoch jednoduchch mnon reazcov symbolov zo zadanej abecedy. Tento cie
budeme sledova v tejto asti.
V predolch kapitolch sme denovali opercie zreazenia (konkatencie) a tranzitvneho uzveru
mnon a preto poznme, ak zmysel m vraz
Budeme rozliova dve veci:
1. reazec symbolov, ktor vytvra vraz tohto typu sa bude vola regulrnym vrazom; za symboly
povaujeme vetky symboly, t.j. aj (, ),
2. reazec symbolov, ktor vraz tohto typu denuje volme regulrnou mnoinou
Dva rozdielne regulrne vrazy mu urova rovnak regulrnu mnoinu.
Vrazy a opisuj regulrnu mnoinu zloen zo vetkch monch postupnost 0, 1
takch, e 0 a 1 sa v nich prsne striedaj a naviac kad postupnos zana a kon 1.
Pristpime k formlnej dencii regulrnych vrazov.
3.5 Analza a syntza ksa 77
Dencia 3.11 Nech V je konen abeceda a majme mnoinu
_
Regulrnymi vrazmi (r.v.) s reazce z denovan takto:
1. je r.v.
2. je r.v.
3. je r.v.
Nech s r.v., potom
4. ( ) je r.v.
5. ( ) je r.v.
6. je r.v.
Dencia 3.12 Ak je regulrny vraz pre V potom - mnoina, ktor denuje sa vol hodnotou
regulrneho vrazu
1. ak
2. ak s r.v. a A, B zodpovedaj ich hodnoty, potom

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

Ak ale nie je ako ukza, e ak , potom existuje aj in rieenie a to .


Skutone

Z dencie sinu mnon vyplva, e jej prvkami s reazce tak, e .


Ak potom a teda . Kee plat, e
_
a teda je skutone rieenm, ak .
alej budeme predpoklada, e
3.5 Analza a syntza ksa 85
Veta 3.2 Nech P a Q s ubovon dve podmnoiny reazcov v abecede V. Potom

a tieto rieenia s jedin ak .


Dkaz: Dkaz budeme robi pre prpad rovnice

. Druh prpad je analogick.
Vieme u e je rieenie. Predpokladajme, e nie je jedin, a e existuj dve odlin rieenia
To znamen, e

Potom rieenm bude aj





Nech

potom jedna z mnon alebo mus by vlastnou podmnoinou , nech
vytvorme rozdiel
Je jasn, e

Pretoe

je rieenm rovnice

Vytvorme prienik obidvoch strn poslednho vzahu s A




Stade

(3.175)
Nech je najkrat reazec v A, potom poda 3.175.
Teda kde kee je o je protireenie,
pretoe je najkratm reazcom v A. Teda a rieenie je jedinm rieenm
rovnice typu

.
Veta 3.3 Nech M = (Q, S, P, I, F) je koneno-stavovm akceptorom s mnoinou stavov
a nech
_

_ _ _
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

takch tried je konene vea


2 3
Majme R denovan poda M
Denujeme
Nech xRy pretoe L je zjednotenm konenho potu tried tzn.
E je triv. Pi a s Ki
3 1
Majme E piKi
Denujeme M pomocou

_ _
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)



_ _

_

_

vade denovanch ksa


3.5 Analza a syntza ksa 91
1. spsob: cez regulrne vrazy
2. spsob:

i = 1,2


_
_
_
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:

Zobrazenie x, y abecedy je substitciou ak plat:


Substitcia je konen ak je koncov pre .
Vimnime si, e vo veobecnosti je jazyk (a sn aj ne. . .)
je homomorzmus ak plat pre
Teda je homomorzmus, ak je reazec pre .
Budeme oznaova symbolom

Hovorme, e trieda jazykov L na abecede

je uzavret na substitciu ak z toho, e


L plynie L
94 Konen automaty.
Majme . . .:
Tvorba jazyka L je uzavret pod substitciou ak pre ubovon jazyk

z tejto triedy a pre
ubovon substutciu tak, e L pre vetky

plat, e L.
Veta 1: Trieda

je uzavret na substitciu.
D: Majme reg. jazyk

a G = (N, T, P, S) je jeho regulrna gramatika.
Majme substitciu a nech plat, e
_

_
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.

4.2 Bezkontextov gramatiky


V tejto kapitole budeme tudova niektor vybran vlastnosti bezkontextovch gramatk (cfg). Bez-
kontextov gramatiky s gemertormi bezkontextovch jazykov, ktor predstavuj teoretick modely
pre programovacie jazyky. Ukeme, e bezkontextov gramatiky s jazykovo-ekvivalentn zsobnko-
vm automatom. Zaujmavou vlastnosou bezkontextovch gramatk je to, e maj tzv. kanonick
tvary:Chomskeho tvar a Greibachovej tvar. To znamen, e kad cfg me by reprezentovan v
ubovonom z tcto tvarov. V tejto kapitole sa naume ako sa k cfg vytvor prslun kanonick
tvar. Tto as vytvra zkladn predpoklady pre chpanie alch koncepci programovacch technk a
programovacch jazykov (napr. prekladae).
4.2.1 Chomskeho tvar bezkontextovch gramatk.
Bezkontextov gramatiky sme denovali v kapitole 2.2.1. Vieme, e kad cfg
sa vyznauje tm, e jej pravidl maj tvar
110 Zsobnkov automaty a bezkontextov jazyky
G:
Obrzok 4.6: Bezkontextov gramatika v Chomskeho tvare.
kde (4.10)
Ukeme, e je mon naloi urit obmedzenia na tvar pravidiel bezkontextovch gramatk, ktor
pritom zachovvaj triedu jazykov reprezentovanch bezkontextovmi gramatikami.
Majme cfg a nech pravidl maj tvar
alebo (4.11)
kde (4.12)
a
Potom hovorme, e cfg je v Chomskeho tvare. Na obr.(4.6) je uveden prklad cfg v Chomskeho
tvare.
Dokeme, e obmedzenie na pravidl bezkontextovej gramatiky nezniuj vyjadrovaciu silu bezkon-
rextovch gramatk. Inmi slovami ukeme, e plat tento vsledok.
Veta 4.2 Ku kadej bezkontextovej gramatike sa njde bezkontextov gramatika
s vlastnosou, e , t.j. e a s jazykovo-ekvivalentn cfg.
Dkaz: Majme bezkontextov gramatiku , ktor je vo veobecnom tvare, t.j. jej
pravidl maj tvar (4.13)
(4.13)
Cfg vytvorme z nahradenm pravidiel, ktor nevyhovuj
schme (4.11) a (4.12). Budeme predpoklada, e v nebud tzv. neproduktvne pravidl, t.j. pravidl
tvaru
kde
Tak pravidl sa daj z odstrni, bez naruenia jazyka [?] avak tak metda vychdza za
rmec tohoto textu a preto budeme jednoducho pracova s predpokladom, e neproduktvne pravidl sa
v nevyskytuj. Potom pravidl, ktor podliehaj prave na Chomskeho tvar s tak, e
(4.14)
Kad pravidlo (4.14) nahradme mnoinou pravidiel
4.2 Bezkontextov gramatiky 111
.
.
. (4.15)
a navye ak
alebo ak
V (4.15) s zaveden nov neterminlov symboly
a je jasn, e .
Presvedme sa, e pravidl v mnoine (4.15) s pravidl v Chomskeho tvare. Gramatika bude teda
bezkontextovou gramatikou, ak takou je . Zostva ukza, e zaveden nhrada pravidiel cfg v
nemen jazyk , t.j. e .
Je jasn, e mnoina pravidiel (4.15) generuje reazec - prav stranu nahradenho pravidla
. Na druhej strane, kedykovek v cfg je odvoditen z neterminlu reazec
pouitm pravidiel (4.15), vtedy v cfg sa nachdza pravidlo .
Matematickou indukciou poda dky odvoden v dokeme existenciu korepondencie medzi
odvodeniami v a , t.j. e plat
(4.16)
Bza indukcie: n=1 Plat trivilne na zklade algoritmu nahradenia pravidiel cfg poda (4.15).
Hypotza indukcie. Predpokladme, e pre vetky odvodenia v cfg o dke plat
(4.17)
a
Majme odvodenie v cfg o dke
(4.18)
Odvodenie (4.18) mono vyjadri takto
112 Zsobnkov automaty a bezkontextov jazyky
Bezkontextov gramatika Bezkontextov gramatika
vo veobecnom tvare. v Chomskeho tvare.
G: G:
Obrzok 4.7: Kontrukcia cfg v Chomskeho tvare.
kde (4.19)
ak a
ak
Dka odvoden a tak odvodenia vyhovuj hypotze induknho kroku. To
implikuje existenciu odvoden
(4.20)
Prv krok odvodenia (4.19) je vykonan pomocou pravidla cfg . Existencia takho
pravidla v predpoklad, e v je mnoina pravidiel
.
.
. (4.21)
a navye ak
alebo ak
Povedan znamen, e korepondencia (4.16) plat aj pre odvodenia v cfg o dke , t.j.
(4.22)
To znamen, e korepondencia (4.16) plat pre vetky odvodenia v cfg a .
Vyberme niektor reazec . Pre jestvuje v cfg odvodenie . Poda (4.16) v cfg
mme odvodenie , o znamen, e a mme, e . plne analogicky
sa doke, vaka ekvivalencii (4.16), inklzia v opanom smere, t.j. e . Dokzali sme, e
a veta plat.
Na obr.4.6 je uveden prklad kontrukcie cfg v Chomskeho tvare.
Vimnime si, e pravidlo je nahraden pravidlami , pravidlo je nahraden pravidlami
, a pravidl a s nahraden pravidlami a . Neterminl je jednoducho a novm
4.2 Bezkontextov gramatiky 113
neterminlom s priraden pravidl resp. . Gramatika je skutone cfg a je v Chomskeho
tvare. Dkaz vety 4.2.1 zaruuje, e .
4.2.2 Greibachovej tvar bezkontextovch gramatk.
Bezkontextov gramatika je v Greibachovej tvare, ak kad pravidlo m tvar
, kde a . Podobne ako v predolom prpade ukeme, e to-
to obmedzenie na tvar pravidiel bezkontextovch gramatk zachovva triedu jazykov reprezentovanch
bezkontextovmi gramatikami. Naviac ide o kanonick tvar, t.j. pre kad cfg sa njde cfg v
Greibachovej tvare a .
Prv ne pristpime k dkazu kanonickej povahy Greibachovej tvaru cfg, potrebujeme si zavies nieko-
ko pojmov.
Dencia 4.2 Majme cfg a nech je niektor neterminlov symbol ;
hovorme, e
A je avo - rekurzvny symbol prve vtedy ak
A je pravo - rekurzvny symbol prve vtedy ak
A je rekurzvny symbol prve vtedy ak
pre niektor neprzdne reazce .
Majme v pravidl
_
a ;
potom vsledkom transformcie pomocou substitcie v pravidle
je cfg denovan takto:
i. pravidlo nepatr do
ii. vetky ostatn pravidl cfg patria do
iii. kad pravidlo patr do
Majme cfg a odvodenie slova
(4.23)
O odvoden (4.23) hovorme, e je avm odvodenm, ak plat, e v kadom kroku odvodenia je nahradzo-
van najavej neterminlov symbol, t.j.
(4.24)
a
O odvoden (4.23) hovorme, e je minimlnym avm odvodenm, ak je avm odvodenm a neobsahuje
iadne dva rovnak vetn tvary.
O dvoch cfg a hovorme, e s:
114 Zsobnkov automaty a bezkontextov jazyky
Prklad 4.1 Majme gramatiky a . Cfg je zskan z pouitm substitcie avho
neterminlu v pravidle
Obrzok 4.8: Substitcia pravidla v bezkontextovej gramatike.
1. ekvivalentn ( ) ak plat, e ;
2. silne ekvivalentn ( ) ak plat, e a pre kad slovo plat, e im zodpovedajce
minimlne av odvodenia v a s v 1-1 korepondencii
O pravidle cfg hovorme, e je uiton, ak existuje aspo jedno odvodenie niektorho
slova , v ktorom je toto pravidlo pouit, t.j.

Na obr.4.8 je uveden prklad pouitia substitcie v zmysle uvedenej dencie.


Pouitie substitcie zachovva jazyk pvodnej gramatiky [?].
Majme cfg ; bez toho, aby bola poruen veobecnos alch zverov, meme
predpoklada, e neobsahuje neproduktvne a neuiton pravidl a jej pravidl mu ma nasledovn
tvar:
_
_
_
V uvedenej schme pravidiel iba 4.pravidlo nevyhovuje podmienke Greibachovej tvaru pre pravidl
(1. a 2.pravidlo s vnimon, lebo svisia so zaradenm do L(G) (1.pravidlo) a pecilnou povahou
tartovacieho symbolu ).
Uvaujme odvodenie v cfg , v ktorom sa pouvaj iba pravidl 4.typu
(4.25)
Odvodenie (4.25) neme ma neobmedzen dku, ak nem nasta situcia, e niektor neterminl
sa bude opakova, ako najavej symbol (tak najavej symbol zvykneme nazva rukov
vetnho tvaru) aspo v dvoch vetnch tvaroch v (4.25). To by akiste znamenalo, e tak by bol
avo-rekurzvny, t.j.
(4.26)
4.2 Bezkontextov gramatiky 115
a mme, e
(4.27)
V prpade, e nem avo-rekurzvne symboly, odvodenie (4.25) bude produkova vdy niektor vetn
tvar s terminlovou rukovou. V takom prpade sa na (4.25) meme pozera ako na opakovan aplikciu
substitcie neterminlov v pravidlch
.
.
.
o privedie k pravidlm bez neterminlovch rukovt. V prpade, e cfg m avo-rekurzvne symboly,
uveden postup nm neumon odstrni (vetky) pravidl s neterminlovmi rukovami a teda nebude
mon vytvori cfg v Greibachovej tvare silne ekvivalentn s . To znamen, e hlavnm problmom
pri transformcii cfg na Greibachovej tvar je problm odstrnenia avo-rekurzvnych neterminlovch
symbolov.
Skr ne prejdeme k rieeniu problmu odstrnenia avo-rekurzvnych neterminlovch symbolov uve-
dieme na ilustrciu prklad.
Prklad 4.2
Majme cfg , ktor chceme transformova na Greibachovej tvar pouitm substitcie (neavo-rekurzvnych)
neterminlovch symbolov
G:
nem avo-rekurzvne symboly. Teraz aplikujeme substitciu neterminlu v pravidle a ne-
terminlu v pravidle .
pouit
pouit
pouit
pouit
Dostaneme cfg s pravidlami
G:
Nie je ako sa ubezpei, e pravidl a s neuiton pravidl a preto ich jednoducho vyra-
dme a dostaneme (silne ekvivalentn s (ale aj s )) cfg :
116 Zsobnkov automaty a bezkontextov jazyky
V mme dve pravidl, ktor nemaj Greibachovej tvar:
Pouijeme substitciu ete raz
pouit
pouit
pouit
pouit
Napokon sme zskali cfg :
G:
je v Greibachovej tvare. Pouit substitcie, za predpokladu, e iadna z gramatk neobsahuje
pvodne pravidlo, ktor je zskan niektorou nasledujcou substitciou, zaruuj siln ekvivalenciu vy-
tvranch gramatk. a je teda silne ekvivalentn s pvodnou cfg . (Koniec
prkladu.)
V alom budeme potrebova jeden vsledok, ktor teraz uvedieme bez dkazu. itate si tento v-
sledok me bez vch problmov dokza, prpadne sa za dkazom obrti k [?].
Fact 4.1 Majme mnoiny reazcov , kde je niektor abeceda. Potom mnoinov rovnica
(4.28)
m jedin rieenie prve vtedy ak .
Analogicky, mnoinov rovnica
(4.29)
m jedin rieenia prve vtedy ak .
4.2 Bezkontextov gramatiky 117
Fakt (4.1) vyuijeme pri dkaze korektnosti nasledujcej transformcie bezkontextovch gramatk,
ktor riei problm odstrnenia avo-rekurzvnych symbolov.
Lemma 4.1 Majme bezkontextov gramatiku a nech m pravidl
_
_
_
kde .
Nech je gramatika zskan z nahradenm pravidiel (I) mnoinou pravidiel
_

_
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.

Dokeme teraz nasledujcu vetu.


Veta 4.5 Ku kadmu zsobnkovmu automatu sa njde bezkontextov
gramatika s vlastnosou, e
Cfg sa d poda pda efektvne zostroji.
Dkaz: Majme . Pristpime k zostrojeniu cfg
poda nasledujceho algoritmu
Algoritmus cfgpda:
Ak je v bude v
Nemme dostatok priestoru, aby sme podrobne objasnili princpy v pozad tohoto algoritmu. Uvedieme
len, e neterminlom cfg je 3-ica , ktor vyjadruje fakt, e pda v stave nahradil symbol
na vrchole zsobnka (reazcom ) a v stave sa zsobnkov hlava prv raz po vmaze
dostane nad bunku, ktor le bezprostredne pod bunkou, kde sa pvodne nachdzal . Tento pohyb
zsobnkov hlava mus vykona, pretoe pda akceptuje przdnym zsobnkom.
Najprv dokeme existenciu korepondencie medzi vpotami v pda a (avmi) odvodeniami
v cfg , t.j. e plat
(4.49)
4.3 Jazykov ekvivalencia zsobnkovch automatov a bezkontextovch gramatk. 125
Dkaz vedieme matematickou indukciou poda dky vpotov v , ktor
oznaujeme ako .
Bza indukcie. V danom prpade vpoet m jeden krok
(4.50)
V programe pda je intrukcia , o poda algoritmu cfgpda znamen, e cfg m
pravidlo a v mme odvodenie
(4.51)
Zrejme aj naopak, ak mme v odvodenie (4.51), to implikuje existenciu vpotu (4.50).
Hypotza indukcie. Predpokladajme, e plat
(4.52)
Predpokladajme, e mme teraz v vpoet
(4.53)
a (4.53) m krokov.
Vpoet (4.53) meme vyjadri aj takto:
(4.54)
Pretoe pda akceptuje przdnym zsobnkom, meme si akceptovanie v pravej asti (4.54) vyjadri
.
.
. (4.55)
kde a z (4.55) mme, e
(4.56)
Je jasn, e odvodenia (4.56) maj najviac krokov a vyhovuj hypotze induknho kroku(4.52). To
znamen, e v mme
(4.57)
Prv krok vpotu (4.54) predpoklad v programe existenciu intrukcie
(4.58)
Poda algoritmu v cfg bude mnoina pravidiel
(4.59)
Odvodenia (4.57) a (4.59) umouj vytvori odvodenie
(4.60)
Naopak, existencia odvodenia (4.60) bude implikova existenciu vpotu (4.53) v . To znamen, e
hypotza indukcie plat aj pre vpoty dky a teda plat pre vpoty akejkovek dky.
Majme teraz niektor slovo . Potom to znamen, e v mme vpoet
(4.61)
126 Zsobnkov automaty a bezkontextov jazyky
Z existencie korepondencie (4.52) mme, e prve vtedy v cfg bude existova odvodenie
pre niektor (4.62)
Poda algoritmu kontrukcie cfg poda pda - 3.krok ( ) v bude mon
aj krok
o implikuje odvodenie
pre niektor (4.63)
Odvodenie (4.63) znamen, e . Pretoe korepondencia (4.52) je ekvivalencia plat, e
Veta je dokzan.
4.4 Niektor vlastnosti jazykov
V tejto kapitole rozoberieme niektor vybran vlastnosti formlnych jazykov. Vber vlastnosti je tak,
aby objasnil niektor vsledky, ktor s v alom uveden.
4.4.1 Stromy odvodenia v bezkontextovch gramatikch.
Majme cfg a niektor jej odvodenie
(4.64)
Odvodenie (4.64) je mon reprezentova grafovou truktrou, ktor nazvame stromom odvodenia. V-
hodou takej reprezentcie je jej nzornos a z tohoto dvodu sa asto v terii programovania a pecilne
v terii gramatk a formlnych jazykov vyuva.
Dencia 4.4 Majme cfg . Denujeme si strom odvodenia pre cfg takto:
1. je orientovan a oznaen koreov strom, t.j. , kde
- je mnoina vrcholov
- je mnoina hrn
- je kore
- je znakovacie zobrazenie
2. pre kad nelistov vrchol - plat, e (t.j. nelist je oznaen niektorm
neterminlom cfg ),
3. pre kad listov vrchol - plat, e
4. v derivanom strome , ak potom hovorme, je synom , alebo, e je otcom
. Relcia je synom, alebo alternatvne je otcom je reexvna, antisymetrick a tranzitvna.
5. ak s synovia vrchola (obr.4.10) v porad ich vskytu v grafe , potom hovorme,
e je star ako , je star ako at. a je najmlad syn . Niekedy to oznaujeme
takto;
4.4 Niektor vlastnosti jazykov 127
6. relcia star, alebo alternatvne mlad je reexvna, antisymetrick a tranzitvna.
7. Denujeme si tranzitvny uzver relcie by synom a nazveme ju by (priamy) potomok.
vedie cesta z do
kde je tranzitvny uzver relcie ,
8. v derivanch stromoch plat, e ak , to implikuje, e . Inmi
slovami: kad potomok mladieho syna je mlad od ktorhokovek potomka starieho syna
9. ak je v derivanom strome vrchol a jeho synovia usporiadan poda veku s
(vi obr.4.10 b)) a nech alej a je reazec mien synov v danom
usporiadan, potom m pravidlo ,
10. v derivanom strome nech s listy usporiadan poda veku. Potom ak
je reazec mien listov nazvan vsledkom derivanho
stromu , o budeme oznaova ,
11. v cfg meme denova derivan strom pre ubovon neterminl potom ho oznaujeme
. Kore bude oznaen neterminlom
Obrzok 4.10: Derivan strom
O uitonosti derivanch stromov vypoved tento vsledok
Veta 4.6 Majme bezkontextov gramatiku a reazec . Potom plat,
e prve vtedy, ak existuje derivan strom a
Dkaz: ( ) Uvaujme odvodenie v cfg a nech je dka
odvodenia. Dkaz budeme vies matematickou indukciou poda .
Bza indukcie: Odvodenie m jeden krok, o znamen, e v je pravidlo .
Kvli konkrtnosti nech . Potom existuje derivan strom , ktor zodpoved pravidlu
, ako na obr.4.10. Ako je jasn, vsledok je .
128 Zsobnkov automaty a bezkontextov jazyky
Hypotza induknho kroku. Nech pre vetky odvodenia o dke plat, e
existuje pre kad tak odvodenie derivan strom a . Majme teraz odvodenie
(4.65)
a nech odvodenie (4.65) m krokov. V takom prpade odvodenie (4.65) mono vyjadri takto:
(4.66)
Z povahy odvoden v cfg plynie, e vetn tvar
(4.67)
a kad z odvoden (4.67) m najviac krokov a vyhovuje hypotze induknho kroku. To znamen, e
pre kad tak odvodenie (4.67) existuje derivan strom s vsledkom (obr.??
a)).
Na druhej strane prv krok odvodenia (4.66) je uskutonen pouitm pravidla , o
predpoklad, e je mon zostroji derivan strom , ako na obr.?? b). Vsledok je
. Teda hypotza indukcie plat aj pre odvodenia o krokoch a preto veobecne plat,
e
(4.68)
( ) Majme teraz derivan strom a nech poet jeho nelistovch vrcholov je . Dkaz vedieme
op matematickou indukciou poda potu nelistovch vrcholov v .
Bza indukcie: V takom prpade m jedin nelistov vrchol a tm je kore oznaen neter-
minlom (vi obr.??). Kore m synov s oznanm a teda jeho vsledok
. To implikuje, e v cfg mme pravidlo a teda m odvodenie
. Bza je dokzan.
Hypotza induknho kroku: Predpokladajme, e pre vetky derivan stromy pre ubovon neter-
minl o pote nelistovch vrcholov plat, e v cfg existuje odvodenie
Majme teraz derivan strom , ktor m nelistovch vrcholov (vi obr.?? b)), ktor
m vsledok . bude ma aspon jeden nelistov vrchol okrem svojho
korea, ktor je jeho priamy potomok a je koreom derivanho stromu, povedzme , ktor bude
ma poet nelistovch vrcholov a ktor vyhovuje hypotze induknho kroku. Povedzme, e
m takch nelistov oznaench v usporiadan poda veku reazcom (obr.?? b)) a z nich
vychdzajce podstromy s vsledkami (obr.?? b)). Z
hypotzy induknho kroku mme, e
(4.69)
. . . alej, zo truktry mme (obr.?? b)), e m pravidlo , ktor zaruuje
existenciu odvodenia
(4.70)
Odvodenia (4.70) a (4.69) dvaj odvodenie
(4.71)
(4.72)
Dokzali sme, e hypotza induknho kroku plat aj pre derivan stromy o nelistovch vrcholoch
a teda plat veobecne. Veta je dokzan.
4.4 Niektor vlastnosti jazykov 129
4.4.2 Vlastnosti bezkontextovch jazykov.
Hlavnou motivciou pre zaradenie tejto tmy je poskytn poznatky, ktor umouj skmanie jazykov
na prslunos k triede bezkontextovch jazykov.
Zaneme s otzkou: kedy je bezkontextov jazyk nekonen? Alebo alia: ak truktrne vlastnosti
m bezkonen bezkontextov jazyk? Odpove na tieto otzky nm d nasledujca veta.
Veta 4.7 Majme bezkontextov jazyk (c) . Potom
je nekonen jazyk
Dkaz: ( ) Nech je c generovan cfg a plat, e m neterminly a odvodenia
ako v podmienkach vety. Potom v mme odvodenie
(4.73)
Bez jmy na veobecnosti naich zverov predpokladme, e obsahuje iba uiton pravidl a neter-
minly. To znamen, e v bude odvodenie
pre niektor (4.74)
Odvodenia (4.73) a (4.74) dvaj odvodenie
pre niektor (4.75)
Pomocou odvodenia (4.75) meme odvodi nekonen jazyk
(4.76)
a teda jazyk je skutone nekonen jazyk.
( ) Nech je nekonen bezkontextov jazyk a cfg je gramatika, ktor
generuje, t.j. . Pre uritos predpokladajme, e obsahuje neterminlov. Kee je
nekonen jazyk, bude obsahova nekonene vea slov a teda pre ubovone vek prirodzen slo
sa njde v aspo jedno slovo a tak, e . Predpokladajme, e v cfg je
je pravidlo v
Inmi slovami povedan (presnejie ) vyjadruje najv poet symbolov, o ktor sa me rozri
vetn tvar generovan v ktoromkovek kroku odvodenia v . Vyberme si teraz niektor slovo ,
dka ktorho je prinajmenom , kde a nech
(4.77)
je odvodenie v . Poda vety 4.6 pre odvodenie (4.77) sa njde derivan strom s vsledkom
(obr.??). Zvolme si v strome najdlhiu cestu z korea do niektorho listu. Z vlastnosti
cfg a dky slova vyplva, e na takej ceste sa musia vyskytova aspo dva rovnak neterminly. Na
obr.?? s tak neterminly vyznaen ( ), spolu s podstromami pre ktor s tieto neterminly znakami
ich koreov. truktra derivanho stromu nm dva (obr.??)
Veta je dokzan.
Veta4.7 je zkladom pre dkaz vznamnho vsledku, ktor sli ako nstroj na testovanie prslunosti
jazykov k bezkontextovm jazykom.
130 Zsobnkov automaty a bezkontextov jazyky
G:
Obrzok 4.11: Gramatika pre jazyk .
Veta 4.8 (Pumping Lemma resp. uvwxy veta) Majme nekonen bezkontextov jazyk. Potom exis-
tuj tak dve prirodzen sla , e kad slovo s dkou mono predstavi ako
a .
Dkaz: Majme bezkontextov jazyk a je nekonen. Nech alej je cfg a
. Zvome si prirodzen sla , , kde a .
Zvome si teraz slovo a nech . Podobne ako v dkaze vety ?? pre slovo existuje derivan
strom ako na obr. ?? v ktorom sa bude vyskytova aspo jedna cesta z korea do niektorho listu
na ktorej sa vyskytuje prinajmenom jedna dvojica rovnakch neterminlov. Na obr. ?? je vyobrazen
tak cesta pre jednu dvojicu neterminlov . Zo truktry stromu na obr. ?? je zrejm, e rozklad
na p reazcov skutone existuje a teda . Na zvolenej ceste si vyberieme
dvojicu rovnakch neterminlov, ktor je najbliie k listu, o zaruuje, e na seku cesty od hornho
vskytu k listu sa vyskytuje najviac neterminlov. Tak vber vdy existuje. Z obr. ?? plynie, e
. Zo truktry derivanho stromu na obr. ?? mme, e
(4.78)
(4.79)
(4.80)
Odvodenie (4.79) mono zopakova -krt a dostaneme
(4.81)
Zverom dostaneme, e
(4.82)
Na obr. ??b) je derivan strom zodpovedajci odvodeniu (4.82) a teda plat, e
(4.83)
Veta je dokzan.
Veta 4.8 je efektvny nstroj na zisovanie prslunosti jazykov k triede bezkontextovch jazykov.
Pristpime k ilustrcii tohoto tvrdenia.
Prklad 4.6
Majme jazyk . Je jasn, e je nekonen jazyk, avak zatia vieme iba, e je to
kontextov jazk. Gramatika pre je na obr. 4.11 Predpokladajme na chvu, e je bezkontextov
jazyk. Jazyk spa podmienky vety 4.8. Nech je cfg a .
Vyberieme si teraz slovo , ktor vyhovuje podmienke vety 4.8. Potom mus existova rozklad
na p reazcov, t.j. . Pretoe je z mus plati, e
pre niektor
4.4 Niektor vlastnosti jazykov 131
Urobme priradenie dvoch tvarov reazca
. . . . . . . . ..
(4.84)
In zpis (4.84) je
.. . . . . . . ..
(4.85)
Poda vety 4.8 aj reazce pre akkovek musia patri do . Zvome si a
vytvorme na zklade rozkladu (4.85).
(4.86)
Tvar a kontatovanie v (4.86) privdzaj k sporu spredpokladom, e je bezkontextov jazyk.
Jazyk nepatr do triedy bezkontextovch jazykov. (Koniec prkladu.)

132 Zsobnkov automaty a bezkontextov jazyky


Kapitola 5
ZBYTOK
5.1 Uzverov vlastnosti

.
.
.

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

- vstupn abeceda T.s.



- poiaton stav
- mnoina nlovch stavov.
228
Budeme predpoklada, e bude nedenovan pre vetky

.
Kongurciu M budeme reprezentova reazcom
5.1 Uzverov vlastnosti 147
kde
Vznam trojice ilustruje obr.47
Obrzok
Obr.47
Ak
Je reprezentcia monch pohybov M vyjadren postupnosou prslunch kongurci a ,
potom bude existova rieenie ku niektormu MPCP. Prslun reazce rieenie MPCP bud ma svojimi
predponami reazce
# je nov symbol, ktor nepatr ani K, ani .
In povedan, pre kad T.s. M je mon skontruova MPCP.
Ukeme ako sa to d urobi.
229
Predpokladme, e mme dan T.s. M a slovo W:
Zoznamy budeme vytvra bez ohadu na indexy, ktor tu nie s podstatn. Ukeme prv pr slov
v zoznamoch A a B. Ostatn pry sa tvoria v slade s denciou M a prslunou prpustnou
postupnosou kongurci.
Zoznam A Zoznam B
kritrium
Prv pr (i=1) #
1. skupina: X
#
X
#
Pre
2. skupina Ak
3. skupina
4. skupina
O dvojici slov (x, y) budeme hovori, e je iastonm rieenm MPCP pre T.s. M a slovo W (skrtene
MPCP(M, W) alebo pre zoznamy A, B dan tabukou (MPCP(A, B)) ak plat, e:
1) x je preponou y, t.j.
2) x, y s zreazenm zodpovedajcich si prvkov
230
zoznamov A a B.
3) ak xz=y , potom z je zbytkom (x, y)
Predpokladajme teraz, e M m postupnos pohybov v kongurcii (alebo vi obr. 47)
148 ZBYTOK
a iadny zo stavov
nepatr do F.
Potom tvrdme, e existuje iaston rieenie
Pre T.s. M a slov W.
Naviac je mon ukza, e je to jedin iaston rieenie, ktorho dlh reazec z (x, y) je tak dlh
ako . Vimnime si, e T.s. M je deterministick. ( je funkcia)
Ukeme, e tvrdenie plat, indukciou poda K. Tvrdenie plat trivilne pre K = 0, pretoe prvou
dvojicou je a pretoe je to MPCP(A, B) plat, e
(Hypotza induknho kroku): predpokladajme, e tvrdenie plat pre niektor K a .
Teda
a
231
(poda tabuky zoznamov A, B (1.skupina, 2. skupina) dostvame
)
Poda tabuky zoznamov A, B dostvame
kde
Teda existuje iaston rieenie aj pre K+1 a tvrdenie plat. Jedinenos rieenia vyplva z toho, e v
kongurcii je dosiahnuten najviac jedna kongurcia .
Ak potom nie je ako vidie, e s pouitm tabuky zoznamov A, B (1., 3. a 4. skupina) je
mon skontruova (doplni) (x, y) na (x, y) tak e zbytok (x, y) bude przdny a teda (x, y)
bude rieenm MPCP (M,W)
Teda, MPCP (M, W) m rieenie ak T.s. M so vstupom W dosiahne nlovej kongurcie. Naopak,
ak tejto kongurcie nedosiahne, potom ubovon iaston rieenie bude ma neprzdny zbytok.
Na tomto zklade meme urobi zver, e MPCP (M, W) m rieenie vtedy a len vtedy ak M zastav
na vstupnom W. V dsledku ubovonosti vberu M a W je tento problm algiritmicky rozhodnuten
5.1 Uzverov vlastnosti 149
232
vtedy ak by bol rozhodnuten problm zastavenia Turingovch strojov. Preto MPCP je algoritmicky
nerozhodnuten a aj PCP je algoritmicky nerozhodnuten (veta 1)
Veta je dokzan.
Rieenie problmov bezkontextovch gramatk.
V tejto asti preilustrujeme techniku pouitia PCP k rieeniu niektorch zvanch problmov bez-
kontextovch gramatk.
Ukeme, podobne ako tomu bolo v predolom prpade, akm spsobom je mon PCP reprezentova
v termnoch bezkontextovch gramatk. Potom konkrtny problm bezkontextovch gramatk sa vyjadr
ako PCP. Na tomto princpe budeme mc rozhodn o tom, i konkrtny problm je algoritmicky
rozhodnuten.
Majme dva zoznamy A, B z abecedy . Nech
je mnoina K rozlinch symbolov ktor nepatria do T.
Denujme si dve gramatiky:
kde

233
:mnoinu pravidiel typu
:mnoinu pravidiel typu
Ozname si
Nie je ak ukza, e
Veta 3: Je algoritmicky nerozhodnuten, i prienik dvoch ubovonch bezkontextovch jazykov je
przdny.
Dokaz: Majme jazyky . Ak by bol algoritmicky rozhodnuten problm, i
potom by bol algotilmicky rozhodnuten aj PCP. Veta je dokzan
150 ZBYTOK
Majme zoznamy A, B ako predtm nad T a . Nech c je symbol, ktor nepatr K ani
T.
Ozname si jazyky.
s deterministick jazyky. Mme teda algoritmus, ako njs jazyk
je bezkontextov.
Veta 4: vtedy a len vtedy ak PCP (A,B) nem iadne rieenie.
Dkaz: Vimnime si, e
vtedy a len vtedy ak
Predpokladajme, e PCP (A,B) m rieenie. Potom mus existova rezec
a teda
Naopak, predpokladajme, e . Vezmime reazec ; x mus ma tvar
, kde y patr do .
Teda PCP (A, B) m rieenie.
Dsledok vety 4: Je algoritmicky nerozhodnuten, i ubovon bezkontextov gramatika generuje
mnoinu vetkch reazcov svojej terminlovej abecedy.
235
Veta 5: Je algoritmicky nerozhodnuten, i ubovon bezkontextov gramatika G a ubovon regu-
lrna mnoina R spaj tieto podmienky:
1. L(G) = R
2.
3.
Dkaz: Nech , t.j. a A, B s zoznamy. Polome
Potom (??), (??) a (??) s pravdiv vtedy a len vtedy ak PCP (A,B) nem iadne rieenie.
Veta 6: Pre ubovon dve bezkontextov gramatiky je algoritmicky nerozhodnuten i:
1. je bezkontextov jazyk
2. je bezkontextov jazyk
3. je regulrna mnoina
5.1 Uzverov vlastnosti 151
Dkaz: 1. Nech s bezkontextov gramatiky, ktor generuj zodpoveda-
jco. je przdny vtedy a len vtedy ak PCP (A, B) nem iadne rieenie. Je mon
ukza, e je bezkontextov vtedy a len vtedy ak je przdny. Teda bezkontextov povaha
jazyka je algoritmicky nerozhodnuten pre ubovon A, B.
Je je triv. d.
Naopak: nech je neprzdny d; potom pre ubovon reazec je
problm alg. rozhodnuten
to je ale spor, pretoe PCP je alg. nerozhodnuten a preto je d iba ak je .
236
2. Nech . je bezkontextov vtedy a len vtedy, ak , t.j. prpad PCP (A,
B) nem iadne rieenie,
3. nech . je regulrny vtedy a len vtedy ak
Veta 7: Problm nejednoznanosti ubovonej bezkontextovej gramatiky je algoritmicky nerozhodnu-
ten.
Dkaz: Majme zoznamy
nad abecedou T. Predpokladajme, e
Majme bezkontextov gramatiku
a P obsahuje pravidl :
a pre
G generuje jazyk .
Je ahk ukza, e G je nejednoznan vtedy a len vtedy ak .
Pretoe posledn problm je algoritmicky nerozhodnuten veta plat.
237
Zverom uvdzame vsledky tdia algoritmickej rozhodnutenosti problmov terie jazykov.
152 ZBYTOK
GRAMATIKY (JAZYKY)
Problm Regulrne LR(K) (de-
terministick)
Bezkon-
textov
Kontextov 0 - typ
1. Je L(G) przdny? ko-
nen ? nekonen?
R 1) R R N N
2.

R R N N N
3. R ? N N N
4. R N N N N
5. Je

przdny? konen ?
nekonen?
R N N N N
6. Je L(G) = R, R je uri-
t reg. mnoina.
R R N N N
7. Je L(G) regulrna? T R

8. Je prienik dvoch jazy-
kov jednho typu ten
ist typ?
T N N T T
9. Je doplnok ku jazyku
danho typu ten ist
typ?
T T N Selepcie
?
T
10. Je zreazenie dvoch ja-
zykov jednho typu ten
ist typ?
T N T T T
11. Je zjednotenie dvoch
jazykov jednho typu
ten ist typ?
T N T T T
1)
R rozhodnuten
N nerozhodnuten
T trivilne jasn
- terminlov abeceda gramatiky
? odpove nie je znma
V zvere uvedieme v tvare tabuky

You might also like