Abstrakte Maschinen und Programmiersprachen

Größe: px
Ab Seite anzeigen:

Download "Abstrakte Maschinen und Programmiersprachen"

Transkript

1 Abstrakte Maschinen und Programmiersprachen Jochen Weis, Fachbereich Informatik FHD, Wintersemester 1996 Einleitung und historische Daten Im Jahre 1900 hat der Mathematiker David Hilbert eine Liste von ungelösten Problemen vorgestellt. Diese beinhaltete die Widerspruchsfreiheit der Zahlentheoie, aus der das Entscheidungs- problem entstand. Hier ein Beispiel eines Problems von Hilbert das bis heute nicht algorithmisch dar- gestellt werden kann. Bsp. : Zehntes Hilbertsches Problem Gegeben: Eine Polynomgleichung mit ganzzahligen Koeffizienten. Frage: Hat die Gleichung eine ganzzahlige Lösung? 1) x²+ y² = z² Lsg. z.b. x=+3;-3 y=+4;-4 z=+5;-5 x=0 y=0 z=0 x=6 y=8 z=10 2) x² + y² = 3 unlösbar Im Jahre 1936 fand Alan Mathison Turing (ein Mathematiker) heraus das, das Hilbertsche Problem unlösbar ist. Ein halbes Jahr vorher hatte Alonzo Church auch das Problem bewiesen, er machte das aber unabhängig von Turinmg. Turing zeigte das Probleme in kleinste Schritte zerlegbar sind. Seine Turingmaschine kann alle Probleme, die heutige Digitalrechner lösen können, auch lösen. Die Turingmachine bewerkstelligt diese nur langsammer. Ich werde im folgenden die Entwicklung von endlichen Automaten bis hin zur Turingmaschine(in einer sog. Chomsky Hierachie) aufzeigen.

2 Chomsky - Hierarchie Avram Noam Chomsky wurde am in Philadelphia geboren. Er ist Prof. für Linguistik und moderne Sprachen. Nach ihm ist die Chomsky-Hierarchie benannt. Die Chomsky - Hierarchie ordnet Sprachen den entsprechenden Automaten zu. Es werden Grammmatiken in Sprachklassen unterteilt. Sie stellt eine Hierachie der Leistungsfähigkeit dar. Noam Chomsky ein Mathematiker entwarf diese Chomsky Hierarchie im Jahre 1959 Chomsky teilt in 4 verschiedene Klassen ein. Klasse 0 Die Menge der Sprachen, die durch allgemiene Grammatiken erzeugt und von Turingmaschinen akzeptiert werden. Klasse 1 Die Menge der Sprachen, die durch kontextsensitive Grammatiken erzeugt und die durch linear beschränkte Automaten akzeptiert werden können. Klasse 2 Die Menge der Sprachen, die durch lineare Grammatiken erzeugt und durch ( nichtdeterminstische bzw. deterministische) Keller automaten akzeptiert werden können. Klasse 3 Die Menge der Sprachen, die durch rechts- bzw. links reguläre Grammatiken erzeugt und durch endliche Automaten akzeptiert werden können. Automat Turingmaschine Klasse 0 linear beschränkter Automat Klasse 1 Kellerautomat Klasse 2 endlicher Automat Klasse 3 Chomsky Sprachklasse Es gilt: Klasse3 - Klasse2 - Klasse1 - Klasse 0 - bedeutet: Ist Teil von. Die Definition einer formalen Sprache Für eine Menge Sigma von Symbolen (das Alphabet) bezeichnet (* die Menge aller Strings von Symbolen aus Sigma. Eine Sprache ist eine Teilmenge L von Sigma*

3 Beispiel: Sigma=(0,1) = Das Alphabet das aus den Binärziffern 0 und 1 besteht. Sigma*= (0,1,00,01,10,11,000,...) die Menge aller Strings die aus 0 und 1 erzeugbar sind L= (10,1010,110,...) Die Sprache die durch 2 teilbare Strings beinhaltet. Dieses wird dargestellt durch mindestens eine 0 rechts. Die Defintion eines determinstischen endlichen Automaten Entspricht der Chomsky-Hierarchie Klasse 3 Ein deterministischer endlicher Automat A=(Q,Sigma,q0,(,F) - befindet sich stets in einem Zustand der Zustandsmenge Q q0 Element Q: Startzustand F Teilmenge von Q : akzeptierendene Zustände - liest auf dem Eingabeband Zeichen des Alphabetes ( - wird in Gang gehalten von der Fktn. Delta: Q x Sigma --> Q die jedem Zustand (in Abhängigkeit des gelesenen Zeichens) einen neuen Zustand zuornet. Eingabeband Automat

4 Zu Beginn: Lesekopf ist auf dem 1. Zeichen Stop, falls der Lesekopf das 1. Blank erreicht. Ein gelesener String wird akzeptiert, wenn der Endzustand zu F gehört. L(A): Menge der vom Automaten A akzeptierten Strings (die akzeptierte Sprache) Bsp.: Ein Automat der Strings erkennt die hinten mindestens 2 Nullen haben also durch 4 teilbar sind. Band 0 1 Folgezustand q0 q1 q0 q1 qy q0 qy qy q0 Der String führt in den Zustand q1, das heist er ist durch zwei teilbar. Der string 1100 führt in den Zustand qy, das heist er ist vom endliche Automaten akzeptiert. Der Automat startet im Zustand q0. Anschließend liest er (beim lin- ken Bit beginnend) die Dualzahl Bit für Bit und ändert seine Zustände gemäß Tabelle. Man erkennt: Genau bei den durch 4 teilbaren Zahlen landet der Automat im Zustand qy (= YES). Nachdem wir am Beispiel "Teilbarkeit durch 4" mehrere (keineswegs alle) Möglichkeiten zur Beschreibung formaler Probleme kennengelernt haben, fragen wir uns, welche dieser Möglichkeiten wir zur Grundlage einer Theorie der Algorithmen machen sollen. Bei dieser grundlegenden Frage haben die Informatiker sich stets von ähnlicher Motivation leiten lassen wie die Naturwissenschaftler bei der Suche nach ihrem Weltbildern: Das Weltbild der Physiker sollte einerseits natürlich die Wirklichkeit korrekt beschreiben und sollte im übrigen möglichst "einfach" sein. Die Informatiker bei der Suche nach einer Theorie der Algorithmen waren ähnlich motiviert: Sie wollten ein Modell, das einerseits möglichst einfach ist, das aber andererseits im Prinzip "alles kann", was Rechner können und (reichlich unbescheiden) jemals können werden. Wir beginnen unsere Theorie mit endlichen Automaten. Wir werden dann jedoch feststellen, daß dieses Modell zu eng geschnitten ist und wichtige Probleme nicht beschreiben kann. Wir werden also notgedrungen das Modell erweitern (und etwas verkomplizieren) und schließlich die TURINGMASCHINEN als allgemeines Modell einführen. Diese Maschinen sind benannt nach dem englischen Mathematiker Allan Turing, der sie 1936 vorschlug, dies also zu einem Zeitpunkt, als es keine wesentlich besseren Rechenhilfen gab als mechanische Rechenschieber.

5 Nichtdeterministischer endlicher Automat Im Unterschied zu deterministischen Automaten, ist beim nichtdeterministischen Automaten nicht gewärleistet, das er im richtigen Folgezustand landet. Im obigen Bild hat der Zustand q1 beim lesen einer 1 zwei Folgezustände (qo oder q2). Er muß den Richtigen raten. DEFINITION (Nichtdeterministischer endlicher Automat, NDFA) Zu einem nichtdeterministischen Automaten A = (Q,Sigma,q0,Delta,F) gehört: - eine endliche Menge Q von Zuständen mit Startzustand q0 und Menge F von akzeptierenden Endzuständen. - das Eingabealphabet Sigma - die Zustandsüberführungs-RELATION (: Q x Sigma ---> P(Q), P(Q): Potenzmenge von Q die dem Automaten für jeden Zustand in Abhängigkeit vom gelesenen Zeichen eine Menge von möglichen Nachfolgerzuständen anbietet. Die von einem nichtdeterministischen Automaten akzeptierte Sprache ist die Menge der Strings, die (bei geeigneter Wahl der Nachfolgerzustände) vom Automaten akzeptiert werden KÖNNEN. Deterministische Automaten sind offenbar Spezialfälle von nichtdeterministischen. Andererseits ist der Verdacht naheliegend, daß (wie beidem obigen Beispiel) nichdeterministische stets in deterministische Automaten umgebaut werden können. Der folgende Satz bestätigt dies. Ferner stellt der Satz den Zusammenhang her zwischen endlichen Automaten, regulären Grammatiken und regulären Ausdrücken: Alle liefern letztlich die gleichen Sprachen (was nach den vorgeführten Beispielen vielleicht auch schon zu vermutem war)

6 SATZ Die folgenden Aussagen über eine formale Sprache L sind äquivalent (i) L wird von einem endlichen nicht-deterministischen Automaten (NDFA) akzeptiert (ii) L wird von einem endlichen deterministischen Automaten (DFA) akzeptiert (iii) L wird von einer regulären Grammatik abgeleitet (iv) L wird von einem regulären Ausdruck produziert Die Definition eines regulären Ausdrucks 1. Der Ausdruck (0) produziert den String 0 Der Ausdruck (1) produziert den String 1 2. Sind (a) und (b) Ausdrücke, so produziert der Ausdruck (a+b) die Strings, die von (a) oder (b) produziert werden. 3. Sind (a), (b) Ausdrücke, so produziert (ab) alle Strings der Form uv, wobei u von (a) und v von (b) produziert wird. 4. Ist (a) ein Ausdruck, so produzeirt (a)* alle Strings, die endliche (evtl. leere) Ketten von Strings aus (a) sind. Die Menge der von einem Ausdruck erzeugten Strings ist die vom Ausdruck produzierte Sprache. Bsp.: 1) Der Ausdruck (01)* erzeugt Epsilon, 01,0101, d.h. endliche Ketten von 01. Die erzeugte Sprache L={Epsilon,01,0101,...} Epsilon=leerer String 2) Die Sprache der Strings, die vorn eine Null und hinten eine Eins haben, wird produziert vom Ausdruck 0(0+1)*1 3) Die Menge der durch 4 teilbaren Zahlen, d.h. die Sprache der binären Strings mit mindestens 2 Nullen am Ende wird produziert vom reg. Ausdruck (0+1)*00

7 Definiton einer Grammatik Eine Grammatik enthält - Terminalsymbole (z.b. 0 und 1) - Hilfsymbole (z.b. S) - ein Startsymbol (z.b. Großbuchstaben der Form s --> t (s,t sind Strings aus Terminalsymbolen und oder Hilfsymbolen) Die Regel s --> t bedeutet: überall, wo man im aktuellen String den Teilstring S vorfindet, kann man ihn durch T ersetzen. Die ausgehend von S mit den Regeln produzierten und nur aus Terminalsysmbolen be-stehenden Strings bilden die von der Grammatik abgeleitete Sprache. Bsp.: 1) Alphabet {0,1} Startsysmbol und eiziges Hilfssysmbol Regeln: s --> Epsilon, s --> 0S1 die akzeptierte Sprache: L={Epsilon, 01,0011,000111,..} d.h. alle Strings mit ebensovielen Nullen wie Einsen rechts 2) Die Sprache L= {Epsilon, 01,0101,010101,...} aller Ketten von 01 wird abgteleitet von der Grammatik Alphabet {0,1} S: Startsysmbol, einziges Hilfsysmbol S --> Epsilon, s --> 01S alternativ: Hilfssymbole S,T S -->Epsilon, S--> 0T, T --> 1S Bsp.: Strings durch 4 teilbar werden durch die folgenden Grammatiken erzeugt. 1. Möglichkeit S--> 0T, S-->1T,T-->S,T-->00 2. Möglichkeit S-->0S, S-->1S, S-->00 3. Möglichkeit S--> T00, T-->Epsilon, T-->0T, T-->1T Nicht alle Probleme (formale Sprachen) sind mit den bisherigen Automaten beschreibbar: L={0^n 1^n ; n ist Element vonn0} Grammatik (nicht regulär) S-->(, S --> 0S1

8 Dies L ist nicht durch einen Automaten mit endl. vielen Zuständen akzeptierbar. Man bracht einen (im Prinzip unbegrenzt großen) Speicher. --> Stack (Keller) Deterministischer Kellerautomat Eingabeband _ Automat Keller (:Q x Sigma x (Sigma x Epsilon) --> (Q x {push,pop,} x (Sigma+Epsilon) push Band 0 1 Keller push,push,0 stop 0 push,push,0 pop,pop,epsilon 1 stop stop Pop Band Keller 0 1 stop stop 0 stop pop,pop,epsilon 1 stop stop Im push - Zustand: Beim lesen einer 0 wird die 0 gepuscht, und man bleibt im push - Zustand. Beim lesen einer 1 wird die letzte 0 gepopt und man geht in den pop Zustand. Im pop - Zustand: Beim lesen einer 1 wird die letzte 0 gepopt, Zustand bleibt pop. Beim lesen einer 0 --> Stop (ablehnen). Akzetierende Zustände: F={push,pop} Startzustand: push 0011: push, push, push, pop, pop -->akzeptiert 001 : push, push, push, pop --> abgelehnt (keller/=(0) 011: push, push, pop, stop --> abgelehnt Epsilon : push, --> akzeptiert (Keller 0)

9 Definition einer Kontextfreien Grammatik Entspricht der Chomsky Klasse2 Eine Grammatik heißt kontextfrei, wenn die Regeln alle von der Form u --> w Hilfssymbol String(mit Hilfssymbolen und oder Terminalsymbolen) Bedeutung: Man kann v überall "lokal" durch w ersetzen und nicht nur in einem "kontext" xvy --> xwy Satz: Eine formale Sprache L wird von einem nicht deterministischen Kellerautomaten akzeptiert genau dann, wenn sie von einer kontextfreien Grammatik abgeleitet wird. Bem.: Mittels nicht deterministischen Kellerautomaten lassen sich mehr Sprachen beschreiben als mittels deterministischen Kellerautomaten. Anwendung von Kellerautomaten: Syntaxanalyse(PARSER), Compilersysteme Nicht Beschreibbar mit einem Kellerautomaten ist z.b. Die Sprache L={0^n 1^n 2^n n Element IN} Dies L ist allerdings mit 2 Kellerautomaten beschreibbar Nicht mit 2 Kellerautomaten beschreibbar ist L={0^n 1^n 2^n 3^n} Definition eines nichtdeterministischen Kellerautomaten Entspricht der Chomsky-Klasse 2 Eingabeband _ Automat Keller

10 Zu einem nichtdeterministischen Kellerautomaten A = (Q,Sigma,q0,(,F) gehört - eine endliche Menge Q von Zuständen mit Startzustand q0 und Menge F von akzeptierenden Endzuständen. - das Alphabet Sigma - die Zustandsüberführungsrelation delta: Q x Sigma x (Sigma+Epsilon) ---> P [ Q x {push,pop} x (Sigma+Epsion) ], P: Potenzmenge Die Relation delta ist so zu verstehen, daß - in Abhängigkeit vom aktuellen Zustand, vom aktuellen Eingabezeichen und vom obersten Kellerzeichen - über den neuen Zustand entschieden wird, ferner entschieden wird, ob gepopt (pop) oder gepusht (push) wird und im letzteren Falle noch über das gepushte Zeichen entschieden wird. [An zwei Stellen wurde der leere String Epsilon ins Alphabet aufgenommen, und zwar deswegen weil (im linken Falle) der Keller leer sein kann und (im rechten Falle) bei pop kein Element gepusht wird (was wir auch so ausdrücken können, daß Epsilon gepusht wird). ] Bsp.: Ist w ein String, so entsteht der zu w Inverse String w^-1 aus durch Umkehrung der Buchstabenreihenfolge w= w^-1= Sei L={ww^-1½ w binärer String} Element L 1 1 Element L Element L 0101 nicht Element L nicht Element L Tabelle für push Band 0 1 Keller push,pop,0 push,push,1 push,pop,0 0 push,push,1 pop,pop,epsilon push,push,1 1 push,push,0 pop,pop,epsilon

11 Tabelle für pop Band Keller 0 1 stop stop 0 pop,pop,epsilon stop 1 stop pop,pop,epsilon akzeptierende Zustände : F={push,pop} Definition der Turingmaschine Entspricht der Chomsky - Klasse 0 Anmerkung den Linear - beschränkten Automaten(Chomsky - Klasse 1) habe ich weggelassen, da er nur das Eingabeband der Turingmaschine beschränkt. Dies wird z.b. durch ein $ - Symbol auf dem Band gewährleistet. Zur Geschichte des Entwicklers der Turingmaschine Alan Mathison Turing. 1912: in Paddington bei London geboren 1926: besuchte er die Sherborne Schule 1928: studierte er Relativitätstheorie 1932: studierte Turing Quanten - Mechanik, Logik und Wahrscheinlichkeitstheorie 1936: entwickelte er die Turingmaschine : Veröffentlichungen in Algebara, Logik und Zahlentheorie 1940 Entwicklung einer Maschine zur dechiffrierung der "Enigma" (deutsche Chiffriermaschine) 1947 Veröffentlichungen über "Künstliche Intelligenz" und Neuronale Netze 1950 entwickelte er den Turing Test 1954 am 7. Juni starb Turing bei einer Cyanidvergiftung Ich werde jetzt auf den wichtigsten Automaten die Turingmaschine eingehen. Dieses Computermodell hat überhaupt keinen Keller oder sonstige exter- ne Speicher. Eine Turingmaschine hat endlich viele innere Zustände wie schon die endlichen Automaten. Sie hat einen Kopf, mit dem sie vom Band lesen kann. Aber außerdem kann sie aufs Band schreiben, und sie kann den Kopf hin- und herbewegen. Wir nehmen ferner an, daß das Band nach beiden Seiten und nicht nur nach rechts unbeschränkt ist wie bei den bisherigen Automaten.

12 Eingabeband... _ _... <-- --> TURINGMASCHINE Die Turingmaschinen funktionieren auf ganz natürliche Weise. In Abhängigkeit - vom inneren Zustand und - vom gelesenen Zeichen wird der Automat - einen neuen Zustand einnehmen - das gelesene Zeichen durch ein Zeichen ersetzen und - den Kopf eine Position nach links, nach rechts oder auch gar nicht bewegen. Die früheren Automaten stoppten, wenn der Eingabestring zu Ende war. Das muß bei Turingmaschinen nicht der Fall sein. Die Zustandsüberführungsfunktion muß auch auf Blanks reagieren, die wir deswegen explizit in den Zeichensatz mitaufnehmen: DEFINITION (Deterministische Turingmaschine, Allan Turing) Eine Turingmaschine M = (Q,Sigma,Tau,b,q0,Delta,F) - befindet sich stets in einem Zustand einer endlichen Zustandsmenge. Diese Zustandsmenge Q enthält einem speziellen Startzustand q0 und eine Teilmenge F, F teil Q von akzeptierenden Endzuständen. - liest aus einem Band Zeichen eines endlichen Bandalphabeths Sigma - wird in Gang gehalten von einer Zustandsüberführungsfunktion (von einem PROGRAMM) Delta: Q x Tau ---> Q x Tau x {R,L,N} die also einen Zustand abhängig von aktuell gelesenen Zeichen in einen neuen Zustand überführt, ein Zeichen aufs Band schreibt und den Kopf möglicherweise bewegt. Der Eingabestring enthält nur Zeichen des Eingabealphabets Sigma. Der Kopf der Turingmaschine weist zu Beginn auf das erste Symbol dieses Strings. Von den übrigen Bandpositionen können wir uns vorstellen, daß sie mit einem speziellen Blanksymbol b gefüllt sind. In vielen Fällen ist Sigma = {0,1} und Tau = { 0,1,b}. Die früheren Automaten stoppen nach Abarbeiten des Eingabestrings. Turingmaschinen "stoppen" nicht in diesem Sinne; es kann höchstens sein, daß sich "nichts mehr ändert". Wir sagen: Ein Zustand ist ein STOPPZUSTAND, wenn unabhängig vom gelesenen Symbol - der Zustand der gleiche bleibt - das gelesene Symbol nicht geändert wird und - der Kopf sich nicht bewegt. Wie früher sagen wir: Ein Eingabestring w wird AKZEPTIERT, wenn die Maschine bei der Bearbeitung von w in einem akzeptierenden Endzustand stoppt. Eine weitere Subtilität wird notwendig beim Begriff der von einer Turingmaschine akzeptierten Sprache. Es kann sein, daß eine Turingmaschine überhaupt nicht stoppt, weil sie beispielsweise zwischen zwei Zuständen hin- und her oszilliert. Beim Laufen der Turingmaschine weiß

13 man dann nicht, ob der String abgelehnt ist oder ob er irgendwann doch noch akzeptiert wird. Aus diesem Grund benutzen wir zwei unterschiedliche Begriffe. DEFINITION (i) Eine Menge (Sprache) L ist ENTSCHEIDBAR, wenn es eine Turingmaschine gibt, die bei allen Eingabestrings stoppt und die den String akzeptiert genau dann, wenn er zu L gehört. (ii) Eine Menge (Sprache) L ist AUFZÄHLBAR, wenn es eine Turingmaschine gibt, die den String genau dann akzeptiert, wenn er zu L gehört (und die bei anderen Strings vielleicht überhaupt nicht stoppt). Wir wollen erwähnen, daß Turingautomaten die früheren endlichen Automaten und Kellerautomaten als Spezialfälle enthalten. Bei endlichen Automaten ist das klar, weil Turingmaschinen einfach "mehr können". Bei Kellerautomaten kann man es sich so vorstellen: Zu einem gegebenen Kellerautomaten konstruieren wir eine Turingmaschine, die die "linke Hälfte" des Bandes als Keller benutzt und die im übrigen genauso arbeitet wie der Kellerautomat. Auf diese Weise kann man jeden Kellerautomaten durch eine Turingmaschine simulieren. Beispiel für eine Turing-Maschine : Die von jedem String -2 abzieht sigma = {0,1} T = {0,1,b} Band Folgezustand 0 1 b q0 q0.0,r q0,1,r q1,b,l q1 q2,0,l q2.1.l - q2 q2,1,l q3,0,l - q3 q3,0,l q3,1,l s,b,r s Die Turing Maschine macht aus dem String > 101 aus dem String > 001 aus dem String > 0110

14 Quellen und Literaturverzeichnis 1) Skript zur Vorlesung Theoretische Informatik von Prof Dr. H. Meyer 2) Buch: Theoretische Informatik Dr. Ingo Wegener 3) Skript Informatik IV TH-Darmastadt von Prof. Dr. Kreiz 4) HTML File - Zur Biographie von Turing 5) Praktikum zur Vorlesung Theoretische Informatik an FH-Darmstadt 6) Skript zur Vorlesung TI a. d. TH-Darmstadt von Prof. Dr. Walther

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

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 10. Vorlesung 24.11.2006 1 Turingmaschinen Informatik III 9. Vorlesung - 2 Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

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

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel

Mehr

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

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen 1.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie

Mehr

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

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 22. Januar 2019 Abgabe 5. Februar 2019, 11:00 Uhr (im

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression

Mehr

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Turingmaschinen und Kontextsensitive Sprachen Eine Turingmaschine besteht

Mehr

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Theoretische Informatik. Berechenbarkeit

Theoretische Informatik. Berechenbarkeit Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was

Mehr

4 Kontextsensitive und Typ 0 Sprachen

4 Kontextsensitive und Typ 0 Sprachen Hans U. Simon Bochum, den 05.02.2009 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni HA-Lösung. TA-Lösung

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni HA-Lösung. TA-Lösung Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 9 Beachten Sie: Soweit

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung U Graz SS 2014 Übersicht uring Maschinen Algorithmusbegriff konkretisiert Modelldefinition uring-berechenbarkeit

Mehr

Wie man eine Sprache versteht

Wie man eine Sprache versteht Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Kapitel 7: Kellerautomaten und kontextfreie Sprachen Kapitel 7: Kellerautomaten und kontextfreie Sprachen Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 1090 Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

Unentscheidbare Probleme bei formalen Sprachen

Unentscheidbare Probleme bei formalen Sprachen Unentscheidbare Probleme bei formalen Sprachen Maximilian Zagler 22.01.2008 Freie Universität Berlin, Institut für Informatik Proseminar Theoretische Informatik WS 07/08 Dozent: Prof. Dr. Helmut Alt 1

Mehr

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

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

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

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten 30.04.2015 Viorica Sofronie-Stokkermans Matthias Horbach e-mail: sofronie@uni-koblenz.de, horbach@uni-koblenz.de 1 Bis jetzt 1. Motivation

Mehr

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

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

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus //5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

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

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 3288 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 2 http://pingo.upb.de Zugangsnummer: 3288 Dozent: Jun.-Prof. Dr. D. Baumeister

Mehr

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

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 20. Februar 2004 1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

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

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................

Mehr

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

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Vorname Nachname Matrikelnummer Hinweise Für

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

11.3 Eindimensionale Turingmaschinen

11.3 Eindimensionale Turingmaschinen 11.3 Eindimensionale Turingmaschinen 156 11.3 Eindimensionale Turingmaschinen Turing ging vom schriftlichen Rechnen aus, also vom Beschreiben eines Papiers mit einem Stift. Wollen wir etwas aufschreiben,

Mehr