Hertentamen Automaten & Complexiteit Vrije Universiteit, 10 juni 2015, 18:30-21:15
(Dit tentamen bestaat uit in totaal 90 punten; iedere student krijgt 10 punten bonus.)
(Bij dit tentamen mogen kopie¨en van de slides worden gebruikt, zonder handgeschreven aantekeningen.
Het tekstboek van Linz en laptop mogen niet worden gebruikt!)
1. Zij L de taal van alle strings over {0, 1} die geen substring 01 of 10 bevatten.
(a) Geef de minimale dfa die L accepteert. (6 ptn) (b) Construeer uit deze dfa een reguliere expressie die L beschrijft.
(Geef alle stappen van de constructie!) (12 ptn)
2. Ga met behulp van het string matching algoritme na of baabbabaab een substring bevat die in L((bb + ab)∗aa) zit.
(Beschrijf de gehele constructie: de bijbehorende nfa, en de on-the-fly constructie
van de bijbehorende dfa.) (12 ptn)
3. Zij gegeven de volgende contextvrije grammatica G:
S → AAA | BAB | B | λ A → AB | BA | a
B → BA | b
(a) Verwijder de λ-productie en de unit-productie, en reduceer de grammatica
vervolgens naar Chomsky normaalvorm. (7 ptn)
(b) Bereken met behulp van het CYK algoritme of ababb in L(G) zit. (10 ptn)
4. Beschouw de taal L = {anbm | n, m ≥ 0, n 6= m}.
(a) Geef een nondeterministische pushdown automaat die L accepteert. (10 ptn)
(b) Is L deterministisch contextvrij? (7 ptn)
5. Geef een context-sensitieve grammatica voor de taal {ww | w ∈ {a, b}+}
(12 ptn)
6. Zij f : {0, 1}2 → {0, 1}2 als volgt gedefinieerd:
f (00) = f (10) = 00 f (01) = f (11) = 01
Pas het algoritme van Simon toe om een lineaire afhankelijkheid te bepalen voor de digits van s = 10. (Geef een mogelijk scenario.) (14 ptn)