Informatik A

Werbung
Teillösungen zum 3. Aufgabenblatt zur Vorlesung
Informatik A
(Autor:F.Hoffmann)
1. Kanonische DNF und KNF
Die Boolesche Funktion f : B3 −→ B nimmt für ein Tupel (b1 , b2 , b3 ) genau dann den
Wert 1 an, wenn die Ungleichungen b1 ≤ b2 ≤ b3 erfüllt sind.
Erzeugen Sie die zugehörigen kanonischen KNF und DNF.Benutzen Sie als Variablenmenge V = {x1 , x2 , x3 }. Leiten Sie aus der kanonischen DNF eine möglichst einfache,
semantisch äquivalente DNF ab!
Lösung: Die Wertetabelle der Funktion f ist
b1 b2 b3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
f (b1 , b2 , b3 )
1
1
0
1
0
0
0
1
Die kanonische DNF, abgeleitet aus dem Urbild der 1, ist:
dnf (f ) = (¬x1 ∧ ¬x2 ∧ ¬x3 ) ∨ (¬x1 ∧ ¬x2 ∧ x3 ) ∨ (¬x1 ∧ x2 ∧ x3 ) ∨ (x1 ∧ x2 ∧ x3 )
Die beiden ersten bzw. letzten Minterme lassen sich zusammenfassen und wir erhalten
folgende semantisch äquivalente DNF:
t = (¬x1 ∧ ¬x2 ) ∨ (x2 ∧ x3 )
Die kanonische KNF, abgeleitet aus dem Urbild der 0, ist:
knf (f ) = (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ∨ ¬x3 ) ∧ (¬x1 ∨ ¬x2 ∨ x3 )
2. Resolution wurde korrigiert
Lösen Sie die folgenden zwei Fragen durch Verwendung des Resolutionskalküls.
a) Ist der folgende Term erfüllbar?
(x1 ∨ x2 ) ∧ (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x2 ∨ x3 ) ∧ ¬x3
b) Ist der folgende Term eine Tautologie?
(x1 ∧ x2 ∧ x3 ) ∨ (x1 ∧ ¬x3 ) ∨ (¬x1 ∧ x3 ) ∨ ¬x2
3. Prädikatenlogik
Dies ist die Lieblingseröffnungsfrage von Prof. A. in mündlichen Prüfungen:
Die Goldbachsche Vermutung lautet:
Jede gerade natürliche Zahl größer als 2 ist die Summe von 2 Primzahlen.“
”
Formulieren Sie dies als mathematische Aussage mit Quantoren (Prädikatenlogische
Formel). Sie können dabei ein Prädikat isPrim(n) benutzen, das genau dann wahr ist,
wenn n Primzahl ist, und das Prädikat isEven(n), das angibt, ob n gerade ist.
Lösung:
∀n ∈ N : (n > 2 ∧ isEven(n)) ⇒ (∃p, q ∈ N : n = p + q ∧ isPrim(p) ∧ isPrim(q))
4. Vollständige Induktion (6 Punkte)
Beweisen Sie die folgenden Aussagen mit vollständiger Induktion:
(a) Für jede natürliche Zahl n ist (n3 + 2n) durch 3 teilbar.
Beweis: (mit vollständiger Induktion nach n)
Induktionsanfang: Die Aussage P (n) : “Für jede natürliche Zahl n ist (n3 + 2n)
durch 3 teilbar” ist richtig für n = 0, denn 3 · 0 = 0
Induktionsschritt: Wir zeigen, dass die Implikation P (n) ⇒ P (n + 1) für jedes n
richtig ist.
Nehmen wir an, dass P (n) gilt.
(n + 1)3 + 2(n + 1) = n3 + 3n2 + 3n + 1 + 2n + 2 = n3 + 2n + 3(n + 1)
Nach Annahme ist n3 + 2n durch 3 teilbar und damit auch obige Summe. Also ist
die Implikation P (n) ⇒ P (n + 1) wahr.
Nach dem Prinzip der vollständigen Induktion gilt damit die Aussage für alle
natürlichen Zahlen.
(b) Für jede natürliche Zahl n ≥ 1 gilt:
12 − 22 + 32 − . . . + (−1)n−1 n2 = (−1)n−1
n(n + 1)
2
Beweis: (mit vollständiger Induktion nach n)
Sei P (n) die Aussage 12 − 22 + 32 − . . . + (−1)n−1 n2 = (−1)n−1 n(n+1)
.
2
1(1+1)
2
1−1
Induktionsanfang: Für n = 1 ist P (1) richtig, denn 1 = (−1)
=1
2
Induktionsschritt: Wir zeigen, dass die Implikation P (n) ⇒ P (n + 1) für jedes
n ≥ 1 richtig ist. Nehmen wir an, P (n) gilt.Dann ist unter dieser Vorraussetzung
12 − 22 + 32 − . . . + (−1)n−1 n2 + (−1)n (n + 1)2 = (−1)n−1
n(n + 1)
+ (−1)n (n + 1)2
2
Dies können wir umformen:
+ 1)
n(n + 1) 2(n + 1)2
n
2
n
(−1)
+ (−1) (n + 1) = (−1) (−1)
+
=
2
2
2
2
(n + 1)(n + 2)
n n + 3n + 2
= (−1)
= (−1)n
2
2
Mithin folgt die Richtigkeit von P (n + 1).Nach dem Prinzip der vollständigen
Induktion gilt damit die Aussage für alle natürlichen Zahlen > 0.
n−1 n(n
Herunterladen