Formale Sprachen, reguläre und kontextfreie Grammatiken
|
|
- Julius Schäfer
- vor 8 Jahren
- Abrufe
Transkript
1 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 über A: eine Teilmenge von A leeres Wort ε Konkatenation s.t (Zusammenhängen von s und t) teilweise als st geschrieben Länge eines Wortes t: Anzahl der Zeichen in t. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 1
2 Beispiele: formale Sprachen 1. Alphabet A = {0, 1}, A = Menge aller Binärzahlen {0, 1} Menge der Binärziffern ( Bits ) {0, 1} 8 Menge der Binärfolgen der Länge 8. = Menge der Worte der Länge 8 (Bytes) 2. Alphabet A = {a, b, c,..., z} A = Menge aller Strings aus Kleinbuchstaben Palindrome: {a 1... a n A a 1... a n = a n... a 1 } 3. {ε} ist eine formale Sprache. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 2
3 Reguläre formale Sprachen reguläre Ausdrücke über A. Definition der Syntax der regulären Ausdrücke ε (leeres Wort) a für a A (r + s), (rs) und (r ) Wenn r und s reguläre Ausdrücke Erweiterungen bzw. Abkürzungen: r n [r] mit r n = r... r } {{ } n mit [r] := r + ε P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 3
4 Beispiele: reguläre Ausdrücke 1. ( ) Alle endlichen Ziffernfolgen (natürliche Zahlen) 2. (0) entspricht {ε, 0, 00, 000, 0000,...}. 3. 1((0 + 1) ) Binärdarstellungen aller positiven ganzen Zahlen ohne führende Nullen 4. ( )( ), ( ) + dezimale Gleitkommazahlen ohne Exponent über dem Alphabet {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,, } P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 4
5 Reguläre Operatoren auf formalen Sprache Seien R und S formale Sprachen über dem Alphabet A. RS := {uv u R, v S}. definiere R n : R := R + := R 0 := {ε} R 1 := R R n := RR n 1 wenn (n > 1) {R n n 0} {R n n 1}. (Kleene-)Abschluß positiver Abschluß P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 5
6 Semantik von regulären Ausdrücken Idee: Der reguläre Ausdruck r beschreibt eine formale Sprache I(r) I(ε) := {ε} I(a) := {a} für a A I((r + s)) := I(r) I(s) I((rs)) := I(r)I(s) I(r ) := (I(r)) P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 6
7 Beispiele Alphabet {a, b, c} I(ab ) = {a, ab, abb, abbb,...} I(a + cb ) = { ac, aac, aaac,..., acb, aacb, aaacb,..., acbb, aacbb, aacbbb, } P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 7
8 Reguläre formale Sprache Eine formale Sprache L nennt man regulär, wenn es einen regulären Ausdruck gibt, der L erzeugt. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 8
9 Kontextfreie Grammatiken und Sprachen Verwendung: Syntax von Programmiersprachen, Zahldarstellungen, Syntax der Aussagen- und Prädikatenlogik Definition kontextfreie Grammatik (context free grammar, CFG) G = (N, T, P, σ) mit den Komponenten: N T σ N P N (N T ) Nichtterminale: Hilfszeichen, Nonterminals Terminalzeichen (Terminals), das eigentliche Alphabet, mit N T = Startzeichen Produktionensystem, Regeln (A, w) P heißt Produktion oder Regel von G. statt (A, w) P schreibt man auch A w. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 9
10 Backus-Naur-Form (BNF) kontextfreie Syntax höherer Programmiersprachen Metasymbole sind: Zahl ist Nichtterminalsymbol ::= Definition eines Nichtterminals Trennt Alternativen Beispiel Ziffer ::= entspricht 10 Regeln einer CFG. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 10
11 Erweiterungen der BNF Zahl ::= Ziffer + entspricht: Zahl ::= Ziffer Ziffer Zahl Zahl mit Vorzeichen ::= [+ ] Zahl entspricht: Zahl mit Vorzeichen ::= + Zahl Zahl Zahl P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 11
12 Beispiel: Syntax von Programmiersprachen Regeln: Ausdruck ::= Bezeichner Zahl ( Ausdrücke ) Ausdrücke ::= Ausdruck Ausdruck Ausdrücke Zahl ::= Ziffer Ziffer Zahl Ziffer ::= Bezeichner ::= Buchstabe Buchstabe Zeichenkette Zeichenkette ::= Zeichen Zeichen Zeichenkette Buchstabe ::= A B C D... Zeichen ::= Ziffer Buchstabe Nichtterminale: Ausdruck,... Terminale: {0, 1,..., 9, A,...} Startsymbol: Ein Nichtterminal (sinnvoll: Ausdruck ). P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 12
13 Beispiel: Syntax von Programmiersprachen Regulär beschreibbare Anteile Zahl Bezeichner ( ) (A Z)(A Z ) P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 13
14 Erzeugte formale Sprache zur CFG G Definition Gegeben G = (N, T, P, σ). Herleitung: σ w 1... w n Jeder Übergang: w i w i+1 ist von der Form: sat sbt und a b ist eine Regel in G P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 14
15 Erzeugte formale Sprache zur CFG G Definition: Die von G erzeugte formale Sprache L(G): alle Worte aus T, die aus σ durch endliche, mehrmalige Anwendung der Produktionen hergeleitet werden können. Die so erzeugbaren formalen Sprachen nennt man kontextfrei. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 15
16 Beispiele zu L(G) σ ::= Zahl Zahl ::= Ziffer Ziffer Zahl Ziffer ::= σ Zahl Ziffer Zahl Ziffer Ziffer Zahl Ziffer Ziffer Ziffer 1 Ziffer Ziffer 12 Ziffer 123 P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 16
17 Ableitungsbaum (Herleitungsbaum) Definition Sei G = (N, T, P, σ) eine CFG. Ein Ableitungsbaum B von w (derivation tree, parse tree) ist ein markierter Baum, der die Herleitung von w repräsentiert P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 17
18 Ableitungsbaum (Herleitungsbaum): Beispiel Grammatik zu arithmetischen Ausdrücken über den Zahlen : E (E + E), E (E E), E Z, Z {0, 1,..., 9} Ein Herleitungsbaum für den Ausdruck ((1 + 2) 3) ist: E ( E E ( E + E ) Z ) Z Z P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 18
19 Syntaxbaum Syntaxbaum wird aus Herleitungsbaum bestimmt. Oft Basis einer operationalen Semantik Beispiel: Syntaxbaum für den Ausdruck ((1 + 2) 3) P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 19
20 Zusammenhänge Es gilt: Reguläre Sprachen sind kontextfrei. Es gibt kontextfreie Sprachen, die nicht regulär sind. Es gibt auch formale Sprachen, die nicht kontextfrei sind. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 20
21 Programme einer Programmiersprache Erzeugung der zulässigen Programme: Stufe 1 Stufe 2 CFG erzeugt syntaktisch zulässige Programme Kontextbedingungen, Typbedingungen schränken weiter ein. Beispiele für Stufe 2: Deklarationen von Variablen vor ihrer Benutzung Ausdrücke müssen getypt sein (in Haskell) Variablen verschieden in Funktionsdefinition (Haskell, Python) P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 21
22 Syntaxdiagramme sind eine graphische Form einer CFG Pascal repeat statement until expression ; repeat im Oval: Rechteck String als Terminalsymbol Nichtterminalsymbol Die Pfeile bezeichnen erlaubte Durchlaufrichtungen. Äquivalente BNF: repeat-expr ::= repeat statements until expression statements ::= statement statement ; statements P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 22
23 Mehrdeutige Grammatiken und Sprachen Mehrdeutigkeit einer Grammatik G: Es gibt ein Wort w mit mehr als einem Ableitungsbaum Semantik nicht eindeutig Überladen von Symbolen: als Subtraktion bzw. Negativ-machen 1 2 Es gibt sogar inhärent mehrdeutige kontextfreie Sprachen, d.h. solche für die nur mehrdeutige kontextfreie Grammatiken existieren. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 23
24 Beispiele zur Eindeutigkeit Beispiel 1 Wenn if-then-else eine optionales else hat: Zuordnung des else ist nicht immer eindeutig: if b1 then if b2 then c1 else c2 kann auf zwei Arten interpretiert werden: if b1 then {if b2 then c1 else c2} if b1 then {if b2 then c1} else c2 Diese Interpretationen entsprechen gerade den zwei möglichen Syntaxbäumen zu diesem Ausdruck. P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 24
25 Beispiel 2 Arithmetische Ausdrücke; mit Grammatik: A ::= Zahl V ariable A + A A A... Der Ausdruck hat zwei mögliche Interpretationen: (1 2) 3 oder 1 (2 3)
26 Notationen von Ausdrücken, Terme Varianten der Notation von geschachtelten Ausdrücken. Stelligkeit von Operatoren : fest variabel f(a,b,c) ( ), oder Positionierung von Operatoren und Argumenten: prefix (+ 1 2) infix postfix mixfix (IF A THEN B ELSE C) lineare Notation Syntaxbaum Term Beispiel 1 2 SUBTRACT(NEGATE(1), 2) P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 26
27 Notationen von Ausdrücken, Terme 2 Klammerung von Operatoren und Argumenten: Bei assoziativen Operatoren mit Infix Notation: Linksklammerung (((1+2)+3)+4) (((1-2)-3)-4) Rechtsklammerung (1*(2*(3*4))) Kann auch bei Schachtelung und nicht-assoziativen Operatoren verwendet werden: 1 : 2 : 3 : 4 : [] 1 : (2 : (3 : (4 : []))) Prioritäten von verschiedenen Operatoren und Argumenten: (1 + (2 3)) 4 Punktrechnung vor Strichrechnung P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 27
28 Notationen Standardnotation f(t 1,..., t n ) Präfixnotation (f t 1... t n ) variable Stelligkeit möglich polnische Präfixnotation f t 1... t n feste Stelligkeit (polnische Notation, Lukasiewicz-Notation) Standardpostfixnotation (t 1,..., t n ) f Postfixnotation t 1... t n f geeignet zu Auswertung (polnische Postfixnotation mit Stack reverse polish) Infixnotation (1 + 2) i.a. zweistellig P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 28
29 Notationen: Beispiele Notationsvarianten von (1 + 2) 3 Standardnotation (+(1, 2), 3) Präfixnotation ( (+ 1 2) 3) polnische Präfixnotation Standardpostfixnotation ((1, 2)+, 3) Postfixnotation P raktische Informatik 1, W S 2004/05, F olien Grammatik, (5. Januar2005) Seite 29
1 Formale Sprachen, reguläre und kontextfreie Grammatiken
Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die
MehrProgrammiersprachen 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
Mehr1. 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
MehrGrundbegriffe 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
MehrTheorie 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
MehrGrammatiken. 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
MehrKapitel 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
MehrFormale 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
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
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
MehrTheoretische 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
MehrCompiler, Ü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:
MehrMathematische 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
MehrProgrammieren 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
MehrGrundbegriffe 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
MehrObjektorientierte 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
MehrGrundbegriffe 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
MehrTheoretische 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
MehrInformatik I Tutorium WS 07/08
Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 3: Dienstag 13. November 2007 Übersicht Tutorium Übersicht
Mehr7. 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.,...)
MehrGrundlagen 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
MehrMotivation. 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
MehrTheoretische 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
MehrKapitel 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
MehrTheoretische 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
MehrInformatik 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)
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
Mehr1. 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
Mehrt 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
MehrAlphabet, 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Äquivalente Grammatiken / attributierte Grammatik
Äquivalente Grammatiken / attributierte Grammatik Linksfaktorisierung Elimination von Linksrekursion Umwandlung von EBNF in BNF Attributierte Grammatik Semantikfunktionen und Übersetzungsschema Synthetisierte,
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrEinfü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
MehrGrammatiken 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
MehrFormale 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.
MehrGrundbegriffe 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
MehrZusammenfassung. 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
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
Mehr1. 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:
MehrWas 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?
MehrIT-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
MehrSyntax 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
MehrGrundlagen der Informationverarbeitung
Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,
MehrSprachen/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:
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
MehrWS 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
MehrGrundlagen 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
MehrWurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik
Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte
MehrBrückenkurs Mathematik, THM Friedberg, 15 19.9.2014
egelsammlung mb2014 THM Friedberg von 6 16.08.2014 15:04 Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 Sammlung von Rechenregeln, extrahiert aus dem Lehrbuch: Erhard Cramer, Johanna Neslehová: Vorkurs
Mehr1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:
Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr1 Syntax von Programmiersprachen
1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme
MehrZusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
MehrVorlesung 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
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrÜbungen zu Informatik 1
Communication Systems Group (CSG) Prof. Dr. Burkhard Stiller, Universität Zürich, Binzmühlestrasse 14, CH-8050 Zürich Telefon: +41 44 635 6710, Fax: +41 44 635 6809, stiller@ifi.uzh.ch Fabio Hecht, Telefon:
MehrBinä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.
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Mehr1 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.
MehrFunktionale 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
MehrBinärdarstellung von Fliesskommazahlen
Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M
MehrFormale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz
MehrProgrammierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
MehrMultimedia Technologie II
Vorlesung / Übungen Multimedia Technologie II Prof. Dr. Michael Frank / Prof. Dr. Klaus Hering Sommersemester 2004 HTWK Leipzig, FB IMN Für die externe Vorhaltung der DTD werden sämtliche zwischen den
MehrBinäre Gleitkommazahlen
Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrÜbung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie
Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per
Mehr4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen
Kapitel Kapitel 4 Deskriptive Programmierung SS 2008 4. 4. Algorithmen und Datenstrukturen in in deskriptiven Programmiersprachen Deskriptive Programmierung 1 Sprachverarbeitung in in Prolog Prolog Prolog
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrFormale 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
MehrEin Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax
MehrSWE1 / Übung 2 (19.10.2011)
SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrLernziele: 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
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrIdee: 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
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrThüringer Kultusministerium. Abiturprüfung 2000
Thüringer Kultusministerium Arbeitszeit: Hilfsmittel: Abiturprüfung 2000 270 Minuten Leistungsfach Informatik (Haupttermin) Formeln und Tabellen für die Sekundarstufen I und II/ Paetec, Gesellschaft für
MehrSprachbeschreibung und Erweiterung
Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrCodes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrParsing-EinfŸhrung Ð 1
Parsing-EinfŸhrung bersicht Falsifizierbarkeit, oder: Sind Grammatiken wissenschaftlich? Grammatik, Formalismus Kontextfreie Grammatiken Ableitungen Ziel Verstehen der linguistischen Motivation Intuitives
MehrDaten verarbeiten. Binärzahlen
Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt
MehrZufallsgrößen und Wahrscheinlichkeitsverteilungen
RS 24.2.2005 Zufallsgroessen_i.mcd 1) Zufallsgröße Zufallsgrößen und Wahrscheinlichkeitsverteilungen Zu jedem Zufallsexeriment gehört ein Ergebnisraum Ω. Die einzelnen Ergebnisse ω i können Buchstaben,
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
MehrZahlensysteme Das 10er-System
Zahlensysteme Übungsblatt für die entfallende Stunde am 22.10.2010. Das 10er-System... 1 Umrechnung in das 10er-System... 2 2er-System... 2 8er-System... 2 16er-System... 3 Umrechnung in andere Zahlensysteme...
Mehrsyntax.tex Eine Übersicht
syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen
MehrInformatik IC2. Balazs Simon 2005.03.26.
Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................
MehrGrundlagen der Informatik I Informationsdarstellung
Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung
MehrARBEITSBLATT ZU FORMALEN SPRACHEN
ARBEITSBLATT ZU FORMALEN SPRACHEN Aufgabe 1: Gegeben ist die folgende Formale Sprache L(G) mit G = (T, N, P, S). Die Produktionen lauten ZUWEISUNG ::= name zuweisungsoperator AUSDRUCK semikolon AUSDRUCK
Mehr