Institute of Operating Systems and Computer Networks Algorithmen und Datenstrukturen Große Übung #2 Phillip Keldenich, Arne Schmidt 10.11.2016 Organisatorisches Fragen? Checkliste: Anmeldung kleine Übungen Anmeldung Mailingliste Dies ersetzt nicht die Prüfungsanmeldung! Die Anmeldung zur Prüfung erfolgt später im Semester beim PA Aushang mit Informationen beim Abgabekasten Phillip Keldenich, Arne Schmidt | Große Übung | 2 Institute of Operating Systems and Computer Networks Mathematische Aussagen In Vorlesung, Übung und Klausur (und im restlichen Studium): Beweise! Was wird bewiesen? Aussagen! Mathematische Aussagen: Sind immer wahr oder falsch Beispiele: Aussage G : Die Zahl 8 ist ungerade. Aussage U: Es gibt unendlich viele Primzahlen. Wichtig: Balance zwischen Formalität und Bequemlichkeit C : Diese Aussage ist falsch. — Aussage oder nicht? Können freie Variablen besitzen: Aussage G (n): Die Zahl n ist ungerade. Aussage P(n): Die Zahl n ist eine Primzahl. Aussagen ohne freie Variablen: Sätze Phillip Keldenich, Arne Schmidt | Große Übung | 3 Institute of Operating Systems and Computer Networks Logische Verknüpfungen Mathematische Aussagen: Lassen sich durch logische Junktoren verknüpfen: NICHT ¬A: Negation ODER A ∨ B: Disjunktion UND A ∧ B: Konjunktion FOLGE A ⇒ B: Implikation GDW A ⇔ B: Äquivalenz Ergebnis ist wieder eine Aussage! Freie Variablen lassen sich quantifizieren: FÜR ALLE A(y ) := ∀x B(x, y ) ES GIBT A(y ) := ∃x B(x, y ) Hier implizit: Universum der Quantifikation, Grundaussagen Phillip Keldenich, Arne Schmidt | Große Übung | 4 Institute of Operating Systems and Computer Networks Beispiele Beispiele: G (n) := ∃k (k ∈ Z ∧ 2k = n) — n ist gerade Kürzer: ∃k ∈ Z : 2k = n (relativierter Existenzquantor) A1 (n) := n > 1 ∧ ∀a, b ∈ N : (n | ab ⇒ (n | a ∨ n | b)) — n prim A2 := ∀p (p prim ⇒ ∃q (q prim ∧ q > p)) — keine größte Primzahl Kürzer: ∀p p prim : ∃q > p : q prim (relativierter Allquantor) Unendlich viele Primzahlen: ∃p p prim ∧ A2 Phillip Keldenich, Arne Schmidt | Große Übung | 5 Institute of Operating Systems and Computer Networks Quantoren und Negation Negation von Existenzaussagen: Es gibt keine ganze Zahl k mit 2k=7. Wird zu Allaussage: Für alle ganzen Zahlen k gilt 2k6=7. Negation von Allaussagen: Nicht alle natürlichen Zahlen n sind prim. Wird zu Existenzaussage: Es gibt eine natürliche Zahl n, die nicht prim ist. Allgemein: ¬∀x A(x) ⇔ ∃x ¬A(x) ¬∃x A(x) ⇔ ∀x ¬A(x) Phillip Keldenich, Arne Schmidt | Große Übung | 6 Institute of Operating Systems and Computer Networks Voraussetzung und Schlussfolgerung In der Mathematik: So gut wie keine Sätze ohne Voraussetzungen: Fast immer ist eine Aussage der Form A ⇒ B zu zeigen Vor dem Beweis: Voraussetzung und Schlussfolgerung klären Beispiele: Für jede ungerade ganze Zahl n ist n2 ungerade. Jeder kreisfreie Graph G mit |V | − 1 Kanten ist zusammenhängend. Sei n ∈ Z ungerade. Dann ist n2 ungerade. Sei G kreisfrei mit |V | − 1 Kanten. Dann ist G zusammenhängend. Phillip Keldenich, Arne Schmidt | Große Übung | 7 Institute of Operating Systems and Computer Networks Je nach Aussage sehen Beweise unterschiedlich aus. Existenzaussagen: Lassen sich häufig einfach durch ein Beispiel beweisen Es gibt eine Primzahl: Beweis: p = 2 ist prim. Nicht immer leicht, Beispiele zu finden! Allaussagen: Lassen sich NICHT durch ein Beispiel beweisen Ein Autohaus voll roter Autos beweist nicht, dass alle Autos rot sind! In der Regel schwieriger zu beweisen Phillip Keldenich, Arne Schmidt | Große Übung | 8 Institute of Operating Systems and Computer Networks Beweise Beweis: Ausgehend von Grundannahmen und Voraussetzungen wird Schlussfolgerung gefolgert Kein einfaches Rezept! Beweise führen ist ein kreativer Vorgang! Gute Beweise sind einfach nachvollziehbar und schwer zu finden Es kann Jahre dauern bis man die richtige Idee hat! Hilfreich: Solides Verständnis der Thematik Erfahrung! Handwerkszeug: Beweismethoden Phillip Keldenich, Arne Schmidt | Große Übung | 9 Institute of Operating Systems and Computer Networks Beweismethoden: Direkter Beweis Direkte Ableitung der Schlussfolgerung aus den Voraussetzungen Beispiel: Wenn n ungerade ist, dann ist n2 ungerade. Voraussetzung: Sei k ∈ N mit n = 2k + 1 Gesucht: l ∈ N mit n2 = 2l + 1 Es gilt: n2 = (2k + 1)(2k + 1) = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1 Also (l = 2k 2 + 2k) ist n2 ungerade! Phillip Keldenich, Arne Schmidt | Große Übung | 10 Institute of Operating Systems and Computer Networks Umkehrschluss und Kontraposition Der Umkehrschluss gilt NICHT immer: A studiert ⇒ A ist ein Mensch 6⇒ A ist ein Mensch ⇒ A studiert Wenn man den Folgerungspfeil umkehren will — Kontraposition: (A ⇒ B) ⇔ (¬B ⇒ ¬A) Wenn A B impliziert, dann kann A nicht gelten, wenn B nicht gilt! Im Beispiel: Wenn A kein Mensch ist, kann A auch nicht studieren! Manchmal ist die Kontraposition einfacher zu zeigen. Phillip Keldenich, Arne Schmidt | Große Übung | 11 Institute of Operating Systems and Computer Networks Beweismethoden: Widerspruchsbeweis Idee: Nutze die Tatsache, dass Aussagen entweder wahr oder falsch sind Nimm an, die zu beweisende Aussage A sei falsch Dann kann ¬A als Voraussetzung benutzt werden Nutze dies, um einen Widerspruch herzuleiten Widerspruch: Eine Aussage B, die sowohl falsch als auch wahr ist Dann kann die Annahme ¬A nicht wahr sein, also gilt A Beispiel: Zeige, dass es unendlich viele Primzahlen gibt. Angenommen, es gäbe endliche viele Primzahlen p1 , . . . , pk Betrachte q := p1 · p2 · . . . · pk + 1 ⇒ q ist nicht prim! Keine Primzahl teilt q ⇒ q ist prim! Widerspruch! Phillip Keldenich, Arne Schmidt | Große Übung | 12 Institute of Operating Systems and Computer Networks Beweismethoden: Vollständige Induktion Vollständige Induktion: Beweismethode für Allaussagen Funktioniert, wenn sich alle Elemente inkrementell aufbauen lassen Beispiele, wo Induktion funktionieren kann: Natürliche Zahlen (Nachfolger-Operation) Ganze Zahlen (Nachfolger- und Vorgänger-Operation) Graphen (Knoten-/Kanteneinfügeoperationen, . . .) Rekursiv definierte Strukturen: Aussagenlogische Aussagen Formale Sprachen ... Im Weiteren: Nehme natürliche Zahlen an Phillip Keldenich, Arne Schmidt | Große Übung | 13 Institute of Operating Systems and Computer Networks Beweismethoden: Vollständige Induktion Beweis einer Allaussage ∀n A(n) mit Induktion über N: Anfang Zeige: A(n) gilt für n = 0 Hypothese Sei n beliebig und A(k) gelte für alle k ≤ n Schritt Zeige: Dann gilt auch A(n + 1) Also zeige: (∀ k ≤ n : A(k)) ⇒ A(n + 1) Induktionsprinzip: Daraus folgt ∀n A(n) A(0) ⇒ A(1) ⇒ A(2) ⇒ A(3) ⇒ . . . ⇒ A(n) Merke: Im IS sollte die IH als Voraussetzung verwendet werden Phillip Keldenich, Arne Schmidt | Große Übung | 14 Institute of Operating Systems and Computer Networks Beweismethoden: Vollständige Induktion - Beispiel Beweis der gaussschen Summenformel: n P i= i=1 n(n+1) 2 I.A. n = 0: Aussage gilt (die leere Summe ist 0)! k P I.H. Sei n beliebig und gelte i = k(k+1) für k ≤ n 2 i=1 I.S. Zu zeigen: I.H. ⇒ n+1 P i= i=1 n+1 P i=1 i =n+1+ n P i=1 I.H. i = n+1+ n(n+1) 2 (n+1)(n+2) 2 = 2(n+1)+n(n+1) 2 = (n+2)(n+1) . 2 Mit dem Induktionsprinzip folgt: Die Aussage gilt für alle n ∈ N. Phillip Keldenich, Arne Schmidt | Große Übung | 15 Institute of Operating Systems and Computer Networks Typische Aufgaben Grundsätzlich: Vollständiger, korrekter Beweis: volle Punktzahl Kleine Lücken, Randfälle übersehen: geringer Punktabzug Teilaussagen korrekt bewiesen: teilweise Punkte Vollkommen falsche Herangehensweise: keine Punkte Zeige A: Die Aussage A ist wahr, gesucht ist ein Beweis! Beweis durch Quellenangabe o.Ä.: keine Punkte! Zeige oder widerlege A: Die Aussage A ist wahr oder falsch Gesucht ist ein Beweis der Aussage oder ihrer Negation Phillip Keldenich, Arne Schmidt | Große Übung | 16 Institute of Operating Systems and Computer Networks Häufige Fehler Typ der Aussage falsch eingeschätzt: Allaussage per Beispiel Unzulässige Annahmen/Einschränkungen Aussagen der Art A ⇒ B: Voraussetzung und Schlussfolgerung vermischt Falsche Richtung gezeigt Aussagen der Art A ⇔ B: Nur eine Richtung gezeigt Zwei Beweise für dieselbe Richtung Phillip Keldenich, Arne Schmidt | Große Übung | 17 Institute of Operating Systems and Computer Networks Beispiele Induktion auf Bäumen Jeder nichtleere Baum G lässt sich erzeugen, indem wiederholt Knoten von Grad 1 zu T0 = ({0}, ∅) hinzugefügt werden. Hamiltonkreise Der folgende Graph ist nicht hamiltonsch: Phillip Keldenich, Arne Schmidt | Große Übung | 18 Institute of Operating Systems and Computer Networks