Dr. Christian Săcărea “Babeş–Bolyai” Universität, Cluj-Napoca Fachbereich Mathematik und Informatik Wintersemester 2016/2017 Lösungshinweise zur 1. Übung Logik für Informatiker Gruppenübungen: (G 1)Induktion Behauptung: Wenn sich unter n Tieren ein Elefant befindet, sind alle n Tiere Elefanten. “Beweis”: Wir wenden die Methode der vollständigen Induktion an. Für den Induktionsanfang betrachten wir den Fall n = 1: Ist in einer Menge von einem Tier ein Elefant enthalten, so sind alle Tiere der Menge Elefanten. Dies ist offensichtlich wahr. Als Induktionsannahme nehmen wir an, dass die Behauptung für alle natürlichen Zahlen kleiner n+1 bereits bewiesen sei. Wir müssen nun zeigen, dass die Aussage dann auch für n+1 zutrifft. Gegeben sei also eine Menge von n + 1 Tieren, unter denen sich ein Elefant befindet. Wir stellen die Tiere in einer Reihe auf, so dass der Elefant vorne als erstes in der Reihe steht. Dann nehmen wir das letzte Tier der Reihe beiseite. Es bleiben also n Tiere stehen, von denen eines, nämlich das erste, ein Elefant ist. Da nach Induktionsannahme unsere Behauptung für n Tiere gilt, sind alle diese n Tiere Elefanten. Nun nehmen wir einen dieser n Elefanten beiseite, und stellen stattdessen das Tier wieder dazu, das wir zuerst weggenommen hatten. Wieder stehen nun n Tiere da, von denen, wie wir gerade gezeigt haben, alle bis auf höchstens eines, Elefanten sind. Insbesondere enthält diese Menge von n Tieren einen Elefanten, also sind wiederum nach Induktionsannahme alle Tiere Elefanten, auch das Tier, das zuerst ausgesondert wurde. Ist die Behauptung tatsächlich wahr oder ist an diesem Induktionsbeweis etwas faul? Lösung: Der Fehler des Beweises steht im Induktionsschluss: Die Argumentation ist nur dann möglich, wenn n ≥ 2 gilt. Für n = 1 funktioniert der Schritt auf n + 1 = 2 dagegen nicht. Stellen wir zwei Tiere in einer Reihe auf, sodass der Elefant vorne steht und führen dann das letzte Tier weg, dann bleibt trivialerweise nur ein Elefant stehen. Im zweiten Schritt wird jetzt aber der Elefant weggeführt und es bleibt nur das zweite Tier stehen, von dem wir nicht wissen, ob es ein Elefant ist. Das Problem liegt also darin, dass sich die Menge der ersten n und die Menge der letzten n Tiere für n = 1 nicht überschneiden. Der Induktionsbeweis müsste also mit einem Induktionsbeginn für n = 2 anfangen. Dummerweise ist der Satz aber für n = 2 bereits falsch. (G 2)Induktion Eine Folge a0 , a1 , . . . von natürlichen Zahlen sei wie folgt definiert: a0 , a1 , a2 = 1, . . . , an = 1 a + 32 an−2 + 21 an−1 für n ≥ 3. 2 n−3 Zeigen Sie, dass für alle n ∈ N gilt an = f ib(n), wobei f ib die Fibonacci Folge beschreibt. Lösung: • Fall 1: n ≤ 1. Nach Definition gilt an = f ib(n). • Fall 2: n = 2. Es gilt f ib(2) = f ib(1) + f ib(0) = 1 + 0 = 1 = a2 . • Fall 3: n > 2. Es sei vorausgesetzt, dass für alle m < n gilt am = f ib(m). Es gilt dann (G 3)Strukturelle Induktion Ein voller, vollständiger Binärbaum ist ein Baum G(V, E), so dass alle inneren Knoten von G den Verzweigungsgrad 2 haben und alle Blätter haben dieselbe Höhe. Man beweise, dass jeder volle, vollständige Binärbaum der Höhe n ∈ N genau 2n−1 − 1 innere Knoten besitzt. Lösung: Behauptung B(n): Jeder volle, vollständige Binärbaum der Höhe n ∈ N hat 2n−1 − 1 innere Knoten. Beweis durch strukturelle Induktion Induktionsverankerung: zeige B(1). Ein voller, vollständiger Binärbaum der Höhe n = 1 besteht nur aus einem Knoten. Er hat also 0 = 2n−1 − 1 = 21−1 − 1 = 20 − 1 = 1 − 1 = 0 innere Knoten. Induktionsvoraussetzung: Für beliebige, aber feste volle, vollständige Binärbäume G der Höhe n gilt: G hat 2n−1 − 1 innere Knoten. Induktionsschritt: zeige B(n + 1) Für jeden vollen, vollständigen Binärbaum der Höhe n + 1 gibt es einen Teilgraphen T , der ein voller, vollständiger Binärbaum der Höhe n ist. Aus der Induktionsvoraussetzung folgt T hat 2n−1 − 1 innere Knoten. Das sind auch innere Knoten von G. Da die Höhe von G um eins höher ist als die von T und sowohl G als auch T volle, vollständige Binärbäume sind, kommen zu jedem der 2n−1 Blätter aus T noch 2 Blätter. Dadurch hat G genau 2n−1 innere Knoten mehr als T . Es folgt dass G hat 2n−1 − 1 + 2n−1 = 2n − 1 innere Knoten. (G 4)Strukturelle Induktion Ein Binärbaum T heißt Unterbaum eines Binärbaums T 0 genau dann, wenn T = T 0 oder T Unterbaum eines (linken oder rechten) Teilbaums von T 0 ist. Die Höhe h(T ) eines Binärbaums T ist folgendermaßen definiert: • Für den leeren Binärbaum T ist h(T ) = 0. • Für den Binärbaum T = [T1 , T2 ] ist h(T ) = 1 + max(h(T1 ), h(T2 )). Zeigen Sie: Die Anzahl der Unterbäume eines Binärbaums T ist ≤ 2h(T )+1 − 1. Lösung: Wir zeigen die Behauptung durch strukturelle Induktion über den Aufbau der Binärbäume T . Wir bezeichnen mit NsubT (T ) die Anzahl der Unterbäume von T . Induktionsverankerung: Der Binärbaum T ist der leere Baum. In diesem Fall hat T nur einen Unterbaum, nämlich sich selbst. Der leere Baum T hat die Höhe 0, also gilt NsubT (T ) = 1 ≤ 21 − 1 = 2h(T )+1 − 1. Induktionsschritt: Es sei T = [T1 , T2 ]. Nach Induktionsannahme gilt die Behauptung für T1 und T2 . Es folgt NsubT (T ) = 1 + NsubT (T1 ) + NsubT (T2 ) ≤ 1 + 2h(T1 )+1 − 1 + 2h(T2 )+1 − 1 = 2h(T1 )+1 + 2h(T2 )+1 − 1 ≤ 2h(T ) + 2h(T ) − 1 = 2h(T )+1 . Hausübungen: (H 1)Kleine Logelei Die Schlümpfe erwarten Besuch in ihrem Dorf und machen dementsprechend viel Radau. Zwirni, Hefti, Schlaubi, Clumsy, Torti, Handy, Toulousy, Harmony und natürlich Schlumpfine treffen sich vor Papa-Schlumpfs Haus und reden alle durcheinander. Es ist von Dodo, Bauchi, Knirps und Schnuffi die Rede. Papa-Schlumpf hört eine Weile zu und findet heraus, dass die erwarteten Gäste eine kleine Fee, ein Zwerg, ein kleiner Junge und ein Häschen sind. Da will Papa-Schlumpf natürlich erfahren, wer was ist. Schlaubi-Schlumpf, als persönlicher Assistent von Papa-Schlumpf, versucht es ihm zu erklären: Wenn Dodo nicht der Zwerg ist und Bauchi nicht die kleine Fee, dann ist Knirps der kleine Junge. Wenn Schnuffi nicht das Häschen ist, dann ist, falls Dodo nicht die kleine Fee ist, Bauchi der kleine Junge. Mindestens eine der folgenden drei Angaben ist richtig: Knirps ist das Häschen, Schnuffi ist der Zwerg, Dodo ist der kleine Junge. Wenn weder Knirps noch Schnuffi die kleine Fee ist, dann ist Bauchi der kleine Junge. Und wenn... Genug Schlaubi, diese Angaben reichen mir schon, unterbrach ihn Papa-Schlumpf. Wie heißen der Zwerg, die kleine Fee, der kleine Junge und das Häschen? Lösung: Bauchi ist der Junge, Knirps ist das Häschen, Schnuffi die Fee und Dodo der Zwerg. (H 2) Sei n ∈ N. Zeigen Sie mit Hilfe eines a) direkten Beweises, b) Beweis durch Kontraposition, c) Beweises durch Widerspruch, dass gilt: Falls n gerade, dann ist auch n2 gerade. Lösung: a) Wir beweisen direkt, dass n gerade ⇒ n2 gerade. Angenommen, n sei gerade, dann existiert ein k ∈ N, so dass n = 2k. Durch quadrieren folgt, dass n2 = 4k 2 = 2(2k 2 ), also ist n2 gerade. 2 b) Wir beweisen, dass n2 ungerade impliziert n ungerade (¬B √ ⇒ ¬A). Angenommen n sei ungerade. Es ist bekannt (wieso?), dass n ungerade ⇒ n ungerade. Wir wenden diesen Schluss auf n2 und erhalten dass auch n ungerade sein muss. c) Angenommen, n2 sei ungerade und n se gerade. Dann gilt n = 2k und n2 = 4k. Widerspruch! (H 3) Sei n ∈ N. Zeigen Sie mit Hilfe von Induktion über die natürlichen Zahlen, dass die folgenden Aussagen gelten: a) n3 + 2n ist durch 3 teilbar b) n3 − n ist durch 6 teilbar c) 3n − 3 ist durch 6 teilbar a) Induktionsanfang: Für n = 1 erhalten wir n3 + 2n = 3 also durch 3 teilbar. Induktionsschritt: Angenommen die Aussage gilt für n, wir beweisen die Aussage für n+1. P (n + 1) : (n + 1)3 + 2(n + 1) ist durch 3 teilbar? Es gilt (n + 1)3 + 2(n + 1) = n3 + 3n2 + 3n + 1 + 2n + 2 = n3 + 2n + (3n2 + 3n + 3) =n3 + 2n + 3(n2 + n + 1). Durch Anwendung der Induktionsannahme, wehalten wir die Teilbarkeit durch 3 von (n + 1)3 + 2(n + 1). b) Für n = 1 ist die Aussage wahr. Angenommen P (n) gilt, wir beweisen P (n + 1). (n + 1)3 − (n + 1) = n3 + 3n2 + 3n + 1 − n − 1 = n3 + 3n2 + 2n = n3 − n + 3n2 + 3n =n3 − n + 3(n2 + n) = n3 − n + 3n(n + 1). Da n entweder gerade oder ungerade sein kann, folgt dass 3n(n + 1) durch 6 teilbar ist und somit P (n + 1) gilt. c) 3n − 3 = 3(3n−1 − 1) für alle n ∈ N∗ . Wegen 3n−1 − 1 gerade, folgt die Behauptung. (H 4) √ / Q. Zeigen Sie mit Hilfe eines Beweises durch Widerspruch, dass 3 ∈ √ √ 2 Lösung: Angenommen 3 sei rational, dann 3 = ab . Daraus folgt 3 = ab2 und 3b2 = a2 . Falls b ungerade ist, dann ist auch b2 ungerade und in diesem Fall sind auch a2 und a ungerade. Analog b gerade impliziert b2 , a2 und a gerade. Für a und b gerade, ist der Bruch ab reduzierbar, d.h. a und b müssen beide ungerade sein. Angenommen a = 2m+1 und b = 2n+1. Durch Substitution in 3b2 = a2 folgt 3(4n2 +4n+1) = 4m2 + 4m + 1. Daraus folgt dass 6n2 + 6n + 1 = 2(m2 + m). Die Zahl linkerhand ist ungerade, √ die rZahl rechterhand ist gerade, d.h. die Gleichung in m und n hat keine Lösungen und 3 kann nicht rational sein. (H 5) Sei n ∈ N und F (n) die Fibonacci-Zahl von n, die wie folgt definiert ist: wenn n = 0 0 F (n) = 1 wenn n = 1 F (n − 1) + F (n − 2) wenn n ≥ 2 Zeigen Sie mit Hilfe von verallgemeinerter vollständiger Induktion über die natürlichen Zahlen, dass die folgende Aussage gilt: Wenn n durch 3 teilbar ist, ist F (n) durch 2 teilbar. Lösung: Für n = 3 ist F (n) = 2, also gilt die Aussage. Angenommen sie gilt für alle k ≤ n, wir beweisen sie für n + 1: F (3k + 3) = F (3k + 2) + F (3k + 1) = F (3k + 1) + F (3k) + F (3k + 1) = 2F (3k + 1) + F (3k − 1) + F (3k − 2).