5. séria domácich úloh
Pokiaľ nie je povedané ináč, všetky jazyky, gramatiky a automaty v zadaniach
sú všeobecné (t.j. môžu byť ľubovoľné). Pokiaľ bola odprednášaná štandardná
konštrukcia, používajte ju! V opačnom prípade musíte zdôvodniť správnosť
svojej konštrukcie. V zadaní úlohy, ktorú chcete odovzdať ako "veľkú"
prezentáciu si prípadné slovo zdôvodnite nahraďte slovom dokážte.
Znakom C označujeme cent a znakom S dolár.
-
Zostrojte automat čo najjednoduchšieho typu (konečný, zásobníkový, LBA, TS), ktorý pre
daný vstup v abecede {0,1,#} zistí, či je to "naozajstný" kód TS.
-
Pre daný orientovaný graf X nech kód grafu <X> je postupnosť tvaru
0i11j10i21j2...0in1jn,
kde ik,jk>=1, pričom (i1,j1),
(i2,j2),...,(in,jn) je množina orientovaných hrán
grafu X a i1,j1,...,in,jn sú čísla vrcholov.
Zostrojte TS pre jazyk
LCYK={ < X > | X je graf obsahujúci cyklus}.
-
Pre daný orientovaný graf X nech kód grafu <X> je postupnosť tvaru
0i11j10i21j2...0in1jn,
kde ik,jk>=1, pričom (i1,j1),
(i2,j2),...,(in,jn) je množina orientovaných hrán
grafu X a i1,j1,...,in,jn sú čísla vrcholov.
Zostrojte TS pre jazyk
LHAM={ <X> | X obsahuje Hamiltonovský cyklus}
(Môžete predpokladať, že v grafe X neexistujú izolované vrcholy, t.j., číslo každého vrcholu
sa v kóde grafu X vyskytuje.)
-
Zostrojte TS, ktorý bude pracovať takto:
Ak na vstupe dostane kód TS <A> (zapísaný v abecede {0,1,#}), tak ho pretransformuje
na kód TS <A'>, ktorý z ľubovoľného vstupu w urobí 1w a na tomto novom vstupe začne pracovať ako A.
-
Zostrojte TS, ktorý na vstupe tvaru ai1bai2b...ainb
vyznačí niektorý úsek s maximálnym počtom a-čok.
Teda ak ik je maximalne spomedzi i1,...,in, tak TS na pásku zapíše slovo
ai1bai2b ...
aik-1bcikbaik+1b ...
ainb a skončí.
- Zostrojte LBA pre jazyk
L={ai1bai2b...ainb |
ij>=1, pričom pre nejaké navzájom rôzne j,k platí, že ij=ik}.
Platí L patrí do LCS-LCF?
- Zostrojte automat čo najjednoduchšieho typu pre jazyk L={u#vR | u |-A v},
kde A je daný TS. (Zápis u |-A v značí, že slová u a v s v
relácii kroku odvodenia TS A.)