01-Einleitung

Werbung
Vorlesung Informatik 3
Einführung in die Theoretische Informatik
(01 – Einleitung)
Prof. Dr. Th. Ottmann
1
Organisatorisches
Vorlesung:
Jeweils montags, von 11 – 13 Uhr
und
mittwochs, von 9 – 11 Uhr
Übungen:
wöchentl. zu versch. Terminen (4 Gruppen), Assistent: Dr. W. Hürst
Dienstags, 9 – 11 Uhr (2 Gruppen)
Dienstags, 14 – 16 Uhr
Freitags, 11 – 13 Uhr
Anmeldung über Web-Formular (Link in CampusOnline unter
„News“ auf der Startseite der Vorlesung)
ab sofort bis spätestens Donnerstag, 29.10.05
Weitere Infos: Siehe
» Infoblatt zu CampusOnline (Anmeldung etc.) und
» Infoblatt zum Vorlesungs-/Übungsbetrieb (Termine,
Prüfungsvorraussetzungen etc.)
http://ad.informatik.uni-freiburg.de/lehre/ws0506/info3/
2
Die nächsten Termine
Mo 24.10.
11 – 13 Uhr,
Mi 26.10.
Keine Vorlesung (Eröffnung des akademischen Jahres)
Mo 31.10.
11 – 13 Uhr,
2. Vorlesung, Wiedergabe der Aufzeichnung
vom Mo 24.10., 16 – 18 Uhr, HS 106, MM-Raum
Mi 2. 11.
9 – 11 Uhr,
3. Vorlesung, Wiedergabe der Aufzeichnung
vom Do 27.10., 13 – 15 Uhr, HS 106 MM-Raum
Mo 7.11.
11 – 13 Uhr
4. Vorlesung
Mi 9.11.
9 – 11 Uhr
5. Vorlesung
1. Vorlesung, HS 026
…..usw.
3
Literatur
U. Schöning: Theoretische Informatik kurz gefasst, Spektrum Akademischer Verlag
(März 2001)
M. Sipser: Introduction to the Theory of Computation, Second Edition, Course
Technology (2005)
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Introduction to Automata
Theory, Languages, and Computation, Addison Wesley Publishing Company (2001)
Deutsche Übersetzung: Einführung in die Automatentheorie, Formale Sprachen und
Komplexitätstheorie. Pearson Studium (2002)
Katrin Erk, Lutz Priese: Theoretische Informatik, Springer, Berlin (2001)
Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, 3.
überarbeitete und erweiterte Auflage 2004XIV + 405 Seiten, € 29,90, ISBN 3-52823147-5 Vieweg Verlag
U.v.a
4
Themen der Vorlesung
Antworten auf grundsätzliche Fragen, wie z.B.
• Was kann man überhaupt (nicht) mit Computer lösen?
• Wie groß ist der Aufwand zum Lösen von Problemen? Kann die
Problemlösung am Aufwand scheitern?
• Was sind sinnvolle mathematische Modelle von Automaten und
Computern? Für welche Zwecke eignet sich welches Modell?
• Welche Alternativen zur Modellierung von Rechenvorgängen gibt es?
5
Einige Antworten der Vorlesung
Theorie der Berechenbarkeit: Es gibt nicht berechenbare Funktionen; es gibt
überhaupt viel mehr Funktionen als Algorithmen
Komplexitätstheorie: Es gibt Probleme, bei denen die Zeit zum Berechnen
einer Lösung nur polynomiell von der Problemgröße abhängt und andere,
zu deren Lösung (vermutlich) kein in Polynomzeit ausführbarer Algorithmus
existiert
Automatentheorie: Es gibt eine Hierarchie von immer leistungsfähigeren
Automaten, endliche Automaten, Pushdown- Automaten, Register- und
Turingmaschinen
Theorie der formalen Sprachen: Es gibt eine Hierarchie Formaler
Grammatiken, mit denen man immer größere Klassen von Sprachen
erzeugen kann
6
Kurze Historie der Berechenbarkeitstheorie
~ 800
Ibn Musa Al-Chwarismi (persischer Mathematiker und Astronom) schreibt Lehrbuch
über as Lösen von algebraischen Gleichungen
~ 1300 Raimundus Lullus (katalanischer Philosoph) sucht in Ars Magna Methode zur Lösung
mathematischer Probleme
1888
Dedekind: primitiv rekursive Funktionen
1928
Ackermann: berechenbare, nicht primitiv rekursive Funktion
Bis 1931 Allgemeine Ansicht: Jedes hinreichend genau formulierte mathematische Problem kann
gelöst werden. Hilbert sucht nach allgemeinem Lösungsverfahren.
1931
Gödel: In jedem hinreichend ausdrucksfähigen formalen System gibt es wahre Sätze,
die nicht mit Hilfe eines Algorithmus hergeleitet werden können (Gödelscher
Unvollständigkeitssatz). Erste Algorithmenpräzisierung
Um 1936 Verschiedene Präzisierungen des Algorithmenbegriffs. λ-Kalkül (Church), μ-rekursive
Funktionen (Kleene), (allg.) rekursive Funktionen (Gödel, Herbrand), Turing-Maschinen
(Turing)
7
Beispiel: Existenz nicht berechenbarer Funktionen
Unabhängig vom Rechnermodell gilt:
• Algorithmen werden durch Programme beschrieben
• Programme sind Texte endlicher Länge über einem endlichen Alphabet
• Alle gültigen Programme lassen sich abzählen (mit einer Nummer
identifizieren): P0, P1, P2, P3, P4, P5, ….
Satz: Es gibt mehr Funktionen f : N → N als berechnende Programme
Beweis: Technik: Diagonalisierung
8
Diagonalisierung
0
1
2
3
4
5
6 …. n ….
fP0
fP1
fP2
fP3
fP4
..
fd
9
Beweistechniken
•
Diagonal-/ Schubfachschluss
•
Direkter Beweis: Beweise die Aussage durch explizite Prüfung aller
denkbaren Fälle
•
Indirekter Beweis: Nehme das Gegenteil der Behauptung an und zeige,
dass das zu einem Widerspruch führt
•
Vollständige (strukturelle) Induktion: Zeige, dass Aussage
1. für gegebene Anfangs Strukturen gilt
2. sie richtig bleibt für (rekursiv aus einfacheren Bestandteilen) erzeugte
Strukturen
10
Beispiel eines direkten Beweises
Satz: In jeder binären 2x2 Matrix kommen höchstens 3 der 4 möglichen
Bitvektoren der Länge 2 vor.
11
Beispiel eines indirekten Beweises
Satz:  2 ist keine rationale Zahl, d.h.  2 kann man nicht als Bruch m/n
darstellen.
12
Beispiel eines Induktionsbeweises
Satz: Für alle natürlichen Zahlen n ≥ 4 gilt: 2n ≥ n2
13
Beispiel für eine strukturelle Induktion
Sei P die wie folgt definierte Teilmenge der natürlichen Zahlen
1. 3  P und 17  P
2. Wenn n  P, dann sind auch die Zahlen 2n + 1 und 3n + 2 in P.
Satz: Alle Zahlen in P sind ungerade
14
Schubfachschluss - Zählargument
Satz: Für alle natürlichen Zahlen n ≥ 1 gilt: Die Zeilen und Spaltenvektoren
einer n x n Bit-Matrix schöpfen nicht alle möglichem n-Bit Vektoren aus
15
Diagonalschluss
Satz: Für alle n ≥ 1 und jede beliebige n x n Bitmatrix M =(bij), 1 ≤ i, j ≤ n, gilt:
Der n – Bit – Vektor V = (¬b11, ¬ b22, …, ¬ bnn) tritt weder als Zeilen- noch
als Spaltenvektor in M auf.
Dabei bezeichnet ¬b für ein Bit b  {0,1} das Bit:
¬b = 0, falls b = 1, ¬b = 1, falls b = 0
16
Wiederholung einiger Begriffe aus der
diskreten Mathematik
Mengen:
• Teilmenge, Potenzmenge
• Kartesisches Produkt
• endliche, unendliche, abzählbare Menge
17
Relationen
Äquivalenzrelationen:
Eine zweistellige Relation heißt Äquivalenzrelation, wenn sie reflexiv, transitiv
und symmetrisch ist
18
Grundbegriffe für Graphen
Sei V eine Menge von Knoten, G = (V, E) mit E  V x V heißt Graph mit
Knotenmenge V und Kantenmenge E.
Gerichteter, ungerichteter Graph
Pfad, Zyklus
Zusammenhängender, zyklischer, azyklischer Graph
Bäume, Wurzel, Blätter
19
Alphabete, Worte, Sprachen
Alphabet: Endliche Menge von Symbolen 
Beispiele:  = {0, 1},  = {a, b, c, …., x, y, z}
Wort (Zeichenreihe): Jede endliche Aneinanderreihung von Symbolen des
zugrunde liegenden Alphabets inklusive des leeren Wortes ε.
20
Herunterladen