Theoretische Informatik und Logik — VU 4.0 VO-Prüfung Kennzahl Matrikelnummer WS 2007 5. Mai 2008 Familienname Vorname Lösung Gruppe A 1.) Sei L = {a, b, c}∗ − {abb}∗ {ab}. a) Konstruieren Sie einen deterministischen endlichen Automaten (DEA), der L̄ (d.h., das Komplement von L) akzeptiert. (7 Punkte) Lösung: L̄ = {abb}∗ {ab}. Demnach erhalten wir folgenden DEA: l m 6A a - m B b b - j m C b) Geben Sie eine reguläre Grammatik an, die L̄ erzeugt. (5 Punkte) Lösung: G = h{A, B, C}, {a, b}, P, Ai wobei P = {A ⇒ aB, B ⇒ bC, C ⇒ bA | ε} 2.) Beweisen Sie, dass die Sprache L = {an b5k−3 cn | n ≥ 0, k ≥ 1} nicht regulär ist. Lösung: Beweis indirekt. Angenommen, die Sprache L = {an b5k−3 cn | n ≥ 0, k ≥ 1} ist regulär. Sei dann h der Homomorphismus mit h : {a, b, c}∗ → {a, b}∗ sowie h(a) = a, h(b) = ε, h(c) = b Da die Familie der regulären Sprachen gegenüber beliebigen Homomorphismen abgeschlossen ist, müsste auch h({an b5k−3 cn | n ≥ 0, k ≥ 1}) = {an bn | n ≥ 0} regulär sein, was aber nicht der Fall ist (siehe z.B. Skriptum, Beispiel 1.42). Widerspruch! Somit kann auch L nicht regulär sein. (11 Punkte) 3.) Kreuzen Sie bei jeder der folgenden Aussagen an, ob sie richtig oder falsch ist. Es ist keine Begründung notwendig. Hat ein Minimalautomat n Zustände, so gibt es einen äquivalenten DEA mit n − 1 Zuständen. Richtig 2 Falsch × 2 Jede reguläre Sprache ist auch kontextfrei. Richtig × 2 Falsch 2 Die von G = h{S}, {a}, {S ⇒ aS | ε}, Si erzeugte Sprache ist rekursiv aufzählbar. Richtig × 2 Falsch 2 Alle Sprachfamilien der Chomsky-Hierarchie sind gegenüber Durchschnitt abgeschlossen. Richtig 2 Falsch × 2 Die Vereinigung unendlich vieler regulärer Mengen ist wieder regulär. Richtig 2 Falsch × 2 Das Halteproblem für Turingmaschinen ist unentscheidbar. Richtig × 2 Falsch 2 Jede richtige Antwort zählt +2 Punkte, jede falsche −2 Punkte, fehlende Antworten 0 Punkte. Negative Summen werden auf 0 aufgerundet, d.h., negative Punkte übertragen sich nicht auf andere Beispiele. (12 Punkte) 4.) Beweisen Sie bzw widerlegen Sie die Gültigkeit der aussagenlogischen Formel ¬[((A ⊃ B) ∧ (A ⊃ C)) ∧ (A ∧ (¬B ∨ ¬C))] im Tableaukalkül. Lösung: (1) f : ¬[((A ⊃ B) ∧ (A ⊃ C)) ∧ (A ∧ (¬B ∨ ¬C))] Annahme (2) t: ((A ⊃ B) ∧ (A ⊃ C)) ∧ (A ∧ (¬B ∨ ¬C)) von (1) (3) t: (A ⊃ B) ∧ (A ⊃ C) von (2) (4) t: A ∧ (¬B ∨ ¬C) von (2) (5) t: A ⊃ B von (3) (6) t: A ⊃ C von (3) (7) t: A von (4) (8) t: ¬B ∨ ¬C von (4) (9) f : A von (5) (10) t: B von (5) Wid. (7) (9) (11) t: ¬B von (8) (12) t: ¬C von (8) (13) f : B von (11) (14) f : C von (12) Wid. (10), (13) (15) f : A von (6) (16) t: C von (6) Wid. (7), (15) Wid. (14), (16) Da das Tableau geschlossen ist, ist die Formel gültig. (11 Punkte) 5.) Beweisen Sie die Gültigkeit der prädikatenlogischen Formel (∀y)[(P (y, y) ∧ (∀x)(P (y, x) ⊃ P (y, f (x)))) ⊃ P (y, f (f (y)))] im Resolutionskalkül. Lösung: Wir setzen F = (∀y)[(P (y, y) ∧ (∀x)(P (y, x) ⊃ P (y, f (x)))) ⊃ P (y, f (f (y)))]. Um F im Resolutionskalkül zu beweisen müssen wir erst ¬F in eine Klauselform S transformieren und dann S mittels REsolution widerlegen. Wir beginnen mit der Transformation von ¬F in Negationsnormalform: G: (∃y)[P (y, y) ∧ (∀x)(¬P (y, x) ∨ P (y, f (x)))) ∧ ¬P (y, f (f (y)))]. Die Skolemform von G ist G0 : P (c, c) ∧ (∀x)(¬P (c, x) ∨ P (c, f (x)))) ∧ ¬P (c, f (f (c))). Die Klauselform von G0 ist schließlich: S: {{P (c, c)}, {¬P (c, x), P (c, f (x))}, {¬P (c, f (f (c)))}}. Die folgende Ableitung ist eine Resolutionswiederlegung von S: {¬P (c, f (f (c)))} {¬P (c, x), P (c, f (x))} {P (c, c)} σ1 {P (c, f (c))} {¬P (c, x), P (c, f (x))} σ2 {P (c, f (f (c)))} σ3 {} dabei gilt σ1 = {x ← c}, σ2 = {x ← f (c)}, σ3 = ∅. (12 Punkte) 6.) Kreuzen Sie bei jeder der folgenden Aussagen an, ob sie richtig oder falsch ist. Es ist keine Begründung notwendig. Wenn A und B erfüllbar sind dann ist A ∨ B gültig. Richtig 2 Falsch × 2 Es gibt ein A sodass A und ¬A beide erfüllbar sind. Richtig × 2 Falsch 2 (∃x)P (x) ⊃ Q(a) folgt logisch aus (∀y)(P (y) ⊃ Q(a)). Richtig × 2 Falsch 2 Die Formel (∃x)(∀y)(P (x) ⊃ P (y)) ist gültig. Richtig × 2 Falsch 2 Die Terme g(x, f (x), z) und g(z, u, f (u)) sind unifizierbar. Richtig 2 Falsch × 2 Für alle Substitutionen σ, τ gilt σ ◦ τ = τ ◦ σ. Richtig 2 Falsch × 2 Jede richtige Antwort zählt +2 Punkte, jede falsche −2 Punkte, fehlende Antworten 0 Punkte. Negative Summen werden auf 0 aufgerundet, d.h., negative Punkte übertragen sich nicht auf andere Beispiele. (12 Punkte)