tut08_2.pdf

79
Informatik I - Tutorium – Wintersemester 2007/08 – Christian J¨ ulg http://infotut.blogspot.com 21. Dezember 2007 Universität Karlsruhe (TH) Forschungsuniversität · gegründet 1825 Quellennachweis & Dank an: Susanne Dinkler, Philipp Kern, Bernhard M¨ uller, Joachim Wilke

Transcript of tut08_2.pdf

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: [email protected]

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

Orga Blatt 7 Grammatiken Endliche Automaten BigInteger Wdh. RegEx Akzeptoren Ende

Informatik I - Tutorium Christian Julg