Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Podobné dokumenty
Microsoft Word - 6 Výrazy a vzorce.doc

Microsoft Word - skripta3b.doc

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Poznámky k cvičeniu č. 2

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

Microsoft Word - Transparencies03.doc

B5.indd

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

Dirichletov princíp 4. kapitola. Kódovanie In: Lev Bukovský (author); Igor Kluvánek (author): Dirichletov princíp. (Slovak). Praha: Mladá fronta, 1969

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

Klasická metóda CPM

1

Prenosový kanál a jeho kapacita

Obsah 1 Úvod Predhovor Sylaby a literatúra Grupy a podgrupy 4 2

Microsoft Word - Argumentation_presentation.doc

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

SK MATEMATICKÁOLYMPIÁDA skmo.sk 63. ročník Matematickej olympiády 2013/2014 Riešenia úloh česko-poľsko-slovenského stretnutia 1. Dokážte, že kladné re

Obsah 1 Úvod Predhovor Sylaby a literatúra Základné označenia

1-INF-155 Algebra 2 Martin Sleziak 10. februára 2013

Obsah 1 Úvod Predhovor Sylaby a literatúra Základné označenia

Metódy násobenie v stredoveku

Microsoft Word - mnohouholnik.doc

Informačné technológie

Microsoft Word - Zaver.pisomka_januar2010.doc

Paralelné algoritmy, cast c. 2

Axióma výberu

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

(ıkolské kolo-PYT)

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník Matematickej olympiády Riešenia úloh IMO 1. Určte všetky funkcie f: R R také, že rovnosť f ( x y

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

N desitka.indd

Funkcie viac premenných

Operačná analýza 2

Microsoft Word - 8.cvicenie.doc

FAQ

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

Snímka 1

Zoznamové farbenia grafov

M59dkZ9ri10

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Katedra informatiky PLATNOSŤ BERGE-FULKERSONOVEJ HYPOTÉZY PRE ŠPECIÁLNE TR

Ďalšie vlastnosti goniometrických funkcií

O babirusách

Zdravé sebavedomie odzrkadľuje spôsob, akým vidíme sami seba. Ak sa chceme stať sebavedomejšími ľuďmi, musíme zmeniť to, čo si myslíme sami o sebe, ak

9.1 MOMENTY ZOTRVACNOSTI \(KVADRATICKÉ MOMENTY\) A DEVIACNÝ MOMENT PRIEREZU

Relačné a logické bázy dát

História

SK MATEMATICKÁOLYMPIÁDA skmo.sk 64. ročník Matematickej olympiády 2014/2015 Riešenia úloh domáceho kola kategórie Z8 1. Písmenkový logik je hra pre dv

Podvojné účtovníctvo, fakturácia a sklad Evidencia a zápočet daňovej licencie v DPPO 2018 Od je daňová licencia zrušená. Podľa prechodného us

Matematika 2 - cast: Funkcia viac premenných

Microsoft Word - Diskusia11.doc

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

SK MATEMATICKÁOLYMPIÁDA skmo.sk 66. ročník Matematickej olympiády 2016/2017 Riešenia úloh domáceho kola kategórie Z9 1. Vo všetkých deviatich políčkac

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

Teória pravdepodobnosti Zákony velkých císel

Oceňovanie amerických opcií p. 1/17 Oceňovanie amerických opcií Beáta Stehlíková Finančné deriváty, FMFI UK Bratislava

Siete vytvorené z korelácií casových radov

V jedinej lekcii Meno: 1 Ako reagujete na profesionálne médiá? Pracujte vo dvojiciach a pripravte sa na hranie rolí. Označte sa ako Osoba A a Osoba B.

Dokonalé a spriatelené čísla 3. kapitola. Pojem hustoty množiny v teorii čísel a dokonalé čísla In: Tibor Šalát (author): Dokonalé a spriatelené čísla

iot business hub whitepaper isdd_em_New.pdf

Snímka 1

(Manu\341l)

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Paralelné algoritmy, cast c. 3

trafo

INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

gazdikova

Zbierka úloh KMS 1. až 5. ročník ( ) Ondrej Budáč, Tomáš Jurík, Ján Mazák

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

Pokrocilé programovanie XI - Diagonalizácia matíc

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

Microsoft Word - typ_S_1_Priklad.doc

Rozvojom spoločnosti najmä v druhej polovici minulého storočia dochádza čím ďalej tým viac k zásahu človeka do životného prostredia

Manuál uchádzača ezakazky Manuál uchádzača Dátum vytvorenia dokumentu: Verzia: Autori slovenský Matej Marcin, Stanislava Marošiová Te

Import absencí z ASC

Jadrova fyzika - Bc.

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.:

Microsoft Word - prirucka_katedry_nova

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

2-UMA-115 Teória množín Martin Sleziak 21. októbra 2010

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

Stravné - přecenění

1

Meno: Škola: Ekonomická olympiáda 2017/2018 Test krajského kola SÚŤAŽ REALIZUJE PARTNERI PROJEKTU

MoTiV Project University Science Park Univerzitná 8215/1, Žilina, Slovakia Manuál k používaniu aplikácie Woorti Horizon 2020 European Union Fun

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Národné centrum popularizácie vedy a techniky v spoločnosti

Mechanizmus skupiny EIB na vybavovanie sťažností

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

MEN Kvapka informácií pre chlapcov

Prepis:

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, pričom to je veľmi dôležitá súčasť úlohy. Body sa udeľovali nasledovne: 2 body za správne definovaný konečný automat (či už nakreslený, alebo definovaný pomocou množín a δ funkcie) 3 body som dával za správne definované množiny Kl[q i ] Bonus 1 bod som udeľoval ak niekto formálne definoval správne skoro všetky množiny Kl[q i ] (jedna z množím mohla byť chybná) 5 bodov som dával za správny dôkaz Uvedené počty bodov boli maximálne, ak sa niekde vyskytla chyba, tak sa body strhávali. Riešenie Automat Vzorový automat M = (Q, {a, b, c}, δ, q 0, {Q F }) má 5 stavov Q = {q 0, q c, q ca, q cac, q F }. Jeho delta funkcia je nasledovná: δ(q 0, x) = q 0, x {a, b} δ(q 0, c) = q c δ(q c, a) = q ca δ(q c, b) = q 0 δ(q c, c) = q c δ(q ca, a) = q 0 δ(q ca, b) = q 0 δ(q ca, c) = q cac δ(q cac, a) = q ca POZOR! Toto mala väčšina zle! δ(q cac, b) = q F δ(q cac, c) = q c δ(q F, x) = q F, x {a, b, c} Všimnite si označený riadok. Veľa z Vás totiž spravilo taký automat, ktorý načítal cac a potom keď mal na vstupe a tak šiel do počiatočného stavu. To je zle, lebo ak po cac príde a, tak to znamená, že reťazec končí na ca a teda chceme byť v stave q ca. Množiny Kl[q i ] Teraz uvediem niekoľko správnych definícii (za ľubovoľnú z nich by ste dostali plný počet bodov). Potom uvediem niektoré nesprávne riešenia tejto podúlohy a vysvetlím čo je na nich zle. 1

Správne: Prvé riešenie za 3 body. KL[q 0 ] = L = {u u neobsahuje cacb a nemá sufix c alebo ca} KL[q c ] = {u u neobsahuje cacb a má sufix c a nemá sufix cac} KL[q ca ] = {u u neobsahuje cacb a má sufix ca} KL[q cac ] = {u u neobsahuje cacb a má sufix cac} KL[q F ] = {u u obsahuje cacb} Iné riešenie za 4 body (3 body za správnosť + bonus). Kl[q F ] = L = {u u = xcacby, x, y Σ } Kl[q cac ] = {ucac u Σ, u / L} Kl[q ca ] = {uca u Σ, u / L} Kl[q c ] = {uc u Σ, u / L, ( x Σ )u xca} Kl[q 0 ] = {u u / L, ( x Σ )(u xc u xca)} = Σ Kl[q c ] Kl[q ca ] Kl[q F ] Poslednú definíciu množiny Kl[q 0 ] sme uviedli v dvoch tvaroch. Obidva sú správne. Všimnite si, že druhý tvar použil predchádzajúce množiny. Toto môžete spraviť, ale musíte si dať pozor, aby ste v definíciach nemali cyklus, čo sa niekoľkým z Vás podarilo. Nesprávne riešenie: Kl[q 0 ] = Kl[q 0 ] {a, b} Kl[q c ]b Kl[q ca ] {a, b} Kl[q c ] = Kl[q 0 ]c Kl[q c ]c Kl[q c ac]c Kl[q ca ] = Kl[q c ]a Kl[q c ac]a Kl[q cac ] = Kl[q ca ]c Kl[q F ] = Kl[q cac ] Kl[q F ] {a, b, c} Problém takéhoto riešenia je, že množiny Kl[q 0 ] a Kl[q c ] a Kl[q F ] sú definované pomocou samého seba. Vieme z toho popisu povedať, ktoré slová do tých množín patria? Aj keby sme sa zbavili tohto, tak tam ostane ďalší cyklus. Preto ak chcete definovať jednu množinu pomocou druhej, tak si dajte pozor, aby ste v definíciach nemali cyklus. Rada: keď napíčete posisy množín Kl[q i ], tak si skontrolujte, či je každá dvojica z nich disjunktná (majú prázdny prienik) a či ich zjednotenie dáva Σ. Ak nie, tak môžete z určitosťou poveda5, že niekde máte chybu. Dôkaz V prvom rade si treba uvedomiť, čo treba dokázať: Treba dokázať, že automat M akceptuje jazyk L (L M = L). Treba dokázať, že popisy Kl[q i ] sú správne. To znamená, že ak Kl [q F ] = {u u = xcacby, x, y Σ } Kl [q cac ] = {ucac u Σ, u / L} Kl [q ca ] = {uca u Σ, u / L} Kl [q c ] = {uc u Σ, u / L, ( x Σ )u xca} Kl [q 0 ] = {u u / L, ( x Σ )(u xc u xca)} tak Kl[q i ] = {u ˆδ(q 0, u) = q i } = Kl [q i ] (prvá rovnosť je definícia množiny Kl[q i ]). 2

Všimnite si, že Kl[q F ] = L M a zároveň Kl [q F ] = L čo znamená, že ak dokážeme druhé tvrdenie, tak tým zároveň dokážeme aj prvé tvrdenie. Nech k je množina slov nad abecedou σ a M n (k) je funkcia definovaná nasledovne: M n (k) = {u u k, u = n} Inými slovami iba zoberieme všetky slová dĺžky n. Aby sme dokázali požadované (druhé) tvrdenie, ukážeme indukciou nasledovné tvrdenie: pre všetky prirodzené čísla n platí M n (Kl[q i ]) = M n (Kl [q i ]), q i Q 1. Nech n = 0. Kl [q 0 ] = {λ}, Kl [q i ] =, q i Q, q i q 0 Keďže ˆδ(q 0, λ) = q 0, tak tvrdenie platí. 2. Predpokladajme, že tvrdenie platí pre n. Zoberme slovo u Σ, u = n + 1. Ukážeme že nech ˆδ(q 0, u) = q i. Ukážeme, že u M n+1 (Kl [q i ]), čím ukážeme že Kl[q i ] Kl [q i ]. Keďže to ukážeme pre každé u, tak Kl[q i ] = Kl [q i ]. Slovo u si rozdelíme na dve časti: u = xy, kde x = n a y Σ. Zoberme si stav q = ˆδ(q 0, x). Z definície Kl vieme, že slovo u patrí do Kl[q i ], kde q i = δ(q, y). Ukážeme, že u patrí do Kl [q i ]. Rozoberieme všetky prípady, čomu sa môže rovnať q. q = q 0 Máme dve možnosti pre y: y {a, b}. Z definície vieme, že xy Kl[q 0 ]. Z indukčného predpokladu vieme, že x Kl [q 0 ]. Keďže x nekončí na c, ca a neobsahuje cacb, tak ani xy nebude končiť na c, ca a ani nebude obsahovať cacb. Preto xy Kl [q 0 ]. y = c. Z definície vieme že xy Kl[q c ]. Z indukčného predpokladu vieme, že x Kl [q 0 ]. To znamená, že x neobsahuje cacb, nekončí na c, ca ani cac. To znamená, že ak za neho pridáme c, tak bude končiť na c a nie na cac a preto xy Kl [q c ]. q = q c Máme tri možnosti pre y: y = a. Z definície vieme, že xy Kl[q ca ]. Z indukčného predpokladu vieme, že x Kl [q c ]. To znamená, že x neobsahuje cacb a končí na c a nekončí na cac. Ak za x pridáme znak a, tak potom xa končí na ca, neobsahuje cacb a teda xy Kl [q ca ]. y = b. Z definície vieme, že xy Kl[q 0 ]. Z indukčného predpokladu vieme, že x Kl [q c ]. To znamená, že x neobsahuje cacb, končí na c a nekončí na cac. Ak za x pridáme znak b, tak xb nekončí na c, ca, cac a ani neobsahuje cacb a preto xy Kl [q 0 ]. y = c. Z definície vieme, že xy Kl[q c ]. Z indukčného predpokladu vieme, že x Kl [q c ]. To znamená, že x neobsahuje cacb a končí na c ale nekončí na cac. Takže xc nebude stále obsahovať cacb, nebude končiť na cac a bude končiť na c. To znamená, že xy Kl [q c ]. q = q ca Máme dve možnosti pre y: y {a, b}. Z definície vieme, že xy Kl[q 0 ]. Z indukčného predpokladu vieme, že x Kl [q ca ]. To znamená, že x neobsahuje cacb a končí na ca. Preto xy, y {a, b} nebude stále obsahovať cacb a nebude končiť na c, ca ani cac. Preto xy Kl [q 0 ]. y = c. Z definície vieme, že xy Kl[q cac. Z indukčného predpokladu vieme, že x Kl [q ca ]. Preto x neobsahuje cacb, končí na ca. Ak pridáme c, tak xc končí na cac a stále neobsahuje cacb. To znamená, že xy Kl [q cac ]. q = q cac. Máme tri možnosti pre y: y = a. Z definície vieme, že xy Kl[q ca. Z indukčného predpokladu vieme, že x Kl [q cac ]. To znamená, že x neobsahuje cacb a končí na cac. Ak pridáme znak a, dostaneme reťazec xy končiaci na caca čo znamená že končí na ca. xy neobsahuje cacb (ak by obsahovalo, tak by x muselo obsahovať cacb) a preto xy Kl [q ca ]. 3

y = b. Z definície vieme, že xy Kl[q F ]. Z indukčného predpokladu vieme, že x Kl [q cac ]. To znamená, že x neobsahuje cacb a končí na cac. Ak pridáme b, tak x bude končiť na cacb (čiže už obsahuje cacb) a preto xy Kl [q F ]. y = c. Z definície vieme, že xy Kl[q c ]. Z indukčného predpokladu vieme, že x Kl [q cac ]. To znamená, že x neobsahuje cacb a končí na cac. Ak pridáme znak c, xy stále nebude obsahovať cacb a bude končiť na cacc, čiže spĺňa podmienky pre množinu Kl [q c ] a teda môžeme napísať xy Kl [q c ]. q = q F. Pre ľubovoľné y, q F = δ(q, y), čiže xy Kl[q F ]. Ak x obsahuje cacb ako podslovo, tak potom aj xy obsahuje cacb ako podslovo a preto xy Kl [q F ]. Dokázali sme si, že pre všetky prirodzené čísla n platí M n (Kl[q i ]) = M n (Kl [q i ]), q i Q. Z toho už priamo vyplýva, že Kl[q i ] = Kl [q i ], q i Q. Vzorové riešenia úlohy 4.2 a) Automat môže vyzerať napríklad takto: Pechodová funkcia vyzerá nasledovne: M 1 = (K, Σ, δ, q 0, F ) K = {q 0, q 1, q 2, q 3, q 4, q 5 } Σ = {0, 1} F = {q 4 } δ(q 0, 1) = q 1 δ(q 1, 1) = q 5 δ(q 2, 1) = q 3 δ(q 3, 1) = q 5 δ(q 4, 1) = q 4 δ(q 0, 0) = q 5 δ(q 1, 0) = q 2 δ(q 2, 0) = q 5 δ(q 3, 0) = q 4 δ(q 4, 0) = q 4 δ(q 5, 1) = q 5 δ(q 5, 0) = q 5 Potom pre konečný automat M 1 platí: KL[q 0 ] = {λ} KL[q 1 ] = {1} KL[q 2 ] = {10} KL[q 3 ] = {101} KL[q 4 ] = {1010}{0, 1} KL[q 5 ] = {0, 11, 100, 1011}{0, 1} } Teraz ešte musíme dokázať, že automat akceptuje jazyk L 1. Dokážeme to indukciou cez dĺžku slova. Báza: Zoberme si slová dlžky najviac 4. Jediné takéto slovo, ktoré automat M 1 akceptuje je 1010 a je to zároveň jediné slovo, ktoré patrí do jazyka L 1. Teda automat M 1 akceptuje slová dĺžky najviac 4 práve vtedy keď patria do jazyka L 1. P (i) P (i + 1): Zoberme si slovo w 1 dĺžky i. Nech automat toto slovo neakceptuje(akceptuje), teda po prečítaní tohoto slova sa nachádza v stave q 5 (q 4 ). Podľa indukčného predpokladu slovo w 1 nemá(má) prefix 1010 a teda ani(aj) po pridaní jedného znaku nebude(bude) mať prefix 1010. Takisto automat po prečítaní ďalšieho znaku sa zo stavu q 5 (q 4 ) nedostane. 4

b) Automat môže vyzerať napríklad takto: M 1 = (K, Σ, δ, q 0, F ) K = {q 0, q 1, q 2 } Σ = {0, 1} F = {q 2 } Pechodová funkcia vyzerá nasledovne: δ(q 0, 1) = q 0 δ(q 0, 0) = q 1 δ(q 1, 1) = q 0 δ(q 1, 0) = q 2 δ(q 2, 1) = q 2 δ(q 2, 0) = q 2 Potom pre konečný automat M 2 platí: KL[q 0 ] = {1, 01} KL[q 1 ] = {1, 01} {0} KL[q 2 ] = {0, 1} {00}{0, 1} Teraz ešte musíme dokázať, že automat akceptuje jazyk L 2. Dokážeme to indukciou cez dĺžku slova. Báza: Zoberme si slová dĺžky najviac 2. Jediné takéto slovo, ktoré automat M 2 akceptuje je 00 a je to zároveň jediné slovo, ktoré patrí do jazyka L 2. Teda automat M 2 akceptuje slová dĺžky najviac 2 práve vtedy keď patria do jazyka L 2. P (i) P (i + 1): Zoberme si slovo w 1 dĺžky i. Nech toto slovo obsahuje podslovo 00. Potom po pridaní jedného znaku bude patriť do jazyka L 2 a aj automat M 2 ho bude akceptovať. Zoberme si slovo w 2 dĺžky i. Nech toto slovo neobsahuje podslovo 00 a má sufix 0. Potom sa automat po prečítaní tohoto slova nachádza v stave q 1. Slovo w 2 1 nepatrí do jazyka L 2 a takisto δ(q 1, 1) = q 0, teda automat M 2 neakceptuje slovo w 2 1. Slovo w 2 0 patrí do jazyka L 2 a takisto δ(q 1, 0) = q 2, teda automat M 2 neakceptuje slovo w 2 0. Zoberme si slovo w 3 dĺžky i. Nech toto slovo neobsahuje podslovo 00 a má sufix 1. Potom sa automat po prečítaní tohoto slova nachádza v stave q 0. Slová w 3 1 a w 3 0 nepatria do jazyka L 2 a takisto δ(q 0, 1) = q 0 a δ(q 0, 0) = q 1, teda automat M 2 neakceptuje slová w 3 1 a w 3 0. c) Automat môže vyzerať napríklad takto: M 3 = (K, Σ, δ, q 0, F ) K = {q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 } Σ = {0, 1} F = {q 6 } 5

Prechodová funkcia vyzerá nasledovne: δ(q 0, 1) = q 1 δ(q 0, 0) = q 5 δ(q 1, 1) = q 3 δ(q 1, 0) = q 5 δ(q 2, 1) = q 3 δ(q 2, 0) = q 5 δ(q 3, 1) = q 5 δ(q 3, 0) = q 4 δ(q 4, 1) = q 7 δ(q 4, 0) = q 6 δ(q 5, 1) = q 5 δ(q 5, 0) = q 5 δ(q 6, 1) = q 6 δ(q 6, 0) = q 6 δ(q 7, 1) = q 7 δ(q 7, 0) = q 4 Potom pre konečný automat M 3 platí: KL[q 0 ] = {λ} KL[q 1 ] = {1} KL[q 2 ] = {10} KL[q 3 ] = {101} KL[q 4 ] = {1010}{1 + 0} KL[q 5 ] = {0x, 11x, 100x, 1011x x {0, 1} } KL[q 6 ] = {1010}{1 + 0} {0}{0, 1} KL[q 7 ] = {1010}{1 + 0} {1} + Teraz ešte musíme dokázať, že automat akceptuje jazyk L 3 = L 1 L 2. Dokážeme to indukciou cez dĺžku slova. Báza: Zoberme si slová dĺžky najviac 5. Jediné takéto slovo, ktoré automat M 3 akceptuje je 10100 a je to zároveň jediné slovo, ktoré patrí do jazyka L 3. Teda automat M 3 akceptuje slová dĺžky najviac 5 práve vtedy keď patria do jazyka L 3. P (i) P (i + 1): Zoberme si slovo w 1 dĺžky i. Nech automat toto slovo akceptuje, teda po prečítaní tohoto slova sa nachádza v stave q 6. Podľa indukčného predpokladu slovo w 1 má prefix 1010 a obsahuje podslovo 00. Teda slová w 1 1 aj w 1 0 patria do jazyka L 3. Takisto δ(q 6, 1) = q 6 a δ(q 6, 0) = q 6, teda automat M 3 akceptuje slová w 1 1 a w 1 0. Zoberme si slovo w 2 dĺžky i. Nech w 2 KL[4]. Potom w 2 1 L 3 a δ(q 4, 1) = q 7, teda M 3 neakceptuje w 2 1. Podobne w 2 0 L 3 a δ(q 4, 0) = q 6, teda M 3 akceptuje w 2 1. Zoberme si slovo w 3 dĺžky i. Nech w 3 (KL[0] KL[1] KL[2] KL[3] KL[5] KL[7]). Potom w 3 1 L 3 a w 3 0 L 3. Takisto zo stavov q 0, q 1, q 2, q 3, q 5, q 7 sa automat M 3 nedostane do akceptačného stavu. Teda M 3 neakceptuje slová w 3 1 a w 3 0. Časté chyby: Až na pár výnimiek nikto neuviedol dôkaz ekvivalencie jazyka a navrhnutého automatu. Niektorí ste zabudli napísať, ktorý stav je pre automat akceptačný. Vzorové riešenia úlohy 4.3 Zadanie: Koľko existuje jazykov nad abecedou {a, b}, ktoré dokáže rozpoznať konečný automat s dvoma stavmi? Riešenie: Ak máme daný počet stavov a abecedu konečného automatu, jednotlivé KA sa od seba môžu líšiť iba prechodovou funkciou a množinou akceptujúcich stavov. Prechodovú funkciu možno zadať 2 4 = 16 rôznymi spôsobmi (δ(q 0, a) = q 0 alebo q 1?, δ(q 0, b) = q 0 alebo q 1?, δ(q 1, a) = q 0 alebo q 1?, δ(q 1, b) = q 0 alebo q 1?). Akceptujúce stavy možno vybrať 4 rôznymi spôsobmi (žiaden, q 0, q 1, obidva). Môžeme teda vytvoriť 16 4 = 64 rôznych automatov. 6

Dva rôzne automaty však môžu rozpoznávať rovnaký jazyk, a našou úlohou je zistiť počet jazykov, nie automatov. Napríklad ak automat nemá ani jeden akceptujúci stav, potom nebude akceptovať žiadne slovo a nezáleží na tom, akú má prechodovú funkciu. Dokonca ani automat s akceptujúcim stavom q 1 nebude akceptovať žiadne slovo, ak δ(q 0, a) = δ(q 0, b) = q 0. Podobne automat s oboma akceptujúcimi stavmi bude akceptovať každé slovo; rovnako ako automat s akceptujúcim stavom q 0, kde δ(q 0, a) = δ(q 0, b) = q 0. L 1 = žiadne slovo L 2 = {Σ } všetky slová Pri hľadaní ďalších jazykov môžeme vychádzať z predpokladu, že automat má práve jeden akceptačný stav, a že aspoň jedna z hodnôt δ(q 0, a) a δ(q 0, b) sa rovná q 1. Máme teda dve možnosti pri výbere akceptujúceho stavu, tri možnosti pri výbere δ(q 0, a) a δ(q 0, b), a štyri možnosti pri výbere δ(q 1, a) a δ(q 1, b). To je spolu 2 3 4 = 24 rôznych automatov. Viacerí riešitelia uviedli číslo 24 ako výslednú hodnotu a zabudli pripočítať dva horeuvedené jazyky. (Niektorí riešitelia pripočítali iba jeden jazyk, zrejme v domnienke, že prázdny jazyk alebo automat bez akceptujúcich stavov nemožno považovať za riešenie.) Správna hodnota je teda 26 a aj to len za predpokladu, že žiadne dva z týchto nových 24 automatov nerozoznávajú rovnaký jazyk. Dôkaz rôznosti týchto ďalších jazykov možno urobiť napríklad hrubou silou; stačí do každého z nich dosadiť slová {λ, a, b, aa, ab, ba, bb} a ukáže sa, že každý z automatov akceptuje inú podmnožinu tejto množiny. Toto dosadzovanie môžeme nahradiť aj vhodnou logickou úvahou. Pre zaujímavosť, tu sú uvedené ďalšie jazyky rozoznateľné konečným automatom s dvoma stavmi. Pri všetkých vzorcoch predpokladáme n 0; podobne pri slovnom popise výraz párny počet zahŕňa aj nulu. Zápis {w? } znamená {λ, w}. L 3 = {λ} prázdne slovo L 4 = {Σ + } neprázdne slová L 5 = {Σ aσ } slová obsahujúce a L 6 = {Σ bσ } slová obsahujúce b L 7 = {b } slová neobsahujúce a L 8 = {a } slová neobsahujúce b L 9 = {Σ a} slová končiace na a L 10 = {Σ b} slová končiace na b L 11 = {λ, Σ b} slová nekončiace na a L 12 = {λ, Σ a} slová nekončiace na b L 13 = {Σ 2n } slová párnej dĺžky L 14 = {Σ 2n+1 } slová nepárnej dĺžky L 15 = {(b a) 2n b } slová obsahujúce párny počet a L 16 = {(a b) 2n a } slová obsahujúce párny počet b L 17 = {(b a) 2n+1 b } slová obsahujúce nepárny počet a L 18 = {(a b) 2+n a } slová obsahujúce nepárny počet b L 19 = {(Σ b)? a 2n } slová končiace párnym počtom a L 20 = {(Σ a)? b 2n } slová končiace párnym počtom b L 21 = {(Σ b)? a 2n+1 } slová končiace nepárnym počtom a L 22 = {(Σ a)? b 2n+1 } slová končiace nepárnym počtom b L 23 = {{λ, (Σ b)? a 2n+1 } slová končiace nepárnym počtom a, plus prázdne slovo L 24 = {{λ, (Σ a)? b 2n+1 } slová končiace nepárnym počtom b, plus prázdne slovo L 25 = {Σ ba 2n } neprázdne slová končiace párnym počtom a L 26 = {Σ ab 2n } neprázdne slová končiace párnym počtom b 7