Entscheidungsprobleme

Ähnliche Dokumente
Theoretische Informatik 2

Theoretische Informatik II

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Theoretische Grundlagen der Informatik

Einführung in die Theoretische Informatik

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Theoretische Informatik

Mächtigkeit von WHILE-Programmen

Theoretische Informatik

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

THEORETISCHE INFORMATIK

Formale Sprachen. Script, Kapitel 4. Grammatiken

Grundlagen der Theoretischen Informatik

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Wortproblem für kontextfreie Grammatiken

Zusammenfassung Grundzüge der Informatik 4

Theoretische Informatik

Theoretische Informatik und Logik, VU 4.0 (Teil1: Automaten und Formale Sprachen)

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Die Komplexitätsklassen P und NP

Mathematische Maschinen

Das P versus N P - Problem

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Numerische Verfahren und Grundlagen der Analysis

Komplexitätstheorie Einführung und Überblick (Wiederholung)

1 Vom Problem zum Programm

Vorlesung Theoretische Informatik

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Komplexität und Komplexitätsklassen

Der Kurs bestand aus zwei Teilen. Mit welchem Teil wollen Sie anfangen? Ich habe mich für Teil A entschieden.

Inhaltsverzeichnis. Der Algorithmusbegriff. Algorithmen überall

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

1 Aussagenlogik und Mengenlehre

11. Primfaktorzerlegungen

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Prolog basiert auf Prädikatenlogik

3. Ziel der Vorlesung

Zusammenstellung von Fragen der Vordiplomsprüfung Theoretische Informatik (Kurse 1653/54)

Vorlesung. Funktionen/Abbildungen 1

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

16. All Pairs Shortest Path (ASPS)

15 Optimales Kodieren

Elemente der Analysis II

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

7 Rechnen mit Polynomen

Codierungstheorie Rudolf Scharlau, SoSe

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Theoretische Informatik 2

Ergänzungen zur Analysis I

Abschnitt: Algorithmendesign und Laufzeitanalyse

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Wissensbasierte Systeme

Approximationsalgorithmen

Grundbegriffe der Informatik

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur

TEIL III: FORMALE SPRACHEN

Aufgaben Theoretische Informatik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Pratts Primzahlzertifikate

Grundbegriffe der Informatik

Grenzen der Berechenbarkeit

5.1 Drei wichtige Beweistechniken Erklärungen zu den Beweistechniken... 56

Grundbegriffe der Informatik

GRAMMATIKEN. linkslinear. rechtslinear. Grammatiken. Normalform. linear. kontextfreie. Grammatiken. Greibachnormalform.

3 Sicherheit von Kryptosystemen

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Theoretische Informatik

Grammatiken und die Chomsky-Hierarchie

3 Quellencodierung. 3.1 Einleitung

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Das Briefträgerproblem

Skript zur Vorlesung Theoretische Informatik 2. Prof. Dr. Georg Schnitger

Codierung, Codes (variabler Länge)

Grundlagen der Theoretischen Informatik - Sommersemester Übungsblatt 1: Lösungsvorschläge

Kryptologie und Kodierungstheorie

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg. Codierungstheorie und Kryptographie

Algorithmen und Berechnungskomplexität I

Algorithmen und Programmierung

Formelsammlung theoretische Informatik I

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Theoretische Grundlagen des Software Engineering

Rekursive Auswertungsprozesse in Haskell

Satz 25 A sei eine (n n)-matrix über K

3.2 Spiegelungen an zwei Spiegeln

Theoretische Informatik - Zusammenfassung

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Programmiersprachen und Übersetzer

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Transkript:

Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge ist die Menge aller Wörter über einem Alphabet Σ. Menge aller Eingaben mit Antwort JA ist Sprache L Σ B. Reichel, R. Stiebe 59

Definitionen Entscheidbarkeit und Semi-Entscheidbarkeit Definition: Eine Menge A Σ heißt entscheidbar, falls die charakteristische Funktion von A, nämlich χ A : Σ {0, 1}, berechenbar ist. Hierbei ist für alle w Σ : { 1 falls w A, χ A (w) = 0 falls w A, Definition: Eine Menge A Σ heißt semi-entscheidbar, falls die halbe charakteristische Funktion von A, nämlich χ A : Σ {0, 1}, berechenbar ist. Hierbei ist für alle w Σ : { χ 1 falls w A, A(w) = nicht definiert falls w A, B. Reichel, R. Stiebe 60

Beziehung zwischen Entscheidbarkeit und Semi-Entscheidbarkeit Satz. Eine Menge A Σ ist entscheidbar genau dann, wenn sowohl die Menge A als auch ihr Komplement A = Σ \ A semi-entscheidbar sind. Beweis. Aus Entscheidbarkeit von A folgt sofort Semi-Entscheidbarkeit von A und A. Sind A und A jeweils semi-entscheidbar, so lasse für eine Eingabe w gleichzeitig Algorithmen M A und M A zur Berechnung von χ A und χ laufen, bis einer stoppt. A Wegen der Semi-Entscheidbarkeit von A und A muss einer der Algorithmen stoppen! Stoppt M A : Ausgabe 1; stoppt M A : Ausgabe 0. B. Reichel, R. Stiebe 61

Rekursiv aufzählbare Mengen Definition. Eine Menge A Σ heißt rekursiv aufzählbar, falls A = oder falls es eine totale und berechenbare Funktion f : N Σ gibt, so dass A = {f(0), f(1), f(2),... } gilt. Sprechweise: f zählt A auf. Man beachte: f(i) = f(j) für i j ist zulässig. Satz. Eine Menge ist genau dann rekursiv aufzählbar, wenn sie semi-entscheidbar ist. B. Reichel, R. Stiebe 62

Folgerung Sei A Σ eine Menge. Dann sind folgende Aussagen äquivalent. (i) A ist rekursiv aufzählbar. (ii) A ist semi-entscheidbar. (iii) χ A ist berechenbar. (iv) A ist Definitionsbereich einer berechenbaren Funktion. (v) A ist Wertebereich einer berechenbaren Funktion. B. Reichel, R. Stiebe 63

Nicht-entscheidbare Probleme 1. Probleme mit Turingmaschinen als Eingaben (Halteproblem) Turingmaschinen werden durch Wörter codiert. Anwendung der Diagonalisierung 2. Reduktion als Beweistechnik für Nicht-Entscheidbarkeit 3. Weitere nicht-entscheidbare Probleme B. Reichel, R. Stiebe 64

Codierung von Turing-Maschinen Gegeben: TM M = (Z, {0, 1}, Γ, δ, z 0,, E) Ziel: Codierung von M durch ein Wort w {0, 1} Z = {z 0, z 1,..., z k }, Γ = {a 0, a 1,..., a k } wobei a 0 = 0, a 1 = 1, a 2 =, E = {z i1,..., z il }. Codierung von Z, Γ, E durch Wort u {0, 1, #} : u = ##bin(k)##bin(n)##bin(i 1 )#bin(i 2 ) bin(i l ) Jeder δ-regel der Form δ(z i, a j ) = (z i, a j, y) entspricht das Wort w i,j = ##bin(i)#bin(j)#bin(i )#bin(j )#bin(y), wobei bin(l) = 00, bin(r) = 01, bin(n) = 10 Codierung von δ durch Wort v, das durch Konkatenation der Wörter w i,j entsteht. Codierung von M durch uv {0, 1, #}. B. Reichel, R. Stiebe 65

Codierung von Turing-Maschinen Fortsetzung Jedes Wort über {0, 1, #} kann durch ein Wort über {0, 1} codiert werden, indem man folgende Codierung vornimmt: 0 00, 1 01, 2 10, # 11. Nicht jedes Wort in {0, 1} ist die Codierung einer Turingmaschine. Sei aber M 0 irgendeine beliebige feste Turingmaschine, dann können wir für jedes w {0, 1} festlegen, dass M w eine bestimmte Turingmaschine bezeichnet, nämlich M(w) = M w = { M M 0 falls w Codewort von M ist, sonst. B. Reichel, R. Stiebe 66

Spezielles Halteproblem für Turingmaschinen Definition. Das spezielle Halteproblem für Turingmaschinen ist die Menge K = {w {0, 1} M w angesetzt auf w hält}. Satz. Das spezielle Halteproblem für Turingmaschinen (K) ist nicht entscheidbar. B. Reichel, R. Stiebe 67

Unentscheidbarkeit des speziellen Halteproblems Beweis I Angenommen, K wäre entscheidbar. Dann wäre χ K berechenbar mittels einer Turingmaschine M. Diese Maschine M könnte nun leicht zu einer Turingmaschine M umgebaut werden, die durch folgende Abbildung definiert ist. "!$#% Das heißt, M stoppt genau dann, wenn M den Wert 0 ausgeben würde. Falls M den Wert 1 ausgibt, gerät M in eine Endlosschleife. B. Reichel, R. Stiebe 68

Unentscheidbarkeit des speziellen Halteproblems Beweis II Sei w ein Codewort der Maschine M. Nun gilt M angesetzt auf w hält M angesetzt auf w gibt 0 aus (wegen Definition von M ), χ K (w ) = 0 (da M die Menge K entscheidet), w K (wegen Definition von χ K ), M w angesetzt auf w hält nicht (wegen Definition von K), M angesetzt auf w hält nicht (da w Code von M ist). Dieser Widerspruch beweist, dass die Eingangsannahme falsch war, also ist K nicht entscheidbar. B. Reichel, R. Stiebe 69

Reduzierbarkeit von Sprachen Definition. Eine Sprache A Σ heißt reduzierbar auf die Sprache B Γ, Notation A B, wenn es eine totale und berechenbare Funktion f : Σ Γ gibt, sodass Satz. für alle w Σ : w A genau dann, wenn f(w) B. Es seien A und B Sprachen mit A B. Ist B entscheidbar, so ist auch A entscheidbar. Ist A nicht entscheidbar, so ist auch B nicht entscheidbar. B. Reichel, R. Stiebe 70

Das Halteproblem für Turingmaschinen Definition. Menge Das (allgemeine) Halteproblem für Turingmaschinen ist die H = {w#x M w angesetzt auf x hält}. Satz. Das Halteproblem für Turingmaschinen (H) ist nicht entscheidbar. Beweis: durch Reduktion des speziellen Halteproblems K auf H für alle w {0, 1} : w K genau dann, wenn w#w H Funktion f : {0, 1} {0, 1, #} mit f(w) = w#w ist berechenbar. Da K nicht entscheidbar ist, ist auch H nicht entscheidbar. B. Reichel, R. Stiebe 71

Das 10. Hilbertsche 3 Problem Definition. Das 10. Hilbertsche Problem ist definiert durch: Gegeben: n N, ein Polynom p(x 1,..., x n ) in n Unbekannten, Frage: Besitzt p ganzzahlige Nullstellen? Satz. Das 10. Hilbertsche Problem ist nicht entscheidbar. 3 David Hilbert, deutscher Mathematiker, 1862-1943 B. Reichel, R. Stiebe 72

Das Postsche 4 Korrespondenzproblem Definition. Das Postsche Korrespondenzproblem (PKP) ist definiert durch: Gegeben: Alphabet A, k N sowie die Folge von Wortpaaren (x 1, y 1 ), (x 2, y 2 ),..., (x k, y k ) mit x i, y i A + für 1 i k. Frage: Gibt es eine Folge von Indizes i 1, i 2,..., i n mit i j {1, 2,..., k} für 1 j n, n N, so dass x i1 x i2... x in = y i1 y i2... y in gilt? Satz. Das Postsche Korrespondenzproblem ist nicht entscheidbar. 4 Emil Post, amerikanischer Mathematiker, 1897-1954 B. Reichel, R. Stiebe 73

Beispiel für Postsches Korrespondenzproblem Das Korrespondenzproblem A = {0, 1}, k = 3, K = ((1, 101), (10, 00), (011, 11)), also x 1 = 1 x 2 = 10 x 3 = 011 y 1 = 101 y 2 = 00 y 3 = 11 besitzt die Lösung (1, 3, 2, 3), denn es gilt x 1 x 3 x 2 x 3 = 101110011 = 101110011 = y 1 y 3 y 2 y 3. B. Reichel, R. Stiebe 74

Weiteres Beispiel für Postsches Korrespondenzproblem Gegeben ist folgende Belegung des PKP: x 1 = 001 x 2 = 01 x 3 = 01 x 4 = 10 y 1 = 0 y 2 = 011 y 3 = 101 y 4 = 001. Dieses Problem besitzt eine Lösung, aber die kürzeste Lösung besteht aus 66 Indizes, nämlich 2, 4, 3, 4, 4, 2, 1, 2, 4, 3, 4, 3, 4, 4, 3, 4, 4, 2, 1, 4, 4, 2, 1, 3, 4, 1, 1, 3, 4, 4, 4, 2, 1, 2, 1, 1, 1, 3, 4, 3, 4, 1, 1, 1, 4, 4, 2, 1, 4, 1, 1, 3, 4, 1, 1, 3, 1, 1, 3, 1, 2, 1, 4, 1, 1, 3 B. Reichel, R. Stiebe 75

Semi-Entscheidbarkeit des PKP Der naive Algorithmus, der bei gegebener Eingabe (x 1, y 1 ), (x 2, y 2 ),..., (x k, y k ) systematisch alle immer länger werdende Indexfolgen i 1, i 2,..., i n daraufhin untersucht, ob sie eine Lösung darstellen und im positiven Fall stoppt, demonstriert, dass das PKP semi-entscheidbar ist. Bei Eingaben, die keine Lösung besitzen, stoppt das Verfahren allerdings nicht. B. Reichel, R. Stiebe 76