Beruflich Dokumente
Kultur Dokumente
Katsiaryna Mironava
Abstract. Wir führen einen Begriff der partiellen Ableitung eines regulären
Ausdrucks ein und wenden ihn auf endliche Automatenkonstruktionen
an. Der Begriff ist eine Verallgemeinerung des bekannten Begriffs der
Wortableitung von Brzozowski: partielle Ableitungen beziehen sich auf
nicht deterministische endliche Automaten (NEA) auf dieselbe natürliche
Weise wie Ableitungen auf deterministische (DEA). Wir geben eine kon-
struktive Definition von partiellen Ableitungen und beweisen mehrere
Fakten, insbesondere: (1) Jede Ableitung eines regulären Ausdrucks t
kann durch eine endliche Menge von partiellen Ableitungen von r dargestellt
werden. (2) Die Menge aller partiellen Ableitungen von t ist endlich
und ihre Kardinalität ist kleiner oder gleich eins plus der Anzahl der
Vorkommen von Buchstaben aus A , die in t erscheinen; (3) Jede par-
tielle Ableitung von t ist entweder eine reguläre Einheit oder ein Teil von
t oder eine Verkettung mehrerer solchen Teile. Diese theoretischen Ergeb-
nisse führen uns zu einem neuen Algorithmus, um reguläre Ausdrücke
in relativ kleine NEA umzuwandeln, und ermöglichen es uns, einige
Verbesserungen an Brzozowskis Algorithmus zum Konstruieren von DEA
bereitzustellen. Wir präsentieren einige Beispiele.
1 Notationen
A - das endliche Alphabet (z.B. a, b, c, ... ∈ A sind Buchstaben).
A ∗ - eine Menge von allen endlichen Wörter über A inklusive ε, als neutrales
Element und ist gleich: A ∗ = {ε} ∪ A + .
A + - eine Menge von allen nicht leeren Wörter über A (Kleene Plus) und ist
gleich: A + = A · A ∗ = A ∗ \ {ε}, (·)− Konkatenation.
w - ein Wort über das Alphabet A (z.B. u, v, w, ... ∈ A ∗ sind Wörter über
A ).
W - eine Menge der Wörter w.
ε - ein leeres Wort.
0, ε - Konstanten.
L - eine Sprache, ist eine Menge von endlichen Wörter über A und eine Teil-
menge von A ∗ (z.B. L = {a2 , ab}).
L∗ - Iteration von der Sprache L : L∗ = i∈N Li .
S
2 K.Mironava
P(A ∗ ) - die Potenzmenge von A ∗ und damit die Menge aller Sprachen über
A (z.B. L, U, V ∈ P(A ∗ ) sind Sprachen).
Reg[A ] - ist eine Menge von allen regulären Sprachen über A und die kle-
inste Teilmenge von P(A ∗ ), die enthält eine leere Menge ∅, ein leeres Wort
{ε}, alle Buchstaben über A und ist unter Konkatenation: L1 · L2 , Vereinigung
L1 ∪ L2 und Iteration: L∗ (Kleene Stern) abgeschlossen.
Reg1[A ] ist eine Teilmenge von Reg[A ] und besteht aus allen regulären Sprachen,
die ein leeres Wort {ε} entahlten.
Reg0[A ] ist das Komplement bezüglich Reg1[A ] und besteht aus allen regulären
Sprachen, die eine Teilmenge der Menge A + .
Reg0[A ], Reg1[A ] sind die Teilmenge, die dienen zur Unterscheidung von
regulären Ausdrücken, die Elemente von Reg[A ] : Reg0[A ] bzw. Reg1[A ]
entsprechend bezeichnen.
TReg ist eine Menge der Elementen von Reg[A ] und disjunkte Vereinigung von
TReg0 und TReg1 : TReg = TReg0 ∪TReg1 \TReg0 ∩TReg1 , TReg0 ∩TReg1 =
∅.
t - eine Zeichenkette - regulärer Ausdruck/ Term: t ∈ TReg bzw. TReg0 oder
TReg1 .
M := hM , τ, µ0 , F i - ein Automat über A .
M - eine Menge der Zustände von Automat M .
µo - ein Startzustand.
τ - eine Übergangsfunktion.
o(t) - der konstante Teil vom regulären Ausdruck t, oder die Ausgabe.
o(t) = if ε ∈ L (t) then ε else 0 fi ;
F - eine Menge der Endzustände.
2 Ableitungen
Zuerst führe ich den Begriff vom Linksquotient oder Postfix ein. Ein Postfix
umfasst alle Wörter u der Sprache A ∗ , so dass man ein solches Wort an ein Wort
w aus A ∗ anhängen kann und ein Wort w · u ∈ L erhält. Der Linksquotient von
L ist bezüglich eines Wortes w definiert durch:
x−1 0 = 0, (2)
−1
x ε = 0, (3)
−1
x y = if x = y then ε else 0 fi , (4)
−1 −1 −1
x (r + t) = x r+x t, (5)
−1 ∗ −1 ∗
x (r ) = (x r) · r , (6)
−1 −1 −1 −1
x (r · t) = if o(r) = 0 then (x r) · t else (x r) · t + x t fi , (7)
−1
ε r = r, (8)
−1 −1 −1
(w · x) ·r =x (w r), (9)
r = o(r) + x1 · r1 + · · · + xk · rk , (10)
wobei alle ri reguläre Ausdrücke sind. In besonderem kann man annehmen, dass
jedes ri die Ableitung x−1i r ist. Diese Darstellung steht in enger Zusammen-
hang zu einem DEA von Brzozowski für r: jeder Summand xi · ri entspricht dem
Übergang vom Zustand r nach Zustand ri auf dem Buchstaben xi . Aus diesem
Grund kann die rechte Seite von (10) als deterministische lineare Faktorisierung
von r bezeichnet werden. Was es deterministisch macht, sind die folgenden zwei
Anforderungen:
• Jeder Buchstabe xi ∈ A tritt als Kopf eines Summanden xi · ri auf;
• Köpfe verschiedener Summanden sind verschiedene Buchstaben.
4 K.Mironava
Definition 31 Die lineare Form Gegeben sind ein Buchstabe x ∈ A und ein
Ausdrück t ∈ TReg , nennen wir das Paar hx, ti ein Monom mit dem Kopf x
und dem Rest t; dann sei M on = A × TReg die Menge aller Monome (über ein
gegebenes Alphabet A ): M on = Set[hx, ti]. Sei Lin die Menge linearer Formen:
Lin = Set[M on] Also, eine (nicht deterministische) lineare Form l ist eine
endliche Anzahl von Monomen hx, ti und deshalb eine endliche Untermenge von
Mon l ⊂ M on ⇒ l ∈ Lin.
Betrachten wir ein Monom hx, ti als einen regulären Term x · t. Dann Isomor-
phismus: M on ∼
= TReg und Lin ∼ = SetReg, wo SetReg = Set[TReg \ {0}] ist eine
endliche Menge der von Null verschiedenen regulären Ausdrücke, erlaubt uns für
die von Monomen hx, ti ∈ M on bezeichnete Sprache L (hx, ti) zu schreiben:
- die Sprache von Monomen ist gleich der Sprache von regulären Ausdrücken
und dem Produkt einer Menge von Buchstaben x und der Sprache von t. Für
die von einer linerare Form l ∈ Lin bezeichnete Sprache L (l)
[ [
L (l) = L (hx, ti) = {x} · L (t) (12)
hx,ti∈l hx,ti∈l
P
Außerdem kann man die Funktion P verwenden, um lineare Form l = {hx1 , r1 i, . . . , hxk , rk i}
in einen regulären Ausdrück: l = x1 + r1 , . . . , xk , rk umzuwandelnj. ⇒ Eine
lineare Form lt entspricht einem Term t und erfüllt die Gleichung:
X
t = o(t) + lt (13)
Unser nächstes Ziel ist es, eine Korrespondenz zwischen regulären Ausdrücken
und linearen Formen herzustellen, so dass eine lineare Form lt , die einem Ausdrück
t entspricht, die Gleichung (13) erfüllt und eine nicht deterministische lineare
Faktorisierung von t bereitstellt. Dies ist in der nächsten Definition implemen-
tiert.
ist eine Erweiterung der Konkatenation für linearen Formen und wird rekursiv
durch die folgenden Gleichungen definiert:
l 0=∅ (14)
l ε=l (15)
∅ t=∅ (16)
{hx, 0i} t = {hx, 0i} (17)
{hx, εi} t = {hx, ti} (18)
{hx, pi} t = {hx, p · ti} (19)
0 0
(l ∪ l ) t = (l t) ∪ (l t) (20)
lf (0) = ∅ (21)
lf (ε) = ∅ (22)
lf (x) = {hx, εi} (23)
lf (r + t) = lf (r) ∪ lf (t) (24)
lf (r∗ ) = lf (r) r∗ (25)
lf (r0 · t) = lf (r0 ) t (26)
lf (r1 · t) = lf (r1 ) t ∪ lf (t) (27)
für alle x ∈ A , r, t ∈ TReg , r0 ∈ TReg0 (r0 enthält 0), r1 ∈ TReg1 (r1 enthält ε).
Beweis 31 Man muss zeigen, dass die beide Seiten der Gleichung (28) dieselbe
Sprache bezeichnen, also es ist zu zeigen, dass die folgende Gleichung gilt: L (t) =
L (o(t)) ∪ L (lf (t)). Da das leere Wort in der L (lf (t)) nicht enthalten ist:
ε∈/ L (lf (t)), das ist äquivalent zu: L (t) = {ε} ∪ L (lf (t)) ⇒
3.3 Beispiel
Nun wende ich die Gleichungen aus der Definition 3.2 an und berechne eine
lineare Form vom folgenden regulären Ausdruck:
t = (ab + b)∗ ba
Sei (ab + b)∗ = r und ba = t. Also, a, b ∈ TReg0 , r ∈ TReg1 und enthält ε, weil
die Operation Kleene Stern ist.
lf (t) = lf ((ab + b)∗ ba) =
| {z }
(27)
4 Partielle Ableitungen
4.1 Definition
Folgende Gleichungen erweitern diese Funktion und erlauben es uns ein be-
liebiges Wort w ∈ A ∗ und eine beliebige Menge von Wörter W ⊂ A ∗ an der
Stelle von x und eine beliebige Menge von regulären Ausdrücken R ⊂ TReg an
der Stelle t benutzen:
Jedes Element aus der Menge δw (t) nennt man eine partielle Ableitung bezüglich
eines Wortes w. Eine echte partielle Ableitung von t ist eine Ableitung bezüglich
eines nichtleeren Wortes.
Nun berechnen wir eine lineare Form von oben berechneten partiellen Ableitun-
gen, also von b · t, t und a. Da vom t haben wir schon, dann nur b · t und a:
lf (b · t) = lf (b) t = {hb, εi} t = {hb, ti}
lf (a) = {ha, εi}
Die partielle Ableitungen von oben genannten Ausdrücken sind:
δaa (t) = δa (δa (t)) = δa ({b · t}) = {}
δab (t) = δb (δa (t)) = δb ({b · t}) = {t}
δba (t) = δa (δb (t)) = δa ({t, a}) = {b · t, ε}
δbb (t) = δb (δb (t)) = δb ({t, a}) = {t}
Satz 41 Für einen beliebigen Ausdruck t ∈ TReg und ein Wort w ∈ A ∗ gilt
folgende Gleichung:
L (δw (t)) = w−1 L (t)
Mit anderen Wörter, die Sprache von partiellen Ableitungen ist gleich dem Linksquo-
tienten der Sprache des Ausdrucks t. Insbesondere, jede partielle Ableitung p ∈
δw (t) bezeichnet eine Teilmenge vom Linksquotienten w−1 L (t).
1. Der Fall w = ε:
Dann δε = {t}
L (δε (t)) = L (t) = ε−1 L (t).
für die Sprache, die von der Funktion lf (t), die eine lineare Form vom Ausdruck
t berechnet, bezeichnet ist. Also dann:
[
L (t) = L (o(t)) ∪ L (lf (t)) = L (o(t)) ∪ {y} · L (p)
hy,pi∈lf (t)
die Ausgabe von t in diesem Fall ist o(t) und ist gleich ε. Dann wir haben:
[ [
x−1 L (t) = x−1 ( {y} · L (p)) = x−1 {y} ∪ L (p)
hy,pi∈lf (t) hy,pi∈lf (t)
Ausarbeitung der Artikel von V.Antimirov 9
3. Der allgemeine Fall folgt aus Gleichungen, die partielle Ableitungen er-
weitern und aus Punkt 2. Sei wx ein Wort, das aus 2 Teilen besteht. Dann der
Linksquotient von diesem Wort in der Sprache L :
wx−1 L (t) = Eigenschaften von Linksquotient = x−1 (w−1 L (t)) =
[ [ [
x−1 L (δw (t)) = x−1 ( L (p)) = x−1 L (p) = L (δx (p)) =
p∈δw (t) p∈δw (t) p∈δw (t)
[
L( δx (p)) = L (δx (δw (t)) = L (δwx (t))
p∈δw (t)
Also beide Seiten beschreiben den Linksquotienten w−1 L (t) und Elemente der
Menge δw (t) sind im Grunde genommen ”Teile” der Ableitung w−1 t. Dieser
Aussage wurde eigentlcih im Satz 3.1 bewiesen und bedeutet, dass jede partielle
Ableitung eine Teilmenge vom Linksquotient ist ⇒ Linksquotient ist die Summe
von partiellen Ableitungen.
4.4 Beispiel
Nehmen wir wieder den Ausdruck aus Beispiel 3.3. Nach der Definition 2.1
bekommen wir folgende Ableitung vom t bezüglich a:
t = (ab + b)∗ ba
b(ab + b)∗ ba = b · t
P
- und das ist offensichtlich äquivalent der δa (t). Auf die P
gleiche Weise kann
man b−1 t berechnen, um zu prüfen, dass das äquivalent der δb (t) ist.
b−1 (ab + b)∗ |{z}
ba = (b−1 · (ab + b)∗ ) ·ba + b−1 (ba) =
| {z } | {z } | {z }
(r) (t) (6) (7)
−1
= (b (ab + b)) ·(ab + b)∗ · ba + (b−1 b) ·a =
| {z } | {z }
(5) (4)
- da b = b ist, gemäß der Gleichung (4) b−1 b = ε und (5) -
= (b|−1 −1 ∗
{zab} + b|{z}b) · (ab + b) · ba + ε · a =
(7) (4)
= ((b−1 a) · b + ε) · (ab + b)∗ · ba + a = (0 + ε) · (ab + b)∗ · ba + a =
= (ab + b)∗ ba + a = t + a
Nun wenden wir uns der Untersuchung weiterer Eigenschaften von partiellen
Ableitungen und Mengen von partiellen Ableitungen zu.
√
1. δx (0) : δx (0) = {p ∈ TReg \{0}|hx, pi ∈ lf (0)} = ∅
| {z }
=∅
√
2. δx (ε) : δx (ε) = {p ∈ TReg \{0}|hx, pi ∈ lf (ε)} = ∅
| {z }
=∅
√
3. δx (x) : δx (x) = {p ∈ TReg \{0}|hx, pi ∈ lf (x) } = {ε}
| {z }
={hx,εi}
√
4. δx (y) : δx (y) = {p ∈ TReg \{0}|hx, pi ∈ lf (y) } = {∅}
| {z }
={hy,εi}
5. δx (a + b) :
δx (a + b) = {p ∈ TReg \{0}|hx, pi ∈ lf (a)} ∪ {p ∈ TReg \{0}|hx, pi ∈ lf (b)} = √
{p ∈ TReg \{0}|hx, pi ∈ lf (a)∪lf (b)} = {p ∈ TReg \{0}|hx, pi ∈ lf (a+b)}
6. δx (a1 · b):
δx (a1 · b) = δx (a1 ) · b ∪ δx (b) =
{p ∈ TReg \{0}|hx, pi ∈ lf (a1 )} · b ∪ {p ∈ TReg \{0}|hx, pi ∈ lf (b)} =
{p ∈ TReg \{0}|hx, pi ∈ lf (a1 ) · b} ∪ {p ∈ TReg \{0}|hx, pi ∈ lf (b)} =
{p ∈ TReg \{0}|hx, pi ∈ lf (a1 ) · b ∪ lf (b)} = √
{p ∈ TReg \{0}|hx, pi ∈ lf (a1 ·b)}
7. δx (a0 · b) :
δx (a0 · b) = δx (a0 ) · b = {p ∈ TReg \{0}|hx, pi ∈ lf (a0 )} · b = √
{p ∈ TReg \{0}|hx, pi ∈ lf (a0 )·b} = {p ∈ TReg \{0}|hx, pi ∈ lf (a0 ·b)}
8. δx (a∗ ) :
δx (a∗ ) = δx (a) · a∗ = {p ∈ TReg \{0}|hx, pi ∈ lf (a)} · a∗ =
{p ∈ TReg \{0}|hx, pi ∈ lf (a) · a∗ } = {p ∈ TReg \{0}|hx, pi ∈ lf (a a∗ )} = √
{p ∈ TReg \{0}|hx, pi ∈ lf (a∗ )}
Wir kommen zur Essenz dieser Arbeit, die wird im Theorem 5.1 abgebildet.
Das sagt, dass die Kardinalität der Menge von partiellen Ableitungen |δA ∗ (t)|
(so zu sagen, die Anzahl der Elementen in dieser Menge) ist gröser-gleich der
alphabetischen Breite vom Ausdruck t (der Anzahl von Buchstaben im t), die
als ||t|| bezeichnet wird. Und die Menge von allen syntaktisch-verschiedenen
partiellen Ableitungen vom t
PD(t) = δA ∗ (t)
ist endlich und hat eine obere Grenze der Kardinalität.
Theorem 51 Für einen beliebigen Ausdruck t ∈ TReg gelten folgende Ungle-
ichungen:
|δA + (t)| ≤ ||t|| (43)
|PD(t)| ≤ ||t|| + 1 (44)
12 K.Mironava
weil A ∗ immer ein leeres Wort ε enthält. Dann aus der ersten Ungleichung folgt
die zweite ⇒ das ist genug nur |δA + (t)| ≤ ||t|| zu beweisen. Wir beweisen dieses
Theorem per Induktion.
1. t = 0:
|δA + (0)| = ∅ ≤ 0
2. t = ε:
|δA + (ε)| = ∅ ≤ 0
3. t = x, x ∈ A :
|δA + (x)| = ∅ ≤ 0
Nehmen wir nun an, dass |δA + (t)| ≤ ||t|| für a, b ∈ TReg gilt und betrachten drei
Unterfälle:
4a) t = a + b (t ist eine Vereinigung von zwei Ausdrücken a und b):
[ [
δA + (a + b) = δw (a + b) = (δw (a) ∪ δw (b) =
w∈A + w∈A +
- da wir jetzt alles aus Kardinalitätssicht betrachten, darf man das Gleichzeichen
zwischen |δA + (a) · b| und |δA + (a)| stellen, weil sich die Anzahl von Ableitungen
bei der Konkatenation nicht ändert, sondern nur die Länge von jedem Element
-
⇒ |δA + (a)|+|δA + (b)| ≤ ||a||+||b|| = die Summe der Buchstaben von 2 Aussagen = ||a·b||
a2 = a ⇒ a∗ = a ⇒ δA + (a) · a∗ = δA + (a)-
Folgerung 51 Für eine beliebige Menge von Wörter W ⊆ A ∗ , die Menge δW (t)
ist endlich und die folgende Ungleichung gilt:
BEISPIEL:
Mit der Notation vom Beispiel 3.3 haben wir:
t = (ab + b)∗ ba
||t|| = 5 : a, b, b, b, a
|PD(t)| ≤ ||t|| + 1 = 5 + 1 = 6
⇒ eine obere Grenze der Kardinalität von PD(t) ist 6.
In unserem Fall die Menge von allen syntaktisch-verschiedenen partiellen Ableitun-
gen vom t : PD(t) ist gleich {t, a, b · t}
und die Kardinalität dieser Menge:
|PD(t)| = 3
.
14 K.Mironava
F = {p ∈ PD(t)|o(p) = ε}
Also daraus folgt, dass ein Automat M = hM , τ, µ0 , F i die Sprache L (t) akzep-
tiert, wenn die Ausgabe ein leeres Wort ist: o(p) = ε.
δw (p) ∩ F 6= ∅ (49)
F 6= ∅, weil mathscrLM (p) ist die Sprache, die vom Automat anerkannt ist ⇒
sie enthält auf jeden Fall nur die Worte, die zur Ausgabe = ε, oder zu einem
Endzustand führen. ⇒ Das beweist die Gleichung w ∈ L (p) ⇔ w ∈ LM (p)
(48). Insbesondere, LM (µ0 ) ist vom M akzeptiert ist äquivalent zu L (t), weil t
immer ein Startzustand ist.
PD(t) = δA ∗ (t)
DER ALGORITHMUS:
Nach maximal ||t|| Iterationen (die Ableitung von t wird höchstens so viel
mal berechnet, wie Anzahl von Buchtaben im t ist) wird die Menge ∆i+1 leer,
dann PD i und τi+1 enthalten die benötigten Ergebnisse.
BEISPIEL:
hPD 0 , ∆0 , τ0 i := h{t}, {t}, ∅i = h{(ab + b)∗ ba}, {(ab + b)∗ ba}, ∅i
δa (t) = {b · t} und δb (t) = {t, a}.
τa1 = τa0 ∪ {hp, a, qi} = ∅ ∪ {(ab + b)∗ ba, a, b(ab + b)∗ ba} = {t, a, b · t}
| {z } | {z }
p q
hier p ∈ PD 0 und q = δa (t) = b · t.
τb11 = τb0 ∪ {hp, b, qi} = ∅ ∪ {(ab + b)∗ ba, b, (ab + b)∗ ba}
| {z } | {z }
p q
τb12 = τb0 ∪ {hp, b, qi} = ∅ ∪ {(ab + b)∗ ba, b, |{z}
a }
| {z }
p q
τb1 = τb11 ∪ τb12 = {(ab + b)∗ ba, b, (ab + b)∗ ba} ∪ {(ab + b)∗ ba, b, a} = {t, b, t} ∪
16 K.Mironava
{t, b, a}
∆1 = p∈∆0 {q} = {b(ab + b)∗ ba, (ab + b)∗ ba, a} = {b · t, t, a}
S
PD 1 = PD 0 ∪ ∆1 = {t} ∪ ∆1 = {(ab + b)∗ ba} ∪ {b(ab + b)∗ ba, (ab + b)∗ ba, a} =
{b(ab + b)∗ ba, (ab + b)∗ ba, a} = {b · t, t, a}
τa21 = τa1 ∪ {b(ab + b)∗ ba, a, |{z}
∅ }=
| {z }
p q
{(ab + b) ba, a, b(ab + b) ba} ∪ {b(ab + b)∗ ba, a, ∅}
∗ ∗
Das bedeutet, dass es keinen Übergang mit Buchstabe a vom b(ab + b)∗ ba Zus-
tand gibt.
τa22 = τa1 ∪ {|{z} ε } = {(ab + b)∗ ba, a, b(ab + b)∗ ba)} ∪ {a, a, ε} ⇒
a , a, |{z}
p q
τa2 = τa21 ∪ τa22 = {(ab + b)∗ ba, a, b(ab + b)∗ ba} ∪ {b(ab + b)∗ ba, a, ∅} ∪ {a, a, ε} =
= {t, a, b · t} ∪ {b · t, a, ∅} ∪ {a, a, ε}
τb21 = τb1 ∪ {b(ab + b)∗ ba, b, (ab + b)∗ ba} =
| {z } | {z }
p q
= {(ab + b)∗ ba, b, (ab + b)∗ ba} ∪ {(ab + b)∗ ba, b, a} ∪ {b(ab + b)∗ ba, b, (ab + b)∗ ba}
τb22 = τb1 ∪ {|{z} ∅ }=
a , b, |{z}
p q
= {(ab + b)∗ ba, b, (ab + b)∗ ba} ∪ {(ab + b)∗ ba, b, a} ∪ {a, b, ∅}
τb2 = τb21 ∪ τb22 = {t, b, t} ∪ {t, b, a} ∪ {b · t, b, t} ∪ {t, b, t} ∪ {t, b, a} ∪ {a, b, ∅} =
= {t, b,St} ∪ {t, b, a} ∪ {a, b, ∅} ∪ {b · t, b, t}
∆2 = p∈∆1 {q} = {ε, (ab + b)∗ ba} = {ε, t}
PD 2 = PD 1 ∪ ∆1 = {(ab + b)∗ ba, b(ab + b)∗ ba, a, ε} = {t, b · t, a, ε}
Zustände Ableitungen
1 := a · 2 + b · 1 + b · 3 1 = (ab + b)∗ ba
2 := b · 1 2 = b(ab + b)∗ ba
3 := a · 4 3=a
4 := ε 4=ε
Die NEA-Konstruktion, die oben beschrieben wurde, kann ganz einfach in einen
DEA transformiert werden. Die Gleichung (47) impliziert, dass die Menge δw (p)
Ausarbeitung der Artikel von V.Antimirov 17
als die Menge von Zuständen des DEA genommen werden, der Startzustand ist
t und die Übergangsfunktion wird definiert durch:
τ (P, x) = δx (P ) (55)
hDD(t), τ, {t}, F i
BEISPIEL:
Da P = δw (t) und in unserem Beispiel
δw (t) = {b · t, t, a} = {b(ab + b)∗ ba, (ab + b)∗ ba, a} ⇒
ersetzen wir P in (55) durch δw (t) und berechnen die Übergangsfunktionen:
τ (P, a) = δa (P ) = δa (δw (t)) = δa ({b · t, t, a}) = {{∅}, {b · t}, {ε}}
τ (P, b) = δb (P ) = δb (δw (t)) = δb ({b · t, t, a}) = {{t}, {t, a}, {∅}}
In tabellarischer Form sieht es wie folgt aus:
Zustände Ableitungen
{1} := a · {2} + b · {1, 3} {1} = {(ab + b)∗ ba}
{2} := b · {1} {2} = {b(ab + b)∗ ba}
{1, 3} := a · {4} {1, 3} = {(ab + b)∗ ba, a}
{4} := {ε} {4} = {ε}
Der berechnete deterministische endliche Automat ist auf der folgenden Ab-
bildung 2 deutlich zu sehen.
7 Schlussbemerkung
Zusammenfassend kann man sagen, dass in der vorliegenden Arbeit eine Er-
weiterung der Arbeit von Brzozowski durch den neuen Begriff der partiellen
Ableitung eines regulären Ausdrucks vorgestellt ist. Wir haben diesen Begriff
konstruktiv definiert und bewiesen, dass er einige interessante Merkmale aufweist: