Post on 25-Dec-2015
Informatik I - Tutorium– Wintersemester 2007/08 –
Christian Julg
http://infotut.blogspot.com
21. Dezember 2007
Universität Karlsruhe (TH)Forschungsuniversität · gegründet 1825
Quellennachweis & Dank an:Susanne Dinkler, Philipp Kern, Bernhard Muller, Joachim Wilke
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Ubersicht
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Wenn doch noch Fragen auftauchen...
Kontakt
Kontakt: info1-tutor@gmx.de
Homepage: http://infotut.blogspot.com
bitte beachten:
Im Betreff der Emails [34] einfugen!
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Organisatorisches
Rechnerubung
Nachste normale RU mit Anmeldung am Di, 08.01. im RZ, PoolB - aber nur wenn es Anmeldungen gibt. Anmeldung per Emailoder direkt im Tut.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Organisatorisches
inoffizielle Probeklausur (IPK)
Sa, 19.01. im Audimax
wird von den Tutoren durchgefuhrt und korrigiert
Details zur Anmeldung gibts nachstes Jahr
dient dazu euch an echte Klausurverhaltnisse zu gewohnen
das Ergebnis wirkt sich aber weder auf die echte Klausur nochauf den Schein aus!
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Und nochmal...
Bei Semi-Thue-Systemen...
1 ... muss man auf die Reihenfolge der Regeln achten.
2 ... kann man zu unterschiedlichen Ergebnissen kommen, wennmehr als eine Regel anwendbar ist.
3 ... kann man an der Farbe der Regel ihre Prioritat erkennen.
Nach Anwendung des Warshall-Algorithmus ist ein Graph...
1 ... reflexiv.
2 ... transitiv.
3 ... symmetrisch.
$a ∧$b ist ...
1 ... in disjunktiver Normalform.
2 ... in konjunktiver Normalform.
3 ... keines von beidem.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Und nochmal...
Bei Semi-Thue-Systemen...
1 ... muss man auf die Reihenfolge der Regeln achten.
2 ... kann man zu unterschiedlichen Ergebnissen kommen, wennmehr als eine Regel anwendbar ist.
3 ... kann man an der Farbe der Regel ihre Prioritat erkennen.
Nach Anwendung des Warshall-Algorithmus ist ein Graph...
1 ... reflexiv.
2 ... transitiv.
3 ... symmetrisch.
$a ∧$b ist ...
1 ... in disjunktiver Normalform.
2 ... in konjunktiver Normalform.
3 ... keines von beidem.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Und nochmal...
Bei Semi-Thue-Systemen...
1 ... muss man auf die Reihenfolge der Regeln achten.
2 ... kann man zu unterschiedlichen Ergebnissen kommen, wennmehr als eine Regel anwendbar ist.
3 ... kann man an der Farbe der Regel ihre Prioritat erkennen.
Nach Anwendung des Warshall-Algorithmus ist ein Graph...
1 ... reflexiv.
2 ... transitiv.
3 ... symmetrisch.
$a ∧$b ist ...
1 ... in disjunktiver Normalform.
2 ... in konjunktiver Normalform.
3 ... keines von beidem.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Und nochmal...
Bei Semi-Thue-Systemen...
1 ... muss man auf die Reihenfolge der Regeln achten.
2 ... kann man zu unterschiedlichen Ergebnissen kommen, wennmehr als eine Regel anwendbar ist.
3 ... kann man an der Farbe der Regel ihre Prioritat erkennen.
Nach Anwendung des Warshall-Algorithmus ist ein Graph...
1 ... reflexiv.
2 ... transitiv.
3 ... symmetrisch.
$a ∧$b ist ...
1 ... in disjunktiver Normalform.
2 ... in konjunktiver Normalform.
3 ... keines von beidem.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Ubungsblatt 7
Kurzer Ruckblick...
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Ubungsblatt 7
Kurzer Ruckblick...
Fragen?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Was sind Grammatiken?
Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.
Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.
Die Regeln heißen Produktionen und stecken in der Menge P.
Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).
Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.
Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Was sind Grammatiken?
Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.
Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.
Die Regeln heißen Produktionen und stecken in der Menge P.
Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).
Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.
Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Was sind Grammatiken?
Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.
Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.
Die Regeln heißen Produktionen und stecken in der Menge P.
Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).
Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.
Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Was sind Grammatiken?
Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.
Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.
Die Regeln heißen Produktionen und stecken in der Menge P.
Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).
Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.
Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Was sind Grammatiken?
Wie Markov-Algorithmen sind Grammatiken eine Variante derSemi-Thue-Systeme mit sinnvollen Einschrankungen.
Trennung des Alphabets in Terminalsymbole Σ undNicht-Terminale N.
Die Regeln heißen Produktionen und stecken in der Menge P.
Man hat keine Eingabe, sondern beginnt immer mit demgleichen Symbol A, genannt Axiom (sinnvollerweise einNicht-Terminal).
Das ganze packt man in ein 4er-Tupel (oder Quadrupel)G = (Σ,N,P,A) und nennt es Grammatik.
Statt fur eindeutige Ableitungsergebnisse interessieren wir unsfur alle moglichen Ableitungen des Axioms A aus Σ∗, genanntdie Sprache der Grammatik und geschrieben L(G )
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie
Wir konnen die Grammatiken in vier Klassen einteilen, Chomsky-0bis Chomsky-3. Dabei gilt:
Chomsky-n ) Chomsky-(n + 1)
Je kleiner die Nummer, desto machtiger kann die Grammatiksein
Chomsky-0 ist so machtig wie Semi-Thue und Markov
Chomsky-2-Grammatiken sind aquivalent zur(Erweiterten-)Backus-Naur-Form
Auch die Sprachen werden in diese Klassen gepackt: JedeSprache hat die Chomsky-Klasse der einfachsten Grammatik,die sie erzeugt. (Einfach = große Chomsky-Nummer)
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie: Definition
Chomsky-0–Grammatik (CH-0):
allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)
Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)
Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗
Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie: Definition
Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)
Chomsky-1–Grammatik (CH-1):
alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)
Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗
Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie: Definition
Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)
Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)
Chomsky-2–Grammatik (CH-2):
kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗
Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie: Definition
Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)
Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)
Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗
Chomsky-3–Grammatik (CH-3):
entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie: Definition
Chomsky-0–Grammatik (CH-0):allgemeiner Produktionstyp: l → r (wobei l , r ∈ V ∗ beliebig)insbesondere auch ε-Produktionen (r = ε)
Chomsky-1–Grammatik (CH-1):alle Regeln langenbeschrankt: l → r , wobeil , r ∈ V ∗, 1 ≤ |l | ≤ |r |oder alle Regeln kontextsensitiv: uBv → urv , wobeiB ∈ N, u, v ∈ V ∗, r ∈ V +, d.h. r 6= εAnm.: Zu jeder CH-1–Grammatik kann die Produktion A→ εhinzugefugt werden (wobei A hier das Axiom ist)
Chomsky-2–Grammatik (CH-2):kontextfrei: B → r , wobei B ∈ N, r ∈ V ∗
Chomsky-3–Grammatik (CH-3):entweder alle Regeln linkslinear: B → Cx oder B → x , wobeiB,C ∈ N, x ∈ Σoder alle Regeln rechtslinear: B → xC oder B → x , wobeiB,C ∈ N, x ∈ Σ
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Chomsky-Hierarchie
Ganz einfache Computer
Eine Maschine soll zu einer eingegebenen Zeichenreihe feststellen,ob diese Zeichenreihe zu einer Sprache gehort (oder ob nicht).Es besteht ein enger Zusammenhang zwischen den durchGrammatiken erzeugten Sprachen und den Maschinen.
CH-0 Turing-Maschine
CH-1 Linear beschrankter Automat
CH-2 Kellerautomat
CH-3 Endlicher Automat
Der Zusammenhang zwischen Sprachen und Maschinen ist Teil derBerechenbarkeitstheorie (Info 3).
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Endlich ein Automat!
Wozu?
Ein endlicher Automat ist gerade machtig genug, um ein Spracheaus CH-3 zu entscheiden. Der Vorteil von endlichen Automaten ist,dass sie sehr einfach zu implementieren sind.
Was braucht man?
endliche Menge Q von Zustanden
ein Anfangszustand q0 ∈ Q
Zeichenvorrat Σ
Regeln fur die Zustandsubergange
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Endlich ein Automat!
Wie arbeitet er?
Das Lesen eines Zeichens a ∈ Σ fuhrt zu einem Zustandsubergangvom aktuellen Zustand q ∈ Q in einen neuen Zustand q′ ∈ Q
Notation: qa→ q′
Der Zustand laßt sich als Gedachtnis uber die Vorgeschichte,also die bisher eingegebenen Zeichen, auffassen.Dieses ist allerdings immer endlich!
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Darstellung von endlichen Automaten als Graphen
Zustande Q = {q0, q1, . . . , qn}des endlichen Automaten lassensich als Ecken eines Graphenauffassen
q0 q1 · · · qn
Zustandsubergange qia→ qj mita ∈ Σ entsprechen markiertengerichteten Kanten
qi qja
Ein im endlichen Automaten erreichter Zustand qk ist durch denAnfangszustand q0 und die bisher eingegebene Zeichenreihex = x1 . . . xi bestimmtDie Graph-Notation ist hierbei: q0 ⇒+ qk bzw. q0 ⇒∗ qk
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Arten von Automaten
Es gibt zwei Arten, wie ein Automat eine Ausgabe haben kann.Wir unterscheiden dabei:
Mealy-Automat:
Erzeugung einer Ausgabe bei jedem ZustandsubergangMarkieren der Kanten mit a/ti
Moore-Automat:
Erzeugung einer Ausgabe bei Erreichen eines Zustands
In beiden Fallen ist die Ausgabe ein Wort t = t0 . . . tn−1 ubereinem Ausgabezeichenvorrat T . Die Ausgabe kann offensichtlichnicht langer sein als das Eingabewort.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Die BigInteger-Klasse
Die BigInteger-Klasse bietet arithmetische Operationen furgroße ganze Zahlen.
Primitive Datentypen (int, long) konnen diese Zahlenaufgrund festgelegter Anzahl an Bits nicht mehr abspeichern.
Keine Operatoren, sondern Methoden, die auf Objekteaufgerufen werden.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Beispiel
1 import java.math.BigInteger;
2
3 class BigIntegerTest{
4 public static void main(String [] c){
5 // BigInteger -Objekt initialisieren
6 BigInteger x = new BigInteger(
"1234123412341234" );
7
8 // ein neues BigInteger -Objekt auf das
erste addieren
9 x = x.add(new BigInteger( "4321432143214321"
));
10
11 // das Resultat als Dezimalzahl ausgeben
12 System.out.println( x.toString () );
13 }
14 }
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Wiederholung EBNF
Die”Erweiterte Backus-Naur-Form“ hilft dabei formalisiert
niederzulegen, wie die Syntax fur Dinge aussehen soll.Dazu wird jedes Nichtterminal durch Nichtterminale und Terminaleersetzt bis es nur noch aus Terminalen besteht.
Die Regeln (= Metazeichen)
Metazeichen Bedeutung= trennt den rechten vom linken Teil der Regel
Variable = x.. schließt die Regel ab
| trennt Alternativenx|y beschreibt x, y
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Wiederholung EBNF
Die”Erweiterte Backus-Naur-Form“ hilft dabei formalisiert
niederzulegen, wie die Syntax fur Dinge aussehen soll.Dazu wird jedes Nichtterminal durch Nichtterminale und Terminaleersetzt bis es nur noch aus Terminalen besteht.
Die Regeln (= Metazeichen)
Metazeichen Bedeutung= trennt den rechten vom linken Teil der Regel
Variable = x.. schließt die Regel ab
| trennt Alternativenx|y beschreibt x, y
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Wiederholung EBNF
Die Regeln (= Metazeichen)
Metazeichen Bedeutung() klammert Alternativen
(x|y)z beschreibt xz, yz[ ] wahlweises Vorkommen (1 oder 0 Mal)
[x]y beschreibt xy, y{} 0-maliges bis n-maliges Vorkommen
{x }y beschreibt y, xy, xxy, . . .Terminalzeichen werden in Anfuhrungszeichen geschrieben:
“a“Nichtterminalzeichen werden ganz normal geschrieben
Nichtterminal
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
regulare Ausdrucke
Der regulare Ausdruck formalisiert den Aufbau einer CH-3-Sprache.Aus ihm kann man sehr leicht sowohl eine Grammatik G als auchdie dazugehorige Sprache L(G) und umgekehrt erzeugen.
Die Regeln (= Metazeichen)
Metazeichen Bedeutung() Klammerung von Alternativen∗ n-maliges Vorkommen+ trennt Alternativen
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
regulare Ausdrucke
Beispiel
Wie lautet der regulare Ausdruck, der L = {ac∗, bc∗} akzeptiert?
Losung:
(a + b)c∗
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
regulare Ausdrucke
Beispiel
Wie lautet der regulare Ausdruck, der L = {ac∗, bc∗} akzeptiert?
Losung:
(a + b)c∗
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Der Akzeptor
Ist der haufigste Spezialfall eines Moore-Automaten
Eine Ausgabe findet nicht bei allen Zustanden statt
Die Zustande F ⊆ Q, bei denen eine Ausgabe erfolgt, heißenEndzustande
Das ausgegebene Wort t ∈ T hangt nur vom erreichtenEndzustand q ∈ F ab
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Akzeptoren unter der Lupe
Ein Akzeptor heißt vollstandig, wenn fur jeden Zustand undjede Eingabe ein neuer Zustand definiert ist. Die kann immerdurch die Einfuhrung eines Fehlerzustandes geschehen.
Ein endlicher Akzeptor lasst sich als Quintupel(Σ,Q, q0,F ,P) auffassen:
Σ ZeichenvorratQ nichtleere endliche Zustandsmengeq0 Anfangszustand aus QF nichtleere Menge von Endzustanden aus QP Ubergange qa→ q′ mit q, q′ ∈ Q, a ∈ Σ
Die Sprache, die der Akzeptor akzeptiert:L(A) = {x |x ∈ Σ∗, q0x ⇒∗ qe , qe ∈ F}
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 1:
Aufgabe
Konstruiere einen vollstandigen Automaten, der die Sprache{ab, aab} ∪ {ac2n+1|n ∈ N0} akzeptiert.
q0 q1
q2 q3
q4 q5
a
a
b
b
c
c
c
fb,c
a,ca,b,c
a,ba,b
a,b,c
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 1:
Aufgabe
Konstruiere einen vollstandigen Automaten, der die Sprache{ab, aab} ∪ {ac2n+1|n ∈ N0} akzeptiert.
q0 q1
q2 q3
q4 q5
a
a
b
b
c
c
c
fb,c
a,ca,b,c
a,ba,b
a,b,c
Achtung: der Graph ist noch nicht vollstandig!
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 1:
Aufgabe
Konstruiere einen vollstandigen Automaten, der die Sprache{ab, aab} ∪ {ac2n+1|n ∈ N0} akzeptiert.
q0 q1
q2 q3
q4 q5
a
a
b
b
c
c
c
fb,c
a,ca,b,c
a,ba,b
a,b,c
Vervollstandigung durch die Einfuhrung des Fehlerzustandes f
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
(Nicht)Determinismus
Determinismus
Ein endlicher Automat, der die Eigenschaft besitzt, dass dieUbergange zusammen genommen eine (Ubergangs-) Funktionbilden, heißt deterministisch.Die Ubergangsfunktion:
δ : Q × Σ→ Q
Nichtdeteminismus
Im allgemeinen Fall wird Nichtdeterminismus zugelassen. Dannfasst man P als Semi-Thue-System mit Eingabezeichenvorrat Σund syntaktischen Hilfszeichen q ∈ Q auf. Die Beschreibung derUbergange ist hier eine Relation.
δ ⊆ Q × Σ× Q
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
a)
Gib die formale Beschreibung desGraphen an.
A = (Σ,Q, q1,F ,P),Σ = {a, b},F = {q3},P = {
q1a→ q2,q2a→ q3,q2a→ q4,q2b → q2,q4b → q1
}
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
a)
Gib die formale Beschreibung desGraphen an.A = (Σ,Q, q1,F ,P),Σ = {a, b},F = {q3},P = {
q1a→ q2,q2a→ q3,q2a→ q4,q2b → q2,q4b → q1
}
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
b)
Handelt es sich bei demAutomaten um einen Mealy- odereinen Moore-Automaten?
Akzeptor, da keine Ausgaben beiden Zustandsubergangen (Mealy)vermerkt sind.Die Ausgabe des Automatenerfolgt dabei nicht bei allenZustanden sondern nur bei denEndzustanden.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
b)
Handelt es sich bei demAutomaten um einen Mealy- odereinen Moore-Automaten?Akzeptor, da keine Ausgaben beiden Zustandsubergangen (Mealy)vermerkt sind.Die Ausgabe des Automatenerfolgt dabei nicht bei allenZustanden sondern nur bei denEndzustanden.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
c)
Ist der Automat vollstandig?
Nein, beispielsweise fehlt imZustand q4 ein Verhalten fur dieEingabe a.
d)
Ist der Automat deterministisch?
Nein, im Zustand q2 ist dasVerhalten bei der Eingabe von anicht eindeutig.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
c)
Ist der Automat vollstandig?Nein, beispielsweise fehlt imZustand q4 ein Verhalten fur dieEingabe a.
d)
Ist der Automat deterministisch?
Nein, im Zustand q2 ist dasVerhalten bei der Eingabe von anicht eindeutig.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
c)
Ist der Automat vollstandig?Nein, beispielsweise fehlt imZustand q4 ein Verhalten fur dieEingabe a.
d)
Ist der Automat deterministisch?Nein, im Zustand q2 ist dasVerhalten bei der Eingabe von anicht eindeutig.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
e)
Welche Sprache akzeptiert derAutomat?
L = {aβna|n ∈ N0, β ∈ {b, aba}}(Regularer Ausdruck:a(b + aba)∗a)
f)
Welchen Chomsky-Typ hat dieSprache?
CH-3, da sie von einem endlichenAutomaten akzeptiert wird.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
e)
Welche Sprache akzeptiert derAutomat?L = {aβna|n ∈ N0, β ∈ {b, aba}}(Regularer Ausdruck:a(b + aba)∗a)
f)
Welchen Chomsky-Typ hat dieSprache?
CH-3, da sie von einem endlichenAutomaten akzeptiert wird.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
e)
Welche Sprache akzeptiert derAutomat?L = {aβna|n ∈ N0, β ∈ {b, aba}}(Regularer Ausdruck:a(b + aba)∗a)
f)
Welchen Chomsky-Typ hat dieSprache?CH-3, da sie von einem endlichenAutomaten akzeptiert wird.
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
g)
Gib die Grammatik zu derakzeptierten Sprache an.
G = (Σ,N,P,A),Σ = {a, b},N = {A,B,C ,D}P = {
A→ aB,B → bB|aC |a,C → bD,D → aB}
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 2:
q1 q2 q3
q4
a a
ba
b
g)
Gib die Grammatik zu derakzeptierten Sprache an.G = (Σ,N,P,A),Σ = {a, b},N = {A,B,C ,D}P = {
A→ aB,B → bB|aC |a,C → bD,D → aB}
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 3:
Akzeptor gesuchtGib den Graphen des Akzeptors fur die durch Gerzeugte Sprache an.G = (Σ, N, P, S),Σ = {a, b, c, d , e},N = {S , A, B, C , D, E}P = {
S → aA,A → bB|a,B → cC ,C → dC |cD,D → eD|cE ,E → a
}
S
A
B
CD
E
f
a
b
c
c
c
a
a
de
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 3:
Akzeptor gesuchtGib den Graphen des Akzeptors fur die durch Gerzeugte Sprache an.G = (Σ, N, P, S),Σ = {a, b, c, d , e},N = {S , A, B, C , D, E}P = {
S → aA,A → bB|a,B → cC ,C → dC |cD,D → eD|cE ,E → a
}
S
A
B
CD
E
f
a
b
c
c
c
a
a
de
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Aufgabe 3:
Akzeptor gesuchtGib den Graphen des Akzeptors fur die durch Gerzeugte Sprache an.G = (Σ, N, P, S),Σ = {a, b, c, d , e},N = {S , A, B, C , D, E}P = {
S → aA,A → bB|a,B → cC ,C → dC |cD,D → eD|cE ,E → a
}
q1
q2
q3
q4q5
q6
q7
a
b
c
c
c
a
a
de
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
1 OrganisatorischesWiederholung
2 Ubungsblatt 7
3 Grammatiken
4 Endliche Automaten
5 BigInteger
6 Wdh. EBNF
7 Regulare Ausdrucke
8 Akzeptoren
9 EndeFeedback
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie wandele ich eine CH2-Grammatik in eine EBNF um?
Fur was ist BigInteger gut?
Was ist ein regularer Ausdruck?
Was sind Grammatiken und woraus bestehen sie?
Was macht ein endlicher Automat? Welche Arten gibt es?
Was ist ein Akzeptor, welchen Grammatik-Typ entspricht er?
Ihr wisst was nicht?
Stellt jetzt Fragen!
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?
Habe ich bestimmte Sachen zu kurz behandelt?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?
Habe ich bestimmte Sachen zu kurz behandelt?
Was kann ich verbessern?
Informatik I - Tutorium Christian Julg
Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende
Eulenfest - 15.01.2008
Informatik I - Tutorium Christian Julg