2.11 Kontextfreie Grammatiken und Parsebäume

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "2.11 Kontextfreie Grammatiken und Parsebäume"

Transkript

1 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle Strings aus L der Länge 2i 0 auch in L(G) sind. Sei w L ein String der Länge 2i0 + 2, d.h. w = 0 i0+1 1 i0+1. s gilt S 0S1 0w 1 mit w L(G) {0, 1} 2i 0. Zu Beginn des Kapitels 2.7 (Folie 312) haben wir die Sprache L = { 0 n 1 n n N } kennengelernt und wir haben bewiesen, dass diese Sprache nicht regulär ist. Ist diese Sprache kontextfrei? Wir betrachten die Grammatik mit Produktionen G = ({S}, {0, 1}, P, S) S ε 0S1. G ist offensichtlich kontextfrei. Wie können wir Beweisen, dass L(G) = L ist? Aus der Induktionsannahme wissen wir, dass wir w = 0 i 0 1 i 0 ableiten können. Somit können wir auch w = 0 i0+1 1 i0+1 aus S ableiten. s gilt L(G) L {0, 1} 2i Beispiel (Teil 2): Beweis für L(G) L: Beispiel: Die in Aufgabe 2.3 betrachtete Sprache der Palindrome ist kontextfrei L pal = { w w = w rev und w {0, 1} } und mit Hilfe des Pumping-Lemmas für reguläre Sprachen können wir zeigen, dass diese Sprache nicht regulär ist. Wir betrachten die Grammatik mit Produktionen G = ({S}, {0, 1}, P, S) S ε 0 1 0S0 1S1. Für jeden Ableitungsschritt w w gilt: ntweder besteht w nur aus Terminalsymbolen und es gilt w = w 1 oder w beinhaltet noch eine Variable und es gilt w = w + 2. Somit hat jeder String in L(G) eine gerade Länge. Führen wir alle möglichen Ableitungen durch, die einen String w T der Länge w 2 ergeben, so sehen wir, dass entweder w = ε oder w = 01 ist. Somit gilt die Aussage für L(G) {0, 1} 2. Als Induktionsannahme gehen wir davon aus, dass alle Strings der Länge 2i 0, die wir aus S ableiten können von der Form 0 i 1 i mit 2i 2i 0 sind. Sei w L(G) mit 2 w 2i Die Ableitung von w hat folgende Form S 0S1 0w 1 = w mit w L(G) {0, 1} 2i 0. Somit gilt L(G) {0, 1} 2i 0+2 L G ist offensichtlich kontextfrei. Wie können wir Beweisen, dass L(G) = L ist? 370

2 Beispiel (Teil 2): Beweis für L(G) L pal : Für jeden Ableitungsschritt w w gilt: ntweder besteht w nur aus Terminalsymbolen und es gilt w 1 w w oder w beinhaltet noch eine Variable und es gilt w = w + 2. Führen wir alle möglichen Ableitungen durch, die einen String w T der Länge w 1 ergeben, so sehen wir, dass entweder w = ε, w = 0 oder w = 1 ist. Somit gilt die Aussage für L(G) {0, 1} 1. Als Induktionsannahme gehen wir davon aus, dass alle Strings der Länge i 0, die wir aus S ableiten können, Palindrome, d.h. in L pal sind. Sei w L(G) mit 2 w i Die Ableitung von w hat die Form oder S 0S0 0w 0 = w mit w L(G) {0, 1} i 0 S 1S1 1w 1 = w mit w L(G) {0, 1} i 0. Somit gilt L(G) {0, 1} i 0+1 L pal. Beispiel (Teil 3): Beweis für L(G) L pal : Alle Strings aus L pal der Länge 0, 1 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle Strings aus L pal der Länge i 0 auch in L(G) sind. Sei w L pal ein String der Länge i 0 + 1, d.h. w = w rev. s gilt oder S 0S0 0w 0 mit w L(G) {0, 1} i 0 S 1S1 1w 1 mit w L(G) {0, 1} i 0. Aus der Induktionsannahme wissen wir, dass wir alle Strings w = w rev mit w i 0 ableiten können. Somit können wir auch w = 0w 0 = 0w rev 0 = w rev und w = 1w 1 = 1w rev 1 = w rev aus S ableiten. s gilt L(G) L pal {0, 1} i Ableitung: Den Begriff der Ableitung und der von einer Grammatik erzeugten Sprache haben wir schon auf Folie 211 kennen gelernt. Bei einer regulären Grammatik bestand jeder ableitbare String aus maximal einer Variablen und mehreren Terminale. in String, der in einer kontextfreien Grammatik abgeleitet werden kann, kann mehreren Variablen beinhalten. Wollen wir für einen String überprüfen, ob dieser durch eine Grammatik abgeleitet werden kann, dann müssen wir uns bei jedem Ableitungsschritt fragen, welche Variable wir im nächsten Schritt durch den Rumpf einer Produktion ersetzen wollen. Formen von Ableitungen: Um die Anzahl der möglichen Ableitungen zu beschränken, betrachten man oft spezielle Formen von Ableitungen: die linksseitige (leftmost) und die rechtsseitige (rightmost) Ableitung. Sei w 0 = S w 1... w k eine Ableitung mit w i = α i Hβ i und w i+1 = α i γ i+1 β i wobei H γ i+1 eine Produktion aus P ist. Wir nennen diese Ableitung eine linksseitige Ableitung, wenn für alle i [0..k 1] α i ein String aus T ist. Wir nennen diese Ableitung eine rechtsseitige Ableitung, wenn für alle i [0..k 1] β i ein String aus T ist. Für die linksseitige Ableitung benutzen wir auch die Symbole lm und lm und für die rechtsseitige Ableitung benutzen wir auch die Symbole rm und rm.

3 Satzformen: in String w (T V ), den wir über eine Grammatik ableiten können, wird auch Satzform genannt. xistiert eine linksseitige Ableitung für einen String w (T V ), so sprechen wir auch von einer linksseitigen Satzform. xistiert eine rechtsseitige Ableitung für einen String w (T V ), so sprechen wir auch von einer rechtsseitigen Satzform. Parsebäume: Parsebäume sind eine graphische, baumförmige Darstellung von Ableitungen, welche unter anderem auch beim Compilerbau als Datenstruktur Anwendung findet. in Baum B = (V B, B ) ist ein Parsebaum einer Grammatik G = (V, T, P, S), wenn jeder innere Knoten mit einer Variablen aus V beschriftet ist. jedes Blatt entweder mit einer Variablen, mit einem Terminal oder mit ε beschriftet ist. Falls ein Blatt mit ε beschriftet ist, dann ist es der einzige Nachfolger seines Vorgängers. Sei A V die Beschriftung eines inneren Knotens und X 1,..., X k die Beschriftung seiner Nachfolger von links nach rechts gesehen, dann ist A X 1... X k eine Produktion in P. Das rgebnis eines Parsebaums ist die Beschriftung seiner Blätter von links nach rechts gelesen mit ε beschriftete Blätter werden hierbei ignoriert Parsebäume von besonderer Bedeutung haben die folgende igenschaften: Das rgebnis ist eine String aus Terminalen. Alle Blätter sind entweder mit Terminale oder mit ε beschriftet. Die Wurzel ist mit dem Startsymbol beschriftet. Die rgebnisse dieser Parsebäume beschreiben die Strings, die durch die Grammatik abgeleitet werden können. Satz 54: Sei G = (V, T, P, S) eine kontextfreien Grammatik, dann sind die folgenden Aussagen äquivalent: 1. w L(G) 2. S lm w T 3. S rm w T 4. w ist das rgebnis eines Parsebaums, dessen Blätter alle mit Terminale oder ε beschriftet sind und dessen Wurzel mit S beschriftet ist.

4 Beweis: Die folgenden Aussagen aus Satz 54 sind sehr einfach nachzuweisen: Ist S lm w T, so gilt S w T und w L(G). Ist S rm w T, so gilt S w T und w L(G). Ist w das rgebnis eines Parsebaums, dessen Blätter alle mit Terminale oder ε beschriftet sind und dessen Wurzel mit S beschriftet ist, so können wir w aus S ableiten, indem wir die Ableitungen so wählen, wie sie durch den Parsebaum gegeben sind, wenn wir den Parsebaum von links nach rechts gehend traversieren. Dieses entspricht einer linksseitigen Ableitung. Somit gilt S lm w. Wählen wir die Ableitungen so, wie sie durch den Parsebaum gegeben sind, wenn wir den Parsebaum von rechts nach links gehend traversieren, so entspricht dieses einer rechtsseitigen Ableitung. Somit gilt S rm w. Wir werden daher auf einen detailierten Beweis verzichten. 379 Beweis (Teil 2): Wir müssen nun nur noch zeigen, dass w das rgebnis eines Parsebaums ist, dessen Blätter alle mit Terminale oder ε beschriftet sind und dessen Wurzel mit S beschriftet ist, wenn w L(G) ist. Diesen Beweis führen wir über eine vollständige Induktion. Wir beweisen hierzu folgendes Lemma: Lemma 16 Sei w T eine String, der sich durch t Ableitungsschritte aus einer Variablen A ableiten läßt, dann gibt es einen Parsebaum mit t inneren Knoten mit dem rgebnis w. Aus diesem Lemma folgt unmittelbar die gesuchte Aussage: Ist w L(G), so gibt es eine endliche Ableitung von w aus S. Nach Lemma 16 gibt es folglich auch einen Parsebaum endlicher Größe mit Wurzel S und rgebnis w. Aus der igenschaft Satz 54 a folgt igenschaft Satz 54 b und aus dieser igenschaft Satz 54 d. Aus dieser folgt wiederum igenschaft Satz 54 a. Die igenschaften a, b und d sind somit äquivalent. Analog folgt aus die Äquivalenz der igenschaften a, c und d. 380 Beweis von Lemma 16: Der Beweis erfolgt über eine Induktion. Im folgenden Beweis identifizieren wir Konten mit ihrer jeweiligen Beschriftung. Induktionserankerung: Sei w = w 1... w k ein String mit w 1,..., w k T, der sich über einen Ableitungsschritt aus der Variablen A ergibt, dann gibt es eine Produktion A w in P. Somit gibt es auch einen Parsebaum mit Wurzel A und k Nachfolgern w 1,..., w k. Lemma 16 gilt somit für t = 1. Induktionsannahme: Lemma 16 gilt für alle Parsebäume mit t t 0 inneren Knoten und für alle Ableitungen, die aus t t 0 Schritten bestehen. Beweis von Lemma 16 (Teil 2): Induktionsschritt: Sei w T ein String, der über t Ableitungsschritte aus A hergeleitet werden kann: u 0 = A u 1 = X 1... X k u 2... u t0 +1 = w. Dann gibt es eine Aufteilung von w in k Teilstrings w 1,..., w k, wobei für alle i [1..k] gilt und X i kann in t i t 0 Schritten in w i abgeleitet werden t = 1 + k t k. i=

5 Beweis von Lemma 16 (Teil 3): Somit gibt es für alle i [1..k] einen Parsebaum T i mit Wurzel X i, rgebnis w i und t i internen Knoten. X 1 T 1 X 2 T 2... X k T k Beweis von Lemma 16 (Teil 4): Fassen wir jetzt diese Parsebäume in einem neuen Parsebaum T zusammen, in dem wir eine neue Wurzel A mit Nachfolgern X 1,..., X k (in dieser Reihenfolge) generieren. s gilt: T hat 1 + k i=1 t i innere Knoten. Das rgebnis von T ist w 1... w k = w. Lemma 16 ist somit auch für Ableitungen, die aus t Schritt bestehen erfüllt. A w 1 w 2 w k X 1 X 2 T 1 T 2... X k T k w 1 w 2 w k Beispiel: Wir Betrachten die Sprache der arithmetischen Ausdrücke über die Operationen +, und den Variablen x{0, 1} +. s ist zwar einfach zu zeigen, dass diese Sprache auch regulär ist, sie eignet sich dennoch hervorragend als Beispiel für Parsebäume. Die folgende kontextfreie Grammatik G = ({N, }, {x, 0, 1, +, }, P, ) beschreibt die gewünschte Sprache. Für P wählen wir + xn und N 0 1 0N 1N. Beispiel (Teil 2): 2 Parsebäume für die Satzformen + : + Da uns die Teilstrings, die die Variablen in einem arithmetischen Ausdruck beschreiben im Folgenden nicht näher interessieren, wollen wir uns auf die Satzformen, die wir über die Produktionen + erreichen können, konzentrieren. +

6 Mehrdeutigkeiten von Grammatiken Wie aus dem Beispiel auf den Folien 385 und 386 zu erkennen ist, müssen die Parsebäume und die Ableitungen für eine Satzform nicht eindeutig sein. Definition Wir nennen eine kontextfreie Grammatik G mehrdeutig, wenn es eine Satzform w für G gibt, welche das rgebnis zweier unterschiedlicher Parsebäume ist. Für viele praktische Aufgaben ist es erstrebenswert, wenn eine kontextfreie Grammatik eindeutig ist: Betrachten wir die Struktur der Parsebäume als eine implizit gegebene Form der Klammerung und ersetzen wir die Nichtterminale in den Blättern der Parsebäume auf der Folie 386 durch die Werte 2, 3 und 4, so erhalten wir für den linken Parsebaum den Wert 2 (3 + 4) = 14 und für den rechten Parsebaum den Wert (2 3) + 4 = 10. Das entfernen von Mehrdeutigkeiten ist jedoch sehr aufwendig und nicht immer möglich: Im Allgemeinen ist es nicht entscheidbar, ob eine gegebene kontextfreie Grammatik mehrdeutig ist. s gibt keinen Algorithmus, der für eine gegebene kontextfreie Grammatik G entscheidet, ob es eine Satzform für G gibt, für welche es zwei unterschiedliche Parsebäume gibt. s gibt kontextfreie Sprachen, für die jede kontextfreie Grammatik mehrdeutig ist Für viele für die Praxis interessante Sprachen ist dieses Problem jedoch zu umgehen. So können wir im Parsergenerator YACC für die arithmetischen Ausdrücke beispielsweise angeben, dass Vorrang vor + hat und und + linksassoziativ sind. YACC gibt mit dieser Spezifikation dem rechten Parsebaum auf Folie 386 den Vorrang vor dem linken Parsebaum. Mehrdeutigkeiten können oft durch das Verwenden zusätzlicher Symbole (z.b. durch Klammerung) oder durch die Umstellung der Grammatik aufgehoben werden. Betrachten wir die Grammatik G = ({, T, I, N}, {x, 0, 1, +, }, P, ) mit + T T T T I I I xn N 0 1 0N 1N. In dieser Grammatik ist der linke Parsebaum nicht mehr möglich (wenn wir in den Blättern durch I bzw. durch T ersetzen). Nur der linke Parsebaum ist ein korrekter Parsebaum für die Satzform T I + T. Die Grammatik ist eindeutig

7 Selbst wenn eine Grammatik eindeutig ist, d.h. jede Satzform w, die durch Grammatik hergeleitet werden kann, hat einen eindeutigen Parsebaum, müssen die Ableitungen, die zu diesen Satzformen führen, nicht eindeutig sein: Gibt es in einer Satzform mehr als ein Nichtterminal, so gibt es keine Vorschrift, die uns vorschreibt, welches Nichtterminal als nächstes durch den Rumpf einer Produktion ersetzt werden soll. Für eine eindeutige Grammatik sind jedoch die linksseitige und die rechtsseitige Ableitung eindeutig. Dieses können wir aus unserer Beobachtung aus dem Beweis von Satz 54 (Folie 378) erkennen: Die Reihenfolge der Ableitungen in einer linksseitigen Ableitung entspricht der Reihenfolge die wir über eine Traversierung des Parsebaums erhalten, wenn wir in jedem Konten dessen Nachkommen von links nach rechts besuchen. Die Reihenfolge der Ableitungen in einer rechtsseitigen Ableitung entspricht der Reihenfolge die wir über eine Traversierung des Parsebaums erhalten, wenn wir in jedem Konten dessen Nachkommen von rechts nach links besuchen Inhärent mehrdeutige kontextfreie Sprachen s gibt kontextfreie Sprachen, die inhärent mehrdeutig sind, d.h. jede Grammatik für eine solche Sprache ist mehrdeutig. Diese Aussage werden wir nicht beweisen, jedoch an einem Beispiel erläutern. Die folgende kontextfreie Sprache ist inhärent mehrdeutig: Für Satzformen aus L(G), die die gleiche Anzahl von a s, b s, c s und d s beinhalten gibt es zwei verschiedene Formen von Parsebäumen: S L = { a n b n c m d m n, m 1 } { a n b m c m d n n, m 1 }. A B Die beiden Formen der in L enthaltenen Strings werden durch zwei Gruppen von Produktionen erzeugt: a A b c B d S AB S C A aab ab C acd add B cbd cd D bdc bc. a b c d

8 S a a b C C D D d d c Wir argumentieren, dass mit einer Ausnahme einer endlichen Anzahl von Strings, die über gleich viele a s, b s, c s und d s verfügen, alle Strings dieser Form auf zwei verschiedene Arten generiert werden können: 1. s muss ein Verfahren geben, welches die gleiche Anzahl a s und b s und die gleiche Anzahl c s und d s generiert. 2. s muss ein zweites Verfahren geben, welches die gleiche Anzahl a s und d s und die gleiche Anzahl b s und c s generiert. b c Die einzige Möglichkeit zur rzeugung von Strings, die über die gleiche Anzahl von a s und b s verfügt, besteht in der Verwendung einer Variablen, die wie A in der vorgestellten Grammatik auf Folie 393 arbeitet. Natürlich gibt es hierbei verschiedene Varianten, diese unterscheiden sich jedoch nicht wesentlich. Merke: Wir können auf keinen Fall vermeiden, dass es Mechanismen zur rzeugung gleich vieler a s und b s gibt. Analog können wir bezüglich der c s und d s argumentieren. Analog können wir für die zweite Teilsprache argumentieren: s muss einen Mechanismen zur rzeugung gleich vieler a s und d s geben. s muss einen Mechanismen zur rzeugung gleich vieler b s und c s geben. Auf diese Art und Weise können wir argumentieren, dass die Grammatik für L, gleichgültig, welche Modifikationen daran vorgenommen werden, stets zumindest einige Strings der Form a n b n c n d n auf zwei Arten, d.h. über zwei Parsebäume, generiert

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Notation um Grammatik G hervorzuheben: Eine kontextfreie Grammatik erzeugt eine kontextfreie Sprache. Informatik I -1- WS 2005/2006

Notation um Grammatik G hervorzuheben: Eine kontextfreie Grammatik erzeugt eine kontextfreie Sprache. Informatik I -1- WS 2005/2006 Die Sprache einer Grammatik Definition: Sei G = (V, T, P, S) eine kontextfreie Grammatik. Dann umfasst die Sprache L(G) alle Zeichenketten aus Terminalsymbolen, die sich vom Startsymbol ableiten lassen.

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

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

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

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

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Verarbeitung von Programmiersprachen Was ist das einfachste

Mehr

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

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

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

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

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

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

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

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al. Folie: 1 Kapitel 4 Übersicht Übersicht Syntax: Definition 4 syn-tax: the way in which words are put together to form phrases, clauses, or sentences. Webster's Dictionary Die Syntax (griechisch σύνταξις

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

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

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

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

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

Mehr

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

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

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 18. März

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

2.1 Grundlagen: Kontextfreie Grammatiken

2.1 Grundlagen: Kontextfreie Grammatiken 2.1 Grundlagen: Kontextfreie Grammatiken Programme einer Programmiersprache können unbeschränkt viele Tokens enthalten, aber nur endlich viele Token-Klassen :-) Als endliches Terminal-Alphabet T wählen

Mehr

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft und Grammatiken (Folie 119, eite 202 im kript) atzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft a, b, c,... für Terminalsymbole A, B, C,... für Nonterminale u, v, w,... für Terminalwörter

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

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Parsing-EinfŸhrung Ð 1

Parsing-EinfŸhrung Ð 1 Parsing-EinfŸhrung bersicht Falsifizierbarkeit, oder: Sind Grammatiken wissenschaftlich? Grammatik, Formalismus Kontextfreie Grammatiken Ableitungen Ziel Verstehen der linguistischen Motivation Intuitives

Mehr

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

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

Compiler, Übersetzer. Allgemeine Erklärung / Definition

Compiler, Übersetzer. Allgemeine Erklärung / Definition Compiler, Übersetzer Allgemeine Erklärung / Definition Ein Übersetzer ist ein Programm, das ein S 1 -Wort den Quelltext in ein S 2 -Wort umwandelt den Zieltext wobei die Semantik erhalten bleibt. Frage:

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

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

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

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

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

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

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

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

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

Mehr

Zentralübung zur Vorlesung Theoretische Informatik

Zentralübung zur Vorlesung Theoretische Informatik SS 2015 Zentralübung zur Vorlesung Theoretische Informatik Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2015ss/theo/uebung/ 7. Mai 2015 ZÜ THEO ZÜ IV Übersicht: 1.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax WS 2006/2007 Manfred Pinkal Einführung in die Computerlinguistik 2006/2007 M. Pinkal UdS 1 Morphologie und Syntax Gegenstand der Morphologie ist die Struktur

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

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.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale

Mehr

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

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr