• Keine Ergebnisse gefunden

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

N/A
N/A
Protected

Academic year: 2022

Aktie "Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Dozentin: Wiebke Petersen

May 3, 2010

(2)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L=

{abbbbb,abbab,abbb,aab} und L◦K ={bbbabb,bbba,ababb,aba} K ◦ ∅=∅

K ◦ {}=K

K2 =K ◦K ={abbabb,abba,aabb,aa}

(3)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L={abbbbb,abbab,abbb,aab}und L◦K =

{bbbabb,bbba,ababb,aba} K ◦ ∅=∅

K ◦ {}=K

K2 =K ◦K ={abbabb,abba,aabb,aa}

(4)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L={abbbbb,abbab,abbb,aab}und L◦K ={bbbabb,bbba,ababb,aba} K ◦ ∅=

∅ K ◦ {}=K

K2 =K ◦K ={abbabb,abba,aabb,aa}

(5)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L={abbbbb,abbab,abbb,aab}und L◦K ={bbbabb,bbba,ababb,aba} K ◦ ∅=∅

K ◦ {}=

K2 =K ◦KK={abbabb,abba,aabb,aa}

(6)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L={abbbbb,abbab,abbb,aab}und L◦K ={bbbabb,bbba,ababb,aba} K ◦ ∅=∅

K ◦ {}=K K2 =

K ◦K ={abbabb,abba,aabb,aa}

(7)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Operationen auf Sprachen

Seien L⊆Σ und K ⊆Σ zwei Sprachen über dem AlphabetΣ, dann entstehen durch die Verknüpfung mit Mengenoperatoren neue

Sprachen überΣ:

K ∪L, K ∩L, K \L

Die Verkettung von Wörtern kann ausgedehnt werden auf die Verkettung von Sprachen:

K ◦L:={v ◦w ∈Σ|v ∈K,w ∈L} Beispiel: Sei K ={abb,a} und L={bbb,ab}

K ◦L={abbbbb,abbab,abbb,aab}und L◦K ={bbbabb,bbba,ababb,aba} K ◦ ∅=∅

K ◦ {}=K

K2 =K ◦K ={abbabb,abba,aabb,aa}

(8)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Formal language

Denition

Eineformale Sprache L ist eine Menge von Wörtern über einem AlphabetΣ, also L⊆Σ.

Denition

EinWortist eine endliche Kette/Folge x1. . .xn von Symbolen/Zeichen eines Alphabets (n≥0). Das Wort, das aus null Zeichen besteht heiÿt leeres Wortund wird mit bezeichnet.

Denition

EinAlphabet Σist eine nichtleere endliche Menge vonSymbolen / Zeichen.

(9)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Describing formal languages by enumerating all words

Peter says that Mary has fallen o the tree.

Oskar says that Peter says that Mary has fallen o the tree.

Lisa says that Oskar says that Peter says that Mary has fallen o the tree.

. . .

The set of strings of a natural language is innite. The enumeration does not gather generalizations.

(10)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Describing formal languages by enumerating all words

Peter says that Mary has fallen o the tree.

Oskar says that Peter says that Mary has fallen o the tree.

Lisa says that Oskar says that Peter says that Mary has fallen o the tree.

. . .

The set of strings of a natural language is innite.

The enumeration does not gather generalizations.

(11)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Describing formal languages by grammars

Grammar

A formal grammar is agenerating device which can generate (and analyze) strings/words.

Grammars are nite rule systems.

The set of all strings generated by a grammar is the formal language generated by the grammar.

S → NP VP VP → V NP → D N

D → the N → cat V → sleeps

Generates: the cat sleeps

(12)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Describing formal languages by automata

Automaton

An automaton is arecognizing devicewhich accepts strings/words.

The set of all strings accepted by an automaton is the formal language accepted by the automaton.

(13)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Sprachbeschreibung

Zusammenhang nach Klabunde 1998

Formale Sprachen besitzen strukturelle Eigenschaften.

Grammatiken sind Erzeugungssysteme für formale Sprachen.

Automaten sind Erkennungssysteme für formale Sprachen.

Vorsicht: per Denition besitzen formale Sprachen keine strukturellen Eigenschaften; uns interessieren aber nur solche mit strukturellen Eigenschaften, die von einer Grammatik erzeugt werden können.

Auÿerdem können Grammatiken auch für die Analyse (Erkennung) formaler Sprachen und endliche Automaten für ihre Erzeugung genutzt werden.

(14)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Regular expressions

RE: syntax

The set ofregular expressions REΣ over an alphabet Σ ={a1, . . . ,an} is dened by:

∅is a regular expression.

is a regular expression.

a1, . . . ,an are regular expressions

If a and b are regular expressions overΣ then (a+b)

(ab) (a?)

are regular expressions too.

(The brackets are frequently omitted w.r.t. the following dominance scheme:

?dominates dominates+)

(15)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Regular expressions

RE: semantics

Each regular expression r over an alphabetΣdescribes a formal language L(r)⊆Σ.

Regular languagesare those formal languages which can be described by a regular expression.

The function L is dened inductively:

L(∅) =∅, L() ={}, L(ai) ={ai} L(a+b) =L(a)∪L(b)

L(a•b) =L(a)◦L(b) L(a?) =L(a)

(16)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Aufgaben für Übungssitzung (1)

Exercise 1

Find a regular expression which describes the regular language L (be careful: at least one language is not regular!)

L is the language over the alphabet{a,b}with L={aba, ,aa,bbb}.

L is the language over the alphabet{a,b}which consists of all words which start with a nonempty string of b's followed by at least one a followed by any number of b's

L is the language over the alphabet{a,b}such that every a has a b immediately to its left.

L is the language over the alphabet{a,b}which consists of all words which contain an uneven number of a's.

L is the language of all palindromes over the alphabet{a,b}.

(17)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Deterministic nite-state automaton (DFSA)

Denition

Adeterministic nite-state automatonis a tuple hQ,Σ, δ,q0,Fi with:

1 a nite, non-empty set ofstates Q

2 an alphabetΣwith Q∩Σ =∅

3 a partialtransitionfunction δ:Q×Σ→Q

4 aninitial stateq0∈Q and

5 a set ofnal/accept states F ⊆Q.

accepts: L(a?ba?)

(18)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

partial/total transition function

FSA with partial transition function

accepts ab?a

transition table

FSA with complete transition function

accepts ab?a

transition table

(19)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

partial/total transition function

FSA with partial transition function

accepts ab?a

transition table

FSA with complete transition function

accepts ab?a

transition table

(20)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Example DFSA / NFSA

The language L(ab?+ac?) is accepted by

(21)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Nondeterministic nite-state automaton NFSA

Denition

Anondeterministic nite-state automatonis a tuplehQ,Σ,∆,q0,Fiwith:

1 a nite non-empty set ofstatesQ

2 an alphabetΣwith QΣ =

3 a transition relationQ×Σ×Q

4 aninitial stateq0Q and

5 a set ofnal statesFQ.

Theorem

A language L can be accepted by a DFSA i L can be accepted by a NFSA.

Note: Even automatons with-transitions accept the same languages like DFSA's.

(22)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Automaton with -transition

(23)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Aufgaben für Übungssitzung (2)

Exercise 2

Give an FSA for each of the following languages over the alphabet {a,b} (and try to make it deterministic):

L={w|between each two `a's in w there are at least three `b's} L={w|w is any word except bab}

L={w|w does not contain the inx ab} L={w|w contains at most two `a's}

L={w|w contains an uneven number of `a's} L((b?a)?ab?)

L(a?(ab)?) L(aa?b).

L((bb?+ab?a))

(24)

Formale Sprachen Reguläre Ausdrücke Endliche Automaten

Hausaufgaben

(Abgabe bis zum 6.5.2010; für den BN: 2 aus 5)

Sei K ={aa,aaa,ba}, L={bb,aa}

1 Geben sie die Sprachen L◦L, L◦K,{} ◦L, {} ◦ ∅und K◦ ∅ an.

2 Geben sie die Sprache L3 an.

3 Geben sie die Sprache L\K an.

4 Geben sie eine implizite Mengendarstellung der Sprache K◦K an.

5 Wie unterscheiden sich die Sprachen L und L+?

Referenzen

ÄHNLICHE DOKUMENTE

1 das pumpbare Teilwort kann nicht nur aus a's bestehen, sonst würden beim Pumpen auf einer Seite des b's zuviele a's entstehen (aa ( aa ) 2 baaaa = aaaaaabaaaa). 2 das

Übung: Schreiben Sie eine Prologtheorie, über die Personen Hans, Marie, Otto, Lisa und Klaus.. Hans und Marie sind die Eltern

Auÿerdem können Grammatiken auch für die Analyse (Erkennung) formaler Sprachen und endliche Automaten für ihre Erzeugung genutzt werden... partial/total

Man zeichnet alle Kanten ein, die benötigt werden, damit sich die von dem Automaten akzeptierte Sprache nicht ändert, wenn man die -Kante wegläÿt. Hierzu kann man sich überlegen,

head: left hand side of a rule body: right hand side of a rule clause: rule or fact.. predicate: collection of clauses with

Auÿerdem können Grammatiken auch für die Analyse (Erkennung) formaler Sprachen und endliche Automaten für ihre Erzeugung genutzt werden..?. Formale Sprachen Reguläre Ausdrücke

head: left hand side of a rule body: right hand side of a rule clause: rule or fact.. predicate: collection of clauses with

Automaten akzeptiert wird, gibt es eine rechts- lineare Grammatik, die diese Sprache erzeugt und umgekehrt8. A=