Algorithmen und Datenstrukturen Große Übung #2

Werbung
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
Herunterladen