Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und Beweismethoden 3/1, Folie 1 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Zielstellung u Gegenstand der Betrachtung die Grenzen von dem, was Computer leisten können, kennenlernen uns geht es darum, besser zu verstehen dass es und warum es unlösbare algorithmische Probleme gibt... die sich mit Hilfe eines Computerprogramms nicht lösen lassen (/* unsinnige Probleme lassen wir natürlich außen vor */) 3/1, Folie 2 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Anmerkungen u diese Zielstellung ist nicht ungewöhnlich... wir betrachten ein Beispiel, das etwas mit Physik zu tun hat es geht um so genannte Perpetuum mobile, also Geräte die einmal in Gang gesetzt ohne weitere Energiezufuhr ewig in Bewegung bleiben und dabei möglicherweise auch noch Arbeit verrichten 3/1, Folie 3 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Anmerkungen u diese Zielstellung ist nicht ungewöhnlich... (cont.) aus dem ersten Hauptsatz der Thermodynamik (dem so genannten Energieerhaltungssatz) folgt, dass es unmöglich ist, ein Perpetuum mobile zu konstruieren... dieser Erkenntnis liegt offenbar die Annahme zugrunde, dass der Energieerhaltungssatz korrekt ist... diese Erkenntnis hat Einzug ins Leben gehalten (Patentanträge zum Thema Perpetuum mobile werden unter Verweis auf die mangelnde Ausführbarkeit der Erfindung ohne Prüfung abgelehnt) 3/1, Folie 4 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Einordnung wir kennen alle Sudoku (manche mögen dieses Spiel sogar) 1 8 1 5 6 7 3 1 2 4 4 7 2 3 5 8 9 3 2 7 8 3 6 5 6 1... beim Design eines Sudokus sollte man Sorgfalt walten lassen, da es keinen Spaß macht, sich mit einem unlösbaren bzw. nicht eindeutig lösbaren Sudoku auseinander zu setzen 3/1, Folie 5 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u ein etwas anderes Spiel es gibt n Stapel von Spielkarten (/* auf jedem Stapel liegen beliebig viele gleichartige Spielkarten */), etwa die folgenden drei Stapel 1 1 1 00 00 00 das Ziel des Spiels besteht darin, Spielkarten auszuwählen und so in einer Reihe anzuordnen, dass die beiden Zeichenketten oberund unterhalb der Mittellinie identisch sind, etwa 1 00 3/1, Folie 6 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u ein etwas anderes Spiel (cont.) es seien die folgenden vier Stapel gleichartiger Spielkarten gegeben 1 001 1 0 01 00 00 01 001 die kürzeste Lösung (eine kürzeste passende Reihe ) besteht aus 66 Spielkarten 01 001 01 001... 001 0 001 0 01 3/1, Folie 7 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Anmerkungen bei der Festlegung der im aktuellen Spiel verfügbaren Spielkarten sollte darauf geachtet werden, dass es garantiert eine Lösung (eine passende Reihe ) gibt, weil es.. beim Design wäre es hilfreich, ein Computerprogramm zu haben, das das folgende algorithmische Problem löst gegeben: Beschreibung der verfügbaren Spielkarten gesucht: Antwort auf die Frage, ob man mit diesen Spielkarten überhaupt ein passende Reihe bilden kann 3/1, Folie 8 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Anmerkungen (cont.) das betrachtete algorithmische Problem (das so genannte Postsche Korrespondenzproblem) kann formal wie folgt formuliert werden sei Σ = { 0,1 } gegeben: n Paare (x i,y i ) mit x i,y i Σ* \ { ε } gesucht: Antwort auf die Frage, ob es eine endliche Folge a 1,...,a k von Elementen aus der Menge { 1,...,n } gibt, so dass x a 1... x ak = y a1... y ak gilt 3/1, Folie 9 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Anmerkungen (cont.) man kann zeigen, dass das Postsche Korrespondenzproblem ein unlösbares algorithmisches Problem ist... dieser Erkenntnis liegt auch wieder eine Annahme zugrunde (/* die so genannte Churchsche These */) u Fazit derjenige, der die im aktuellen Spiel verfügbaren Spielkarten festlegt, hat gar keine andere Chance, als seinen Kopf zu benutzen 3/1, Folie 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u unterstützende Argumente das es kein Computerprogramm gibt, mit dem man das Postsche Korrespondenzproblem lösen kann, liegt daran, dass man mit Blick auf die im aktuellen Spiel verfügbaren Spielkarten zwar für jedes k N überprüfen kann, ob es eine passende Reihe mit k Spielkarten gibt aber in der Regel keine Schranke s N angeben kann, so dass die folgende Aussage richtig ist Wenn es keine passende Reihe mit maximal s Spielkarten gibt, so gibt es auch keine passende Reihe mit mehr als s Spielkarten. 3/1, Folie 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Konsequenzen aus der Unlösbarkeit des Postschen Korrespondenzproblems folgt, dass auch das folgende algorithmische Problem unlösbar ist gegeben: irgendeine Typ-0 Grammatik G irgendeine Zeichenkette w gesucht: Antwort auf die Frage, ob w zur Sprache L(G) gehört... wenn man dieses algorithmische Problem (das Wortproblem für Typ-0 Sprachen) lösen kann, kann man auch das Postsche Korrespondenzproblem lösen 3/1, Folie 12 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Das Postsche Korrespondenzproblem u Illustration sei folgende Instanz des Postschen Korrespondenzproblems gegeben 1 1 1 00 00 00 01 wir ordnen dieser Instanz folgende Typ-0 Grammatik G zu S 1S und S 12 S S00 und S 1200 S S und S 2 020 2 und 121 2 und interessieren uns dafür, ob die Zeichenkette 2 zur Sprache L(G) gehört 3/1, Folie 13 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Andere unlösbare algorithmische Probleme u aus der Perspektive eines Softwareentwicklers... wir haben uns daran gewöhnt, dass es sehr komfortable Entwicklungsumgebungen gibt, die uns bei unserer Arbeit unterstützen syntaxgesteuerte Editoren Parser und Compiler, die uns auf Fehler im Quellcode hinweisen Werkzeuge zum Debuggen... bei einigen Aufgaben werden wir nicht oder nur unzureichend unterstützt 3/1, Folie 14 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Andere unlösbare algorithmische Probleme u aus der Perspektive eines Softwareentwicklers... (cont.) jeder von uns hat bestimmt schon einmal ein Programm geschrieben, in dem es eine Endlos-Schleife gibt, d.h. es wird für mindenstens eine Eingabe überhaupt kein Rückgabewert bestimmt das für eine Eingabe nicht den gewünschten Rückgabewert bestimmt sich gefragt, ob sein Programm korrekt arbeitet bzw. auch dann noch korrekt arbeitet, wenn er eine ungeschickt implementierte Methode anders implementiert... mit solchen Fragen werden wir uns immer selbst befassen müssen, da man die zugrunde liegenden algorithmischen Probleme nicht in den Griff bekommt 3/1, Folie 15 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Anmerkungen u zurück zu unserem Ziel... uns geht es darum, besser zu verstehen, dass es und warum es unlösbare algorithmische Probleme gibt u um unser Ziel zu erreichen... man muss sich darauf einigen welche algorithmischen Probleme man überhaupt lösen will, d.h. es ist zu präzisieren, was die zu verwendenden Computerprogramme leisten sollen was Computerprogramme eigentlich sind, d.h es ist zu präzisieren, wie man sie beschreiben kann, wie sie ihre Eingaben verarbeiten, welches Verarbeitungsmodell zugrunde liegt... 3/1, Folie 16 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Algorithmische Probleme u wir interessieren uns dafür ob es Computerprogramme gibt, die bestimmte, uns interessierende Entscheidungsprobleme lösen u Zur Erinnerung ein Entscheidungsproblem ist ein Paar (X,Y) mit Y X es geht darum, für jedes x X die Frage zu beantworten, ob x Y gilt... um ein Entscheidungsproblem zu beschreiben, müssen die Elemente aus X geeignet als Zeichenketten über einem Alphabet Σ kodiert werden 3/1, Folie 17 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Algorithmische Probleme u abgeleitete Begriffsbildung sei (X,Y) ein Entscheidungsproblem sei cod eine Funktion, mit der man die Elemente von X eindeutig, und zwar möglichst platzsparend als Zeichenketten über einem Alphabet Σ beschreiben kann dann definieren wir: Das Entscheidungsproblem (X,Y) heißt lösbar, wenn es ein Computerprogramm gibt, das für jedes x X folgendes leistet: bei Eingabe von cod(x) wird die Ausgabe 0 bzw. 1 bestimmt wenn x Y gilt, wird die Ausgabe 1 bestimmt wenn x Y gilt, wird die Ausgabe 0 bestimmt 3/1, Folie 18 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Diskussion u einfach ist es zu zeigen, dass... ein gegebenes Entscheidungsproblem lösbar ist, da es genügt, ein Computerprogramm mit dem gewünschten Eingabe/Ausgabe-Verhalten anzugeben u ungleich schwieriger ist es zu zeigen, dass... ein gegebenes Entscheidungsproblem unlösbar ist, da man nachzuweisen hat, dass es kein Computerprogramm gibt, das das gewünschte Eingabe/Ausgabe-Verhalten hat... also muss man die Menge M aller Computerprogramme kennen und begründen, dass kein Programm in M das gewünschte Eingabe/Ausgabe-Verhalten hat 3/1, Folie 19 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Diskussion u Berechnungsmodelle um zu präzisieren, was Computerprogramme eigentlich sind, benutzt man so genannte Berechnungsmodelle... wir kennen schon einige Berechnungsmodelle (endliche Automaten, Kellerautomaten) zusammen mit einem Berechnungsmodell kennt man dann die Menge M aller Computerprogramme dieses Berechnungsmodells 3/1, Folie 20 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Diskussion u Anmerkung wenn ein Berechnungsmodell festgelegt ist, kann man sich um die Frage kümmern, ob es mit Blick auf dieses Berechnungsmodell - unlösbare Entscheidungsprobleme gibt hat man solcherart Entscheidungsprobleme gefunden, kann man sich jedoch nicht vollkommen sicher sein, dass sie unlösbar sind... es könnte ja Berechnungsmodelle geben, in denen es Computerprogramme mit dem gewünschten Eingabe/Ausgabe-Verhalten gibt... wie belastbar solche Aussagen sind, hängt davon ab, wie leistungsfähig das ausgewählte Berechnungsmodell ist... wir sind also in der selben Situation wie beim Thema Perpetuum mobile (/* unsere Erkenntnisse hängen von Annahmen ab */) 3/1, Folie 21 2017 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik