1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

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

Theoretische Informatik 2

Wortproblem für kontextfreie Grammatiken

Zusammenfassung Grundzüge der Informatik 4

Grammatiken und die Chomsky-Hierarchie

Grammatiken. Einführung

Einführung in die Theoretische Informatik

Theoretische Grundlagen der Informatik

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

Mächtigkeit von WHILE-Programmen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Theoretische Grundlagen der Informatik

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

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

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

Vorlesung Theoretische Informatik

Theoretische Informatik

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

Formale Sprachen und Grammatiken

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

Grundlagen der Theoretischen Informatik

Grundbegriffe der Informatik

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

Informatik I WS 07/08 Tutorium 24

Kapitel 2: Formale Sprachen Gliederung

Komplexität und Komplexitätsklassen

Algorithmen und Programmierung

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

Theoretische Informatik

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Grundbegriffe der Informatik

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

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

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

Semantic Web Technologies I!

Grundbegriffe der Informatik

THEORETISCHE INFORMATIK

Formale Sprachen. Script, Kapitel 4. Grammatiken

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Theoretische Informatik I

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Programmiersprachen und Übersetzer

3. Ziel der Vorlesung

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

Theoretische Informatik

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

Prolog basiert auf Prädikatenlogik

Approximationsalgorithmen

Algorithmen II Vorlesung am

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

7. Formale Sprachen und Grammatiken

Theorie der Informatik

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

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

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

Mathematische Maschinen

4 Greedy-Algorithmen (gierige Algorithmen)

TEIL III: FORMALE SPRACHEN

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

Was bisher geschah: Formale Sprachen

Das Briefträgerproblem

Sprachen/Grammatiken eine Wiederholung

ARBEITSBLATT ZU FORMALEN SPRACHEN

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

2. Lernen von Entscheidungsbäumen

Aufgaben Theoretische Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Vorlesung. Funktionen/Abbildungen 1

Theoretische Informatik 2

2.11 Kontextfreie Grammatiken und Parsebäume

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Theoretische Informatik II

Formelsammlung theoretische Informatik I

Absolute Stetigkeit von Maßen

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

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

1 Vom Problem zum Programm

Tutorium zur theoretischen Informatik Übungsblatt 4 ( )

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

11. Primfaktorzerlegungen

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

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Kapitel 7: Formaler Datenbankentwurf

Einführung in die Informatik Grammars & Parsers

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

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

Codierungstheorie Rudolf Scharlau, SoSe

Theoretische Informatik 1

Prädikatenlogik - Micromodels of Software

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Theoretische Informatik I

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

Theoretische Informatik

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Abschnitt: Algorithmendesign und Laufzeitanalyse

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Transkript:

1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155

Überblick Zunächst einmal definieren wir formal den Begriff Entscheidbarkeit. Was bedeutet es überhaupt, daß ein Problem entscheidbar ist? Dann kommen wir zum Begriff Semi-Entscheidbarkeit. Hier wird erlaubt, daß das Entscheidungsverfahren bei einer negativen Antwort nicht terminiert und keine Antwort liefert. Anschließend geht es um negative Resultate. Wie kann man zeigen, daß ein Problem nicht entscheidbar ist? WS 11/12 156

Entscheidbarkeit und Semi-Entscheidbarkeit Definition Eine Sprache A Σ heißt entscheidbar, fallsdiecharakteristische Funktion von A, d.h. die Funktion χ A :Σ {0, 1} mit χ A (w) = 1 falls w A 0 falls w A berechenbar ist. Eine Sprache, die nicht entscheidbar ist, heißt unentscheidbar. WS 11/12 157

Darstellung der Entscheidbarkeit an einem Maschinenmodell: w Ja (Ausgabe 1) Nein (Ausgabe 0) Bei jeder Eingabe rechnet die Maschine endliche Zeit und gibt dann entweder Ja oder Nein aus. WS 11/12 158

Definition Eine Sprache A Σ heißt semi-entscheidbar, fallsdie halbe charakteristische Funktion von A, d.h. die partielle Funktion χ A :Σ {1} mit χ A(w) = 1 undefiniert falls w A falls w A berechenbar ist. Bei Semi-Entscheidbarkeit erlaubt man also, daß die berechnete Funktion χ A im negativen Fall undefiniert ist, d.h. keine Antwort zurückkommt. Bei konkreten Berechnungsmodellen bedeutet das dann Nicht-Terminierung. WS 11/12 159

Darstellung der Semi-Entscheidbarkeit an einem Maschinenmodell: w??? Ja (Ausgabe 1) Bei jeder Eingabe rechnet die Maschine und gibt im Fall w A nach endlicher Zeit Ja aus. Falls w A gilt, so terminiert die Maschine nicht. Das heißt, man kann sich nie sicher sein, ob nicht doch irgendwann Ja ausgegeben wird, da die Antwortzeit der Maschine nicht beschränkt ist. WS 11/12 160

Satz 26 Eine Sprache A ist semi-entscheidbar genau dann, wenn sie vom Typ 0 ist. Beweis: Die Typ-0-Sprachen sind nach Satz 5 genau die Sprachen, die von einer Turing-Maschine akzeptiert werden. : Eine Turing-Maschine, die die halbe charakteristische Funktion χ A berechnet, akzeptiert auch die Sprache A, dasienachschreibender1in einen Endzustand übergeht. : Sei M deterministische Turing-Maschine, die A akzeptiert. neue Turing-Maschine M wird aus M konstruiert: wenn M in Endzustand z E übergeht, lösche Band und schreibe 1, beiübergang in Haltekonfiguration ohne Endzustand wechsle in Fehlerzustand und laufe unendlich nach rechts. Diese TM berechnete χ A. WS 11/12 161

Zur Erinnerung: die Chomsky-Hierarchie Menge aller Sprachen Typ-0-Sprachen semi-entscheidbare Sprachen Typ-1-Sprachen kontextsensitive Sprachen Typ-2-Sprachen kontextfreie Sprachen Typ-3-Sprachen reguläre Sprachen WS 11/12 162

Bemerkungen: Im Zusammenhang mit Fragestellungen der Entscheidbarkeit werden Sprachen oft auch als Probleme bezeichnet. Auch wenn charakteristische Funktionen Wörter als Argumente haben, kann man sie leicht als Funktionen über natürlichen Zahlen auffassen und so mit While- bzw.goto-programmen berechnen: Jedes Wort aus Γ kann als Zahl zur Basis b aufgefaßt werden, wobei b Γ. (Siehe auch die Umwandlung Turing-Maschinen Goto-Programme.) Daher werden wir als Probleme im folgenden auch Teilmengen von N bzw. N k betrachten. WS 11/12 163

Typische Beispiele für Probleme: Beispiel 1: das Wortproblem Sei G eine Chomsky-Grammatik und das Problem sei L(G). In einer Hausaufgabe beweisen Sie, daß L(G) entscheidbarist,fallsg vom Typ 1 ist. Wir werden später sehen, daß es Grammatiken gibt, für die L(G) nicht entscheidbar ist. Beispiel 2: das allgemeine Wortproblem Das allgemeine Wortproblem ist die Menge A = {(w, G) w L(G), G Chomsky-Grammatik}, wobei die Paare (w, G) geeignet als Zeichenketten kodiert werden müssen. WS 11/12 164

Satz 27 Das allgemeine Wortproblem ist unentscheidbar. Beweis: Sei G eine Grammatik, für die das Wortproblem L(G) unentscheidbar ist. Wenn das allgemeine Wortproblem A entscheidbar wäre, so wäre auch L(G) entscheidbar: Für ein gegebenes Wort w müßte man nämlich nur überprüfen, ob (w, G) A gilt. Widerspruch! w G Maschine für allgemeines Wortproblem Ja Nein Maschine für (spezielles) Wortproblem WS 11/12 165

Das heißt, aus einer Maschine zur Lösung des allgemeinen Wortproblems könnte man eine Maschine zur Lösung des (speziellen) Wortproblems bauen. Da es letztere aber für die Grammatik G nicht gibt, kann es auch erstere nicht geben. Argumentationen dieser Art ( wenn es ein Verfahren für A gibt, dann kann man daraus ein Verfahren für B konstruieren ) bezeichnet man als Reduktionen. Wir werden sie im folgenden häufiger anwenden. WS 11/12 166

Beispiel 3: das Schnittproblem Das Schnittproblem für kontextfreie Grammatiken ist die Menge A = {(G 1, G 2 ) G 1, G 2 kontextfreie Grammatiken, L(G 1 ) L(G 2 )= }. Das Schnittproblem ist unentscheidbar (noch ohne Beweis). Bemerkung: in der Übung folgern Sie hieraus mit Hilfe des folgenden Satzes, daß es nicht einmal semi-entscheidbar ist. WS 11/12 167

Satz 28 Eine Sprache A Σ ist genau dann entscheidbar, wenn sowohl A als auch A =Σ \ A semi-entscheidbar sind. Beweis: Sei zunächst A entscheidbar. Dann ist also die charakterische Funktion χ A berechenbar mittels einer Turing-Maschine M. Die folgende Turing-Maschine M A berechnet die halbe charakteristische Funktion χ A von A: M A simuliert die Maschine M. Falls M mit der Ausgabe 0 terminiert, geht jedoch M A in eine Endlosschleife über. Also ist A semi-entscheidbar. WS 11/12 168

Die folgende Turing-Maschine M A berechnet die halbe charakteristische Funktion χ von A: A M A simuliert die Maschine M. Falls M mit der Ausgabe 1 terminiert, geht M A in eine Endlosschleife über. Falls M mit der Ausgabe 0 terminiert, so terminiert M A mit der Ausgabe 1. Also ist auch A semi-entscheidbar. Damit ist die erste Implikation gezeigt. WS 11/12 169

Seien umgekehrt sowohl A als auch A semi-entscheidbar. Dann existieren Turing-Maschinen M A und M A,dieχ A bzw. χ A berechnen. Der Algorithmus auf der folgenden Folie berechnet dann χ A. Sei w Σ. Wir unterscheiden 2 Fälle: 1 w A. Dann existiert t N, sodaßm A nach t Schritten terminiert. Wegen w / A terminiert M A niemals (und insbesondere nicht vorher). Damit terminiert der Algorithmus mit der korrekten Ausgabe 1=χ A (w). 2 w / A. Dann existiert t N, sodaßm A nach t Schritten terminiert. Wegen w / A terminiert M A niemals (und insbesondere nicht vorher). Damit terminiert der Algorithmus mit der korrekten Ausgabe 0=χ A (w). Dieses letzte Argument heißt mitunter Schwalbenschwanz-Argument. WS 11/12 170

Input w t := 1; While true Do If M A terminiert bei Eingabe w nach t Schritten Then Output(1) Elseif M A terminiert bei Eingabe w nach t Schritten Then Output(0) End t := t +1 End WS 11/12 171

Definition Eine Sprache A Σ heißt rekursiv aufzählbar, fallsa = oder es gibt eine totale und berechenbare Funktion f : N Σ mit A = {f (n) n N} = {f (1), f (2), f (3),...}. Bemerkungen: Sprechweise: die Funktion f zählt die Sprache A auf. Äquivalente Definition von rekursiver Aufzählbarkeit: es gibt eine totale, berechenbare und surjektive Funktion f : N A. WS 11/12 172

Satz 29 Eine Sprache A ist genau dann rekursiv aufzählbar, wenn sie semi-entscheidbar ist. Beweis: SeiA Σ rekursiv aufzählbare Sprache. Dann existiert berechenbare und totale Funktion f mit A = {f (n) n N}. Algorithmus, der χ A berechnet: Input w i := 1; While true Do If f (i) =w Then Output(1) End i := i +1 End WS 11/12 173

SeiA Σ semi-entscheidbar. 1. Fall: A = {w 0, w 1,...,w n } ist endlich dann setze wi falls i n f (i) = w n sonst Dann ist f berechenbar, total, mit Bild A. WS 11/12 174

2. Fall: A ist unendlich. Es gibt eine Turing-Maschine M =(Z, Σ, Γ,δ,z 0,, E) mita = T (M) Im Beweis von Satz 8 haben wir erfolgreiche Berechnungen von M durch Wörter c Ω mit Ω = Z Γ {#} beschrieben. Für eine solche erfolgreiche Berechnung c sei w(c) ihr Eingabewort. Input: i N c := ε; j := 0; While true Do c := das längenlexikographisch nach c kommende Wort aus Ω ; If c ist eine erfolgreiche Berechnung Then j := j + 1; If j = i Then Output w(c) End End berechnet totale Funktion mit Bild A: Sei c 1, c 2, c 3... die längenlexikographische Auflistung aller erfolgreichen Berechnungen von M. Dann berechnet dieser Algorithmus die Funktion i w(c i ). WS 11/12 175

Aus den Sätzen 5, 26 und 29 folgt, daß die folgenden Aussagen für eine Sprache A äquivalent sind. Semi-Entscheidbarkeit und äquivalente Begriffe A ist semi-entscheidbar (d.h. χ A ist berechenbar). A ist rekursiv aufzählbar (d.h. Bild einer totalen berechenbaren Funktion). A ist vom Typ 0 (d.h. von einer Grammatik erzeugt). A = T (M) für eine Turing-Maschine M (d.h. von einem Algorithmus akzeptiert). WS 11/12 176

Satz 30 Die folgenden Aussagen sind für A = äquivalent: 1 Aistsemi-entscheidbar(d.h.χ A ist berechenbar) 2 A ist rekursiv aufzählbar (d.h. Bild einer totalen berechenbaren Funktion) 3 A ist Bild einer partiellen berechenbaren Funktion 4 A ist Definitionsbereich einer partiellen berechenbaren Funktion. Beweis 1 2: schon gezeigt in Satz 29 2 3: trivial, da jede totale Funktion eine partielle Funktion ist 1 4: trivial, da χ A partielle berechenbare Funktion ist 4 1: ist f partielle berechenbare Funktion mit Definitionsbereich A, so gilt χ A (w) =k 1(f (w)). Also ist χ A berechenbar. WS 11/12 177

3 2: Sei f partielle berechenbare Funktion mit Bild A und a A beliebig. Definiere neue Funktion g mit g(u#v) = f (v) a falls f (v) nach u Schritten berechnet ist sonst Dies ist eine totale und berechenbare Funktion. Das Bild dieser Funktion ist gleich dem Bild von f (und damit A): Sei w = f (v). Dann existiert t N, so daß Berechnung von f (v) nach t N Schritten terminiert. Dann gilt g(0 t #v) =v. Also ist das Bild von f im Bild von g enthalten. Sei w = g(u#v), alsow {f (v), a}. Sowohl f (v) alsaucha sind aber im Bild von f enthalten. Also ist auch das Bild von g in dem von f enthalten. WS 11/12 178