Vorlesung Grundlagen der Theoretischen Informatik / Einführung in

Werbung
Dank
Vorlesung
Grundlagen der Theoretischen Informatik /
Einführung in die Theoretische Informatik I
Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den
Vorlesungen von
Katrin Erk (gehalten an der Universität Koblenz-Landau)
Bernhard Beckert
Jürgen Dix (gehalten an der TU Clausthal)
Institut für Informatik
Ihnen beiden gilt mein herzlicher Dank.
– Bernhard Beckert, April 2007
Sommersemester 2007
B. Beckert – Grundlagen d. Theoretischen Informatik:
SS 2007
1 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik:
SS 2007
2 / 35
SS 2007
4 / 35
Kontakt
Teil I
Einführung
Bernhard Beckert
Email: [email protected]
1
Webseite: www.uni-koblenz.de/˜beckert
Organisatorisches
2
Motivation, Inhalt der Vorlesung
3
Kurzer Überblick: Logik
Raum: B 218
Sprechstunde:
Donnerstags, 16 Uhr
(sonst auch immer, wenn die Tür offen steht)
Ulrich Koch
Email: [email protected]
4
Kurzer Überblick: Beweismethoden und Mathematische Konzepte
Webseite: www.uni-koblenz.de/˜koch
Raum: A 219
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
3 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
Webseite
Übungen
Termine und Einteilung
http://www.uni-koblenz.de/˜beckert/Lehre/TheoretischeInformatik/
Stehen noch nicht endgültig fest
Webseite beachten:
MeToo-Registrierung sobald Termine feststehen!
Alle relevante Information auf der Webseite
Folien
Übungsblätter
Weitere Materialien
Wöchentlich, jeden Montag
Termine usw.
Dürfen – müssen aber nicht – abgegeben werden
Werden in den Übungen der darauffolgenden Woche besprochen
Kein Einfluss auf Scheinvergabe
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
5 / 35
Prüfungen und Scheinvergabe
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
6 / 35
Prüfungen und Scheinvergabe
Teilklausuren während des Semesters
Während des Semesters
drei Teilklausuren (je ca. 30-40 Minuten)
jeweils Mitte Mai, Mitte Juni, Mitte Juli
Schein bei 50% der insgesamt in den drei Teilklausuren zu erzielenden
Punkte
Anmeldung zu und Teilnahme an der ersten Prüfung (also den
Teilklausuren während des Semesters) ist Voraussetzung für die
Teilnahme an der Nachklausur.
Freiversuch gilt für alle Teilklausuren zusammen
Wiederholung einzelner Teilklausuren nicht möglich
Zudem darf an der Nachklausur (wie auch an den Teilklausuren) teilnehmen,
wer an einer Prüfung zu „Einführung in die Theoretische Informatik I“ in frühren
Semestern teilgenommen und diese nicht bestanden oder einen Freiversuch
gesetzt hat.
Nachklausur zum Ende der Semesters
Gegen Ende des Semesters (Ende September)
Nachklausur hat gleichen „Wert“ wie alle Teilklausuren zusammen
90 Minuten Dauer
Schein bei 50% der Punkte in der Nachklausur
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
7 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
8 / 35
Literatur
Literatur
Weitere Literatur
J. Hopcroft, R. Motwani, and J. Ullman (2002).
Einführung in die Automatentheorie, Formale Sprachen und
Komplexitätstheorie.
Pearson.
Buch zur Vorlesung
Erk, Katrin and Priese, Lutz (2002).
Theoretische Informatik: Eine umfassende Einführung.
2. Auflage.
Springer-Verlag.
G. Vossen and K.-U. Witt (2004).
Grundkurs Theoretische Informatik.
Vieweg.
U. Schöning (1994).
Theoretische Informatik: kurzgefaßt.
Spektrum-Verlag.
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
9 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Organisatorisches
SS 2007
10 / 35
SS 2007
12 / 35
Theoretische Informatik befasst sich mit . . .
Teil I
Einführung
1
Grundlegende Konzepte der Informatik
Organisatorisches
Probleme und ihre Beschreibung
2
Systeme/Automaten/Maschinen, die Probleme lösen
Motivation, Inhalt der Vorlesung
Lösbarkeit von Problemen
(Entscheidbarkeit/Berechenbarkeit und deren Grenzen)
3
Kurzer Überblick: Logik
4
Kurzer Überblick: Beweismethoden und Mathematische Konzepte
B. Beckert – Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung
Schwierigkeit (Komplexität) der Lösung von Problemen
SS 2007
11 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung
Teilgebiete der Theoretischen Informatik
Warum Theoretische Informatik?
Theoretische Informatik . . .
Teilgebiete
ist die Grundlage
Formale Sprachen
ist wichtig
(bspw. für Algorithmentechnik, Software Engineering, Compilerbau)
Automatentheorie
Berechenbarkeitstheorie
hilft, weitere Themen/Vorlesungen der Informatik zu verstehen
Komplexitätstheorie
veraltet nicht
(Logik)
B. Beckert – Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung
macht Spaß
SS 2007
13 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung
SS 2007
14 / 35
Inhalt der Vorlesung
Teil I
Einführung
1
Terminologie
2
Endliche Automaten und reguläre Sprachen
3
Kellerautomaten und kontextfreie Sprachen
4
Turingmaschinen und rekursiv aufzählbare Sprachen
5
Berechenbarkeit, (Un-)Entscheidbarkeit
6
Komplexitätsklassen P und NP
B. Beckert – Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung
SS 2007
15 / 35
1
Organisatorisches
2
Motivation, Inhalt der Vorlesung
3
Kurzer Überblick: Logik
4
Kurzer Überblick: Beweismethoden und Mathematische Konzepte
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
16 / 35
Logische Formeln
Logische Formeln
Aussagenlogische Operatoren
¬ Negationssymbol („nicht“)
Formeln
∧ Konjunktionssymbol („und“)
Atomare Aussagen sind Formeln
∨ Disjunktionssymbol („oder“)
Seien
⇒ Implikationssymbol („wenn . . . dann“)
⇔ Symbol für Äquivalenz („genau dann, wenn“)
A, B Formeln, x eine Variable,
¬A,
(A ∧ B ),
(A ∨ B ),
dann sind
(A ⇒ B ),
(A ⇔ B ),
∀xA,
∃xA
Formeln
Zusätzliche prädikatenlogische Operatoren
∀ Allquantor („für alle“)
∃ Existenzquantor („es gibt“)
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
17 / 35
Logische Formeln
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
18 / 35
SS 2007
20 / 35
Logische Formeln
Beispiel 3.2
„Alle, die in Koblenz studieren, sind schlau“
∀
Beispiel 3.1
Variable
¬ (y ≤ x ) ⇒ ∃z (¬(z ≤ x ) ∧ ¬(y ≤ z ))
| {z }
|
{z
}
Atom
x (studiertIn(x , koblenz ) ⇒ schlau (x ))
|{z} |
{z
}
|
Formel (Skopus)
{z
}
Formel
Skopus von ∃z
„Jemand, der in Landau studiert ist schlau“
∃
x (studiertIn(x , landau ) ∧ schlau (x ))
|{z} |
{z
}
Variable
|
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
19 / 35
Formel (Skopus)
{z
Formel
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
}
Eigenschaften von Quantoren
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
∃x ∀y
ist nicht das gleiche wie
∀y ∃x
Beispiel 3.3
Quantoren gleicher Art kommutieren
∀x ∀y
∃x ∃y
ist das gleiche wie
ist das gleiche wie
∃x ∀y loves(x , y )
Es gibt eine Person, die jeden Menschen in der Welt liebt
(einschließlich sich selbst)
∀y ∀x
∃y ∃x
∀y ∃x loves(x , y )
Jeder Mensch wird von mindestens einer Person geliebt
(Beides hoffentliche wahr aber verschieden:
das erste impliziert das zweite aber nicht umgekehrt)
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
21 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
Eigenschaften von Quantoren
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
Dualität der Quantoren
∃x ∀y
∀x . . .
ist das gleiche wie
¬∃x ¬ . . .
∃x . . .
ist das gleiche wie
¬∀x ¬ . . .
ist nicht das gleiche wie
∀y ∃x
22 / 35
Beispiel 3.4
∀x ∃y mutter (y , x )
Jeder hat eine Mutter
Beispiel 3.5
(richtig)
∃y ∀x mutter (y , x )
Es gibt eine Person, die die Mutter von jedem ist
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
(falsch)
SS 2007
23 / 35
∀x mag (x , eiskrem)
ist das gleiche wie
¬∃x ¬mag (x , eiskrem)
∃x mag (x , broccoli )
ist das gleiche wie
¬∀x ¬mag (x , broccoli )
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
24 / 35
Eigenschaften von Quantoren
Eigenschaften von Quantoren
∀ distributiert NICHT über ∨
∀x (. . . ∨ . . .)
ist NICHT das gleiche wie
∃ distributiert NICHT über ∧
∃x (. . . ∧ . . .)
ist NICHT das gleiche wie
(∀x . . .) ∨ (∀x . . .)
(∃x . . .) ∧ (∃x . . .)
Beispiel 3.6
Beispiel 3.7
∀x (eiskrem(x ) ∨ broccoli (x ))
ist NICHT das gleiche wie
(∀x eiskrem(x )) ∨ (∀x broccoli (x ))
∃x (gerade(x ) ∧ ungerade(x ))
ist NICHT das gleiche wie
(∃x gerade(x )) ∧ (∃x ungerade(x ))
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
25 / 35
Beispiele: Familienverhältnisse
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
26 / 35
SS 2007
28 / 35
Beispiele: Familienverhältnisse
Beispiel 3.8
„Brüder sind Geschwister“
∀x ∀y (bruder (x , y ) ⇒ geschwister (x , y ))
Beispiel 3.9
Formalisierung von „Bruder, der nicht nur Halbbruder ist“
„bruder“ ist symmetrisch
∀x ∀y (bruder (x , y ) ⇔ bruder (y , x ))
∀x ∀y bruder (x , y ) ⇔ (¬(x = y ) ∧
∃m∃v (¬(m = v ) ∧
elter (m, x ) ∧ elter (v , x ) ∧
elter (m, y ) ∧ elter (v , y )))
„Mütter sind weibliche Elternteile“
∀x ∀y (mutter (x , y ) ⇔ weiblich(x ) ∧ elter (x , y )))
„Ein Cousin ersten Grades ist
das Kind eines Geschwisters eines Elternteils“
∀x ∀y (cousin1(x , y ) ⇔
∃p∃ps (elter (p, x ) ∧ geschwister (ps, p) ∧ elter (ps, y )))
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
SS 2007
27 / 35
B. Beckert – Grundlagen d. Theoretischen Informatik: Logik
Wichtige Beweismethoden
Teil I
Einführung
Deduktiver Beweis
Aneinanderkettung von Argumenten/Aussagen
1
Organisatorisches
2
Motivation, Inhalt der Vorlesung
3
Kurzer Überblick: Logik
4
Kurzer Überblick: Beweismethoden und Mathematische Konzepte
A = A1 , A2 , . . . , An = B
Zwischenaussagen Ai müssen schlüssig aus dem Vorhergehenden
folgen
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
SS 2007
29 / 35
Verwendet werden dürfen nur
– Annahmen aus A
– mathematische Grundgesetze
– bereits bewiesene Aussagen
– logische Schlussfolgerungen
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
Wichtige Beweismethoden
Wichtige Beweismethoden
Beispiel 4.1 (Deduktiver Beweis)
Beweis durch Kontraposition
¬B ⇒ ¬A
Beweis in schematischer Darstellung:
Aussage
x = a2 + b 2 + c 2 + d 2
a ≥ 1, b ≥ 1, c ≥ 1, d ≥ 1
a2 ≥ 1, b2 ≥ 1, c 2 ≥ 1, d 2 ≥ 1
x ≥4
2x ≥ x 2
logisch äquivalent zu
SS 2007
32 / 35
A⇒B
Widerspruchsbeweis
Begründung
Gegeben
Gegeben
(2) und Gesetze der Arithmetik
(1), (3) und Gesetze der Arithmetik
(4) und Satz aus der Analysis
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
30 / 35
Beweise, dass nicht A aus der Annahme nicht B folgt:
Zu beweisen:
Wenn x die Summe der Quadrate von vier positiven ganzen Zahlen ist,
dann gilt 2x ≥ x 2
1.
2.
3.
4.
5.
SS 2007
SS 2007
31 / 35
Beweise, dass aus A und nicht B ein Widerspruch folgt:
(A ∧ ¬B ) ⇔ false
logisch äquivalent zu
A⇒B
A kann „leer“ sein
Widerspruch zu ∀-Aussage gelingt durch Gegenbeispiel
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
Wichtige Beweismethoden
Mathematische Konzepte
Induktionsbeweise
Standardinduktion:
Gilt A(0) und
folgt A(i + 1) aus A(i ),
dann gilt A(n) für alle n ∈ N
Grundkonzepte (z.B. aus DAS)
Elementare Mengentheorie
– {x |P (x )}
– ∪, ∩, \
Vollständige Induktion:
Gilt A(0) und
folgt A(i + 1) aus A(0) ∧ . . . ∧ A(i ),
dann gilt A(n) für alle m ∈ N
Bezug zwischen Mengen, Relationen und Funktionen (wichtig!)
Elementare Gesetze der Algebra
Strukturelle Induktion (auf Datentypen wie Listen, Bäumen, Wörtern:
Gilt A für das Basiselement und
folgt die Gültigkeit von A für ein beliebiges Element aus der
Gültigkeit von A für seine Unterelemente,
dann gilt A für alle Elemente.
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
SS 2007
33 / 35
Mathematische Konzepte
Funktionen
Funktion f : S → S 0 : Abbildung zwischen den Grundmengen S und S 0 ,
nicht unbedingt auf allen Elementen von S definiert
Definitionsbereich D
Wertebereich W
f eine totale Funktion: f für alle Elemente des Wertebereichs W definiert
∀x ∈D ∃y ∈W (x , y ) ∈ f
Injektiv, surjektiv, bijektiv
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
SS 2007
35 / 35
Strukturen wie Listen, (endliche) Folgen, Graphen, Bäume
Wörter (Strings)
B. Beckert – Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte
SS 2007
34 / 35
Zugehörige Unterlagen
Herunterladen