Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie

Ähnliche Dokumente
Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Wie man eine Sprache versteht

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Die mathematische Seite

Informatik III - WS07/08

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

Formale Grundlagen der Informatik 1 Kapitel 24 Zusammenfassung

F2 Zusammenfassung Letzte Tips zur Klausur

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

P, NP und NP -Vollständigkeit

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

2.2 Nichtdeterministische endliche Automaten

Kontextfreie Sprachen

2.3 Abschlusseigenschaften

Kontextfreie Grammatiken

Kontextfreie Sprachen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Übersicht. 3 3 Kontextfreie Sprachen

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Formale Grundlagen der Informatik 1 Kapitel 7 Eigenschaften kontextfreier Sprachen

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

Das Halteproblem für Turingmaschinen

Theorie der Informatik

Kontextfreie Sprachen werden von PDAs akzeptiert

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Ogden s Lemma: Der Beweis (1/5)

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Unentscheidbare Probleme bei formalen Sprachen

8. Turingmaschinen und kontextsensitive Sprachen

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

10 Kellerautomaten. Kellerautomaten

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Theoretische Informatik II

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Informatik 3 Theoretische Informatik WS 2015/16

Theoretische Informatik. Berechenbarkeit

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Informatik I (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. 1.5 Tabellen

Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13

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

Einführung in die Computerlinguistik

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Grundlagen der Theoretischen Informatik

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

2.1 Deterministische endliche Automaten (DFAs) Wie sind DFAs deniert und wie stellt man sie graphisch dar? Aufgaben: B1T2, B1T3.

11.1 Kontextsensitive und allgemeine Grammatiken

5.2 Endliche Automaten

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Theoretische Informatik I

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

Rekursiv aufzählbare Sprachen

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Theoretische Grundlagen der Informatik

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Willkommen zur Vorlesung Komplexitätstheorie

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

DisMod-Repetitorium Tag 4

Das Pumping Lemma: Ein Anwendungsbeispiel

Grundlagen der Theoretischen Informatik

Musterlösung Informatik-III-Klausur

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

PROBEKLAUSUR SoSe 2016

Formale Grundlagen der Informatik 1 Kapitel 22 Zusammenfassung

Automaten und Formale Sprachen SoSe 2013 in Trier

Die Nerode-Relation und der Index einer Sprache L

Typ-0-Sprachen und Turingmaschinen

Automaten und Formale Sprachen SoSe 2013 in Trier

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Grundkurs Theoretische Informatik

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

Theoretische Grundlagen der Informatik

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Berechenbarkeit und Komplexität

Theoretische Informatik I

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Transkript:

Zusammenfassung Im Automatenteil der FGI1 Vorlesung haben wir uns mit der Charakterisierung von Sprachfamilien durch immer mächtigere Automatenmodelle und Grammatiken beschäftigt. Folgende Familien haben wir kennengelernt: 1. Die Familie der regulären Sprachen REG. Diese wird durch deterministische endliche Automaten (DFAs), nichtdeterministische endliche Automaten (NFAs), rechtslineare (oder Typ-3) Grammatiken und reguläre Ausdrücke erfasst, d.h. zu jeder regulären Sprache L gibt es bspw. einen DFA A mit L(A) = L. Ebenso gibt es eine Typ-3 Grammatik G mit L(G) = L usw. 2. Die Familie der kontextfreien Sprachen CF. Diese wird durch nichtdeterministische Kellerautomaten (PDAs) und kontextfreie (oder Typ-2) Grammatiken (CFGs) erfasst. Die PDAs akzeptieren dabei mit leerem Keller. Alternativ ist auch eine Akzeptanz mit Endzustand möglich. 3. Die Familie der kontextsensitiven Sprachen CS. Diese wurde in der Vorlesung nur kurz erwähnt. Sie wird erfasst von sogenannten monotonen oder kontextsensitiven (oder Typ-1) Grammatiken oder von nichtdeterministischen linear beschränkten Automaten (LBAs). 4. Die Familie der entscheidbaren Sprachen Rec. Diese wird von Turing- Maschinen erfasst, die bei jeder Eingabe anhalten, d.h. zu einem L Rec gibt es eine TM M mit L(M) = L und M hält auf jeder Eingabe an. 5. Die Familie der aufzählbaren Sprachen Re. Diese wird von nichtdeterministischen Turing-Maschinen (NTMs), deterministischen Turing-Maschinen (DTMs) und Typ-0 Grammatiken erfasst (wobei Typ-0 Grammatiken in der Vorlesung nur kurz erwähnt wurden). 6. Die Familie der abzählbaren Mengen. Diese ist dadurch charakterisiert, dass jede abzählbare Menge M endlich ist oder eine Bijektion von den natürlichen Zahlen auf M existiert. Die Familie der abzählbaren Mengen hat hier eigentlich keine große Bedeutung und ist primär als Grenze von oben bzgl. der aufzählbaren Sprachen von Interesse. Man bezeichnet die regulären, kontextfreien, kontextsensitiven und aufzählbaren Sprachen analog zu den zugehörigen Grammatiken auch als Typ-3, Typ-2, Typ-1 und Typ-0 Sprachen. Zusammen bilden sie die Stufen der sogenannten Chomsky-Hierarchie. 1

Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie der Familie der kontextfreien Sprachen, diese wiederum eine echte Teilfamilie der Familie der kontextsensitiven Sprachen usw. Sprachen, die nicht mehr in der Familie der entscheidbaren Sprachen enthalten sind, werden als unentscheidbar bezeichnet. Diese spielen eine wichtige Rolle in der Informatik, da ein Nachweis der Unentscheidbarkeit eines Problems, bedeutet, dass dieses nicht von einem Computer gelöst werden kann. (Üblicherweise geht es um Sprachen. Ein Problem kann i.a. aber einfach in eine Sprache überführt werden. Will man z.b. zwei Zahlen addieren, dann kann als zugehörige Sprache bpsw. die Menge der Dreitupel (x, y, z) mit z = x + y gewählt werden.) Die einzelnen Modelle der obigen Stufen sind zudem äquivalent, d.h. das bspw. DFAs, NFAs, Typ-3 Grammatiken und reguläre Ausdrücke zueinander äquivalent sind. Gegeben ein NFA A kann also ein DFA B und eine Typ-3 Grammatik G angegeben werden mit L(A) = L(B) = L(G). Ferner existiert ein regulärere Ausdruck, der die gleiche Sprache beschreibt. Wir wollen noch kurz auf einige Besonderheiten in der obigen Klassifizierung eingehen: Die Sprachfamilie CF der kontextfreien Sprachen haben wir in der Vorlesung durch PDAs, die mit leerem Keller akzeptieren, oder durch kontextfreie Grammatiken erfasst. Ein PDA akzeptiert dabei mit leerem Keller, wenn er ein vorgelegtes Eingabewort w bis zum Ende lesen kann und dann der Keller komplett geleert ist. Insb. muss auch das zu Anfang im Keller befindliche Kellerbodenzeichen vom Keller entfernt worden sein. Es ist auch möglich PDAs zu definieren, die mit Endzustand akzeptieren. Ein Wort wird dann akzeptiert, wenn es bis zum Ende gelesen werden kann und der PDA dann in einem Endzustand ist. Wie der Kellerinhalt zu diesem Zeitpunkt aussieht, ist irrelevant. PDAs, die mit leerem Keller akzeptieren, und PDAs, die mit Endzustand akzeptieren, sind äquivalent, d.h. sie erfassen die gleiche Sprachfamilie. Zu jedem PDA, der mit leerem Keller eine Sprache L akzeptiert, kann also ein PDA konstruiert werden, der mit Endzustand die gleiche Sprache L akzeptiert, und umgekehrt. Beide oben aufgeführten PDA-Modelle sind nichtdeterministisch! Es ist auch möglich, einen deterministischen Kellerautomaten einen sogenannten DPDA einzuführen. Die DPDAs, die mit Endzustand akzeptieren, erfassen die Sprachfamilie detcf. Diese ist eine echte Oberfamilie der Familie der regulären Sprachen und eine echte Teilfamilie der Familie der kontextfreien Sprachen. Lässt man DPDAs mit leerem Keller akzeptieren, so erhält man eine Sprachfamilie, die quer zu REG und CF liegt, d.h. sie enthält einige (aber nicht alle) regulären Sprachen und ebenso einige (aber nicht alle) kontextfreien Sprachen. (Dies aber nur zur Information. Da wir dies in der Vorlesung nur kurz erwähnt haben, ist dies nicht für die Klausur relevant.) Die Sprachfamilie CS der kontextsensitiven Sprachen lässt sich durch LBAs und Typ-1 Grammatiken erfassen. Ein LBA ist dabei eine NTM 2

mit der zustätzlichen Eigenschaft, das bei einer Eingabe der Länge n nur c n (wobei c eine festgelegte Konstante ist) viele Bandzellen benutzt werden. Eine Typ-1 Grammatik ist eine Grammatik bei der alle Produktionen von der Form u v sind, wobei entweder u = w 1 Aw 2 und v = w 1 xw 2 mit A V N, x V + und w 1, w 2 V ist oder u = S und v = λ gilt. Zusätzlich kommt S in keiner Regel auf der rechten Seite vor. (Der Begriff monoton kommt daher, dass die rechten Seiten der Regeln stets mindestens so groß wie die linken Seiten sind mit Ausnahme der Regel S λ.) (Auch dies ist nur zur Information und nicht klausurrelevant.) Neben den eben erwähnten nichtdeterministischen LBAs lassen sich auch deterministische LBAs (DLBAs) einführen. Es ist aber unklar, ob diese äquivalent zu NLBAs sind. Ein weiteres wichtiges Thema war die Komplexitätstheorie. Wenn man von einer Sprache bzw. einem Problem bereits weiß, dass es entscheidbar ist, so ist anschließend von Interesse, wie schnell dieses Problem gelöst werden kann. Eine herausragende Rolle spielen dabei die Klassen P und NP. Existiert für ein Problem eine Turing-Maschine bzw. allgemein ein Algorithmus, der das Problem in Polynomialzeit löst, so liegt das Problem in P. Ein Problem wird dabei in Polynomialzeit gelöst, wenn es ein Polynom p gibt, so dass bei einer Eingabe der Länge n maximal p(n) viele Schritte (von einer DTM) getätigt werden. NP ist eine ähnliche Klasse, allerdings wird hier eine nichtdeterministische TM als Modell verwendet. In N P liegen also all jene Probleme, die von einer nichtdeterministischen Turing-Maschine (bzw. einem nichtdeterministischem Algorithmus) in Polynomialzeit gelöst werden können. Da jede DTM als spezielle NTM gesehen werden kann, gilt sofort P NP. Ob auch die Umkehrung gilt, also ob P = NP gilt, ist unbekannt. Von Problemen, die in P liegen, sagt man im Allgemeinen, dass sie praktisch lösbar sind. Liegt ein Problem hingegen in NP \ P, so ist dies nicht der Fall, da eine Lösung dann zu zeitintensiv ist (ein Problem aus NP kann deterministisch in Exponentialzeit gelöst werden). Bisher ist es aber nicht gelungen Techniken zu entwickeln, mit denen gezeigt werden kann, dass ein Problem in NP, aber nicht in P liegt. Mit einer solchen Technik könnte man untere Schranken für den Zeitbedarf von Problemen etablieren. Da wir dies aber noch nicht können, behelfen wir uns mit einer anderen Technik: Wir weisen ein Problem als NP -vollständig nach. Ein NP -vollständiges Problem liegt in NP und ferner kann jedes Problem aus N P in Polynomialzeit auf es reduziert werden. Eine Reduktion von einer Sprache L 1 auf eine Sprache L 2 ist dabei eine Funktion f, die in Polynomialzeit berechnet werden kann und die x L 1 genau dann, wenn f(x) L 2 erfüllt. Von einem NP -vollständigen Problem sagt man dann, dass es eines der schwierigsten in NP ist und vermutet ferner, dass es für dieses keinen Algorithmus in P gibt. Der Grund hierfür liegt darin, dass sollte man es doch in P lösen können, daraus P = NP folgen würde. Obgleich wir also noch keine unteren Schranken für die Laufzeit von Algorithmen zeigen können, können wir immerhin zeigen, dass ein Problem recht wahrscheinlich nicht in Polynomialzeit gelöst werden kann. 3

Wichtige Begriffe und Verfahren In der Vorlesung haben wir eine Vielzahl an Begriffen und Verfahren (bzw. Vorgehensweisen) kennengelernt. Es folgt eine (recht umfangreiche) Liste der wichtigsten. Der zwölfte Foliensatz gibt ebenfalls einen schnelle(re)n Überblick über die wichtigen Begriffe und Verfahren und die Probeklausur gibt einen guten Eindruck von zu erwartenden Aufgaben. Mathematische Grundbegriffe wie Mengen, Funktionen, Relationen usw. Grundbegriffe der formalen Sprachen wie Alphabet, Konkatenation, das leere Wort λ (oder ɛ), (formale) Sprache. Die Notationen w für die Länge eines Wortes w und w a für die Anzahl des Auftretens des Buchstaben a in dem Wort w. Ferner die Notation w rev für das Umdrehen des Wortes, d.h. es ist bspw. 011 rev = 110. Deterministischer, endlicher Automat (DFA) inkl. der einzelnen Bestandteile, hier also Zustandsmenge, Eingabealphabet, Überführungsfunktion, Startzustand und Menge der Endzustände. Sowie der aufbauenden Begriffe erweiterte Überführungsfunktion, Konfiguration, Konfigurationsübergang, Rechnung, Erfolgsrechnung, akzeptierte Sprache, vollständig und initial zusammenhängend. Wichtige Verfahren: Gegeben ein DFA, die von ihm akzeptierte Sprache bestimmen und gegeben eine Sprache, einen DFA konstruieren, der sie akzeptiert. In beiden Fällen ist anschließend ein Beweis nötig, dass tatsächlich L(A) = L gilt. Dabei ist i.a. L(A) L und L L(A) zu zeigen, was sauber zu trennen ist. (Zur Konstruktion eines DFA haben wir zwei Techniken kennengelernt.) Nichtdeterministischer, endlicher Automat (NFA) mit teilweiser Abwandlung obiger Begriffe. Besonders wichtig ist hier die Änderung der Akzeptanzbedingung im Vergleich zum DFA. Wichtiges Verfahren: Potenzautomatenkonstruktion (hier insb. auch beachten wie der Start- und wie die Endzustände bestimmt werden und dass der Potenzautomat durch die Einführung einer Senke (der Zustand ) stets vollständig ist.) Weitere Formalismen: NFAs mit λ-kanten und reguläre Ausdrücke. DFAs, NFAs, NFAs mit λ-kanten und reguläre Ausdrücke sind äquivalent und erfassen genau die Familie der regulären Sprachen. Abschlusseigenschaften. Eine Abschlusseigenschaft einer Sprachfamilie C ist eine Operation, so dass für je zwei L 1, L 2 C wieder L 1 L 2 C gilt (und ähnlich für einstellige Operationen wie z.b. die Komplementbildung). Die regulären Sprachen sind gegenüber,, +,, sowie Komplementbildung abgeschlossen (und sogar noch ggü. weiteren Operationen). 4

Pumping Lemma für reguläre Sprachen (Aussage? Sinn? Wie wendet man es an?). Nichtdeterministischer Kellerautomat (PDA) wieder inkl. der nötigen Begriffe. Hier kommt insb. die Handhabung des Kellers hinzu. Die mit leerem Keller akzeptierte Sprache wird mit L λ (A) oder N(A), die mit Endzustand akzeptierte Sprache mit L Z (A) oder L(A) bezeichnet (meist ist dies aber im Kontext klar). Wichtige Verfahren: Wie oben auch hier gegeben eine Sprache einen PDA konstruieren können (hier haben wir wieder zwei Konstruktionsmethoden kennengelernt) und andersherum gegeben einen PDA, die Sprache bestimmen können (seltener). Hinzu kommt auch hier der Beweis von L λ (A) = L etc. Grammatiken, insb. kontextfreie Grammatiken und (rechts-)lineare Grammatiken sowie die zugehörigen Begriffe wie Nonterminale, Terminale, Produktionen, Startsymbol, Ableitung, generierte Sprache. Die rechtslinearen Grammatiken generieren genau die regulären Sprachen (und sind damit wieder äquivalent zu DFAs, NFAs usw.). Die kontextfreien Grammatiken generieren genau die Sprachfamilie der kontextfreien Sprachen. Sie sind äquivalent zu PDAs. Konstruktionsmethoden zu einer Sprache eine Grammatik zu konstruieren, die die Sprache generiert und andersherum zu einer Grammatik die Sprache zu bestimmen, die sie generiert. Bei beiden ist wieder ein Beweis von L(G) = L nötig, bei dem wieder zwei Richtungen zu zeigen sind. Abschlusseigenshaften. Die kontextfreien Sprachen sind ggü., und abgeschlossen, nicht aber ggü., Komplementbildung und Mengendifferenz. Wichtiges Verfahren: Herstellung der (erweiterten) Chomsky-Normalform. Pumping Lemma kontextfreier Sprachen (Aussage? Sinn? Wie wendet man es an? Unterschied zum Pumping Lemma für reguläre Sprachen?). Deterministische Turing-Maschine inkl. der zugehörigen Begriffe (LSK, Bandalphabet, akzeptierte Sprache usw.). Turing-Maschinen können Sprachen akzeptieren und Funktionen berechnen. Wichtige Verfahren: Zu einer Sprache eine TM konstruieren, die sie akzeptiert, bzw. zu einer Funktion eine TM konstruieren, die sie berechnet. (Die Rückrichtung geht wie bei DFAs und PDAs auch, ist allerdings eher unüblich, da das eher daran erinnert unkommentierten Sourcecode zu verstehen.) Auch hier muss argumentiert werden, warum die TM das gewünschte tut. Oft gibt man zudem nicht mehr das Zustandsübergangsdiagramm einer TM an, sondern beschreibt nur noch, was die TM tut. 5

Alternative TM-Modelle wie bspw. die TM mit beidseitig unendlichem Band und die k-band off-line TM. Konstruiert man eine TM, sollte man immer angeben, welches Modell man benutzt! Nichtdeterministische Turing-Maschinen (NTM) wieder inkl. der zugehörigen Begriffe. Programmieren einer NTM unter Ausnutzung des Nichtdeterminismus. In den Folien findet man z.b. eine NTM für das Cliquenproblem (Foliensatz 8). Äquivalenz von NTM und DTM. Aufzählbar bzw. rekursiv aufzählbar und die Sprachfamilie RE. Entscheidbar und die Sprachfamilie REC. Zusammenhang zwischen entscheidbar und aufzählbar. (L ist entscheidbar genau dann, wenn L und L aufzählbar sind.) Abschlusseigenschaften der aufzählbaren und der entscheidbaren Sprachen. (Sind sie z.b. ggü. und abgeschlossen? Warum (nicht)?) Unentscheidbare Sprachen (insb. das Halteproblem) und wie man neue Probleme als unentscheidbar nachweist (Stichwort: Reduktion). Nicht mehr aufzählbare Sprachen (die Sprache L d ). Zeit- und Platzkomplexität. t(n)-zeit- und s(n)-platzbeschränkt, worstcase-komplexität. Zeit- und Platzschranken für NTMs. Die Komplexitätsklassen P, NP, P Space und NP Space. O-Notation. Probleme in P, Probleme in NP und wie man dies zeigt. (Polynomialzeit-)Reduktion. L 1 p L 2 als Notation für die Reduktion in Polynomialzeit. N P -Vollständigkeit. Transitivität von p. Folgerung dass P = NP gilt, sollte ein NP -vollständiges Problem in P liegen. Verfahren, um ein neues Problem als NP-vollständig nachzuweisen. Die Klasse der NP -vollständigen Probleme wird mit NP C, die der NP - schwierigen Probleme mit N P H bezeichnet. 6