E ziente Normalform-Algorithmen f ur Ersetzungssysteme uber frei

Werbung
Eziente Normalform-Algorithmen fur
Ersetzungssysteme uber frei partiell kommutativen
Monoiden
B
a
X
c
C
A
b
Von der Fakultat fur Informatik
der Universitat Stuttgart zur Erlangung
der Wurde eines Doktors der Naturwissenschaften
genehmigte Abhandlung
von
Michael W. Bertol
aus Munchen
Hauptberichter: Prof. Dr. V. Diekert
Mitberichter: Prof. Dr. M. Jantzen
Institut fur Informatik der Universitat Stuttgart, 1996
i
Danksagung
Ich danke meinen Kollegen der beiden Theorie-Abteilungen fur ihr Interesse an meinen Themen, insbesondere danke ich Anca Muscholl und
Holger Petersen fur eine sehr gute Zusammenarbeit. Fur interessante Anregungen und Gesprache bedanke ich mich bei Dan Teodosiu und Zoltan
E sik.
Dank der intensiven Unterstutzung von Prof. Dr. Volker Diekert konnte
die vorliegende Arbeit in so kurzer Zeit fertiggestellt werden. Seinem
regen Interesse und seiner optimistschen Grundhaltung verdanke ich sehr
viel.
Fur die U bernahme des Berichtes mochte ich mich bei Prof. Dr. Matthias Jantzen bedanken.
Mein groter Dank gilt meiner Familie fur ihre riesige Unterstutzung.
iii
Zusammenfassung
In dieser Arbeit werden frei partiell kommutative Monoide (Spurmonoide) und Ersetzungssysteme uber ihnen betrachtet. Diese algebraischen
Modelle zahlen zu den temporalen Strukturen, mit denen sich insbesondere Nebenlaugkeit in verteilten oder parallelen Systemen mathematisch
exakt modellieren lat.
Ersetzungssysteme uber diesen Strukturen erlauben es, Prozetransformationen in nebenlaugen Kontexten zu beschreiben. Es werden zwei
Problemstellungen untersucht, das Konuenzproblem und das Normalformenproblem.
Wir geben einen alternativen Beweis fur die Unentscheidbarkeit des Konuenzproblems und zeigen, da sogar schon bei vier Buchstaben die Konuenz eines verkurzenden Ersetzungssystems nicht mehr entscheidbar ist
(bei einer Kommutation). Es werden verschiedene konkrete Darstellungen von frei partiell kommutativen Monoiden gegeben und Faktorisierungsdarstellungen der Elemente eingefuhrt, die die Konstruktion von
Datenstrukturen fur eziente Algorithmen ermoglichen. Dabei fuhren
besondere Eigenschaften der linken Seiten eines Ersetzungssystems wie
der "Zusammenhang\ aller linken Seiten oder eine "Sichtbarkeitseigenschaft\ zu ezienten Algorithmen. Es wird eine Dekompositionsmethode
entwickelt, die auf Cographenmonoiden\ fuhrt, und mit der der Algorithmus von Book so" verallgemeinert werden kann, da die nicht-uniforme
Zeitkomplexitat linear bleibt.
v
Inhaltsverzeichnis
1 Einleitung
1
2 Spuren und ihre Darstellungen
7
1.1 Semantik nebenlauger Vorgange . . . . . . . . . . . . . . . . . . . . . .
1.2 U berblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Konkrete Beschreibungen . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Das Levi-Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Das Einbettungstheorem . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
5
7
9
9
3 Ersetzungssysteme
11
4 Konuenz von Spurersetzungssystemen
13
3.1 Eigenschaften von Ersetzungssystemen . . . . . . . . . . . . . . . . . . . 11
4.1 Unentscheidbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Algorithmen fur Ersetzungssysteme mit zusammenhangenden linken
Seiten
20
5.1
5.2
5.3
5.4
Das Berechnungsmodell . . . . .
Die C -Baume . . . . . . . . . . .
Der Datentyp . . . . . . . . . . .
Operationen auf der Darstellung .
5.4.1 CONCATTRACE . . . . .
5.4.2 SPLITTRACE . . . . . .
5.5 Der Reduktionsalgorithmus . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
29
36
37
40
41
6 Ezienzsteigerung durch Sichtbarkeit bei Ersetzungssystemen mit zusammenhangenden linken Seiten
44
6.1 Sichtbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2 Ein Linearzeit-Reduktionsalgorithmus . . . . . . . . . . . . . . . . . . . . 47
7 Dekomposition von Spurmonoiden
52
7.1 Der Term-Morphismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Charakterisierung von Faktoren . . . . . . . . . . . . . . . . . . . . . . . 56
vii
8 Auf Dekompositionen basierende Algorithmen
8.1 Dekomposition von Ersetzungssystemen .
8.2 Term-Beschriftung . . . . . . . . . . . .
8.3 Der abstrakte Datentyp . . . . . . . . .
8.3.1 Algorithmische Primitive . . . . .
8.3.2 Quotientenberechnung . . . . . .
8.4 Dekomponierbarkeit . . . . . . . . . . .
8.5 Ein O(n log n)-Reduktionsalgorithmus .
8.6 Ein Linearzeit-Reduktionsalgorithmus . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
58
58
59
60
62
68
69
70
76
9 Ausblick
89
Anhang
89
A Anhang: Faktoren und Faktorisierungen
90
A.1
A.2
A.3
A.4
Darstellungen von Faktorisierungen
Ordnungen fur Vorkommen . . . .
Zusammenhangende Faktoren . . .
Allgemeine Faktoren . . . . . . . .
viii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
90
92
94
99
1 Einleitung
Der sequentiellen Bearbeitung rechenintensiver Probleme sind technologische Grenzen
gesetzt. Ein Weg zur U berwindung dieser Grenzen ist Parallelisierung. Nebenlaugkeit,
Parallelitat und Verteiltheit haben sich innerhalb der letzten Dekade als sehr wichtige Konzepte in der Informatik erwiesen. Deshalb war es notwendig, eine mathematisch
logisch fundierte Formalisierung solcher Systeme und insbesondere ihrer temporalen
Struktur zu entwickeln. Diese Formalisierungen konnen zur Beschreibung und Validierung von Eigenschaften oder als Kalkul verwendet werden.
Einer der ersten dieser Ansatze waren die Petrinetzsemantiken, die von Hoare [Hoa78]
denierten kommunizierenden sequentiellen Prozesse CSP und der von Milner und Hennessy [Mil80] eingefuhrte Kalkul CCS. Pratt schlug eine auf Halbordnungen basierende
Semantik vor [Pra86]. Es folgte eine Vielzahl von sehr allgemeinen algebraischen und
logischen Modellen wie Ereignisraume, monoidale Kategorien, Chu-Raume und viele
mehr.
Ursprunglich wurden die frei partiell kommutativen Monoide oder Spurmonoide von
Cartier und Foata [CF69] verwendet, um kombinatorische Probleme zu behandeln. Aufgrund ihrer algebraischen Eigenschaften und ihrer Verwandtschaft zur Theorie der formalen Sprachen erscheinen sie fur weitere Untersuchungen attraktiv.
Gleichzeitig hat sich die Theorie der Spuren als ein adaquates Modell zur Analyse einer
groen Klasse von nebenlaugen Vorgangen erwiesen. Der erste, der diese Verbindung
entdeckt hat, war Mazurkiewicz. In [Maz77] wurden die frei partiell kommutativen Monoide als eine Semantik fur nebenlauge Prozesse erkannt.
Die Verwandtschaft zu freien Monoiden motivierte Diekert in [Die87], einen Teil der
Theorie der Semi-Thue-Systeme oder Wortersetzungssysteme fur frei partiell kommutative Monoide zu verallgemeinern. Der Hintergrund war, Formalismen zur Beschreibung von statischen Ersetzungen in nebenlaugen Kontexten zu nden. Mit Spurersetzungssystemen konnen Programm- bzw. Prozetransformationen in der Spursemantik
beschrieben werden. Die korrekte und eziente Transformation von nebenlaugen und
konkurrierenden Programmschemata ist eine Voraussetzung fur den Umgang mit paralleleln und verteilten Rechnermodellen bzw. Algorithmen.
1.1 Semantik nebenlauger Vorgange
Betrachten wir ein konkretes einfuhrendes Beispiel. Sei ein nebenlauges Programmsystem (beispielsweise ein nebenlauges Datenbank-Transaktionssystem) durch die folgen1
den Transaktionen
Ta x := f (x; z)
Tb y := g(y; z)
Tc z := h(x; y)
Td x := i(z)
beschrieben. Dann, vorausgesetzt die Funktionen f; g; h; i besitzen keine Seiteneekte,
existiert die folgende die (Daten-)Abhangigkeiten beschreibende Funktion mit
: fa; b; c; dg
a
b
c
d
! Pfx; y; zg
7 ! fx; zg
7 ! fy; zg
7 ! fz; x; yg
7 ! fx; zg
Wir identizieren Tx mit x fur x 2 fa; b; c; dg. Das Bild einer Transaktion ist ihr Daten-
raum, hier also die Variablen. Durch diese Funktion wird ein Abhangigkeitsgraph (V; E )
via V = fa; b; c; dg und
(u; v) 2 E () (u) \ (v) 6= ; fur alle u; v 2 V
deniert. Sei nun w 2 fa; b; c; dg eine Ausfuhrungssequenz, so ist das Resultat nicht
von der Reihenfolge innerhalb Teilsequenzen, die nur die Transaktionen d und b enthalten, abhangig, denn es gilt (b; d) 2= D oder aquivalent dazu (b) \ (d) 6= ; |
diese Aktionen konnen nebenlaug abgearbeitet werden. D.h. Sequenzen modulo der
Kommutation db = bd besitzen dieselbe Semantik | warum sollten sie unterschieden
werden? Den diese Semantik spezizierenden Graphen (V; E ) = (; D) werden wir als
Abhangigkeitsalphabet einfuhren.
Abstrahiert man von den Variablen im Beispiel, so erkennt man, da jede exklusive
Ressource (in einem System) diesen Typ von Abhangigkeiten induziert. Damit verfugen
wir uber eine mathematische Beschreibung nebenlauger und konkurrierender Vorgange
bzw. aquivalenter serieller Sequenzen. Die durch D denierte Kommutationsrelation
ab = ba fur alle (a; b) 2= SD induziert eine Kongruenz via uabv = ubav, u; v 2 , auf
dem freien Monoid = i2N i, und die Katenation, d.h. die sequentielle Komposition,
wird als Operation ererbt.
Die Verwandtschaft dieser Struktur zu freien Monoiden motivierte eine Reihe von Mathematikern und Informatikern, andere bekannte Konzepte auf diese algebraischen Strukturen zu ubertragen. Eines dieser Konzepte sind die hier betrachteten Ersetzungssysteme.
Das Einfuhren eines Ersetzungssystems fuhrt zu einer operationellen Semantik fur nebenlauge Vorgange. Jede Transaktion lat sich als ein Modikator, eine Ersetzung,
auassen.
Betrachten wir als zweites Beispiel Petrinetze, das vermutlich popularste Modellierungswerkzeug in diesem Kontext. Sei N = (S; T; F; M ) ein Petrinetz mit den Stellen S , den
Transitionen T , den Kanten F (T S ) [ (S T ) und einer Markierung M : S ! N .
2
Dann kann eine Berechnung dieses Petrinetzes1 mit dem Ersetzungssystem
R = tv (s))s2S ! (tn(s))s2S j t 2 T
Q
uber dem Monoid M = N M = s2M fsg mit
1 sFt
tv (s) =
0 :sFt und
1 tFs
tn =
0 :tFs
simuliert werden.
Ein anderes Spezizierungswerkzeug sind die erkennbaren Mengen (uber einem hier
partiell kommutativen Monoid M (; D)). Sei h : M (; D) ! N ein Homomorphismus
in ein endliches Monoid N = (N; ; 1) und X N eine Teilmenge so, da die Sprache
L = h 1(X ) erkannt wird. Dann kann mit dem Ersetzungssystem
fxa ! x h(a) j x 2 N; a 2 g
kontrolliert werden, ob ein Element t 2 M (; D) die Spezikation t 2 L erfullt, denn
x 2 X gilt genau dann, wenn t 2 L.
1N t =)
R
Sei t = [t1 : : : ti : : : tn] die Spur, die eine Prozesequenz t1 : : : tn modelliert. Dabei konnen
einzelne Prozesse durchaus nebenlaug sein. Das bedeutet, t ist die Menge aller durch die
Abhangigkeitsrelation D beschriebenen aquivalenten Sequentialisierungen der
Folge t1 : : : tn. Eine Verfeinerung von Proze ti durch Proze x sei durch eine Regel ti ! x
beschrieben. x kann wiederum aus Prozessen [x1 : : : xm ] bestehen, die wieder nebenlaug
seien konnen. Diese Prozesse konnen auch mit den Prozessen t1; : : : ; ti 1; ti+1; : : : ; tn
kommutieren. Die Anwendung der Regel transformiert die Prozesequenz entsprechend.
[t1 : : : ti 1 ][ti][ti+1 : : : tn] =) [t1 : : : ti 1 ][x1 : : : xm ][ti+1 : : : tn]
Mit der gleichen Methode lassen sich auch Teilprozesse abstrahieren, was sich durch
Umkehren der Regel zu x ! ti erreichen lat.
[t1 : : : ti 1 x1 : : : xm ti+1 : : : tn] =) [t1 : : : ti 1 titi+1 : : : tn ]
Mit dem Formalismus "Ersetzungssystem modulo Kommutationen\ lassen sich Programmtransformationen, d.h. Compiler und Optimierer beschreiben.
Betrachten wir eine einfache prozedurale Programmiersprache mit den Variablen a,
b, c, d, e und den Operationen +; , sowie den Anweisungen read und write und
dem Zuweisungsoperator :=. Das Rechnermodell verfuge uber die Prozessoren PA, A fa; b; c; d; eg, einen Eingabekanal, einen Ausgabekanal und den entsprechenden Speicher
fur die Variablen. Jeder Prozessor PA hat einen Akkumulator und verfugt uber den
Instruktionssatz
LOADA v, STOREA v, ADDA v, SUBA v, READA und WRITEA .
1 Feuersequenzen 2 (bei 1-sicheren Netzen) k
onnen als eine Spur interpretiert werden.
f
T
3
Ein Compiler konnte die Anweisungen wie folgt transformieren:
Programmkonstrukt S
v1 := v2 + v3
v1 := v2 v3
read v
write v
Maschinenkonstrukt M (S )
LOADA v2 ; ADDA v3 ; STOREA v1
LOADA v2 ; SUBA v3 ; STOREA v1
READfvg ; STOREfvg v
LOADfvg v; WRITEfvg
(A = fv1 ; v2; v3g in der ersten und zweiten Zeile.)
Verwenden wir die im ersten Beispiel vorgestellte Methode um die einzelnen Aufgaben
auf die Prozessoren zu verteilen, indem wir die Zuweisungen v1 := v2 v3, 2 f+; g mit
Buchstaben av1 :=v2v3 und die Anweisung read v mit bv und write v mit cv assoziieren,
so erhalten wir die Abhangigkeiten
(av1 :=v2v3 ; av10 :=v20 0 v30 ) 2 D () fv1; v2 ; v3g \ fv10 ; v20 ; v30 g =
6 ;
(av1 :=v2 v3 ; bv ); (bv ; av1 :=v2v3 ) 2 D () v 2 fv1 ; v2; v3g
(av1 :=v2 v3 ; cv ); (cv ; av1 :=v2v3 ) 2 D () v 2 fv1 ; v2; v3g
(bv ; bv ); (cv ; cv ); (bv ; cv ); (cv ; bv ) 2 D
Die "Buchstaben\ LOADA v, ADDB v, STOREC v kommutieren (nach Spezikation
des Maschinenmodells), wenn die Indizes nichtleeren Schnitt besitzen. Die "Buchstaben\
READA v und WRITEB v0 sind genau dann abhangig, wenn A \ B 6= ;. Ansonsten ist,
da es nur einen Eingabe- und einen Ausgabekanal gibt, READA v von READB v0 bzw.
WRITEA v von WRITEB v0 fur alle A; B fa; b; c; d; eg abhangig.
Das Ersetzungssystem R mit den Regeln aS ! M (S ) (siehe Tabelle) simuliert einen automatisch (kanonisch) parallelisierenden Compiler. Dieser konnte noch um eine Optimierung erweitert werden, indem entsprechende Regeln eingefuhrt werden, die beispielsweise die kombinierten READ-STORE-Anweisungen durch eine einzige READ-Anweisung
auf dem die gelesene Variable bearbeitenden Prozessor unter bestimmten Bedingungen
(Kontexten) ersetzen.
Die Existenz von sehr ezienten Ersetzungsalgorithmen ermoglicht sogar ein Austauschen von Teilablaufen durch einen Dispatcher wahrend des Abarbeitens der Prozesse.
D.h. eine weitere denkbare Applikation ist die dynamische Optimierung von Prozesequenzen. Sei t = t1 : : : tn beispielsweise eine Sequenz von noch nicht abgearbeiteten
Transaktionen in einem Datenbanksystem, die von links fortlaufend abgearbeitet und
von rechts erweitert wird. Weiter seien in gewissen Kontexten ezientere Transaktionen
moglich, die durch ein System von Regeln beschrieben sind. Im laufenden Betrieb eines
solchen Systems treten Sequenzen von noch nicht bearbeiteten Transaktionen auf. Diese
Sequenzen konnten dann mit Optimierungsregeln in ezientere Sequenzen transformiert
werden, so da die ursprungliche Semantik erhalten bleibt. Diese Anwendung motiviert
die Entwicklung von Algorithmen, die ezient Links-Reduktionen durchfuhren konnen.
Auch vom mathematischen Standpunkt ist das Studium von Ersetzungssystemen modulo Kommutation interessant. Die Theorie der Spurersetzungssysteme ist eine naturliche
4
Verallgemeinerung der Ersetzungssysteme uber freien Monoiden, den sogenannten SemiThue-Systemen oder Wortersetzungssystemen. So konnten viele Resultate, die bereits
fur freie Monoide bekannt waren, auf die partiell kommutative Theorie verallgemeinert
werden. Eines der interessantesten Resultate ist eine Version des Knuth-Bendix-Reduktionsalgorithmus von Diekert [Die87].
Eine der Herausforderungen ist der Entwurf ezienter Algorithmen fur Ersetzungssysteme uber frei partiell kommutativen Monoiden. In dieser Arbeit werden einige Methoden
vorgestellt, wie man ezient algorithmisch Normalformen berechnet und warum es kein
dem Konuenzentscheidungsverfahren im Falle freier Monoide entsprechendes eektives
Pendant im partiell kommutativen Fall geben kann.
1.2 U berblick
Die Arbeit wird von einer Reihe von Denitionen eingeleitet. Anschlieend werden einige Reprasentationen diskutiert. Hiernach werden Ersetzungssysteme deniert und ein
Unentscheidbarkeitsresultat von Narendran und Otto [NO88] verfeinert.
In den folgenden Abschnitten beschaftigen wir uns mit dem "Normalformenproblem\.
Im Kapitel 5 wird fur Ersetzungssysteme mit zusammenhangenden linken Seiten eine Datenstruktur vorgestellt, die eziente Manipulationen ermoglicht und zu einem
n log n\-Algorithmus fuhrt. In dem darauolgenden Kapitel wird eine Einschrankung,
"die
Sichtbarkeit\ untersucht. Sie fuhrt zu einem "optimalen\ Reduktionsalgorithmus,
"
der den Algorithmus von Book verallgemeinert.
Eine interessante Unterklasse der Abhangigkeitsalphabete entspricht einer schon 1970
von Dijkstra vorgeschlagenen Spezizierungsrestriktion. Die von ihm eingefuhrten parallelen Programmkonstrukte
parbegin S1 jj S2 jj ... jj Sn parend und ;
fuhren zu Abhangigkeitsalphabeten mit Cographstruktur. Sie nden sich im Cographenansatz in Kapitel 8 als Operatoren fur das freie und das direkte Produkt wieder. Betrachtet man Prozessoren als Ressource R, besitzt die Ressourcenabbildung : ! P (R)
(siehe oben) dann eine der folgenden Strukturen:
(i) Entweder existiert eine Zerlegung (der Anweisungen) = 1 [_ 2 so, da die
Menge der Ressourcen () = f(a) R j a 2 g in zwei Teile T1 [_ T2 mit
8X 2 T1 8Y 2 T2 : X \ Y = ;
zerfallt (d.h. absolute Parallelitat), und die restringierten Abbildungen j1 und
j2 besitzen jeweils eine dieser strukturellen Eigenschaften rekursiv,
(ii) oder, wenn keine solche Zerlegung existiert, dann existiert eine andere Zerlegung
= 1 [_ 2 so, da die Menge der Ressourcen () = f(a) R j a 2 g in
zwei Teile T1 [_ T2 mit
8X 2 T1 8Y 2 T2 : X \ Y 6= ;
5
zerfallt, und die restringierten Abbildungen j1 und j2 besitzen jeweils eine der
drei strukturellen Eigenschaften rekursiv (Damit ist das Mengensystem T1 [ T2 in
einem gewissen Sinn isomorph zum kartesischen Produkt 1 2 .),
(iii) oder die Anweisung ist atomar, d.h. unteilbar.
Diese rekursive Struktur von Abhangigkeitsalphabeten induziert ihrerseits Zerlegungen
von Spuren, die zu einer einfacheren, modularen Charakterisierung der Faktoreigenschaft
und einer interessanten Algorithmenstruktur fuhren.
Fur die von Cographen-Abhangigkeitsalphabete erzeugte partiell kommutativer Monoide konnten Dekompositionstechniken entwickelt werden, die den Entwurf eines linearen
Normalformalgorithmus ermoglichen.
Wir schlieen mit einem Ausblick und einer Zusammenfassung der Resultate uber Faktorisierungen. In einem Anhang sind einige Ideen zu Verallgemeinerungen der vorgestellten
Verfahren und technische Beweise zusammengefat.
6
2 Spuren und ihre
Darstellungen
Wir leiten diesen Abschnitt mit einer kurzen Einfuhrung der grundlegenden Begrie ein,
zusammen mit einigen Notationen.
Ein Abhangigkeitsalphabet ist ein geordnetes Paar (; D), wobei ein endliches Alphabet
und D eine reexive und symmetrische Relation bezeichnet, die Abhangigkeitsrelation. Die komplementare Relation I = ( ) n D wird als Unabhangigkeitsrelation
oder als Kommutationsrelation bezeichnet. Wir bezeichnen das von erzeugte freie Monoid mit . Sei I die A quivalenzrelation, die durch die Menge geordneter
Paare f(uabv; ubav) j u; v 2 ; (a; b) 2 I g induziert wird. Die Relation I ist eine
Kongruenz uber und das zugehorige Quotientenmonoid M (; D) = =I ist das
von (; D) erzeugte frei partiell kommutative Monoid oder einfach Spurmonoid. Die
Elemente dieses Monoids nennen wir Spuren.
Eine Spur t 2 M (; D) besitzt das aus den Buchstaben eines Reprasentanten bestehende
induzierte Alphabet (t) und (; D)(t) bezeichnet das induzierte Abhangigkeitsalphabet ((t); D \ ((t) (t)). Mit jtj bezeichnen wir die Lange eines Reprasentanten
und mit jtja die Anzahl der Vorkommen des Buchstaben a, seine a-Lange. N ist die
Menge der naturlichen Zahlen, und mit [n] bezeichnen wir die Menge f1; : : : ; ng N
fur n 2 N .
2.1 Konkrete Beschreibungen
Wir haben Spuren als A quivalenzklassen uber Worten deniert. Die Wahl eines Reprasentanten ist nicht eineindeutig. Deshalb betrachten wir Normalformen. Die historisch erste ist die von Foata [CF69]. Wir bezeichnen mit F die Menge
fF j (F F ) n id I g
der elementaren
Schritte. Zu jedem elementaren Schritt F 2 F existiert eine Spur
Q
[F ] = a2F a 2 M (; D). Das folgende Theorem etabliert die Foata-Normalform.
Theorem 1 Sei t 2 M (; D). Dann existiert genau eine Sequenz elementarer Schritte
(F1 ; : : : ; Fr ) 2 F Q
mit i2[r] Fi = t so, da fur alle
2 i r zwei abhangige Buchstaben (a; b) 2 D mit
Q
a 2 Fi 1 und b 2 Fi existieren. i2[r] ti notiert hier das Produkt t1 : : : tr .
Eine naturliche Darstellung von Spuren sind Abhangigkeitsgraphen oder partiell geordnete Multimengen. Diese Reprasentationen besitzen auch eine einfache geometrische
Interpretation.
7
Ein Abhangigkeitsgraph ist ein knotenbeschrifteter azyklischer Graph G = [V; E; ] mit
Knotenmenge V , Kantenmenge E V V und : V ! als Beschriftung. Fur alle
Knoten x; y 2 V soll entweder eine Kante von x nach y oder von y nach x fuhren, falls
((x); (y)) 2 D. Gemeinsam mit der Verknupfung
[V1 ; E1; 1] [V2 ; E2; 2] =
_ (x; y) 2 V1 V2 j (1(x); 2(y)) 2 Dg; 1[_ 2]
[V1 [_ V2 ; E1[_ E2 [f
und dem neutralen Element [;; ;; ;] bilden die Abhangigkeitsgraphen ein Monoid. Das
Symbol [_ bezeichnet die disjunkte Vereinigung. Wir bezeichnen das durch die EinpunktAbhangigkeitsgraphen [f1g; ;; : 1 7! a], a 2 , erzeugte Monoid vorlaug mit G (; D).
Entsprechend lat sich der transitive Abschlu eines Abhangigkeitsgraphen als partiell
geordnete Multimenge uber den Buchstaben auassen. Eine Multimenge M uber ist
eine Abbildung M : ! N in die naturlichen Zahlen. Wir notieren M durch eine
Aufzahlung der Elemente mit Vielfachheiten und identizieren stellenweise ein Element
einer Multimenge mit einem einer gewohnlichen Menge. Ist die Multimenge M mit
einer partiellen Ordnung M M versehen, so sprechen wir von einer partiell
geordneten Multimenge hM; i. Die mengentheoretischen Operationen [, \, n etc. und
die Relationen wie , 2 etc. verwenden wir fur Multimengen und geordnete Multimengen
wie bei gewohnlichen Mengen.
Die partiell geordneten Multimengen bilden gemeinsam mit der leeren Menge h;; ;i und
der Verknupfung
hM1 ; 1 i hM2 ; 2i =
_ (a; b) 2 M1 M2 j (a; b) 2 Dgi
hM1 [_ M2 ; 1 [_ 2 [f
ein Monoid. Das von den einelementigen partiell geordneten Mengen erzeugte Monoid
bezeichnen wir vorlaug mit O (; D).
Die eineindeutige Fortsetzung der Abbildungen hG : [a] 7 ! [f1g; ;; 1 7! a] bzw.
hO : [a] 7 ! hfag; f(a; a)gi zu Homomorphismen hG : M (; D) ! G (; D) und
hO : M (; D) ! O (; D) liefert zwei Isomorphismen. Damit erhalten wir zwei weitere
Darstellungen fur endlich erzeugte frei partiell kommutative Monoide.
Lemma 1 Das durch das Abhangigkeitsalphabet erzeugte frei partiell kommutative Monoid M (; D) ist isomorph zu dem Monoid der Abhangigkeitsgraphen G (; D) und zu
dem Monoid der partiell geordneten Multimengen O (; D).
Zu einer Spur t = [a1 : : : an] 2 M (; D) mit ai 2 fur alle i 2 [n] wird der dazugehorige
Abhangigkeitsgraph HG (t) gebildet, indem zunachst eine n-elementige Knotenmenge
V = fv1; : : : ; vng (wir betrachten Isomorphieklassen von Graphen) so beschriftet wird,
da (vi ) = ai gilt. Die Kantenmenge wird durch E = f(vi; vj ) j i < j; ((vi); (vj )) 2
Dg festgelegt. Interpretiert man den reexiven und transitiven Abschlu dieses Graphen
als partiell geordnete Multimenge, so erhalt man hO (t) = hM; i.
Lemma 2 Die partielle Ordnung einer partiell geordneten Multimenge hO (t) = hM; i 2 O (; D) ist der Schnitt uber die Ordnung der Wortreprasentanten von t 2 M (; D),
8
= Tw2t O(w). Dabei ist O(w) die durch die Reihenfolge der Buchstaben in w induzierte lineare Ordnung. Das heit O(1) = ;, O(a) = f(a; a)g und O(uv ) = O(u) [ O(v ) [ (u v) mit a1 : : : an b1 : : : bm = fa1; : : : ; ang fb1 ; : : : ; bm g, a; a1; : : : ; an; b1 ; : : : ; bm 2 .
Fur jede topologische Permutation der Spur hM; i ist a(1) : : : a(n) , a1 ; : : : ; an 2
ein Wortreprasentant von t = [a1 : : : an]. (Eine topologische Permutation ist eine
bijektive Abbildung : [n] ! [n] mit a(i) < a(i+1) , fur alle i 2 [n 1].)
Im weiteren werden wir die Monoide M (; D), G (; D) und O (; D) identizieren. Das
heit, wir werden Elemente eines frei partiell kommutativen Monoids bis auf Isomorphie
identizieren.
2.2 Das Levi-Lemma
Das Lemma von Levi fur Worter aus freien Monoiden besitzt die folgende Verallgemeinerung.
Lemma 3 (Levi-Lemma) Seien x; y; z; t 2 M (; D) Spuren. Dann sind die folgenden
Behauptungen zwei aquivalent.
(i) xy = zt
(ii) 9r; u; v; s 2 M (; D) mit
x = ru, y = vs, z = rv, t = us und uIv.
Interessant ist das mit durch A quivalenz (i) , (ii), zusammen mit der Existenz eines
positiven Gewichtes, einen Homomorphismus w : M ! N mit w 1(0) = 1, ein Monoid
M als frei partiell kommutativ charakterisiert wird.
2.3 Das Einbettungstheorem
Eine konkrete Darstellung von M (; D), die wir zur Beschreibung von Algorithmen
verwenden werden, ist eine Einbettung in ein direktes Produkt freier Monoide. Bei der
Konstruktion folgen wir dem kategoriellen Ansatz von Diekert [Die90b] und Fischer
[Fis86].
Jedem Abhangigkeitsalphabet (; D) ordnen wir (bijektiv)
den ungerichteten, schlin
genfreien Graphen G(; D) = (; D n id) zu, D 2 . Betrachten wir die Kategorie, in der die Objekte die endlichen ungerichteten schlingenfreien Graphen und die
Morphismen h : (V; E ) ! (V 0 ; E 0) Abbildungen V ! V 0 sind, die der Bedingung
xy 2 E =) h(x)h(y) 2 E 0 fur alle x; y 2 V genugen. Dann erhalt man einen kontravarianten Funktor M in die Kategorie der Monoide
(; D n id ) 7 ! M (; D)
h : (; D n id) ! (; D n id) 7 ! M (h) : M (; D ) ! M (; D );
Q 1 x ist, y 2 .
worin M (h) die eineindeutige
Fortsetzung
der
Abbildung
y
7
!
x2h (y)
Q
(Hier bezeichnet die Verknupfung in M (; D).)
9
Wir bezeichnen die kanonischen Projektionen
M (; D) ! M (; D \ ( ))
auf ein von induziertes Teilalphabet mit . Das ist der durch die Abbildung
a 7! a fur a 2 und a 7! 1 anderenfalls induzierte Homomorphismus. Fur einelementige
Alphabete = fag schreiben wir auch a fur fag .

Eine Uberdeckung
eines Abhangigkeitsalphabets (; D) ist eine Familie A von Abhangigkeitsalphabeten, mit
=
[
(;D )2A
und D =
[
D:
(;D )2A

Theorem 2 Sei (; D) ein Abhangigkeitsalphabet und A eine Uberdeckung
von (; D).
Dann ist der Homomorphismus
: M (; D) !
Y
(;D )2A
M (; D ); t 7 ! (t)
(;D )2A
injektiv.
Unter einer Clique C von einem Abhangigkeitsalphabet (; D) verstehen wir in diesem Kontext ein Teilalphabet C mit der Eigenschaft C C DS. Eine Cliquenuberdeckung
von (; D) ist eine Familie C von Cliquen so, da = C 2C C und
S
D = C 2C (C C ). Da M (C; C C ) = C erhalten wir eine zur Formulierung von
ezienten Algorithmen geeignete Darstellung fur Spuren.
Korollar 1 Sei (; D) ein Abhangigkeitsalphabet und C eine Cliquenuberdeckung. Dann
ist der Homomorphismus
: M (; D) !
Y
C 2C
C ; t 7 ! C (t)
C 2C
injektiv.
Obgleich wir die verschiedenen Reprasentationen identizieren, werden wir bei der Darstellung von Algorithmen die letztere bevorzugen, da zur Reprasentation bereits wohlbekannte Datenstrukturen, die Strings, existieren. Fur Korrektheitsbeweise sind jedoch
meistens Abhangigkeitgraphen bzw. partielle Ordnungen geeigneter, da sie ein intuitiveres Verstandnis einer Beweissituation durch ihre geometrische Interpretation vermitteln.
10
3 Ersetzungssysteme
In diesem Abschnitt fuhren wir Spurersetzungssysteme ein.
Denition 1 (Spurersetzungssystem) Ein Spurersetzungssystem ist eine endliche
binare Relation R uber einem frei partiell kommutativen Monoid M = M (; D).
Ein Spurersetzungssystem R M M deniert eine Derivations- oder Ableitungsrelation
=)R M M via x =)R y, falls
x = ulv; y = urv, fur u; v 2 M und l ! r 2 R:
Fur (r; l) 2 R notieren wir kurz r ! l. Die iterierte Anwendung ist durch
0
x =)
fur alle x 2 M
Rx
n+1
x =)R y falls ein z 2 M existiert, mit x =n)R z =)R y
f
Mit =)
R notieren wir die reexive und transitive Hulle
Sur alle=n)n 2 Nvondeniert.
=)R , und mit ()R die symmetrische, reexive und transitive
R
n2N
Hulle R(= [ =)R . Die Relation ()
R ist eine Kongruenz uber dem frei partiell
kommutativem Monoid M . Wir notieren M =R fur den Quotienten f[t] ()
R j t 2 M g,
0
0
mit [t] ()
R = ft 2 M j t ()R t g und nennen zwei Ersetzungssysteme R und S
aquivalent, wenn M =R = M =S .
3.1 Eigenschaften von Ersetzungssystemen
Ein Spurersetzungssystem R M M ist
(i) langenreduzierend, wenn fur alle Regeln l ! r 2 R jlj > jrj gilt,
(ii) gewichtsreduzierend, wenn ein Homomorphismus w : M ! N existiert, mit w 1(0) =
f1g und w(l) > w(r) fur alle Regeln l ! r 2 R,
(iii) noethersch, wenn es keine unendlichen Derivationen t0 =)R t1 =)R t2 =)R : : :
gibt und
(iv) konuent, wenn fur alle diuenten Situationen t0 R(= t =)
R t00 sich auf ein
t^ (= t00 .
Element t^ reduzieren lassen, t0 =)
R R
(v) Ein Spurersetzungssystem besitzt die Church-Rosser-Eigenschaft, wenn ()
R =)R R(= .
(vi) Es ist lokal konuent, wenn R(= =)R =)
R R (= .
11
S
Die Menge der reduziblen Spuren (l;r)2R M l M bezeichnen wir mit Red(R), und die
Menge ft 2 M j :9s : t =)R sg = M n Red(R) der irreduziblen Spuren bezeichnen
wir mit Irr(R). Wir nennen das System normalisiert, wenn jede rechte Seite irreduzibel
ist und jede linke Seite bzgl. aller anderen linken Seiten irreduzibel ist. Wir nennen das
System vollstandig, falls es konuent und noethersch ist. Eine Links-Derivation ist eine
Sequenz
t = u1l1v1 =)R u1r1v1 = u2l2v2 =)R : : :
: : : =u)R n 1 rn 1vn 1 = unlnvn =)R t0
mit ui 2 Irr(R), (li; ri) 2 R fur alle i 2 [n]. Es ist bekannt, da Konuenz lokale Konuenz impliziert. Es ist unentscheidbar, ob ein Spurersetzungssystem noethersch ist. Ist ein
(abstraktes) Ersetzungssystem noethersch, dann ist Konuenz sogar mit lokaler Konuenz aquivalent. Zu jedem vollstandigen Ersetzungssystem existiert ein aquivalentes
normalisiertes vollstandiges Ersetzungssystem.
Wir untersuchen die folgenden zentralen Fragestellungen, das Konuenzproblem und
das Normalformproblem.
Problem 1 (Konuenzproblem) Gegeben sei ein festes Spurersetzungssystem R uber
einem Spurmonoid M . Ist R konuent?
Das konstruktive Problem: "Gegeben sei ein Spurersetzungssystem R uber einem Spurmonoid M . Konstruiere ein aquivalentes vollstandiges Ersetzungssystem.\ wurde bereits
von Diekert durch Verallgemeinerung des Algorithmus von Knuth und Bendix auf den
partiell kommutativen Fall bearbeitet [Die87]. Dieser Algorithmus benutzt intensiv Normalformberechnungen, was uns zu der folgenden Fragestellung fuhrt.
Problem 2 (Normalformproblem) Welche Komplexitat hat das berechnen irreduzibler Elemente? Sei R ein noethersches Spurersetzungssystem uber einem Spurmonoid
M und eine Spur t 2 M gegeben. In welcher (nicht-uniformen)
Zeitkomplexitat ist es
t^ zu ermitteln.
moglich eine irreduzible Spur t^ 2 Irr(R) mit t =)
R
Umn spater Komplexitatsaussagen treen zu konnen denieren wir `R(t) = maxfn 2 N j
t =)R t0 g als die Anzahl der maximal moglichen Ableitungsschritte (von t aus). Mit
dR(n) bezeichnen wir den Wert maxf`R(t) 2 N j jtj = n; t 2 M g. Dann ist dR total,
falls R noethersch ist und dR 2 (n), falls R =
6 ;. Fur nicht-leere gewichtsreduzierende
Systeme ist dR 2 (n).
Fortan sei jedes Spurersetzungssystem noethersch, da sonst Derivationen existieren, in
denen kein irreduzibles Element in endlich vielen Schritten erreicht wird, und wir eektive Verfahren betrachten.
12
4 Konuenz von
Spurersetzungssystemen
Die Konuenz von langenreduzierenden Wortersetzungssystemen modulo Kommutationsregeln ist im allgemeinen nicht entscheidbar, wie Narendran und Otto [NO88] feststellten.
Wir geben hier einen neuen einfachen und direkten Beweis fur die Unentscheidbarkeit,
der nicht unmittelbar auf der Unentscheidbarkeit der Praperfektheit basiert und illustriert, wie eine Berechnung einer Turingmaschine durch einen Konuenztest simuliert
werden kann. Genauer konstruieren wir zu einer Turingmaschine M und einem Wort w
ein endliches langenverkurzendes Ersetzungssystem R uber fa; b; $; g=$ = $ mit der
Eigenschaft, da w 2= L(M ) genau dann gilt, wenn R konuent ist. Insbesondere gelang
es zu zeigen, da das betrachtete Problem bereits fur ein Alphabet mit vier Buchstaben
und einer Kommutationsregel unentscheidbar ist.
4.1 Unentscheidbarkeit
Unter einer deterministischen Turingmaschine mit einem einseitig unendlichem Band
verstehen wir ein Tupel M = (Q; ; ; ; q0; F; b) , wobei das Eingabealphabet,
das Bandalphabet und Q die Zustandsmenge ist. ist eine partiell denierte Transitionsfunktion Q ! Q ( n f bg) fC; Bg, q0 2 Q ist der Startzustand und
F Q sind die Finalzustande. b 2 n bezeichnet das Blanksymbol. Dabei beschreibt
(q; a) = (q0; a0; B), da die Maschine bei Lesen des Zeichen a in Zustand q das Zeichen a0 schreibt, in Zustand q0 wechselt und den Kopf ein Zeichen nach rechts bewegt.
(q; a) = (q0; a0; C) beschreibt eine analoge Aktion mit einer Linksbewegung des Kopfes.
Eine Konguration ist ein Tupel (u; q; v), wobei die Maschine in Zustand q ist, sich der
Kopf auf dem ersten Symbol von v bendet und die Bandinschrift uv 2 ( nf bg) gefolgt
von einer Blanksequenz ist. Mit 7 M bezeichnen wir die Einschritttransitionsrelation
(u; q; av) 7 M (ua0; q0; v)
falls (q; a) = (q0 ; a0; B);
0
0
(ub; q; av) 7 M (u; q ; ba v) falls (q; a) = (q0 ; a0; C); b 2
und mit 7 M den reexiven transitiven Abschlu. Mit L(M ) bezeichnen wir die akzeptierte Sprache fw 2 j (1; q0; w)7 M (u; qf ; v); qf 2 F g.
Ohne Einschrankung haben genau die akzeptierenden Kongurationen (u; qf ; v), qf 2 F
keine Folgekonguration, d.h. wir normieren die Maschine so, da sie auf nichtakzeptierten Eingaben nicht terminiert, indem wir einen neuen Zustand f 2= Q einfuhren und
die Transitionsfunktion fur Zustande q 2= F wie folgt erweitern:
(q; a) falls schon deniert
(q; a) =
(f; a0 ; B) anderenfalls, a0 6= b, a0 beliebig
13
Wir erhalten eine Maschine, die ein Wort w 2 L(M ) durch Halten in endlich vielen
Schritten akzeptiert und fur w 2= L(M ) nicht terminiert. Ferner nehmen wir an, da
keine Blanksymbole geschrieben werden.
Zu einer solchen Turingmaschine M konstruieren wir ein simulierendes langenreduzieren_ $g. Fur Rechtsbewegungen fuhren
des Ersetzungssystem R uber dem Alphabet Q [_ [f
wir die Regeln
bqa$$ !R ba0 q0;
(q; a) = (q0; a0; B);
0
0
bq b$$ !R ba q b; (q; b) = (q0; a0; B)
ein, und fur Linksbewegungen fugen wir die Regeln
bqa$$ !R qba0 ;
(q; a) = (q0; a0; C)
bq b$$ !R qba0 b; (q; b) = (q0; a0; C)
fur alle a; b 2 n f bg hinzu.
Weiter enthalt das Ersetzungssystem die Regeln
ab$$ !R a$b und a$b$$ !R a$$b
fur a; b 2 . Sie erlauben einen Transport der $-Symbole in einem Wort nach links. Bei
der Simulation eines Berechnungsschrittes werden immer zwei $-Symbole konsumiert
und ein Transport eines $-Symbols um ein Zeichen kostet ein $.
Lemma 4 (i) R ist konuent uber (Q [ [ f$g).
(ii) Es gilt (u; q; v )7 M (u0; q 0; v 0) genau dann, wenn eine Zahl n 2 N existiert, mit
uqv b$n =)
R u0 q 0 v10 $v20 $ : : : vk0 b$ und v 0 = v10 v20 : : : vk0 , v10 ; : : : ; vk0 2 n f bg.
(iii) Es ist w 2 L(M ) genau dann, wenn eine naturliche Zahl n 2 N existiert mit
q0w b$n =)
R uqf v b$$ 2 Irr(R);
qf 2 F und v b$$ 2 Irr(R).
Beweis: Es ist wohlbekannt, wie man fur noethersche Wortersetzungssysteme die Konuenz mit Hilfe kritischer Paare testen kann, siehe [Jan88]. Im vorliegenden Fall ist die
Menge der kritischen Paare oensichtlich leer. (Beachte: Die Maschine ist deterministisch.) Die zweite Aussage folgt unmittelbar aus der Konstruktion mit Induktion. Die
dritte Behauptung ist evident, da in uqf v b$$ wegen der Normierung der Turingmaschine
kein $ konsumiert werden kann.
Seien 0, , und vier neue Symbole. Das neue Alphabet sei also = f; ; ; 0; $g [
[ Q. Erweitern wir jetzt R noch um die Regeln x0 !R 0 und 0x !R 0 fur alle
Symbole x 2 so bleibt das System konuent, da w =)R 0 fur alle w 2 0 . 0 ist
ein absorbierendes Symbol.
Zu einem Wort w 2 denieren wir das Regelsystem R(w) durch Erweiterung von R
um die drei Regeln
jwj+2 !R q0 w b
!R 0
b !R 0:
14
Bemerkung 1 (i) R(w) ist konuent, da sich alle kritischen Situationen auosen
lassen:
0 R(= q0w0 R (= q0 w b R(= jwj+2 =)R jwj+20 =)
R0
(ii) w 2= L(M ) genau dann, wenn fur alle n 2 N
q0 w b$n =)
R uqv b =)R uqv 0 =)R 0
gilt.
Sei jetzt und $ unabhangig, d.h. $ = $ . Betrachten wir die kritischen Situationen
uber dem erzeugten Spurmonoid M (; D ) mit = Q [ [ f; ; ; $; 0g und D =
2 n f($; ); (; $)g
jwj+2 $n = jwj+2$n;
so lat sich die rechte Seite zu 0 via
0
jwj+2$n =)R jwj+2$n0 =)
R
ableiten. Die linke Seite lat sich via jwj+2 $n =)R q0w b$n ableiten. Das entstandene Element lat sich nur dann zu 0 fur alle n 2 N ableiten, falls w 2= L(M ):
q0 w b$n =)
R uqv b =)R uqv 0 =)R 0:
Andernfalls existiert eine naturliche Zahl n 2 N und eine Derivation
2
jwj+2 $n =)R q0 w b$n =)
R uqf v b$ 2 Irr(R)
zu einem irreduziblen Wort verschieden von 0. Wir erhalten:
Lemma 5 Wenn R M M konuent ist, dann gilt w 2= L(M ).
Fur die Umkehrung benotigen wir eine konkrete Darstellung von Faktorisierungen, um
weiter Aussagen machen zu konnen. Diese entnehmen wir aus dem Anhang.
Ein Faktorvorkommen
i : l = hMl ; l i ! t = hMt ; t i
von l in der Spur t ist eine ordnungserhaltende Inklusion i : Ml ,! Mt so, da sich t
durch u i(l) v faktorisieren lat2. Das folgende im Anhang bewiesene Lemma stellt
eine Charakterisierung fur Faktorisierungen bereit.
Lemma 6 Seien t; l 2 O (; D) Spuren mit t = hMt; t i und l = hMl ; l i. Weiter
sei Ml Mt eine Teilmultimenge und l die auf Ml induzierte partielle Ordnung t
\ (Ml Ml ). Dann ist l ein Faktor in t (t = ulv fur u; v 2 M (; D)) genau dann, wenn
fur alle Elemente a; b 2 Ml und c 2 Mt gilt a t c t b =) c 2 Ml .
Viele dieser Begrie werden im Anhang naher erlautert. Dort benden sich auch visuelle Veranschaulichungen und technische Beweise.
2
15
Beweis: Sei l ein Faktor in t = ulv 2 O (; D) mit Spuren u = hMu; u i, v = hMv ; v i
und t = hMt ; ti. Daraus folgt Mt = Mu[_ Mv [_ Ml . Seien a; b 2 Ml und c 2 Mt mit
a t c t b. Dann gilt a t c =) c 2= Mu und c t b =) c 2= Mv . Also liegt c in Ml .
Sei nun l = hMl ; l i eine durch t partiell geordnete Teilmenge von t so, da fur alle
a; b 2 Ml a l c l b =) c 2 Ml gilt. Liegen alle minimalen und maximalen Elemente
von t in Ml , so ist t = l ein Faktor (u = v = 1). Anderenfalls existiert ein minimaler
(oder ein maximaler) Buchstabe a in t, der nicht in l vorkommt. Damit faktorisiert sich
t = at0 (oder t = t0a) und t0 enthalt (mit Induktion uber die Kardinalitat von Mt ) den
Faktor l. Das heit t = au0lv0 (oder t = u0lv0a). Man beachte, die Divisionsrelation ist
noethersch.
Seien l und t wie im Lemma und sei i wie oben beschrieben, dann fuhrt die Charakterisierung zu einer Aufteilung der Spuren in
(i) den Teil hi(l); 0t i, der das Vorkommen enthalt
(ii) den Teil, der vor dem Vorkommen liegt
pret (i) = hfa 2 Mt j a <t i(b); b 2 Ml g; 0t i;
(iii) den Teil, der nach dem Vorkommen liegt,
postt(i) = hfa 2 Mt j i(b) <t a; b 2 Ml g; 0t i;
(iv) und den von dem Vorkommen unabhangigen verbleibenden Teil
indt (i) = t n (pret(l) [ postt (l) [ l):
0t notiert die von t auf jeweiligen Teilmenge induzierte Ordnung.
Wir sagen zwei Vorkommen ij : lj ! t, j = 1; 2, sind separiert, wenn ij bereits in
pret(ij0 ) ind(ij0 ) vorkommt, fj; j 0g = f1; 2g. Die Spur t wird von zwei Vorkommen
ij : lj ! t, j = 1; 2, induziert, wenn alle Buchstaben zwischen Buchstaben aus i1 (l1)
und i2 (l2) liegen:
t = hfa 2 Mt j ij (b) t a ij0 (c); b 2 lj ; c 2 lj0 ; fj; j 0g = f1; 2gg; 0ti:
Um den Beweis des Lemmas 8 zu verkurzen verwenden wir einige bekannte Resultate aus
[Die90b], die wir hier zitieren und an unsere Notation anpassen. Sei R ein noethersches
Ersetzungssystem. Wir denieren die Reduktionsordnung via x y , y =)
R uxv
fur u; v 2 M .
Lemma 7 Sei R M 2 ein noethersches Spurersetzungssystem, t 2 M und i : l ! t
ein Faktorvorkommen mit l ! r 2 R. Fur alle a 2 fb 2 j fbg (l) I g gilt
x (= ar. Dann lassen sich die Derivationen u rv (= t =) u rv aus
ra =)
R R
1 1 R
R 2 2
den Faktorisierungen u1 i(l) v1 = u2 i(l) v2 = t zusammenfuhren (d.h. es existiert t^
t^ (= u rv ), wenn R auf allen Spuren t0 t konuent ist.
mit u1 rv1 =)
R R
2 2
16
Betrachten wir die in [Die90b] denierte Menge der kritischen diuenten Situationen
CT (l1; l2 ; R). Das sind Spuren t 2 M , bei denen zwei Faktorvorkommen von linken
Seiten existieren, bei denen sich die Reduktionen gegenseitig auswirken. Formal enthalt
CT (l1; l2 ; R) Spuren t 2 M ,
(i) die von zwei Vorkommen ij : lj ! t, j = 1; 2, induziert werden so, da die
Vorkommen nicht separiert sind, und
(ii) fur alle linken Seiten l 2 LR = fl j (l ! r 2 Rg, die in t vorkommen k : l ! t,
gilt fur j = 1 oder j = 2, da t von den Vorkommen k und ij induziert wird und
diese Vorkommen nicht separiert sind.
Mit dieser Denition konnte in [Die90b] folgendes Theorem bewiesen werden.
Theorem 3 Sei R ein noethersches Ersetzungssystem, ra =)
R x R (= ar fur alle
a 2 fb 2 j fbg (l) I g und l ! r 2 R. Dann ist R konuent, wenn alle Paare
aus
CritPair(R) = f(t1 ; t2 ) j t1 (=l1 !r1 t =)l2 !r2 t2 ; t 2 CT (l1 ; l2 ; R)
lj ! rj ; tj = uj rj vj ; t = uj lj vj ; (j 2 f1; 2g)g
zusammenfuhrbar sind.
Damit konnen wir die fehlende Implikation beweisen.
Lemma 8 Wenn w 2= L(M ), dann ist R konuent.
Beweis: Zu keiner Regel l ! r 2 R existiert ein von l unabhangiger Buchstabe a 2 .
Es reicht also zu zeigen, da alle Paare (t1 ; t2) 2 CritPair(R) zusammenfuhrbar sind.
Keine linke Seite enthalt eine andere als Faktor. Linke Seiten der Form aqb$$, ab$$,
a$b$$, x0, 0x, b sind immer separiert. Sie fuhren also nicht zu kritischen Situationen.
Es verbleibt die Konuenz auf Spuren t 2 CT (jwj+2; ; R) zu zeigen. Spuren aus
CT (l1; l2 ; R) lassen sich in neun Teile zerlegen:
p1 y1 q2
durch
pi
si
qi
s
y1
y2
=
=
=
=
=
=
s1
s
s2
q1
y2
p2
li \ pre(lj )
li \ ind(lj ) = ind(lj )
li \ post(lj )
fi; j g = f1; 2g
l1 \ l2
post(l1) \ pre(l2 )
post(l2) \ pre(l1 )
17
Das Diagramm fur li = jwj+2 und lj = entartet zu
$n
j
w
j
+2
da notwendigerweise s = , pi = jwj+2, pj = 1, qi = 1, qj = und yi 2 $, yj = 1 gilt,
fi; j g = f1; 2g. Doch
0 R(= q0 w b$n = t1 R (= t =)R t2 = jwj+2$n0 =)
R0
ist eine konuente Situation, wenn w 2= L(M ). Damit enthalt CritPair(R) nur konuente
Paare. Also ist R konuent.
Theorem 4 Es ist nicht entscheidbar, ob ein langenreduzierendes Spurersetzungssystem
uber einem Monoid M (; D) konuent ist, wenn das Abhangigkeitsalphabet (; D) min-
destens vier Buchstaben enthalt und genau ein Paar dieser vier Buchstaben unabhangig
ist, d.h. (; D) enthalt den induzierten Untergraphen
b
$
a
Beweis: Da die universelle Sprache fhM; wi j M akzeptiert wg nicht entscheidbar ist,
ist es unentscheidbar, ob ein langenreduzierendes Ersetzungssystem uber einem Monoid
mit nur einer Kommutation konuent ist. Mit der Codierung c : N ! fa; bg mit
c(i) = abai+2 bi+2 lat sich das Alphabet (; D) (s.o.) wie folgt darstellen:
ai 7 ! c(i)
ai 2 = fa1 ; : : : ; aj jg
qi 7 ! c(j j + i)
qi 2 Q = fq1; : : : ; qjQjg
7 ! c(j j + jQj + 1)
b 7 ! c(j j + jQj + 2)
7 ! c(j j + jQj + 3)
0 7 ! c(j j + jQj + 4)
7 ! $ 7 ! $
Der durch diese Abbildung induzierte Homomorphismus h : M (; D ) ! M (; D)
hat die Eigenschaft:
h(z) besitzt genau dann ein Bild einer linken Seite h(l) als Faktor,
wenn z die linke Seite l als Faktor besitzt.
Formal sei
h(R) = fh(l) !h(R) h(r) j l !R r 2 Rg:
Es gilt h(t) =)
h(R) h(t0 ) genau dann, wenn t =)R t0 .
18
Im Kapitel 7 werden wir Dekompositionen von Monoiden naher untersuchen. Zur Formulierung des nachsten Korollars greifen wir einige Denitionen vorweg.
Seien (; D) und (; D) zwei disjunkte Abhangigkeitsalphabete ( \ = ;). Dann
denieren wir die direkte Summe via
(; D) (; D) := ( [ ; D [ D);
und das Komplexprodukt mit
(; D) (; D) := [ ; D [ D [ ( ) [ ( ) :
Die kleinste Subklasse der Abhangigkeitsalphabete, die unter direkter Summe und Komplexprodukt abgeschlossen ist, und die einelementigen Abhangigkeitsalphabete enthalt,
bezeichnet man als Cographen-Abhangigkeitsalphabete.
Die Spurmonoide, die von diesen Abhangigkeitsalphabeten erzeugt werden, nennen wir
Cographen-Monoide.
Korollar 2 Es ist nicht entscheidbar, ob ein langenreduzierendes Spurersetzungssystem
uber einem Cographen-Monoid konuent ist.
Beweis: Das Monoid M (; D) = fa; bg N 2 ist ein Cographen-Monoid.
(; D) =
b
$
a = (a b) ($ )
Als oene Frage verbleiben noch die Falle, bei denen die Abhangigkeitsalphabete diesen
induzierten Untergraph nicht besitzen. Beispielsweise ist noch oen, ob die Konuenz
auf dem einfachen Abhangigkeitsalphabet (; D) = a b c entscheidbar ist.
19
5 Algorithmen fur
Ersetzungssysteme mit
zusammenhangenden
linken Seiten
Im folgenden sei M = M (; D) das frei partiell kommutative von (; D) erzeugte Monoid. Weiter bezeichne C eine Cliquenuberdeckung des erzeugenden Alphabets. Das Ersetzungssystem bezeichnen wir mit R und die Menge der linken Seiten fl 2 M (; D) j
(l; r) 2 Rg mit LR . Fur eine Clique C 2 C und eine Spur t 2 M verwenden wir fur die
Projektion C (t) 2 C auf das Cliquenalphabet C 2 C die Bezeichnung tC .
Ein zentrales Problem bei der Faktorersetzung bzw. bei der Faktorerkennung ist die
nicht lokale Charakterisierung eines Faktors wie in Lemma 6. Da wir i.allg. nicht den
vollstandigen Abhangigkeitsgraphen oder gar seinen transitiven Abschlu in weniger als
quadratischer Zeit abspeichern konnen, ist eine Idee, auf Strukturen mit geringerer Groe
ohne Informationsdefekt auszuweichen. Eine dieser Strukturen ist das Hasse-Diagramm
des Abhangigkeitsgraphen, eine andere, die wir hier verwenden, ist die Worttupeldarstellung aus Korollar 1. Diese Darstellungen erlauben leider nicht "globale\ Bedingungen,
wie beispielsweise die Faktorbedingung in Lemma 6.
8a; b 2 Ml 8c 2 Mt : a t c t b =) c 2 Ml
in konstanter Zeit zu entscheiden.
5.1 Das Berechnungsmodell
Bevor wir Algorithmen und Komplexitatsresultate formulieren, ein Wort uber das Maschinenmodell. Wir gehen bei den folgenden Komplexitatsaussagen von einem Rechnermodell mit indiziertem Speicherzugri aus (RAM) und abstrahieren bei der Darstellung
der Algorithmen auf eine prozedurale imperative Programmiersprache. Sie stellt Selektionen (if-Statements), Iterationen (while- und for-Schleifen) und Rekursion als Kontrollstrukturen und Zuweisungen als Modikatoren bereit. Wir nehmen an, da jede Abfrage
und jede primitive Operation (wie Addition, Subtraktion, Zeigeroperationen, numerische
Vergleiche etc.) auf Speicherzellen bzw. Variablen O(1) Zeiteinheiten benotigt.
5.2 Die C -Baume
Wir stellen im folgenden eine Spur t 2 M durch ihr Projektionstupel (tC )C 2C dar.
Zur ezienten Manipulation fuhren wir weitere Zugrisstrukturen ein. Jedes Wort tC ,
C 2 C dieses Tupels wird mit einer baumartigen Verweisstruktur versehen, die mit
20
weiteren Informationen beschriftet ist. Buchstaben,
Q die das gleiche Urbild bezuglich
des Projektionshomomorphismus : M ! C 2C C haben, sollen sich (gegenseitig)
referenzieren. D.h. in t = (tC )C 2C besitzen das i-te a Symbol in tC = uC avC , a 2 C 2 C ,
juC ja = i 1, Referenzen aufeinander.
In diesem Abschnitt beschreiben wir die baumartigen Zugrisstrukturen. Ein C -Baum
ist ein uber einem Wort w 2 C errichteter Baum. Sei m 3 eine naturliche Zahl.
Dann reprasentiert ein C -Baum T das Wort w = w1 : : : wn mit wi 2 C , i 2 [n],
wenn die Blatter die Buchstaben wi 2 C sind und der geordnete Baum den folgenden
Struktureigenschaften genugt.
(i) Jeder innere Knoten besitzt mindestens 2 und hochstens m Kinder.
(ii) Jedes Blatt besitzt dieselbe Distanz zum Wurzelknoten.
(iii) Die Ordnung der Blatter entspricht der Ordnung der Buchstaben in w.
Die lineare Ordnung O(w) (w1 < w2 < : : : < wn) der Buchstaben wi 2 , i 2 [n], in
w = w1 : : : wn legt in naturlicher Weise die Ordnung auf den Blattern fest und lat sich
auf zu einer partiellen Ordnung auf den inneren Knoten wie folgt fortsetzen. Ein innerer
Knoten ist kleiner als ein anderer, wenn alle nachfolgenden Knoten des ersten Knoten
kleiner als die des zweiten sind.
Weiter besitzt ein C -Baum mit Knotenmenge V zwei Beschriftungen
1 : V ! P (C ) und 2 : V ! P (LR ):
Sie sollen eine eziente Berechnung von Faktorisierungen, Faktorvorkommen und Konkatenationen ermoglichen. Dazu genugen die Beschriftungen den folgenden Bedingungen:
(i) Jeder Knoten v in T ist via 1 mit dem Alphabet des durch den Unterbaum
(mit Wurzel v und Blattsequenz w) induzierten Alphabets 1 (v) = (w) C
beschriftet.
(ii) Jeder Knoten v in T ist via 2 mit einer Teilmenge der linken Seiten l 2 LR
beschriftet, deren Projektion C (l) 2 C nf1g in dem durch v induzierten Teilwort
beginnt. Genauer besitzt der durch v induzierte Teilbaum ein zum Buchstaben
a korrespondierendes Blatt, so da das durch den gesamten Baum reprasentierte
Wort w sich wie folgt faktorisieren lat w = u alC0 v mit C (l) = lC = alC0 .
Eine Spur t 2 M wird durch eine Baumfamilie (TC )C 2C reprasentiert, wenn fur alle
C 2 C der C -Baum TC in der Familie das Wort tC reprasentiert. Die 2 -Beschriftungen
sollen dann genau die linken Seiten l 2 LR enthalten, bei denen sich die Faktorisierungen auf der reprasentierten Projektion zu einer Faktorisierung der reprasentierten Spur
fortsetzen lat. D.h. fur die reprasentierte Projektion w = tC 2 C existiert ein Faktorvorkommen i : l ! t mit w = w0i(a)lC0 w00 genau dann, wenn jeder Vorfahre des Blattes,
das zum Buchstaben i(a) korrespondiert, mit Mengen, die l enthalten, beschriftet ist.
21
Die Idee ist, da die Baumstruktur mit der 1 -Beschriftung eine eziente Rekonstruktion der transitiven Abhangigkeiten erlaubt und, da die Baumstruktur mit der 2Beschriftung eine eziente Berechnung von Faktorisierungen ulv mit l 2 LR ermoglicht.
Formal sei TC ein Baum aus der Familie. Sei w0 das von dem Unterbaum mit Wurzel v
induzierte Teilwort von w, dann denieren wir
1 (v) = (w0)
2 (v) = fl 2 LR j 9i : l ! t Faktorvorkommen mit i(C (l)) = alC0
[(lC0 = lC00 lC000 ^ w0 = xalC00 ^ w = x0 w0lC000y0) _ w0 = xalC0 y]g
Wir zitieren an dieser Stelle ein Korollar, in dem Faktorisierungen charakterisiert werden
(siehe Anhang A).
Korollar 3 Seien t; l 2 M (; D). Dann ist l = hMl ; l i ein Faktor in t = hMt ; t i
genau dann, wenn
(i) l ein Vorkommen in t ist, d.h. fur alle Cliquen C; C 0 2 C mit C \ (l) 6= ; und
C 0 \ (l) 6= ; existieren Worter uC ; vC 2 C mit tC = uC lC vC und C0 (uC ) =
C (uC 0 ), sowie
(ii) fur alle verbleibenden Cliquen C 2 C , (l) \ C = ; existieren Faktorisierungen
uC vC = tC so, da die Beziehung C (uC 0 ) = C 0 (uC ) fur alle C; C 0 2 C erfullt
ist.
Sei t 2 M , l 2 LR und C = fC1; : : : ; Ck g mit (l) \ Cj 6= ; fur 1 j i und
(l) \ Cj = ; fur i + 1 j k. Dann gilt t = x l y genau dann, wenn
0 tC 1 0 xC 1 0 lC 1 0 yC 1 0 xC aC l0 yC 1
BB ... 1 CC BB ... 1 CC BB ... 1 CC BB ... 1 CC BB 1 1... C1 1 CC
BB tCi CC BB xCi CC BB lCi CC BB yCi CC BB xCi aCi lC0 yCi CC
BB tCi+1 CC = BB xCi+1 CC BB 1 CC BB yCi+1 CC = BB xCi+1 yCi i+1 CC
B@ .. CA B@ .. CA B@ .. CA B@ .. CA B@
CA
...
.
.
.
.
tCk
xCk
yCk
1
xCk yCk
und jeder Vorfahre v in der reprasentierenden Datenstruktur eines zu einem der Buchstaben aC1 ; : : : ; aCi korrespondierenden Blattes mit einer Menge 2 (v), die l enthalt, beschriftet ist, und fur 1 j; j 0 i die Bedingung jxCj ja = jxCj0 ja fur alle a 2 C \ C 0 \ (l)
erfullt ist.
Die folgende Abbildung illustriert die Baumstruktur.
22
TC
l 2 2 (v), falls i : l ! t Faktorvorkommen ist und
tC = w = w00w0w000 mit w0w000 = x0 lC y0, lC = alC0
v
und w0 = x0 i(a)y00 v 1 (v) = fw10 ; : : : ; wn0 g
w10 : : :
wn0
0
0
w = w1 : : : wm0
w1 : : : : : :
wn
w = w1 : : : wn = xw0y
Die Hohe HEIGHT(v) = HEIGHT(T ) eines Baumes T mit Wurzel v ist rekursiv deniert. Jedes Blatt v besitzt die Hohe HEIGHT(v) = 1 und die Hohe eines inneren Knoten
v berechnet sich rekursiv HEIGHT(v) = 1 + maxc2children(v) HEIGHT(c). (Entsprechend
sind Tiefe und Distanz deniert.)
Aus den strukturellen Eigenschaften des Baumes folgt eine Schranke fur die Pfadlangen
zur Wurzel.
Lemma 9 Sei T ein C h-Baum
der Hohe h, dann liegt die Anzahl der Knoten von T
+1
zwischen 2h+1 1 und
und mh .
m
1
m 1 .
Die Lange des reprasentierten Wortes liegt zwischen 2h
Damit ist die Distanz von einem Buchstaben zur Wurzel proportional zu log n.
Beweis: Sei n = n(h) die Anzahl der Knoten. Die Anzahl der Knoten mit Wurzeldistanz
i liegt zwischen 2i und mi. Es gilt
2h+1
1=
h
X
i=0
2i
n(h) h
X
mi = mm 1 1
i=0
h+1
Sei C , wie oben beschrieben, eine Cliquenuberdeckung. Dann reprasentiert das C Baumtupel (TC )C 2C die Spur t dann, wenn fur alle C 2 C der Baum TC das Wort C (t)
reprasentiert (mit korrekter Beschriftung). Blatter, die zu Buchstaben korrespondieren,
Q
die das gleiche Urbild bezuglich des Projektionshomomorphismus : M ! C 2C C haben, sollen sich referenzieren.
Diese strukturellen Eigenschaften ermoglichen es beispielsweise in logarithmischer Zeit
zu entscheiden, ob ein durch Positionen in den Wortern tC , C 2 C bzw. via Blattern
in TC beschriebenes Vorkommen ein Faktor ist. Fur den Beweis beschreiben wir die
Methoden, um einige (primitive) Pradikate entscheiden zu konnen.
Der erste Algorithmus berechnet zu einem gegebenen mit dem Buchstaben a beschrifteten Blatt das, falls existent, grote sich links von v bendliche mit b beschriftete Blatt.
D.h. fur einen das Wort w = w0aw00 reprasentierenden C -Baum T und einen den Buchstaben a reprasentierenden Knoten v soll der Knoten, der das letzte b in w0 reprasentiert,
23
berechnet werden. (Man beachte, da ein lineares sondieren auch lineare Zeit- und nicht
logarithmische Zeitkomplexitat besitzt.) Ein geeignetes Auf- und wieder Absteigen in
der Baumstruktur ist jedoch in der angestrebten Zeitschranke moglich.
Algorithm pred(T; v; b)
Comment Input: a nonempty C -tree T and a leaf v
representing a letter a.
Output: the right-most b labeled leaf to the left of v.
Method
if v is the root of T then return no predecessor
else v0 v
the father of v0
while b 2= 1 (v00 ) for a brother to the left of v
and v is not the root do
v0 v
v father of v0
v
end while
if v0 has no b-labeled brother to the left
then return no b-labeled predecessor
else while v is no leaf do
let v be the right-most b-labeled brother to the left
return (v)
end if
end if
end Method
Lemma 10 Sei T ein C -Baum, v ein mit a beschriftetes Blatt und b 2 C ein Buchsta-
be. Dann ist pred(T; v; b) das mit b beschriftete Blatt (falls existent), das sich links von v
bendet, so da kein weiteres mit b beschriftetes Blatt sich zwischen v und pred(T; v; b)
bendet.
Beweis: Reprasentiere der C -Baum T das Wort w 2 C und sei v der Blattknoten,
der den Buchstaben a in w = w0aw00 reprasentiert. Ist v die Wurzel, so gilt w = a und
das Resultat existiert nicht.
In der ersten Schleife wird der Pfad (v; v1; v2; : : : ; vk ) von v in Richtung Wurzel so lange
erforscht, bis entweder die Wurzel erreicht ist oder die Beschriftung des letzten Knoten
1(vk ) den Buchstaben b enthalt. Es gilt, da die Variable v den Wert vi beim i-ten
Durchlauf hat, wenn vi der i-te Vorfahr von dem Eingabeknoten v ist. Weiter ist v0 der
(i 1)-te Vorfahr.
Existiert kein Vorfahr vk so, da einer der linken Bruder von vk 1 mit einer Menge, die b
enthalt, beschriftet ist, dann gilt b 2= (w0) und der Algorithmus berechnet das richtige
Resultat. Existiert ein solcher Bruder, so gelten die folgenden Invarianten fur die zweite
Schleife: b 2 1 (v) und, wenn vk0 i der Wert von v in der i-ten Iteration ist, dann gilt
HEIGHT(vi ) = HEIGHT(vi0 ), vi0 ist Vater von vi0 1 und es existiert kein Knoten x mit der
24
gleichen Hohe, der sich links von vi0 und rechts von vi bendet und mit einer Menge die
b enthalt beschriftet ist. Ansonsten ware x ein Nachkomme eines Bruders von vk 1, der
sich rechts von vk0 1 bendet, was im Widerspruch zur Wahl von vk0 1; : : : ; vk0 i+1 steht.
Man beachte b 2= 1(vi ) fur alle i < k. Damit ist nach k Iterationen das Resultat der der
Semantik entsprechende b reprasentierende Knoten mit w0 = u0bu00 und b 2= (u00).
Mit dieser Technik sind wir in der Lage, in einer Spur t = ubvaw 2 M das b-Vorkommen
(a; b) 2 D zu nden mit b = maxfb 2 Mt j b <t ag, t = hMt ; t i. Induktiv uber die
Anzahl der Buchstaben in einer Zusammenhangskomponente von a in (; D) konnen
wir auf diese Weise die (vollstandige) transitive Relation t entscheiden.
Wir bezeichnen im folgenden den reexiven und transitiven Abschlu der Relation
D mit
S
D und bezeichnen die Menge fb 2 j (a; b) 2 X g mit X (a), bzw. X (Y ) = y2Y X (y),
X 2 fD; Dg.
Algorithm PRED((TC )C 2C ; (vC )a2C 2C ; b)
Comment Input: a representation (TC )C 2C of t 2 M , a representation
(vC )a2C 2C of a, and a letter b 2 .
Output: the representation of b = maxfb j b <t ag.
Method
if b 2= D(a) then return no such predecessor possible
else for all c 2 D(a) n fag and C 2 C with c 2 C do
initialize xc;C as undened.
end for
X fag
for all C 2 C with a 2 C do
initialize xa;C by vC .
end for
while X 6= D(a) do
Y D(X ) n X
for all c 2 Y and d 2 X do
for all C 2 C with c 2 C do
xc;C
max(pred(TC ; xC;d; c); xC;c)
end for
end for
X X [Y
end while
return ((xC;b )b2C 2C )
end if
end Method
Lemma 11 Sei (TC )C 2C eine die Spur t = hMt ; t i reprasentierende Baumfamilie,
(vC )a2C 2C eine den Buchstaben a in t reprasentierende Blattfamilie und b 2 . Dann ist
das Resultat von
PRED((TC )C 2C ; (vC )a2C 2C ; b)
25
eine den Buchstaben b = maxfb j b <t ag reprasentierende Blattfamilie (vC0 )b2C 2C .
Beweis: Wenn (a; b) 2= D, existiert keine Ordnungsrelation a t b in t, da fur eine
Partition = a [_ b die Isomorphie M (a ; D \ 2a ) M (b ; D \ 2b ) = M (; D) gilt,
2
2
wenn D = (D \ a )[_ (D \ b ). Anderenfalls hat die while-Schleife die Invariante: Fur
alle d 2 X reprasentiert xd = (xC;d)d2C 2C das Vorkommen d = maxfd j d t ag oder,
falls dieses Maximum nicht existiert, ist (xC;d)d2C 2C undeniert. Diese Aussage bleibt
invariant, da pred die oben denierte Semantik besitzt. Durch die Initialisierung ist
die Invariante beim Betreten der while-Schleife erfullt. Die Maximalitat von xd wird
durch die Nachbedingung von pred bzw. den Maximumoperator zugesichert, der mit
der folgenden Methode berechnet werden kann.
Algorithm max(u; v)
Comment Input: two leaves in a C tree T
Output: the right-most leaf of fu; vg
Method
if u = v then return (u)
else hu0; v0i hu; vi
let u00 be the ancestor of u0 and v00 be the ancestor of v0
while u00 =6 v00 do
hu0; v0i hu00; v00i
let u00 be the ancestor of u0 and v00 be the ancestor of v0
end while
if u0 to the right of v0 then return (u)
else return (v)
end if
end if
end Method
Die Zeitkomplexitat dieses Verfahrens ist logarithmisch.
Lemma 12 Sei T ein das Wort w 2 C reprasentierender C -Baum. Dann terminiert
die Prozedur pred in O(log jwj) Zeiteinheiten.
Reprasentiert (TC )C 2C die Spur t 2 M , so terminiert die Prozedur PRED in O(jjjDj
log jwj) = O(log jwj) Zeiteinheiten.
Beweis: Die Komplexitat ist in beiden Fallen proportional zur Lange der traversierten
Pfade, die maximal mit logarithmischer Ordnung wachst.
Analog lat sich durch iteriertes Berechnen das Maximum von jeder Buchstabenmenge
berechnen. Dual konnen auf diese Weise auch minimale Buchstabenvorkommen, die
groer sind, berechnet werden.
26
Damit lat sich in logarithmischer Zeit entscheiden, ob ein Vorkommen i von l = (lC )C 2C
in t eine Faktorisierung t = (tC )C 2C induziert. Erinnern wir uns: Wir reprasentieren ein
Vorkommen durch Teilworter in den Projektionen wie in Korollar 3 Teil (i). Also entsprechen Vorkommen Teilmengen von Blattern, die sich gegenseitig referenzieren. Damit
konnen wir Vorkommen mit zu den minimalen Buchstaben in i(l) korrespondierenden
Blattfamilien identizieren. Man beachte, da nicht alle diese Familien Vorkommen reprasentieren, aber jedes Vorkommen sich durch eine Familie reprasentieren lat.
Lemma 13 Sei (TC )C 2C eine Reprasentation der Spur t 2 M und (vC )C 2C eine Blattfa-
milie, die ein Vorkommen i von l = (lC )C 2C in t so reprasentiert, da die Blatter, die zu
den minimalen Buchstaben in i(lC ) korrespondieren, bekannt sind. D.h. fur alle a 2 0 )a2C 2C die Buchstaben (i(a)). (Damit referenzieren die
mit l = al0 reprasentieren (va;C
Knoten, die den gleichen Buchstaben reprasentieren, sich gegenseitig.) Dann kann man
in O(log jtj) Zeiteinheiten entscheiden, ob das Vorkommen ein Faktor ist.
Beweis: Das Pradikat pret(l) \ postt (l) = ; in Korollar 14, eine unmittelbare Folgerung
aus der oben angefuhrten Charakterisierung, lat sich mit logarithmischem Aufwand
entscheiden, siehe Lemma 12.
Ezienter (d.h. mit kleineren Konstanten) lat sich die Faktoreigenschaft uberprufen,
wenn man explizit nach beeintrachtigenden3 (zerstorenden) Buchstaben sucht, siehe Abschnitt A.3 oder Lemma 40 und doppelte Berechnungen durch PRED vermeidet. Ohne
Einschrankung reicht es aus, nach beeintrachtigenden Buchstaben c zwischen minimalen
und maximalen Buchstaben aus i(l) zu suchen bzw. deren Nichtexistenz zu testen.
Um die bis jetzt eingefuhrten Begrie und Strukturen zu verdeutlichen, betrachten wir
das folgende Beispiel.
Beispiel 1 Sei (; D) das Abhangigkeitsalphabet
fa; b; c; d; eg;
"
a
b
e
#!
c
d
und die Spur t = [cabdacbaedcbaedcbed]. Sei LR = fl1 ; l2 ; l3 g mit l1 = [acbd], l2 =
[bdca] und l3 = [aed]. Wir erhalten das Redukt des Abhangigkeitsgraphen von t mit den
Vorkommen i1 ; i2 ; i3 ; i4 : l1 ! t und j1 ; j2 ; j3 : l2 ! t (durch Polygonzuge in der
Zeichnung hervorgehoben).
3
Dieser Begri wird im Anhang prazisiert.
27
c
d
c
a
b
a
d
e
b
d
c
b
a
c
d
a
b
c
d
e
b
a
c
a
d
e
b
Unterscheiden wir fur den Moment verschiedene Vorkommen des gleichen Buchstaben
durch Indizes. Beispielsweise bezeichnet a3 den dritten Buchstaben a in t, also das a in
i2 (l1). Die Vorkommen von l3 bezeichnen wir mit k1 und k2. Dann beeintrachtigen die
Buchstaben e folgende Vorkommen:
e1 B i2; i3
e2 B i3; i4
e3 B i4
e1 B j2
e2 B j3 ;
Kein Vorkommen wird durch ein a, b, c oder d beeintrachtigt, und die Vorkommen i1 ,
j1 , k1 und k2 sind Faktorvorkommen. Die Spur wird durch das Tupel
(t) =
0 abababab 1
BB cbcbcbcb CC
BB cdcdcdcd CC
@ dededed A
aaaeaee
dargestellt. Hier beispielsweise Tfa;bg (nur mit 1 Beschriftungen)
fa; bg
fa; bg
fa; bg
a
b
a
b
Die 1 Beschriftungen von Tfa;bg
fa; bg
a
b
a
b
fag fbg fag fbg fag fbg fag fbg
und Tfa;eg (nur mit 2 Beschriftungen)
28
fl1; l3 g
fl3g
fl1g
a
a
fl1 g ;
a
;
e
a
fl3g ;
Die 2 Beschriftungen von Tfa;bg
fl3g
e
e
fl3 g ;
5.3 Der Datentyp
Wir beweisen konstruktiv durch Angabe von Algorithmen, da es eektiv und ezient
moglich ist, diese Baume aufzubauen, Teile zu loschen, sie zu zerlegen und wieder zusammenzufugen. Dazu fuhren wir die Operationen CONCATENATE, SPLIT, DELETE
und INSERT ein, die vorerst nur die Beschriftung 1 und die strukturellen Eigenschaften
erhalten. Hiernach stellen wir eine Methode bereit, um die verbleibende Beschriftung zu
korrigieren. Dieses Vorgehen ermoglicht den Entwurf des Reduktionsalgorithmus.
INSERT
Um einen Buchstaben a 2 C in einen das Wort w reprasentierenden C -Baum an der
Stelle, die durch das Prax w0 von w beschrieben sei, einzufugen, verwenden wir die
folgende Methode. Sei b das zum letzten Buchstaben in w0 korrespondierende Blatt.
Falls kein solches Blatt existiert (w0 = ), so ist das neue Blatt der erste (kleinste)
Buchstabe. Dann fugen wir neben b das neue Blatt an und restaurieren die strukturellen
Eigenschaften entlang des Pfades zur Wurzel. Besitzt ein Knoten zu viele Kinder, so wird
er in zwei Knoten geteilt und rekursiv weiter verfahren.
Das Einfugen des neuen Blattes geschieht damit bottom-up. Das ermoglicht die eziente
Wiederherstellung der strukturellen Eigenschaften.
Algorithm INSERT (T; a; b)
Comment Input: a nonempty C -tree T and a new letter a that
should be inserted at the right of b.
Output: a revisted C -tree with the new leaf a.
Method
if T consists of a single leaf c then
create a new root r
if there exists b with b a, i.e., a will not be minimal
then make a the left child of r and c the right child
else make c the left child of r and a the right child
end if
S
label r by 1 (r) = c2children(r) 1(c)
else if there exists b with b a, i.e., a will not be minimal
then let f be the father of the leaf b
make a be a child of f immedeately to the right of b
else let c be the left-most leaf in T
29
let f be the father of the leaf c
end if
make a be a child of f immedeately to the left of c
S
relabel f by 1(f ) = c2children(f ) 1(c)
if f has less than m children
then propagate the labeling by PROPAGATE1(f; T )
else f has m children
incorporate the vertex f with its m + 1 children with
INCORPORATE(f; T )
end if
end if
end Method
Fur ein a reprasentierendes Blatt v gilt (ohne das es in den Beschreibungen ausgefuhrt
ist) 1(v) = a. Die Prozedur INCORPORATE stellt die strukturellen Eigenschaften
rekursiv wie folgt her.
Procedure INCORPORATE (v; T )
Comment Input: a nonempty ordered and labeled tree T containing
Method
one vertex v with m + 1 children.
Output: a corresponding C -tree.
create a new vertex v0
make the two right-most
children of v the left and the right child of v0
S
relabel v0 by 1(v0) S c2children(v0 ) 1 (c)
relabel v by 1 (v)
c2children(v) 1 (c)
if v has no father in T then
create a new root r
make v0 the left child
child of r
S and v theright
label r by 1(r)
(
c
)
c2children(r) 1
else let f be the father of v
make v0 a child of f immedeately
to the right of v
S
relabel f by 1 (f )
c2children(f ) 1 (c)
if f now has m children then INCORPORATE(T; f )
else propagate the labeling by PROPAGATE1(T; f )
end if
end if
end Method
Lemma 14 Sei T ein geordneter Baum und v ein innerer Knoten in T der Tiefe t.
Weiter sollen alle Knoten, die sich nicht auf dem Pfad von v zur Wurzel von T benden, C -Baume induzieren und alle inneren Knoten auer v zwischen 2 und m Kinder besitzen. Der Knoten v besitzt genau m + 1 Kinder. Dann liefert die Prozedur
INCORPORATE(v; T ) einen C -Baum, der das selbe Wort wie T reprasentiert, mit
korrekter 1-Beschriftung in O(t) Zeiteinheiten.
30
Beweis: Die Prozedur spaltet den Knoten v mit m + 1 Nachfolgern in zwei Knoten
mit mindestens 2 und hochstens m 1 Knoten auf. Dabei wird ein neues Kind des
Vaterknoten f von v generiert. Hatte dieser Knoten bereits m Kinder, so restauriert
diese Prozedur rekursiv die Struktureigenschaft und die Beschriftung. Hat dieser Knoten
weniger als m Nachfolger, so besitzt der Baum bereits die Struktureigenschaft und die
Prozedur PROPAGATE1 aktualisiert die 1-Beschriftung des Baumes. Die Ordnung auf
den Blattern bleibt erhalten.
Die Prozedur PROPAGATE1 vererbt die korrekte Beschriftungsinformation auf dem
Pfad zur Wurzel.
Procedure PROPAGATE1 (T; v)
Comment Input: a wrong labeled C -tree T with a vertex v.
Output: a revisted C -tree.
Method
if v is the root then terminate
else let f be the father ofSv
relabel f by 1 (f ) = c2children(f ) 1(c)
PROPAGATE1(T; f )
end if
end Method
Lemma 15 Sei T ein geordneter Baum und v ein innerer Knoten in T mit Tiefe t.
Weiter sollen alle Knoten v0 , die sich nicht auf dem Pfad von v zur Wurzel von T
benden, mit dem Blattalphabet 1 (v 0 ) des durch v 0 induzierten Baumes beschriftet sein.
Dann liefert die Prozedur PROPAGATE1(T; v ) einen C -Baum mit gleicher Ordnung
und korrekter 1 -Beschriftung in O(t) Zeiteinheiten.
Beweis: Wir zeigen die folgende Invariante fur die Datenstruktur: Fur alle inneren
Knoten v gilt
1(v) =
[
c2children(v)
1(c):
Sei children(v) = fv1; : : : ; vk g und sei wi 2 C das von Knoten vi induzierte Teilwort
von w = xi wiyi, i 2 [k], und w0 das von v induzierte
TeilwortSw1 : : : wk . Dann gilt
S
0
0
(wi ) = 1(vi), w = w1 : : : wk und damit (w ) = i2[k] (wi ) = i2[k] 1 (vi).
Korollar 4 Sei T ein das Wort w reprasentierender C -Baum, w0 ein Prax von w =
w0w00 und b der letzte Buchstabe von w0 oder w0 = 1. Dann berechnet der Algorithmus INSERT(T; a; b) einen C -Baum, der das Wort w0 aw00 reprasentiert in O(log jwj)
Zeiteinheiten.
Man beachte, da die 2-Beschriftungen bis jetzt noch nicht betrachtet wurden.
31
DELETE
Analog ist der Algorithmus DELETE zum Entfernen des Blattes a formuliert.
Algorithm DELETE (T; a)
Comment Input: a nonempty C -tree T with a leaf letter a that
should be removed.
Output: a revisted C -tree without the leaf a.
Method
if T consists of a single leaf c then
delete this leaf and return the empty tree
else let f be the father of a
delete the leaf a
S
relabel f by 1(f ) = c2children(f ) 1 (c)
if f has less than 2 children then REMOVE(f; T )
else propagate the labeling by PROPAGATE1(f; T )
end if
end if
end Method
Die Prozedur REMOVE stellt die strukturellen Eigenschaften invers zu INCORPORATE wieder wie folgt her.
Procedure REMOVE (v; T )
Comment Input: a nonempty ordered and labeled tree T containing
one vertex v with only 1 child.
Output: a corresponding C -tree.
Method
if v is the root of T then
delete v and return the empty tree
else let f be the father of v
if v has a immediate brother v0 with more than 2 children then
if v0 is the left brother of v then
let the right-most child of v0 be now the left-most child of v
else let the left-most child of v0 be the right-most child of v
end if
S
relabel v by 1 (v) Sc2children(v) 1 (c)
relabel f by 1 (f ) Sc2children(f ) 1(c)
relabel v0 by 1(v0)
c2children(v0 ) 1 (c)
propagate the labeling by PROPAGATE1(v; T ) and
PROPAGATE1(v0 ; T )
else let v0 be a brother of v with 2 children
if v0 is the left brother of v
then let the child of v be now the left-most child of v0
else let the child of v be the right-most child of v0
32
end if
delete the vertex v S
relabel v0 by 1(v0) =S c2children(v0 ) 1(c)
relabel f by 1(f ) = c2children(f ) 1 (c)
if f now has only one child then REMOVE(T; f )
else propagate the labeling by PROPAGATE1(T; f )
end if
end if
end Method
end if
Lemma 16 Sei T ein geordneter Baum und v ein innerer Knoten in T der Tiefe t. Wei-
ter sollen alle Knoten, die sich nicht auf dem Pfad von v zur Wurzel von T benden,
C -Baume induzieren und alle inneren Knoten auer v zwischen 2 und m Kinder besitzen. Der Knoten v besitzt genau einen Kind. Dann liefert die Prozedur REMOVE(v; T )
einen C -Baum, der dasselbe Wort reprasentiert, mit korrekter 1 -Beschriftung in O(t)
Zeiteinheiten.
Beweis: Analog dem Beweis zu Lemma 14.
Korollar 5 Sei T ein das Wort w reprasentierender C -Baum und w0a ein Prax von
w = w0aw00. Dann berechnet der Algorithmus DELETE(T; a) einen C -Baum, der das
Wort w0w00 reprasentiert in O(log jwj) Zeiteinheiten.
CONCAT
Betrachten wir als nachste Operation die Primitive CONCAT. Seien T1 und T2 zwei
C -Baume, die die Worter w1 und w2 reprasentieren. Die Primitive CONCAT soll einen
C -Baum T berechnen, der das Wort w = w1w2 reprasentiert.
Sei h1, die Hohe von T1 und h2 die von T2. Die Prozedur IMPLANT baut T1 in T2
oder T2 in T1 ein, abhangig von der Hohendierenz der Baume. Sei h = minfh1; h2g die
Hohe von dem Knoten v im Randpfad des hoheren Baumes. Ein Randpfad ist der Pfad
beginnend beim minimalen Blatt (bezuglich der Blattordnung) von T2 zur Wurzel von T2
beziehungsweise der Pfad, der beim maximalen Blatt von T1 beginnt und an der Wurzel
von T1 endet. Ist der Knoten der Hohe h auf dem (langeren) Pfad gefunden, wird der
Wurzelknoten des kleineren Baums als neues Kind eingefugt. Die Alphabetbeschriftung
und die Struktureigenschaften werden wie beim Einfugen eines Knotens restauriert. Sind
beide Baume gleich hoch, so wird einfach eine neue Wurzel mit richtiger Beschriftung
und den alten Wurzeln als Kindern kreiert. Den trivialen Fall, wenn einer der beiden
Baume leer ist, betrachten wir nicht.
Algorithm IMPLANT(T1 ; T2 )
Comment Input: two nonempty C -trees T1 and T2.
33
Output: a revisted C -tree representing the concatenation
of the yields of T1 and T2.
Method
if HEIGHT(T1 ) = HEIGHT(T2 ) then
create a new root r
make the root of T1 the right children of r and
make the root of T2 the
left children of r
S
relabel r by 1 (r)
c2children(r) 1 (c)
else assume HEIGHT(T1 ) > HEIGHT(T2 )
otherwise interchange T1 and T2 and
interchange "left\ with "right\ in
let v be the right-most path of T1 such that
DEPTH(v) = HEIGHT(T1 ) HEIGHT(T2 )
let f be the father of v
make the root of T2 toSthe right-most child of f
relabel f by 1(f ) = c2children(f ) 1 (c)
if f has more than m children then INCORPORATE(f; T )
else propagate the labeling by PROPAGATE1(f; T )
end if
end if
end Method
Lemma 17 Sei T1 ein das Wort w1 reprasentierender C -Baum der Hohe h1 und T2
ein das Wort w2 reprasentierender C -Baum der Hohe h2 . Dann kombiniert diese Prozedur die Baume zu einem C -Baum, der das Wort w1 w2 reprasentiert, in O(jh1 h2 j)
Zeiteinheiten unter der Annahme, da v nicht bestimmt werden mu.
Beweis: Die Korrektheit ergibt sich aus der Semantik der Prozeduren INCORPORATE
und PROPAGATE1. Die Zeitschranke ist oensichtlich, da je Knoten auf dem Pfad, der
bei v beginnt und an der Wurzel des hoheren Baumes endet, nur O(1) Elementaroperationen getatigt werden. Die Anzahl dieser Knoten ist jh1 h2 j.
Damit lat sich die Primitive CONCAT, die zwei C -Baume konkatenieren soll, realisieren.
Korollar 6 Sei T1 ein das Wort w1 reprasentierender C -Baum und T2 ein das Wort w2
reprasentierender C -Baum. Dann existiert ein Algorithmus IMPLANT(T1 ; T2 ), der die
Baume zu einem C -Baum T , der das Wort w1 w2 reprasentiert, in der Zeit O(log jw1 j +
log jw2j) kombiniert.
Beweis: Die Suche auf den Randpfaden nach dem Knoten v (wie in Lemma 17 beschrieben) ist in O(log jw1j +log jw2j) Zeitschritten moglich. Damit ergibt sich die Behauptung
mit Lemma 17.
34
SPLIT
Betrachten wir als letzte Primitive die Operation SPLIT. Fur einen C -Baum T , der das
Wort w = w0aw00 reprasentiert, und dem zum Buchstaben a korrespondierenden Blatt
liefert SPLIT eine Partition von T in zwei C -Baume T1 und T2 so, da T1 das Wort w0
und T2 das Wort aw00 reprasentiert.
Um einen C -Baum T ezient zu spalten, betrachtet man den bei a beginnenden und
bei der Wurzel endenden Pfad in T . Ein Schnitt entlang diesem Pfad zerlegt den Baum
T in eine Menge von Teilbaumen, deren Wurzelknoten Kinder von Knoten sind, die sich
auf dem Pfad benden. Die Baume, die sich links vom Schnitt benden, werden mit
dem vorher vorgestellten Algorithmus konkateniert. Analog werden der Knoten a und
die Baume, die sich rechts benden ebenfalls konkateniert.
T
Tl
Tr
Der folgende Algorithmus enthalt die Details.
Algorithm DIVIDE (T; a)
Comment Input: a nonempty C -tree T and leaf letter a.
Output: two C -trees devided by the leaf a.
Method
let v be the a-labeled leaf.
if v is the root of T return(h1; T i)
else L [] R [v]
while v is not the root do
let f be the father of v and
let v1; : : : ; vi 1; v; vi+1; : : : ; vk be the children of f
in order from left to right
L[v1 ; : : : ; vi 1] R [vi+1 ; : : : ; vk ]R
purge v if v is not the leaf
v f
L
end while
Comment At this point T has been devided into two forrests {
the left forrest, which consists of all trees with leaves
to the left of the leaf a, (in list L) and the right
forest (in list R), which consists of all trees with leaves
to the right of a including leaf a.
35
Nodes on the path from a to the root of T except
leaf a are removed.
while there is more than one tree in the left forrest do
let T 0 and T 00 be the two right-most trees in the left forest
insert the tree IMPLANT(T 0 ; T 00) at the right end
end while
while there is more than one tree in the right forrest do
let T 0 and T 00 be the two left-most trees in the right forest
insert the tree IMPLANT(T 0 ; T 00) at the left end
end while
return the two trees
end if
end Method
Lemma 18 Sei T ein das Wort w = w0aw00 reprasentierender C -Baum. Dann zerteilt
der Algorithmus SPLIT(T; a) = DIVIDE(T; a) den C -Baum T , in zwei C -Baume T1
und T2 , von denen der erste das Wort w0 und der zweite das Wort aw00 reprasentiert.
Der Algorithmus benotigt O(log jwj) Zeiteinheiten.
Beweis: In der Aussage ist das den Buchstaben a reprasentierende Blatt mit dem
Buchstaben selbst identiziert. Die Listen L und R sind in der Lange durch O(log jwj)
beschrankt, da je Knoten auf dem Pfad von v zur Wurzel hochstens m neue Elemente
angefugt werden. (Man beachte, da in einer Liste (einem Pfad) aufeinanderfolgende
Knoten mit konstantem Abstand in O(jh1 h2j) = O(1) Zeiteinheiten gefunden werden
kann, insbesondere wenn man noch zusatzlich Hoheninformation mitfuhrt.) Dann folgt
die Aussage durch Aufaddieren der Zeiten mit Lemma 17.
5.4 Operationen auf der Darstellung
Ziel dieses Abschnittes ist aus den vielen Primitiven die Operationen SPLITTRACE
und CONCATTRACE fur die Spurdarstellung bereitzustellen. Zur Erinnerung: Wir
schranken uns auf Spurersetzungssysteme mit zusammenhangenden linken Seiten ein.
Die Intention besteht darin, Spurreprasentationen ezient faktorisieren bzw. konkatenieren zu konnen. Dazu benotigen wir einen neuen Begri.
Ein Schnitt in einer Spur t 2 M ist ein Tupel s = (wC )C 2C mit der Eigenschaft, da fur
alle C 2 C fur die Projektionen tC = wC wC0 gilt und 1(s) 2 M . D.h. fur alle C; C 0 2 C
mit a 2 C \ C 0 gilt jwC ja = jwC 0 ja . Wir stellen einen Schnitt durch ein Blattertupel
(vC )C 2C , wobei vC ein Blatt in TC ist, dar. Dieses Tupel reprasentiert die minimalen
Buchstaben aus 1((wC0 )C 2C ). Damit entspricht ein Schnitt einer Faktorisierung t =
1((wC )C 2C ) 1((wC0 )C 2C ). ist der Homomorphismus im Projektionslemma.
36
5.4.1 CONCATTRACE
Sei T i = (TCi )C 2C eine Darstellung der Spur ti , i 2 f1; 2g. Dann soll die Prozedur
CONCATTRACE auf den Argumenten T 1 und T 2 eine Darstellung T = (TC )C 2C der
Spur t = t1 t2 berechnen.
Diese Berechnung erfolgt vorerst Komponentenweise auf den Projektionen. Danach werden die 2-Beschriftungen rekonstruiert.
Algorithm CONCATTRACE (T 1; T 2)
Comment Input: two trace representations.
Output: the representation of the catenation.
Method
;
for each C 2 C do
TC
CONCAT(TC1 ; TC2 )
end for
Comment At this point the 2-labeling is violated.
All other properties are OK.
for each C 2 C do
for all l 2 LR with (l) \ C 6= ; do
let r be the maximal scann range jC (l)j 1
let v1 ; : : : ; vr be the right-most leaves in TC1
[ fv1; : : : ; vr g
for i := 1 to r do
while there is a factor l with minimal letter vi
but l 2= 2 (vi) do
2(vi) 2 (vi) [ flg
let P = fpC j factor l has minimal letter pC
(leaf) at C -projection g
for all p 2 P do 2(p) 2 (p) [ flg end for
[P
end while
end for
end for
end for
while =6 ; do
let v 2 n fvg PROPAGATE2(v)
end while
return(T )
end Method
Die Prozedur PROPAGATE2 vererbt analog zu PROPAGATE1 die Beschriftung 2
eines Knoten v an seine Vorfahren.
Procedure PROPAGATE2 (v)
37
Comment Input: a wrong labeled C -tree T with a vertex v.
Output: a revisted C -tree.
Method
if v is the root then terminate
else let f be the father ofSv
relabel f by 2 (f ) =
PROPAGATE2(f )
c2children(f ) 2 (c)
end if
end Method
Um die Korrektheit dieses Verfahrens zu zeigen, benotigen wir eine strukturelle Aussage uber Faktorisierungen, bei denen zusammenhangende Spuren involviert sind, die
Schnittlemmata. Sie sichern die Korrektheit der 2-Beschriftungen bis auf einen Teil
konstanter Groe nach dem Konkatenieren bzw. Faktorisieren zu.
Lemma 19 (Schnittlemma A) Sei t = t1 t2 2 M (; D), l 2 M (; D) eine zusammenhangende Spur und i : l ! t ein Faktorvorkommen. Dann folgt aus i(l) \ (max(t1 ) [
min(t2)) = ; entweder i(l) \ t1 = ; oder i(l) \ t2 = ;.
Beweis: Sei t = hMt ; t i. Angenommen i(l) \ t1 6= ; und i(l) \ t2 6= ;. Da t = t1 t2
gilt fur alle Buchstaben a1 in t1 und b2 in t2 mit (a1; b2 ) 2 D die Relation a1 t b2 ,
und da l zusammenhangend ist, existiert ein maximaler Buchstabe a in max(t1 ) und ein
minimaler Buchstabe b in min(t2 ) mit (a; b) 2 D und zwei Buchstaben c in i(l) \ t1 und
d in i(l) \ t2 mit c t a t b t d. Damit ist i : l ! t aber kein Faktorvorkommen, ein
Widerspruch (a oder b beeintrachtigen i).
Analog lat sich folgende Aussage beweisen.
Lemma 20 (Schnittlemma B) Sei t = t1 t2 2 M (; D), l 2 M (; D) eine zusammenhangende Spur und sei i : l ! t ein Faktorvorkommen mit i(l) \ t1 6= ; und
i(l) \ t2 =
6 ;. Dann gilt i(l) \ max(t1 ) =6 ; und i(l) \ min(t2 ) =6 ;.
Beweis: Angenommen i(l) \ max(t1) = ; und i(l) \ min(t2 ) = ;. Da i(l) \ t1 =6 ;,
existiert ein Buchstabe a in l mit i(a) in t1 und da i(l) \ t2 =
6 ;, existiert ein Buchstabe
b in l mit i(b) in t2 . Da l zusammenhangend ist, existiert ein ungerichteter Pfad von a
nach b in l, also auch von i(a) nach i(b) in t. Aber dieser Pfad enthalt (mindestens) einen
Buchstaben aus max(t1 ) und einen aus min(t2 ) im Widerspruch zu i(l) \ max(t1) = ;
und i(l) \ min(t2 ) = ;.
Damit konnen wir das folgende Resultat zeigen.
Lemma 21 Sei R ein endliches Spurersetzungssystem mit zusammenhangenden linken
Seiten. Dann ist das Resultat
CONCATTRACE(T1 ; T2)
korrekt beschriftet, wenn die Eingaben T1 ; T2 korrekt beschriftet waren.
38
Beweis: Die Beschriftung 1 wird bereits in CONCAT korrekt durchgefuhrt. Die Be-
schriftung 2 ist nach der CONCAT-Operation evtl. fehlerhaft. Sei T i eine ti reprasentierende Struktur, i 2 f1; 2g. Dann wird durch die unbeschriftete Struktur die Spur t1 t2
reprasentiert (komponentenweise Konkatenation). Durch diese Konkatenation bleiben
alle Faktorisierungen von t1 und t2 erhalten, denn aus t1 = u1lv1 bzw. t2 = u3lv2 folgt
t = t1t2 = u1lv1 t2 bzw. t = t1u2lv2 . Es konnen aber durch die Konkatenation neue
Faktorvorkommen l ! t, l 2 LR entstanden sein. Jedes dieser neuen Faktorvorkommen enthalt mindestens einen maximalen Buchstaben aus t1 (siehe Lemma 20). Fur alle
linken Seiten l 2 LR werden diese Vorkommen untersucht. Der betrachtete Bereich ist
ausreichend, da nur Vorkommen, die an diesen Positionen beginnen, einen Buchstaben
aus max(t1 ) besitzen konnen. Da diese Analyse fur jede Projektion durchgefuhrt wird,
sind danach alle Faktorvorkommen entdeckt, die einen nichtleeren Schnitt mit max(t1 )
besitzen, und da bei jedem neu entdeckten Faktor l in t = ulv alle Minimalpositionen
pC , d.h. Verweise auf aC mit C (l) = aC lC0 , C (t) = tC = C (u)aC lC0 C (v), fur alle C 2 C
mit 2 (v) [ flg, markiert werden (diese Positionen werden alle in gespeichert), sind
nach der Ausfuhrung der for-Schleifen alle Blatter korrekt 2-beschriftet.
Analog wie fur die Beschriftung 1 gilt die Invariante fur die Datenstuktur: Fur alle
inneren Knoten v gilt
[
2(v) =
2(c):
c2children(v)
Die Prozedur PROPAGATE2 beschriftet alle neu beschrifteten Nachfolger (diese sind
alle in abgelegt) und mit Induktion folgt, da alle 2-Beschriftungen hiernach korrekt
sind.
Theorem 5 Sei T 1 eine die Spur t1 reprasentierende Struktur und T 2 eine die Spur t2
reprasentierende Struktur. Dann kombiniert
CONCATTRACE(T 1; T 2 )
die Strukturen zu einer t1 t2 reprasentierenden Struktur T in O(log jt1 j + log jt2 j) Zeiteinheiten.
Beweis: Mit dem Resultat uber die C -Baume ist ein Konkatenieren der einzelnen
Komponenten TC1 mit TC2 in O(log jC (t1 )j + log jC (t2 )j) O(log jt1j + log jt2j) moglich.
Die Bedingung der innersten Iteration lat sich in
O(log jt1j + log jt2j) = O(max(log jt1j; log jt2 j) + 1)
P
testen, und dieser Test wird hochstens c = l2LR;C 2C jC (l)j = O(1) oft durchgefuhrt.
Damit ist die Kardinalitat von durch jj = O(1) beschrankt. Jeder PROPAGATE2
Aufruf benotigt O(max(log jt1j; log jt2j) + 1) Zeiteinheiten und es gibt insgesamt jj =
O(1) viele Aufrufe. Zusammengefat ergibt sich die Zeitkomplexitat O(log jt1j +log jt2 j).
Das vorhergehende Lemma sichert mit dem Korrektheitsresultat fur die Methode CONCAT die strukturellen Eigenschaften von T zu.
39
5.4.2 SPLITTRACE
Invers zur Operation CONCATTRACE zerteilt die Operation SPLITTRACE eine Darstellung T = (TC )C 2C der Spur t entlang eines Schnittes a = (aC )C 2C in T . Als Resultat
erhalten wir die Darstellungen T i = (TCi )C 2C der Spuren ti, i 2 f1; 2g mit der Eigenschaft
t1 t2 = t. Weiter korrespondiert das Tupel der minimalen Elemente von t2 , (min(t2 ))
zum Schnitt (aC )C 2C .
Auch hier wird mit einer Basisoperation die Darstellung erst komponentenweise faktorisiert. Danach werden die fehlerhaften 2-Beschriftungen korrigiert.
Algorithm SPLITTRACE (T; a)
Comment Input: a trace representation with cut a.
Output: two representations devided by leaves in a.
Method
;
for each C 2 C do
hTC1 ; TC2 i SPLIT(TC ; aC )
end for
Comment At this point the 2-labeling is violated.
All other properties are OK.
for each C 2 C do
for all l 2 LR with (l) \ C 6= ; do
let r be the maximal scann range jC (l)j 1
let v1 ; : : : ; vr be the right-most leaves in TC1
[ fv1; : : : ; vr g
for i := 1 to r do
while there is no factor l with minimal letter vi
and l 2 2(vi ) do
2(vi) 2 (vi) n flg
let P = fpC j the linked references of vi to the
(leaves) at the other C -projections g
for all p 2 P do 2(p) 2(p) n flg
[P
end while
end for
end for
end for
while =6 ; do
let v 2 n fvg PROPAGATE2(v)
end while
return(T )
end Method
Analog zu Theorem 5 erhalten wir aus Lemma 19 das
40
Theorem 6 Sei R ein endliches Spurersetzungssystem mit zusammenhangenden linken
Seiten. Weiter sei T eine die Spur t reprasentierende Struktur und a ein die Faktorisierung t = t1 t2 reprasentierender Schnitt. Dann partitioniert
SPLITTRACE(T; a)
die Struktur in eine Spurreprasentation T1 von t1 und T2 von t2 in O(log jtj) Zeiteinheiten.
5.5 Der Reduktionsalgorithmus
Mit den bis jetzt formulierten Primitiven konnen wir eine Prozedur FACTORIZE formulieren, mit der ein Faktorvorkommen via die zweite Beschriftung gefunden wird. Die
Faktorisierung kann mit der oben vorgestellten Faktorisierungsmethode durchgefuhrt
werden, nachdem ein Schnitt mit den primitiven Operationen berechnet wurde. Diese
Datenstuktur enthalt Zugrispfade auf alle Faktorisierungen u l v. D.h. ersetzt man
die Beschriftungen durch entsprechende Parikh-Bilder
01 : tC ! N C
02 : tC ! N LR ;
so lat sich die Wahl eines Faktorvorkommens i und der Faktorisierung von ind(i)
vollstandig festlegen. Unter anderem ist auch die Wahl einer kanonischen Links-Derivation moglich. Die Berechnung der Normalform erfolgt mit der Methode REDUCE.
PROCEDURE REDUCE(t)
Comment Input: C tree trace representation.
Output: the representation of the normal form.
Method
while 9l 2 2(t) do
calculate two cuts c1 c2, factorizing t into u, l, and v
hu; v0i SPLITTRACE(t; c1 )
hx; vi SPLITTRACE(v0 ; c2 )
t CONCATTRACE(u; r)
t CONCATTRACE(t; v)
end while
return(t)
end Method
Aus der Vollstandigkeit und Korrektheit der Beschriftungsinformation ergibt sich
Theorem 7 Sei M = M (; D) ein frei partiell kommutatives Monoid und R ein endliches noethersches Spurersetzungssystem mit nur zusammenhangenden linken Seiten,
dann existiert ein Algorithmus, der eine beliebige, durch eine Wahl spezizierbare, irreduzible Form einer Spur t 2 M in der Zeit O(jtj + dR log dR) berechnet.
41
Beweis: Mit den Beschriftungen und den oben vorgestellten Primitiven kann ein Faktor
l 2 LR in einer Reprasentation einer Spur t in O(log jtj) identiziert werden. Beispielsweise ndet man einen Faktor, indem man von einer mit l 2 X beschriebenen Wurzel
aus zu einem mit l 2 2(v) beschrifteten Blatt v absteigt. Dabei wird man durch die
2-Beschriftung gefuhrt. Hat man dieses Blatt gefunden, so kann das Vorkommen uber
den Zusammenhang von l vervollstandigt werden. Die Schnitte lassen sich unter Verwendung der Methode PRED vervollstandigen. Ist die Spur irreduzibel, so sind alle
2-Beschriftungen der Wurzeln leer. Rechts- und Linksquotienten bzw. die Schnitte c1
und c2 lassen sich in O(log jtj) Zeiteinheiten konstruieren, und die anschlieende Konkatenation ist auch in O(log jtj) Zeit moglich.
Theorem 8 Sei M = M (; D) ein frei partiell kommutatives Monoid und R ein noethersches Spurersetzungssystem mit nur zusammenhangenden linken Seiten, dann existiert
ein Algorithmus, der eine Links-Derivation einer Spur t 2 M in der Zeit O(jtj +
dR log dR) berechnet.
Die Links-Derivation lat sich auch bzgl. einer lexikographischen Ordnung denieren.
Da die oben denierte Links-Derivation berechnet werden kann und nur konstannt viele
unvergleichbare Reduktionsschritte existieren konnen Links-Derivation bzgl. aller Verfeinerungen dieser Ordnung (, siehe Anhang A.2) auch in dieser Zeit berechnet werden.
Korollar 7 Sei M = M (; D) ein frei partiell kommutatives Monoid und R ein noether-
sches Spurersetzungssystem mit nur zusammenhangenden linken Seiten, dann existiert
ein Algorithmus, der eine Links-Derivation bzgl. einer Verfeinerung der Ordnung einer Spur t 2 M in der Zeit O(jtj + dR log dR) berechnet.
Theorem 9 Sei M = M (; D) ein frei partiell kommutatives Monoid und R ein ge-
wichtsreduzierendes Spurersetzungssystem mit nur zusammenhangenden linken Seiten,
dann existiert ein Algorithmus, der eine beliebige, durch eine Wahl spezizierbare, irreduzible Form einer Spur t 2 M in der Zeit O(jtj log jtj) berechnet.
Bemerkung 2 Man beachte, da alle Resultate nur nicht-uniforme Komplexitatsaus-
sagen sind.
Betrachtet man beispielsweise das Wortproblem fur kommutative Semigruppen. Im uniformen Fall besteht eine Instanz aus einem Tupel (; S; u; v ), wobei S ein die Gruppe beschreibendes Gleichungssystem ist (modulo Kommutativitat). u und v sind Vektoren aus
N und die Frage lautet: "Ist die Gleichung u v ( mod S ) wahr?\. Dieses Problem
ist sogar exponentiell-platzhart [MM82]. Im nicht-uniformen Fall transformiert man das
Gleichungssystem lediglich in ein aquivalentes konuentes und gewichtsreduzierendes Ersetzungssystem S 0 N N , von dem wir in linearer Zeit mit einer der oben beschriebenen
Algorithmen entscheiden konnen, ob u ()R v erfullt ist.
42
Die Restriktion auf Spurersetzungssysteme mit zusammenhangenden linken Seiten ist
in gewisser Hinsicht naturlich. Interpretiert man das Ersetzungssystem als operationelle
Semantik eines nebenlaugen Systems, so erscheint es unnaturlich, wenn Komponenten,
die in jedem Kontext vollstandig parallel ablaufen konnen, durch eine einzige Interaktion
ersetzt werden sollen.
Eine Konsequenz aus der Bedingung der zusammenhangenden linken Seiten ist, da sich
dann alle interagierenden Faktoren in einer konstanten Umgebung benden. Betrachtet man die durch die Kanten des Redukts von dem Abhangigkeitsgraphen induzierte
Metrik, so benden sich alle Faktoren l0, die von einer Ersetzung u0l0 v0 = ulr =)R urv
betroen sind, in der Kugel DR (r) in urv mit dem Radius R = maxfjlj j l 2 LR g. Man
beachte, da sich die Abstande bzgl. dieser Metrik aber im Lauf einer Berechnung stark
variieren konnen.
Beispiel 2 Sei
(; D) =
a
b
c1
c2
d
e
und R beschrieben durch folgende Ersetzungsregeln.
b2 c1d2 =)R b2 d2; b2c2 =)R b2 c1 ; d2c2 b2 =)R bc2 d; ae =)R c2
Alle linken Seiten sind zusammenhangend.
Beginnen wir mit der Spur t = ak b2nc1 d2nek , k 1 und n 2. Man beachte, da ae
kein Faktor ist (Sprungsequenz4 abc1 de), und da die Buchstaben a; e in t die Distanz
d 4n + 2 besitzen. Der erste Ersetzungsschritt fuhrt zu
t1 = d2n a
k
ek
b2n
und der nachste zu
t2 =
ak 1
d2n
b2n
ek 1
c2
Nach n weiteren Ersetzungen, erhalten wir t3 = ak 1 bn c2 dnek 1 und, da n 2, ersetzen
wir das durch t4 = ak 1 bn c1 dnek 1.
Dieses Beispiel illustriert wie sich die Abstande verandern. Dabei treten insbesondere
sehr groe und globale Abstandsanderungen auf, wenn Artikulationsknoten eliminiert
werden und keine verbindenene Knoten eingefugt werden. Dann andern sich Abstande
von endlichen Werten auf unendliche.
4
Sprungsequenzen sind im Anhang deniert.
43
6 Ezienzsteigerung durch
Sichtbarkeit bei
Ersetzungssystemen mit
zusammenhangenden
linken Seiten
6.1 Sichtbarkeit
Die Baumstrukturen wurden wegen der fehlenden transitiven Relationen im Abhangigkeitsgraphen eingefuhrt. Fur Abhangigkeitsalphabete, die nur "sichtbare\ Buchstaben
enthalten, kann auf diese Zugrisstrukturen verzichtet werden.
Sei (; D) wieder ein Abhangigkeitsalphabet und M = M (; D) das erzeugte Monoid.
C sei eine Cliquenuberdeckung
Q von (; D) und die Spuren t 2 M seien in der Projektionsdarstellung (t) 2 C 2C C . R sei, wie gehabt, das Ersetzungssystem und LR die
Menge der linken Seiten, die alle zusammenhangend sein sollen.
Wir nennen einen Buchstaben c 2 von X aus bezuglich der Cliquenuberdeckung
C sichtbar5, wenn fur alle Cliquen A; B 2 C mit c 2 A \ B eine Clique C 2 C , ein
Buchstabe a 2 A \ X und ein Buchstabe b 2 B \ X mit fa; b; cg C existiert.
Beispiel 3 Sei X . Dann ist jeder Buchstabe c 2 X von X aus sichtbar. Wir setzen
a = b = c 2 X und wahlen eine Clique C 2 C , die c enthalt.
In dem Abhangigkeitsalphabet
B
a
X
c
A
C
b
ist der Buchstabe c von X = fa; bg aus sichtbar fur C = fA; B; C g
Man beachte, da die Sichtbarkeit von der zugrundeliegenden Cliquenuberdeckung abhangig ist
und da damit jede Clique einen nichtleeren Schnitt mit besitzt.
5
X
44
Seien C =QfC1; : : : ; Ck g und t; l 2 M mit (t) = (tC )C 2C 2
(lC )C 2C 2 C 2C C . Sei weiter
0 1
t
B@ C... 1 CA
tCk
0
1
uC1 lC1 vC1
CA
...
=B
@
=
0 1 0 1 0 1
u
l
v
B@ C... 1 CA B@ C... 1 CA B@ C... 1 CA ;
=
uCk lCk vCk
Q C und (l)
C 2C
uCk
lCk
vCk
uCi ;QvCi ; lCi ; tCi 2 Ci fur alle i 2 [k]. Dann entspricht nicht jede dieser Faktorisierungen
(in C 2C C ) einer Faktorisierung (u) (l) (v) mit (u) = (uC )C 2C , (l) = (lC )C 2C
und (v) = (vC )C 2C . Die notwendige und hinreichende Bedingung ist ein Korollar aus
Lemma 42 bzw. folgt aus der Charakterisierung in Lemma 6 im vorigen Kapitel.
Korollar 8 Sei C eine Cliquenuberdeckung von (; D) und t; l 2 M (; D). Dann gilt
t = u l v genau dann, wenn es Worter uC ; vC 2 C fur alle C 2 C gibt mit
(i) C (t) = uC C (l)vC fur alle C 2 C und
(ii) juAja = juB ja fur alle A; B 2 C und fur alle a 2 A \ B .
Es gilt dann (u) = (uC )C 2C und (v ) = (vC )C 2C fur eine Faktorisierung t = u l v in
M (; D).
Das folgende Beispiel illustriert ein Problem, das durch unsichtbare Buchstaben auftreten an einer Derivation.
Beispiel 4 Sei (; D) =
"
a
d
c
#
e
b
das Abhangigkeitsalphabet und l =
[adeb]. Es gibt genau eine Cliquenuberdeckung C = fA; B; C; D; E g mit A = fa; cg,
B = fb; eg, C = fb; cg, D = fa; dg und E = fd; eg. Der Buchstabe c ist unsichtbar
von (l) = fa; d; e; bg, da keine Clique existiert, die fa; b; cg enthalt. Betrachten wir die
beiden einelementigen Spurersetzungssysteme
R1 = fl ! 1g und R2 = fl ! cg
und untersuchen eine Reduktion der Spur t = [adam adebbm eb]. Wir erhalten fur t die
Darstellung
0 aama 1
#
BB ebbmeb CC " a
m a
m
a
b
b
b
t=B
B@ adabbmmbad CCA =
d
d e
e
ddee
Es existiert genau eine Faktorisierung t = ulv, die in der Darstellung durch Rechtecke
in jeder Komponente hervorgehoben ist.
45
0 aam a
BB eb bmeb
t=B
BB b bmb
@ adam ad
d de e
1
CC " a
#
m a
m
a
b
b
b
CC =
CA
d
d e
e
Sei t =)R1 t1 und t =)R2 t2 . Nach dem Reduktionsschritt erhalten wir ein neues
Vorkommen sowohl in t1 als auch in t2 , das ein Kandidat fur eine Faktorisierung ist.
0
BB
t1 = B
BB
@
a am
bm eb
bm b
ad am
de
1
am
CC 2 a
CC = 66
d e
CA 4
bm
b
3
77
5
In t1 ist der hervorgehobene Teil ein Faktor, was hier in konstanter Zeit uberpruft werden
kann. (Eine Konsequenz aus Theorem 12.)
0 a amc 1
BB bm eb bm CC " a
am
B
C
m
t2 = B
B@ cadb abm CCA =
d
de
c
bm
b
#
e
In t2 sind die markierten Teile jedoch kein Faktor. Die Anzahl der cs vor dem a ist 0,
hingegen ist die Anzahl der cs, die vor einem b liegen, 1.
Das Problem besteht also darin, eine dynamische Struktur zu nden, mit der die ParikhBilder juC ja und juC 0 ja fur C; C 0 2 C und a 2 C \ C 0 einer Faktorisierung (uC lC vC )C 2C
schnell verglichen werden konnen. Leider sind diese Werte nicht durch Konstanten wie
bei freien Monoiden beschrankt. Gleichzeitig sollen auch Ersetzungen ezient durchfuhrbar sein. Beispielsweise konnte man zu jedem Buchstaben das Parikh-Bild des von ihm
induzierten Prax assoziieren. Das hatte aber zur Folge, da ein Ersetzungsschritt globale Aktualisierungen nach sich ziehen wurde.
Fur sichtbare Buchstaben gilt das folgende (fur die Korrektheit des Algorithmus zentrale) Lemma
Lemma 22 Sei l 2 M (; D) und sei C eine CliquenQ
uberdeckung von (; D). Weiter
sei (t) = (tC )C 2C = (uC )C 2C (lC )C 2C (vC )C 2C in C 2C C das -Bild einer Spur
t 2 M (; D) so, da juAja = juB ja fur alle a 2 (l) und fur alle A; B 2 C mit a 2 A \ B .
Dann gilt fur zwei Cliquen A; B 2 C und einen von (l) aus sichtbaren Buchstaben
c 2 A \ B die Beziehung juAjc = juB jc.
46
Beweis: Seien A; B 2 C beliebige Cliquen und c von (l) aus sichtbar. Dann ist fur
c 2 (l) die Behauptung trivial. Sei c 2= (l), a 2 (l) \ A und b 2 (l) \ B , so da
eine Clique C 2 C mit fa; b; cg C existiert (a; b; C existieren, da c sichtbar ist). Wir
zeigen: juAjc = juB jc. Sei juAjc < juB jc. Aus der Voraussetzung folgt juC ja = juAja und
juC jb = juB jb sowie a; b 2 (l). Betrachten wir das erste a in l, d.h. das i-te a in t mit
i = juAja + 1 = juC ja + 1. Weiter betrachten wir das erste b in l, also das j -te b in t mit
j = juB jb + 1 = juC jb + 1. Dann stehen vor dem j -ten b mehr cs als vor dem i-ten a in
fa;b;cg (tC ). Also steht ein c zwischen diesem a und diesem b in fa;b;cg(t) = fa;b;cg(tC )
und damit steht auch ein c zwischen dem i-ten a und dem j -ten b in tC . Formal sei
xa 2 C das Prax von tC , das mit dem i-ten a endet und xb 2 C das Prax von tC ,
das mit dem j -ten b endet. Dann gilt
tC = uC
lC
vC = xa ya
0
00
000
= uC tC alC blC vC = xb yb
fur erganzende ya ; yb 2 C . Da aber dann juAjC + 1 = jxa jc < jxbjc, existiert z 2 C mit xa z = xb und jzjc > 1. Also enthalt lC00 b = z mindestens ein c, im Widerspruch zu
c 2= (l). Entsprechendes gilt fur juAjc > juB jc
6.2 Ein Linearzeit-Reduktionsalgorithmus
Schranken wir uns auf sichtbare Buchstaben ein, so konnen wir auf die C -Baumstruktur
verzichten.
Theorem 10 Sei C eine Cliquenuberdeckung von einem Abhangigkeitsalphabet (; D),
R M (; D) M (; D) ein Ersetzungssystem mit den linken Seiten LR . Jede linke
Seite sei zusammenhangend und alle Buchstaben a 2 n seien von (l) aus sichtbar fur
jede linke Seite l 2 LR . Dann kann eine Derivation t =)R t0 in O(n + jtj) Zeiteinheiten
berechnet werden.
Beweis: Wir beweisen das Theorem durch Angabe eines Algorithmus, der eine Deriva1
tion ulv =)
R urv , l ! r 2 R, in konstanter Zeit nach O(jtj) Initialisierungsschritten
berechnen kann.
Wir reprasentieren in diesem Algorithmus eine Spur t 2 M (; D) als Worttupel (t) =
(tC )C 2C . Weiter sollen wieder Referenzen zwischen den Buchstaben a 2 in den Komponenten von (a) in (t0)(a)(t00 ) existieren, die beispielsweise durch Zeigerstrukturen
realisiert werden konnen, und es soll eine Liste Ll der Faktorvorkommen l ! t fur alle
l 2 LR berechnet sein. Alle diese Strukturen lassen sich durch eine Vorwegberechnung
in O(jtj) mit dem folgenden Algorithmus konstruieren.
Die Idee des Algorithmus ist die Verwaltung von Langeninformation, d.h. fur jede Clique
und jedes Prax uC von tC sollen das Parikh-Bild (juC ja )C 2C;a2C = (n(C; a; juC j))C 2C;a2C
berechnet werden. Dabei Identizieren wir das Prax mit seiner Lange. Alle "synchronen\ Muster, d.h. Faktorisierungen tC = uC lC vC aller Komponenten mit der Eigenschaft
juC ja = juC 0 ja fur alle A; B 2 C mit a 2 A \ B sollen durch entsprechende Verweise als
47
Faktorvorkommen in eine Liste Ll aufgenommen werden. Diese konnen beispielsweise
durch Tupel (juC j)C 2C;C \(l)6=; reprasentiert werden.
PROCEDURE PREPROCESSING(t)
Comment Input: a trace in word representation.
Output: the internal representation of the trace.
Method
for all (C; a) 2 C do C;a 0 end for
for all l 2 LR do Ll [] end for
for all C 2 C do tC 1 end for
while t = at0 do
t
t0
for all (b; C ) 2 C do
if a 2 C and b = a
then tC tC a
C;a C;a + 1
n(C; a; jtC j) C;a
else n(C; b; jtC j) n(C; b; jtC j 1)
end if
end for
end while
for all l 2 LR do
let a 2 (l) and C 2 C with a 2 C
w
tC
while w = bw0 do
if w = C (l)w00 then
scan along an undirected path through l the
factorizations tC = uC lC vC via cross references
if there exists a factorization (tC )C 2C = (uC lC vC )C 2C with
(a; A; juAj) = (a; B; juB j) for all A; B 2 C and all a 2 A \ B
then append the positions (juC j)C 2C;C \(l)6=; to Ll
end if
end if
end while
end for
return ((tC )C 2C ; (Ll )l2LR )
end Method
Innerhalb der ersten drei Schleifen werden die Datenstrukturen initialisiert. Die darauf
folgende while-Schleife ermittelt die einzelnen Projektionen tC und die Langeninformation juC ja fur die Praxe uC von tC fur alle a 2 C . In der zweiten while-Schleife werden
"synchrone\ Faktorisierungen als Vorkommen entdeckt und in den Listen Ll gespeichert.
Die Korrektheit folgt aus der Invariante juC ja = n(a; C; juC j) fur alle A 2 C und a 2 C .
Da die Spuren l 2 LR zusammenhangend sind, lat sich der Scan vor der letzten Se48
lektion in konstanter Zeit auf der Verweisstruktur durchfuhren. Die Referenzen ermoglichen die eineindeutige Zuordnung der Faktoren in anderen Komponenten (l ist zusammenhangend, alle Buchstaben
sind von (l) aus sichtbar). Die Zeitkomplexitat summiert
P
sich zu O(jCj jLRj jtj l2LR jlj) = O(jtj). Eine ezientere Methode liefert ein Fortschreiten mit Fehlerfunktionen wie im Algorithmus von Knuth, Morris und Pratt. Das
Beispiel illustriert die Vorgehensweise fur einen Scan.
ababa aba Beispiel 5 Sei (; D) = a b c, t = bcb und l = cb . Das erste Vor aba ba kommen von aba in der ersten Komponente von
, ist nicht die Projektion
bcb
eines Faktors l, denn das b in in diesem Vorkommen korrespondiert zum ersten b in t,
also auch zum ersten in der zweiten Komponente.
Vor diesem b steht aber kein c. Das
!
zweite Vorkommen von aba, ab aba , in der ersten Komponente ababa induziert
b cb
ein Faktorvorkommen von l, denn das b in diesem Vorkommen korrespondiert zu dem b
in der zweiten Komponente, vor dem ein c steht.
Sind die Listen der Faktorvorkommen initialisiert, konnen wir einen Ersetzungsschritt
in konstanter Zeit so durchfuhren, da die Vollstandigkeit dieser Listen eine Invariante
ist. D.h., nach dem Ersetzungsschritt enthalt die Liste Ll wieder genau alle Faktorvorkommen von l in der modizierten Spur t fur alle l 2 LR. Wie im vorigem Kapitel
bezeichnen wir mit max(t) die maximalen Buchstaben in t, d.h. die Buchstaben a 2 C
fur die die Projektion tC = t0C a auf eine Clique C 2 C mit a endet. Dual dazu bezeichnet
min(t) die minimalen Buchstaben.
PROCEDURE REDUCEnSTEPS(t; n)
Comment Input: trace in representations.
Output: the decendant in representation.
Method
while n > 0 and 9i 2 Ll for some l 2 LR with l ! r 2 R do
n n 1
factorize t by the tuple of positions i into u = (uC )C 2C ,
l = (lC )C 2C and v = (vC )C 2C purge l and
purge all occurrences j : l0 ! t in Ll0 having
an overlap with i(l) [ max(u) [ min(v).
t urv
insert all new occurrences j : l0 ! t, l 2 LR having
some nonempty overlap with r [ max(u) [ min(v)
end while
return(ht; L0i)
end Method
Die erste Komplexanweisung
49
factorize t by i into u = (uC )C 2C , l = (lC )C 2C and v = (vC )C 2C
purge l and all occurrences j : l0 ! t in Ll0 having
an overlap with i(l) [ max(u) [ min(v).
lat sich in konstanter Zeit abarbeiten. Eine Faktorisierung tC = uC lC vC kann fur
alle C 2 C in konstanter Zeit uber die maximalen bzw. minimalen Buchstaben des
Vorkommens von l berechnet werden. Jedes der Faktorvorkommen, die entfernt werden
sollen, korrespondiert zu einer Faktorisierung tC = u0C lC0 vC0 fur alle C 2 C so, da
einPA 2 C existiert mit jjuAj ju0Ajj < jlC0 j (vgl. Lemma 19 und 20). Diese konnen in
O( l2LR;C 2C jlC j2 ) = O(1) Zeit aus den Listen Ll0 , l0 2 LR uber entsprechende Referenzen entfernt werden. Das Eliminieren von l und das Einsetzen von r geht oensichtlich
in konstanter Zeit.
Analog zum Entfernen der uberlappenden Faktoren werden von der Komplexanweisung
insert all new occurrences j : l0 ! t, l 2 LR having
some nonempty overlap with r [ max(u) [ min(v)
alle noch in den Listen fehlenden Faktorvorkommen in konstanter Zeit eingetragen.
Die Konkatenation geschieht komponentenweise durch Verkettung der einzelnen Strings.
Fur alle in Ll0 fehlenden Faktorvorkommen, l 2 LR , existiert eine Clique so, da sich
t = urv = u0l0v0 faktorisieren lat mit jjuC j ju0C jj < jlC0 j (vgl. Lemma
19). Diese FaktoriP
sierungen lassen sich uber die Zusammenhangsbedingung in O( l2LR;C 2C jlC j2 ) = O(1)
Zeiteinheiten aunden bzw. die Liste Ll0 lat sich in dieser Zeit vervollstandigen.
U ber die gegenseitigen Referenzierungen der Buchstaben aC in t = t0at00 mit (t) =
(t0)(aC )C 2C (t00) werden nur Faktorisierungen
0 1
t
B@ C... 1 CA
tCk
=
0 0 1 0 0 1 0 0 1
u
l
v
B@ C... 1 CA B@ C... 1 CA B@ C... 1 CA
u0Ck
lC0 k
vC0 k
mit C = fC1; : : : ; Ck g und ju0Aja = ju0B ja fur alle A; B 2 C , a 2 A \ B \ (l) betrachtet.
Da alle Buchstaben von allen Mengen (l) aus sichtbar (bzgl. C ) sind, folgt mit
Lemma 22, da jede so berechnete Faktorisierung die Bedingung ju0Ajc = ju0B jc fur alle
A; B 2 C und c 2 A \ B erfullt. Nach Lemma 8 induziert dann dieses Vorkommen die
Faktorisierung t = 1((u0C )C 2C ) l0 1((vC0 )C 2C ).
Wir erhalten als Invariante die Semantik der Datenstruktur. Damit ist das Resultat des
Algorithmus ein Derivat der Eingabe. Die Zeitkomplexitat fur die gesammte Berechnung
ist O(jtj + n), da der Rumpf der Iteration konstante Zeit benotigt.
Ein iteriertes Anwenden der oben beschriebenen Methode fuhrt zu dem folgenden Resultat.
Theorem 11 Sei C eine Cliquenuberdeckung von einem Abhangigkeitsalphabet (; D),
R M (; D) M (; D) ein Ersetzungssystem mit den linken Seiten LR . Jede linke
Seite sei zusammenhangend und alle Buchstaben a 2 seien von (l) aus sichtbar fur
50
jede linke Seite l 2 LR . Dann kann eine irreduzible Form t^ 2 Irr(R) von t 2 M (; D)
in O(dR) Zeit berechnet werden.
Beweis: Die Spur ist irreduzibel, wenn alle Listen Ll fur l 2 LR leer sind. Ein Reduktionsschritt lat sich in O(1) Zeiteinheiten durchfuhren.
Korollar 9 Sei C eine Cliquenuberdeckung von einem Abhangigkeitsalphabet (; D),
R M (; D) M (; D) ein Ersetzungssystem mit den linken Seiten LR . Jede linke
Seite sei zusammenhangend, es existiert eine Clique C 2 C mit C (l) =
6 1 fur alle l 2 LR
und alle Buchstaben a 2 seien von (l) aus sichtbar fur jede linke Seite l 2 LR . Dann
^
kann eine Links-Derivation t =)
R t 2 Irr(R) in O(dR ) Zeit berechnet werden.
Beweis: Seien i und j zwei Vorkommen von zusammenhangenden Spuren l. Wir denieren die Vorkommenordnung :
i j :() Post(j ) Post(i):
Die Listen Ll , l 2 R, sind kanonisch durch linear geordnet (siehe Lemma 44) und
diese Ordnung kann lokal durch konstante Operationen aufrecht erhalten werden. Die
relative Position eines Vorkommen i : l ! t zu einem Vorkommen j : l0 ! t ist
auf der Projektion tC uberprufbar. Seien i und j durch die Faktorisierungen uC lC vC =
u0C lC0 vC0 induziert. Dann impliziert juC j < ju0C j die Relation i j . Bei Gleichheit kann
eine entsprechende Analyse auf einer anderen Komponente erfolgen. Damit ist i j
innerhalb einer durch die Konstante maxfjlj j l 2 LR g beschrankten Umgebung in
konstanter Zeit entscheidbar. Stellt man alle Vorkommen in einer Liste L durch Verweise
auf Positionen in tC dar, dann lat sich eine Links-Derivation durch iteriertes reduzieren
eines minimalen Faktors berechnen. Ein minimaler Faktor kann in dieser Datenstruktur
in konstanter Zeit bestimmt werden.
Korollar 10 Sei C eine Cliquenuberdeckung von einem Abhangigkeitsalphabet (; D),
R M (; D) M (; D) ein gewichtsreduzierendes Ersetzungssystem mit den linken
Seiten LR . Jede linke Seite sei zusammenhangend und alle Buchstaben a 2 seien von
(l) aus sichtbar fur jede linke Seite l 2 LR. Dann kann eine irreduzible Form t^ 2 Irr(R)
von t 2 M (; D) in O(jtj) Zeit berechnet werden.
Bemerkung 3 Die Voraussetzungen sind insbesondere fur langenverkurzende Semi-
Thue Systeme erfullt. Damit verallgemeinert dieses Resultat die Aussage von Book
[Boo82]. Wie im vohergehenden Kapitel in Korollar 7 lassen sich auch Links-Derivation
bzgl. lexikographischen Ordnung in linearer Zeit berechnen.
Andere Anwendungen des Sichtbarkeitskonzeptes fuhren zu ahnlichen Komplexitatsresultaten. So wurde beispielsweise in [BD93] gezeigt:
Theorem 12 Fur eine Cliquenuberdeckung C , ein langenverkurzendes Einregelsystem
fl ! rg = R mit l zusammenhangend, C (l) 6= 1 fur alle C 2 C , so da (nur) alle
Buchstaben a 2 (r) von (l) aus sichtbar sind, existiert ein Linearzeitalgorithmus, der
eine Normalform berechnet.
51
7 Dekomposition von
Spurmonoiden
Die Darstellung von Spuren durch die Cliquenprojektionen bzw. die Sichtbarkeitsbedingung fuhrt zu ezienten Algorithmen. Der Ansatz zur Darstellung von einer Subklasse
von Spuren, der in diesem Kapitel entwickelt wird, liefert weitere eziente Algorithmen.
Wir entwickeln eine Methode, die es erlaubt, fur eine groe Klasse frei partiell kommutativer Monoide eine xe "Zerfaserung\ der Monoidstruktur anzugeben, die es ermoglicht,
modular "zerfaserte\ Faktoren zu rekombinieren.
Seien (; D) und (; D) zwei disjunkte Abhangigkeitsalphabete ( \ = ;). Dann
denieren wir die direkte Summe via
(; D) (; D) := ( [ ; D [ D);
und das Komplexprodukt mit
(; D) (; D) := [ ; D [ D [ ( ) [ ( ) :
Denition 2 Wir bezeichnen die kleinste Subklasse der Abhangigkeitsalphabete, die
unter direkter Summe und Komplexprodukt abgeschlossen ist, und die einelementigen
Abhangigkeitsalphabete enthalt, als Cographen-Abhangigkeitsalphabete.
Die Spurmonoide, die von diesen Abhangigkeitsalphabeten erzeugt werden, nennen wir
Cographen-Monoide.
Es gibt eine graphentheoretische Charakterisierung fur Cographen-Abhangigkeitsalphabete. Interpretiert man das Abhangigkeitsalphabet (; D) als ungerichteten Graph und
entfernt alle Schlingen, so ist das Abhangigkeitsalphabet (; D) genau dann ein Cographen-Abhangigkeitsalphabet, wenn der Graph (; D n f(a; a) j a 2 g) keinen induzierten Untergraph der Form
fa; b; c; dg; f(a; b); (b; c); (c; d)g = [a b c d]
enthalt, fa; b; c; dg , d.h. falls (; D) nicht P4 als induzierten Untergraph enthalt.
Eine Deskription eines Abhangigkeitsalphabetes ist ein linearer Term, der aus disjunkten Abhangigkeitsalphabeten und den (Inx-)operatoren + und besteht. Die Dekomposition eines Abhangigkeitsalphabets (; D) berechnet sich wie folgt. Ist der Graph
(; D) nicht zusammenhangend, so ist die Dekomposition Dec(; D) die Menge der
Zusammenhangskomponenten von (; D). Ist (; D) zusammenhangend, dann besteht
die Menge Dec(; D) aus den Komplementen der Zusammenhangskomponenten des
Komplements von (; D). Dabei verstehen wir unter dem Komplement von (; D) den
Graphen (; ( ) n D).
52
Proposition 1 Eine Dekomposition f(i ; Di) j i 2 [n]g von (; D) entspricht der kanonischen Deskription. Ist (; D) nicht zusammenhangend, so gilt (; D) = i2[n](i ; Di ).
Anderenfalls gilt (; D) = i2[n](i ; Di ).
Weiter bezeichnen wir mit Dec(; D) die Menge aller Subalphabete (; D) (; D),
die durch Deskriptionen uber Elementen aus Z (; D) darstellbar sind. Z (; D) ist dabei
die rekursive Zerlegung in nicht-dekompositionierbare Alphabete, d.h.
Z (; D) = f(; D)g, wenn Dec(; D) = f(; D)g.
Anderenfalls gilt Z (; D) = SfZ (; D) j (; D) 2 Dec(; D)g.
Proposition 2 Fur ein Abhangigkeitsalphabet ist die Menge Dec(; D) mit den Operationen
(1; D1) _ (2 ; D2) =
(1; D1) ^ (2 ; D2) =
\
f(; D) 2 Dec(; D) j 1 ; 2 g
[
f(; D) 2 Dec (; D) j 1 ; 2g
ein Verband.
Die graphentheoretischen Mengenoperationen sind komponentenweise deniert.
Fur ein Abhangigkeitsalphabet (; D) und eine Teilmenge denieren wir das von
induzierte Abhangigkeitsalphabet h; Di() durch
h; Di() =
_
f(0; D0) 2 Dec(; D) j 0g:
Das ist das kleinste mit der Cographen-Dekomposition vertragliche Abhangigkeitsalphabet, da umfat.
Lemma 23 Seien M = M (; D ) und M = M (; D ) zwei frei partiell kommutati-
ve Monoide, erzeugt von den disjunkten Abhangigkeitsalphabeten (; D) und (; D).
Dann gilt
M ((; D ) (; D)) = M M M ((; D ) (; D)) = M M ;
wobei M M das freie Produkt und M M das direkte Produkt von M und M notiert.
7.1 Der Term-Morphismus
Sei Term(; D) die Menge der wohlgeformten Terme uber der Signatur
D
E
i j i 2 N ; j j j 2 N ; t j t 2 M (; D) ;
53
d.h. die aus den Funktionssymbolen und beliebiger Aritat und den Atomen (nullstellige Terme) t 2 M (; D) bestehenden Terme. Formal benotigen wir eigentlich eine mit
Deskriptionen und Aritaten indizierte Signatur, aber der Lesbarkeit wegen verzichten
wir auf diese syntaktisch schwerfallige Notation6.
Wir denieren eine Abbildung
h(;D) : M (; D) ! Term(; D);
die jeder Spur einen solchen Term zuordnet.
Ist (; D) nuklear, d.h. Dec(; D) = f(; D)g , dann ist die Abbildung die Einbettung h(;D) : x 7 ! x.
Anderenfalls sei (; D) zerlegbar mit der Dekomposition Dec(; D) = f(i; Di) j
i 2 [k]g und k > 1.
(i) Ist das Abhangigkeitsalphabet (Q; D) = i2[k](i; Di) eine direkte Summe,
so denieren wir fur M (; D) = i2[k] M (i ; Di)
h(;D) : M (; D) ! T
(t1 ; : : : ; tk ) 7 ! (h(1 ;D1)(t1 ); : : : ; h(k ;Dk) (tk ))
(ii) Ist (; D) das Komplexprodukt i2[k](i ; Di), d.h. M (; D) = i2[k] M (i ; Di),
dann denieren wir
h(;D) : M (; D) ! T
t1 : : : tn 7 ! (h(i1 ;Di1 )(t1 ); : : : ; h(in ;Din )(tn));
wobei t1 : : : tn die gewohnliche (alternierende) Faktorsequenz notiert mit
fi1; : : : ; ing [k] und ij 6= ij+1 fur j 2 [n 1] und tj 2 M (ij ; Dij ) fur
j 2 [n].
Ist (; D) ein Cographen-Abhangigkeitsalphabet, so sind die Bilder Terme uber der
oben beschriebenen Signatur, die nur Worter an 2 a = N fag = N , n 2 N , als Atome
enthalten. Abhangigkeitsalphabete (; D), die sich nicht auf diese Weise zerlegen lassen,
d.h. Dec(; D) = f(; D)g, nennen wir nuklear. Wir nennen ein Abhangigkeitsalphabet
atomar, wenn es nur einen Buchstaben besitzt.
Sei T(; D) das h(;D) -Bild von M (; D), also
T(; D) = h(;D) (M (; D)):
Dann ist die Menge T(; D) Term(; D) mit dem neutralen Element h(;D)(1) und der
wie folgt induktiv denierten Verknupfung = (;D) ein Monoid. Auch hier verzichten
wir auf die Indizierung.
Bei der Implementierung der Algorithmen hat sie sich jedoch als hilfreich erwiesen, da mit dieser
Indizierung festgestellt werden kann, welche Rekursionsinvokation abgearbeitet werden mu.
6
54
(i) Sind s = (s1 ; : : : ; sk ) und t = (t1 ; : : : ; tk ), so gilt
s t = (s1 t1; : : : ; sk tk ):
(ii) Sind s = (s1 ; : : : ; sm) und t = (t1 ; : : : ; tn), dann gilt
s t = (s1; : : : sm 1 ; sm t1 ; t2; : : : ; tn);
falls sm ; t1 2 T(i ; Di) fur ein i 2 [k] und die Verknupfung setzt sich rekursiv fort.
Falls sm 2 T(i ; Di) und t1 2 T(j ; Dj ) aus verschiedenen Monoiden T(i ; Di) 6=
T(j ; Dj ) stammen, d.h. i 6= j , so ist das Ergebnis der Konkatenation
s t = (s1; : : : ; sm ; t1; : : : ; tn)
die einfache Verkettung der Argumente.
(iii) Anderenfalls ist (; D) nuklear und wir denieren die Verknupfung via die Monoidkonkatenation s t = st.
Wir erhalten eine weitere Reprasentation fur Spuren.
Theorem 13 Die Abbildung h : M (; D) ! T(; D) ist ein injektiver Homomorphismus.
Beweis: Sei s; t 2 M (; D) und h = h(;D) . Wir zeigen die Beziehung
h(s t) = h(s) h(t)
mit Induktion. Ist (; D) nuklear, so ist die Aussage trivial. Anderenfalls zerfallt (; D)
in eine Summe oder ein Komplexprodukt. Sei Dec(; D) = f(i ; Di) j i 2 [k]g. Wir
unterscheiden die Falle (; D) = i2[k](i ; Di) und (; D) = i2[k](i; Di).
Ist (; D) = i2[k](i; Di), so gilt nach Lemma 23 die Isomorphie
Y
M (; D) M (i ; Di):
=
i2[k]
0 1
x1
Q
B
Wir stellen ein Element x 2 i2[k] M (i ; Di) als Vektor x = @ ... C
A dar. Die Konkatexk
nation und das h-Bild berechnen sich komponentenweise. Wir schreiben fur h(i ;Di) kurz
hi . Damit ergibt sich mit Induktion
0
1 0
1
h1 (s1 t1 )
h1(s1 ) h1(t1 )
CA = h(s) h(t):
...
h(s t) = B
@ ... CA = B@
hk (sk tk )
hk (sk ) hk (tk )
Ist (; D) = i2[k](i; Di) und s = s1 : : : sn und t = t1 : : : tm mit si 2 M (ni ; Dni ) und
tj 2 M (mj ; Dmj ) n f1g, i 2 [n], j 2 [m] und ni; mj 2 [k]. Dann gilt sn 2 M (nn ; Dnn )
und t1 2 M (m1 ; Dm1 ). Wir unterscheiden die zwei Falle nn 6= m1 und nn = m1 .
55
Ist nn 6= m1, so erhalten wir
h(s t) = h(s1 : : : sn t1 : : : tm)
= (hn1 (s1 ); : : : ; hnn (sn); hm1 (t1 ); : : : ; hmm (tm ))
= (hn1 (s1 ); : : : ; hnn (sn)) (hm1 (t1 ); : : : ; hmm (tm ))
= h(s) h(t)
Im Fall nn = m1 erhalten wir eine alternierende Sequenz der Lange n + m 1
s t = s1 : : : sn 1 (sn M (m1 ;Dm1 ) t1) t2 : : : tm:
Die Multiplikation sn M (m1 ;Dm1 ) t1 in dem Monoid M (nn ; Dnn ) = M (m1 ; Dm1 )
ist hervorgehoben, und das Resultat ist von 1 verschieden. Wir erhalten
h(s t) = h(s1 : : : sn 1 (sn t1) t2 : : : tm )
= (hn1 (s1); : : : ; hm1 (sn t1 ); : : : ; hmm (tm ))
= (hn1 (s1); : : : ; hnn (sn) hm1 (t1); hm2 ; : : : ; hmm (tm ))
= (hn1 (s1); : : : ; hnn (sn)) (hm1 (t1 ); : : : ; hmm (tm ))
= h(s) h(t)
mit Induktion uber die Verbandsstruktur von Dec(; D).
Die Injektivitat beweist man analog. Sei s 6= t und s; t 2 M (; D). Ist (; D) die Summe
i2[k](i; Di), so existiert eine Komponente i 2 [k] mit si 6= ti und h(s) 6= h(t) ergibt
sich induktiv. Fur (; D) = i2[k](i ; Di) sind entweder die alternierenden Sequenzen
s1 : : : sn und t1 : : : tm verschieden lang, d.h. n 6= m, oder es existiert ein Index
i 2 [n] mit si 6= ti. In beiden Fallen ergibt sich die Behauptung h(s) 6= h(t) induktiv.
Die Induktionsverankerung ist trivial.
7.2 Charakterisierung von Faktoren
Im nachsten Lemma charakterisieren wir Faktoren in Spuren aus zerfaserten Monoiden.
Lemma 24 Sei f(i ; Di) j i 2 [k]g die Dekomposition des Abhangigkeitsalphabetes
(; D). Wir notieren M i = M (i ; Di), fur i 2 [k]. Weiter sei t; l 2 M (; D).
Q
(i) Im Fall (; D) = i2[k](i ; Di ) liegt t; l in i2[k] M i = M (; D) (direktes Produkt)
und es gilt t = ulv fur u; v 2 M (; D) genau dann, wenn
8i 2 [k] : i (t) = i(u)i(l)i (v),
worin i den Projektionshomomorphismus
M (; D) =
Y
i2[k]
notiert.
56
M (i ; Di) ! M i
(ii) Falls (; D) = i2[k](i ; Di ) liegt t; l in i2[k]M i = M (; D) (freies Produkt) mit
den alternierenden Sequenzen t = t1 : : : tn und l = l1 : : : lm . Dann gilt t = ulv
fur u; v 2 M (; D) genau dann, wenn entweder
9 j 2 f0g [ [n 2] : tj+2 = l2 ^ : : : ^ tj+m 1 = lm 1, und
9 x; y : xl1 = tj+1 ^ lmy = tj+m, oder
9i 2 [k] : l 2 M i mit tj = xly fur x; y 2 M i und ein j 2 [n].
Beweis: Die Aussage ist eine unmittelbare Konsequenz aus der Termdarstellung, siehe
Theorem 13 bzw. Lemma 23. Kombinatorisch kann sie direkt aus dem Lemma von Levi
hergeleitet werden.
Die folgenden Abbildungen illustrieren die Situation am Abhangigkeitsgraphen. Im Falle
eines direkten Produktes zerfallt der Abhangigkeitsgraph in Zusammenhangskomponenten. Tritt in den Komponenten jeweils eine Projektion von l als ein Faktor auf, so lassen
sich die einzelnen Faktorprojektionen zu einem Faktor l rekombinieren.
= t
l =
Die Faktoren l = (l1 ; : : : ; lk ) sind in der Illustration grau hervorgehoben. Jedes Vorkommen i : lm ! t der Projektionen lm , m 2 [k] lat sich mit jedem anderen Vorkommen
j : lm0 ! t, m0 2 [k] kombinieren7.
Im Falle eines freien Produktes unterscheiden wir die beiden Moglichkeiten n = 1 und
n > 1 mit l = l1 : : : ln. Ist n > 1, so existiert in der Sequenz t = t1 : : : tm eine Position,
ab der das Vorkommen beginnt und mit einem Teil der Sequenz wie in der Zeichnung
angedeutet ubereinstimmt. Ist n = 1, so existiert eine Position i, und ti hat den Faktor
l.
= t
= t
l =
7
l =
In Notation mr m , d.h. die Relation r ist ein Quader
i
j
0
57
I1
:::
k , siehe Anhang A.
I
8 Auf Dekompositionen
basierende Algorithmen
8.1 Dekomposition von Ersetzungssystemen
In diesem Abschnitt betrachten wir wie Dekompositionen von Ersetzungssystemen ererbt werden und wie sie bei dem Entwurf von Reduktionsalgorithmen genutzt werden
konnen. Faktoren, die isomorph zu Elementen aus dieser Dekompositionsmenge sind,
werden eine entscheidende Rolle einnehmen. Sei R ein endliches noethersches Spurersetzungssystem uber einem Cographen-Monoid M = M (; D). Wir schranken uns hier
auf Cographen-Monoide ein, um die komplizierteren Betrachtungen bei Rekursionsabbruchen zu vermeiden.
Wieder bezeichnen wir mit LR die Menge der linken Seiten fl 2 M j l ! r 2 Rg. Fur
eine Spur t 2 M bezeichnet
Pref(t) = f 2 M j = tg die Praxe und
Su(t) = f 2 M j = tg die Suxe.
Fur Mengen S M denieren wir
Pref(S ) =
[
s2S
Pref(s) und Su(S ) =
[
s2S
Su(s):
Die Dekomposition einer linken Seite l 2 LR ist durch Dec(l) = Dec(h(l)) via
Dec((l1 ; : : : ; lk )) =
Dec((l1; : : : ; ln)) =
[
i2[k]
Dec(li) [ f(l1; : : : ; lk )g
fl : : : l g
1
n
falls n > 1
Dec(l1) [ fl1g falls n = 1
deniert. In der obigen Denition fassen wir l1 in der letzten Zeile als Subterm auf
und berechnen die Dekomposition rekursiv. Lat sich keine der obigen Gleichungen
anwenden, so ist l ein Element eines nuklearen Monoids. In diesem Fall setzen wir
Dec(l) = flg.
Fur ein Ersetzungssystem R legen wir die folgenden Mengen fest:
S
Dec(R) = fDec(l) j l 2 LR g die Dekomposition,
Pref(R) = Pref(LR )
die Praxe und
Su(R) = Su(LR )
die Suxe.
58
8.2 Term-Beschriftung
Sei t 2 M eine Spur. Dann beschriften wir den Term h(t) mit drei Mengen. Die ersten
beiden Beschriftungen P (h(t)) und S (h(t)) sind die Mengen
P (h(t)) = Su(t) \ Pref(R) und S (h(t)) = Pref(t) \ Su(R):
Die dritte Beschriftung L(h(t)) beschreibt die Positionen, an denen potentielle Faktorvorkommen von d 2 Dec(R) gefunden werden konnen so, da dort eine Ersetzung
moglich wird. Fur freie Produkte soll diese Beschriftung auf die Stellen in der alternierenden Sequenz hinweisen, an denen eine Spur aus Dec(R) beginnt. Bei direkten
Produkten soll lediglich bekannt sein, ob sich Subfaktoren von einer Spur aus Dec(R)
zu einem Faktor kombinieren lassen. Formal denieren wir
L((t1 ; : : : ; tk )) =
L((t1; : : : ; tn)) =
[
fd 2 M j 8i 2 [k] : i(d) 6= 1 ) Ldi (ti ) 6= ;g
i2[k]
Ld (h(t))
d2Dec(R)
;
wobei Ld (t) [n] die (geordnete) Menge naturlicher Zahlen fi1; : : : ; ind g mit der Eigenschaft
8
>
falls h(d) = (d ; : : : ; d ); m > 1 und
>
< h(t) = (t1; : : : ; ti1j 1; u md1; d2; : : : ; dm 1; dm v; tij +m : : : ; tn)
ij 2 Ld >
falls h(d) = (d1) und
>
: h(oder
t) = (t1; : : : ; tij 1 ; u d1 v; tij +1 ; : : : ; tn)
fur u; v 2 h(M ). Im ersten Fall beschreibt die Position ij ein Faktorvorkommen d1 : : : dm ! t, so da ein echtes Prax d1 existiert, das gleichzeitig ein Sux des Subterms tij
ist. Im zweiten Fall wird eine nicht-leere Menge von Faktorvorkommen d1 ! t durch
ij beschrieben, die in dem Subterm tij vorkommen.
Ist das Monoid nuklear, d.h. t = h(t), so beschriften wir den Term mit der Menge
L(t) = fi : d ! t j d 2 Dec(R)g
aller Faktorvorkommen. Da wir nur Cographen-Monoide betrachten, erhalten wir als
nukleare Terme nur atomare. D.h. wir erhalten den Spezialfall (; D) = (fag; f(a; a)g),
also M (; D) = M = fag = N fag . Das bedeutet die Menge der Faktorvorkommen
m
n
a ! a lat sich durch
L(an) = fi 2 N j 1 i n m + 1g = [n m + 1]
reprasentieren.
Mit Lemma 24 existiert fur h(t) = (t1 ; : : : ; tn) eine Faktorisierung t = x d y mit
d 2 Dec(R) genau dann, wenn ein Index i in der Beschriftung Ld(h(t)) vorhanden ist.
Fur h(t) = (t1 ; : : : ; tk ) gilt d 2 L(h(t)) genau dann, wenn x; y 2 M existieren mit
t = x d y.
59
Wir verwenden nicht die Menge aller Kombinationen
n
o
(i1 ; : : : ; ik ) 2 [n1] : : : [nk ] 8j 2 [k] : j (d) 6= 1 =) ij 2 Ltj ;
da diese im allgemeinen
an von quadratischer
a Ordnung ist. Beispielsweise besitzt fur M =
fag fbg , t = bn und d = b die Menge aller moglichen Kombinationen von
a- und b-Faktoren, [n] [n], die Kardinalitat n2 , wohingegen die Anzahl der Elemente
in der Beschriftung jL((t1 ; : : : ; tk ))j jfd2 j d1d2d3 2 Dec(R)gj = O(1) von kleiner
Ordnung ist. Fur -Terme gilt jLd ((t1; : : : ; tn))j n fur alle d 2 Dec(R).
Wir nennen einen Term h(t) = f (s1; : : : ; sn), f 2 f; g, korrekt beschriftet, wenn alle
Subterme s1 ; : : : ; sn korrekt beschriftet sind und der Term selbst mit P (t), S (t) und
L(t) beschriftet ist.
8.3 Der abstrakte Datentyp
Wir reprasentieren eine Spur t 2 M als einen knotenbeschrifteten, dem Term h(t) entsprechenden Baum8. Die Knoten dieses Baums sind mit den Beschriftungen P (s), S (s)
und L(s) fur die reprasentierten Subterme s von h(t) versehen.
Fur die Datenstruktur denieren wir die Operationen SPLIT, PROJECT, COMPOSE
und CONCAT so, da die Konsistenz der Beschriftung invariant unter Anwendung dieser
Operationen ist, und da die Resultate wieder Baume mit derselben Struktur sind.
Diese Operationen ermoglichen ein Zerlegen und Zusammenfugen von Spuren in dieser
Reprasentation.
Diese Vorgehensweise ermoglicht es schlielich einen rekursiven Algorithmus zur Faktorisierung bzw. Normalformenberechnung zu entwerfen. Die Primitiven besitzen die
folgende Semantik.
(i) SPLIT(i; (t1 ; : : : ; tn)) | faktorisiert den -Term (t1; : : : ; tn) an der Stelle i 2 [n]
in zwei -Terme (t1 ; : : : ; ti 1 ) und (ti; : : : ; tn). Die Katenation der Resultatterme
ist wieder der ursprungliche Term.
(ii) PROJECT(i; (t1 ; : : : ; tk )) | extrahiert den Term ti , i 2 [k].
(iii) COMPOSE(t1 ; : : : ; tk ) | rekombiniert die Terme ti der Spuren t0i = h 1(Q
ti) 2 M i ,
i 2 [k] so, da der Resultatterm (t1 ; : : : ; tk ) die Spur (t01 ; : : : ; t0k ) 2 i2[k] M i
darstellt. Die Anzahl der Argumente hangt nur vom zugrundeliegenden induzierten
Abhangigkeitsalphabet ab. Da wir nicht-uniforme Algorithmen untersuchen ist
diese Anzahl durch eine konstante beschrankt. Es gilt k 2 O(j(j) = O(1). Die
Terme ti sind -Terme oder Atome, und es sollen nur solche Invokationen auftreten,
so da der berechnete Term wieder ein h-Bild ist.
Ein geordneter Baum stellt einen Term dar, wenn die Blatter die nullstelligen Symbole sind und
die inneren Knoten (mit den entsprechenden Funktionssymbolen markiert) den Funktionssymbolen von
nicht-atomaren Subtermen entsprechen.
8
60
(iv) CONCAT(t1 ; t2) | berechnet die Katenation t1 t2 der Argumentterme.
Zur Komplexitatsanalyse der unten vorgestellten Algorithmen benotigen wir noch das
folgende Lemma.
Lemma 25 Seien t; l 2 M (; D) Spuren, die durch den Baum h(t), bzw. h(l) reprasen-
tiert sind. Atomare Terme an seien durch Strings reprasentiert. Dann konnen die Pradikate
(i) l 2 Pref(t), (ii) l 2 Su(t) und (iii) l = t
in O(min(jtj; jlj)) Zeiteinheiten entschieden werden.
Beweis: (iii) folgt aus (i) und (ii) mit t = l () (l 2 Pref(t)) ^ (t 2 Pref(l)).
PREDICATE PREF(l; t)
Comment Input: two traces in representation.
Output: boolean (l 2 Pref(t)).
Method
if h(t) = (t1 ; : : : ; tm) and h(l) = (l1; : : : ; ln) then
if m < n then return (false)
else for all 1 i n 1 do
if ti =6 li then return (false) end if
end for
return(PREF(ln; tn))
end if
else if h(t) = (t1 ; : : : ; tm) and h(l) = (l1; : : : ; ln) then
if m =6 n then error
else for all (1 i m) do
if not PREF(li; ti) then return (false) end if
end for
return(true)
end if
else if t; l 2 a are basic representations then
if jtj < jlj then return (false)
else return (true)
end if
otherwise error
end Method
Mit der Charakterisierung in Lemma 24 folgt, da PREF(t; l) = true genau dann, wenn
l 2 Pref(t). Genauer gilt fur t = (t1; : : : ; tm ) und l = (l1; : : : ; ln)
t = l u () 8i 2 [n 1] : ti = li ^ dn 2 Pref(tn);
61
und fur t = (t1 ; : : : ; tm) und l = (l1 ; : : : ; ln)
t = l u () m = n ^ 8i 2 [m] : li 2 Pref(ti):
Der Fall l; t 2 a ist oensichtlich korrekt.
Die Komplexitat ist O(min(jlj; jtj)), da bei jeder Invokation beide Argumentstrukturen
| aufsummiert uber alle rekursiven Aufrufe | entweder sich um mindestens ein Funktionssymbol verkleinern oder das Resultat nach dem Lesen der kleineren der beiden
Strukturen feststeht.
Sei T (l; t) der Zeitaufwand zum Entscheiden der drei Pradikate. Dann gilt fur die Praxberechnung
P
T ((t1; : : : ; tm ); (l1; : : : ; ln)) = O(1) + X T (t ; l )
i i
T ((t1 ; : : : ; tm); (l1 ; : : : ; ln))
imin(m;n)
T (at; al) = O(1) + T (l; t), wenn l; t 2 a .
Da i2[m] jh 1 (ti)j = jtj fur alle t mit h(t) = (t1; : : : ; tm ) oder h(t) = (t1 ; : : : ; tm)
gilt, folgt (i) und dual (ii) mit Induktion.
Bemerkung 4 Dieses Resultat gilt nicht nur fur Spuren aus Cographen-Monoiden. Fur
alle Darstellungen gilt die rekursive Beziehung
al 2 Pref(at) () l 2 Pref(t);
die fur nukleare Terme verwendet werden kann. Minimale Buchstaben a in beispielsweise
einem Hasse-Diagramm oder die diese Buchstaben reprasentierenden Buchstaben in den
Wortern tC = at0C , a 2 C 2 C , eines Worttupels (tC )C 2C lassen sich in O(jj) = O(1)
nden. Diese t 2 M reprasentierenden Strukturen besitzen maximal O(jj jtj) = O(jtj)
Knoten bzw. Kanten bzw. Funktionssymbole.
8.3.1 Algorithmische Primitive
Es folgen die Beschreibungen der Methoden zu den oben aufgefuhrten Operationen.
Die Algorithmen werden im Laufe einer Berechnung nur strukturvertragliche Terme,
d.h. Terme h(;D) (t) und h(;D ) (t) mit (; D) = (; D), so verknupfen, da die
resultierende Terme wieder wohlstrukturiert sind.
SPLIT
Die zulassigen Eingaben von SPLIT sind korrekt beschriftete Terme (t1; : : : ; tn) und
Zahlen i 2 [n + 1]. Das Resultat ist das Termpaar h(t1; : : : ; ti 1 ); (ti; : : : ; tn)i mit
korrekter Beschriftung.
62
FUNCTION SPLIT(i; (t1 ; : : : ; ti; : : : ; tn))
Comment Input: a natural number and a trace representation.
Output: the representation of two traces
according to the semantic.
Method
if (1 < i n) then ht01; t02 i h(t1; : : : ; ti 1); (ti; : : : ; tn)i
P (t01) P (ti 1) [ fl1 : : : lj 2 Pref(R) jt1 : : : ti 1 = l1 : : : lj ; j > 1g
P (t02) P (tn) [ fl1 : : : lj 2 Pref(R) j ti : : : tn = l1 : : : lj ; j > 1g
S (t01) S (t1) [ fl1 : : : lj 2 Su(R) j t1 : : : ti 1 = l1 : : : lj ; j > 1g
S (t02) S (ti) [ fl1 : : : lj 2 Su(R) j ti : : : tn = l1 : : : lj ; j > 1g
for all d 2 Dec(R) do
Ld (t01 ) (Ld (t) \ [i 1]) fi j 1 jd1 2 P (t01); d2 2 S (t02);
d1 =
6 1 =6 d2
h(d1 ) = (d01; : : : ; d0j );
with h = hh;Di((t))
d1 d2 = dg
Ld (t) \ fi; : : : ; ng
end for
return (ht01; t02 i with labeling S; P; L, resp.)
else if i = 1 then return(h1; (t1; : : : ; tn)i) end if
else if i = n + 1 then return(h(t1; : : : ; tn); 1i) end if
with empty labeling (S = P = ;) for 1 and
the old labeling for (t1; : : : ; tn)
otherwise error
end Method
Ld (t02 )
Durch die Zuweisungen
P (t01) P (ti 1) [ fl1 : : : lj 2 Pref(R) j t1 : : : ti 1 = l1 : : : lj ; j > 1g
P (t02) P (tn) [ fl1 : : : lj 2 Pref(R) j ti : : : tn = l1 : : : lj ; j > 1g
S (t01) S (t1 ) [ fl1 : : : lj 2 Su(R) j t1 : : : ti 1 = l1 : : : lj ; j > 1g
S (t02) S (ti ) [ fl1 : : : lj 2 Su(R) j ti : : : tn = l1 : : : lj ; j > 1g
werden die Prax- und Suxbeschriftungen fur beide Resultatterme berechnet. Dabei
wird die rekursive Struktur, die auch im Entscheidungsalgorithmus PREF verwendet
wird, genutzt. In der for-Schleife werden anschlieend die L-Beschriftungsfamilien ermittelt, indem die Listen Ll in Teile gespalten werden, die zu den resultierenden Termen korrespondieren, und die Markierungen, die in dem ersten Term beginnen und im
zweiten enden, entfernt werden. Oensichtlich gilt folgendes Lemma.
Lemma 26 Sei t = (t1 ; : : : ; tn) ein korrekt beschrifteter Term und i 2 [n + 1]. Dann
ist das Resultat SPLIT(i; t) ein Paar (t0 ; t00 ) von korrekt beschrifteten Termen mit t0 =
(t1 ; : : : ; ti 1) und t00 = (ti; : : : ; tn).
P
Die Beschriftungen P und S konnen in O( l2Dec(R) jlj) = O(1) mit Lemma 25 bruteforce berechnet werden. Der Algorithmus nutzt jedoch die hierarchische Struktur der
Dekompositionen, um Mehrfachberechnungen zu vermeiden.
63
Der Rumpf in der for-Schleife zur Berechnung der L-Beschriftungen kann ohne weitere
Datenstrukturen nicht in konstanter Zeit bearbeitet werden. Das Aufspalten der (geordneten) Mengen erfordert bei einer Implementierung durch beispielsweise eine Familie
von Listen im worst-case O(n) Zeiteinheiten. Eine Ezienzsteigerung erreicht man durch
Verwenden der in Kapitel 5.2 beschriebenen C -Baume mit C = N . D.h. die Mengen
Ll werden durch Baume dargestellt, deren Blatter zu Positionen i 2 N korrespondieren.
Jede der Mengen Ld lat sich dann in O(log jLd j) = O(log n) Zeit mit der Splitoperation
fur C -Baume separieren, woraus die (nicht-konstante) Laufzeit O(log n) resultiert. Wir
erhalten
Lemma 27 Sei t = (t1 ; : : : ; tn) ein korrekt beschrifteter Term und i 2 [n + 1]. Dann
terminiert die eziente Implementierung nach Aufruf mit SPLIT(i; t) in O(log n) Zeiteinheiten.
Man beachte, da das Argument i als Zeiger interpretiert werden kann. Dann entfallt
die logarithmische Suche in der komplexen Zuweisung
ht01; t02i h(t1; : : : ; ti 1); (ti; : : : ; tn)i;
aber die Partitionierungen der Mengen (Listen)
Ld (t01 )
Ld (t02 )
(Ld(t) \ [i 1]) fi j j d1 2 P (t01); d2 2 S (t02 );
d1 6= 1 6= d2 ;
hh;Di((t)) (d1) = (d01; : : : ; d0j );
d1d2 = dg
Ld (t) \ fi; : : : ; ng
benotigen ohne zusatzliche Information logarithmische Zeit mit N -Baumen. Man beachte, da der Homomorphismus h = hh;Di((t)) derselbe wie bei h(t) = (t1; : : : ; tn) ist.
Eine Verbesserung der Konstanten erhalt man, indem nur vertragliche Faktorisierungen
von d = (d01; : : : ; d0n) betrachtet werden. Das sind die n 1 Faktorisierungen in
n
o
(d01); (d02; : : : ; d0n) ; (d01; d02); (d03; : : : ; d0n) ; : : : ; (d01; : : : ; d0n 1); (d0n) :
Durch Verzichten auf die Operation SPLIT werden wir spater einen Linearzeitalgorithmus angeben konnen.
PROJECT
Die Methode PROJECT ergibt sich aus der rekursiven Denition der Beschriftung.
FUNCTION PROJECT(i; (t1 ; : : : ; ti; : : : ; tk ))
Comment Input: a natural number and a trace representation.
Output: the representation of a trace
according to the semantic.
64
Method
if (1 i k) then return(ti)
otherwise error
end Method
Oensichtlich benotigt die Methode O(k) = O(1) Zeiteinheiten, da wir das Abhangigkeitsalphabet (; D) als fest annehmen. Wir erhalten
Lemma 28 Sei t = (t1 ; : : : ; tk ) ein korrekt beschrifteter Term und i 2 [k]. Dann ist
das Resultat von PROJECT
(i; t) der korrekt beschriftete Term h(i (h 1(t))) wobei i
Q
die i-te Projektion M = j2[k] M j ! Mi ist.
COMPOSE
Invers zu PROJECT fugt COMPOSE Terme zu einem Produktterm zusammen.
FUNCTION COMPOSE(t1 ; : : : ; tk )
Comment Input: a tupel of trace representations.
Output: the representation of a trace according
to the semantic.
Method
if (t1 ; : : : ; tk ) is a well formed term
w.r.t. the corresponding submonoid
then t (tQ
1 ; : : : ; tk )
S (t) Q1ik S (ti) \ Su(R)
P (t)
1ik P (ti ) \ Pref(R)
L(t) ;
for all d 2 Dec(R) do
let h(d) = (d1 ; : : : ; dk ) a term corresponding to the
structure of t
B true
for all 1 i k do B B ^ (Ldi 6= ;) end for
if B then L(t) L(t) [ fdg end if
end for
return(t with labeling S; P; L)
otherwise error
end Method
Die Semantik der zwei komplexen Zuweisungen
S (t)
P (t)
Y
1ik
Y
1ik
S (ti) \ Su(R)
P (ti) \ Su(R)
65
ist eine komponentenweise Analyse der Kombination der Pra- bzw. Suxvorkommen.
Die Korrektheit folgt wieder aus Lemma 24. Fur Praxe gilt bei strukturgleichen Termen
(d1; : : : ; dk ) 2 Pref((t1 ; : : : ; tk )) () 8i 2 [k] : di 2 Pref(ti ):
Auch hier ist eine brute-force Berechnung moglich, verschlechtert aber die Konstanten.
Fur Suxe gilt Duales. Die Korrektheit der L-Beschriftung folgt aus Lemma 24
(t1 ; : : : ; tk ) = u (d1 ; : : : ; dk ) v
() 8i 2 [k] : h(i (h 1(u))) di h(i(h 1 (v)))
mit Induktion. Man beachte, die induzierten Abhangigkeitsalphabete sind paarweise
disjunkt. Wir erhalten
Lemma 29 Seien ti korrekt beschriftete Spurterme mit den induzierten paarweise disjunkten Abhangigkeitsalphabeten (i ; Di) = h; Di((ti )), i 2 [k]. Ist i2[k](i ; Di ) 2
Dec (; D), dann berechnet COMPOSE(t1; : : : ; tk ) den Term (t1 ; : : : ; tk ) mit korrekter
Beschriftung.
Auch diese Methode benotigt
O(jj (jDec(R)j + jSu(R)j + jPref(R)j)) = O(1)
Zeit.
CONCAT
Unter Verwendung der bereits vorgestellten Methoden konnen wir einen Algorithmus
fur die Katenation ableiten. Wir verfahren dabei wie in der Denition von im vorigem
Kapitel.
FUNCTION CONCAT(t1 ; t2)
Comment Input: two trace representations.
Output: the representation of the catenation.
Method
if t1 = (t01 ; : : : ; t0k ) and t2 = (t001 ; : : : ; t00k )
then for all (1 i k) do
ht1i ; t2i i hPROJECT(i; t1 ), PROJECT(i; t2 )i
t000i CONCAT(t1i ; t2i )
end for
return (COMPOSE(t0001 ; : : : ; t000k ))
else if t1 = (t01 ; : : : ; t0n1 ) and t2 = (t001 ; : : : ; t00n2 ) then
if t0n1 2 M i =6 M j 3 t001 , where M = i2[k]M i
then s (t01; : : : ; t0n1 ; t001 ; : : : ; t00n2 )
let s = (s1; : : : ; sn)
P (s) P (sn) [ fl1 : : : lj 2 Pref(R) j
66
s1 : : : sn = l1 : : : lj ; j > 1g
S (s1) [ fl1 : : : lj 2 Su(R) j
s1 : : : sn = l1 : : : lj ; j > 1g
for all d 2 Dec(R) do
Ld (s) Ld (t1 ) [ Ld (t2 )[
fn1 i j hh;Di((s)) (d) = (d1; : : : ; dm); m > 1
(d1; : : : ; di) 2 P (t1);
(di+1; : : : ; dm) 2 S (t2 )g
S (s)
end for
else hs01; s02i SPLIT(n1 ; t1 )
hs001 ; s002 i SPLIT(2; t2 )
s CONCAT(s01 ;CONCAT(CONCAT(s02 ; s001 ); s002 ))
end if
return s with labeling P; S; L
else if t1 2 a and t2 2 a
then let t1 = an and t2 = am
t
an+m
for all d 2 Dec(R) \ a do
Ld [n + m + 1 jdj]
end for
end if
return s with labeling P; S; L
otherwise error
end Method
Sind die zwei Eingabeparameter korrekt beschriftete Spurterme der Form (x1 ; : : : ; xk ),
so fuhren wir die Konkatenation auf k Konkatenationen der durch PROJECT berechneten Subterme zuruck. (Diese sind naturlich nur deniert, falls t1 = h(;D)(t~1 ) und
t2 = h(;D) (t~2) dieselbe Struktur besitzen. Die Resultate werden anschlieend mit COMPOSE zu einem korrekt beschrifteten Spurterm zusammengefugt. Besitzen die Terme
die Form (x1; : : : ), so wird entsprechend der Denition der Konkatenation verfahren.
Der rekursive Fall wird entsprechend der Denition unter Verwendung der Operationen
SPLIT und CONCAT (fur ein Monoid, das von einem Abhangigkeitsalphabet, das sich
unter (; D) bzgl. der Verbandsordnung in Dec(; D) bendet) bearbeitet. Der verbleibende Fall wird durch Fusionieren der beiden Baume an der Wurzel bearbeitet. Ist das
Abhangigkeitsalphabet (; D) atomar, so verwendet man die Konkatenationsoperation
auf der Wortreprasentation. D.h. die beiden Strings an und am mussen konkateniert
werden. Existiert ein d 2 Dec(R), das vollstandig in einem atomaren Submonoid a
liegt, so mu die L-Beschriftung durch die Menge [n + m + 1 jdj] bzw. die diese Menge
reprasentierende Zahl n + m + 1 jdj aktualisiert werden.
Lemma 30 Seien t1 und t2 zwei korrekt beschriftete Spurterme aus h(M ). Dann berechnet die Funktion CONCAT den korrekt beschrifteten Spurterm t1 t2 .
Man beachte COMPOSE, PROJECT, SPLIT und auch mit Induktion CONCAT berechnen korrekt beschriftete Terme.
67
Lemma 31 Seien t1 und t2 korrekt beschriftete Terme. Dann terminiert der Algorithmus CONCAT in O(log jt1 j + log jt2 j + 1) Zeiteinheiten.
Beweis: Sei Dec(; D) = f(i; Di) j i 2 [k]g. Im Fall t1 = (t01 ; : : : ; t0k ) und t2 =
(t001 ; : : : ; t00k ) erhalten wir fur die Komplexitat TCONCAT(t1; t2 )
O
X
i2[k]
TCONCAT(t0i; t00i ) + TPROJECT(t1 ) + TPROJECT(t2 ) +
(t000; : : : ; t000) + 1
TCOMPOSE 1
k
= O(log jt1j + log jt2j + 1)
Fur t1 = (t01 ; : : : ; t0n1 ) und t2 = (t001 ; : : : ; t00n2 ) erhalten wir
TCONCAT(t1; t2 ) = O(1 + TSPLIT(t1 ) + TSPLIT (t2 ) + TCONCAT(t0n1 ; t001 ))
= O(log jt1 j + log jt2j + 1)
mit der ezienteren Implementierung von SPLIT. Fur die Basisfalle gilt in dieser Reprasentation die Beziehung
TCONCAT(t1; t2 ) = O(jj + jDec(R)j) = O(1):
8.3.2 Quotientenberechnung
Sei t = uv 2 M . Dann bezeichnen wir u 1t = v als Linksquotienten und tv 1 = u als
Rechtsquotienten. Ersetzungen werden wir durch Berechnen der Quotienten d2 1 t2 und
t1 d1 1 fur Faktorisierungen d1 d2 2 LR und t1t2 = t durchfuhren.
Analog wie bei CONCAT verwenden wir auch zur Quotientenberechnung die primitiven
Operationen zur Formulierung eines rekursiven Berechnungsverfahrens.
FUNCTION rightQUOTIENT(t; l)
Comment Input: two trace representations.
Output: the representation of the quotient tl 1 .
Method
if l 2= P (t) then error
else if t = (t1 ; : : : ; tk ) and l = (l1 ; : : : ; lk )
then for all (1 i k) do
si rightQUOTIENT(PROJECT(i; t),
PROJECT(i; l))
end for
return (COMPOSE(s1 ; : : : ; sk ))
else if t = (t1; : : : ; tn) and l = (l1; : : : ; lm)
68
then if m = 1 then
hs1; s2i SPLIT(n; t)
interprete s2 as -term
return (CONCAT(s1 ;rightQUOTIENT(s2 ; l1)))
else hs; t0i SPLIT(n m + 1; t)
hl0 ; l00i SPLIT(2; l)
return (rightQUOTIENT(s; l0))
end if
else if t 2 a and l 2 a and jlj jtj
then let t = an and l = am
t
an
m
for all d 2 Dec(R) \ a do
Ld [n m + 1 jdj]
end for
return t with labeling P; S; L
otherwise error
end Method
Wir erhalten das folgende Lemma.
Lemma 32 Seien t; l 2 h(M ), l 2 Dec(R zwei korrekt beschriftete Spurterme und
h 1 (l) sei ein Sux von h 1 (t), d.h. h 1 (l) 2 P (t). Dann berechnet die Funktion rightQUOTIENT einen korrekt beschrifteten Spurterm tl 1 .
Die Komplexitat wird von der Zeit fur ein SPLIT zu O(log jtj + log jlj) (mit der ezienteren Implementierung von SPLIT) bestimmt. Da wir uns auf Quotientenberechnungen
tu 1, u 2 Pref(LR) beschranken, wurde konstante Zeit ausreichen, denn fur alle modizierenden Operationen existieren Zugrispfade auf die entsprechenden Teile der Datenstruktur. So lieen sich die Beschriftungslisten durch lineares Sondieren von maximalen
Elementen aus in konstanter Zeit aktualisieren. Aber, da wir die Zugrisstruktur fur
SPLIT noch verwalten, besitzt diese Realisierung die Komplexitat O(log jtj).
8.4 Dekomponierbarkeit
Um die komplizierten Basisfalle zu umgehen haben wir nur Cographen-Monoide betrachtet. Mit den gleichen Methoden lassen sich Algorithmen fur eine groere Klasse
von Spurmonoiden angeben. Die Basisfalle, bei denen die Rekursionen terminieren, lassen sich entsprechend verallgemeinern, so da die Algorithmen die selbe Zeitkomplexitat
besitzen.
Ein Abhangigkeitsalphabet ist bzgl. des Ersetzungssystems R dekomponierbar oder
zerlegbar, wenn die Menge Z (R) nur atomare Spuren d 2 a , a 2 , oder Spuren,
die sich uber ein freies Produkt faktorisieren, enthalt. D.h. fur alle
S d 2 Z (R) gilt
h(d) = (d1; : : : ; dn) mit n > 1 oder d 2 a . Dabei ist Z (R) = l2LR Z (h(l)) und
69
Z (h(l)) ist rekursiv wie folgt deniert:
Z ((l1 ; : : : ; lk )) =
Z ((l1 ; : : : ; lk )) =
S Z (l )
i2f[k](l ; :i: : ; l )g n > 1
1
k
Z (l1 )
Z (an) = fang a 2 ; n 2 N
n=1
Damit gilt fur d 2 Dec(R) entweder, da die entsprechende Beschriftung von Subtermen
ererbt werden kann, oder d 2 Z (R). Die Laufzeit der Algorithmenteile fur die Basisfalle
aus Z (R) bei zerlegbaren Abhangigkeitsalphabeten liegt in O(1).
Bemerkung 5 Cographen-Abhangigkeitsalphabete sind bzgl. jedem (noetherschen)
Ersetzungssystem dekomponierbar.
Wir betrachten fortan trotzdem nur Cographen-Monoide, da die Formulierung der Basisfalle komplizierter ist.
8.5 Ein O(n log n)-Reduktionsalgorithmus
Die dem folgenden Algorithmus zugrundeliegende Idee ist ein iteriertes
Durchfuhren von Reduktionen "von links nach rechts\, wie in dem folgenden Algorithmenskelett dargestellt.
v
1;
while t 6= 1 do
let t = at0 for some a 2 ; t0 2 M ;
v := va; t := t0 ;
if v = v0l for some l ! r 2 R then v
end while
return v
v0; t
rt end if
Die Algorithmenskelett berechnet ein Derivat v der Spur t, t =)
R v . Die Spur v ist aber
nach Verlassen der Schleife nicht notwendigerweise irreduzibel, wie das Beispiel zeigt.
Beispiel 6 Sei (; D) = [a b c d], t = aban abcddm cd und R = fabcd ! 1g. Dann
berechnet der Algorithmus die Derivation
t = aban abcd dmcd =)R aban dm cd = t0 2= Irr(R);
denn die Spur
t =
"a
an a
d dm
b
b
70
c
d
c
#
wird auf
t0 =
2 a
66
b
4
dm
an
c
d
3
77
5
reduziert. Die Faktoren aus LR sind mit Polygonzugen markiert. Dieses Beispiel illustriert auch, da durch Zurucksetzen uber einen gelesenen Teil konstanter Groe die
Irreduzibilitat nicht zugesichert werden kann.
Die folgende Methode CONCATandREDUCE vermeidet diesen Eekt durch Nutzen der
Termstruktur.
Die Auswahl einer Faktorisierung
Die Methode FACTORIZE berechnet eine Faktorisierung t1 t2 von t so, da t einen
Faktor l 2 Dec(R) an der Schnittstelle enthalt, d.h. t = t01 lt02, wobei ein Prax von l
ein Sux von t1 ist, und das erganzende Sux von l ein Prax von t2 ist. D.h. l = l1 l2,
t1 = t01 l1 und t2 = l2 t02 . Dabei werden Faktorisierungen betrachtet, die sich an der Termstruktur orientieren. Die L-Beschriftungen ermoglichen ein zielgerichtetes navigieren in
dem Term darstellenden Baum.
PROCEDURE FACTORIZE(l; t)
Comment Input: a trace representation.
Output: the factorization according to the semantic.
Method
if t = (t1; : : : ; tn) and Ll (t) 6= ;
then choose j 2 Ll (t) e.g. j min Ll (t)
if l = (l1; : : : lm) with m > 1
then return (SPLIT(t; j + 1))
else l = (l1)
ht0 ; t00i SPLIT(t; j )
hu; vi SPLIT(t00; 2)
interprete u as -term
hx; yi FACTORIZE(l; u)
return(hCONCAT(t0 ; x);CONCAT(y; v)i)
end if
else if t = (t1 ; : : : ; tk ) and l = (l1; : : : ; lk ) 2 L(t)
for all (1 j k) do
tj PROJECT(t; j )
huj ; vj i FACTORIZE(lj ; tj )
end for
return(hCOMPOSE(u1 ; : : : ; uk );COMPOSE(v1 ; : : : ; vk )i
else if t 2 a and L(t) =6 ; then return(ha; ajtj 1i)
71
(with maintained labeling)
else if l = 1 then return (h1; ti)
otherwise there is no factorization possible
end Method
Wieder fuhrt eine zu oben analoge Fallstudie zu dem folgenden Lemma.
Lemma 33 Sei t 2 h(M ) ein korrekt beschrifteter Spurterm mit h 1 (t) = u l v fur
ein l 2 Dec(R). Dann berechnet FACTORIZE(l; t) ein Paar von korrekt beschrifteten
Spurtermen ht1 ; t2 i mit t = t1 t2 , l = l1l2 , sowie l1 2 P (t1 ) und l2 2 S (t2 ).
Insbesondere berechnet FACTORIZE fur jede linke Seite l 2 LR, die als Faktor in einer
Spur t = ulv vorkommt, eine Faktorisierung t = t1 t2 mit t1 = ul1 und t2 = l2 v fur zwei
Spuren l1; l2 mit l1l2 = l.
Die Komplexitat betragt O(log jtj) (mit der ezienteren Implementierung von SPLIT).
Die Datenstruktur C -Baum ermoglicht den Zugri auf das minimale Element min Ll (t)
in logarithmischer Zeit. Da die Positionen uber die C -Baume vergleichbar sind, konnen
so Faktorisierungen t = t1 t2 mit t1 2 M n M lM fur Links-Derivationen berechnet
werden.
Eine Reduktionsmethode fur Links-Derivationen
Die Intention dieses Entwurfs ist es, da die folgenden Zusicherungen invariant gegenuber
Reduktionsschritten sind.
(i) Der Resultatterm ist ein korrekt beschrifteter Spurterm.
(ii) Der Resultatterm ist ein Links-Derivat von der Konkatenation der Eingabe.
(iii) Ist die erste Komponente der Eingabe irreduzibel, so ist auch das Resultat irreduzibel.
In naturlicher Weise erhalt man einen Reduktionsalgorithmus vom Book-Typ.
PROCEDURE CONCATandREDUCE(s; t)
Comment Input: two trace representations.
Output: a descendant of st.
Method
if exists l = l1 l2 ! r 2 R with l1 2 S (s) and l2 2 P (t) then
then let l be minimal choosen
s0 rightQUOTIENT(s; l1 )
t0 leftQUOTIENT(t; l2)
return(CONCATandREDUCE(
CONCATandREDUCE(s0 ; r); t0))
72
else if s = (s1; : : : ; sk ) and t = (t1 ; : : : ; tk ) and
there exists l ! r with l = (l1 ; : : : ; lk ) 2 L(s t)
let l be minimal choosen
then for all i 2 [k] do
si
ti
PROJECT(s; i)
PROJECT(t; i)
if Lli (si) =6 ;
then hs0i; s00i i FACTORIZE(li ; si)
si s0i
ti CONCAT(s00i ; ti )
else if li = li0 li00 with li0 2 P (si), li00 2 S (ti)
then do nothing
else ht0i; t00i i FACTORIZE(li ; ti)
si CONCAT(si ; t0i)
ti t00i
end if
end for
end if
s COMPOSE(s1 ; : : : ; sk )
t COMPOSE(t1 ; : : : ; tk )
let l = l1 l2 with l1 2 P (s) and l2 2 S (t)
s0 rightQUOTIENT(s; l1 )
t0 leftQUOTIENT(t; l2 )
return(CONCATandREDUCE(
CONCATandREDUCE(s0 ; r); t0))
else if s = (s1; : : : ; sn) and t = (t1 ; : : : ; tm ) ....
Comment analogous as in the direct product case | we skip this part
otherwise st 2 Irr(R)
return(CONCAT(s; t))
end Method
Seien s und t die Eingaben. Existiert eine Faktorisierung, so da ein Prax einer linken
Seite ein Sux von s und das zugehorige Sux dieser linken Seite ein Prax von t ist,
dann werden die entsprechenden Quotienten und Konkatenationen durchgefuhrt, um
dieses Vorkommen zu ersetzten. Existiert keine solche Faktorisierung, so wird eine entsprechende berechnet, indem Teile von t an s bzw. Teile von s an t konkateniert werden.
Im Falle eines direkte Produktes ist die Beschreibung dieser Berechnung ausgefuhrt. Der
atomare Fall ist trivial, und bei freien Produkten verfahrt man entsprechend. Existiert
keine Faktorisierung dieser Art, so ist der Spurterm s t irreduzibel und wir konnen die
Konkatenation als Resultat ausgeben.
Lemma 34 Seien s; t 2 h(M ) und R ein noethersches Ersetzungssystem. M ist ein
Cographen-Monoid.
73
(i) Der Resultatterm h(t0 ) von CONCATandREDUCE(s; t) ist ein korrekt beschrifteter Spurterm.
(ii) Es gilt h 1 (s) h 1 (t) =)
R t0 .
(iii) Aus h 1(s) 2 Irr(R) folgt t0 2 Irr(R).
Beweis: Seien s und t wie oben Spurterme gleicher Struktur. Da nur die oben ein-
gefuhrten Operationen und CONCATandREDUCE auf s und t angewendet werden ist
das Resultat mit Induktion uber die Anzahl der Transformationen CONCAT, SPLIT,
PROJECT, COMPOSE, FACTORIZE, rightQUOTIENT und leftQUOTIENT mit den
vorhergehenden Lemmata wieder ein korrekt beschrifteter Spurterm.
Die verbleibenden Behauptungen zeigen wir simultan. Ist die Bedingung der ersten Verzweigung erfullt, so ist das Resultat ein Derivat von s t:
^
st = s0l1l2 t0 = s0 lt0 =)R s0rt0 =)
Rt
Der U bersichtlichkeit wegen identizieren wir t mit h(t). Da jeder Rechtsquotient einer
irreduziblen Spur wieder irreduzibel ist, bleibt das erste Argument irreduzibel, und wir
erhalten die dritte Aussage.
Besteht die Eingabe aus zwei -Termen s = (s1 ; : : : ; sk ) und t = (t1 ; : : : ; tk ). Dann
nden wir nach Lemma 24 einen Faktor (l1; : : : ; lk ) genau dann, wenn fur alle i 2 [k]
sich die Komponenten h 1 (si ti) = uilivi faktorisieren lassen. Nach Wahl der linken
Seite wird eine Faktorisierung gefunden so, da das erste Argument irreduzibel bleibt.
Das kann beispielsweise via FACTORIZE geschehen. Durch eine erschopfende Suche,
in der uber alle linken Seiten, die als Faktoren vorkommen, variiert wird, lat sich in
logarithmischer Zeit eine Faktorisierung u l v mit u 2 Irr(R) nden. Man Beachte, da
in konstanter Zeit entschieden werden kann, ob ein beschrifteter Term irreduzibel ist.
Damit bleibt das erste Argument irreduzibel, wenn s und t -Terme sind. Das Resultat
ist ebenfalls ein Derivat:
0 10 1
0 1
0 0 1 0 00 1
s1
t1
v1
v1
v1
B
C
B
C
B
C
B
C
B
.
.
.
.
@ .. A @ .. A = @ .. A = @ .. A @ ... CA =
0
00
0 sk0 1 1 t1k 0 2 1 00 v1k
0 0 v1k 1 1 v0k 2 1 00 1
B@ v1(l...1 ) CA l B@ (l1 ) ... v1 CA =)R B@ v1(l...1 ) CA r B@ (l1 ) ... v1 CA
vk0 (lk1 ) 1
(lk2 ) 1vk00
vk0 (lk1 ) 1
(lk2 ) 1vk00
Fur -Terme und atomare Terme fuhren wir den Beweis nicht aus.
Korollar 11 Sei t 2 M eine Spur, dann gilt fur den resultierenden Spurterm
h(t^) = CONCATandREDUCE(1; h(t));
t^ 2 Irr(R).
t =)
R
74
Bemerkung 6 Wir hatten die Spuren zuerst konkatenieren konnen, und auf der so
entstandenen Spur ware ein sukzessives Reduzieren moglich gewesen. Diese Darstellung
verdeutlicht jedoch die Problematik des Aundens eines einer Faktorisierung u l v im
Falle eines direkten Produkts. Man beachte die rekursiven Verechtungen bei der Berechnung einer Faktorisierung . Die "gierige\ Vorgehensweise bei diesem Entwurf ahnelt der
von Books Algorithmus. Auerdem kann die selbe Methode auch zur Konstruktion der
Datenstruktur genutzt werden.
Verwendet man die Methode FACTORIZE, so wird der Algorithmus sehr viel ubersichtlicher und der Korrektheitsbeweis nahezu trivial.
PROCEDURE REDUCE+(t)
Comment Input: trace representation.
Output: the representation of the normal form.
Method
while 9l 2 LR with (l = l1 : : : lm and Ll (t) 6= ; or
l = (l1; : : : ; lk ) and l 2 L(t) =
6 ;)
and l ! r 2 R do
hu; vi FACTORIZE(l; t)
let l = l1l2 with l1 2 P (u) and l2 2 S (v)
s CONCAT(leftQUOTIENT(u; l1); r)
t CONCAT(rightQUOTIENT(s; l2); v)
end while
return(t)
end Method
Lemma 35 Die Methode CONCATandREDUCE(h(s); h(t)) = h(t0 ) benotigt maximal
O(n) primitive Operationen, wobei n die maximale Anzahl der Ersetzungen st =n)R t0
ist.
Beweis: Bei jedem Aufruf von CONCATandREDUCE wird, falls existent, l in st durch
r fur eine Regel l ! r 2 R ersetzt. Dazu sind nur konstant viele komplexe Elementar-
operationen notwendig.
Wir erhalten damit das folgende Komplexitatsresultat.
Theorem 14 Sei (; D) ein Cographen-Abhangigkeitsalphabet und R ein noethersches
Ersetzungssystem uber M = M (; D). Dann kann fur eine Spur t 2 M eine Links t^ in O(d log d ) berechnet werden.
Derivation t =)
R
R
R
Korollar 12 Sei (; D) ein Cographen-Abhangigkeitsalphabet und R ein gewichtsreduzierendes Ersetzungssystem uber M = M (; D). Dann kann fur eine Spur
t^ in O(jtj log jtj) berechnet werden.
t 2 M eine Links-Derivation t =)
R
75
Man beachte, da mit diesem Algorithmus auch Ersetzungssystem mit nicht-zusammenhangenden linken Seiten bearbeitet werden konnen.
Bemerkung 7 Dieses Resultat lat sich auf dekomponierbare Abhangigkeitsalphabete
verallgemeinern. Die Behandlung der Spuren uber nuklearen Alphabeten ist bei allen Algorithmen in der Worttupel-Reprasentation dann innerhalb der angegebenen Zeitgrenzen
moglich.
Theorem 15 Sei (; D) ein Abhangigkeitsalphabet und R ein noethersches Ersetzungssystem, so da M = M (; D) dekomponierbar ist. Dann kann fur eine Spur t 2 M jede
^
Links-Derivation t =)
R t in O(dR log dR ) berechnet werden.
Wie schon oben bemerkt lat sich diese Version des Reduktionsalgorithmus so modizieren, da jede beliebige Faktorisierungssequenz frei gewahlt werden kann. D.h. speziziert
durch Zugrispfade ist die freie Auswahl der Vorkommen und die Auswahlfreiheit bei
den durch die Vorkommen induzierten Faktorisierungen in einer Derivation
t = u1l1v1 =)R u1r1 v1 = u2l2 r2 =)R =)R un 1rn 1vn 1 = unlnvn =)R t^;
moglich.
Theorem 16 Sei (; D) ein Abhangigkeitsalphabet und R ein noethersches Ersetzungssystem so, da M = M (; D) dekomponierbar ist. Dann kann fur eine Spur t 2 M jede
t^ in O(d log d ) berechnet werden.
irreduzible Form t =)
R
R
R
8.6 Ein Linearzeit-Reduktionsalgorithmus
Nutzen wir die spezielle Struktur der Abhangigkeitsalphabete bzw. die der Spurdarstellungen, so kann eine irreduzible
Form in linearer Zeit berechnet werden kann. Genauer
kann eine Derivation t =n)R t^ 2 Irr(R) in O(n) Zeiteinheiten berechnet werden kann.
Bei dem vorhergehenden Ansatz besaen die Operationen SPLIT sowie CONCAT, rightQUOTIENT, leftQUOTIENT und FACTORIZE logarithmische Zeitkomplexitat. Diese
resultierte aus der Laufzeit von SPLIT, wegen der Verwaltung der Beschriftungen Ld
in N -Baumen. Das war notwendig, da die Listen geordnet aufgeteilt werden muten,
um die Invariante "Resultate sind korrekt beschriftet\ aufrecht erhalten zu konnen. Die
zeitintensive Operation
ist also das Zerteilen der Spur bzw. das Aufrechterhalten der
Beschriftungen. Dieses Problem umgehen wir, indem die Beschriftungen noch enger an
die Term- bzw. Baumstruktur gekoppelt werden.
Der modizierte abstrakte Datentyp
Wir entwickeln in diesem Abschnitt Datenstrukturen und Primitiven, um einen linearen
Normalform-Algorithmus zu formulieren. Dazu modizieren wir die Beschriftung leicht.
76
Wir nennen einen Spurterm t schwach beschriftet, wenn alle Subterme schwach beschriftet sind und, falls t selber ein -Term ist, t die Beschriftung L(t) tragt (siehe Abschnitt
8.2). Die fehlenden Beschriftungen konnen in konstanter Zeit dynamisch berechnet werden, wenn Pradikate der Form Ld ((t1 ; : : : ; tn)) 6= ; in konstanter Zeit entschieden
werden konnen.
Lemma 36 Sei t = (t1 ; : : : ; tk ) ein schwach beschrifteter -Term so, da die Pradikate Ld (ti ) =
6 ; fur alle i 2 [k] und alle d 2 Dec(R) in konstanter Zeit entschieden
werden konnen. Dann kann die Beschriftung L(t) in konstanter Zeit berechnet werden.
Beweis: Die Menge
L(t) = fd 2 Dec(R) j h(d) = (d1 ; : : : ; dk ); 8i 2 [k] : di 6= 1 ) Ldi 6= ;g
enthalt hochstens O(jDec(R)j) = O(1) viele Elemente, deren Darstellung die konstante
Groe O(maxfjlj j l 2 LR g) = O(1) besitzt. Der Test Ldi =
6 ; kann iteriert fur alle
i 2 [k] in konstanter Zeit durchgefuhrt werden.
Als Datenstruktur verwenden wir fur Terme wieder Baume. Praziser verwenden wir
Baume mit drei Knotensorten: Mit oder assoziierte innere Knoten und mit Wortern
aus a , a 2 assoziierte Blatter. Die -Knoten haben eine durch das entsprechende
direkte Produkt bestimmte konstante Anzahl von Kindern, denn die bei dem Produkt
involvierten Alphabete sind disjunkt. Damit ist die maximale Anzahl der Kinder (in
diesem Fall jj) unabhangig von der zu reduzierenden Spur. -Knoten konnen mehr
als O(1) Kinder besitzen. Die Anzahl dieser Kinder ist nur linear in der Lange der zu
reduzierenden Spur beschrankt. Die Baume besitzen wie die Terme konstante Tiefe und
die Deskriptionen haben konstante Groe.
Die Elemente i 2 Ld (t) einer L-Beschriftung eines Spurterms
t = (t1 ; : : : ; tn)
stellen wir als Verweise auf den i-ten Subterm ti dar. In der folgenden Abbildung ist die
Zeigerstruktur fur einen -Knoten illustriert. Man beachte, da die Ordnung in der Liste
Ld , d 2 Dec(R) verloren gehen kann, und da ein Subterm, der den Faktor d enthalt,
in O(1) Zeiteinheiten gefunden werden kann.
Ld
1
...
3
(n 2)
n
...
t1
t2
tn
77
1
tn
Um Faktoren in der Spur darzustellen, haben wir schon in fruheren Kapiteln VorkommenMorphismen und Positionen in Worttupeln kennengelernt. Der Positionsbegri fur diese
Reprasentation orientiert sich (wie auch die Darstellung durch Terme) an der Dekomposition des Abhangigkeitsalphabetes.
Sei (; D) das Abhangigkeitsalphabet und Dec(; D) = f(i; Di) j i 2 [k]g die Dekomposition. Unter einem Vorkommenbaum fur d 2 Dec(R) (bzgl. (; D)) verstehen
wir den den Term h(d) reprasentierenden Baum p. D.h. der den folgenden Bedingungen
genugende Baum.
(i) Gilt (; D) = i2[k](i ; Di) und besitzt d die Form (d1; : : : ; dk ), so besitzt p eine
Wurzel mit k Sohnen, und der i-te Sohn ist die Wurzel eines Vorkommenbaums
von di bzgl. (i; Di) fur alle i 2 [k].
(ii) Gilt (; D) = i2[k](i; Di) und besitzt d die Form (d1; : : : ; dm), so besitzt p eine
Wurzel mit m konsekutiven Sohnen (in t), und der j -te Sohn ist die Wurzel eines
Vorkommenbaums von dj bzgl. des entsprechenden Abhangigkeitsalphabetes fur
alle j 2 [m].
(iii) Ist (; D) nuklear (atomar), so besteht p aus einem Knoten.
Ein (Baum-)Vorkommen i : l ! t von d in einem Spurterm reprasentierenden Baum t
ist ein Vorkommenbaum d, der via Referenzen zu einem zu ihm isomorphen Unterbaum
von t gebunden ist, so da bei l = (l1; : : : ; lm ) l1 linkspassend und lm rechtspassend ist,
falls m > 1. Dieser Teilbaum reprasentiert den Faktor d.
t
d
Ein rechtspassendes Vorkommen ist ein Suxvorkommen. Entsprechend ist ein linkspassends Vorkommen ein Praxvorkommen. Damit besitzt ein rechtspassendes Baumvorkommen j : d ! t keinen unreferenzierten -Knoten als Bruder, der sich rechts von
einem referenzierten Knoten bendet. Alle Teilbaume, die sich rechts von einem referenzierten -Knoten benden, sind dann vollstandig referenziert. Genauer ist das Vorkommen (d1; : : : ; dm) ! (t1; : : : ; tn) rechtspassend, wenn d1 = t1 ; : : : ; tm 1 = dm 1 und
dm ! tm rekursiv rechtspassend ist. Das Vorkommen (d1; : : : ; dk ) ! (t1 ; : : : ; tk )
ist rechtspassend, wenn alle Vorkommen di ! ti, i 2 [k] rechtspassend sind. Analog
dazu behandelt man linkspassende Baumvorkommen j : d ! t.
Anders formuliert sei i : l ! t ein Faktorvorkommen, dann korrespondieren die
Blattern in diesem Teilbaum mit den Elementen aus i(l). Die Knoten von einem Vorkommen i : d ! t sind mit entsprechenden L-Beschriftungen assoziiert. Genauer gilt
78
fur d = (d1 ; : : : ; dk ), da ein Verweis auf i(dj ) in Ldj (tj ) mit t = (t1 ; : : : ; tk ) existiert.
Fur einen -Term d = (d1; : : : ; dm) ndet sich der Verweis auf die Wurzel von i(d) in
Ld (t) wieder. Ist also ein Spurterm schwach beschriftet, dann lat sich in konstanter Zeit
ein Vorkommen von d 2 Dec(R) identizieren.
Lemma 37 Sei t ein schwach beschrifteter Spurterm in der oben beschriebenen Reprasentation. Dann kann ein Baumvorkommen i : d ! t in konstanter Zeit ermittelt
werden.
Beweis: Gilt t 2 a (der atomare Fall), so ist die Aussage trivial.
Falls t = (t1 ; : : : ; tk ) ein -Term ist mit d = (d1; : : : ; dk ) 2 L(t), so besitzt t den
Faktor d. Man beachte, da unter Verwendung der Aussage aus dem vorhergehenden
Lemma dieses Pradikat in konstanter Zeit entschieden werden kann. Dann besitzen die
Terme ti die Faktoren di und es konnen in konstanter Zeit die Vorkommenbaume fur
di ! ti berechnet werden. Diese lassen sich zu einem Vorkommenbaum in konstanter
Zeit kombinieren, siehe Lemma 24.
Falls t = (t1; : : : ; tn) ein -Term mit Ld (t) 6= ; ist, so enthalt t den Faktor d. Wir
unterscheiden die zwei Falle d = (d1) und (d1; : : : ; dm) mit m > 1. Sei i 2 Ld (t) ein
Verweis auf den Term ti. Im ersten Fall erzeugen wir eine Wurzel mit der entsprechenden Referenzierung, an der wir ein Vorkommenbaum von d ! ti anhangen. Dieser lat
sich rekursiv mit konstantem Aufwand berechnen. Im zweiten Fall berechnen wir den
Teilbaum von ti , der das Sux d1 reprasentiert. Dieses mu existieren, da i 2 Ld (t).
Das ist mit der Methode, die im Beweis von Lemma 25 beschrieben wird, in konstanter
Zeit moglich. Analog identizieren wir den Teilbaum, der zu dem Prax dm in ti+m 1
korrespondiert. Damit erhalten wir den rechtspassenden und den linkspassenden Vorkommenteilbaum. Der Vorkommenteilbaum setzt sich dann aus einer Wurzel und den
Baumen, die den Termen tj fur i < j < i + m 1 entsprechen, sowie dem rechts- und dem
linkspassenden Vorkommenteilbaum, zusammen, siehe Lemma 24. Von den so ermittelten m konsekutiven Baume werden Kopien erzeugt, die ihre Originale (knotenweise)
referenzieren. Die Kopien werden ihrem Index nach geordnet unter die auf den Vater
von tj verweisende Wurzel gehangt. Alle diese Operationen erfordern konstante Zeit, da
Zeigerstrukturen zwischen Beschriftungen und Baumteilen die entsprechenden Zugrie
ermoglichen. Die berechnete Struktur besitzt ebenfalls konstante Groe. Die Anzahl der
Invokationen ist durch jj beschrankt.
Beispiel 7 Sei (; D) = a (b (c d)) = [a c b d]. und
t = (a3 ; (b2 ; (c3; d2); b3; (c2 ; d4))):
Weiter sei l = [abcd] eine linke Seite. Damit ist
Dec(l) = fa; b; c; d; cd; bcd; abcdg:
Wir erhalten den reprasentierenden Baum
79
Lc
2
4
a3
b2
c3
b3
d2
Lbcd
1
3
c2
d4
Es sind nicht alle Beschriftungen dargestellt. Der mit punktierten Linien markierte Teilbaum ist ein nicht linkspassendes Vorkommen von l. Man beachte das zweite b. Der mit
gestrichelten Linien markierte Baum ist kein Vorkommen.
Da wir nicht mit Konkatenations- bzw. Faktorisierungsoperationen arbeiten, benotigen
wir einen Mechanismus, um die Datenstruktur (lokal) zu modizieren. Hierzu fuhren
wir ein Positionskonzept ein.
Eine Position p in einer Baumreprasentation t ist eine Baumstruktur, die eine Faktorisierung u v beschreibt. Genauer ist eine Position ein Unterbaum in t mit folgenden
Eigenschaften:
(i) Gilt t = (t1 ; : : : ; tk ), so ist die Wurzel von t die Wurzel von p, und p besitzt k
Kinder, wobei fur alle i 2 [k] das i-te Kind die Wurzel einer Position in ti ist.
(ii) Gilt t = (t1 ; : : : ; tn), so besteht p aus einem Knoten, der die Wurzel eines Teilbaums ti , i 2 [n] referenziert, oder p ist eine Position in ti.
(iii) Ist t nuklear (atomar), so ist p ein Blatt, das mit einer Faktorisierung u v von t
beschriftet ist.
Jede Position beschreibt eine Faktorisierung eindeutig. Praziser, jedes einen -Term
(t1 ; : : : ; tn) referenzierende Blatt, das den Subterm ti, i 2 [n] referenziert, beschreibt die
Faktorisierung (t1; : : : ; ti) (ti+1; : : : ; tn). Jeder -Knoten beschreibt die Faktorisierung durch die Faktorisierungen der einzelnen Komponenten. Bei Cographen-Monoiden
sind die Positionen in Atomen an Faktorisierungen ai bj mit i + j = n. Diese lassen sich
einfach durch Stringpositionen reprasentieren.
Die primitiven Operationen
Bis jetzt haben wir die statische Termstruktur mit der Beschriftung betrachtet. In diesem
Abschnitt beschreiben wir, wie diese Strukturen erzeugt und modiziert werden konnen.
Dazu fuhren wir die zwei Basisoperationen INSERT und DELETE mit der folgenden
Semantik ein. Sei p eine Position in t, a 2 ein Buchstabe und t die zu modizierende
Datenstruktur.
80
(i) Dann berechnet INSERT(a; t; p) eine schwach beschriftete Struktur t0 , in der nach
der durch p beschriebenen Position ein a eingefugt wird. Genauer, wenn in der Position p ein Pfad zu einem Blatt an in t existiert, so wird dieses Blatt zu an+1 durch
Anfugen eines Symbols a geandert, und die Beschriftungen sowie die Position werden entsprechend aktualisiert. Ist kein Blatt mit dieser Beschriftung vorhanden, so
beschreibt die Position eineindeutig, an welche Stelle das a eingefugt werden mu.
Ist ein neues Blatt generiert worden, so wird die Position entsprechend angepat,
da sie dieses neue Blatt auch referenziert.
(ii) Dual berechnet DELETE(a; t; p) eine schwach beschriftete Struktur t0, in der an
der durch p beschriebenen Position das Blatt an durch an 1 ersetzt wurde. Genauer existiert in p ein Pfad zu einem Blatt an in t. Dieses Blatt wird auf an 1 durch
Entfernen eines as geandert, und die Beschriftungen werden entsprechend der Denition aktualisiert. Wir fordern, da p ein Blatt an mit n > 0 referenziert. Mu
ein Blatt entfernt werden, d.h. n = 1, so wird die Position entsprechend angepat.
INSERT
Wir beschreiben die Operation INSERT in der gewohnten Notation. Der Algorithmus
geht wie folgt vor: Zuerst wird die Stelle uber die Position identiziert, an der das a
eingefugt werden soll. Falls die Position nicht direkt auf ein Blatt verweist, so wird
ein entsprechender Teilbaum erzeugt. Leere Teilbaume reprasentieren das neutrale Element im entsprechenden Submonoid. Ist das a eingebaut, so werden die Beschriftungen
bottom-up korrigiert.
PROCEDURE FIND(a; t; p)
Comment Input: weakly labeled trace representation,
a letter a and a position p.
Output: an a -labeled leaf in t and a position.
Method
let v be the root of p.
if v has a child and the alphabet corresponding
to this child contains the letter a then
let v0 be this child
let t0 the v0-referenced subtree of t
hp0; li FIND(a; t0; p0)
replace the v0-rooted subtree of p by p0
return(p; l)
else if t = (t1; : : : ; tn) then
let ti be the p-referenced subterm
if the alphabet corresponding to ti+1, i < n contains a
then create position v0 referencing on ti+1
hp0; li FIND(a; ti+1; v0)
replace child of v by the tree p0
else create a new tree t0i between ti and ti+1
81
create position v0 referencing on t0i
hp00 ; li FIND(a; t0; v0)
let p be the position with root v0
where the root of p00 is the child of v0
end if
return (hp; li)
else if t = (t1 ; : : : ; tk ) then
let v0 be the child of v where the alphabet contains a
let ti be the v0 referenced subtree of t
let p00 be v0-rooted subtree of p
hp0; li FIND(a; ti; p00 )
replace the subtree p00 by p0 in p
return (hp; li)
otherwise if there is no a labeled leaf
then create the leaf l labeled by a0 and
let p be the position of this leaf
else let l be this leaf
end if
end Method
end if
return (hp; li)
Beim Abstieg in dem Positionsbaum wird man durch das vom Subterm induzierte
Abhangigkeitsalphabet gefuhrt. Dabei verstehen wir hier unter dem von einem Term
h(t) induzierten Alphabet das Indexalphabet (; D) des Homomorphismus h = h(;D) .
Wenn eine Position einen Subterm ti in einem -Term t = (t1; : : : ; tn) referenziert und
das von ti induzierte Alphabet den Buchstaben a enthalt, so ndet man das gesuchte
Blatt in ti. Enthalt das induzierte Alphabet den Buchstaben nicht, aber das von ti+1
induzierte Alphabet, so ndet man das Blatt in ti+1 . Ansonsten mu ein neuer Subterm
bzw. Unterbaum t0i nach ti und, falls ti+1 existiert, vor ti+1 eingebaut werden. Das Resultat ist dann ein -Term (t1 ; : : : ; ti; t0i; ti+1; : : : ; tn) und die Position mu so verandert
werden, da sie t0i referenziert. Die Erweiterung der Position um die Referenzen auf t0i
konnen rekursiv erfolgen.
Referenziert die Position einen -Term (t1 ; : : : ; tk ), so existiert ein Subterm ti, dessen
induziertes Alphabet den Buchstaben a enthalt. Dieser kann rekursiv nach dem Blatt
durchsucht werden.
Damit sind wir in der Lage, die Primitive INSERT zu formulieren.
PROCEDURE INSERT(a; t; p)
Comment Input: weakly labeled trace representation t,
a letter a, and a position p.
Output: trace weakly labeled representation where the a
is inserted at position p and a modied position.
82
Method
hp; vi FIND(a; t; p)
replace the label an of leaf v by an+1
while v is not the root of t do
v0 v
v father of v0
if v is corresponding to a -term t0 = (t1; : : : ; ti; : : : ; tn) then
let ti corresponding to v0
for all d 2 Dec(R) where h(d) = (d1; : : : ; dm)
for the recursion of h corresponding to t0 do
if m = 1
then reconstruct L(ti) with Lemma 36
if d 2 L(ti )
then create a reference to ti in Ld (t0)
if there is none
else delete the reference to ti in Ld(t0 )
if there is one
end if
else (when m > 1)
for all 1 j m do
if d1 2 Su(t1 : : : ti j ) and
d2 : : : dm 2 Pref(ti j+1 : : : tn)
then create a reference to ti j in Ld (t0)
if there is none
else delete the reference to ti j in Ld (t0)
if there is one
end if end for end if end for end if
end while
return (ht; pi)
end Method
Die Beschriftungsinformation wird hier fur alle Baumknoten, die sich in der "Nahe\
eines Pfadknoten benden, aktualisiert. "Nahe\ bedeutet hier in einer Umgebung der
Distanz m = O(1), wobei die Distanz die Entfernung von zwei Geschwistern in der
reprasentierenden Baumstruktur ist. Wir stellen einen inneren Knoten durch eine geordnete doppelt verkettete Liste wie in der Zeichnung dar. D.h. die Distanz zwischen
zwei Geschwistern ist die Lange der sie verbindenden Liste.
Damit konnen in dieser Struktur quasi benachbarte Knoten im Redukt des Abhangigkeitsgraphen in der in Kapitel 5 erwahnten Metrik sehr weit voneinander entfernt sein,
83
ohne da die Struktur quadratischen Platz benotigt. Wir konnen das folgende Resultat
zeigen.
Lemma 38 Sei t eine Spurreprasentation mit einer Position p, die die Faktorisie-
rung uv reprasentiert. Dann berechnet INSERT(a; t; p) eine schwach beschriftete Spurreprasentation von uav = t0 . Die modizierte Position reprasentiert danach die Faktorisierung u0v mit u0 = ua.
Beweis: Die Stelle, an der das a eingefugt werden soll, wird top-down mit FIND be-
rechnet. Verweist die Position auf ein mit an beschriftetes Blatt in t, so wird diese Blatt
in FIND durch Absteigen gefunden. Jedem Term in t 2 h(M ) in t kann eineindeutig
das Abhangigkeitsalphabet (; D) zugeordnet werden, das der Rekursionsinvokation des
Homomorphismus h = h(;D) entspricht. Damit ist auch mit jedem inneren Knoten v
das vom Term, der durch den Teilbaum mit Wurzel v reprasentiert wird, induzierte
Alphabet assoziiert.
Existiert kein Pfad in der Position, der an einem a-beschrifteten Blatt endet, so wird
fur die Kette von Abhangigkeitsalphabeten in Dec(; D), die bei (; D) beginnt und zu
(fag; f(a; a)g) absteigt, ein Pfad in t zu einem mit a0 beschrifteten Blatt kreiert. Dabei
wird gleichzeitig der Termbaum und die Position entsprechend erweitert.
Danach wird dem Blatt ein a angefugt. An dieser Stelle im Algorithmus reprasentiert
der Baum t = uv die Spur, an der durch die Position p beschriebene Stelle, ein Blatt
eingefugt wurde. Damit reprasentiert der Resultatterm uav. Nur die Beschriftung ist
jetzt noch inkonsistent.
In der while-Schleife in dem Algorithmus wird die L-Beschriftung wieder hergestellt.
Wir zeigen dazu die folgende Invariante: Der dem Subterm t0 entsprechende Teilbaum,
also der Teilbaum mit der Wurzel v, ist schwach beschriftet.
Beim Betreten der Schleife ist die Invariante erfullt, v ist dann ein Blatt, und Blatter
sind nicht beschriftet. Ist t0 ein -Term, so ist t0 bereits schwach beschriftet. Wenn
t0 = (t1; : : : ; tn), also t0 ein -Term ist, dann bleiben alle Beschriftungen Ld(t0 ) \ [i m]
und Ld (t0) \ fj 2 [n] j j > ig erhalten, wobei ti der Subterm ist, in dem das a eingefugt
wurde und m die Aritat von d = (d1; : : : ; dm), dem betrachteten Element d 2 Dec(R),
ist. Diese Subterme bzw. die korrespondierenden Baume tk , k 2 [n] sind alle schwach
beschriftet. Fur die Stellen (i m); : : : ; i werden die Ld -Beschriftungsinformationen
entsprechend der Denition von Ld fur alle d 2 Dec(R), die vorkommen konnen, neu
berechnet. Damit ist der ganze Term t0 schwach beschriftet.
Beim Verlassen der while-Schleife ist v der Wurzelknoten. Damit ist der gesamte Baum,
d.h. das Resultat, schwach beschriftet.
Die verwendete Datenstruktur ermoglicht dies sogar in O(1) Zeiteinheiten, denn alle
involvierten Pradikate lassen sich in O(1) Zeiteinheiten entscheiden und die Anzahl der
Iterationen bzw. Inkarnationen ist durch O(jj jDec(R)j maxfjlj j l 2 LR g) = O(1)
beschrankt.
84
DELETE
Analog formulieren wir die Operation DELETE. Hier verlangen wir jedoch, da die
Position einen Pfad besitzt, der in einem Blatt endet, das auf an in t verweist.
PROCEDURE DELETE(a; t; p)
Comment Input: weakly labeled trace representation,
Method
a letter a, and a position p.
Output: weakly labeled trace representation where the a
is deleted at position p and a modied position.
decent the path in t (given by p) ending at an a-labeled leaf
replace the leaf an+1 by an
let v be this leaf
if n = 0 then
while v is not the root of t and v has no child do
v0 father of v
purge v in t and the corresponding references in i
v v0
end while
restore the reference in i
end if
while v is not the root of t do
v0 v
v father of v0
if v is corresponding to a -term t0 = (t1; : : : ; ti; : : : ; tn) then
let v0 corresponding to ti
for all d 2 Dec(R) where h(d) = (d1; : : : ; dm)
for the recursion of h corresponding to t0 do
if m = 1
then reconstruct L(ti) with Lemma 36
if d 2 L(ti )
then create a reference to ti in Ld (t0)
if there is none
else delete the reference to ti in Ld(t0 )
if there is one
end if
else (when m > 1)
for all 1 j m do
if d1 2 Su(t1 : : : ti j ) and
d2 : : : dm 2 Pref(ti j+1 : : : tn)
then create a reference to ti j in Ld (t0)
if there is none
else delete the reference to ti j in Ld (t0)
if there is one
85
end if
end for
end if
end while
return (ht; pi)
end Method
end if
end for
Wir entfernen ein a aus t an der Position analog wie wir ein Blatt einfugen. Lediglich die
Fortsetzung des Zugrispfades mu durch eine Verkurzung dieses Pfades ersetzt werden,
wenn Knoten aus t entfernt werden mussen.
Lemma 39 Sei t eine Spurreprasentation mit einer Position p, die auf ein mit an
beschriftetes Blatt verweist und damit eine Faktorisierung uav darstellt. Dann berechnet
DELETE(a; t; p) eine Spurreprasentation t0 = uv, in der das a entfernt wurde. p wird
entsprechend modiziert, so da die Position danach die Faktorisierung uv darstellt.
Das Resultat t0 ist schwach beschriftet.
Auch diese Methode besitzt eine konstante Zeitkomplexitat. Fassen wir diese Teilresultate zusammen, so erhalten wir das folgende Theorem.
Theorem 17 Sei (; D) ein Cographen-Abhangigkeitsalphabet und R ein noethersches
Ersetzungssystem uber M = M (; D). Dann existiert ein Algorithmus, der fur eine Spur
t^, in O(d ) Zeiteinheiten berechnet.
t 2 M eine Normalform t^ 2 Irr(R), t =)
R
R
Beweis: Wir haben bereits gezeigt, wie ein Faktorvorkommen in konstanter Zeit berech-
net werden kann und wie einzelne Buchstaben aus der darstellenden Struktur entfernt
bzw. eingefugt werden konnen. Es reicht also aus einen Algorithmus zu beschreiben, der
in konstanter Zeit eine bereits durch einen Vorkommenbaum identizierte linke Seite
einer Regel l ! r 2 R durch die rechte Seite r ersetzt.
Dabei gehen wir wie folgt vor. Zuerst entfernen wir buchstabenweise alle Teile der linken
Seite, auf die der Vorkommenbaum verweist. Die zuletzt berechnete Position nutzen wir,
um an dieser Stelle die rechte Seite einzufugen. Dieses Vorgehen wird so lange iteriert
bis der Resultatterm bzw. Resulatbaum irreduzibel ist.
Wir deklarieren die Operation REPLACE, die das Gewunschte leistet.
FUNCTION REPLACE(i; l; r; t)
Comment Input: a trace representation t = ulv,
a tree occurrence i of l in t,
and a right-hand side with l ! r 2 R,
Output: the representation of a trace urv
according to the semantic.
86
Method
let p be the position of the minimal letters of the
occurrence uniquely extended by minimal letters of t
while l 6= 1 do
let a be a minimal letter in l = al0
if there is no path in p ending in an a -labeled vertex
then extend the position to one pointing on such a leaf
end if
ht; pi DELETE(a; t; p)
l
l0
r0
r00
end while
let r0 be a copy of r
while r0 =6 1 do
let a be a minimal letter in r0 = ar00
ht; pi INSERT(a; t; p)
end while
return (t)
end Method
Die Invarianten der Schleifen sind oensichtlich. Bei der ersten while-Schleife kann die
die Position p nur auf minimale Buchstaben von l oder minimale Buchstaben von v mit
t = ulv verweisen. Es werden nur Buchstaben entfernt, auf die i verweist. Es gilt damit
t = u l0 v wenn t = u l v die Eingabe war und i das Vorkommen ist, das diese
Faktorisierung induziert. Nach Verlassen der while-Schleife ist die Reprasentation von
uv berechnet, und die Position stellt diese Faktorisierung dar. Die zweite while-Schleife
besitzt die Invariante t = u r000 v, wobei r000 der Quotient r0 1 r ist.
Damit kann in konstanter Zeit ein Derivationsschritt nachvollzogen werden. Wir erhalten
die Aussage.
Korollar 13 Sei (; D) ein Cographen-Abhangigkeitsalphabet und R ein gewichtsreduzierendes Ersetzungssystem uber einem Cographen-Monoid M = M (; D). Dann kann
fur eine Spur t 2 M eine Normalform t^ 2 Irr(R) in O(jtj) berechnet werden.
Bemerkung 8 Mit dieser Version des Reduktionsalgorithmus kann nicht mehr jede
Faktorisierung gewahlt werden. (Es ist kein Zugri mehr auf ein beliebiges Listenelement vorhanden.) Auch lat sich keine Information uber die Position der ersetzten Faktorvorkommen relativ zueinander ohne linearen Suchaufwand ermitteln. So kann man
beispielsweise nicht zusichern, eine Links-Derivation
t = u1l1v1 =)R u1r1 v1 = u2l2 r2 =)R =)R un 1rn 1vn 1 = unlnvn =)R t^;
mit t^ 2 Irr(R) und ui 2 Irr(R) fur alle i 2 [n] zu berechnen.
87
Wir haben uns in der Darstellung auf Cographen-Monoide eingeschrankt. Aber auch
hier ist die Verallgemeinerung auf dekomponierbare Monoide moglich. Das fuhrt zur
folgenden Verallgemeinerung von Books Resultat.
Theorem 18 Sei (; D) ein Abhangigkeitsalphabet und R ein noethersches Ersetzungssystem uber M = M (; D) so, da M dekomponierbar ist. Dann existiert ein Algo
rithmus, der fur eine Spur t 2 M eine Normalform t^ 2 Irr(R), t =)
R t^, in O(dR )
Zeiteinheiten berechnet.
88
9 Ausblick
Wir haben eine Vielzahl von Reduktionsalgorithmen fur Spurersetzungssysteme vorgestellt. Darunter waren sogar einige linear | also optimal. Die auf den C -Baumen basierenden Algorithmen besitzen die etwas schlechtere Zeitkomplexitat "O(dR log dR)\.
Sie sind jedoch wesentlich ezienter als die auf endlichen Automaten basierenden quadratischen Methoden. Man kann sich diese Ezienzsteigerung am Beispiel "Sortieren
durch Vergleichen\ veranschaulichen.
Die Verbesserung der Zeitschranke entspricht der Ezienzsteigerung beim Ersetzten von
Insertionsort durch beispielsweise Heapsort. Die linearen Reduktionsalgorithmen konnen
beide als eine Verallgemeinerung des Reduktionsalgorithmus von Book betrachtet werden.
Oen bleibt die Existenz von ezienteren bzw. allgemeineren Methoden. In den hier
betrachteten Klassen basierte die Losung auf einer adaquaten Reprasentation von Spuren. Eine Algorithmus, der den allgemeinen unzusammenhangenden Fall auch abdeckt
konnte beispielsweise auf Darstellungen, wie sie im Anhang beschrieben sind, aufbauen.
Die Kardinalitatsresultate und die Intervallbeschreibungen sind ein Indiz fur subquadratische Algorithmen.
Eine Verallgemeinerung des Reduktionsalgorithmus aus Kapitel 5 konnte auf Baumen
mit verteilten Intervallbeschriftungen, die zur Intervallrelation I korrespondieren, basieren. Vermutlich lassen sich diese Baume so verwalten, da die Kombinationsrelation r
dynamisch rekonstruierbar bleibt (vermutliche Komplexitat O(dR log dR log log dR )).
Eine auch fur die Applikationen nicht zu vernachlassigende Fragestellung ist: Welche
konstanten Faktoren verbirgt die O-Notation oder inwieweit sind die angegebenen Resultate fur Applikationen, wie sie in der Einfuhrung beschrieben sind, aussagekraftig?
Inwieweit sich die vorgestellten Algorithmen in den angedeuteten Bereichen realisieren
lassen wird sich zeigen.
Wir schlieen mit dem letzten oenen Problem in diesem Kontext, der zentralen Frage
nach der Komplexitat:
Welche uniforme und nicht-uniforme Zeitkomplexitat besitzt das
Normalformenproblem fur Spurmonoide?
89
A Anhang: Faktoren und
Faktorisierungen
In diesem Kapitel sind die Denitionen und Resultate uber Faktorisierungen zusammengefat. Viele der Satze wurden bei der Konstruktion der Algorithmen implizit verwendet.
Im Abschnitt uber allgemeine Faktoren werden Methoden bereitgestellt, die eventuell
zu einem ezienten Algorithmus fuhren, der das allgemeine Normalformenproblem lost.
A.1 Darstellungen von Faktorisierungen
Ein Faktor einer Spur t 2 M (; D) ist eine Spur l 2 M (; D), fur die zwei Spuren u und
v mit t = u l v existieren. Unter einer Faktorisierung von t verstehen wir das Tripel
(u; l; v) 2 M (; D) M (; D) M (; D) mit u l v = t.
Wir bezeichnen den Faktor einer Spur t 2 M (; D), der aus allen minimalen Buchstaben
besteht, mit min(t) und der, der aus allen maximalen besteht, mit max(t). Aus der
Darstellung von Spuren als partielle Ordnungen erhalten wir eine Charakterisierung
von Faktoren.
Lemma 40 Seien t; l 2 O (; D) Spuren mit t = hMt; t i und l = hMl ; l i. Weiter sei
Ml Mt eine Teilmultimenge und l die auf Ml induzierte partielle Ordnung t \ (Ml Ml ). Dann ist l ein Faktor in t (t = ulv fur u; v 2 M (; D)) genau dann, wenn fur alle
Elemente a; b 2 Ml und c 2 Mt gilt a t c t b =) c 2 Ml .
Beweis: Sei l ein Faktor in t = ulv 2 O (; D) mit Spuren u = hMu; u i, v = hMv ; v i
und t = hMt ; ti. Daraus folgt Mt = Mu[_ Mv [_ Ml . Seien a; b 2 Ml und c 2 Mt mit
a t c t b. Dann gilt a t c =) c 2= Mu und c t b =) c 2= Mv . Also liegt c in Ml .
Sei nun l = hMl ; l i eine durch t partiell geordnete Teilmenge von t so, da fur alle
a; b 2 Ml a l c l b =) c 2 Ml gilt. Liegen alle minimalen und maximalen Elemente
von t in Ml , so ist t = l ein Faktor (u = v = 1). Anderenfalls existiert ein minimaler
(oder ein maximaler) Buchstabe a in t, der nicht in l vorkommt. Damit faktorisiert sich
t = at0 (oder t = t0a) und t0 enthalt (mit Induktion uber die Kardinalitat von Mt ) den
Faktor l. Das heit t = au0lv0 (oder t = u0lv0a). Man beachte die Divisionsrelation ist
noethersch.
Sei t = hM; t i eine partiell geordnete Multimenge. Dann verstehen wir unter dem durch
N M induzierten Ideal IN (t) die Spur i = hMi; i i mit Mi = fa 2 M j 9b 2 N : a t
bg und i = t \ (Mi Mi). Dual denieren wir den von N induzierten Filter FN (t) als
die Spur f = hMf ; f i mit Mf = fa 2 M j 9b 2 N : b t ag und f = t \ (Mf Mf ).
Die Menge der Ideale einer Spur t zusammen mit den Verknupfungen IN (t) u IN 0 (t) =
IN \N 0 (t) und IN (t) t IN 0 (t) = IN (t) [ IN 0 (t) bilden einen endlichen Verband. Dual bilden
90
die Filter einer Spur t zusammen mit den Verknupfungen FN (t) t FN 0 (t) = IN [N 0 (t) und
FN (t) u FN 0 (t) = FN (t) \ FN 0 (t) einen Verband9 .
Die Charakterisierung in Lemma 40 fuhrt zu einer durch einen Faktor l induzierten
Aufteilung. Sei l = hMl ; l i eine Subspur von t = hMt ; t i 2 O (; D), d.h. Ml Mt
und l =t \ (Ml Ml ). Dann denieren wir
pret (l) = ta2Ml Ia (t) n l
postt (l) = ta2Ml Fa (t) n l
indt (l) = hMi; i i;
Pret(l) = ta2Ml Ia(t)
Postt(l) = ta2Ml Fa(t)
wobei die letzte Spur der verbleibenden Teil ((pret (l)) 1t(postt (l)) 1)l 1 von t ist. In
der Terminologie der Ideale und Filter lat sich das vorhergehende Lemma wie folgt
formulieren.
Korollar 14 Seien t; l 2 O (; D) Spuren mit t = hMt ; t i und hMl ; l i. Weiter sei Ml Mt eine Teilmultimenge und l die auf Ml induzierte partielle Ordnung t \ (Ml Ml ).
Dann ist l ein Faktor in t (t = ulv fur u; v 2 M (; D)) genau dann, wenn Pret (l) \
Postt (l) = l bzw. pre(l) \ post(l) = ;.
Die Denition von pret (l), postt(l) und indt(l) ist in der folgenden Graphik illustriert.
pret (l)
t
=
indt (l)
Postt (l)
postt (l)
l
l
=
indt (l)
Pret (l)
Jede Faktorisierung (u; l; v) induziert eine Faktorisierung in M ((; D)(l)) via Projektionen
((l) (u); l; (l)(v)).
Diese
Faktorisierungen
von
(l) (t)
nennen wir Vorkommen von l in t. Jedes durch Faktorisierungen induzierte Vorkommen entspricht einer Vielfalt von Zerlegungen in die Faktoren pret(l), postt(l), u0, v0 und
l mit u0v0 = indt (l).
Lemma 41 Fur jede Faktorisierung (u; l; v) von t existieren Spuren u0 und v0 mit
indt(l) = u0v0 , u = pret (l)u0 und v = v0postt(l).
Existiert umgekehrt eine Subspur l = hMl ; t \ (Ml Ml )i mit indt (l) = u0 v 0 und
u = pret (l)u0, v = v0postt(l), dann ist (u; l; v) eine Faktorisierung.
Beweis: Aus t = ulv folgt pret(l) \ postt(l) = ;. Wir erhalten den Quotienten w =
(pret(l)) 1 t(postt (l)) 1 durch induktives Kurzen. Da l ein Faktor ist, gilt w = u0lv0.
Insbesondere folgt aus (u0 [ v0 ) \ (pret (l) [ postt(l)) = ; die Unabhangigkeit von u0v0
und l, d.h. ((u0) [ (v0)) (l) I . Die andere Implikation ist evident.
9
Diese Eigenschaft ist eine direkte Folgerung aus dem Lemma von Levi.
91
Im folgenden sei M = M (; D) das frei partiell kommutative von (; D) erzeugte Monoid. Weiter bezeichne C eine Cliquenuberdeckung des erzeugendenQAlphabets. Aus der
Einbettung von M (; D) in das direkte Produkt (freier Monoide) C 2C C erhalten wir
Lemma 42 Sei (tC )C 2C ein Worttupel in QC 2C C . Dann existiert eine Spur t mit
(tC )C 2C = (t) genau dann, wenn fur alle Cliquen C; C 0 2 C die Bedingung C (tC 0 ) =
C 0 (tC ) erfullt ist.
Fur eine Clique C 2 C und eine Spur t 2 M verwenden wir fur die Projektion C (t) 2 C auf das Cliquenalphabet C 2 C die Bezeichnung tC .
Beweis: Da , , ein Homomorphismus ist und = \ folgt aus
(C (t))C 2C = (tC )C 2C = (t) fur alle C; C 0 2 C die Gleichheit C (C 0 (t)) = C (tC 0 ) =
C 0 (tC ) = C 0 (C (t)).
Sei die Bedingung C (tC 0 ) = C 0 (tC ) fur alle Cliquen C; C 0 2 C erfullt. Gilt tC = 1 fur
alle C 2 C , so ist t = 1. Anderenfalls existiert eine Clique C 2 C mit tC = at0C . Aus
der Bedingung folgt, da fur alle Worter tC 0 mit a 2 C 0 2 C gilt tC 0 = at0C 0 . Damit ist
(tC )C 2C = (a) (t0C )C 2C und a ein minimaler Buchstabe von t. Mit Induktion existiert
eine Spur t0 mit (t0) = (t0C )C 2C und t = at0 .
Als Korollar erhalten wir eine weitere Charakterisierung von Faktoren.
Korollar 15 Seien t; l 2 M (; D). Dann ist l = hMl ; l i ein Faktor in t = hMt ; t i
genau dann, wenn
(i) l ein Vorkommen in t ist, d.h. fur alle Cliquen C 2 C mit C \ (l) 6= ; Worter
uC ; vC 2 C existieren, mit tC = uC lC vC und fur alle C; C 0 2 C mit C 0 \ (l) 6= ;
und C \ (l) 6= ; C 0 (uC ) = C (uC 0 ) gilt, sowie
(ii) fur alle verbleibenden Cliquen C 2 C , C \ (l) = ; Faktorisierungen tC = uC vC
existieren, so da fur alle C; C 0 2 C die Beziehung C (uC 0 ) = C 0 (uC ) erfullt ist.
Als Konsequenz ergibt sich aus (i) und (ii) C (vC 0 ) = C 0 (vC ) fur alle C; C 0 2 C . Wir
erhalten eine Faktorisierung
1 ((u
C )C 2C );
l; 1 ((v
C )C 2C )
:
Bemerkung 9 Die Bedingung C (tC 0 ) = C 0 (tC ) fur alle C 2 C ist aquivalent zu jtC ja =
jtC 0 ja fur alle a 2 C \ C 0 und fur alle C; C 0 2 C in diesem Kontext.
A.2 Ordnungen fur Vorkommen
Betrachten wir ein Vorkommen (u; l; v), (l) (t) = ulv, (von l in t) nicht mehr als ein
Tupel, sondern als einen Vorkommen-Morphismus i : l ! t zwischen zwei Spuren.
92
Dabei soll ein Vorkommen-Morphismus i : l = (lC )C 2C ! t = (tC )C 2C ein Tupel von
Wort-Morphismen (iC : lC ! tC )C 2C sein. Ein Wort-Morphismus j : v ! w = xvy
ist eine die Ordnung von v und die Nachbarschaft10 auf den Projektionen (l) (tC )
erhaltende Injektion, die jedem Buchstaben a in v einen Buchstaben a in w zuordnet.
Sei v = v1 : : : vm , w = w1 : : : wn mit v1 ; : : : ; vm; w1; : : : ; wn 2 und j (v1) = wk+1,
: : : , j (vm) = wk+m, dann sind die Worter j (v) = j (v1 ) : : : j (vm) und v = v1 : : : vm (als
Elemente des freien Monoids ) identisch. Wir verwenden dieses Konzept, lediglich um
verschiedene Vorkommen der gleichen Spur formalisieren zu konnen.
vm
# ### #
i(v1 ) i(vm )
w1 wk+1 wk+m wn
v1
Da diese Morphismen Teilworter identizieren und somit nichts anderes als Positionsbeziehungsweise Langenangaben sind, verwenden wir als Namen Indizierungsbezeichner
i und j . Ein Vorkommen-Morphismus ist also eine spezielle Inklusion einer Subspur.
Ein Vorkommen i : l ! t ist ein Faktorvorkommen, falls i = (iC )C 2C ein Vorkommen
ist, das eine Faktorisierung induziert. D.h. fur alle C 2 C hat tC die Form uC iC (l) vC
und es existieren Spuren u und v mit (u) = (uC )C 2C und (v) = (vC )C 2C . Ein Faktorvorkommen i : l ! t legt somit die Ideale pre(i) = pret(i(l)) und Pre(i) = Pret(i(l))
und die Filter post(i) = postt(i(l)) und Post(i) = Postt (i(l)) eineindeutig fest.
Bemerkung 10 In dieser Darstellung wird auch deutlich, da Vorkommen (sowie Fak-
torvorkommen) zusammen mit den Spuren (als Objekte) eine Kategorie (Subkategorie)
bilden. Dieser Fakt kann dazu verwendet werden, ezienten Faktorisierungsalgorithmen

oder Algorithmen, die maximale Uberlappungen
bzw. kritische Paare berechnen, zu entwerfen.
Seien i : li ! t und j : lj ! t zwei Faktorvorkommen. Wir denieren die Faktorordnung via
i j :() Post(j ) Post(i):
Analog kann man eine Ordnung mit dem dualen Operator Pre denieren.
i(l)
Post(i)
111111
000000
00000
11111
000000
111111
00000
11111
000000
111111
00000
11111
000000
111111
00000
11111
j (l)
Post(j )
111111
000000
000000
111111
000000
111111
000000
111111
= t
000000
111111
000000
111111
000000
111111
000000
111111
Der Begri Nachbarschaft setzt eine Topologie auf Worten voraus | die erzeugenden oenen
U berdeckungen sind die Inxe. Wir verwenden diesen Begri, um die kategorielle Struktur des Mustererkennungsproblems (Faktorisierungsproblems) zu unterstreichen. (Die Faktoren als Objekte mit
der Faktorrelation als Morphismus ist wieder eine Kategorie.)
10
93
Oensichtlich ist nicht notwendigerweise eine lineare Ordnung.
Lemma 43 Seien l; t 2 M (; D) zwei Spuren, dann ist die Relation eine Ordnung
auf der Menge der Faktorvorkommen i : l ! t.
Beweis: Oensichtlich ist reexiv. Die Relation ist transitiv, da aus i j und
j k folgt Post(k) Post(j ) Post(i) und somit i k. Seien i j und j i, dann
gilt u = Post(i) = Post(j ). Da sowohl i als auch j Faktorvorkommen sind, gilt u = lu0
und kein Buchstabe a aus u0 ist bezuglich der partiellen Ordnung t von t = hMt ; t i
kleiner als ein Buchstabe aus l = hMl ; l i. Anderenfalls ware Pret (l) \ Postt (l) 6= l und
damit i kein Faktorvorkommen. Alle minimalen Buchstaben min Postt (l) liegen in i(l)
bzw. j (l). Mit Induktion uber die Anzahl der Elementarfaktoren von l erhalten wir i = j
und damit die Antisymmetrie von .
A.3 Zusammenhangende Faktoren
Wir bezeichnen eine Spur t als zusammenhangend, wenn der Abhangigkeitsgraph zusammenhangend ist oder aquivalent, wenn das induzierte Abhangigkeitsalphabet (; D)(l)
ein zusammenhangender Graph ist.
Wir analysieren in diesem Abschnitt die relativen Beziehungen zwischen Vorkommen
bzw. Faktorvorkommen.
Seien i; j : l ! t zwei Vorkommen von einer zusammenhangenden Spur l. Wir denieren die Vorkommenordnung n=n(l;t) analog via
i n j :() Post(j ) Post(i):
i(l)
Post(i)
00000
11111
0110111111
000000
0000
1111
00000
11111
000000
111111
0000
1111
=
000000
111111
0000
1111
00
11
000
111
000000
111111
0000
1111
00
11
000
j (11
l) 111
Post(j )
00
t
Lemma 44 Seien l; t 2 M (; D) zwei Spuren und l zusammenhangend. Dann ist die
Relation n=n(l;t) eine lineare Ordnung.
Beweis: Die Reexivitat und die Transitivitat folgt aus den vorhergehenden Betrachtungen. Die Linearitat zeigen wir induktiv. Seien i; j : l ! t zwei Faktorvorkommen
(l zusammenhangend). Existieren zwei Buchstaben a und b in l = hMl ; l i mit a l b,
so gilt auch i(a) t i(b), da i ordnungserhaltend ist. Sind a; b zwei Buchstaben so, da
kein Buchstabe c 2 (l) mit a l c l b existiert, so existiert auch kein Buchstabe c in t
94
mit i(a) t c t i(b). Wurde ein Buchstabe c in t existieren mit i(a) t c t i(b), dann
existiert in der Projektion
fa;b;cg (u; l; v) =
fa;b;cg (u); fa;b;cg(l); fa;b;cg (v)
ein c zwischen i(a) und i(b), fa;b;cg (t) = w i(a) x c y i(b) z, im Widerspruch zu fa;b;cg (l) =
fa;b;cg(l) mit ; 2 fa; b; cg (prefa;b;cg(i(l)) (i(a)) = und postfa;b;cg(i(l)) (i(b)) = ).
Behauptung: Sei a <l b, a; b in Ml , mit (a; b) 2 D, so da kein Buchstabe c mit
a <l c <l b existiert und i n j . Dann gilt
i(a) t j (a) =) i(b) t j (b) und i(b) t j (b) =) i(a) t j (a):
Aus der Voraussetzung folgt die Vergleichbarkeit von i(a), i(b), j (a) und j (b). Sei i(a) t
j (a) aber j (b) t i(b). Damit gilt i(a) t j (a) t j (b) t i(b). Das steht im Widerspruch
zur Nichtexistenz eines Buchstaben c zwischen a und b, falls i(a) =
6 j (a) und i(b) =6 j (b).
i(a)
j (a)
i(b)
j (b)
Fur i(a) = j (a) und i(b) = j (b) ist die Implikation trivial. Analog folgert man aus
j (a) t i(a) und i(b) t j (b) einen Widerspruch.
Ist l = a ein einzelner Buchstabe, so ist n eine lineare Ordnung, da die Abhangigkeitsrelation D reexiv ist. Da l zusammenhangend ist, existiert zu jedem Buchstaben b in l
ein ungerichteter Pfad
a = a1 ?1 a2 ?2 : : : ?n 1 an = b;
mit ?k 2 f<l ; >l g und (ak ; ak+1) 2 D, k 2 [n 1]. Wir bezeichnen die duale Ordnung zu
mit . Mit dem vorhergehenden Resultat schlieen wir mit Induktion uber die Lange
n des Pfades
i(a1 ) ?01 i(a2 ) ?02 : : : ?0n 1 i(an)
?
?0
?
?0
?
?0
j (a1 ) 1 j (a2) 2 : : : n 1 j (an);
mit k
k 2 [n 1]. Damit gilt Post(i) Post(j ) oder Post(j ) Post(i)
und n ist eine lineare Ordnung.
Seien t; l 2 M (; D) zwei Spuren. Wir sagen, ein Buchstabe a in t = hMt ; t i beeintrachtigt ein Vorkommen i : l ! t, falls a nicht zu i(l) gehort und zwei Buchstaben b; c
in l mit i(b) t a t i(c) existieren. Wir notieren diesen Zusammenhang mit a B i.
?0 ; ?2 ft ; t g,
l=
a
11
00
b
c
00
11
00
11
00
i(l11
)
i
95
= t
Sei a 2 und sei i : l ! t, l; t 2 M (; D), ein Vorkommen. Wir bezeichnen mit
(a) B i die Menge der das Vorkommen i beeintrachtigenden Buchstaben a in t, fa 2 Mt j
9b; c 2 Ml : i(b) t a t i(c); a 2= i(l)g. Die Teilmenge aller Buchstaben a 2 , die in
t = hMt; t i vorkommen, ist durch t linear geordnet.
Lemma 45 Seien l; t 2 M (; D) Spuren und i ein Vorkommen i : l ! t. Dann ist die
Menge (a) B i ein Intervall bezuglich t , t = hMt ; t i.
Beweis: Seien a1, a2 und a3 drei (Vorkommen des) Buchstaben a in t = hMt ; t i
mit a1 t a2 t a3, und das Vorkommen i : l ! t werde von den Buchstaben a1
und a3 beeintrachtigt. (In Zeichen: a1 B i und a3 B i.) Dann beeintrachtigt auch der
Buchstabe a2 das Vorkommen i, denn aus a1 B i folgt die Existenz eines Buchstaben b
in l = hMl ; l i mit i(b) t a1 und aus a3 B i folgt die Existenz eines Buchstaben c in l
mit a3 t i(c). Zusammengefat beeintrachtigt a2 das Vorkommen i via
i(b) t a1 t a2 t a3 i(c):
Analog zur Menge der beeintrachtigenden Buchstaben bezeichnen wir mit a B (l; t) die
Menge der beeintrachtigten Vorkommen von l in t, fi : l ! t j a B ig.
Lemma 46 Seien l; t 2 M (; D) Spuren und l zusammenhangend. Dann ist die Menge
a B (t; l) ein Intervall bezuglich n=n(l;t) .
Beweis: Wir leiten aus der Existenz dreier Vorkommen i; j; k : l ! t und eines
Buchstabens a in t mit i n j n k und a B i, a B k aber a 7 j einen Widerspruch
her. Aus a B k folgt die Existenz eines minimalen Buchstaben b in l mit k(b) t a. Da
i n k gilt j (b) t k(b) t a. Aus a B i folgt die Existenz eines maximalen Buchstaben
c in l mit a t i(c), und aus i n j folgt a t i(c) t j (c). Da a 2= (l), beeintrachtigt
der Buchstabe a das Vorkommen j , j (b) t a t k(c), ein Widerspruch.
a
i(l)
j (l)
i
l=
j
k(l)
= t
k
Interessanterweise ist die Anzahl der von einem Buchstaben beeintrachtigten durch eine
von jtj unabhangige Konstante beschrankt.
Lemma 47 Seien l; t 2 M (; D) zwei Spuren und a ein Buchstabe in t. Dann ist die
Kardinalitat der Menge a B (l; t) der beeintrachtigten Vorkommen durch die Konstante
jlj jj beschrankt.
96
Beweis: Wir fuhren die Annahme ja B (l; t)j > jlj jj zu einem Widerspruch. Sei
ja B (l; t)j > jljjj, dann existieren mindestens n jj paarweise disjunkte Vorkommen
i1 n i2 n : : : n in. Zwei Vorkommen i; j : l ! t sind disjunkt, falls i(l) \ j (l) = ;.
Ware n < jj, so wurde ein Buchstabe b in l und zwei Vorkommen i; j 2 fi1; : : : ; ing
existieren mit i =
6 j und i(b) = j (b), ein Widerspruch (siehe Beweis zu Lemma 44). Sind
i1 ; : : : ; in disjunkte Vorkommen, so folgt aus Lemma 44, fur alle Buchstaben d in l und
fur alle i; j 2 fi1 ; : : : ing, i(d) <t j (d), fur i 6= j und i n j .
a
= t
...
i1
i2 i3
in
l=
Aus a B in folgt die Existenz eines Buchstaben b in l mit
i1 (b) <t i2 (b) <t : : : <t in(b) <t a;
und aus a B i1 folgt die Existenz eines Buchstaben c in l mit
a <t i1(c) <t i2 (c) <t : : : <t in(c):
Da l zusammenhangend ist, existiert ein ungerichteter Pfad minimaler Lange
b = a1 ?1 a2 ?2 : : : ?m 1 am = c
von b nach c, ?k 2 f<l ; >l g fur alle k 2 [m 1] im Abhangigkeitsgraphen von l = hMl ; t i
mit (ak ; ak+1) 2 D fur alle k 2 [n 1], n jj.
a1
a2
a4
a2 a
5
am
= l
Da m minimal ist, kann kein Buchstabe in fa1; : : : ; an 1g Ml (Knoten im zugehorigen
Abhangigkeitsgraphen) mehrmals vorkommen, d.h. k < jj. Damit erhalten wir einen
Widerspruch zur Antisymmetrie
a t i1(am ) <t i2(am 1 ) <t : : : <t in 1(a2 ) <t in (a1) t a:
i(a1)
a
i(a3 )
i(am )
i(a2 )
97
= t
Die Kardinalitaten der Mengen a B i fur einen Buchstaben a 2 einer Spur t 2
M (; D) mit den Vorkommen i; j : l ! t, t 2 M (; D), sowie die Kardinalitaten von
Intervallschnitten (a B i) \ (a B j ) sind nicht durch eine von t unabhangige Funktion
beschrankt, wie man folgendem Beispiel entnehmen kann.
Beispiel 1 Betrachten wir das Abh0
angigkeitsalphabet
2 a | d 31
j 5A :
(; D) = @fa; b; c; dg; 4 j
b | c
n
Sei l; t 2 M (; D) mit l = [bcd] und t = [bc][b][a ][d][cd], jtj = O(n). Es existieren zwei
Vorkommen i; j : l ! t und es gilt ja B ij = ja B j j = j(a B i) \ (a B j )j = n.
Die durch die Buchstaben a beeintrachtigten Vorkommen sind in der folgenden Graphik
durch die Polygonzuge gekennzeichnet.
b
b
c
an
d
c
d
Die Schnittlemmata stellen eine Beziehung zwischen Faktorvorkommen zusammenhangender Spuren und Faktorisierungen bereit.
Lemma 48 (Schnittlemma A) Sei t = t1 t2 2 M (; D), l 2 M (; D) eine zusammenhangende Spur und i : l ! t ein Faktorvorkommen. Dann folgt aus i(l) \ (max(t1 ) [
min(t2)) = ; entweder i(l) \ t1 = ; oder i(l) \ t2 = ;.
Beweis: Sei t = hMt ; t i. Angenommen i(l) \ t1 6= ; und i(l) \ t2 6= ;. Da t = t1 t2
gilt fur alle Buchstaben a1 in t1 und b2 in t2 mit (a1; b2 ) 2 D die Relation a1 t b2 ,
und da l zusammenhangend ist, existiert ein maximaler Buchstabe a in max(t1 ) und ein
minimaler Buchstabe b in min(t2 ) mit (a; b) 2 D und zwei Buchstaben c in i(l) \ t1 und
d in i(l) \ t2 mit c t a t b t d. Damit ist i : l ! t aber kein Faktorvorkommen, ein
Widerspruch (a oder b beeintrachtigen i).
Umgekehrt kann man schlieen:
Lemma 49 (Schnittlemma B) Sei t = t1 t2 2 M (; D), l 2 M (; D) eine zusammenhangende Spur und sei i : l ! t ein Faktorvorkommen mit i(l) \ t1 6= ; und
i(l) \ t2 6= ;. Dann gilt i(l) \ max(t1 ) 6= ; und i(l) \ min(t2 ) 6= ;.
Beweis: Angenommen i(l) \ max(t1) = ; und i(l) \ min(t2 ) = ;. Da i(l) \ t1 6= ;,
existiert ein Buchstabe a in l mit i(a) in t1 und da i(l) \ t2 6= ;, existiert ein Buchstabe
b in l mit i(b) in t2 . Da l zusammenhangend ist, existiert ein ungerichteter Pfad von a
nach b in l, also auch von i(a) nach i(b) in t. Aber dieser Pfad enthalt (mindestens) einen
Buchstaben aus max(t1 ) und einen aus min(t2 ) im Widerspruch zu i(l) \ max(t1) = ;
und i(l) \ min(t2 ) = ;.
98
A.4 Allgemeine Faktoren
In diesem Abschnitt werden einige Eigenschaften von Faktorisierungen und Techniken
zur Faktorisierung und deren Darstellung entwickelt.
Wir sagen, da die Vorkommen i : u ! t und j : v ! t kombinierbar sind, wenn kein
Pfad im Abhangigkeitsgraph von t gleichzeitig in i(u) beginnt und j (v) endet oder in j (v)
beginnt und in i(u) endet. D.h. es existiert kein Buchstabe a in u und b in v mit i(a) t
j (b) oder j (b) t i(a). Wir notieren den reexiven Abschlu der Kombinationsrelation
mit iOj .
Eine Zusammenhangskomponente u = hMu; ui von v = hMv ; v i ist eine Subspur deren
Abhangigkeitsgraph ein maximaler zusammenhangender Untergraph des Abhangigkeitsgraphen von v ist. Jede Spur l 2 M (; D) zerfallt in ihre Zusammenhangskomponenten Con(l) = fl1; : : : ; lng. Es gilt fur jede Permutation : [n] ! [n] die Identitat
l = l(1) : : : l(n) . Seien ik : lk ! t Faktorvorkommen. Wir sagen, da das Tupel
(i1 ; : : : ; in) kombinierbar ist, wenn alle Komponenten paarweise kombinierbar sind, d.h.
wenn fur alle k; k0 2 [n] ik Oik0 gilt und notieren
r = f(i1; : : : ; in) j ik : lk ! t; ik Oik0 (k; k0 2 [n])g:
Mit der Charakterisierung in Lemma 40 ist i : l ! t mit i(a) = ik (a) fur a 2 lk
genau dann ein Faktorvorkommen, wenn (i1; : : : ; in) 2 r. Die Relation O besitzt eine
Intervalleigenschaft.
Lemma 50 Sei l 2 M (; D) mit u; v 2 Con(l) und i : u ! t ein Vorkommen von u.
Dann ist die Menge O(v; i) = fj : v ! t j iOj g ein Intervall bezuglich n.
Beweis: Seien j1 ; j2; j3 : v ! t Vorkommen in t mit j1Oi, j3 Oi und j1 n j2 n j3.
Wir leiten einen Widerspruch aus :j2 Oi her. Existiert ein Buchstabe a in v und ein
Buchstabe b in i(u) mit j2 (a) t b, so gilt j1 (b) t j2 (b) t a, im Widerspruch zu
j1 Oi. Existiert ein Buchstabe c in v und ein Buchstabe b in i(u) mit b t j2 (c), so gilt
b t j2 (c) t i3 (c), im Widerspruch zu j3 Oi. Damit gilt iOj2
Das folgende Beispiel illustriert diese Intervalleigenschaft.
Beispiel 2 Sei (; D) = [a b c d] und l = [ad], Con(l) = fa; dg. Wir indizieren die
Buchstaben und identizieren ein (Faktor-)vorkommen i : a ! ai mit dem indizierten
Buchstaben ai . In der Spur t = [abadcdabad] sind die Intervalle fai : ai ! t j ai Odj g
mit Idj gekennzeichnet, entsprechend ist Iai = fdj : dj ! t j dj Oai g.
99
Id1
a1
Ia2 ;a3
b
a2
a3
c
d1 I d2
a1
Ia4
b
Id2 ;d3
a4
d3
Die Menge der kombinierbaren Vorkommen berechnet sich zu
r =
[
(fak g Iak ) [
k2[4]
[
(fdk g Idk ):
k2[3]
Diese Menge kann polynomiell viele Elemente enthalten. Sei k = jCon(l)j die Anzahl
der Zusammenhangskomponenten, so gilt jrj = O(jtjk ). Betrachten wir beispielsweise
= fai j i 2 [k]g, M = N , t = (ani)i2[k], l = (ai )i2[k], jrj = nk .
Diese Beobachtung motiviert die nachste Denition. Sei t, l und O wie oben, dann
denieren wir fur ein Intervall I von Vorkommen i : lk0 ! t, die Intervalle
r(I; lk ) = fik : lk ! t j 8i 2 I : ik Oig;
fur alle k 2 [n] und das Intervalltupel (I1 ; : : : ; In)(i) = (I1(i); : : : ; In(i)) durch
Ik0 (i) = r(f\
ig; lk ); k 2 [n] n fk0g
Ik (i) =
r(Ik0 00 (i); lk ) \ Ik0 (i); k 2 [n] n fk0g
Ik0 (i) =
k00 2[n]nfk;k0g
\
k00 2[n]nfk0 g
r(Ik00 (i); lk0 ):
Die folgende Graphik illustriert das Vorgehen. Sei Con(l) = fl1; l2; l3; l4g und i : l1 ! t.
i
l1
I20
I30
I0
l2
l3
l4
4
Im ersten Bild ist dargestellt, wie die Intervalle Ix0 festgelegt sind. Sie werden von den
letzten Vorkommen, die vor i, und den ersten Vorkommen, die nach i liegen, links bzw.
rechts beschrankt.
ab
cd
100
l2
l3
l4
Im zweiten Bild wird das Intervall Il3 bestimmt. Dabei ist
a
b
c
d
das grote l3 -Vorkommen, das vor einem Vorkommen in Il04 liegt,
das grote l3 -Vorkommen, das vor einem Vorkommen in Il02 liegt,
das kleinste l3-Vorkommen, das nach einem Vorkommen in Il04 liegt,
das kleinste l3-Vorkommen, das nach einem Vorkommen in Il02 liegt.
Das Intervall, das dadurch bestimmt wird, ist berandet durch das Maximum der groten
Elemente und das Minimum der kleinsten. Im nachsten Bild ist die Berechnung der
verbleibenden Ix0 -Intervalle skizziert.
l2
l3
l4
Der letzte Schritt ist die Berechnung des l1-Intervalls Il1 (i), das durch die Intervalle Ix0
erzeugt wird.
l1
l2
l3
l4
Sei Con(l) = fl1; : : : ; lng, dann denieren wir die Intervallrelation
I(l; t) = f(I1 ; : : : ; In)(i) j i : lk ! t; 8k0 2 [n] : ; 6= Ik0 = Ik0 (i)g:
Lemma 51 I(l; t) besitzt hochstens jtj Elemente, und es gilt
(I1 ; : : : ; In) 2 I =) I1 : : : In r
und fur alle kombinierbaren Tupel (i1 ; : : : ; in) 2 r existiert ein Intervalltupel
(I1; : : : ; In) 2 I mit (i1; : : : ; in) 2 I1 : : : In:
Beweis: Sei (I1; : : : ; In)(i) = (I1 ; : : : ; In) 2 I und (i1 ; : : : ; in) 2 I1 : : : In mit
(i1 ; : : : ; in) 2= r. Ohne Einschrankung sei i : l1 ! t. Dann existieren k; k0 2 [n] und
zwei Buchstaben, a in lk und b in lk0 , mit ik (a) t ik0 (b) oder ik0 (b) t ik (a). Ohne
Einschrankung sei ik (a) t ik0 (b). Dann ist ik =
6 i und ik0 =6 i, da Ik Ik0 = r(fig; lk )
bzw. Ik0 Ik0 0 = r(fig; lk0 ). Also gilt k =
6 1 =6 k0. Aber das steht im Widerspruch zu
0
0
Ik r(Ik0 ; lk ) bzw. Ik0 r(Ik ; lk0 ).
Sei (i1; : : : ; in) 2 r. Dann ist auch (I1 ; : : : ; In)(i1) 2 I. Da fur alle k; k0 2 [n] ik Oik0 gilt
(i1 ; : : : ; in) 2 (I1; : : : ; In)(i1 ) 2 I.
101
Beispiel 3 Sei M = M (; D) das durch das Abhangigkeitsalphabet
(; D) = b
x0
y0
x
y
a
u
v
u0
v0
c
erzeugte Monoid. Sei l = [abc] und t die Spur
b
b
b
b
b
b
b
x0
x
y0
a
Ia(i)
y
a
a
i
a
a
u0
v
u
v0
c
a
c
c
c
j
Ia (j )
a
c
Dann ist Con(l) = fa; b; cg und das Vorkommen i (mit einem Quadrat in der Abbildung
gekennzeichnet) induziert das durch das gestrichelte Polygon berandete Intervall Ia(i).
Das Vorkommen j erzeugt das durch das gepunktete Polygon berandete Intervall Ia (j ).
Sei (; D) ein Abhangigkeitsalphabet. Ein Sprungwort von a 2 nach b 2 ist ein
Wort w 2 mit w = w1w2 : : : wn, wi 2 , wi 6= wj fur i 6= j , w1 = a, wn = b
und (wi; wi+1) 2 D fur alle i 2 [n 1]. In einer Spur t = hMt ; t i ist (s1; s2; : : : ; sn)
eine Vorwarts-Sprungsequenz von s1 nach sn zum Sprungwort w, falls wi = si 2 Mt
fur alle i 2 [n] ist und si+1 der bzgl. t kleinste Buchstabe wi+1 mit si <t si+1 fur
alle i 2 [n 1] ist. Analog ist (s1; s2; : : : ; sn) eine Ruckwarts-Sprungsequenz, wenn si+1
der bzgl. t grote Buchstabe wi+1 mit si+1 <t si ist, i 2 [n 1]. Die Anzahl der
Vorwarts-Sprungsequenzen bzw. Ruckwarts-Sprungsequenzen von x nach y bzw. die der
Sprungworter ist beschrankt durch die Anzahl der doppelpunktfreien Pfade (x; p1; : : : ; y)
in (; D).
Beispiel 4 Es gibt vier Sprungworter von b nach c im obigem Beispiel:
b xy a uv c
b x0 y0 a uv c
b xy a u0v0 c
b x0 y0 a u0v0 c
Eine Vorwarts-Sprungsequenz fuhrt beispielsweise von dem ersten c in t uber v 0 und u0 ,
dem vorletzten a, y und x zum zweiten b.
Ein einfaches Induktionsargument zeigt:
102
Lemma 52 Sei (Mt ; t ) = t 2 M (; D). Dann existiert fur a; b 2 , a 6= b ein Sprung-
wort w und eine Vorwarts-Sprungsequenz (s1 ; : : : ; sn) mit s1 = a, sn = b1 von a nach
b1 genau dann, wenn kein b2 2 Mt existiert mit a b2 t b1 .
Dual existiert fur a; b 2 , a 6= b ein Sprungwort w und eine Ruckwarts-Sprungsequenz
(s1 ; : : : ; sn) mit s1 = a, sn = b1 von a nach b1 genau dann, wenn kein b2 2 Mt existiert
mit b1 t b2 t a. (b1 und b2 unterscheiden Mehrfachvorkommen von b in M t .)
Sprungworter bzw. Sprungsequenzen ermoglichen es, die Faktoreigenschaft von Vorkommen bzw. die Kombinierbarkeit direkt zu entscheiden.
Korollar 16 Seien l; t 2 M (; D) und sei Con(l) = fl1 ; : : : ; lng. Weiter seien i : lk !
t und j : lk0 ! t Faktorvorkommen. Dann existiert fur a 2 (lk ) und b 2 (lk0 ) ein
Sprungwort w und eine zugehorige
Vorwarts-Sprungsequenz von i(a) nach b0 mit b0 t j (b) oder
Vorwarts-Sprungsequenz von j (b) nach a0 mit a0 t i(a) oder
Ruckwarts-Sprungsequenz von j (b) nach a0 mit i(a) t a0 oder
Ruckwarts-Sprungsequenz von i(a) nach b0 mit j (b) t b0
genau dann, wenn lk O= lk0 .
Die Ordnungen nlk , k 2 [n], induzieren auf Intervallen I; I 0 fik j ik : lk ! tg durch
I = [i; j ] nlk [i0; j 0] = I 0 () i nlk i0 ^ j nlk j 0
eine Ordnung. Wir notieren (I1 ; : : : ; In)(i) n (I1 ; : : : ; In)(j ), wenn I (lk ; i) = Ik (i) nlk
Ik (j ) = I (lk ; j ) fur alle k 2 [n] gilt.
Lemma 53 Seien i; j : lk ! t mit i nlk j , dann gilt
i nlk j =) r(fj g; lk0 ) nlk0 r(fig; lk0 ):
Sind I; J Intervalle uber fik j ik : lk ! tg, so gilt
I nlk J =) r(I; lk0 ) nlk0 r(J; lk0 ):
Mit anderen Worten: r ist ein monotoner Operator.
Beweis: Angenommen sei i 6= j und i nlk j , aber nicht r(fig; lk0 ) nlk0 r(fig; lk0 ).
Sei weiter r(fig; lk0 ) = [xi ; yi] und r(fj g; lk0 ) = [xj ; yj ]. Dann gilt :(xi nlk0 xj ) oder
:(yi nlk0 yj ).
103
i
x0j x0i
j
yj0
lk
yi0
lk0
Bezeichnen wir die aueren begrenzenden Elemente eines Intervalls [x; y] mit x0 bzw.
y0. D.h. x0 ist das grote Vorkommen, das kleiner als x ist, und y0 ist das kleinste
Vorkommen, das groer als y ist. Wenn :(xi nlk0 xj ), existieren Buchstaben a in lk0
und b in lk mit xj (a) t x0i (a) t i(a) t j (b), ein Widerspruch zu xj Oj . Analog folgt
aus :(yi nlk0 yj ) die Existenz von a und b mit i(b) t j (b) t yj0 (a) t yi(a).
Die zweite Aussage ergibt sich durch analoge Betrachtungen.
I
r(J; lk0 )
J
lk
l0
r(I; lk0 )k
Seien [xI ; yI ] = I , [xJ ; yJ ] = J , [xr(I ) ; yr(I )] = r(I; lk0 ) und [xr(J ) ; yr(J )] = r(J; lk0 ).
Sei wieder I 6= J und I nlk J . Aus :(xr(I ) n xr(J ) ) folgern wir die Existenz zweier
Buchstaben a; b wie oben mit xr(J ) (b) t x0r(I ) (b) t xI (a) t xJ (a) und aus :(yrI n
yr(J )) folgern wir a; b mit yI (a) t yJ (a) t yr0 (J )(b) t yr(I ) (b). In beiden Fallen ein
Widerspruch zu (I r(I; lk0 )) [ (J r(J; lk0 )) O.
Lemma 54 Seien i; j : lk ! t mit i nlk j . Dann gilt (I1; : : : ; In)(i) n (I1 ; : : : ; In)(j )
mit (I1; : : : ; In)(i); (I1 ; : : : ; In )(j ) 2 I.
Beweis: Fur i = j ist nichts zu zeigen. Sei also i 6= j und i nlk j . Fur k0 6= k gilt
I 0(lk0 ; i) = [xi; yi]nlk0 [xj ; yj ] = I 0 (lk0 ; j ). Damit gilt fur alle k0 2 [n] n fkg I (lk0 ; i) =
Ik0 (i) nlk Ik0 (j ) = I (lk0 ; j ), da
alle involvierten IntervalleTIk0 0 (j ) groer oder gleich Ik0 0 (i)
T
sind. Also gilt auch Ik (i) = k02[n]nfkg r(lk ; Ik0 0 (i)) nlk k02[n]nfkg r(lk ; Ik0 0 (j )) = Ik0 (j ).
Wir sagen: Das Intervall [x1 ; y1] ist strikt in dem Intervall [x2; y2] enthalten, falls x2 n
x1 , x2 6= x1 und y1 n y2, y1 6= y2. Wir haben in Beispiel 3 gesehen, da sich die
Intervalle I (i; lk ), i : lk ! t durchaus uberlappen konnen, aber sie konnen sich nicht
strikt enthalten.
Korollar 17 Seien i; j : lk ! t. I (lk ; i) kann nicht strikt in I (lk ; j ) enthalten sein.
104
Beweis:
I (j )
lk
I (i)
Ohne Einschrankung ist i 6= j . Angenommen I (lk ; i) ist strikt in I (lk ; j ) enthalten und
i nlk j . Dann gilt [xi ; yi] = Ik (i) n Ik (j ) = [xj ; yj ] nach obigem Lemma, aber nicht
xj nlk xi und xj 6= xi , ein Widerspruch. Gilt j nlk i, so folgt Ik (j ) = [xj ; yj ] n
[xi ; yi] = Ik (i), im Widerspruch zu yi nlk yj und yi 6= yj .
Korollar 18 Die Ordnung n auf fIk (i) j i : lk ! tg ist linear.
Die maximale Anzahl NI (i) der Faktorvorkommen i : lk ! t uberdeckenden Intervalle
Ik (j ), NI (i) = jfIk (j ) j j : lk ! t; i 2 Ik (j )gj, ist durch eine von jtj unabhangige
Konstante beschrankt.
Lemma 55 Sei i : lk ! t ein Faktorvorkommen. Dann existiert eine Konstante c =
c(; D; l) mit NI (i) c.
Vor dem Beweis betrachten wir das folgende illustrative Beispiel.
Beispiel 5 Sei (; D) = [a b c d e] und l = [ae]. Betrachten wir die den dritten
Buchstaben a uberdeckenden, in der Spur erzeugten Intervalle.
I (a3 )
I (a1) I (a2)
I (a4) I (a5)
a1
a2
a3
a4
a5
b
b
b
b
c
c
c
c
d
d
d
d
e1
e2
e3
e4
e5
Wir identizieren Vorkommen wieder mit einzelnen Buchstaben. Die drei a3 uberdeckenden Intervalle fI (a1 ); I (a2 ); I (a3 )g haben unterschiedliche linke Rander. Deshalb mu
fur jedes Intervall eine Ruckwarts-Sequenz von einem e zu dem nachst kleineren a vor
dem linken Rand existieren. (Durch gepunktete Pfeile von links oben nach rechts unten gekennzeichnet.) Da es hier nur ein Sprungwort gibt, mu es fur zwei Intervalle
verschiedene Sprungsequenzen geben. Doch bereits bei drei Ruckwarts-Sprungsequenzen
existiert eine Vorwarts-Sprungsequenz (mit einem gestrichelten Pfeil gekennzeichnet),

die weitere Uberdeckungen
verhindert.
105
Beweisskizze: Sei Con(l) = fl1; : : : ; lng die Menge der Zusammenhangskomponenten
von l, S (; D) = fw1; : : : ; wn0 g die Menge der Sprungworter und n00 = maxfjwj j w 2
S (; D)g. Angenommen es existiert ein Faktorvorkommen i : lk ! t mit NI (i) > c :=
2nn0 n00. Seien io : lk ! t, o 2 [m], die Faktorvorkommen mit i 2 Ik (io) fur alle o 2 [m]
und Ik (io) =
6 Ik (io0 ) fur alle o =6 o0. Fur alle Intervalle Ik (io ) = [xo ; yo], existiert dann
eine Ruckwarts-Sequenz, die von einem Buchstaben aus j (lk0 ) startet und in x0o (lk )
endet, oder
eine Vorwarts-Sequenz, die von einem Buchstaben aus j (lk0 ) startet und in y0(lk )
endet.
Ik (io )
x0o
j
yo0
lk
j
lk0
Da NI (i) = m > c, existiert ein Sprungwort w 2 S (; D) so, da n00 jwj VorwartsSprungsequenzen, die in verschiedenen Faktorvorkommen x0o : lk ! t beginnen.
lk
lk0
Sei Ik0 (io ) = [xo ; yo]. Dann existieren Buchstaben b; c mit x1 (a) t y1(b) (siehe Skizze),
ein Widerspruch zu Ik (i1 ) 6= ; bzw. Ik (i1 ) \ Ik (im ) 6= ;.
106
Literatur
[Aho90]
Alfred V. Aho. Algorithms for nding patterns in strings. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume A, pages
255{300. Elsevier, Amsterdam, 1990.
[AR88]
IJsbrand Jan Aalbersberg and Grzegorz Rozenberg. Theory of traces. Theoretical Computer Science, 60:1{82, 1988.
[BD93]
Michael Bertol and Volker Diekert. On ecient reduction-algorithms for some trace rewriting systems. In H. Common and J.-P. Jouannaud, editors,
Proceedings of the Term Rewriting., number 909 in Lecture Notes in Computer Science, pages 114{126, Berlin-Heidelberg-New York, 1993. Springer.
[BD96]
Michael Bertol and Volker Diekert. Trace rewriting: Computing normal
forms in time O(n log n). In C. Puech and R. Reischuk, editors, Proceedings
of the 13th Annual Symposium on Theoretical Aspects of Computer Science
1996, number 1046 in Lecture Notes in Computer Science, pages 269{280,
Berlin-Heidelberg-New York, 1996. Springer.
[Ber95]
Michael Bertol. Ecient rewriting in cograph trace monoids. In H. Reichel, editor, Proceedings of the 10th Fundamentals of Computation Theory
(FCT '95), Dresden (Germany) 1995, number 965 in Lecture Notes in Computer Science, pages 146{155, Berlin-Heidelberg-New York, 1995. Springer.
[BL87]
Ronald Book and Hai-Ning Liu. Rewriting systems and word problems in a
free partially commutative monoid. Information Processing Letters, 26:29{
32, 1987.
[BMS83] Alberto Bertoni, Giancarlo Mauri, and Nicoletta Sabadini. Concurrency
and commutativity. Technical report, Instituto di Cibernetica, Universita di
Milano, 1983. Presented at the Workshop on Petri nets, Varenna (Italy),
1982.
[BO93]
Ronald Book and Friedrich Otto. String Rewriting Systems. Texts and
Monographs in Computer Science. Springer Verlag, New York, 1993.
[Boo82]
Ronald Book. Conuent and other types of Thue systems. J. Assoc. Comput.
Mach., 29:171{182, 1982.
[CF69]
Pierre Cartier and Dominique Foata. Problemes combinatoires de commutation et rearrangements. Number 85 in Lecture Notes in Mathematics.
Springer, Berlin-Heidelberg-New York, 1969.
[Cho90]
Christian Chorut. A remark on the representation of trace monoids. Semigroup Forum, 40:143{152, 1990.
107
[CL84]
Mireille Clerbout and Michel Latteux. Partial commutations and faithful
rational transductions. Theoretical Computer Science, 34:241{254, 1984.
[Cle84]
Mireille Clerbout. Commutations Partielles et Familles de Langages. These,
Universite des Sciences et Technologies de Lille (France), 1984.
[CLRW95] Mireille Clerbout, Michel Latteux, Yves Roos, and Pierre-Andre Wacrenier.
A result on conuence for one-rule trace-rewriting systems. Technical Report
IT-95-275, Laboratoire d'Informatique Fondamentale de Lille, Universite des
Sciences et Technologies de Lille, Apr. 1995.
[CM88]
Robert Cori and Yves Metivier. Approximation of a trace, asynchronous
automata and the ordering of events in a distributed system. In Proceedings
of the 15th International Colloquium on Automata, Languages and Programming (ICALP'88), number 317 in LNCS, pages 147{161. Springer, 1988.
[CMZ90] Robert Cori, Yves Metivier, and Wieslaw Zielonka. Applications of trace approximation to asynchronous automata and message passing with bounded
time-stamps in asynchronous networks. Technical report, Univ. Bordeaux,
1990.
[Cou90]
Bruno Courcelle. Graph rewriting: An algebraic and logic approach. In
J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 193{242. Elsevier, Amsterdam, 1990.
[CP85]
Robert Cori and Dominique Perrin. Automates et commutations partielles.
R.A.I.R.O. | Informatique Theorique et Applications, 19:21{32, 1985.
[Dau88]
Max Dauchet. Termination of rewriting is undecidable in the one-rule case.
In M. Chytil et al., editors, Proceedings of the 13th Symposium on Mathematical Foundations of Computer Science (MFCS'88), Carlsbad (CSSR) 1988,
number 324 in Lecture Notes in Computer Science, pages 262{288, BerlinHeidelberg-New York, 1988. Springer.
[Die87]
Volker Diekert. On the Knuth-Bendix completion for concurrent processes. In Th. Ottmann, editor, Proceedings of the 14th International Colloquium on Automata, Languages and Programming (ICALP'87), Karlsruhe
(FRG) 1987, number 267 in Lecture Notes in Computer Science, pages 42{
53, Berlin-Heidelberg-New York, 1987. Springer. Appeared also in a revised
version in Theoretical Computer Science 66:117-136, 1989.
[Die89]
Volker Diekert. Word problems over traces which are solvable in linear time.
In B. Monien et al., editors, Proceedings of the 6th Annual Symposium on
Theoretical Aspects of Computer Science (STACS'89), Paderborn (FRG)
1989, number 349 in Lecture Notes in Computer Science, pages 168{180,
Berlin-Heidelberg-New York, 1989. Springer. Revised and extended version
in Theoretical Computer Science 74 (1990) 3-18.
108
[Die90a]
Volker Diekert. Combinatorial rewriting on traces. In C. Chorut et al.,
editors, Proceedings of the 7th Annual Symposium on Theoretical Aspects
of Computer Science (STACS'90), Rouen (France) 1990, number 415 in
Lecture Notes in Computer Science, pages 138{151, Berlin-Heidelberg-New
York, 1990. Springer.
[Die90b]
Volker Diekert. Combinatorics on Traces. Number 454 in Lecture Notes in
Computer Science. Springer, Berlin-Heidelberg-New York, 1990.
[Die92]
Volker Diekert. Mathematical aspects of trace theory. Mitt. Math. Ges.
Hamburg, 12:1171{1181, 1992. Special issue of the tricentenary.
[Die93]
Volker Diekert. Rewriting, semi-commutations, and Mobius functions. In
Z. E sik, editor, Proceedings of the 9th Fundamentals of Computation Theory
(FCT'93), Szeged (Hungary) 1993, number 710 in Lecture Notes in Computer Science, pages 1{15, Berlin-Heidelberg-New York, 1993. Springer. Invited
Lecture.
[Die94]
Volker Diekert. A partial trace semantics for Petri nets. Theoretical Computer Science, 134:87{105, 1994. Special issue of ICWLC 92, Kyoto (Japan).
[DJ90]
Noam Dershowitz and Jean-Pierre Jouannaud. Rewrite systems. In J. van
Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 243{320. Elsevier, Amsterdam, 1990.
[DMR95] Volker Diekert, Anca Muscholl, and Klaus Reinhardt. On codings of traces. In E.W. Mayr and C. Puech, editors, Proceedings of the 12th Annual
Symposium on Theoretical Aspects of Computer Science (STACS'95), 1995,
number 900 in Lecture Notes in Computer Science, pages 385{396, BerlinHeidelberg-New York, 1995. Springer.
[DR95]
Volker Diekert and Grzegorz Rozenberg, editors. The Book of Traces. World
Scientic, Singapore, 1995.
[Dub85]
Christine Duboc. Some properties of commutation in free partially commutative monoids. Information Processing Letters, 20:1{4, 1985.
[Dub86]
[Fis86]
Christine Duboc. On some equations in free partially commutative monoids.
Theoretical Computer Science, 46:159{174, 1986.
W. Fischer. U ber erkennbare und rationale Mengen in freien partiell kommutativen Monoiden. Report FBI-HH-B-121/86, Fachbereich Informatik der
Universitat Hamburg, Hamburg, 1986. (Diplomarbeit 1985).
[Har78]
Michael A. Harrison. Introduction to Formal Language Theory. AddisonWesley Publishing Company, 1978.
[Hoa78]
C. A. R. Hoare. Communicating sequential processes. Communications of
the Association of Computing Machinery, 21(8):666{677, 1978.
109
[Hoa85]
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, London, 1985.
[HU69]
John E. Hopcroft and Jerey D. Ullman. Introduction to Automata Theory,
Languages and Computation. Addison-Wesley publishing company, 1969.
[Hue80]
Gerard Huet. Conuent reduction: Abstract properties and applications to
term rewriting systems. J. Assoc. Comput. Mach., 27:797{821, 1980.
[HY92]
Kosaburo Hashiguchi and Kazuya Yamada. String matching problems over
free partially commutative monoids. Information and Computation, 101:131{
149, 1992.
[Jan84]
R. Janicki. Mazurkiewicz traces semantics for communicating sequential
processes. In Proceedings of the 5th European Workshop on Appl. and Theory
of Petri Nets, pages 50 { 70, Aarhus, 1984.
[Jan88]
Matthias Jantzen. Conuent String Rewriting. EATCS Monographs on
Theoretical Computer Science 14. Springer, Berlin-Heidelberg-New York,
1988.
[Kel73]
Robert M. Keller. Parallel program schemata and maximal parallelism I.
Fundamental results. Journal of the Association of Computing Machinery,
20(3):514{537, 1973.
[KMP77] Donald E. Knuth, James H. Morris, Jr., and Vaughan R. Pratt. Fast pattern
matching in strings. SIAM Journal on Computing, 6:323{350, 1977.
[Lam78]
Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the Association of Computing Machinery,
21:558{564, 1978.
[LL90]
L. Lamport and L. Lynch. Distributed computing: Models and methods. In
Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 1157{1200. Elsevier, Amsterdam, 1990.
[Lot83]
M. Lothaire. Combinatorics on Words. Addison-Wesley, Reading, M.A.,
1983.
[Maz77]
Antoni Mazurkiewicz. Concurrent program schemes and their interpretations. DAIMI Rep. PB 78, Aarhus University, Aarhus, 1977.
[Maz84]
Antoni Mazurkiewicz. Traces, histories, graphs: Instances of a process monoid. In M. P. Chytil et al., editors, Proceeding of the 11th Symposium on Mathematical Foundations of Computer Science (MFCS'84), Prague, (Czechoslovakia) 1984, number 176 in Lecture Notes in Computer Science, pages
115{133, Berlin-Heidelberg-New York, 1984. Springer.
110
[Maz87]
Antoni Mazurkiewicz. Trace theory. In W. Brauer et al., editors, Petri Nets,
Applications and Relationship to other Models of Concurrency, number 255
in Lecture Notes in Computer Science, pages 279{324, Berlin-HeidelbergNew York, 1987. Springer.
[Mil80] Robin Milner. A Calculus of Communicating Systems. Number 92 in Lecture
Notes in Computer Science. Springer, Berlin-Heidelberg-New York, 1980.
[Mil90] Robin Milner. Operational and algebraic semantics of concurrent processes. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science,
volume B, pages 1201{1242. Elsevier, Amsterdam, 1990.
[MM82] Ernst W. Mayr and Albert R. Meyer. The complexity of the word problems
for commutative semigroups and polynomial ideals. Advances in Math.,
46:305{329, 1982.
[MT90] K. Mehlhorn and A. Tsakalidis. Data structures. In Jan van Leeuwen,
editor, Handbook of Theoretical Computer Science, volume A, pages 301{
335. Elsevier, Amsterdam, 1990.
[NO88] Paliath Narendran and Friedrich Otto. Preperfectness is undecidable for
Thue systems containing only length-reducing rules and a single commutation rule. Information Processing Letters, 29:125{130, 1988.
[Ott89] Friedrich Otto. On deciding conuence of nite string rewriting systems modulo partial commutativity. Theoretical Computer Science, 67:19{36, 1989.
[Ott95] Friedrich Otto. On conuence versus strong conuence for one-rule tracerewriting systems. Mathematical Systems Theory, 28:363{384, 1995.
[Pra86] Vaughan R. Pratt. Modelling concurrency with partial orders. International
Journal of Parallel Programming, 15(1):33{71, 1986.
[Rei85] Wolfgang Reisig. Petri Nets (an Introduction). Number 4 in EATCS Monographs on Theoretical Computer Science. Springer, Berlin-Heidelberg-New
York, 1985.
[WD95] Celia Wrathall and Volker Diekert. On conuence of one-rule trace-rewriting
systems. Mathematical Systems Theory, 28:341{361, 1995.
[WDO92] Celia Wrathall, Volker Diekert, and Friedrich Otto. One-rule trace-rewriting
systems and conuence. In I. M. Havel and V. Koubek, editors, Proceedings
of the 17th Symposium on Mathematical Foundations of Computer Science
(MFCS'92), Prague, (Czechoslovakia), 1992, number 629 in Lecture Notes in
Computer Science, pages 511{521, Berlin-Heidelberg-New York, 1992. Springer.
[Wei94] Mark Allan Weiss. Data Structures and Algorithm Analysis. Benjamin/Cummings Publishing Company, 1994.
111
Index
Symbole
::::::::::::::::::::::::::::::::::::7
(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
Su(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
Su(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 56
hM;n i : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
=)R : : : : : : : : : : : : : : : : : n: : : : : : : : : : : : : 11
`R(t) = maxfn 2 N j t =)R t0 g : : : : : : 11
dR(n) = maxf`R(t) 2 N j jtj = n; t 2
M g : : : : : : : : : : : : : : : : : : : : : : : : : : 12
I : : : : : : : : : : : : : : : : : : : : : : : : : 7
7 M : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13
indt (l) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 93
1 : V ! P (C ) : : : : : : : : : : : : : : : : : : : : : 21
2 : V ! P (LR ) : : : : : : : : : : : : : : : : : : : 21
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 52, 95
n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96
max : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
min
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
=)R : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11
r : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101
r(I; lk ) : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
a : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
fag : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
postt(l) = ta2Ml Fa(t) n l: : : : : : : : : : : : : 93
pret (l) = ta2Ml Ia (t) n l : : : : : : : : : : : : : : 93
min(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
a B i : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97
a B (l; t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98
h(;D) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55
i : l ! t : : : : : : : : : : : : : : : : : : : : : : : : : : : 94
iOj : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101
tC = C (t) : : : : : : : : : : : : : : : : : : : : : : : : : : 94
x y , y =)
R uxv : : : : : : : : : : : : : : : 16
LR : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
F : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :7
R M (; D) : : : : : : : : : : : : : : : : : : : : : : : 11
Dec(; D) : : : : : : : : : : : : : : : : : : : : : : : : : : 53
Dec(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59
Irr(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12
(I1 ; : : : ; In)(i) : : : : : : : : : : : : : : : : : : : : : : 102
(1 ; D1) _ (2; D2) : : : : : : : : : : : : : : : : : 54
(1 ; D1) ^ (2; D2) : : : : : : : : : : : : : : : : : 54
(; D) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
(; D)(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
(; D) (; D) : : : : : : : : : : : : : : : 19, 53
(; D) (; D) : : : : : : : : : : : : : : : 19, 53
(a) B i: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98
CT (l1; l2; R) : : : : : : : : : : : : : : : : : : : : : : : : 17
C : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
CritPair(R) : : : : : : : : : : : : : : : : : : : : : : : : : 17
D : : : : : : : : : : : : : : : : : : : : : : : : : : :7
FN (t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
FN (t) u FN 0 (t) : : : : : : : : : : : : : : : : : : : : : : 93
FN (t) t FN 0 (t) : : : : : : : : : : : : : : : : : : : : : : 93
Ik0 (i) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102
I = ( ) n D: : : : : : : : : : : : : : : : : : : : : : 7
IN (t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
IN (t) u IN 0 (t) : : : : : : : : : : : : : : : : : : : : : : : 92
IN (t) t IN 0 (t) : : : : : : : : : : : : : : : : : : : : : : : 92
Ik (i) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102
L(h(t)) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61
Ld (t) [n] : : : : : : : : : : : : : : : : : : : : : : : : : : 61
M = (Q; ; ; ; q0 ; F; b) : : : : : : : : : : : : : 13
P (h(t)) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61
S (h(t)) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61
[n] : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
G (; D) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
M (; D) = =I : : : : : : : : : : : : : : : : : : : : 7
M =R : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11
O (; D) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
T(; D) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 56
Con(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101
Dec(l) = Dec(h(l)) : : : : : : : : : : : : : : : : : : 60
Dec(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
Dec (; D) : : : : : : : : : : : : : : : : : : : : : : : : : : 54
N -Baume : : : : : : : : : : : : : : : : : : : : : : : : : : 79
Postt (l) = ta2Ml Fa (t) : : : : : : : : : : : : : : : 93
Pret(l) = ta2Ml Ia(t) : : : : : : : : : : : : : : : : : 93
Pref(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
Pref(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
112
Red(R) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12
I(l; t) :: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 103
Ersetzungssystem
gewichtsreduzierendes : : : : : : : : : : : 11
konuentes : : : : : : : : : : : : : : : : : : : : : : 11
langenreduzierendes : : : : : : : : : : : : : 11
noethersches : : : : : : : : : : : : : : : : : : : : 11
normalisiertes :: : : : : : : : : : : : : : : : : : 12
vollstandiges : : : : : : : : : : : : : : : : : : : : 12
A
Abhangigkeitsalphabet : : : : : : : : : : : : : : 7
dekompositionierbares : : : : : : : : : : : 71
zerlegbares : : : : : : : : : : : : : : : : : : : : : : 71
Ableitungsrelation : : : : : : : : : : : : : : : : : : 11
Alphabet : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
atomares : : : : : : : : : : : : : : : : : : : : : : : : 56
F
FACTORIZE : : : : : : : : : : : : : : : : : : : : : : : 73
Faktor : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
Faktoren
kombinierbare : : : : : : : : : : : : : : : : : : 101
zerfaserte : : : : : : : : : : : : : : : : : : : : : : : 53
zusammenhangende : : : : : : : : : : : : : 96
Faktorisierung : : : : : : : : : : : : : : : : : : : 73, 92
Faktorordnung : : : : : : : : : : : : : : : : : : : : : : 95
Faktorvorkommen : : : : : : : : : : : : : : : 16, 95
Filter : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
frei partiell kommutatives Monoid : : : : 7
B
Beschriftungen : : : : : : : : : : : : : : : : : : 21, 61
Buchstaben : : : : : : : : : : : : : : : : : : : : : : : : : : 7
beeintrachtigende : : : : : : : : : : : : : : : 97
sichtbare : : : : : : : : : : : : : : : : : : : : : : : : 45
C
C -Baum : : : : : : : : : : : : : : : : : : : : : : : : : : : 21
Beschriftung : : : : : : : : : : : : : : : : : : : : 21
Hohe : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
Reprasentation : : : : : : : : : : : : : : : : : : 21
Charakterisierung von Faktoren : : : : : 92
Church-Rosser-Eigenschaft : : : : : : : : : : 12
Clique : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
Cographen-Monoid : : : : : : : : : : : : : : 19, 53
COMPOSE : : : : : : : : : : : : : : : : : : : : : : : : : 62
CONCAT : : : : : : : : : : : : : : : : : : : 33, 34, 62
CONCATandREDUCE : : : : : : : : : : 73, 74
CONCATENATE : : : : : : : : : : : : : : : : : : : 29
CONCATTRACE : : : : : : : : : : : : : : : : : : : 36
H
Homomorphismus :: : : : : : : : : : : : : : : : : : : 8
I
Ideal : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 92
INCORPORATE : : : : : : : : : : : : : : : : : : : 30
induziertes Alphabet : : : : : : : : : : : : : : : : : 7
INSERT : : : : : : : : : : : : : : : : : : : : : : : : 29, 83
Intervall : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98
Intervallrelation :: : : : : : : : : : : : : : : : : : : 103
K
D
kombinierbar : : : : : : : : : : : : : : : : : : : : : : 101
Komplexprodukt : : : : : : : : : : : : : : : : 19, 53
Konguration : : : : : : : : : : : : : : : : : : : : : : : 13
akzeptierende : : : : : : : : : : : : : : : : : : : 13
Konuenzproblem : : : : : : : : : : : : : : : : : : : 12
korrekt beschriftet : : : : : : : : : : : : : : : : : : 62
dekomponierbar : : : : : : : : : : : : : : : : : : : : : 72
Dekomposition : : : : : : : : : : : : : : : : : : 53, 60
von Alphabeten 53, 60
von Ersetzungssystemen : : : : : : : : : 60
von linken Seiten : : : : : : : : : : : : : : : : 60
DELETE : : : : : : : : : : : : : : : : : : : : 29, 32, 83
Derivationsrelation :: : : : : : : : : : : : : : : : : 11
Deskription : : : : : : : : : : : : : : : : : : : : : : : : : 53
direkte Summe : : : : : : : : : : : : : : : : : : 19, 53
DIVIDE : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
L
leftQUOTIENT : : : : : : : : : : : : : : : : : : : : : 70
Lemma von Levi : : : : : : : : : : : : : : : : : : : : 58
Links-Derivation :: : : : : : : : : : : : : : : : 12, 74
Linksquotient : : : : : : : : : : : : : : : : : : : : : : : 62
E
M
Einschritttransitionsrelation :: : : : : : : : 13
elementaren Schritte : : : : : : : : : : : : : : : : : 7
Multimenge : : : : : : : : : : : : : : : : : : : : : : : : : : 8
113
N
Subspur : : : : : : : : : : : : : : : : : : : : : : : : : : : : 93
Sux : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60
Normalformen : : : : : : : : : : : : : : : : : : : : : : : 7
Foata : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
Normalformproblem :: : : : : : : : : : : : : : : : 12
nuklear : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 56
T
temporalen Struktur : : : : : : : : : : : : : : : : : 1
Term : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62
korrekt beschrifteter : : : : : : : : : : : : 62
linearer : : : : : : : : : : : : : : : : : : : : : : : : : 53
schwach beschrifteter : : : : : : : : : : : : 79
topologische Permutation : : : : : : : : : : : : : 9
Turingmaschine : : : : : : : : : : : : : : : : : : : : : 13
P
Parikh-Bilder : : : : : : : : : : : : : : : : : : : : : : : 47
partiell geordnete Multimengen : : : : : : : 8
Position : : : : : : : : : : : : : : : : : : : : : : : : : : : : 82
PRED : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
pred : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24
PREPROCESSING : : : : : : : : : : : : : : : : : 48
Produkt
direktes : : : : : : : : : : : : : : : : : : : : : 54, 94
freies : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54
PROJECT : : : : : : : : : : : : : : : : : : : : : : : : : : 63
Projektionen : : : : : : : : : : : : : : : : : : : : : : : : : 9
PROPAGATE1 : : : : : : : : : : : : : : : : : : : : : 31
PROPAGATE2 : : : : : : : : : : : : : : : : : : : : : 37
U
Unentscheidbarkeit : : : : : : : : : : : : : : : : : : 13
V
Vorkommen : : : : : : : : : : : : : : : : : : 80, 93, 94
induziertes : : : : : : : : : : : : : : : : : : : : : : 93
Vorkommen-Morphismus : : : : : : : : : : : : 94
Vorkommenbaum : : : : : : : : : : : : : : : : : : : 80
Vorkommenordnung : : : : : : : : : : : : : 52, 96
R
W
Rechtsquotient : : : : : : : : : : : : : : : : : : : : : : 70
REDUCE : : : : : : : : : : : : : : : : : : : : : : : : : : : 41
REDUCEnSTEPS : : : : : : : : : : : : : : : : : : 50
Reduktionsordnung : : : : : : : : : : : : : : : : : 16
REMOVE : : : : : : : : : : : : : : : : : : : : : : : : : : 32
rightQUOTIENT : : : : : : : : : : : : : : : : : : : 70
wohlgeformte Terme : : : : : : : : : : : : : : : : : 55
Wort-Morphismus : : : : : : : : : : : : : : : : : : : 95
Z
Zerfaserung : : : : : : : : : : : : : : : : : : : : : : : : : 53
zerlegbar : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72
zusammenhangend : : : : : : : : : : : : : : : : : : 96
Zusammenhangskomponente : : : : : : : 101
S
Schnitt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36
Schnittlemma : : : : : : : : : : : : : : : : : : : : : : 100
schwache Beschriftung : : : : : : : : : : : : : : : 79
separiert : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
Sichtbarkeit : : : : : : : : : : : : : : : : : : : : : : : : : 45
SPLIT : : : : : : : : : : : : : : : : : : : : : : : 29, 35, 62
SPLITTRACE : : : : : : : : : : : : : : : : : : 36, 40
Sprungwort : : : : : : : : : : : : : : : : : : : : : : : : 104
Spur : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
irreduzible : : : : : : : : : : : : : : : : : : : : : : 12
reduzible : : : : : : : : : : : : : : : : : : : : : : : : 12
Spurersetzungssystem : : : : : : : : : : : : : : : 11
Spurmonoid : : : : : : : : : : : : : : : : : : : : : : : : : : 7
Spurterm : : : : : : : : : : : : : : : : : : : : : : : : : : 56
korrekt beschrifteter : : : : : : : : : : : : 62
schwach beschrifteter : : : : : : : : : : : : 79
114
Herunterladen