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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

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

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

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. 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

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

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

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

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

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

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

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

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

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

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

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

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

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

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

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

Parser4Kids interaktive Lernumgebung

Parser4Kids interaktive Lernumgebung Parser4Kids interaktive Lernumgebung Parser4Kids vermittelt die grundlegende Funktionsweise eines Parsers auf eine intuitive und spielerische Art anhand des vereinfachten Modells eines Fertigbauhauses.

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

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 6. Kontextfreie Sprachen Theoretische Informatik Mitschrift Typ-2-Grammatiken: Regeln der Form A mit A N und N * Beispiel: Grammatik für arithmetische Ausdrücke G= {E,T,F },{,,,,a}, P, E, P : E ET T T

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

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax II WS 2008/2009 Manfred Pinkal Morphologie und Syntax Gegenstand der Morphologie ist die Struktur des Wortes: der Aufbau von Wörtern aus Morphemen, den kleinsten

Mehr

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

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

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

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

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

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

TEIL III: FORMALE SPRACHEN

TEIL III: FORMALE SPRACHEN EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011)

Mehr

Lösungen zu Kapitel 7

Lösungen zu Kapitel 7 Lösungen zu Kapitel 7 Lösung zu Aufgabe 1: Nach Definition 7.1 ist eine Verknüpfung auf der Menge H durch eine Abbildung : H H H definiert. Gilt H = {a 1,..., a m }, so wird eine Verknüpfung auch vollständig

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK)

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK) TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010 2. Schriftliche Leistungskontrolle (EK) Punktzahl In dieser schriftlichen Leistungskontrolle sind 100 Punkte

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 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

Seminar Informatik: Syntaxanalyse von DKFG mittels Yacc

Seminar Informatik: Syntaxanalyse von DKFG mittels Yacc Fachhochschule Köln Cologne University of Applied Sciences Seminar Informatik: Syntaxanalyse von DKFG mittels Yacc Jan Bollenbacher 11087107 Studiengang: Master Technische Informatik 15.06.2012 Prof. Dr.

Mehr

Grundbegriffe der Informatik Tutorium 7

Grundbegriffe der Informatik Tutorium 7 Grundbegriffe der Informatik Tutorium 7 Tutorium Nr. 16 Philipp Oppermann 16. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

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

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

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

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Optimalitätskriterien

Optimalitätskriterien Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen

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

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Modul Formale Sprachen Bachelor Informatik 3. Semester

Modul Formale Sprachen Bachelor Informatik 3. Semester Modul Formale Sprachen Bachelor Informatik 3. Semester Lehrinhalte: Das Modul führt in die Grundlagen der Automatentheorie sowie der Theorie formaler Sprachen ein. Es vermittelt grundlegende Aussagen und

Mehr

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

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

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

Struktur und Implementierung von Programmiersprachen I. (Compilerbau) SS 2006

Struktur und Implementierung von Programmiersprachen I. (Compilerbau) SS 2006 Struktur und Implementierung von Programmiersprachen I (Compilerbau) SS 2006 http://infosun.fmi.uni-passau.de /cl/passau/sips2006/index.html Vorlesung und Übung: Dr. Christoph Herrmann 1/1 Einordnung im

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

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:

Mehr

DAP2-Klausur 07.08.2004

DAP2-Klausur 07.08.2004 DAP2-Klausur 07.08.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik/Inform. Lehramt/Inf.technik/Physik/ Mathe/Statistik/Sonstiges: Bitte beachten: Auf jedem Blatt Matrikelnummer

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Formaler Datenbankentwurf 7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

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