• Keine Ergebnisse gefunden

Grundbegriffe der Informatik Tutorium 1 - 11. Sitzung

N/A
N/A
Protected

Academic year: 2022

Aktie "Grundbegriffe der Informatik Tutorium 1 - 11. Sitzung"

Copied!
71
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundbegriffe der Informatik

Tutorium 1 - 11. Sitzung

Dennis Felsing

dennis.felsing@student.kit.edu

http://www.stud.uni-karlsruhe.de/~ubcqr/2010w/tut gbi/

2011-01-17

(2)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Uberblick ¨

1 Endliche Automaten Wiederholung Endliche Akzeptoren

2 Regul¨are Ausdr¨ucke

3 Rechtslineare Grammatiken

(3)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert?

Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(4)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(5)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge

X Eingabealphabet Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(6)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(7)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(8)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z)

g Ausgabefunktion (g :Z ×X →Y) z0 Startzustand (z0 ∈Z)

(9)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(10)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Wie ist ein Mealy-Automat definiert? Als Tupel (Z,X,Y,f,g,z0) mit:

Z Endliche Zustandsmenge X Eingabealphabet

Y Ausgabealphabet

f Zustands¨ubergangsfunktion (f :Z ×X →Z) g Ausgabefunktion (g :Z ×X →Y)

z0 Startzustand (z0 ∈Z)

(11)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =

z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =abb

(12)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =abb

(13)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3 f∗∗(z0,aabb) =

z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =abb

(14)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =abb

(15)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =

b g∗∗(z0,aabb) =abb

(16)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b

g∗∗(z0,aabb) =abb

(17)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =

abb

(18)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

f(z0,aabb) =z3

f∗∗(z0,aabb) =z0z1z0z2z3

g(z0,aabb) =b g∗∗(z0,aabb) =abb

(19)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

z0

z1

z2

z3

a|a b|b a|ε

b|b

b|b

a|a

b|ε a|a

Erstelle einen Moore-Automat der sich so verh¨alt wie der gegebene Mealy-Automat.

(20)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Wiederholung

Erstelle einen Moore-Automat der sich so verh¨alt wie der gegebene Mealy-Automat.

z0

z1|a

z2|b z3|b

a b a

b

b

a

b a

(21)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Endliche Akzeptoren

Definition

Ein endlicher Akzeptor ist ein Moore-Automat, der als Augabe nur 0 (schlecht) und 1 (gut) hat. Statth:Z →Y gibt man mit F ⊆Z die akzeptierenden (guten) Zust¨ande an.

Beispiel

z0 a z1 b z2

b a

Welche Sprache akzeptiert der Automat?{a,b}ab{a,b}

(22)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Endliche Akzeptoren

Definition

Ein endlicher Akzeptor ist ein Moore-Automat, der als Augabe nur 0 (schlecht) und 1 (gut) hat. Statth:Z →Y gibt man mit F ⊆Z die akzeptierenden (guten) Zust¨ande an.

Beispiel

z0 a z1 b z2

b a

Welche Sprache akzeptiert der Automat?

{a,b}ab{a,b}

(23)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Endliche Akzeptoren

Definition

Ein endlicher Akzeptor ist ein Moore-Automat, der als Augabe nur 0 (schlecht) und 1 (gut) hat. Statth:Z →Y gibt man mit F ⊆Z die akzeptierenden (guten) Zust¨ande an.

Beispiel

z0 a z1 b z2

b a

Welche Sprache akzeptiert der Automat?{a,b}ab{a,b}

(24)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Entwurf

Aufgabe

Entwerfe einen Akzeptor mitX ={a,b}, der alle W¨orter akzeptiert, deren Anzahl ana durch 5 teilbar ist.

(25)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Entwurf

Aufgabe

Entwerfe einen Akzeptor mitX ={a,b}, der alle W¨orter akzeptiert, in denen nirgends hintereinander zweib vorkommen.

(26)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Uberblick ¨

1 Endliche Automaten

2 Regul¨are Ausdr¨ucke Definition

Klammereinsparungen Beschriebene Sprache

3 Rechtslineare Grammatiken

(27)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Definition

Regul¨are Ausdr¨ucke

Z ={|,(,),∅,∗} und ein Alphabet A mit A∩U ={}. Es gilt:

∅ ist ein regul¨arer Ausdruck

∀x ∈A:x ist ein regul¨arer Ausdruck

R1 und R2 sind RA ⇒ (R1R2) und (R1 |R2) sind RA R ist ein reg. Audruck⇒ (R∗) ist ein regul¨arer Ausdruck Nichts anderes sind regul¨are Ausdr¨ucke

(28)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b

= (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗Falsch bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(29)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗Falsch bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(30)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X (a|b)∗ ∗

= (((a|b)∗)∗) X

∗(ab|b)∗Falsch bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(31)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗Falsch bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(32)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗

Falsch bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(33)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗ Falsch

bab∗= ((ba)(b∗))X a|(b∗caab) Falsch

(34)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗ Falsch bab∗

= ((ba)(b∗))X a|(b∗caab) Falsch

(35)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗ Falsch bab∗= ((ba)(b∗)) X

a|(b∗caab) Falsch

(36)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗ Falsch bab∗= ((ba)(b∗)) X a|(b∗caab)

Falsch

(37)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Klammereinsparungen

Zur Lesbarkeit kann man unn¨otige Klammern bei der Darstellung weglassen. Was sind regul¨are Ausdr¨ucke ¨uber A={a,b}?

∅|b = (∅|b) X

(a|b)∗ ∗ = (((a|b)∗)∗) X

∗(ab|b)∗ Falsch bab∗= ((ba)(b∗)) X a|(b∗caab) Falsch

(38)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beschriebene Sprache

Von RA R beschriebene Sprache hRi h∅i={}

F¨urx ∈A:hxi={x}

F¨ur RAR1 und R2 gilt: hR1 |R2i=hR1i ∪ hR2i F¨ur RAR1 und R2 gilt: hR1R2i=hR1i · hR2i hR∗i=hRi

(39)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,

hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(40)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b}

R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(41)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,

hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(42)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(43)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b} R = (a|b)∗aab(a|b)∗,

hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(44)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(45)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,

hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(46)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a}

hRi →R SeiA={a,b}.

Sprache der W¨orter mit mindestends dreib: a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(47)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗ Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(48)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(49)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗

Sprache{ε}

∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(50)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgendsab vorkommt: b∗a∗

(51)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgends ab vorkommt:

b∗a∗

(52)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

R→ hRi

R = (a|b)∗,hRi={a,b} R = (a∗b∗)∗,hRi={a,b}

R = (a|b)∗aab(a|b)∗,hRi= Sprache der W¨orter mit Teilwort aab

R =a∗ ∗,hRi={a} hRi →R

SeiA={a,b}.

Sprache der W¨orter mit mindestends drei b:

a∗ba∗ba∗b(a|b)∗

Sprache{ε} ∅∗

Sprache der W¨orter in denen nirgends ab vorkommt:b∗a∗

(53)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

Wenn f¨ur einen regul¨aren Ausdruck R gilt: L = hRi, welcher regul¨are Ausdruck erzeugt dann:

L?

R∗ L+?R(R∗)

(54)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

Wenn f¨ur einen regul¨aren Ausdruck R gilt: L = hRi, welcher regul¨are Ausdruck erzeugt dann:

L?R∗

L+?R(R∗)

(55)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

Wenn f¨ur einen regul¨aren Ausdruck R gilt: L = hRi, welcher regul¨are Ausdruck erzeugt dann:

L?R∗

L+?

R(R∗)

(56)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiele

Wenn f¨ur einen regul¨aren Ausdruck R gilt: L = hRi, welcher regul¨are Ausdruck erzeugt dann:

L?R∗

L+?R(R∗)

(57)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Uberblick ¨

1 Endliche Automaten

2 Regul¨are Ausdr¨ucke

3 Rechtslineare Grammatiken Definition

Umformungen

(58)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Definition

Rechtslineare Grammatik

Eine Rechtslineare GrammatikG ={N,T,S,P} ist eine kontextfreie Grammatik mit der Einschr¨ankung:

Alle Produktionen sind entweder von der FormX →w oder X →wY mitw ∈T und X,Y ∈N

Was bedeutet das? In jeder Produktion kommt maximal ein Nichtterminalsymbol auf der rechten Seite vor. Wenn, dann steht dieses ganz rechts.

(59)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Definition

Rechtslineare Grammatik

Eine Rechtslineare GrammatikG ={N,T,S,P} ist eine kontextfreie Grammatik mit der Einschr¨ankung:

Alle Produktionen sind entweder von der FormX →w oder X →wY mitw ∈T und X,Y ∈N

Was bedeutet das?

In jeder Produktion kommt maximal ein Nichtterminalsymbol auf der rechten Seite vor. Wenn, dann steht dieses ganz rechts.

(60)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Definition

Rechtslineare Grammatik

Eine Rechtslineare GrammatikG ={N,T,S,P} ist eine kontextfreie Grammatik mit der Einschr¨ankung:

Alle Produktionen sind entweder von der FormX →w oder X →wY mitw ∈T und X,Y ∈N

Was bedeutet das? In jeder Produktion kommt maximal ein Nichtterminalsymbol auf der rechten Seite vor. Wenn, dann steht dieses ganz rechts.

(61)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Toller Satz

F¨ur jede formale SpracheLsind die folgenden drei Aussagen

¨aquivalent:

1 L kann von einem endlichen Akzeptor erkannt werden.

2 L kann durch einen regul¨aren Ausdruck beschrieben werden.

3 L kann von einer rechtslinearen Grammatik erzeugt werden.

(62)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)?

{a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik. G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(63)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik. G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(64)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik. G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(65)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b

Vereinfache die Grammatik. G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(66)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik.

G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(67)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik.

G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen? G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(68)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik.

G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen?

G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(69)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Beispiel

Betrachte folgende GrammatikG = ({X,Y,Z},{a,b},X,P) mit P ={X →aX |bY |ε, Y →aX |bZ |ε, Z →aZ |bZ}

Was istL(G)? {a,b}\({a,b}· {bb} · {a,b})

Konstruiere einen endlichen Akzeptor, derL(G) akzeptiert.

0 1 2

a b

b a

a,b Vereinfache die Grammatik.

G = ({X,Y},{a,b},X,P) mit

P ={X →aX |bY |ε, Y →aX |ε}

Kann man die Grammatik noch weiter vereinfachen?

G = ({X},{a,b},X,P) mitP ={X →aX |baX |b|ε}

(70)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Uberblick ¨

1 Endliche Automaten Wiederholung Endliche Akzeptoren

2 Regul¨are Ausdr¨ucke Definition

Klammereinsparungen Beschriebene Sprache

3 Rechtslineare Grammatiken Definition

Umformungen

(71)

Endliche Automaten Regul¨are Ausdr¨ucke Rechtslineare Grammatiken

Referenzen

ÄHNLICHE DOKUMENTE

2 Formale Sprachen Definition Produkte

2 Formale Sprachen Definition Produkte

Indem man zeigt, dass es f¨ ur einen bestimmten Fall nicht gilt. Wie beweist

Endliche Ausgabe: Gibt endliches Wort aus Terminierung: Endet nach endlich vielen Schritten Beliebig große Eingaben: Keine L¨ angenbeschr¨ ankung Nachvollziehbarkeit:

Eine Bedingung heißt notwendig und hinreichend, wenn sie unersetzbar ist und es keine weiteren Voraussetzungen gibt. (Sprich: genau dann

Eine Bedingung heißt notwendig und hinreichend, wenn sie unersetzbar ist und es keine weiteren Voraussetzungen gibt. (Sprich: genau dann

Graphen Repr¨ asentation von Graphen Rechnen mit Matrizen Berechnung der Erreichbarkeitsrelation..

Welche Eigenschaft hat die Adjazenzmatrix eines ungerichteten Graphen.. Symmetrie