Modellierung von Klassen biologischer Makromoleküle mittels

Werbung
Martin Hildebrand
Modellierung von Klassen biologischer Makromoleküle mittels
stochastischer Grammatiken mit kontextsensitiven Elementen
Dissertation
Martin Hildebrand
Modellierung von Klassen biologischer Makromoleküle mittels
stochastischer Grammatiken mit kontextsensitiven Elementen
Zur Erlangung des Grades
Doktor der Naturwissenschaften der Universität Bielefeld“
”
der Technischen Fakultät der Universität Bielefeld
vorgelegte Dissertation
Bielefeld 2001
Inhalt
Inhalt
iii
Symbolverzeichnis I
v
Symbolverzeichnis II
vii
1
Einleitung
1
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
Mathematische und informatische Grundlagen
Wahrscheinlichkeit
Relationen
Ordnungen
Graphen und Bäume
Konkatenation
Alignments
Formale Grammatiken
Attributierte Grammatiken
3
3
6
7
7
11
12
13
14
3
3.1
3.2
3.3
3.4
3.5
3.6
Biologische und biochemische Grundlagen
Chemische Grundlagen
Die Desoxyribonukleinsäure
Genetische Code
Ribonukleinsäuren
Proteine
Alignments
17
18
20
21
23
25
28
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Hidden Markov Models
Markov-Modelle
Hidden Markov Models
HMMs als reguläre Grammatiken
Das Forward-Backward-Verfahren
Der Viterbi-Algorithmus
Das Baum/Welch-Verfahren
Mehrere Beobachtungssequenzen
29
29
29
30
31
35
38
40
5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
Stochastische kontextfreie Grammatiken
Ableitungen und Syntaxbäume
Stochastische kontextfreie Grammatiken
Parsen
Der Earleysche Algorithmus
(Hn , hn ) und Syntaxbäume
Wahrscheinlichkeiten und Ableitungsbäume
Der Earleysche Algorithmus und Wahrscheinlichkeiten
Abhängigkeiten der I ∈ Hn voneinander
43
43
50
51
52
64
65
86
92
...
iii
Inhalt
5.9
5.10
5.11
5.12
5.13
5.14
Der Algorithmus zur Berechnung von q(I)
Berechnung von q(I) mittels Newton-Verfahren
Zwei Sortieralgorithmen
Algorithmen zur Generierung von Ableitungen aus
Optimierung der Gesamtwahrscheinlichkeit q(u|S)
Biologische Bedeutung und Anwendungsmöglichkeiten
114
129
143
158
196
224
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
Jenseits kontextfreier Grammatiken
Einige Strukturmerkmale biologischer Makromoleküle
Von-Wijngaarden-Grammatiken
Index-Grammatiken
Scattered context grammars
Parallel-Grammatiken
Das Problem der kombinatorischen Explosion
Das Parsen von Parallelgrammatiken
Der erweiterte Earleysche Algorithmus
225
225
226
227
229
230
244
250
267
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
Validation und Beispiele
Laufzeitverhalten und Speicherplatzbedarf des Parsers
Optimierer
Alignment von Proteinen
Klassifikation von Proteinen
Vorhersage der Sekundärstruktur von tRNA
Beispiel für die Anwendungsmöglichkeit einer Parallegrammatik
Sekundärstrukturvorhersage von tRNA mittels Parallelgrammatik
303
303
306
309
311
312
314
318
Anhang
323
Literaturverzeichnis
329
iv
Symbolverzeichnis I
Im folgenden sind die verwendeten mathematischen bzw. informatischen Symbole zusammengestellt, die durchgehend und einheitlich verwendet werden. Symbole, die nur selten verwendet werden bzw. für die hier keine Konvention getroffen wird, werden an Ort und Stelle
erläutert. Die am häufigsten auftretenden biochemischen Symbole, die verwendet werden,
finden sich in einem extra Verzeichnis.
|.|
bezeichnet die Mächtigkeit einer Menge;
bezeichnet die Länge einer Zeichenkette
→
abkürzende Schreibweise für →R
→R
bezeichnet Elemente einer Relation R;
(a, b) ∈ R wird als a →R b geschrieben
⇒
bezeichnet Ableitung (eine spezielle Relation in Zusammenhang mit Grammatiken)
=⇒
bezeichnet die (logische) Konsequenz
⇐⇒
bezeichnet die (logische) Äquivalenz (zweier Aussagen)
2A
die Potenzmenge (d.h. Menge aller Teilmengen) von A
A∗
die Menge aller Zeichenketten über einem Alphabet A
(d.h. einer Menge von Zeichen)
A, B, C, D
Bezeichnungen für Nichtterminalsymbole
A→α
eine Regel (einer Grammatik)
(AL , AR )→(αL , αR )
eine Parallelregel
A→α.β, i, j
eine punktierte Regel (bezeichnet u.a. die Ableitung(en)
α ⇒∗ ui+1 . . . uj )
(AL , AR )→(αL .βL , αR .βR ), i, j, k eine punktierte Parallelregel (bezeichnet u.a. die Parallel”
Ableitung(en)“ zu ui+1 . . . ui+k und uj+1 . . . uj+k )
AB
Konkatenation der Mengen A und B
A
B
die Menge aller Funktionen, die die Menge A auf die Menge
B abbilden
a, b, c
Bezeichnungen für Terminalsymbole
α, β, γ
Bezeichnungen für Folgen von Symbolen
(unabhängig davon, ob es sich um Nichtterminal- oder Terminalsymbolen handelt)
ǫ
das sog. leere Wort
G
eine Grammatik
Gk
eine Parallelgrammatik“
”
I, I ′ , I ′′
punktierte Regeln; I ′ und I ′′ bezeichnen üblicherweise
Vorläuferregeln“
”
K
Menge von Knoten eines Graphen, z.B. eines Baumes
K1
Wurzelknoten eines Baumes
Ki Kj
die Pfadlänge vom Knoten Ki zum Knoten Kj
(geordnete) Menge der ni Nachfolger des Knotens Ki
(Ki , Ki1 , . . . Kini )
(K, k)
Graph bzw. Hypergraph mit der Menge der Knoten K
und der Menge k ⊆ K 2 bzw. k ⊆ K ∗ der Kanten bzw.
Hyperkanten
v
Symbole
K
L(G)
L
λ
N
NL
NR
IN
IN0
O(.)
P
Pk
p
p
q
Q(ui+1 . . . uj |α)
q(ui+1 . . . uj |α)
q(ui+1 . . . uj |K)
IR
S
Σ
σ(K)
U, V , . . . Z
Ui
u, v, . . . z
u−1
u
ui+1 . . . uj
x, y, z
Z
vi
eine Menge von Korrelationen
die durch die Grammatik G erzeugte Sprache
eine Menge von Korrelationen
die leere Folge
eine Menge von Nichtterminalsymbolen
die Menge der Linkssymbole“
”
die Menge der Rechtssymbole“
”
die Menge der natürlichen Zahlen,
IN = {1, 2, 3, . . . }
IN0 = IN ∪ {0}
bezeichnet die Ordnung (einer Funktion) im Sinne der
Komplexität
Menge von Regeln (einer Grammatik)
eine Menge von Parallelregeln“
”
eine Regel, bisweilen auch eine Wahrscheinlichkeit
eine Regelfolge
eine Wahrscheinlichkeit
die Menge aller Regelfolgen, mit denen α zu der Zeichenfolge ui+1 . . . uj abgeleitet werden kann
die Summe der Wahrscheinlichkeiten aller Ableitungen
α ⇒∗ ui+1 . . . uj
die Summe der Wahrscheinlichkeiten aller Pfade vom Knoten K bis zu Knoten, denen die Zeichenfolge ui+1 . . . uj
zugeordnet ist
die Menge der rellen Zahlen
das Startsymbol
ein Alphabet, d.h.(endliche) Menge von Zeichen bzw.
Terminalsymbolen
die dem Knoten K zugeordnete Symbolfolge
Bezeichnung für Nichtterminal- oder Terminalsymbole
Bezeichnung für ein einzelnes Terminalsymbol, nämlich
das, das sich an i-ter Position (in einer Folge von Terminalsymbolen) befindet
Bezeichnung für eine Folge von Terminalsymbolen
das Inverse einer Sequenz
das Komplement einer Sequenz
eine fortlaufende Teilfolge von Terminalsymbolen (nämlich
von Position i bis Position j aus der Folge u von
Terminalsymbolen
Vektoren, Punkte in IRn
(evtl. mit Index) der Zustand eines (stochastischen)
Prozesses
Symbolverzeichnis II
Im folgenden sind die am häufigsten verwendeten biochemischen Symbole zusammengestellt.
Es handelt sich im wesentlichen um die sog. Ein-Buchstaben-Codes der (zwanzig proteinogenen) Aminosäuren sowie der (fünf unmodifizierten) Nucleoside.
Die ältere Drei-Buchstaben-Bezeichnung ist zusätzlich in Klammern hinter dem Namen der
jeweiligen Aminosäure vermerkt; am gebräuchlichsten ist jedoch der Ein-Buchstaben-Code,
vor allem die Sequenzen längerer Proteinmoleküle werden ausschließlich hiermit angegeben.
A
Ade
C
Cyt
D
dT
E
F
G
m22 G
Gua
H
I
K
L
M
N
P
ψ
Q
R
S
T
Thy
U
Ura
V
W
Y
die Aminosäure L-Alanin (Ala);
das Nucleosid Adenosin,
evtl. auch Desoxyadenosin (dA)
die Purinbase Adenin
die Aminosäure L-Cystein (Cys);
das Nucleosid Cytidin;
evtl. auch Desoxycytidin (dC)
die Pyrimidinbase Cytosin
die Aminosäure L-Asparaginsäure (Asp)
das Nucleosid Thymidin
die Aminosäure L-Glutaminsäure (Glu)
die Aminosäure L-Phenylalanin (Phe)
die Aminosäure L-Glycin (Gly);
das Nucleosid Guanosin,
evtl. auch Desoxyguanosin (dG)
das Nucleosid N2 -Dimethylguanosin
die Purinbase Guanin
die Aminosäure L-Histidin (His)
die Aminosäure L-Isoleucin (Ile)
die Aminosäure L-Lysin (Lys)
die Aminosäure L-Leucin (Leu)
die Aminosäure L-Methionin (Met)
die Aminosäure L-Asparagin (Asn)
die Aminosäure L-Prolin (Pro)
das Nucleosid Pseudouridin
die Aminosäure L-Glutamin (Gln)
die Aminosäure L-Arginin (Arg)
die Aminosäure L-Serin (Ser)
die Aminosäure L-Threonin (Thr);
das Nucleosid Thymidin (korrekt wäre dT)
die Pyrimidinbase Thymin
das Nucleosid Uridin
die Pyrimidinbase Uracil
die Aminosäure L-Valin (Val)
die Aminosäure L-Tryptophan (Trp)
die Aminosäure L-Tyrosin (Tyr)
vii
Symbole
viii
1 Einleitung
Seit einiger Zeit besteht zunehmendes Interesse an Verfahren zur Beschreibung und Analyse
von DNA, RNA und Proteinen, deren Struktur in erster Näherung als Sequenz von Monomeren beschrieben werden kann. Dieses Interesse ist nicht zuletzt durch das human genome
project bedingt, in dessen Verlauf die gesamte menschliche Erbinformation sequenziert werden wird, die immerhin drei Milliarden Basenpaare umfaßt. Ähnliche Projekte existieren in
bezug auf andere Organismen. Einen Überblick über die für die Analyse solcher Sequenzdaten üblichen Verfahren gibt Waterman (1989).
Selbstverständlich spielen statistische Verfahren keine unwesentliche Rolle. So können z.B.
Korrelationsanalysen Aufschluß darüber geben, welche Gemeinsamkeiten zwischen verschiedenen Sequenzen (innerhalb einer Molekülfamilie) bestehen könnten oder auch, welche Abhängigkeiten innerhalb einer Sequenz bestehen könnten. Solche statistischen Zusammenhänge
spielen auch bei den sog. Hidden Markov Models (HMM), eine Rolle. So waren Haussler
et al. (1992) nicht nur in der Lage mit HMMs zu entscheiden, ob ein vorliegendes Protein
zu der vorgegebenen Proteinfamilie gehört, sondern es war ihnen sogar möglich, alignments
zwischen den Proteinen der Familie herzustellen.
Statistische Gesichtspunkte spielen auch im folgenden eine Rolle. Seit Searls (1988, 1992a,
1992b und 1995b) darauf hingewiesen hat, daß sog. formale Grammatiken, insbesondere
kontextfreie Grammatiken, sich dazu eignen, bestimmte Aspekte der DNA und RNA zu
beschreiben, sind verschiedene Arbeiten erschienen, die diesen Ansatz verfolgen. So konnten Zuker (1989) und Sakakibara et al. (1993) mittels sog. stochastischer kontextfreier
Grammatiken (SCFG) nicht nur alignments zwischen RNA-Sequenzen herstellen, sondern
auch deren Sekundärstruktur rekonstruieren. An dieser Stelle sei angemerkt, daß ein HMM
als stochastische Grammatik aufgefaßt werden kann, und zwar als stochastische rechtslineare
Grammatik, die weitaus weniger komplex ist als eine SCFG.
Formale Grammatiken scheinen auf natürliche Weise wichtige Eigenschaften der biologischen
Makromoleküle widerzuspiegeln; viele wichtige Abhängigkeiten und Strukturelemente (z.B.
Schleifen) können leicht in Form von Regeln solcher formaler Grammatiken gefaßt werden.
Natürlich soll damit nicht gesagt werden, daß diesen Regeln tatsächlich eine biologische
Realität zukommt, die Evolution als Ganzes und die Genese einzelner Makromoleküle also
tatsächlich die physikalische Realisierung formaler Grammatiken darstellten.
Die oben erwähnten kontextfreien Grammatiken unterliegen leider gewissen Einschränkungen. Diese erleichtern zwar ihre Handhabbarkeit, machen es aber unmöglich, viele wichtige,
biologisch relevante Gegebenheiten zu beschreiben, z.B. Pseudoknoten oder auch nur einfache, parallel verlaufende Stränge. Aus diesem Grunde schlägt Searls Grammatiken vor, die
allgemeiner als kontextfreie sind.
Hieraus ergibt sich die Fragestellung für diese Arbeit: Inwieweit sind die für SCFG bestehenden Methoden auf allgemeinere Grammatiken anwendbar? Inwieweit bieten derartige
verallgemeinerte Verfahren Vorteile? Besonderes Augenmerk wird auf das Problem des parsing zu richten sein, also bei einer gegebenen Grammatik und einem vorliegenden Biomolekül
zu ermitteln, wie dieses Biomolekül mit der Grammatik generiert werden kann. Im allgemeinen dürfte dieses Problem von exponentieller Komplexität sein, da einem parse eine mögliche
Sekundärstruktur entspricht, deren Anzahl aber mit der Kettenlänge exponentiell zunimmt.
1
1 Einleitung
2
2 Mathematische und informatische Grundlagen
In diesem Kapitel sollen die mathematischen und informatischen biologischen Grundlagen
dargestellt werden. Wichtige Grundbegriffen sollen eingeführt werden, Notation und Nomenklatur werden festgelegt.
2.1 Wahrscheinlichkeit
An dieser Stelle soll darauf verzichtet werden, den Begriff der Wahrscheinlichkeit zu definieren — ganz davon abgesehen, daß dieses Problem meines Wissens bislang philosophisch
auch nicht befriedigend gelöst ist. Es sollen hier nur die verwendete Notation und einge
grundlegende Formeln eingeführt werden.
Sei Z eine sog. Zufallsvariable, d.h. eine Größe, deren Wert durch ein sog. Zufallsexperiment
ermittelt wird. Zuvor ist ihr Wert undefiniert. Die möglichen Werte, die eine Zufallsgröße
annehmen kann, werden als Elementarereignisse bezeichnet. Die Menge all dieser Werte sei
W . Nichtleere Teilmengen dieses Wertebereiches W werden mögliche Ereignisse genannt.
Nach Durchführung eines Zufallsexperimentes kann die betrachtete Zufallsgröße einen Wert
aus einer solchen Teilmenge angenommen haben, dann heißt es, daß dieses Ereignis realisiert
wurde, also stattgefunden hat. Sollte der Wert nicht aus einer der betrachteten Teilmengen
stammen, dann hat das entsprechende Ereignis nicht stattgefunden. Ein Beispiel möge das
Gesagte verdeutlichen: Als Zufallsexperiment werde ein sechseitiger Spielewürfel geworfen,
eine von sechs Seiten zeigt schließlich nach oben. Die Menge W der Elementarereignisse ist
nun {w1 , w2 , w3 , w4 , w5 , w6 }, wobei wi dafür steht, daß die Seite mit i Punkten oben liegt.
Mögliche Ereignisse wären nun z.B. {w1 , w3 , w5 } (es wurde eine ungerade Augenzahl geworfen) oder {w6 } (es wurde die Sechs geworfen). Das Ereignis W heißt das sichere Ereignis,
das Ereignis {} heißt das unmögliche Ereignis. (Letzteres läßt sich z.B. so deuten, daß nach
dem Zufallsexperiment die Zufallsvariable auf jeden Fall einen Wert angenommen hat. Dieser
liegt selbstverständlich nicht in der leeren Menge. Dementsprechend kann ein Ereignis, das
der leeren Menge entspräche, niemals eintreten.)
An dieser Stelle soll der Begriff des zusammengesetzten Ereignisses eingeführt werden. Seien
Zx und Zy zwei Zufallsvariablen mit den nicht unbedingt unterschiedlichen Wertebereichen
Wx und Wy möglicher Werte. Dann kann eine kombinierte Zufallsgröße Z = (Zx , Zy ) definiert
werden, sie kann alle möglichen Werte aus W = Wx × Wy annehmen. Eine Teilmenge von
W heißt zusammengesetztes Ereignis. Die Ereignisse Wx und Wy selbst heißen einfache
Ereignisse. Es wird vorausgesetzt, daß die Werte der Zufallsvariablen Zx und Zy in zwei
getrennten“ Zufallsexperimenten bestimmt werden, die beiden Zufallsvariablen heißen dann
”
von einander unabhängig.
Jeder Aussage A über den Wert einer Zufallsvariablen Z kann nun eine sogenannte Wahrscheinlichkeit
p(A) ∈ IR, 0 ≤ p(A) ≤ 1
(i)
zugeordnet werden. (Anm.: Üblicherweise wird die Wahrscheinlichkeit den Ereignissen selbst
zugeordnet und die betroffene Zufallsvariable nicht explizit gemacht. Von dieser Konvention
wird hier der besseren Deutlichkeit halber abgewichen.)
Für das sichere Ereignis gilt
p(Z∈W ) = 1
(ii)
womit sich für das unmögliche Ereignis (in Verbindung mit iii, s.u.) p(Z6∈W ) = 0 ergibt.
3
2 Mathematische Grundlagen
Für einander sich ausschließende Ereignisse Wi , Wj ⊆ W , Wi ∩ Wj = {} gilt
p(Z∈Wi ∨ Z∈Wj ) = p(Z ∈ Wi ∪ Wj ) = p(Z∈Wi ) + p(Z∈Wj )
(iii)
(Anm.: Für das zu Wi komplementäre Ereignis W \ Wi gilt dann p(Z ∈ (W \ Wi )) = p(Z ∈
/
Wi ) = 1 − p(Wi ).)
Die Aussagen i–iii stellen die sog. Kolgomorovschen Axiome (Bronstein/Semjadamew
1980) dar, mittels derer die Wahrscheinlichkeit als ein Grundbegriff behandelt werden kann,
der nicht weiter definiert wird.
Damit kann auch die Wahrscheinlichkeit, im obigen Beispiel eine Drei zu würfeln, berechnet werden. Unter der Annahme von Symmetrie, d. h., daß keine Würfelseite bevorzugt ist
(in anderen Worten, die Bepunktungen“ der einzelnen Seiten können beliebig permutiert
”
werden, ohne daß dies einen Unterschied macht), liegt nahe, daß p(Z=w3 ) = p(Z=wi ) für
i = 1, 2, 4, 5, 6. Da {wi } ∩ {wj } = {} für i 6= j, i, j = 1, 2, . . . 6, gilt p(Z = w1 ) + p(Z =
w2 ) + . . . p(Z=w6 ) = p(Z∈W ) = 1, woraus u.a. folgt p(Z=w3 ) = 16 .
Für ein zusammengesetztes Ereignis Wa × Wb ⊆ Wx × Wy gilt
p((Zx , Zy ) ∈ Wa × Wb ) = p(Zx ∈ Wa ) · p(Zy ∈ Wb )
(2.1-1)
Es bleibt noch der Begriff der bedingten Wahrscheinlichkeit einzuführen. Hier werden an
die Werte, die die Zufallsvariable annehmen kann, bestimmte Bedingungen gestellt. Anders formuliert: der Wertebereich W wird eingeschränkt (auf WB ). Praktisch könnte dies so
aussehen, daß der Zufallsvariablen Z nur dann ein Wert zugewiesen wird, wenn er in dem
eingeschränkten Wertebereich WB liegt. Eine andere Betrachtungsweise wäre die eines zwei”
stufigen“ Zufallsexperimentes: Der Wert, den die Zufallsvariable annimmt, bestimmt sich in
zwei Schritten. Nach dem ersten Schritt ist das Experiment in eine bestimmte Bahn gelenkt
und die Zufallsvariable kann nur noch bestimmte Werte annehmen. Formuliert man die Bedingung als Z ∈ WB dann ist die Wahrscheinlichkeit dafür, daß Z unter dieser Bedingung
einen Wert aus WA ⊆ WB annimmt:
p(Z∈WA |Z ∈ WB ) =
p(Z∈WA )
p(Z∈WB )
(2.1-2)
Sollte die Voraussetzung WA ⊆ WB nicht erfüllt sein, so nimmt diese Gleichung folgende
Gestalt an:
p(Z ∈ WA ∩ WB )
p(Z∈WA |Z ∈ WB ) =
p(Z ∈ WB )
Diese Formel ist auch als Satz von Bayes geläufig.
Zwischen zusammengesetzten Ereignissen und bedingten Wahrscheinlichkeiten besteht der
im folgenden ausgeführte Zusammenhang. Hierzu wird die zusammengesetzte Zufallsvariable
Z = (Zx , Zy ) mit den Ereignissen Wa × Wy und Wx × Wb betrachtet, wobei Wa ⊆ Wx und
Wb ⊆ Wy . Wx und Wy stellen die sicheren Ereignisse dar (bezogen auf die Komponenten Zx
und Zy von Z). Deswegen sind folgende Aussagen äquivalent: Zx ∈ Wa ⇐⇒ Z ∈ Wa × Wy
4
2.1 Wahrscheinlichkeit
und Zy ∈ Wb ⇐⇒ Z ∈ Wx × Wb . (Die jeweils rechten Terme sind so zu interpretieren,
daß die zusätzliche, trivialer Weise wahre Aussage gemacht wird, daß die Komponente Zy
bzw. Zx irgend einen Wert aus Wy bzw. Wx angenommen hat.) Damit sind dann auch die
entsprechenden Wahrscheinlichkeiten gleich. p(Zx∈Wa ) = p(Z ∈ Wa × Wy ) und p(Zy∈Wb ) =
p(Z ∈ Wx × Wb ). In 2.1-1 eingesetzt ergibt
p(Z ∈ Wa × Wb ) = p(Z ∈ Wa × Wy ) · p(Z ∈ Wx × Wb )
und durch den rechten Faktor dividiert:
p(Z ∈ Wa × Wy ) =
p(Z ∈ Wa × Wb )
p(Z ∈ Wx × Wb )
Interpretiert man p(Z ∈ Wa × Wy ) als bedingte Wahrscheinlichkeit, also die Wahrscheinlichkeit dafür, daß Z ∈ Wa × Wb wenn (bereits) Z ∈ Wx × Wb , so läßt sich die vorige Gleichung
als
p(Z ∈ Wa × Wb )
P (Z ∈ Wa × Wb | Z ∈ Wx × Wb ) =
p(Z ∈ Wx × Wb )
schreiben. Dies ist aber genau Gleichung 2.1-2, wenn WA := Wa × Wb und WB := Wx × Wb
gesetzt werden.
Bezüglich bedingter Wahrscheinlichkeiten wäre noch der Satz von der totalen Wahrscheinlichkeit (Rosanow 1974) zu nennen: Sei WB = ∪ni=1 Wi , mit Wi ∩ Wj für i 6= j. (WB zerfällt
also in paarweise disjunkte Teilmengen.) Dann ist:
n
X
i=1
p(Z∈WA |Z∈Wi ) = p(Z∈WA )
(2.1-3)
Die beschriebenen Gleichungen sollen an drei Beispielen illustriert werden.
1. Gefragt sei nach der Wahrscheinlichkeit mit zwei Würfeln einen Pasch aus Dreien zu werfen. Die den Würfeln zugeordneten Zufallsvariablen seien Zx und Zy . Das interessierende
Ereignis {(w3 , w3 )} ist ein zusammengesetztes Ereignis, das sich direkt als kartesisches Produkt der einfachen Ereignisse {w3 } und {w3 } schreiben läßt. Damit ist Satz 2.1-1 anwendbar
und liefert (mit Hilfe des obigen Beispiels)
p(Zx=w3 ∧ Zy=w3 ) = p(Zx=w6 ) · p(Zx=w6 ) =
1 1
1
· =
6 6
36
.
2. Gefragt sei nach der Wahrscheinlichkeit mit zwei Würfeln eine Drei zu werfen. Das interessierende Ereignis ist das zusammengesetzte Ereignis W1 = {(w1 , w3 ), (w2 , w3 ), (w3 , w1 ),
(w3 , w2 ), (w3 , w3 ), (w3 , w4 ), (w3 , w5), (w3 , w6 ), (w4 , w3 ), (w5, w3 ), (w6 , w3 )}. Dieses läßt sich
nicht als kartesisches Produkt darstellen, so daß Satz 2.2-1 nicht anwendbar ist. Dies ist aber
für das komplementäre Ereignis W2 der Fall (nämlich gar keine Drei zu werfen): W2 = W \
W1 = {w1 , w2 , w4 , w5 , w6 } × {w1 , w2 , w4 , w5 , w6}. Mit der Beziehung, die für komplementäre
Ereignisse gilt, wird erhalten p(Zx ∈ {w1 , w2 , w4 , w5, w6 }) = p(Zy ∈ {w1 , w2 , w4 , w5 , w6 }) =
p(Zx6∈{w3 }) = 1 − p(Zx=w3 ) = 65 . Daraus ergibt sich dann
p((Zx , Zy) ∈ W1 ) = p((Zx , Zy ) ∈
/ W2 ) = 1 −
11
5 5
· =
6 6
36
5
2 Mathematische Grundlagen
Eine Alternative zu dieser Vorgehensweise wäre folgende Zerlegung:
W1 = ({w1 , w2, w4 , w5 , w6 } × {w3 }) ∪ ({w3 } × {w3 }) ∪ ({w3 } × {w1 , w2 , w4 , w5 , w6 } × {w3})
Damit liegen dann sich ausschließende Ereignisse vor und es ergibt sich schließlich p((Zx , Zy ) ∈
W1 ) = 56 · 16 + 61 · 61 + 61 · 56 = 11
.
36
3. Das dritte Beispiel sei eines für bedingte Wahrscheinlichkeit. Wie groß ist die Wahrscheinlichkeit dafür, daß, wenn einer der Würfel eine Drei zeigt, der andere eine Vier zeigt? Formal:
p(Zx=w4 ∨ Zy=w4 |(Zx , Zy )∈W1 )
(Wobei W1 in Beispiel 2. eingeführt wurde. Die Bedingung Zx =w4 ∨ Zy =w4 läßt sich auch
schreiben als (Zx , Zy ) ∈ W3 , W3 = {(w3 , w4 ), (w4 , w3 )}, wobei W3 ⊆ W1 (wie es ja auch bei
Gleichung 2.1-2 Voraussetzung ist). Es ist (wie es sich mit den in Beispiel 2. verwendeten
1
1
1
+ 36
= 18
. Damit ergibt sich dann für die
Verfahren zeigen ließe) p((Zx , Zy ) ∈ W3 ) = 36
bedingte Wahrscheinlichkeit:
p((Zx , Zy )∈W3 |(Zx , Zy )∈W1 ) =
1 11
2
/ =
18 36
11
In der Praxis sind Wahrscheinlichkeiten i.allg. nicht bekannt. (Sieht man von den Fällen
ab, wo Wahrscheinlichkeiten direkt aufgrund theoretischer Überlegungen (unter bestimmten Symmetrieannahmen) angegeben werden können — wie etwa im obigen Beispiel, wo die
Wahrscheinlichkeit, eine Drei zu würfeln, ermittelt wurde.) Daher wird an Stelle der Wahrscheinlichkeit die sog. relative Häufigkeit verwendet. Dies ist die Anzahl der Fälle, wo eine
Meßgröße (die an Stelle der obigen Zufallsvariablen tritt) einen bestimmten Wert angenommen hat, dividiert durch die Anzahl aller Fälle, wo die Meßgröße bestimmt wurde. Auf die
Beziehung zwischen Wahrscheinlichkeit und relativer Häufigkeit bei wiederholten Versuchen
soll hier nicht eingegangen werden.
2.2 Relationen
In diesem und dem folgenden Abschnitt beziehe ich mich auf Aho/Ullman (1972, Abschnitt
0.1) und Denning/Dennis/Qualitz (1978, Abschnitt 2.3.1).
Seien A und B zwei Mengen. Dann heißt eine Teilmenge R von A × B Relation von A nach
B. Sollte A = B sein, handelt es sich um eine Relation auf A. Die Aussage (a, b) ∈ R wird
hier als a →R b notiert.
Eine Relation heißt
1. reflexiv ⇐⇒ ∀a ∈ A: a →R a
2. irreflexiv ⇐⇒ ¬∃a: a →R a
3. symmetrisch ⇐⇒ ∀a, b ∈ A: a →R b =⇒ b →R a
4. asymmetrisch ⇐⇒ ∀a, b ∈ A: a →R b =⇒ ¬(b →R a)
5. antisymmetrisch ⇐⇒ ∀a, b ∈ A: a →R b ∧ b →R a =⇒ a = b
6. transitiv ⇐⇒ ∀a, b ∈ A: a →R b ∧ b →R c =⇒ a →R b
Für eine Relation R kann die transitive Hülle auf A definiert werden. Dies ist eine neue
Relation R+ , so daß (a, b) ∈ R+ (notiert als a →R+ b), genau dann, wenn es eine Folge
c1 , c2 , . . . cn ∈ A, n ∈ IN0 gibt, so daß a →R c1 , ∀1 < i ≤ n : ci−1 →R ci und cn →R b.
6
2.3 Ordnungen
R+ ist nicht notwendigerweise reflexiv, kann aber zu der transitiven und reflexiven Hülle R∗
erweitert werden: R∗ := R+ ∪ {(a, a) | a ∈ A}.
2.3 Ordnungen
Eine Teilordnung auf der Menge A ist eine transitive und irreflexive Relation R auf dieser
Menge. Die Relation R ist damit asymmetrisch. (Beweis: Sei a→b, a6= b. Angenommen es
wäre b→a. Dann folgte wegen der Transitivität a→a im Widerspruch zur Irreflexivität.)
Die lineare Ordnung (oder auch totale Ordnung) ist eine spezielle Teilordnung. Hier gilt
∀a, b ∈ A: a→b ∨ b→a ∨ a=b.
Eine reflexive Teilordnung ist eine transitive, reflexive und antisymmetrische Relation.
Die reflexive lineare Ordnung ist ein Spezialfall der reflexiven Teilordnung. Auch hier gilt
∀a, b ∈ A: a→b ∨ b→a.
2.4 Graphen und Bäume
Sei A eine Menge. Betrachtet wird nun eine Teilmenge K ⊆ A, sowie eine Teilmenge k ⊆
K × K. Dann heißt das Paar (K, k) (einfacher) Graph (über A). (k stellt eine Relation auf
A dar.) Die Elemente von K heißen Knoten, die von k heißen Kanten. (Anm.: Die Kanten
sind gerichtet, da es sich um geordnete Paare von Knoten handelt.) (K ′ , k ′ heißt Teilgraph
von (K, k), wenn K ′ ⊆ K und k ′ ⊆ k.
Eine Verallgemeinerung von Graphen stellen die Hypergraphen dar. Dieser Begriff wird
hier der Vollständigkeit eingeführt; von der entsprechenden Notation wird später Gebrauch
gemacht. Sei A eine Menge, so bezeichnet An die Menge aller n-tupel über A, An :=
{(a1 , a2 , . . . an ) | a1 , a2 , . . . an ∈ A}. a1 , a2 , . . . an heißen Komponenten von (a1 , a2 , . . . an ).
Der Vollständigkeit halber seien noch A0 := {()}, wobei () als das leere Tupel (oder auch
Nulltupel) bezeichnet wird, und A1 := {(a1 ) | a1 ∈ A}, die Menge der Monotupel, eingeführt. Damit wird nun die Menge aller Tupel definiert: A∗ := {a | ∃n : a ∈ An }. Sind
a = (a1 , a2 . . . an ) ∈ A∗ und b = (b1 , b2 , . . . bm ) ∈ A∗ , so heißt b Teiltupel von a, wenn es ein
k ∈ IN0 gibt, so daß ∀j, 1 ≤ j ≤ m : bj = aj+k .
(Anm.: In Abschnitt 2.5 wird sich eine Überschneidung bzgl. der Notationen An und A∗ insofern ergeben, als diese dort dann Mengen von Zeichenketten bezeichnen. Da jedoch beide
Notationen allgemein üblich sind und sie letztendlich nur einen Unterschied in der Sprechweise bedeuten, wird zwischen ihnen hier nicht unterschieden. Im übrigen wird sich aus dem
Kontext ergeben, was gemeint ist.)
Sei K ⊆ A und k ⊆ K ∗ . Dann ist (K, k) ein sog. Hypergraph (über A). Elemente aus K ∗
werden als Hyperkanten bezeichnet. Elemente der Form (a1 , a2 ), a1 , a2 ∈ A entsprechen den
Kanten (einfacher) Graphen. Elemente der Form (a1 ) und das Nulltupel stellen definitionsgemäß Hyperkanten dar. Erstere sind nicht mit Knoten zu identifizieren, da mit a1 ∈ K
nicht (a1 ) ∈ k gewährleistet ist.
Zurück zu (einfachen) Graphen. Eine Folge von (nicht notwendigerweise paarweise verschiedenen) Kanten (Ki0 , Ki′1 ), (Ki1 , Ki′2 ), . . . (Kin−1 , Ki′n ), n ≥ 1, heißt Pfad (von Ki0 nach Kin )
wenn für alle j, 0 < j ≤ n, der Endpunkt einer Kante identisch mit dem Anfangspunkt der
nächsten ist, also i′j = ij . Die Anzahl n der Kanten heißt Länge des Pfades. Ein Pfad von
7
2 Informatische Grundlagen
einem Knoten nach dem Knoten selbst (also i0 = in ) heißt Zykel. Ein Zykel der Länge 1
wird als Schlaufe bezeichnet. Im folgenden werden zykelfreie Graphen vorausgesetzt. (Man
beachte, daß die Kantenmenge k dann eine irreflexive und asymmetrische Relation sein muß,
da sonst Schlaufen, sowie Zykel der Länge 2 aufträten.)
Seien Ki ∈ K und Kj ∈ K zwei (beliebige) Knoten. Dann heißt Ki Vorläuferknoten von Kj ,
wenn der Graph die Kante (Ki , Kj ) enthält. Entsprechend heißt Kj der Nachfolgerknoten
von Ki . Die Kante (Ki , Kj ) wird als von Ki abgehend (bzw. in Ki beginnend) und als
in Kj ankommend (bzw. in Kj endend) bezeichnet. Gibt es zu jedem Knoten höchstens
einen Vorläuferknoten, dann heißt der Graph Wald. Ein Knoten, der keinen Vorläuferknoten
besitzt, heißt Wurzel. Entsprechend heißt ein Knoten, der keinen Nachfolgerknoten besitzt
Blatt. Knoten, die keine Blätter sind, heißen innere Knoten. Hat der Graph genau eine
Wurzel, so wird er als Baum bezeichnet. Ein Teilbaum von (K, k) ist ein Teilgraph (K ′ , k ′ ),
K ′ ⊆ K, k ′ ⊆ k, so daß (K ′ , k ′ ) Baum ist und dessen Wurzel gleich der Wurzel von (K, k)
ist. Der zu Knoten Ki gehörige Unterbaum umfaßt Ki (die Wurzel dieses Unterbaums),
alle von Ki abgehenden Kanten und die Kanten und Knoten aller Unterbäume, die zu dem
Nachfolgerknoten Ki gehören. Der zu einem Blatt gehörige Unterbaum umfaßt nur das Blatt.
(Anm.: Unterbäume stellen ebenfalls Teilgraphen dar.)
Meistens ist jedoch mit Baum“ eine Einbettung des entsprechenden Graphens gemeint.
”
(Auf eine formale Definition sei hier verzichtet, anschaulich handelt es sich bei der Einbettung eines Graphens um eine graphische Darstellung dieses in der Ebene.) Solche Einbettungen sollen nun betrachtet werden. Hierfür wird eine totale Ordnung auf den Nachfolgerknoten eines Knotens Ki festgelegt. (Entsprechend dieser Ordnung sind damit auch
die zu diesen Nachfolgerknoten gehörenden Unterbäume geordnet.) Hierfür wird die Notation (Ki , Ki1 , Ki2 , Ki3 , . . . Kini ) eingeführt, wobei ni ≥ 0. Dies bedeutet, daß der Graph die
Kanten (Ki , Ki1 ), (Ki , Ki2 ), (Ki , Ki3 ), . . . (Ki , Kini ) enthält. Hierbei ist ni die Anzahl der
Kanten, die vom i-ten Knoten ausgehen, i, i1 , i2 usw. sind beliebige Indizes, mit denen die
Knoten unterscheidbar bezeichnet werden. (Anm.: Für in = 0 handelt es sich bei dem Knoten
Ki um ein Blatt; die entsprechende Notation entartet zu (Ki ).) Man beachte, daß hierbei die
Nachfolgerknoten (entsprechend der festgelegten Ordnung) in einer bestimmten ReihenfolQ
ge aufgezählt werden. Zu einem Baum mit m Knoten gibt es also m
j=1 nj ! unterschiedliche
Einbettungen, wobei der j-te Knoten nj Nachfolgerknoten hat. Eine solche Einbettung wird
als Menge T ⊆ K ∗ der sie konstituierenden Tupel notiert. Durch die Wahl einer solchen
Einbettung wird eine Abbildung t: K → K ∗ festgelegt, die jedem Knoten des Graphen das
Tupel zuordnet, das aus diesem Knoten und (der geordneten Folge) seiner Nachfolgerknoten
besteht.
Im folgenden ist mit dem Begriff Baum“ (bzw. Teilbaum“ bzw. Unterbaum“) nicht nur der
”
”
”
Graph (K, k), sondern stets auch eine bestimmte Einbettung T = {t(Ki ) | Ki ∈ K} gemeint.
Üblicherweise werden auch nur deren Elemente (Ki , Ki1 , Ki2 , . . . Kim ) genannt; die Existenz
des entsprechenden Teilgraphen ({Ki , Ki1 , Ki2 , . . . Kim }, {(Ki , Ki1 ), (Ki , Ki2 ), . . . (Ki , Kim )})
wird vorausgesetzt, ohne daß dieser explizit gemacht würde. Entsprechend wird der Begriff
Knoten“ auch für das Tupel t(Ki ) ∈ T gebraucht, und nicht nur für das Element Ki der
”
Knotenmenge.
In bezug auf die oben angesprochene mögliche graphische Darstellung (von Bäumen) wird
der Knoten Kij als links neben dem Knoten Kik bezeichnet, wenn j = k − 1 und als links
von Kik , wenn j < k ist. Entsprechendes gilt auch für die Kanten (Ki , Kij ) und (Kk , Kik ).
Analog heißt Kik rechts neben Kij wenn k = j + 1 und rechts von Kij wenn k > j ist.
8
2.4 Graphen und Bäume
Mit der oben eingeführten Notation für einen Knoten samt seinen Nachfolgerknoten können
Bäume auch als Hypergraphen formalisiert werden. Hiervon wird bei Bedarf auch Gebrauch
gemacht werden.
In einem Baum kann auf den Knoten eine (totale) Ordnung festgelegt werden. Hier sollen
dafür zwei Verfahren angegeben werden. Bei beiden wird jedem Knoten eine Folge (natürlicher) Zahlen als Nummer“ zugeordnet.
”
1. (i) Die Wurzel erhält die Nummer 1. (ii) Hat ein Knoten (Ki , Ki1 , Ki2 , . . . Kin ) die Nummer
j ∈ IN∗ , so wird die Nummer für den Nachfolgerknoten Kik erhalten, indem die Zahl k als
(ein weiteres Folgenglied) an die Nummer j angefügt wird. (iii) Die Ordnung auf den Knoten
ergibt sich nun gemäß der lexikalischen Ordnung (s.u.) ihrer Nummern. (Diese entspricht
einer Tiefensuche.)
2. Die unter 1. beschriebene Numerierung wird erweitert, indem jeder dieser Nummern eine
Zahl vorangestellt wird: (i) Der Nummer der Wurzel wird die Zahl 0 vorangestellt. (ii)
Wurde der Nummer eines Knoten die Zahl k vorangestellt, so wird den Nummern seiner
Nachfolgerknoten die Zahl (k + 1) vorangestellt. (iii) Die Knoten können nun abermals
entsprechend der lexikalischen Ordnung ihrer Nummern geordnet werden. (Dieser Ordnung
entspricht nun eine Breitensuche.)
Anm.: Der Begriff der lexikalischen Ordnung wird in Abschnitt 2.5 definiert. Dieser kann
ohne weiteres für die hier verwendeten Nummern“ der Knoten übernommen werden, wenn
”
an Stelle einer Konkatenation“ von Zahlen deren Folge tritt.
”
Schließlich sei noch der Begriff der Tiefe eines Baumes eingeführt. Betrachtet man alle Pfade,
die mit der Wurzel des Baumes beginnen und mit einem Blatt enden, so ist die Tiefe des
Baumes die Länge des längsten dieser Pfade. Bezüglich von Unterbäumen gilt, daß die Tiefe
des zu Ki gehörenden Unterbaums um 1 größer ist, als das Maximum der Tiefen der zu
den Nachfolgerknoten von Ki gehörenden Unterbäume. Besteht der (Unter-)Baum nur aus
einem Blatt, so ist dessen Tiefe 0. Zwischen der Tiefe eines Baumes und den vorgestellten
Knotennumerierungen bestehen folgende Zusammenhänge. (Ohne Beweis:) Beim 1. Verfahren ist die Tiefe um 1 kleiner als die Anzahl der Elemente der längsten“ Nummer. Beim 2.
”
Verfahren ist die Tiefe die größte aller vorangestellten Nummern.
An dieser Stelle seien einige Funktionen auf Bäumen eingeführt, die gewissermaßen Proto”
typen“ von in Kapitel 5 benutzten Funktionen sind.
Sei (K, k) Baum mit der Einbettung T . Die Funktion τ : K → K ∗ liefert zu einem Knoten Ki ∈ K die Knotenfolge, die einer auf dem zu Ki gehörenden Unterbaum angewandte
Tiefensuche ergäbe:
τ (Ki ) =
(
Ki wenn t(Ki ) = (Ki )
Ki , τ (Ki1 ), τ (Ki2 ), . . . τ (Kim ) wenn t(Ki ) = (Ki , Ki1 , Ki2 , . . . Kim )
(Anm.: Der erste Zweig der Definition trifft zu, wenn der Knoten Ki ein Blatt ist, der zweite
Zweig stellt eine Rekursion auf die zu den Nachfolgerknoten von Ki gehörenden Unterbäumen
dar.) Insbesondere liefert τ (K1 ) die geordnete Folge aller Knoten des Baums (entsprechend
einer Tiefensuche (vgl. oben, Punkt 1.)).
Für den Beweis wird zuvor ein Hilfssatz gezeigt:
Sei ν(Ki ) = j1 , j2 , . . . jm−1 , jm die Nummer des Knoten Ki . Dann ist für alle Knoten Kl der
Folge τ (Ki ): ν(Kl ) < j1 , j2 , . . . jm−1 , (jm = 1) (Hilfssatz). <“ bezeichnet hier die Relation
”
9
2 Informatische Grundlagen
lexikalisch kleiner als“.) Dies kann nun mittels Induktion über die Tiefe von Unterbäumen
”
gezeigt werden.
(i) Ki ist Blatt, der zu Ki gehörende Unterbaum hat die Tiefe 0 und τ (Ki ) umfaßt nur das
einzige Folgenelement Ki . Da ν(Ki ) = j1 , j2 , . . . jm−1 , jm ist ν(Ki ) < j1 , j2 , . . . jm−1 , (jm=1).
(ii) Sei Ki Wurzel eines Unterbaumes mit von 0 verschiedener Tiefe. Dann hat Ki Nachfolgerknoten, also t(Ki ) = (Ki , Ki1 , Ki2 , . . . Kin ). Mit ν(Ki ) = j1 , j2 , . . . jm−1 , jm ist ν(Ki1 ) =
j1 , j2 , . . . jm−1 , jm , 1; ν(Ki2 ) = j1 , j2 , . . . jm−1 , jm , 2; usw. bis zu schließlich ν(Kin ) = j1 ,j2 ,
. . . jm−1 ,jm ,n. Mit der Definition von τ ist τ (Ki ) = Ki , τ (Ki1 ), τ (Ki2 ), . . . τ (Kin ). Da die zu
Ki1 usw. gehörenden Unterbäume eine um 1 geringere Tiefe haben ist die Induktionsvoraussetzung auf τ (Ki1 ),τ (Ki2 ), . . . τ (Kin ) anwendbar, die Nummern der Knoten dieser Folgen
sind also jeweils kleiner als j1 , j2 , . . . jm−1 , jm , 2 (für Ki1 ); j1 , j2 , . . . jm−1 , jm , 3 (für Ki2 ); usw.
j1 ,j2 , . . . jm−1 ,jm ,n + 1 (für Kin ), also sämtlich lexikalisch kleiner als j1 , j2 , . . . jm−1 , (jm=1).
Für die Nummer von Ki gilt dieses sowieso. Damit ist gezeigt, daß für alle Knoten Kl der
Folge τ (Ki ) gilt ν(Kl ) < j1 , j2 , . . . jm−1 , (jm=1). Somit ist der Hilfssatz für einen Unterbaum
beliebiger Tiefe bewiesen.
Der Beweis des ursprüngliches Satzes kann nun ebenfalls mittels Induktion über die Tiefe
von Unterbäumen geführt werden.
(i) Hat der zum Knoten Ki gehörende Unterbaum die Tiefe 0, besteht also nur aus einem
Blatt, so liefert τ (Ki ) die nur aus dem Folgenglied Ki bestehende Folge, die trivialerweise
geordnet ist.
(ii) Hat der Unterbaum eine von 0 verschiedene Tiefe, so liefert τ (Ki ) = Ki ,τ (Ki1 ),τ (Ki2 ),
. . . τ (Kin ). Nach Induktionsvoraussetzung sind die zu den Unterbäumen mit der um 1 verringerten Tiefe geordnet. Es bleibt noch zu zeigen, daß die Ordnung auch über die Grenzen
von Teilfolgen erhalten bleibt. Ki habe die Nummer ν(Ki ) = j1 , j2 , . . . jm−1 , jm . Nach Konstruktion ist ν(Ki1 ) = j1 , j2 , . . . jm−1 , jm , 1. Die Nummern der Knoten des zu Ki1 gehörenden
Unterbaums sind gemäß der Konstruktion allesamt lexikalisch größer als diese. Damit ist
gezeigt, daß die lexikalische Ordnung für die Teilfolge Ki , τ (Ki1 ) erhalten bleibt. Betrachtet
werden nun (ohne Beschränkung der Allgemeinheit) die Teilfolgen τ (Ki1 ) und τ (Ki2 ). Da
ν(Ki2 ) = j1 , j2 , . . . jm−1 , jm , 2 ist, gemäß obigem Hilfssatz sämtliche Knoten von τ (Ki1 ) jedoch eine Nummer haben die kleiner ist als diese, bleibt die lexikalische Ordnung auch über
die Grenze zwischen den beiden Teilfolgen τ (Ki1 ) und τ (Ki2 ) erhalten. Die gleiche Argumentation gilt für die übrigen Teilfolgen, so daß τ (Ki ) tatsächlich eine lexikalisch geordnete
Folge von Knoten liefert.
Verbleibt noch zu zeigen, daß τ (Ki ) tatsächlich sämtliche Knoten des zu Ki gehörenden Unterbaums liefert. Dieses ergibt sich jedoch unmittelbar aus der Definition von τ : Ein Knoten
erscheint in der Folge τ (Ki ), wenn auch sein Vorläuferknoten dort auftritt, wie unmittelbar
anhand der rechten Seite der Definition ersichtlich ist. Wenn ein Knoten nicht in der Folge
τ (Ki ) auftritt, dann auch sein Vorläufer nicht und letztendlich auch Ki selbst nicht, was
im Widerspruch zur Definition steht. Damit liefert τ (Ki ) alle Knoten des zu Ki gehörenden
Unterbaums in lexikalischer Reihenfolge.
Analog zu obigen Funktion τ wird die Funktion β : K → K ∗ . Diese liefert die Knotenfolge,
die eine auf zu dem jeweiligen Knoten gehörenden Unterbaum durchgeführte Breitensuche
ergäbe:
β(Ki) =
(
Ki wenn t(Ki ) = Ki
Ki , Ki1 , Ki2 , . . . Kin , β(Ki1 ), β(Ki2 ), . . . β(Kim ) wenn t(Ki ) = (Ki , Ki1 , Ki2 , . . . Kim )
Die Folge aller Knoten des Baumes mit der Wurzel K1 ist β(K1 ).
10
2.5 Konkatenation
Die Funktion b: K → K ∗ liefert die (von links nach rechts) geordnete Folge der Blätter des
zu dem jeweiligen Knoten gehörenden Unterbaums:
b(Ki ) =
(
Ki wenn t(Ki ) = Ki
b(Ki1 ), b(Ki2 ), . . . b(Kim ) wenn t(Ki ) = (Ki , Ki1 , Ki2 , . . . Kim )
Die Folge aller Blätter des Baumes mit der Wurzel K1 wird mit b(K1 ) erhalten. (Anm.: Die
Ordnung der Blätter entspricht sowohl der einer Tiefen-, als auch der einer Breitensuche.
Dies ist unmittelbar aus den Definitionen von τ und β ersichtlich, da beide bei Weglassen
der inneren Knoten zusammenfallen.)
2.5 Konkatenation
Auf die sich im folgenden ergebende Überschneidung mit der in Abschnitt 2.4 eingeführten
Notation (für Mengen von Tupeln) wird hingewiesen. Im allgemeinen wird sich aus dem
Zusammenhang ergeben wird, was gemeint ist. Die Gleichartigkeit beider Notationen weist
auf die zugrundeliegende gemeinsame Struktur hin.
Seien a ∈ A und b ∈ B zwei Elemente. Dann wird mit ab die Konkatenation von a und
b bezeichnet. Diese Operation wird durch einfaches Hintereinanderschreiben dieser beiden
Elemente realisiert. Diese Operation ist assoziativ.
Damit kann die Konkatenation der beiden Mengen A und B elementweise definiert werden:
AB := {xy | x ∈ A, y ∈ B}
Die Konkatenation AA wird als A2 notiert. Entsprechend kann An , n ≥ 2, rekursiv definiert
werden:
An := AAn−1
Hierbei ist A1 := A.
In praktisch interessierenden Anwendungen sind die Elemente von A meistens sog. Zeichen,
wie sie z.B. durch die Buchstaben des lateinischen Alphabets realisiert sind. Elemente aus
An werden als Zeichenketten (über A) bezeichnet. Sei u eine solche Zeichenkette. Dann ist
ihre Länge |u|, also
|u| = n ⇐⇒ u ∈ An
Elemente aus A werden bei Bedarf auch als Zeichenketten der Länge 1 aufgefaßt.
Für die Anzahl der Elemente von An gilt
|An | = |A|n
(2.5-1)
Hierbei bezeichnet |A| die Anzahl der Elemente von A.
Es erweist sich als günstig, obige Notation auf A0 auszudehnen und die Beziehung 2.5-1
beizubehalten. Dann enthält A0 genau ein Element (das von allen Elementen von A verschieden ist). Dieses Element wird als ǫ notiert; {ǫ} = A0 . Es wird auch bisweilen als die
leere Zeichenkette oder das leere Wort bezeichnet. Für seine Länge gilt |ǫ| = 0.
11
2 Informatische Grundlagen
Weiterhin wird die Menge A∗ eingeführt. Anschaulich ist sie die Menge aller möglichen
Zeichenketten (über A) von beliebiger Länge. Formal: A∗ = {u | ∃n ∈ IN0 : u ∈ An }. A∗
ist bezüglich der Konkatenation ein Monoid mit ǫ als neutralem Element. Bisweilen ist das
Auftreten des leeren Wortes ausgeschlossen, so daß A[+] := A∗ \ {ǫ} definiert wird.
Sollte A die leere Menge sein, so wird {}0 := {ǫ} definiert; {}∗ wäre dann ebenfalls {ǫ}.
Auf A∗ kann die sog. lexikalische Ordnung < definiert werden. Sei <A eine totale Ordnung
(vgl. Abschnitt 2.3) auf A, dann kann diese zur lexikalischen Ordnung auf A∗ erweitert
werden.
ǫ
< u für alle u ∈ A∗ \ {ǫ}
xu < yv ⇐⇒ x <A y ∨ (x = y ∧ u < v)
(2.5-2)
Hierbei ist x, y ∈ A und u, v ∈ A∗ . Anm. (ohne Beweis): Die lexikalische Ordnung ist ebenfalls total.
2.6 Alignments
Hier soll eine formale Definition eines Alignments gegeben werden. Auf deren biologische
Bedeutung wird in Abschnitt 3.6. eingegangen. Sei A eine Menge von Symbolen. Sei − ein
nicht in A auftretendes Symbol, − ∈
/ A. Es wird nun eine Funktion p: (A ∪ {−})∗ → A∗ wie
folgt (rekursiv) definiert: Seien a ∈ A, u ∈ A∗ , b ∈ A ∪ {−} und v ∈ (A ∪ {−})∗ .
p(ǫ)
p(−)
p(a)
p(bv)
=
=
=
=
ǫ
ǫ
a
p(b)p(v)
u heißt nun Projektion von v wenn p(v) = u. (Anschaulich wird u aus v erhalten, indem in
der Zeichenkette v jedes Vorkommen des nicht in A enthaltenen Zeichens − getilgt wird.)
Seien u′ , u′′ , . . . u(k) Zeichenfolgen aus A∗ . Seien ferner v ′ , v ′′ , . . . v (k) Zeichenfolgen aus
(i) (i)
(A ∪ {−})∗ , wobei v (i) = v1 , v2 , . . . vn(i) und v (i) = p(u(i) ). Die k × n-Matrix mit den
Zeilen v (i) heißt nun Alignment von u′ , u′′ , usw. bis u(k) , wenn in jeder Spalte dieser Matrix
(i)
mindestens ein Symbol aus A auftritt, also ∀j: ∪ki=1 {vj } =
6 {−}.
Die Güte eines Alignments ist nun durch eine Bewertungsfunktion (A ∪ {−})k×n → IR (bzw.
→ IN (da (A ∪ {−})k×n abzählbar ist)) gegeben.
Üblicherweise wird gefordert, daß bei möglichst vielen Spalten der Matrix ein Zeichen möglichst oft auftritt (bzw. in einer Spalte möglichst wenig unterschiedliche Zeichen auftreten)
und n (die Anzahl der Spalten) möglichst klein ist. Vielfach werden Bewertungsfunktionen
verwendet, die auf den paarweisen Vergleich von Sequenzen zurückgehen.
Durch das Einführen einer Abstandsfunktion ((A ∪ {−})∗ )2 → IR wird ein Abstand zwischen zwei Zeichenketten vi1 und vi2 definiert. Dieser Abstand kann z.B. als Summe der
(zeichenweisen) Abstände über alle Positionen festgelegt sein, wobei z.B. zwei Zeichen den
Abstand 0 haben wenn sie gleich und den Abstand 1 wenn sie verschieden sind. (Viele Varianten hiervon sind denkbar, z.B. können auch Gruppen von Zeichen betrachtet werden,
oder aufeinanderfolgende −“-Zeichen ergeben einen Bonus“, usw.). Ein anderer Ansatz
”
”
12
2.7 Formale Grammatiken
um solche Bewertungsfunktionen zu erhalten, geht von spaltenweisen Statistiken aus (z.B.
wie homogen ist eine Spalte bzgl. der in ihr auftretenden Zeichen?“).
”
Viele andere Möglichkeiten sind denkbar.
Mit diesen soeben angedeuteten Verfahren ist es möglich, die Alignments zu bewerten. Das
Alginment-Problem besteht nun darin, unter vorgegebenen Bewertungsfunktionen optimale
Alignments zu finden.
2.7 Formale Grammatiken
In diesem Abschnitt beziehe ich mich auf Aho/Ullman (1972, Abschnitt 2.1) und Aho
(1968). Eine Grammatik G ist ein Quadrupel (N, Σ, P, S), wobei N eine endliche Menge
sogenannter Nichtterminalsymbole, Σ eine endliche Menge von Terminalsymbolen (bisweilen
wird Σ auch als Alphabet bezeichnet), P eine Relation von (N∪Σ)∗ N∗ (N∪Σ)∗ nach (N∪Σ)∗
und S ∈ N ein ausgezeichnetes Symbol, das sogenannte Startsymbol ist. Die Elemente aus P
werden als Regeln oder Produktionen bezeichnet und als α →P β (oder abgekürzt α → β)
notiert.
Es wird folgende Konvention getroffen: a, b, c, . . . bezeichnen i.allg. Elemente aus Σ, A,B,C,D,
. . . stehen i.allg. für Elemente aus N; U, V, W ∈ N ∪ Σ; α, β, γ, . . . ∈ (N ∪ Σ)∗ , u, v, . . . z ∈ Σ∗
und u1 , u2 . . . un ∈ Σ. Letztere bezeichnen das erste, zweite, usw. bis zum n-ten Symbol
der Zeichenfolge u. Wo diese Symbole nicht ausreichen, werden diese mit Strichen, Tilden
oder Indizes versehen. Darüber hinaus wird bei Bedarf auf chemische Symbole und andere
aussagekräftige zurückgegriffen.
Um umfangreiche Regeln zu notieren, sollen zwei abkürzende Schreibweisen verwendet werden:
Seien α → β und α → γ zwei Regeln, deren linke Seite gleich ist. Dann kann geschrieben
werden: α → β|γ. (Entsprechend auch für mehr als zwei Regeln.)
Seien α1 →β1 und α2 →β2 zwei Regeln, die mit indizierten Symbolen formuliert sind. Dann
kann geschrieben werden αi→βi für i = 1, 2. (Entsprechend auch für mehr als zwei Regeln.)
Unter Umständen wird auch Mehrfachindizierung verwendet werden.
Auf (N ∪ Σ)∗ wird die Relation ⇒G (oder abgekürzt ⇒) (gesprochen wird abgeleitet zu“)
”
definiert: Es ist α ⇒ β genau dann, wenn α = α1 α2 α3 und β = α1 β1 α3 und α2→β1 . Bisweilen
α2 →β1
wird auch α ⇒ β geschrieben werden, um zu verdeutlichen, aufgrund welcher Regel aus
P diese Relation besteht.
Die reflexive und transitive Hülle der Relation ⇒ wird mit ⇒∗ bezeichnet. Mit dieser kann
nun L(G), die Sprache, die durch die Grammatik G erzeugt wird, definiert werden:
L(G) = {w ∈ Σ∗ | S ⇒∗ w}
Die Elemente von L(G) werden als Wörter (oder Sätze) der Sprache bezeichnet.
Satzformen auf G werden rekursiv definiert: S ist eine Satzform. Ist αβγ Satzform und gilt
β → δ so ist auch αδγ Satzform.
An dieser Stelle sei angemerkt, daß Sprachen auch anders als über Grammatiken definiert
werden können. Eine Möglichkeit ist eine explizite Aufzählung der Wörter der Sprache.
13
2 Informatische Grundlagen
Eine andere besteht darin, einen Automaten anzugeben, der nur Sätze der zu definierenden
Sprache akzeptiert um danach in einem entsprechend definierten Haltezustand zu stoppen.
Es können verschiedene Mengen von Sprachen, sogenannte Klassen, definiert werden. Eine
Klasse von Sprachen zeichnet sich dadurch aus, daß sie bezüglich bestimmter Operationen
(auf ihren Elementen) abgeschlossen ist. Typische solcher Operationen sind u.a. Vereinigung, Konkatenation, Bildung der Kleeneschen Hülle und Schneiden mit regulären Mengen.
(Anm.: Die Kleensche Hülle einer Menge von Zeichenketten wird durch beliebig fortgesetzte
Konkatenation der in der Menge enthaltenen Zeichenketten erhalten. Sie stellt die Verallgemeinerung der in Abschnitt 2.5 (auf Mengen von Zeichen) eingeführten, mit ∗ bezeichneten
Operation auf Mengen von Zeichenketten dar. Auf die Definition Regulärer Mengen sei hier
verzichtet, da gezeigt werden kann, daß diese den durch reguläre Grammatiken (s.u. bei
Typ 3“) erzeugten Sprachen äquivalent sind.)
”
An dieser Stelle sei noch die Chomsky-Hierarchie erwähnt. Diese unterscheidet vier Typen
von Grammatiken.
Vom Typ 0 sind die uneingeschränkten Grammatiken. Hierzu gehören alle Grammatiken (gem. obiger Definition).
Vom Typ 1 sind die kontextsensitiven Grammatiken. Hier wird zusätzlich zu obiger
Definition gefordert, daß sämtliche Produktionen α→β nicht kontrahierend sind, also
|β| <
6 |α|. Ausgenommen hiervon ist die mögliche Produktion S→ǫ.
Vom Typ 2 sind die kontextfreien Grammatiken. Hier sind nur Produktionen α→β
mit |α| = 1, also der Form A→β, A ∈ N zulässig. Das heißt, auf der linken Seite einer
Regel kann jetzt nur noch ein Nicht-Terminalsymbol stehen.
Vom Typ 3 schließlich sind die regulären Grammatiken. Diese können entweder rechtsoder linkslineare Grammatiken sein. Die Produktionen müssen dann entweder von der
Form A → uB (im Falle der rechtslinearen Grammatik) oder von der Form A → Bu
(im Falle der linkslinearen Grammatik), A, B ∈ N, u ∈ Σ∗ , sein. In beiden Fällen ist
es allerdings auch möglich, daß das Nichtterminalsymbol fehlt und die Regel einfach
die Form A→u hat. Auf der rechten Seite der Regeln darf also höchstens ein Nichtterminalsymbol stehen, das dann entweder grundsätzlich ganz rechts oder ganz links
steht.
2.8 Attributierte Grammatiken
Eine Grammatik (N, Σ, P, S) kann zu einer attributierten Grammatik (N, Σ, P, (S, s), A, F )
erweitert werden (s.a. Knuth 1968, 1971). Hierbei ist A die Menge der Attribute, F die
Menge der (monadischen) Funktionen die A auf A abbilden (also F ⊆ AA ) und s ∈ A
das dem Startsymbol zugeordnete Attribut. An Stelle der Menge der Produktionen tritt
eine Teilmenge von (N ∪ Σ)∗ N∗ (N ∪ Σ)∗ × (N ∪ Σ)∗ × F , d.h. jeder Produktion ist eine
Funktion zugeordnet. Als Schreibweise für solche attributierten Produktionen (α, β, f ) soll
α→f β verwendet werden.
Jeder Satzform kann nun ein Attribut zugeordnet werden. Dies geschieht analog zur Definition der Satzformen (vgl. Abschnitt 2.7). Dem Startsymbol S ist das Attribut s zugeordnet.
Ist αβγ Satzform mit dem Attribut a und gilt β → f δ so erhält die Satzform αδγ das
14
2.8 Attributierte Grammatiken
Attribut f (a). Es sei angemerkt, daß derartige Attributierungen von Satzformen von der jeweiligen Ableitung abhängig und daher nicht notwendigerweise eindeutig sind. Auf derartige
Probleme wird an entsprechender Stelle eingegangen.
Solche Attributierungen können z.B. sinnvoll sein um einer Grammatik eine Semantik zuzuordnen. Eine andere Anwendung sind die sog. stochastischen Grammatiken. Hierbei sind
die Attribute Wahrscheinlichkeiten, also A = {p ∈ IR | 0 ≤ p ≤ 1}, und die Funktionen aus
F Operatoren auf Wahrscheinlichkeiten, also z.B. die Multiplikation mit einer Wahrscheinlichkeit (also F = {fc | fc: A → A, x 7→ c · x, c ∈ A}).
15
2 Informatische Grundlagen
16
3 Biologische und biochemische Grundlagen
Hier soll ein kurzer Überblick über die molekularbiologischen Grundlagen gegeben werden,
auf die später Bezug genommen wird. Für weitergehende Einzelheiten sei auf die üblichen
Lehrbücher der Biochemie (z.B. Karlson 1988) und Molekulargenetik (z.B. Knippers
1985 oder Lewin 1987) oder Nachschlagewerke (wie z.B. Jakubke/Jeschkeit 1975) verwiesen.
Die molekulare Grundlage der Vererbung ist die Desoxyribonukleinsäure, die meistens mit
DNA (deoxyribonucleic acid) abgekürzt wird. Die DNA stellt, um einen von Schrödinger
(1944) bei der Untersuchung der physikalischen Grundlagen der Vererbung geprägten Begriff
zu verwenden, einen aperiodischen Kristall dar. Die Grundeinheit ist ein Plättchen“ von
”
etwa 1,1 nm Länge, der halben Breite und etwa 0,3 nm Dicke. Diese Plättchen, von denen es zwei chemisch unterschiedliche Arten gibt, wobei jeweils noch eine Drehung um 180◦
möglich ist, so daß sich vier verschiedene Möglichkeiten ergeben, sind in der DNA gewissermaßen aufeinander gestapelt“. Da sie fast die gleiche Form und Größe haben, erscheint
”
dieser Stapel nach außen hin homogen und stellt tatsächlich so etwas wie einen eindimensionalen Kristall dar. Diese grobe Skizze der DNA wird weiter unten verfeinert werden. Hier
sei nur noch erwähnt, daß jedes dieser Plättchen aus zwei verschiedenen, nur leicht mit einander verknüpften, Untereinheiten besteht. Diese können sich zeitweilig von einander lösen,
wodurch die in ihnen codierte Information nach außen hin in Erscheinung tritt.
Dadurch ist diese Information weiterer Verarbeitung zugänglich. Sie wird auf ein anderes
Molekül übertragen, indem sich an die nun freiliegenden Untereinheiten entsprechende kom”
plementäre“ Untereinheiten jenes anderen Moleküls anlagern und einen neuen Strang bilden.
Dieser Strang gehört zur Klasse der Ribonukleinsäuren, abgekürzt RNA (ribonucleic acid),
und heißt Boten-RNA (mRNA, messenger RNA). Der Vorgang der Informationsübertragung
von DNA auf mRNA wird als Transkription bezeichnet.
An dieser Stelle sei das Phänomen der reversen Transkription erwähnt. Hierbei wird das
Grundprinzip, das die DNA Träger der Erbinformation ist, durchbrochen. Es gibt nämlich
Viren, die nicht auf DNA sondern auf RNA basieren. Da die Viren sich zur Expression ihrer genetischen Information (deren Ziel einzig und allein die Replikation der Viren ist) der
Maschinerie ihrer Wirtsorganismen bedienen, muß die virale RNA erst in DNA zurücküber”
setzt“ werden. Dieser Vorgang wird als reverse Transkription bezeichnet.
Nachdem die mRNA einer Reihe von Verarbeitungsschritten unterworfen wurde, gelangt sie
zu ihrem Bestimmungsort, dem Ribosom. Das Ribosom stellt einen Komplex aus ribosomaler
RNA (rRNA) und Proteinen dar. Entsprechend der in der mRNA enthaltenen Information
wird hier eine Folge von Aminosäuren kettenartig aneinander gefügt, wodurch ein neues
Protein entsteht. Dieser Vorgang heißt Translation.
Eine wesentliche Rolle bei der Translation spielt die sogenannte Transfer-RNA (tRNA). Sie
stellt eine Verbindung aus RNA und Aminosäure dar. Im Ribosom lagert sich diese tRNA an
die mRNA an. Hierbei besteht wiederum ein Komplementaritätsprinzip, so daß sich an die
jeweiligen Stellen der mRNA nur eine gewisse, passende tRNA anlagern kann. Dann wird die
an die tRNA gebundene Aminosäure von der tRNA abgespalten und an die somit wachsende
Kette von Aminosäuren angefügt. Es gibt verschiedene Arten von tRNA; entsprechend der
Basenfolge auf der mRNA, wo sie sich anlagern, tragen diese tRNAs die dazu gehörigen
Aminosäuren. Auf diese Weise ist die Translation, die Umsetzung der Information der DNA
bzw. mRNA in ein Protein sichergestellt.
17
3 Biochemische Grundlagen
Viele Proteine stellen einfach nur sogenannte Strukturproteine dar. Ihre Aufgabe besteht
darin, die physikalische Struktur des Organismus aufrechtzuerhalten. Ein Beispiel hierfür
ist das Kollagen des Bindegewebes. Andere Proteine sind sogenannte Enzyme, ihre Eigenschaft ist es, bestimmte Reaktionen zu beschleunigen. Wiederum andere Proteine haben keine
eigenständige Funktion. Sie lagern sich an andere Moleküle an und können so z.B. Enzyme blockieren oder aktivieren. Dadurch ist die wechselseitige Beeinflussung von Reaktionen
möglich. Erst dadurch ist ein sinnvolles“ Zusammenspiel gegeben ohne das letztendlich
”
kein Leben möglich wäre. Auf diese Art und Weise ist auch die DNA gewissermaßen auf sich
selbst rückgekoppelt: Die Vorgänge der Transkription und Translation führen schließlich zu
Proteinen, die auch gerade diese Vorgänge der Transkription und Translation beeinflussen.
Dieser Abschnitt sei mit einer Anmerkung abgeschlossen. In der obigen Darstellung wurden
die Nukleinsäuren als die informationstragenden, die Proteine als die agierenden Moleküle
dargestellt. Diese Spezialisierung und die dadurch gegebene Verschränkung von Nukleinsäuren und Proteinen ist sicherlich eine Folge der Evolution, aber durchaus nicht zwingend. So ist
katalytisch wirksame RNA bekannt, die als Ribozym (von Ribonukleinsäure“ und Enzym)“
”
”
bezeichnet wird. Andererseits sind auch informationstragende Systeme von Proteinen denkbar. Man denke hier z.B. an eine Population von Proteinen, deren enzymatische Aktivität
(über ganze Reaktionsketten) gerade auf die Synthese dieser Proteine hin gerichtet ist. Hier
sind nun unter bestimmten Voraussetzungen Gleichgewichte möglich, wobei jedes Protein
in einer bestimmten Konzentration auftritt. Eine Störung einer solchen Konzentrationsverteilung führt auch zur einer entsprechenden Änderung der enzymatischen Aktivitäten, so
daß die ursprünglichen Verhältnisse wieder hergestellt werden. Die Konzentrationen, die im
Gleichgewicht vorliegen, wären dann als gespeicherte Information zu betrachten. Evolution
auf einer solchen Basis scheint durchaus denkbar. Auf diese und ähnliche Fragen geht z.B.
Dyson (1985) ein.
In den folgenden sechs Abschnitten sollen nun die für diese Arbeit wichtigen (bio)chemischen
und biologischen Grundlagen detaillierter dargestellt werden.
3.1 Chemische Grundlagen
Die in der Biologie häufigsten und für das grundlegende Verständnis des Lebens wichtigsten
Elemente finden sich in den ersten beiden Perioden des Periodensystems. Es sind Kohlenstoff
(C), Sauerstoff (O), Stickstoff (N) und Wasserstoff (H). In den Nukleinsäuren treten keine
anderen Elemente auf, und selbst die meisten Aminosäuren bestehen aus ihnen. Ausnahmen
sind nur Cystein und Methionin, die zusätzlich Schwefel (S) enthalten.
Der vorherrschende Bindungstyp ist der der sog. kovalenten Bindung. Sie besteht zwischen
zwei Atomen und wird durch ein gemeinsames Elektronenpaar vermittelt, wozu jedes der
beiden Atome ein Elektron beisteuert. Charakteristisch für sie ist ihre räumliche Ausgerichtetheit. Entlang von Einfachbindungen besteht i.allg. freie Drehbarkeit: die durch Einfachbindungen verbundenen Molekülteile sind im Raum frei gegeneinander verdrehbar, wobei die
Einfachbindung quasi als Achse“ wirkt. In chemischen Formel wird die kovalente Bindung
”
durch einen Strich, der die betreffenden Atomsymbole verbindet, symbolisiert.
Weiterhin wichtig ist die ionische Bindung. Atome oder Atomgruppen sind durch die Abgabe
oder Aufnahme von Elektronen elektrisch geladen. Die Wechselwirkung zwischen solchen
Atomen oder Atomgruppen beruht auf elektrostatischen Kräften. Diese sind ungerichtet
und in der Anzahl der beteiligten Partner prinzipiell nicht beschränkt. Die Ladungen werden
18
3.1 Chemische Grundlagen
O
H
C
+
H3N
H
O
H
COO-
H2COH
HOCH2
OH
C
HO
C
C
H
H
C
C
H
OH
H2COH
H
C
OH
H
C
OH
H
C
HO
C
H
O
OH
H
C
C
H
OH
H
C
OH
H2COH
Abb. 3.1-1: Die Aminosäure L-Serin (links) und D-Glycerinaldehyd (zweite Formel von links)
(die Bezugssubstanz der Zucker) und D-Glucose (dritte Formel von links). Normalerweise liegt
D-Glucose als zyklisches Halbacetal (rechts) vor. Dies erhält man aus der Aldehydform durch
Nachhintenbiegen“ (bezogen auf die Papierebene) des oberen und unteren Ende des (senkrecht
”
gezeichneten) Kohlenstoffgerüsts. Hierbei reagiert das Sauerstoffatom am fünften Kohlenstoffatom
mit dem ersten (von oben gezählt) Kohlenstoffatom. Eine Drehung dieses Gebildes im Uhrzeigersinn
führt dann auf die rechts gezeichnete Formel.
durch Plus- und Minuszeichen symbolisiert.
Einen für die Biochemie wichtige Sonderstellung nehmen die sog. Wasserstoffbrückenbindungen ein. Wasserstoff-Stickstoff- und Wasserstoff-Sauerstoff-Bindungen sind durch eine gewisse
Polarität gekennzeichnet. Diese Bindungen stellen gewissermaßen einen elektrischen Dipol
dar, ohne jedoch daß die beteiligten Atome in ionischer Form vorlägen. Die hierbei partiell
positiv geladenen Wasserstoffatome können nun mit Bereichen höherer Elektronendichte, wie
sie z.B. durch freie Elektronenpaare, wie es sie bei Sauerstoff- oder Stickstoffatomen gibt, in
Wechselwirkung treten. Wasserstoffbrücken sind im Vergleich zu kovalenten oder ionischen
Bindungen sehr schwach. Sie können leicht gelöst werden. In chemischen Formeln werden sie
durch gestrichelte Linien symbolisiert.
Es sei darauf hingewiesen, daß die beschriebenen Bindungen als Modelle nur Näherungscharakter haben und gewissermaßen idealisierte Grenzfälle darstellen.
In Zusammenhang mit Proteinen und Nukleinsäuren ist vielfach von L-Aminosäuren und
D-Zuckern die Rede. Dem liegt ein Sonderfall der Stereoisomerie, die Spiegelbildisomerie,
zugrunde. Abb. 3.1-1 zeigt L-Serin und D-Glycerinaldehyd. Das mittlere Kohlenstoffatom
ist hier so gezeichnet, daß dessen vier Bindungen kreuzartig von ihm weglaufen. Tatsächlich
handelt es sich jedoch um die Projektion einer tetraedrischen Konfiguration; die vier Bindungen laufen in die Ecken eines Tetraeders, in dessen Zentrum sich das Kohlenstoffatom
befindet. Befindet sich das Kohlenstoffatom selbst in der Zeichenebene, so laufen die senkrecht gezeichneten Bindungen nach hinten weg, während die waagrechten nach vorne laufen.
Dies wird durch die keilartige Form der waagrechten Bindungen symbolisiert. Durch Spiegelung eines solchen tetraedrischen Kohlenstoffatoms mit vier unterschiedlichen Bindungspartnern, erhält man eine andere Verbindung. Wesentlich für die Biologie ist nun, daß sich
solche Spiegelbildisomere in ihrer biologischen Wirkung unterscheiden und demzufolge i.allg.
auch nur in einer der beiden Formen auftreten. So ist bei Aminosäuren die L-Form die vorherrschende, während es bei Zuckern die D-Form ist. Die Bezeichnungen D“ und L“ haben
”
”
19
3 Biochemische Grundlagen
H
H
C
H
O
C
H
H
H
H
N
C
C
H
C
H
N
C
H
H
O
C
N
N
H
C
Cytsoin
C
H
N
C
C
O
H
C
N
N
Adenin
N
C
C
N
C
C
O
H
C
N
C
Thymin
N
C
N
N
H
N
N
Guanin
H
N
N
H
O
H
C
N
C
N
Adenin
H
C
C
N
C
C
C
H
N
N
O
Thymin
H
N
C
C
N
C
N
H
H
O
N
H
C
C
N
H
H
C
C
C
H
H
H
H
C
N
H
C
N
C
Guanin
H
C
H
N
O
Cytosin
Abb. 3.2-1: Die beiden Basenpaare, die als informationstragende Elemente in der DNA auftreten.
Da diese jeweils um 180◦ gedreht sein können (was ebenfalls gezeichnet ist), gibt es insgesamt
vier verschiedene Möglichkeiten. Der gestrichelte Umriß basiert auf einem Molekülmodell, das die
tatsächlichen räumlichen Verhältnisse genauer wiedergibt, als die (eher symbolischen) Strukturformeln. Die Basen sind jeweils über das Stickstoffatom (N), von dem nur zwei Nachbaratome gezeigt
sind, mit dem (hier nicht gezeichneten) Zuckerrest (Ribose) des Rückgrats“ der DNA verbunden.
”
übrigens historische Gründe und lassen keinen Rückschluß auf die tatsächliche Raumstruktur
zu. Eine ungeklärte Frage ist übrigens, warum in der Natur gerade die dort aufgefundenen
Konfiguartionen (also z.B. L-Aminosäuren und D-Zucker und nicht D-Aminosäuren und LZucker) auftreten.
3.2 Die Desoxyribonukleinsäure
Abb. 3.2-1 zeigt die zwei Grundeinheiten der Desoxyribonukleinsäure, die oben als Plätt”
chen“ bezeichnet worden sind. Hier soll nun die tatsächliche chemische Struktur beschrieben
werden. Ein solches Plättchen“ ist ein Paar aus zwei durch Wasserstoffbrücken zusammen”
gehaltener Basen. Entweder Thymin und Adenin, die durch zwei Wasserstoffbrücken verbunden sind, oder Cytosin und Guanin, wo es drei Wasserstoffbrücken sind. Letztere Paarung
ist daher stabiler und benötigt mehr Energie zu deren Trennung. Diese energetischen Unterschiede haben auch durchaus funktionale Bedeutung. Man beachte, daß die Basenpaare
faßt deckungsgleich sind — auch wenn die beiden beteiligten Partner mit einander vertauscht sind. Diese Basenpaare sind nun — wie bereits erwähnt — übereinander gestapelt.
Hierbei ist das jeweils nächste Paar um 36◦ gegenüber dem vorigen verdreht. Die hydrophob/hydrophobe Wechselwirkung zwischen den einzelnen Ebenen dieses Stapels“ trägt
”
mit einem gewissen, geringen Anteil zur Stabilisierung der Struktur bei. Diese Stapelung“
”
20
3.3 Genetischer Code
Abb. 3.2-2: Schema der dreidimensionalen Anordnung der Basenpaare, die hier durch eine unregelmäßig geformte Scheibe“ dargestellt sind. Die Kreise bezeichnen die Stellen, wo die Basenpaare
”
mit dem (hier nicht gezeigten) Rückgrat“ der DNA verbunden sind. Man beachte die schrauben”
artige Anordnung. Die Ansichten sind um die Längsachse gegeneinander verdreht.
der Basenpaare ist in Abb. 3.2-2 gezeigt.
Verschwiegen wurde bisher, daß an jeder Base sich ein Zuckerrest, eine sog. Desoxyribose,
befindet. Die Ebene des Rings dieses Zuckermoleküls ist senkrecht zur Ebene der Base. Eine
solche Einheit aus Zucker und Base wird als Nucleosid bezeichnet. Man beachte die Asymmetrie: die Zuckermoleküle befinden sich nicht exakt an gegenüberliegenden Enden des Basenpaares. Die Zuckermoleküle sind ihrerseits durch Phosphatgruppen verbunden. Dies ist in
Abb. 3.2-3 gezeigt. Das Nucleosid mit Phosphatgruppe wird als Nucleotid bezeichnet. (Die
Phosphorsäurereste sind übrigens dafür verantwortlich, daß die DNA eine Säure ist.) Die
beiden so entstehenden Ketten, bestehend aus jeweils einer Folge von abwechselnd Zuckerund Phosphatresten, bilden das Rückgrat“ der Desoxyribonukleinsäure (DNA). Da jede
”
Einheit (bestehend aus einem Basenpaar mit den jeweiligen Zucker- und Phosphatresten)
gegenüber der vorigen verdreht ist, verläuft eine solche Kette schraubenförmig. Beide Ketten
bilden somit die Doppelhelix der DNA. Da die Zuckerreste sich — wie bereits erwähnt —
nicht exakt an gegenüberliegenden Enden des Basenpaares befinden, weist die DNA eine
große und eine kleine Furche auf.
3.3 Der genetische Code
Während das Rückgrat“ der DNA homogen ist, können im Inneren der Doppelhelix die
”
Basen beliebig aufeinander folgen. Hierauf beruht der genetische Code! Es handelt sich um
einen Triplett-Code: je drei Basen (als Codon bezeichnet) codieren für eine von zwanzig
21
3 Biochemische Grundlagen
Aminosäuren. (Tatsächlich gibt es in der Natur mehr als diese zwanzig. In vielen Fällen ist
es nämlich möglich ist, durch enzymatisch gesteuerte Reaktionen entweder Aminosäuren zu
modifizieren oder aus anderen Vorläufermolekülen zu erzeugen. (So gibt es z.B. durchaus
D-Aminosäuren.) Sollte jedoch in einem Protein eine solche Aminosäure auftreten, so muß
an ihrer Stelle sich ursprünglich eine befunden haben, die auch im genetischen Code auftaucht — vorausgesetzt, man sieht von jenen Fällen ab, in denen Aminosäuren ausschließlich
unter dem Einfluß von Enzymen aneinandergekettet werden, ohne daß informationstragende
Nukleinsäuren hieran beteiligt wären. In Abb. 3.3-1 ist der genetische Code gezeigt. Man
beachte, daß es sich um die Codons der messenger Ribonukleinsäure (mRNA) handelt (vgl.
Abschnitt 3.4). Der genetische Code ist universell, d.h. bei allen Organismen ist die Zuordnung zwischen Basentripletts und Aminosäuren dieselbe, sieht man von geringfügigen
Abweichungen, was die Stopcodons anbelangt, ab. (Eine weitergehende Ausnahme von der
Universalität des genetischen Codes stellen allerdings die Mitochondrien dar, wo nicht nur
Stopcodons von der Abweichung betroffen sind.) Der genetische Code wird kolinear, kommafrei und nicht überlappend gelesen, d.h. es gibt bei der Transkription der DNA- in die RNASequenz weder ausgelassene noch mehrfach genutzte Nucleotide. Weiterhin ist der genetische
Code degeniert; da es mehr Codons als Aminosäuren gibt, werden alle Aminosäuren bis auf
O
O
P
OO
O
H
5’
CH2
4’ C
H
H
3’ C
C
O
H
O
C
C
H
H
3’
H
1’
C
H
H
O-
O
2’
O
P
C
HO 1’
C
4’
5’ 5’
O
H2C
2’
P
O
OO
O
H
4’ C
O
H
H
3’ C
C
O
H
H
2’
C
C
H
H
3’
H
1’
C
H
O-
O
2’
5’
CH2
P
C
HO 1’
C
O
4’
5’
H2C
Abb. 3.2-3: Schema einer Kette von Desoxyribose-Einheiten, die über Phosphatgruppen verbunden sind. Die Stickstoffatome der Basen sind mit den Kohlenstoffatomen (1′ ), von dem nur drei
Nachbaratome gezeigt sind, verbunden. Man beachte die Numeriung der Atome. Die Zahlen, mit
denen die Kohlenstoffatome des Zuckerrestes bezeichnet werden, sind zur Unterscheidung von der
Numerierung der Basen mit einem Strich versehen. Anhand dieser Numerierung wird leicht deutlich, daß das Molekül eine Richtung aufweist. Zwei solcher Molekülstränge, die im DNA-Molekül
antiparallel verlaufen, bilden gewissermaßen das Rückgrat“ der DNA.
”
22
3.4 RNA
UUU
UUC
UUA
UUG
Phenylalanin
Phenylalanin
Leucin
Leucin
UCU
UCC
UCA
UCG
Serin
Serin
Serin
Serin
UAU
UAC
UAA
UAG
Tyrosin
Tyrosin
Stop
Stop
UGU
UGC
UGA
UGG
Cystein
Cystein
Stop
Trytophan
CUU
CUC
CUA
CUG
Leucin
Leucin
Leucin
Leucin
CCU
CCC
CCA
CCG
Prolin
Prolin
Prolin
Prolin
CAU
CAC
CAA
CAG
Histidin
Histidin
Glutamin
Glutamin
CGU
CGC
CGA
CGG
Arginin
Arginin
Arginin
Arginin
AUU
AUC
AUA
AUG
Isoleucin
Isoleucin
Isoleucin
Methionin
ACU
ACC
ACA
ACG
Threonin
Threonin
Threonin
Threonin
AAU
AAC
AAA
AAG
Asparagin
Asparagin
Lysin
Lysin
AGU
AGC
AGA
AGG
Serin
Serin
Arginin
Arginin
GUU
GUC
GUA
GUG
Valin
Valin
Valin
Valin
GCU
GCC
GCA
GCG
Alanin
Alanin
Alanin
Alanin
GAU
GAC
GAA
GAG
Asparaginsäure
Asparaginsäure
Glutaminsäure
Glutaminsäure
GGU
GGC
GGA
GGG
Glycin
Glycin
Glycin
Glycin
Abb. 3.3-1: Der genetische Code, wie er Form von mRNA ausgedrückt wird. Jeweils drei Basen kodieren für eine Aminosäure. Stop“ bezeichnet die sog. Stopcodons, die keine Aminosäure
”
bezeichen, sondern das Ende einer Translation bewirken. Das 5’-Ende des Codons befindet sich
jeweils links. (In der RNA tritt an die Stelle von Thymin (T) das Uracil (U).)
Methionin und Tryptophan durch mehrere Codons codiert. Bei der letzten Base kommt es
i.allg. nur noch darauf an, ob es sich um eine Purin- oder Pyrimidinbase (s.u.) handelt.
Eine interessante und wohl ungeklärte Frage ist, wie die Zuordnung zwischen Codon und
Aminosäure ursprünglich zustande gekommen ist.
3.4 Die Ribonukleinsäuren
Bei den Ribonukleinsäuren tritt an Stelle der Pyrimidin-Base Thymin die Base Uracil. Sie
zeichnet sich gegenüber Thymin durch das Fehlen einer Methyl-Gruppe an der Position 5
aus. Ein weiterer Unterschied ist, daß als Zucker Ribose auftritt. Hier ist also die HydroxyGruppe an Position 2′ noch vorhanden. Vermutlich erschwert diese auch die Ausbildung
von Doppelsträngen. Ribonukleinsäuren (RNA) treten nämlich i.allg. einsträngig auf. Die
zwischen den Basen möglichen Wasserstoffbrücken bilden sich auch weiterhin aus — jetzt
jedoch nicht zu dem Strang eines anderen Moleküls, sondern innerhalb des Moleküls. Hierbei
scheinen die sterischen Einschränkungen geringer als bei einem Doppelstrang zu sein, so daß
außer den zu erwartenden Basenpaarungen zwischen Adenin und Uracil, sowie Cytosin und
Guanin, auch andere Basenpaarungen auftreten. In Abb. 3.4-1 sind die in RNA auftretenden
Basen gezeigt.
Während die Sequenz der durch Phosphatreste verbundenen Basen die sog. Primärstruktur
darstellt, bedingen die Wasserstoffbrückenbindungen (die sich nicht zwischen direkt miteinander verbundenen Basen ausbilden), die sog. Sekundärstruktur. Der Vollständigkeit halber
sei noch der Begriff der Tertiärstruktur erwähnt. Diese stellt die komplette dreidimensionale Struktur des Moleküls dar und wird durch die Position eines jeden Atoms im Raum
23
3 Biochemische Grundlagen
1
Purin
6H
C
N
2
C
H
7
N
5
C
8
CH
C
4
N
3
4H
C
N
5H
C
C
2
C
6H
3
Pyrimidin
H
N9
H
NH2
N
1
O
O
O
C
N
C
C
C
N
H
C
N
C
C
C
N
N
H
N
H2N
C
O
C
N
H
C
H
H
O
O
C
N
O
H
CH
C
N
H
H
H
4’ C
H
1’ OH
C
H
H
H
3’ C
HO
Ribose
C
2’
OH
CH3
C
C
N
H
H
Thymin
HO
O
C
N
O
Uracil
5’
CH2
N
H
N
Hypoxanthin
Cytosin
HO
C
N
Guanin
NH2
C
C
CH
H
N
H
N
Adenin
N
N
CH
CH
H
H
C
5’
CH2
4’ C
O
H
H
3’ C
C
HO
H
1’ OH
C
H
H
2’
2-Desoxyribose
Abb. 3.4-1: Die Bausteine der Nucleoside. Die wichtigsten Nucleinbasen mit ihren Stammsubstanzen Purin und Pyrimidin, sowie die Zucker Ribose und 2-Desoxyribose. Die Hydroxy-Gruppe an
Position 1′ entfällt im Nucleosid; hier befindet sich dann die Bindung zu Position 9 der Purinbase
oder Position 1 der Pyrimidinbase. Uracil kan auch mit Kohlenstoffatom 6 an die Ribose binden,
wodurch Pseudouracil entsteht (Ψ). Im N2 -Dimethylguanosin (m22 G) sind die Wasserstoffatome der
Aminogruppe des Guanin durch Methylreste ersetzt; im N6 -Isopentenyladenosin ist ein Wasserstoffatom der Aminogruppe durch einen Isopentenylrest (-CH2 -CH=C(CH3 )2 ) ersetzt.
charakterisiert. So wird die Sekundärstruktur der transfer RNA (tRNA) als Kleeblattstruktur bezeichnet, während die Tertiärstruktur tatsächlich eher L-förmig ist (und vielleicht mit
einem Haken verglichen werden kann).
Da Wasserstoffbrücken relativ schwach sind, ist es für die Ausbildung der Sekundärstruktur günstiger, wenn mehrere aufeinanderfolgende gebildet werden können. Ähnlich wie in
der DNA sich zwei komplementäre Stränge paaren und durch eine Unzahl von von Wasserstoffbrücken zusammenhalten, ist dies auch bei der RNA möglich — nur, daß diese einen
einzelnen Strang darstellt und dieser dann gewissermaßen mit sich selbst paart. Hierzu ist die
Voraussetzung, daß antiparallele, zu einander komplementäre Teilbereiche existieren. Durch
die Existenz solcher Teilbereiche, die das Ausbilden mehrerer, auf einander folgender Wasserstoffbrücken ermöglichen, sind nun gewisse, typische Sekundärstrukturelemente möglich,
wie z.B. hairpin loops, interior loops und bulges. Diese sind in Abb. 3.4-2 schematisch dar24
3.5 Proteine
f
d
a
b
c
e
Abb. 3.4-2: Einige Beispiele für typische Sekundärstrukturelemente von RNA (schematisch): a)
Einzelstrang, b) Doppelstrang, c) hairpin loop (Haarnadelschleife), d) interior loop (innere Schleife), e) bulge und f) pseudo knot (Pseudoknoten). Wasserstoffbrücken sind durch dünne Striche
angedeutet.
gestellt. Es sei noch erwähnt, daß die Ausbildung solcher Sekundärstrukturelemente beim
sog. Spleißen der RNA eine Rolle spielt: Bei der Transkription entsteht die Prä-mRNA, die
ein direktes Abbild der DNA darstellt. Jedoch sind hier auch Bereiche nicht translatierbarer
Basensequenzen enthalten, die sog. Introns. Nachdem diese Prä-mRNA Schleifen gebildet
hat, können diese Schleifen durch bestimmte Enzyme (unter Umständen auch ohne) herausgeschnitten werden.
3.5 Proteine
Abb. 3.5-1 zeigt die zwanzig wichtigsten Aminosäuren. Eine Aminosäure weist stets eine
Carboxy- und eine Aminogruppe auf. Der übrige Teil des Moleküls (in Abb. 3.5-2 durch R
symbolisiert) kann eine einfache Kohlenwasserstoffkette sein, aber auch noch weitere funktionelle Gruppen tragen. Zwischen zwei Aminosäuren kann sich eine Säureamidbindung ausbilden, die in diesem Fall auch als Peptidbindung bezeichnet wird. In Abb. 3.5-2 ist eine
solche Peptidbindung auf zwei verschiedene Weisen symbolisiert werden. Beide stellen Extremfälle dar und geben nur unzureichend die tatsächlichen Verhältnisse wieder. In der einen
Form ist jedoch zwischen dem Kohlenstoffatom und Stickstoffatom eine Doppelbindung vorhanden. Aus quantenmechanischen Gründen ist um solche keine freie Drehbarkeit gegeben,
beide Atome haben ein trigonale Struktur (d.h. die von ihnen ausgehenden Bindungen bilden 120◦ -Winkel) und sie und die mit ihnen direkt verbundenen Atome liegen direkt in einer
Ebene. Die freie Drehbarkeit der Bindungen zu den Nachbaratomen ist jedoch gegeben. Das
Wasserstoffatom an einer solchen Peptidbindungen kann Wasserstoffbrücken zu den Sauerstoffatomen anderer Peptidbindungen ausbilden.
Proteine stellen nun Sequenzen von Aminosäuren dar, die durch solche Peptidbindungen verbunden sind. Die Abfolge der Aminosäuren wird als Primärstruktur bezeichnet. Der Begriff
der Sekundärstruktur bezieht sich bei Proteinen auf die Struktur des Peptidgrundgerüstes,
also die Lage der Peptidbindungen und der beiden Bindungen zwischen zwei aufeinanderfolgender solcher Peptidbindungen. Die Sekundärstruktur ist die Folge der oben erwähnten
Wasserstoffbrücken. Die Stellung der Seitenketten bleibt unberücksichtigt. Einige wichtige
25
3 Biochemische Grundlagen
COO+
H3N CH2
Glycin
+
H3N CH
CH
H3C
CH3
+
H3N CH
CH3
Alanin
COO+
H3N CH
Valin
COO-
CH2
CH2
H2C
CH2
Prolin
COO-
COO+
H3N CH
CH2
COO-
+
H3N CH
CH2
Leucin
+
H3N CH
CH2
OH
Serin
Methionin
+
H3N CH
CH2
COO-
Asparaginsäure
+
H3N CH
CH2
CH2
COO-
Glutaminsäure
+
H3N CH
CH2
SH
Cystein
COO+
H3N CH
CH2
COO+
H3N CH
CH2
H2N
N
H
COO-
COO-
Threonin
O
Asparagin
COO+
H3N CH
CH2
CH2
C
O
H2N
Glutamin
Tyrosin OH
+
H3N CH
CH2
CH2
CH2
Lysin
CH2
+
NH3
COO-
COO-
COOCOO-
Isoleucin
+
H3N CH
HCOH
CH3
C
Tryptophan
+
H3N CH
CH
H3C
CH2
CH3
COO-
S
CH3
COO-
+
H3N CH
CH2
CH
H3C
CH3
COO-
CH
+
H2N
Phenylalanin
COO-
COO-
+
H3N CH
CH2
CH2
Arginin
CH2
NH
C
H2N
+
NH2
+
H3N CH
CH2
N
N
H
Histidin
Abb. 3.5-1: Die wichtigsten Aminosäuren.
Sekundärstrukturelemente sind in Abb. 3.5-3 dargestellt. Bei der Tertiärstruktur kommt es
wiederum auf die Positionen der einzelnen Atome im Raum an; hierbei finden dann auch
Seitenketten Berücksichtigung. Darüber hinaus existiert bei Proteinen noch der Begriff der
Quartärstruktur. Hierbei handelt es sich um übergeordnete Aggregate von Peptidketten,
mehrere Proteinuntereinheiten lagern sich zu einer funktionsfähigen Struktur zusammen.
Genau wie bei den Ribonukleinsäuren ist für die Funktion der Proteine ihre Raumstruktur essentiell. Schon eine geringfügige Veränderung der exakten Lagebeziehung bestimmter
Aminosäuren zueinander kann die Funktion eines Proteins nachhaltig verändern oder gar
zunichte machen.
26
3.5 Proteine
H
O
H
O
H
N
O
C
C
H
N
H
O
C
O
H
+ H
C
−→
R1
H
H
CH
O
←→
HC
0
1
0CH
N1
R2
R1
H
C N
H
H
R1
O
O
0 C
H1
0
1
000
111
0
1
N00
C H
O111
000
11
C
000
111
0
1
-
O
H
−→
←−
N+
C
CH HC
O
HC
C N
CH
←→
HC
N+
C
CH
H
H
Abb. 3.5-2: Die Peptidbindung. R1 und R2 sind nicht notwendigerweise unterschiedliche Reste. Die
Peptidbindung stellt eine relativ starre Struktur dar (durch die gestrichelten Rechtecke symbolisiert), während um die Bindungen zu den Nachbaratomen freie Drehbarkeit gewährleistet ist. Dies
ist durch entsprechende Pfeile symbolisiert.
R
CH
N
CH
N
O
H
CH
C
N
C
R
O
H
C
N
CH
C
CH
O
H
O
H
R
O
O
R
CH
R
CH
H
O
R
N
C
CH
N
C
CH
H
O
R
H
O
N
C
N
C
CH
H
O
R
R
R
H
C
O
CH
N
C
N
R
R
O N
C
O
H
CH
CH
C
N
R
HR
CH
N
R
H
CH
R
H
C
C
H
N
O
N
CH
C
N
CH
C
N
R
O
H
R
O
H
H
Abb. 3.5-3: Einige Sekundärstrukturelemente bei Peptiden. Die β-Faltblätter (links) kommen durch
Wechselwirkung weit von einander entfernter Bereiche einer Kette zustande. Diese im wesentlichen
geradlinigen Stränge können parallel oder antiparallel verlaufen. Die Seitenketten (durch R bezeichnet) stehen senkrecht von der dadurch definierten Ebene ab. Bei der α-Helix (rechts) besteht die
Wechselwirkung zwischen in der Sequenz ziemlich dicht aufeinander folgenden Aminosäuren; die
Aminosäurekette nimmt hierbei einen helikalen Verlauf, wobei die Seitenketten radial nach außen
zeigen. Wie im Text erwähnt, ist die Peptidbindung (CO-NH) starr; die an ihr beteiligten zwei
Atome und die insgesamt vier Nachbaratome liegen in einer Ebene. Das Kohlenstoffatom, an dem
sich eine Seitenkette R, das Stickstoffatom und die O=C-Gruppe befindet, ist jeweils tetraedrisch
konfiguriert.
27
3 Biochemische Grundlagen
3.6 Alignments
Ein Alignment von zwei oder mehr Sequenzen ist eine tabellenartige Darstellung dieser
Sequenzen, wobei jede Zeile einer Sequenz entspricht. Die zueinander korrespondierenden“
”
Positionen der Sequenzen stehen möglichst in einer Spalte. (Selbstverständlich ist es für eine
derartige Darstellung i.allg. notwendig innerhalb der einzelnen Sequenzen verschiedentlich
Leerpositionen einzufügen.)
Mit dem Begriff der korrespondierenden“ Positionen ist hier zweierlei gemeint. Erstens: Im
”
Laufe der der Evolution verändern sich DNA-Sequenzen und damit die durch sie kodierten
RNA-Sequenzen und Proteine. Durch Mutation können Basen durch andere ersetzt werden,
sie können entfallen oder neue können in die Sequenz eingefügt werden. Korresponierende Positionen sind solche, die durch Austausch aus einander hervorgegangen sind. (Bei Löschungen
oder Einfügungen gibt es dann natürlich keine korrespondierenden Positionen, im Alignment
zeigt sich dieses dann durch eine Leerposition an entsprechender Stelle.) Zweitens: Haben
Proteine oder RNAs ähnliche Raumstruktur, so kann man Positionen in ihrer Sequenz als
korrespondierend betrachten, die im Molekül die gleiche relative Position einnehmen. Diese
Sichtweise ist dadurch gerechtfertigt, daß die Raumstruktur solcher Moleküle für ihre biologische Funktion von Bedeutung ist. Damit sind auch die beiden aufgeführten Sichtweisen
nicht klar von einander zu trennen. Es haben schließlich nur solche Mutationen Bestand, bei
denen die Raumstruktur des Proteins noch so weit erhalten ist, daß dessen Funktion und
damit die Funktion des Organismus sichergestellt ist. Schließlich sei noch angemerkt, daß
umfangreichere Mutationen, wie z.B. die Inversion ganzer Teilbereiche der DNA nicht mehr
adäquat durch ein Alignment darzustellen sind.
Zusammendfassend soll festgehalten werden, daß Positionen in Sequenzen aus biologischen
Gründen zu einander korrespondieren und ein Alignment (im Idealfall) eine Darstellung
hiervon ist. Leider ist dieser Idealfall in der Praxis nicht gegeben, da i.allg. unklar ist, welche
Positionen miteinander korrespondieren: Der Verlauf des Evolutionsprozesses ist unbekannt
und die Raumstrukturen sind nur von den wenigsten Proteinen und RNA-Molekülen bekannt.
Es wird daher ein anderer Weg beschritten. Mit verschiedenartigsten mathematischen Verfahren wird versucht, plausible Näherungen an das optimale Alignment aus den Sequenzen zu gewinnen und somit korrespondierende Positionen zu identifizieren. Inwieweit diese
Korrespondenz dann tatsächlich biologisch begründet ist, muß letztendlich das Experiment
entscheiden.
28
4 Hidden Markov Models
4.1 Markov-Modelle
Gegeben sei ein durch die Variable Z beschriebener Prozeß, der eine (Teil-)Folge Z von
Zuständen Z(1), Z(2), Z(3) . . . Z(T ) durchläuft, wobei nur endlich viele Zustände möglich
sind: Z(1), Z(2), Z(3), . . . Z(T ) ∈ {Z1 , Z2 , Z3 , . . . Zn }. Zur Notation sei folgendes angemerkt:
Z(1), Z(2) usw. werden als Zufallsvariablen im Sinne von Abschnitt 2.1. betrachtet. Ein fester, aber nicht bestimmter Wert, der von einer dieser Zufallsvariablen angenommen wurde,
wird als Zi geschrieben. Eventuell wird doppelt indiziert, i1 , i2 usw. sind also verschiedene
Indizes. Mit Zit (wobei it ∈ {1, 2, 3, . . . n}) soll also ein fester, aber nicht explizit genannter
Wert, den die Zufallsvariable Z(t) angenommen hat, bezeichnet werden. (Verallgemeinerungen auf (unendliche) Folgen und unendlich viele Zustände sind möglich, bleiben hier aber
außer Betracht.) Die Wahrscheinlichkeit, daß sich der Prozeß zum Zeitpunkt t + 1 im Zustand Zj befindet, hängt ausschließlich
vom Zustand Z
i zum Zeitpunkt t ab. Als bedingte
Wahrscheinlichkeit geschrieben: p Z(t=1)=Zj |Z(t)=Zi = pij . Hierbei ist pij die sog. Übergangswahrscheinlichkeit, die angibt, mit welcher Wahrscheinlichkeit der Prozeß aus dem Zustand Zi im nächsten Zeitschritt in den Zustand Zj überwechselt. (Auch hier sind wiederum
Verallgemeinerungen möglich. Hier sollen aber nur Prozesse ohne Gedächtnis“ betrachtet
”
werden.) Ein solcher Prozeß wie gerade beschrieben heißt Markov-Prozeß oder bisweilen
auch (um darauf hinzuweisen, daß es sich um den diskreten Fall handelt) Markov-Kette.
Die Übergangswahrscheinlichkeiten werden günstigerweise als Matrix P notiert. Die Anfangsverteilung ist ein Vektor, der für jeden Zustand Zi angibt, mit welcher Wahrscheinlichkeit
dieser als Startzustand Z(1), also als erster Zustand zum Zeitpunkt t = 1 vorliegt. Aus
notatiellen Gründen wird ein Vorstartzustand“ Z0 eingeführt. Der Vektor, der die Anfangs”
verteilung angibt, kann dann als p0 = (p0,1 , p0,2 , p0,3 , . . . p0,n ) geschrieben werden. (Bei p0
handelt es sich eigentlich um einen Spaltenvektor.)
Typische Fragestellungen in Zusammenhang mit Markov-Prozessen sind die nach der Wahrscheinlichkeit für das Vorliegen bestimmter Zustände zu bestimmten Zeitpunkten.
Ein Beispiel für die Modellierung durch einen Markov-Prozeß wäre die Bewegung eines mikroskopischen Teilchens, das sich in einem labyrinthartigen Medium, wie z.B. einem Gel,
durch Diffusion fortbewegt. Den einzelnen Zuständen würden Positionen des Teilchens im
Medium entsprechen; die Übergangswahrscheinlichkeiten würden von Strömungsgeschwindigkeiten, dem Durchmesser der Verbindungskanälchen, usw. abhängen.
4.2 Hidden Markov Models
In vielen Fällen sind jedoch Markov-Modelle unzureichend. Ein Beispiel aus der Sprachverarbeitung (wo solche Modelle sehr weit verbreitet sind und mit Erfolg eingesetzt werden)
soll dies verdeutlichen. Menschliche (gesprochene) Sprache kann als Folge von Lauten (Phonemen) aufgefaßt werden. Hierbei bestehen Abhängigkeiten, es sind nur bestimmte Kombinationen aufeinander folgender Phoneme möglich, d.h. die auf einen bestimmten Laut nachfolgenden sind nur mit einer bestimmten Wahrscheinlichkeit möglich. Es liegt also nahe, zur
Analyse Markov-Modelle einzusetzen. Tatsächlich ist es aber sehr schwer, überhaupt festzustellen, welcher Laut gerade vorliegt. Alle kennzeichnenden Parameter unterliegen starken
Schwankungen; es kommt praktisch nicht vor, daß ein Laut exakt (im Sinne des physikalischen Ereignisses) dupliziert wird.
29
4 HMMs
Um derartigen Schwierigkeiten zu begegnen, wird zwischen Zustand (welcher Laut liegt
tatsächlich vor) und Beobachtung (welches Signal wurde gemessen) unterschieden. Ein Hidden Markov Model (HMM) ist also gewissermaßen ein zweistufiges“ Modell: Bei Vorlie”
gen eines Zustandes Zi , der nicht direkt ermittelt werden kann, kann eine der möglichen
Beobachtungen aus der Menge {W1 , W2 , W3 , . . . Wm } gemacht werden. (Es sei angemerkt,
daß in dieser Arbeit von nur endlich vielen möglichen Beobachtungen ausgegangen wird.)
Hierbei tritt jede Beobachtung Wj mit einer gewissen Wahrscheinlichkeit, die vom zugrundeliegenden
Zustand
Zi abhängt, auf. Wiederum als bedingte Wahrscheinlichkeit geschrieben:
p W=Wj |Z=Zi = qij . Günstigerweise werden diese Wahrscheinlichkeiten als Matrix Q notiert. Ein HMM ist also durch zwei Tupel
Z und W von Variablen
charakterisiert; während
der Prozeß die Zustandsfolge Z = Z(1), Z(2), Z(3), . . . Z(T ) durchläuft wird die Folge
von Beobachtungen W = W (1), W (2), W (3), . . . W (T ) generiert. Bezüglich der Notation
gilt das Gleiche wie in Abschnitt 4.1. Auch hier wird zwischen den Zufallsvariablen und
den Werten, den diese annehmen können, unterschieden. Letztere werden, soweit nötig, mit
indizierten Indizes bezeichnet.
In Zusammenhang mit HMMs treten drei grundlegende Probleme auf. Bei deren Darstellung
und Behandlung werde ich Rabiner (1989) folgen.
1. Sei (Wj1 , Wj2 , Wj3 , . . . WjT ) eine Sequenz von Beobachtungen. Wie kann
p
W (1), W (2), W (3), . . .W (T ) = Wj1 , Wj2 , Wj3 , . . . WjT
bei gegebenem HMM berechnet werden? Mit gegebenem HMM“ ist gemeint, daß die
”
Anzahl der Zustände, sowie die der möglichen Beobachtungen festgelegt sind und die
Parameter des HMM, d.h. die Matrizen P und Q und der Vektor p0 , bekannt sind.
2. Sei wiederum eine Sequenz von Beobachtungen gegeben. Wie kann eine (unter bestimmten Gesichtspunkten) optimale Sequenz von Zuständen (Zi1 , Zi2 , Zi3 , . . . ZiT ) bestimmt werden?
3. Wie sind P , Q und p0 aus 2. zu variieren, damit p (W (1), W (2), W (3), . . . W (T )) =
(Wj1 ,Wj2 , Wj3 , . . . WjT ) aus 1. maximal wird?
4.3 HMMs als reguläre Grammatiken
Dem HMM, das durch die Matrizen P und Q und den Vektor p0 gegeben ist, entspricht
folgende stochastische reguläre Grammatik. (Es handelt sich hierbei um eine sog. linkslineare
Grammatik (vgl. z.B. Denning (1978, S. 68f), dies ist eine reguläre Grammatik, wo das
auf der rechten Seite der Produktionen auftretende Nichtterminalsymbol grundsätzlich ganz
rechts steht.)
Die Produktionen sind (wegen der abkürzenden Schreibweise vergleiche Abschnitt 2.6.):
Z0
At,i
Bt,i
AT,i
30
→
→
→
→
A1,1 |A1,2 |A1,3 | . . . A1,n
Wj Bt,i für t = 1, 2, 3, . . . T−1; i = 1, 2, 3, . . . n; j = 1, 2, 3, . . . m
At+1,j für t = 1, 2, 3, . . . T−1; i = 1, 2, 3, . . . n; j = 1, 2, 3, . . . n;
Wj
für i = 1, 2, 3, . . . n; j = 1, 2, 3, . . . m
4.4 Forward-Backward-Verfahren
Hierbei steht Z0 für das Startsymbol, At,i und Bt,i sind Nichtterminalsymbole und entsprechen den Zuständen Zi und die Wj sind Terminalsymbole.
Die attributierten Wahrscheinlichkeiten sind
pZ0 →A1,i
pAt,i→Wj Bt,i
pBt,i →At+1,j
pAT,i →Wj
=
=
=
=
p0,i
qij
pij
qij
Die Entsprechung zwischen dieser Grammatik und dem HMM beruht darauf, daß stets nur
ein Nichtterminalsymbol vorhanden ist, das den momentanten Zustand des HMM widerspiegelt. Da bei HMMs eine Beobachtungsfolge mit vorgegebener Länge betrachtet wird, wird
hier eine ziemlich große Anzahl von Regeln benötigt. Es handelt sich aber im Prinzip für
jeden Zeitschritt um die gleichen Regeln. (So geht in die attributierten Wahrscheinlichkeiten
die zeitliche Position (durch den Index t angegeben) nicht ein.) Obige Grammatik könnte also noch vereinfacht werden. (Von dem Problem, daß ein HMM einen im Prinzip unendlichen
Prozeß beschreibt, während bei einer Grammatik nach endlich vielen Ersetzungsschritten
ein Endzustand erreicht wird, sei hierbei abgesehen.)
Die Beziehung zwischen HMMs und regulären Grammatiken soll hier nicht weiter verfolgt
werden. (So könnte z.B. das oben erwähnte Problem zu einer Folge von Beobachtungen
die Zustandsfolge zu bestimmen, als Parsing-Problem formuliert werden.) Es sei aber angemerkt, daß der Grammatik-Ansatz es erlaubt, die Domäne der HMMs zugunsten allgemeinerer Ansätze zu verlassen, wenn die reguläre Grammatik durch andere ersetzt wird. Dies
wird in Kapitel 5 vorbereitet und in dem folgenden Kapitel dann durchgeführt werden.
4.4 Das Forward-Backward-Verfahren
Das erste in Abschnitt 4.2 erwähnte Problem war das der Bestimmung der Wahrscheinlichkeit
für eine vorliegende Folge von Beobachtungen bei gegebenen Parametern des HMM. Sei
(Zi1 , Zi2 , Zi3 , . . . ZiT ) eine Folge von durchlaufenden Zuständen. Hierbei ist T die Länge dieser
Folge. Die Wahrscheinlichkeit, daß die Folge Z der Zufallsvariablen Z(1), Z(2), Z(3), . . .
Z(T ) diesen Wert annimmt ist:
p (Z(1), Z(2), . . . Z(T ))=(Zi1 , Zi2 , . . . ZiT ) = p0,i1 · pi1 ,i2 · pi2 ,i3 · . . . piT −1 ,iT =
T
Y
pik−1 ,ik
k=1
Hierbei wurde ausgenutzt, daß der Prozeß kein Gedächtnis“ aufweist, die einzelnen Über”
gänge also von einander unabhängig sind.
Damit ergibt sich die Wahrscheinlichkeit für die Folge W = W (1), W (2), W (3), . . . W (T )
der beobachteten Zustände Wj1 , Wj2 , Wj3 , . . . WjT als Wahrscheinlichkeit für das entsprechende zusammengesetzte Ereignis:
p
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
∧ Z(1), Z(2), . . . Z(T ) = Zj1 , Zj2 , Zj3 , . . . ZjT
= (p0,i1 · qi1 ,j1 ) · (pi1 ,i2 · qi1 ,j2 ) · (pi2 ,i3 · qi3 ,j3 ) · . . . (piT −1 ,iT · qiT ,jT )
=
T
Y
pik−1 ,ik qik ,jk
k=1
31
4 HMMs
Wird jedoch dagegen nur nach der Wahrscheinlichkeit für das Auftreten der Folge von Beobachtungswerten gefragt, also ohne daß die Folge der Zustände (Zi1 , Zi2 , Zi3 , . . . ZiT ) bekannt
wäre, so ist über alle möglichen Folgen von Zuständen zu summieren:
p
W (1), W (2), . . . W (T ) = Wj1 Wj2 , . . . WjT
=
X
alle Z
p
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT |Z
Explizit:
p
=
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
n X
n X
n
X
...
n X
n X
n
X
n
X
iT =1
i1 =1 i2 =1 i3 =1
=
...
p
n Y
T
X
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
| Z(1), Z(2), . . . Z(T ) = Zj1 , Zj2 , . . . ZjT
pik−1 ,ik qik ,jk
iT =1 k=1
i1 =1 i2 =1 i3 =1
(4.4-1)
Gleichung 4.4-1 direkt zu berechnen ist impraktikabel: Die Summenzeichen stehen für insgesamt nT Summanden, wobei jeder dieser Summanden ein Produkt mit insgesamt 2T Faktoren
darstellt. n bewegt sich in interessanten Anwendungen in der Größenordnung von vielleicht
einigen Dutzend, während T leicht Werte weit über 100 erreichen kann.
Einen Ausweg aus dieser Situation bietet das Forward-Backward-Verfahren. Tatsächlich wird
hier nur der Forward-Anteil benötigt, der Backward-Anteil soll aber in Hinblick auf Abschnitt 4.6 ebenfalls eingeführt werden. Bei diesem Verfahren handelt es sich um nichts
weiter als um ein Verfahren des Dynamischen Programmierens. Dies ist deshalb möglich,
weil zu einem gegebenen Punkt t in der Beobachtungssequenz zwar eine sehr große Anzahl
von Zustandsfolgen möglich sind, die an diesem Punkt aber alle nur einen von n möglichen
Werten annehmen können. Mit anderen Worten: alle möglichen Folgen können zu insgesamt
n Werten zusammengefaßt werden. In Abb. 4.4-1 wurde versucht, diesen Zusammenhang
graphisch darzustellen. Es wird die sog. Forward-Variable α(i, t) eingeführt, die die Wahrscheinlichkeit dafür angibt, daß bei der t-ten Beobachtung der Zustand Zi vorliegt, während
die Beobachtungsfolge bis zu diesem Punkt Wj1 , Wj2 , Wj3 , . . . Wjt ist. Formal:
α(i, t) := p Z(t)=Zi ∧ W (1), W (2), W (3), . . . W (t) = Wj1 , Wj2 , Wj3 , . . . Wjt
Der Zustand Zi geht mit der Wahrscheinlichkeit pik in den Zustand Zk über. Dieser Zustand
Zk kann aber über jeden möglichen Vorläuferzustand Zi erreicht werden. Damit ist über alle
i zu summieren und es ergibt sich:
p Z(t + 1)=Zk ∧ W (1), W (2), W (3), . . . W (t) = Wj1 , Wj2 , Wj3 , . . . Wjt
=
n
X
pik α(i, t)
i=1
Mit der Wahrscheinlichkeit qkjt+1 wird aus dem Zustand Zk nun die Beobachtung Wjt+1
generiert. Damit kann nun (Multiplikation der vorigen Gleichung mit qkjt+1 ) die Forward32
4.4 Forward-Backward-Verfahren
Z1
Z1
Z1
Z1
Z2
Z2
Z2
Z2
..
.
..
.
Zn
Zn
Z(1)
Z(2)
Zit
..
.
Zn
Z(t−1)
...
..
.
Zn
...
Z(t)
Abb. 4.4-1: Der Forward-Anteil des Forward-Backward-Verfahren. Im linken Teil wird gezeigt, daß
der Zustand Z(t) = Zit aus n möglichen Vorläuferzuständen Z1 , Z2 , Z3 , . . . Zn hervorgeht. Der
rechte Teil deutet das Verfahren selbst an. Da nicht bekannt ist, welchen Wert Z(t) angenommen
hat, wird für alle möglichen Werte Zit ∈ {Z1 , Z2 , . . . Zn } die Wahrscheinlichkeit berechnet. An die
Stelle von Z(t) tritt ein Vektor von n Komponenten, der (in bezug auf das Diagramm) von links
nach rechts die Schritte t = 0, t = 1, . . . t = T durchläuft.
Variable α(j, t + 1) induktiv geschrieben werden:
α(j, t + 1)
= p Z(t)=Zi ∧ W (1), W (2), W (3), . . . W (t + 1) = Wj1 , Wj2 , Wj3 , . . . Wjt+1
= qkjt+1 ·
n
X
pik α(i, t)
i=1
(4.4-2a)
Der Induktionsanfang ist:
α(i, 1) = p Z(1)=Zi ∧ W (1)=Zj1 = p0,i qij
(4.4-2b)
Die Wahrscheinlichkeit für das Auftreten der Beobachtungsfolge W in Gleichung 4.4-1 kann
nun als
n
p
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
=
X
α(i, T )
i=1
(4.4-2c)
geschrieben werden.
Zur Berechnung dieser Wahrscheinlichkeit werden mit den Gleichungen 4.4-2 nun nur noch
n + T · (n · (n + 1)) + 0 Multiplikationen und 0 + T · (n · (n − 1)) + (n − 1) Additionen
33
4 HMMs
Zit
Z(t)
Z1
Z1
Z2
Z2
..
.
..
.
Zn
Zn
Z(t+1)
...
Z(t+2)
...
Abb. 4.4-2: Der Backward-Anteil des Forward-Backward-Verfahren. Es wird der Zusammenhang
zwischen dem Zustand zum Z(t) = Zi und den n möglichen Nachfolgerzuständen Z1 , Z2 , Z3 , . . .
Zn gezeigt.
benötigt. (Die drei Terme entsprechen jeweils dem Aufwand für den Induktionsanfang, für die
T Induktionsschritte und das Induktionsende.) Damit ist die Komplexität für die Berechnung
der Wahrscheinlichkeit für die Beobachtungsfolge W von T · nT auf n2 reduziert worden.
Analog zu der Forward-Variable α(i, t) wird die (vorerst nicht benötigte) Backward-Variable
β(i, t) eingeführt. Diese gibt die Wahrscheinlichkeit dafür an, daß nach dem gegebenen Punkt
t, zu dem der Zustand Z(t) = Zi vorliegt, die Beobachtungsfolge W (t+1), W (t+2), W (t+3),
. . . W (T ) folgt:
β(i, t) := p
W (t + 1), W (t + 2), . . . W (T ) = Wjt+1 , Wjt+2 , . . . WjT |Z(t) = Zi
Gemäß dieser Definition ist (vgl. Gleichung 4.4-2a):
β(i, t) =
n X
n X
n
X
...
it+1 it+2 it+3
N
X
iT
pi,it+1 qit+1 ,jt+1 ·
T
Y
pil−1 ,il qil ,jl
l=t+2
(Es handelt sich um die Wahrscheinlichkeit dafür, aus dem ausgezeichneten Zustand Zi in
irgendeinen der Zustände Z1 , Z2 , . . . ZN überzugehen und mit diesem dann die vorgefundene
Beobachtung Wjt+1 zu generieren. Ab t + 1 sind dann wiederum alle (dann noch) möglichen
Zustandsfolgen Z zu betrachten.) pi,it+1 qit+1 ,jt+1 ausgeklammert und den Term für l = t + 1
des Produkts vor das Produktzeichen geschrieben ergibt:
β(i, t) =
n
X
it+1
pi,it+1 qit+1 ,jt+1 ·
n
n X
X
...
it+2 it+3
N X
iT
pit+1 ,it+2 qit+2 ,jt+2 ·
T
Y
l=t+3
pil−1 ,il qil ,jl
Der Term in der Klammer ist offensichtlich β(it+1 , t + 1), so daß sich nach Ersetzen der
Indizes it+1 =: k und jt+1 =: j folgende Rekursionsformel ergibt: Die Rekursionsbeziehung
für diese Variable lautet:
n
β(i, t) =
X
k=1
34
pik qkj · β(k, t + 1)
4.5 Viterbi-Algorithmus
(4.4-3a)
Der Induktionsanfang ist:
β(i, T ) = 1
(4.4-3b)
Der Term pik gibt die Übergangswahrscheinlichkeit dafür an, aus dem Zustand Zi (zum
Schritt t) in den Zustand Zk (zum Schritt t + 1) überzugehen, aus dem heraus die Beobachtung Wj mit der Wahrscheinlichkeit qkj generiert wird. Anschaulich gesprochen, beschreibt
Gleichung 4.4-3a ein mit Wahrscheinlichkeiten gewichtetes Aufspalten des Zustandes“ an
”
der Stelle t in die Folgeprozesse“.
”
Die Berechnung der β(i, t) erfolgt analog zur Berechnung der α(i, t) (entsprechend dem in
Abb. 4.4-2 angedeuteten Schema und zwar von rechts nach links).
4.5 Der Viterbi-Algorithmus
Dieser ist eine Lösung für das zweite in Abschnitt 4.2 genannte Problem. Hier wurde nach der
optimalen Sequenz von Zuständen bei gegebenen Beobachtungen gefragt. Was heißt jedoch
optimal“?
”
Eine Möglichkeit wäre, jeweils den Zustand zu wählen, der an der jeweiligen Stelle am wahrscheinlichsten ist. Da die Wahrscheinlichkeit für das Vorliegen dieses Zustandes Zi an der
Stelle t (bei Vorliegen der Beobachtungsfolge!) im Abschnitt 4.6 benötigt wird, wird sie hier
eingeführt. Es ist:
γ(i, t) := p Z(t) = Zit | W (1), W (2), . . . W (t − 1) = Wj1 , Wj2 , . . . Wt−1
Diese bedingte Wahrscheinlichkeit ergibt sich als Produkt der Variable α(i, t) (die Wahrscheinlichkeit für die Beobachtungsfolge bis zum Punkt t und dem Vorliegen des Zustandes
Zi ) und der Variable β(i, t) (die Wahrscheinlichkeit für die Beobachtungsfolge ab dem Punkt
t unter der Voraussetzung des Zustandes Zi ) dividiert durch die Wahrscheinlichkeit für das
Vorliegen der Beobachtungsfolge überhaupt (also unabhängig vom Zustand an der Stelle t):
α(i, t) · β(i, t)
γ(i, t) = p W (1), W (2), . . . W (t − 1) = Wj1 , Wj2 , . . . Wt−1
Der Nenner ergibt sich als Summe der entsprechenden Produkte über alle i:
α(i, t)β(i, t)
γ(i, t) = Pn
i=1 α(i, t)β(i, t)
(4.5-1)
Der an der Stelle t wahrscheinlichste Zustand wäre nun einfach derjenige, bei dem die Variable γ(i, t) maximal ist.
Dieser Ansatz würde dazu führen, daß die Anzahl der zutreffenden Zustände maximiert
würde. Es ist aber keinesfalls sicher gestellt, daß die so festgelegte Folge von Zuständen
35
4 HMMs
die angemessene ist. Man betrachte nur den Fall, wo die Übergangswahrscheinlichkeiten,
die zu dem optimalen“ Zustand führen, bzw. von diesem wegführen, gleich 0 ist. Eine
”
Folge, die derartige Zustände enthielte, wäre dann überhaupt nicht realisierbar — obwohl
die Wahrscheinlichkeiten für die einzelnen Zustände maximal sind! Entsprechend würden
sehr kleine Übergangswahrscheinlichkeiten dazu führen, daß die entsprechende Folge von
Zuständen sehr unwahrscheinlich wäre — obwohl die einzelnen Zustände durchaus maximal
wahrscheinlich sind.
Daher soll unter optimaler Sequenz von Zuständen die verstanden werden, die bei gegebener
Folge von Beobachtungen die wahrscheinlichste ist; d.h. es sollen i1 , i2 , i3 , . . . iT so variiert
werden, daß
p
Z(1), Z(2), . . . Z(T ) =(Zi1 , Zi2 , . . . ZiT | Q(1), Q(2), . . . Q(T ) = Qj1 , Qj2 , . . . QjT
maximal ist. Nach Rabiner ist dies äquivalent dazu,
p
Z(1), Z(2), . . . Z(T ) = Zi1 , Zi2 , . . . ZiT ∧ Q(1), Q(2), . . . Q(T ) = Qj1 , Qj2 , . . . QjT
zu maximieren.
Hierfür wird die Variable
δ(i, t) := max p
i1 ,i2 ,...it
Z(1), Z(2), . . . Z(t − 1) = Zi1 , Zi2 , . . . Zi1
∧ W (1), W (2), . . . W (t − 1) = Wj1 , Wj2 , . . . Wjt−1
(4.5-2)
eingeführt. Diese gibt die höchstmögliche Wahrscheinlichkeit (unter Berücksichtigung aller
möglichen Zustandsfolgen bis zur Stelle t) sich an der Stelle t im Zustand Zit zu befinden
(wobei die gegebene Beobachtungsfolge (bis einschließlich W (t) = Wjt ) generiert wird). Es
gilt folgende Rekusionsbeziehung:
δ(k, t + 1) = qk,jt+1 max δ(i, t) pik
i
(4.5-3a)
Man mache sich klar, daß dies tatsächlich das Maximum über alle möglichen Zustandsfolgen
bis zur Stelle t + 1 darstellt, da alle möglichen Fortsetzungen für alle möglichen Zustände
an der Stelle t betrachtet werden (insgesamt also n2 Fälle). (Es reicht nämlich nicht, nur
die Fortsetzung für die Zustandsfolge mit maximaler Wahrscheinlichkeit zu untersuchen, da
eine suboptimale Zustandsfolge (mit einem anderen Wert für den Zustand Z(t)) sich bei
der Fortsetzung (durch entsprechend höhere Übergangswahrscheinlichkeiten) als die global
bessere erweisen kann.)
Die Startwerte sind:
δ(i, 1) = p0i · qij1
(4.5-3b)
36
4.5 Viterbi-Algorithmus
Der global beste Wert an der Stelle T , also die höchstmögliche Wahrscheinlichkeit, die mit
irgendeiner Folge von Zuständen bei gegebener Folge von Beobachtungen erzielt werden
kann, ist:
p∗ = max δ(i, T )
i
(4.5-3c)
Da die global beste Wahrscheinlichkeit erst am Ende feststeht, muß zur Ermittlung der
besten Zustandsfolge daher bei jedem Schritt an jeder Stelle der beste Vorläuferzustand“
”
Zi (d.h. der Index i bei dem das Maximum erzielt wurde) gemerkt“ werden. Hierfür wird
”
die Variable ψ(i, t) eingeführt.
ψ(k, t + 1) := argmax δ(i, t)pik
i
(4.5-3d)
Hierbei ist argmaxi ai = j ⇔ maxi ai = aj ; argmax bezeichnet also den Index j für den das
Maximum angenommen wird. Der Wert am Anfang kann als
ψ(i, 1) = 0
(4.5-3e)
definiert werden, wird aber eigentlich nicht benötigt. Dem endgültigen Wert p∗ entsprechend
wird der dazugehörige Index i∗T eingeführt:
i∗T = argmax δ(i, T )
i
(4.5-3f)
Damit kann nun die optimale Zustandsfolge in Form der Indizes ermittelt werden. (Dies
stellt selbstverständlich nichts anderes als ein backtracking dar.)
i∗t = ψ(i∗t+1 , t + 1)
(4.5-3g)
Das hier beschriebene Verfahren zur Bestimmung von p∗ und damit der Folge (i∗1 , i∗2 , i∗3 , . . . i∗1 )
für die
p
Z(1), Z(2), . . . Z(T ) = Zi∗1 , Zi∗2 , . . . Zi∗T | W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
ein Maximum darstellt, ist der Viterbi-Algorithmus.
37
4 HMMs
4.6 Das Baum/Welch-Verfahren
Die Frage danach, wie P , Q und p0 zu variieren sind, damit
p
W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
aus Punkt 1 in Abschnitt 4.2, maximal wird, also die Frage danach, wie die Parameter eines
HMM zu wählen sind, so daß dieses HMM am besten für eine Beobachtungsfolge paßt“,
”
stellt ein Optimierungsproblem dar. (In diesem Fall hat der Anzahl der Elemente von P , Q
und p0 entsprechend der zugrunde liegende Raum n2 + nm + n = n(n + m + 1) Dimensionen,
wobei n die Anzahl der Zustände und m die Anzahl der möglichen Beobachtungen ist.) Nach
Rabiner ist kein Verfahren zur analytischen Lösung bekannt. Numerische Verfahren liefern
— besonders in hochdimensionalen Fällen — ebenfalls kein globales Maximum. Das Beste
was zu erhoffen ist, ist das Auffinden eines lokalen Maximums durch iterative Verfahren. Ein
solches stellt das Baum/Welch-Verfahren dar.
Als erstes soll die Variable ξ(i, k, t) eingeführt werden. Diese gibt die Wahrscheinlichkeit
dafür an, sich (bei gegebener Beobachtungsfolge) an der Stelle t im Zustand Zi und im
nächsten Schritt im Zustand Zk zu befinden:
ξ(i, k, t) := p Z(t)=Zi ∧ Z(t + 1)=Zk | W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
In Abb. 4.6-1 ist dieser Sachverhalt graphisch dargestellt. Die beiden hier dargestellten
Wahrscheinlichkeiten wurden bereits im Abschnitt 4.4 als α(i, t) und β(k, t + 1) eingeführt.
Berücksichtigt man noch die Wahrscheinlichkeit dafür, aus dem Zustand Zi in den Zustand
Zk überzugehen und dabei die Beobachtung Wj zu genieren, läßt sich ξ(i, k, t) als folgendes
Produkt schreiben:
α(i, t) · pik · qkj · β(k, t + 1)
ξ(i, k, t) = p W (1), W (2), W (3), . . . W (T ) = Wj1 , Wj2 , . . . WjT
...
Z1
Z1
Z2
Z2
..
.
Zit
Zit+1
Zn
Zn
Z(t)
...
..
.
Z(t)
Z(t+1)
Z(t+2)
Abb. 4.6-1: Es ist nach der Wahrscheinlichkeit gefragt, sich an der Stelle t im Zustand Zi und im
nächsten Schritt im Zustand Zk zu befinden. Die vorangehenden Zustände und die Folgezustände
sind unbekannt bzw. beliebig.
38
4.6 Baum/Welch-Verfahren
Der Divisor ergibt sich daraus, daß ξ(i, k, t) als bedingte Wahrscheinlichkeit eingeführt wurde. Indem über alle möglichen Kombinationen von i und k summiert (die Summe gibt dann
nur noch die Wahrscheinlichkeit für die Beobachtungsfolge an, ohne daß die Zustände noch
eine Rolle spielten) wird, kann der Nenner umgeschrieben werden:
α(i, t)pik qkj β(k, t + 1)
ξ(i, k, t) = Pn Pn
i=1
k=1 α(i, t)pik qkj β(k, t + 1)
(4.6-1)
Indem nun diese Wahrscheinlichkeit über alle möglichen k summiert wird, wird die Wahrscheinlichkeit dafür erhalten, daß an der Stelle t der Zustand Zi vorliegt, gefolgt von irgend
einem Folgezustand. Diese Wahrscheinlichkeit wurde aber bereits mit Gleichung 4.5-1 eingeführt. Also besteht folgender Zusammenhang zwischen ξ(i, k, t) und γ(i, t).
γ(i, t) =
n
X
ξ(i, k, t)
k=1
Wird nun über alle möglichen t summiert, so kann die so erhaltene Summe als ErwartungsP
wert dafür genommen werden, wie oft der Zustand Zi auftritt: Tt=1 γ(i, t). Ähnliches gilt
P −1
für den Erwartungswert für die Anzahl der Übergänge von Zi nach Zk : Tt=1
ξ(i, k, t). (Man
beachte die Summationsgrenzen, von der Stelle T ausgehend kann kein Übergang mehr erfolgen.) Auf dieser Basis gibt Rabiner folgende Formel zur iterativen Abschätzung der
Parameter des HMM:
PT −1
ξ(i, k, t)
′
pik = Pt=1
T −1
t=1 γ(i, t)
(4.6-2a)
(Anschaulich gesprochen ergibt sich die Wahrscheinlichkeit pik für den Übergang aus dem
Zustand Zi in den Zustand Zk aus der Anzahl der Fälle wo der Zustand Zk dem Zustand
Zi folgte, dividiert durch die Anzahl aller Fälle, wo der Zustand Zi überhaupt auftrat. Die
Wahrscheinlichkeiten für die Anfangsverteilung wird mit γ(i, 1) abgeschätzt:
p′0,i = γ(i, 1)
.
(4.6-2b)
Der Erwartungswert für die Anzahl der Fälle, wo der Zustand Zi auftritt und dabei die
Beobachtung Wj generiert, wird analog zu obigen Überlegungen ermittelt. Hierbei wird aber
nicht für alle möglichen t über γ(i, t) summiert, sondern es finden nur diejenigen Stellen
Berücksichtigung, wo der Beobachtungswert Wj auftritt. Analog zur Gleichung 4.6-2a wird
wiederum durch die Anzahl aller Fälle, wo Zustand Zi auftrat, dividiert, um die entsprechende Wahrscheinlichkeit zu erhalten:
qij′
PT
ρjt γ(i, t)
t=1 γ(i, t)
t=1
= P
T
(4.6-2c)
39
4 HMMs
Hierbei ist
ρjt =
(
1 wenn W (t) = Wj
0 wenn W (t) 6= Wj
(4.6-2d)
Rabiner weist darauf hin, daß Baum et al. bewiesen haben, daß die so abgeschätzten Parameter tatsächlich eine Verbesserung des HMMs ergeben, die damit berechnete Wahrscheinlichkeit für das Auftreten der Beobachtungsfolge also erhöht wird. Dieses Verfahren wird als
maximum likelihood-Abschätzung des HMMs bezeichnet. Weiterhin sei darauf hingewiesen,
daß dieses Verfahren nur lokale Maxima liefert. Allerdings genügen die mit ihm erhaltenen
Größen tatsächlich den Bedingungen für eine Wahrscheinlichkeit, da entsprechende Summen
tatsächlich 1 ergeben (so z.B. die Wahrscheinlichkeit dafür, daß der Zustand Zi irgendeinen
P
Folgezustand Zk hat: nk=1 pik = 1). Des weiteren sei erwähnt, daß auch andere Optimierungsverfahren möglich sind. Die Ergebnisse seien — so Rabiner — vergleichbar. Wichtig
ist noch die Anmerkung, daß Parameter des Modells, die zu Beginn gleich 0 gesetzt sind, diesen Wert während der Abschätzeprozedur beibehalten. Damit ist es auch möglich, bestimmte
Klassen von Modellen zu behandeln, indem die Wahrscheinlichkeiten Pik für Übergänge, die
nicht auftreten sollen, einfach gleich 0 gesetzt werden.
4.7 Die Behandlung mehrerer Beobachtungssequenzen
Im bisher Gesagten wurde von einer Beobachtungssequenz ausgegangen. Eine Verbesserung
des Modells wird aber zu erwarten sein, wenn es auf vielen Versuchen basiert. Wie sind dann
die Gleichungen zur Abschätzung der Parameter abzuändern? In Abschnitt 4.5 war das Ziel
die Wahrscheinlichkeit
p
Z(1), Z(2), . . . Z(T ) = Zi1 , Zi2 , . . . ZiT | W (1), W (2), . . . W (T ) = Wj1 , Wj2 , . . . WjT
zu maximieren, wobei der erzielbare Maximalwert als p∗ bezeichnet wurde. Liegen nun aber
mehrere Beobachtungsfolgen W (1) , W (2) , W (3) , . . . W (L) vor, so tritt an Stelle der Wahrscheinlichkeit p∗ das Produkt der entsprechenden Einzelwahrscheinlichkeiten p∗(1) , p∗(2) , p∗(3) ,
. . . p∗ (L) . Dies ist dadurch gerechtfertigt, daß die einzelnen Beobachtungsfolgen als voneinander unabhängig angesehen werden können. (Selbstverständlich beruht die Berechnung dieser
Wahrscheinlichkeit auf ein und denselben Modellparametern, da nach einem Modell für alle
Beobachtungsfolgen gesucht wird.)
Die Formeln zur Abschätzung der Parameter können leicht modifiziert werden, da diese auf
Häufigkeiten basieren und daher nun einfach über alle Beobachtungsfolgen summiert werden
kann. Die Gleichungen 4.6-2 des vorigen Abschnitts nehmen daher folgende Form an.
Für die Übergangswahrscheinlichkeiten (Matrix P):
p′ik
40
=
PL
PT −1
l=1
t=1 ξl (i, k, t)
PL PT −1
l=1
t=1 γl (i, t)
(4.7-1a)
4.7 Mehrere Sequenzen
Für die Anfangsverteilung (Vektor p0 ):
p′0,i
=
PL
l=1
γl (i, 1)
L
.
(4.7-1b)
Und schließlich für die Wahrscheinlichkeiten mit denen die Beobachtungen bei gegebenem
Zustand generiert werden:
PL PT
(l)
l=1
t=1 ρjt γl (i, t)
′
qij = PL PT
l=1
t=1 γ(i, t)
(4.7-1c)
Hierbei ist
(l)
ρjt
=
(
1 wenn W (l) (t) = Wj
0 wenn W (l) (t) 6= Wj
(4.7-1d)
41
4 HMMs
42
5 Stochastische kontextfreie Grammatiken
In diesem Kapitel sollen die grundlegenden Methoden umrissen und dargestellt werden, auf
denen diese Arbeit aufbauen wird. Auf die Beziehungen zur Biochemie/Biologie soll eingegangen werden. Von Searls (1988, 1992a, 1992b) wurde darauf hingewiesen, daß die
DNA, die — zieht man nur ihre Primärstruktur in Betracht — eine Folge von Basenpaaren darstellt, mit den Methoden, wie sie für die Behandlung formaler Sprachen existieren,
als Folge von Zeichen beschrieben und untersucht werden kann. Sakakibara et al. (1993)
wendeten stochastische (kontextfreie) Grammatiken zur Modellierung von RNA-Sequenzen
an. Haussler et al. (1993) wandten Markov-Modelle auf Proteine an. Markov-Modelle
können als Sonderfall stochastischer (regulärer) Grammatiken aufgefaßt werden. Von derartigen Ansätzen zur Beschreibung einzelner Moleküle abgesehen, existieren auch Versuche,
die Wechselwirkung zwischen Molekülen (Searls 1995[a]) und sogar die Evolution von Genomen (Dassow/Mitrama 1996) mittels geeignet konstruierter Grammatiken zu erfassen.
Dieser Aspekt soll jedoch in dieser Arbeit nicht verfolgt werden.
5.1 Ableitungen und Syntaxbäume
Sei G = (N, Σ, P, S) eine Grammatik. Sei ferner u ∈ L(G) ein Satz der durch G erzeugten
Sprache. Dann existiert eine Ableitung S ⇒∗ u, also eine Folge von Regeln pi1 , pi2 , . . . pin ∈ P ,
pi1
pi2
pim
so daß S ⇒ α1 ⇒ α2 . . . ⇒ αm mit α0 := S und αm := u, wobei α0 , α1 , . . . αm ∈ (S ∪ Σ)∗
Satzformen sind. Da ⇒∗ reflexiv ist, ist insbesondere S ⇒∗ S, wobei die Regelfolge leer ist.
Sollte G eine kontextfreie Grammatik sein, dann kann für diese Ableitung eine Folge von
Bäumen T0 , T1 , T2 , . . . Tm konstruiert werden, wobei der Satzform αk der Baum Tk zugeordnet wird. Hierbei werden einerseits den Knoten Symbole und Regeln und umgekehrt den
Symbolen an den verschiednen Positionen der k-ten Satzform Knoten des k-ten bis n-ten
Baumes zugeordnet. Die entsprechenden Funktionen sind s: K → N ∪ Σ ∪ {ǫ}, p: K → P und
κ: IN0 × IN → K. Anm.: Als Grundbereich für κ kann nicht Σ gewählt werden, da ja ein- und
dasselbe Symbol durchaus mehrfach auftreten kann. Die Symbole der Satzformen sind daher
als ausgezeichnete Symbole zu betrachten; jedes Symbol ist durch den Index der Satzform
αk , in der es zum ersten Mal auftritt, sowie durch seine Position in dieser Satzform eindeutig
bestimmt. Bei der im folgenden ausgeführten Konstruktion der Funktion κ kann daher deren
Definitionsbereich sukzessive erweitert werden, ohne bereits getroffene Zuordnungen wieder
ändern zu müssen.
Konstruktion von Syntaxbäumen aus Ableitungen (Algorithmus 5.1-1)
1. Der erste Baum der Folge ist T0 mit einem einzigen Knoten, der gemäß der in Abschnitt
2.4. eingeführten Schreibweise als (K1 ) notiert wird.
Diesem Knoten K1 wird das Symbol s(K1 ) = S (das Startsymbol) zugeordnet.
Der Startsatzform α0 ist der Baum T0 , dem (einzigen) Symbol S in dieser Satzform
der Knoten κ(0, 1) = K1 zugeordnet.
2.
a) Ist αk−1 := αAβ die (k−1)-te Satzform (mit dem ihr zugeordneten Baum Tk−1 )
und pik := A → B1 B2 . . . Bmk die k-te angewendete Regel, so wird der Baum Tk
(der der Satzform αk zugeordnet wird) wie folgt erzeugt:
Sei Kj ∈ Tk−1 , und sei Kj dem (ausgezeichneten) Symbol A in der Satzform αk−1
/ Tk−1 neue“ Knoten. Dann ist
zugeordnet. Seien ferner (Kj1 ), (Kj2 ), . . . (Kjmk ) ∈
”
43
5 SCFG
Tk := Tk−1 \ {(Kj )} ∪{(Kj , Kj1 , Kj2 , . . . Kjmk ), (Kj1 ), (Kj2 ), . . . (Kjmk } der nächste
Baum der Folge.
Dem Knoten Kj wird, zusätzlich zu dem Symbol A, das auf der linken Seite
der Regel pik steht, die Regel selbst zugeordnet. Den Knoten Kj1 , Kj2 , . . . Kjmk
werden die (auf der rechten Seite der Regel pik stehenden) Symbole B1 , B2 , . . .
Bmk (entsprechend ihrer Reihenfolge) zugeordnet.
Umgekehrt werden den (wiederum ausgezeichneten) Symbolen B1 , B2 , . . . Bmk
in der Satzform αk die Knoten Kj1 , Kj2 , . . . Kjmk zugeordnet.
b) Sollte (von der Voraussetzung in (ii) abweichend) pik := A → ǫ (ǫ-Produktion)
sein, so wird als neuer“ Knoten (Kj0 ) ∈
/ Tk−1 eingeführt. Dann ist Tk := Tk−1 \
”
{(Kj )} ∪ {(Kj , Kj0 ), (Kj0 )}.
Dem Knoten Kj wird neben dem Knoten A die Regel pik zugeordnet. Dem Knoten
Kj0 wird statt einem Symbol das leere Wort zugeordnet.
(Selbstverständlich gibt es kein Symbol (da ja die rechte Seite der Regel αk leer
ist), dem der Knoten Kj0 zugeordnet werden könnte.)
(5.1-1)
In der beschriebenen Weise kann jeder Satzform einer Ableitung (insbesondere αm ) ein Baum
zugeordnet werden, der als Syntaxbaum bezeichnet wird. Der Folge der Blätter eines Baumes (von links nach rechts) entspricht (aufgrund der zugeordneten Symbole) die jeweiligen
Satzform. Die entsprechende Funktion σ: K ×(K ∗ )∗ → (N ∪Σ)∗ kann analog der in Abschnitt
2.4. definierten Funktion b, die auf Wurzel eines Baumes T angewendet, die Folge der Blätter
dieses Baumes liefert, definiert werden:
σ(Kj , T ) =
(
s(Kj ) wenn t(Kj ) = Kj
σ(Kj1 , T )σ(Kj2 , T ) . . . σ(Kjmk , T ) wenn t(Kj ) = (Kj , Kj1 , Kj2 , . . . Kjmk )
(5.1-2)
Der erste Zweig der Definition trifft zu, wenn es sich bei dem Knoten um ein Blatt handelt,
der zweite wendet die Definition rekursiv auf den zu dem betreffenden Knoten gehörenden
Unterbaum an. Der Deutlichkeit halber wird der betreffende Baum als zweites Argument
mitgeführt. Es ist damit σ(K1 , Tk ) = αk .
Hilfssatz 1:
Sei Kj Knoten des Baumes Tk−1 . (Anm.: Knoten des Baumes Tk−1 sind nach Konstruktion
auch Knoten des Baumes Tk .) Für alle Knoten Ki des Baumes Tk−1 , Ki 6= Kj , für die es
keinen Pfad von Ki nach Kj gibt, ist
σ(Ki , Tk−1 ) = σ(Ki , Tk )
Beweis des Hilfssatz 1 (mittels Induktion über die Tiefe des Unterbaumes, der zu Ki gehört):
(i) Ki ist Blatt. Dann ist (Ki ) ∈ Tk−1 und σ(Ki , Tk−1 ) = s(Ki ). Da Ki 6= Kj ist auch
(Ki ) ∈ Tk und damit σ(Ki , Tk ) = s(Ki ).
(ii) Ki ist Knoten. Dann ist (Ki , Ki1 , Ki2 , . . . Kimi ) ∈ Tk−1 und nach Definition von σ ist
σ(Ki , Tk−1) = σ(Ki1 , Tk−1 )σ(Ki2 , Tk−1) . . . σ(Kimi , Tk−1 )
44
5.1 Ableitungen
Ohne Beschränkung der Allgemeinheit betrachte Ki1 . Es gibt keinen Pfad von Ki1 nach
Kj . (Sonst könnte diesem die Kante (Ki , Ki1 ) vorangestellt“ werden, womit es im Wider”
spruch zur Voraussetzung auch einen Pfad von Ki nach Kj gäbe.) Da der zu Ki1 gehörende
Unterbaum eine um 1 geringere Tiefe hat, als der zu Ki gehörende kann nach Induktionsvoraussetzung im obigen Ausdruck σ(Ki1 , Tk−1 ) durch σ(Ki1 , Tk ) ersetzt werden (und ebenso
die anderen Terme). Damit ergibt sich
σ(Ki , Tk−1) = σ(Ki1 , Tk ), σ(Ki2 , Tk ), . . . σ(Kimi , Tk ) = σ(Ki , Tk )
wobei die letzte Gleichheit wiederum auf der (hier umgekehrten“) Definition von σ beruht.
”
Damit ist Hilfsatz 1 bewiesen.
Hilfssatz 2:
Sei Kj Knoten sowohl von Tk−1 als auch in Tk . Dann gibt es für alle Knoten Ki , für die
Ki = Kj oder für die ein Pfad von Ki nach Kj führt, α, β ∈ (N ∪ Σ)∗ , so daß
σ(Ki , Tk−1 ) = ασ(Kj , Tk−1 )β und σ(Ki , Tk ) = ασ(Kj , Tk )β
Der Beweis erfolgt mittels Induktion über die Pfadlänge l (des Pfades von Ki nach Kj ).
(i) l = 0. Dann ist Ki = Kj . Setze α := ǫ und β := ǫ. Dann ist (ohne daß es noch etwas zu
beweisen gäbe): σ(Ki , Tk−1 = ασ(Kj , Tk−1 )β und σ(Ki , Tk ) = ασ(Kj , Tk )β.
(ii) l > 0. Dann ist Ki nicht Blatt. Sei Ki′ Knoten derart, daß (Ki , Ki′ ) die erste Kante des um
1 kürzeren Pfades von Ki nach Kj ist. Dann gibt es ix = i′ , so daß (Ki , Ki1 , . . . Kix−1 , Ki′ , Kix+1 ,
. . . Kimi ) ∈ Tk−1 und (Ki , Ki1 , . . . Kix−1 , Ki′ , Kix+1 , . . . Kimi ) ∈ Tk . (Dies ist aufgrund der
Konstruktion von Tk−1 und Tk gewährleistet, da der Schritt von Tk−1 nach Tk nichts bzgl.
des Vorläuferknoten von Kj und der bei Kj einlaufenden Kanten ändert.) Dann ist (mit
Definition von σ)
σ(Ki , Tk−1 ) = σ(Ki1 , Tk−1) . . . σ(Kix−1 , Tk−1 )σ(Ki′ , Tk−1)σ(Kix+1 , Tk−1 ) . . . σ(Kimi , Tk−1)
und
σ(Ki , Tk ) = σ(Ki1 , Tk ) . . . σ(Kix−1 , Tk )σ(Ki′ , Tk )σ(Kix+1 , Tk ), . . . σ(Kimi , Tk )
Gemäß Induktionsvoraussetzung (auf den um 1 verkürzten Pfad von Ki′ nach Kj angewendet) existieren α′ , β ′ ∈ (N ∪ Σ)∗ , so daß σ(Ki′ , Tk−1 ) = α′ σ(Kj , Tk−1 )β ′ und σ(Ki′ , Tk ) =
α′ σ(Kj , Tk )β ′ . Ohne Beschränkung der Allgemeinheit betrachte Ki1 6= Ki′ . Es gibt keinen
Pfad von Ki1 nach Kj . (Gäbe es einen solchen, so müßte dieser wegen der Eindeutigkeit des
Vorläuferknotens über Ki verlaufen, womit es einen Zykel (von Ki1 nach Ki nach Ki1 ) gäbe;
oder Ki1 müßte auf dem Pfad von Ki nach Kj liegen, womit Ki1 einen weiteren, von Ki verschiedenen Vorläufer hätte oder Ki1 mit Ki′ identisch wäre — alles im Widerspruch zu den
Voraussetzungen.) Damit ist Hilfssatz 1 anwendbar, was σ(Ki1 , Tk−1 ) = σ(Ki1 , Tk ) und entsprechend die Gleichheit der übrigen Terme ergibt. Mit α := σ(Ki1 , Tk−1 ) . . . σ(Kix−1 , Tk−1 )α′
= σ(Ki1 , Tk ) . . . σ(Kix−1 , Tk−1 )α′ und β := β ′ σ(Kix+1 , Tk−1 ) . . . σ(Kimi , Tk−1) = β ′ σ(Kix+1 , Tk )
. . . σ(Kimi , Tk ) folgt die Behauptung, womit Hilfssatz 2 bewiesen wäre.
Satz: Sei Tk Baum der mit Algorithmus 5.1-1 mit der eingangs gegebenen Ableitung erhaltenen Folge. Dann ist
σ(K1 , Tk ) = αk
(5.1-3)
45
5 SCFG
Der Beweis erfolgt mittels Induktion über k.
(i) σ(K1 , T0 ) = s(K1 ) = S =: α0 , da T0 = {(K1 )}.
(ii) Nach Induktionsvoraussetzung und Definition ist σ(K1 , Tk−1 ) = αk−1 := αAβ. Gemäß
Hilfssatz 2 existieren α′ und β ′ so daß σ(K1 , Tk−1 ) = α′ σ(Kj , Tk−1 )β ′ ist. Da gemäß Konstruktion σ(Kj , Tk−1 ) = A (Kj ist Blatt mit dem zugeordneten Symbol A), kann α′ mit α
und β ′ mit β identifiziert werden. Mit Hilfssatz 1 ist damit σ(K1 , Tk−1 ) = ασ(Kj , Tk−1 )β =
ασ(Kj , Tk )β. Mit der Definition von σ und und den Symbolen B1 , B2 , . . . Bmk , die den
zu Kj gehörenden Nachfolgerknoten Kj1 , Kj2 , . . . Kjmk zugeordnet sind, folgt: σ(K1 , Tk ) =
ασ(Kj , Tk−1 )β = ασ(Kj1 , Tk ), σ(Kj2 , Tk ) . . . σ(Kjmk , Tk )β = αs(Kj1 , Tk )s(Kj2 , Tk ) . . . s(Kjmk ,
Tk )β = αB1 B2 . . . Bmk β = αk Hierbei geht im letzten Schritt die Definition von αk ein. Damit ist die Behauptung, daß die Folge der Blätter des jeweiligen Baumes Tk der Satzform αk
entspricht, bewiesen.
Als Korollar folgt für k = n, daß σ(K1 , Tn ) = αn .
In der graphischen Darstellung solcher Bäume (die auch als Syntaxdiagramme oder besser
Syntaxbäume bezeichnet werden), werden die Knoten üblicherweise nur durch das ihnen
zugeordnete Symbol bezeichnet.
Das bisher Gesagte soll durch ein Beispiel verdeutlicht werden. Sei
p1
p2
p3
p4
p5
p6
:=
:=
:=
:=
:=
:=
S
A
A
B
B
B
→
→
→
→
→
→
ABa
A
ab
BB
b
ǫ
(5.1-4)
eine kontextfreie Grammatik. (Der Einfachheit halber seien in diesem und folgenden Beispiel
Grammatiken nur durch ihre Regeln angegeben.) Dann ist eine mögliche Ableitung
S
p1 p2 p3 p4 p6 p5
∗
⇒
abba
Der der Satzform abba unter dieser Ableitung entsprechende Baum ist zusammen mit den
anderen Bäumen der Folge in Abb. 5.1-1 dargestellt. An diesem Beispiel kann zweierlei
verdeutlicht werden:
Zum einen gibt es auch andere Ableitungen, die zum gleichen Syntaxbaum führen (z.B.
können die Regeln p3 und p4 vertauscht werden). Aus diesem Grund wird eine kanonische
Ableitung (s.u.) festgelegt werden. Zum anderen gibt es Ableitungen, die einen anderen
Syntaxbaum ergeben, obwohl sie dennoch zu dem Satz abba führen (z.B. können die Regeln
p4 und p6 weggelassen werden). Der zu einem Satz gehörende Syntaxbaum ist also nicht
eindeutig. Diese Mehrdeutigkeit stellt ein Problem dar, wenn alle für eine Satzform möglichen
Syntaxbäume angegeben werden sollen. Ferner kann einer Satzform auch nicht so ohne weiteres eine Wahrscheinlichkeit zugewiesen werden, wie dies in Abschnitt 2.8 möglicherweise
suggeriert wurde. Diese beiden Nachteile sind jedoch genau die Vorteile einer stochastischen
kontextfreien Grammatik, wenn diese zur Beschreibung von RNA-Strukturen herangezogen
wird. Dies wird weiter unten an entsprechender Stelle ausgeführt werden.
46
5.1 Ableitungen
S
S
S
T0
T3
A
A
S
A
a
B
T1
a
a
A
S
B
a
A
T5
B
A
B
b
a
B
b
S
T6
A
T2
a
T4
b
b
S
A
a
B
B
A
A
B
a
B
A
a
b
B
a
B
B
b
ǫ
Abb. 5.1-1: Ein Folge von Bäumen T0 , T1 , . . . T6 für eine Ableitung von abba. (Die Grammatik
und die zugrundeliegende Folge von Regeln sind im Text gegeben.) Die Knoten sind durch die
ihnen zugeordneten Symbole dargestellt; die einem Knoten zugeordnete Regel ergibt sich aus der
Darstellung: die linke Seite der Regel entspricht dem dem Knoten zugeordneten Symbol, die rechte
Seite ist die Folge der der Nachfolgerknoten zugeordneten Symbole (von links nach rechts gelesen).
Die kanonische Ableitung kann aus dem Syntaxbaum erhalten werden, indem die inneren
Knoten einer Tiefensuche (vgl. Abschnitt 2.4) entsprechend (von oben nach unten und von
links nach rechts) aufgesucht werden. Da jedem (inneren) Knoten eine Regel zugeordnet
ist, wird so auch eine Folge von Regeln erhalten. Diese wird als Linksableitung bezeichnet.
Für die Anwendung dieser Regeln ist dann festzulegen, daß alle Symbole, die links neben
einem Symbol stehen, das ersetzt wurde, im weiteren Verlauf der Anwendung der Regeln
nicht (mehr) ersetzt werden dürfen. Diese Festlegung nimmt eine besonders einfache Form
an, wenn die abzuleitende Satzform keine Nichtterminalsymbole enthält, es sich also um
einen Satz der Sprache handelt: Eine Regel ist dann während der Ersetzungen stets auf
das am weitesten links stehende Nichtterminalsymbol anzuwenden! Daß eine Linksableitung
möglich ist, beruht darauf, daß bei einer Satzform (mit mehreren Nichtterminalsymbolen)
die Ersetzung eines Nichtterminalsymbols keinen Einfluß auf die spätere Ersetzung der anderen Nichtterminalsymbole hat. Es kann also z.B. immer das am weitesten links stehende
Symbol ersetzt werden. (Dies ist ja gerade die Eigenschaft der Kontextfreiheit der kontextfreien Grammatiken.) Daß diese Eigenschaft bei kontextsensitiven Grammatiken nicht mehr
vorhanden ist, zeigt folgendes Beispiel:
S
A
→
→
AB
aC
47
5 SCFG
→
→
→
B
AD
CB
Dc
b
d
(5.1-5)
Ausgehend von dem Startsymbol wird AB erhalten. Wird zuerst A ersetzt, dann ergibt sich
letztendlich ad. Wird dagegen mit der Ersetzung von B begonnen, so führt dies schließlich
zu bc. Mit anderen Worten: Sobald in AB eines der beiden Symbole A bzw. B ersetzt wurde,
kann nur noch eine, aber nicht mehr die andere der beiden Zeichenfolge ad bzw. bc erhalten
werden.
Um die einer Linksableitung entsprechende Regelfolge zu erhalten, wird die oben angesprochene Tiefensuche mit der Funktion π realisiert, die im folgenden definiert wird. Diese Funktion ordnet jedem Knoten eines Baumes T eine Folge von Regeln zu:
π(Kj , T ) =
(
λ wenn t(Kj ) = Kj
p(Kj , T )π(Kj1 , T ) . . . π(Kjmk , T ) wenn t(Kj ) = (Kj , Kj1 , . . . Kimk )
Hierbei bezeichnet p die Funktion, die für jeden Knoten die diesem zugeordnete Regel liefert.
Handelt es sich bei Kj um ein Blatt, so ist die diesem zugeorndet Folge von Regeln leer. Für
die leere Regelfolge wird das Symbol λ geschrieben.
Satz: Ist K1 die Wurzel des für den Satz α ∈ Σ∗ erhaltenen Syntaxbaumes Tm , so ist
π(K1 , Tm ) die Regelfolge der entsprechende Linksableitung.
(5.1-7)
Für den Beweis wird folgendes gezeigt:
Sei Ki ein Knoten von Tm . Dann ist mit der Regelfolge π(Ki , Tm ) = p′1 p′2 . . . p′m′ eine Ableitung
s(ki , Tm )
p′1 p′2 ...p′m′
∗
⇒
σ(Ki , Tm )
definiert, derart, daß bei jedem Ableitungsschritt das am weitesten links stehende Nichtterminalsymbol ersetzt wird. Weiterhin wird mit dieser Ableitung und Algorithmus 5.1-1 mit
T0′ := {(Ki )} eine Folge von Bäumen T0′ , T1′ , . . . Tm′ ′ erhalten, so daß Tm′ ′ gleich dem zu Ki
gehörenden Unterbaum von Tm ist.
Für den ersten Teil der Behauptung ist zu zeigen, daß, wenn
p′1
p′2
p′3
p′k
p′3
′
α0′ ⇒ α1′ ⇒ α2′ ⇒ . . . ⇒ αk′ ⇒ . . . αm
′
′
′
Ableitung ist, α0′ := s(Ki , Tm ), αm
′ := σ(Ki , Tm ) dann für alle k, 0 ≤ k < m, αk = βk Ak γk ,
∗
∗
′
′
∗
mit βk ∈ Σ , Ak ∈ N, γk ∈ (N ∪ Σ) , pk+1 = Ak→βk und schließlich αm ∈ Σ ist.
Dies wird mittels Induktion über die Tiefe l des zu Ki gehörenden Unterbaums von Tm gezeigt.
′
(i) l = 0. Dann ist Ki Blatt von Tm . π(Ki , Tm ) = λ, m = 0 und s(Ki , Tm ) = α0′ = αm
.
∗
Da voraussetzungsgemäß σ(K1 , Tm ) ∈ Σ ist für jedes Blatt Kb von Tm entweder s(Kb ) ∈ Σ
∗
′
oder s(Kb ) = ǫ, womit dann αm
′ ∈ Σ ist. Da m = 0 gibt es bezüglich des ersten Teils der
Behauptung nichts weiter zu zeigen.
T0′ := {(Ki )} ist sicherlich der zu Ki gehörende Unterbaum von Tm , womit auch der zweite
48
5.1 Ableitungen
Teil der Behauptung gezeigt wäre.
(ii) l > 0. Dann hat Ki Nachfolgerknoten Ki1 , Ki2 , . . . Kimi . Sei s(Ki ) = A, s(Ki1 ) =
B1 , s(Ki1 ) = B2 , . . . s(Kimi ) = Bmi . Dann ist p(Ki , Tm ) = A → B1 B2 . . . Bmi . (Der
Fall A → ǫ ist durch mi = 0 abgedeckt.) Mit Definition 5.1-6 ist weiterhin π(Ki , Tm ) =
p(Ki , Tm )π(Ki1 , Tm )π(Ki2 , Tm ) . . . π(Kimi , Tm ). Es ist α0′ = s(Ki ) = A. Die Regel p( Ki , Tm )
ist anwendbar und es wird (da A das einzige Symbol ist), das am weitesten links stehende
Nichtterminalsymbol ersetzt. (Es ist also β0 = γ0 = ǫ.) Der erste Schritt der Ableitung ist
damit
p(Ki ,Tm )
α0′ ⇒ B1 B2 . . . Bimi
Entsprechend der Induktionsvoraussetzung ist (für den Knoten Ki1 , dessen zu ihm gehörende
Unterbaum von Tm eine geringere Tiefe als l hat)
B1
′
αm
B1
π(Ki1 ,Tm )
∗
⇒
′
αm
B
1
∗
wobei
∈ Σ und alle Regeln der Folge π(Ki1 , Tm ) jeweils auf das am weitesten links stehende Nichtterminalsymbol angewendet werden. Indem die beiden Ableitungen kombiniert
werden (wobei B1 das am weitesten links stehende Nichtterminalsymbol ist) ergibt sich:
α0′
p(Ki ,Tm )
⇒
B1 B2 . . . Bimi
π(Ki1 ,Tm )
∗
⇒
′
αm
B2 . . . Bmi
B
1
(Da es kein Nichtterminalsymbol links von B1 gibt, ist auch bei dieser kombinierten Ableitung
das Prinzip der Linksableitung erfüllt.)
Indem obiges Argument sukzessive bezüglich der Knoten Ki2 , Ki3 , . . . KimI angewendet
wird, ergibt sich schließlich
p(Ki ,Tm )
α0′ ⇒
B1 B2 . . . Bimi
π(Ki1 ,Tm )
∗
⇒
′
αm
B2 . . . Bmi
B
1
′
′
′
. . . αm
αm
. . . αB
mi
B
B
1
π(Ki2 ,Tm )
∗
⇒
′
′
αm
αm
B3 . . . Bmi
B
B
1
2
π(Ki3 ,Tm )
∗
⇒
2
′
′
′
′
′
′
∈ Σ∗ und αm
= αm
α′ . . . αB
Diese Ableitung ist Linksableitung. Da αm
, αm
, . . . αB
mi
mi
B1 mB2
B1
B2
′
ist auch αm
∈ Σ∗ gezeigt.
Mit T0′ = {(Ki )} und Algorithmus 5.1-1 ist T1′ = {(Ki , Ki1 , . . . Kimi ), (Ki1 ), (Ki2 ), . . . (Kimi )}.
Entsprechend der Induktionsvoraussetzung gibt es zu jedem Knoten Kik bei Anwendung von
′
′
′
Algorithmus 5.1-1 und der Regelfolge π(Kik , Tm ) eine Folge von Bäumen Tk,0
, Tk,1
, . . . Tk,m
,
k
′
wobei jeweils der letzte, Tk,mk der zu Kik gehörende Unterbaum von Tm ist. Mit Algorithmus
5.1-1 wird also mit der Regelfolge π(Ki ) folgende Folge von Bäumem erhalten:
T0′
T1′
T2′
T3′
=
=
=
=
..
.
..
.
..
.
Tm′
{(Ki )}
{(Ki , Ki1 , . . . Kimi ), (Ki1 ), (Ki2 ), . . . (Kimi )}
T1′ \ {(Ki1 )} ∪ T1′ , 1
T1′ \ {(Ki1 )} ∪ T1′ , 2
T1′ \ {(Ki1 )} ∪ T1′ , m1
T1′ \ {(Ki1 ), (Ki2 )} ∪ T1′ , m1 ∪ T2′ , 0
T1′ \ {(Ki1 ), (Ki2 )} ∪ T1′ , m1 ∪ T2′ , m2
..
.
= T1′ \ {(Ki1 ), (Ki2 ) . . . (Kimi )} ∪ T1′ , m1 ∪ T2′ , m2 ∪ . . . Tm′ i ,mmi
49
5 SCFG
Da jeder Baum Tk,mk der zu dem entsprechenden Knoten Kik von Tm gehörende Unterbaum
ist, ist damit Tm′ (der den Knoten Ki mit den Kanten (Ki , Ki1 ), (Ki , ki2 ), . . . (Ki , Kimi und
alle zu seinen Nachfolgerknoten Kik gehörenden Unterbäume von Tm umfaßt) der zu Ki
gehörende Unterbaum von Tm .
Als Korollar ergibt sich für Ki := K1 , daß Tm′ = Tm .. Damit ist zweierlei gezeigt. Erstes führt die Linksableitung tatsächlich zu der ursprünglichen Satzform αm . (Denn gemäß
′
Satz 5.1-3 ist σ(K1 , Tm′ ) = αm
und wegen der Gleichheit der Bäume Tm′ ′ = Tm ist damit
′
αm′ = σ(K1 , Tm ) = αm .) Und zweitens ist auch gezeigt, daß die mit der Funktion π erhaltene Regelfolge tatsächlich einer kanonischen Ableitung entspricht, da π(K1 , Tm′ ′ ) (wiederum
aufgrund der Gleichheit der beiden Bäume Tm′ ′ = Tm ) die ursprüngliche kanonische Regelfolge π(K1 , Tm ) liefert.
Damit ist Satz 5.1-7 bewiesen.
5.2 Stochastische kontextfreie Grammatiken
Hier wird (vgl. Abschnitt 2.8.) jeder Produktion p ∈ P eine Wahrscheinlichkeit q ∈ {q ∈ R |
0 ≤ q ≤ 1}. zugeordnet. Diese Wahrscheinlichkeit wird als die bedingte Wahrscheinlichkeit
interpretiert, mit der die Regel p angewendet wird unter der Voraussetzung, daß sie anwendbar ist. Hierbei gilt eine Regel dann als anwendbar, wenn das auf ihrer linken Seite stehende
Symbol dem am weitesten links stehende Nichtterminalsymbol der betreffenden Satzform
entspricht. (Die Existenz von Linksableitungen wird also weiterhin gefordert. Aus diesem
Grunde erfolgt auch hier eine Beschränkung auf kontextfreie Grammatiken.) Weiterhin wird
gefordert, daß die Summe aller Wahrscheinlichkeiten, die den Regeln mit gleicher linker Seite
zugeordnet sind, gleich 1 ist. Dies ist dadurch motiviert, daß die Wahrscheinlichkeit dafür,
daß irgendeine Regel anwendbar ist, gleich 1 sein sollte.
Damit kann nun die Wahrscheinlichkeit für eine bestimmte Ableitung definiert werden. Diese
ist einfach das Produkt über die Wahrscheinlichkeiten der beteiligten Regeln. Diese Wahrscheinlichkeit kann auch anhand des Syntaxbaumes (vgl. Abschnitt 5.1) wie folgt berechnet
werden: Jedem Blatt wird die Wahrscheinlichkeit 1 zugeordnet. Die den übrigen Knoten zugeordnete Wahrscheinlichkeit ergibt sich als Produkt der Wahrscheinlichkeit der Regel, die
dem Knoten zugeordnet ist, und den den Nachfolgerknoten zugeordneten Wahrscheinlichkeiten. Die auf diese Weise der Wurzel zugeordnete Wahrscheinlichkeit ist die der betreffenden
Ableitung. Leider kann diese Wahrscheinlichkeit nicht als die Wahrscheinlichkeit für das Auftreten der mit dieser Ableitung erzeugten Satzform genommen werden, da es i.allg. mehrere
zu dieser Satzform führende Ableitungen gibt. Die einer Satzform zugeordnete Wahrscheinlichkeit ist daher die Summe über alle Wahrscheinlichkeiten der zu dieser Satzform führenden
(Links-)Ableitungen, sofern diese von einander unabhängig sind. Unabhängig bedeutet hier,
daß die betreffende Satzform nicht bereits an früherer Stelle in ihrer Ableitung auftritt. Dies
soll durch ein Bespiel verdeutlicht werden. Seien S→A, A→A und A→a Regeln. Dann sind
S ⇒ A und S ⇒ A ⇒ A zwei Ableitungen, die zu der Satzform A führen. Als stochastische Prozesse aufgefaßt sind diese Ereignisse jedoch nicht von einander unabhängig, da das
Auftreten der Satzform A im zweiten Falle impliziert, daß bereits das erste Ereignis eingetreten ist. Aufgrund der Summenbedingung muß p(S→A) = 1 sein, womit die Summe aller
Wahrscheinlichkeiten p(S ⇒∗ A) = p(S→A) + p(S→A) · p(A→A) + . . . , also offensichtlich
größer als 1 wäre. Zur Vermeidung derartiger Schwierigkeiten wird im folgenden nur Sätzen
der Sprache eine Wahrscheinlichkeit zugeordnet.
50
5.3 Parsen
Die Wahrscheinlichkeit, die einem Satz der Sprache (bei einer bestimmten Ableitung) zugeordnet ist, kann als die Wahrscheinlichkeit aufgefaßt werden, mit der dieser Satz bei folgendem Prozeß erhalten wird: Begonnen wird mit dem Startsymbol. Eine auf das am weitesten
links stehende Symbol anwendbare Regel wird zufällig ausgewählt. Dieser Prozeß wird bis
zu seiner Terminierung, d.h. solange fortgesetzt, bis es keine anwendbaren Regeln mehr gibt
(also die Satzform nur noch Terminalsymbole aufweist).
Eine kontextfreie Grammatik, bei der auf dieser beschriebenen Weise den von ihr erzeugten
Sätzen eine Wahrscheinlichkeit zugeordnet ist, wird als stochastische kontextfreie Grammatik (SCFG) bezeichnet.
5.3 Parsen
Während das Problem, zu einer gegebenen Regelfolge die damit abgeleitete Satzform zu
finden, einfach durch sukzessives Anwenden dieser Regeln gelöst werden kann, ist das umgekehrte Problem, zu einer gegebenen Satzform eine entsprechende Ableitung (oder gar alle
möglichen Ableitungen, wie sie zur Bestimmung der dieser Satzform zugeordneten Wahrscheinlichkeit benötigt werden) i.allg. äußerst schwierig. Dieses Problem ist das Problem der
Syntaxanalyse bzw. das Parsing-Problem und der Vorgang, zu einer gegebenen Satzform
einen Syntaxbaum bzw. alle möglichen Syntaxbäume zu erzeugen (und damit auch die gesuchten Ableitungen) wird als Parsen bezeichnet. Eine so ermittelte Ableitung (also eine Folge von Regeln, die ausgehend vom Startsymbol die gegebene Satzform liefert) wird als Parse
bezeichnet. Mit dem Parsing-Problem eng zusammen hängt das Wort- bzw. RecognizingProblem. Hier geht es nicht darum eine Ableitung zu finden, sondern festzustellen, ob eine
solche überhaupt existiert!
Ein naiver Ansatz hierfür wäre folgendes Verfahren. Erzeuge ausgehend vom Startsymbol
alle möglichen Ableitungen. (Durch entsprechende systematische Vorgehensweise kann dies
prinzipiell garantiert werden.) Verwirf alle Ableitungen, die nicht zu der gegebenen Satzform führen. In vielen Fällen kann festgestellt werden, ob eine Ableitung zu der gegebenen
Satzform führen kann, ohne diese Ableitung bis ganz zum Ende durchzuführen. Eine andere
Möglichkeit geht von der vorgegebenen Satzform aus. Hier werden dann alle Möglichkeiten
ausprobiert, unter Berücksichtigung der gegebenen Regeln die möglichen Vorläufer dieser
Satzform zu finden und deren Vorläufer usw., bis man bei der Startsatzform anlangt. Was
die Komplexität dieser beiden Verfahren anbelangt, so hängt deren Speicherbedarf linear
und der der Zeitbedarf exponentiell von der Länge der zu parsenden Satzform ab. (Da bei
diesen Verfahren evtl. gefundene Ableitungen sofort ausgegeben werden können und nicht
abgespeichert werden müssen, spielen diese bei der Betrachtung des Speicherbedarfes keine
Rolle.)
Günstigere Verfahren nutzen Methoden des Dynamischen Programmierens. Hierbei werden
Teile der Ableitung, die wiederholt auftreten, auf geschickte Art und Weise zusammengefaßt und müssen daher nur einmal behandelt werden. Ein solches Verfahren ist z.B. der
Cocke/Younger/Kasami-Algorithmus (s. z.B. Aho/Ullman, 1972) dessen Speicherbedarf quadratisch und dessen Zeitbedarf kubisch von der Länge der zu parsenden Satzform
abhängt. Die Grammatik muß allerdings in der sog. Chomsky-Normalform vorliegen, was
in der Praxis eine gewisse Einschränkung darstellt. Zwar kann jede Grammatik in diese Normalform überführt werden, benötigt jedoch dann eine Vielfach größere Anzahl von Regeln.
51
5 SCFG
Flexibler ist der Earleysche Algorithmus, der darum auch als Grundlage dieser Arbeit
dient.
5.4 Der Earleysche Algorithmus
Bei dessen Beschreibung lehne ich mich Aho/Ullmann (1972) an (jedoch s.a. Earley,
1970). Es gibt auch andere, modernere Beschreibungen. So stellen Graham/Harrison/
Ruzzo (1980) sowohl den Earleyschen, als auch den Cocke/Younger/Kasami-Algorithmus, als Spezialfälle eines allgemeineren Verfahrens dar. Sie weisen darauf hin, daß diese
Algorithmen auch auf Basis einer Matrixmultiplikation formuliert werden können, wobei
dann ausgenutzt werden könnte, daß es schnelle Matrixmultiplikationsalgorithmen gäbe,
deren Komplexität nicht kubisch, sondern mit der Ordnung n2,55... von der Länge n der
Satzform abhängt. Dieser Ansatz wird hier nicht weiter verfolgt, weil unklar ist, wie er
für die Behandlung von Wahrscheinlichkeiten, wie es bei SCFG notwendig ist, ausgebaut
werden kann. Außerdem zahlt sich der höhere Aufwand dieses Algorithmus erst bei sehr
großen n aus. Krusemann Aretz (1989) stellt “a new approach to Earley’s Parsing Algorithm“ vor, der zwar schneller als der ursprüngliche Earleysche Algorithmus sein soll,
aber bzgl. seiner Komplexität nicht besser ist. Die dort vorgestellten Techniken bleiben in
dieser Arbeit unberücksichtigt. Leermakers (1992) gibt eine funktionale Beschreibung u.a.
des Earleyschen Algorithmus. Um das wiederholte (rekursive) Auswerten von Funktionen
mit gleichem Argument zu vermeiden, werden sog. Memofunktionen eingeführt, die beim
erstmaligen Aufrufen mit einem bestimmten Argument den entsprechenden Funktionswert
rekursiv berechnen und diesen dann abspeichern, so daß bei wiederholtem Aufruf der Funktion mit dem nämlichen Argument auf das abgespeicherte Ergebnis zurück gegriffen und
die zeitaufwendige rekursive Berechnung gespart werden kann. (Also im Prinzip der gleiche
Trick“ wie beim Dynamischen Programmieren.) Obwohl eine funktionale Beschreibung vom
”
theoretischen Standpunkt aus eleganter erscheinen mag, ziehe ich die explizite Konstruktion
und Manipulation der unumgänglichen Tabellen einer impliziten Behandlung vor.
Das Prinzp des Earleyschen Algorithmus soll an einem Beispiel verdeutlicht werden. Die
Grammatik
p1 := S → AC
p2 := A → aB
p3 := B → bc
p4 := C → DEh
p5 := D → def
p6 := E → g
(5.4-1)
liefert mit der Ableitung p1 , p2 , p3 , p4 , p5 , p6 den Satz abcdef g. (Tatsächlich ist dies sogar der
einzige Satz, der mit dieser Grammatik erzeugt werden kann.) Dieser Ableitung entspricht
der in Abb. 5.4-1 dargestellte Syntaxbaum. Jedem Unterbaum (man beachte, daß definitionsgemäß die Blätter auch Unterbäume darstellen) entspricht eine Teilfolge des Satzes. (Diese
Teilfolge ergibt sich als Folge der Blätter des betrachteten Unterbaums.) So entspricht z.B.
dem mit C gekennzeichneten Knoten die Zeichenfolge def gh. Die entsprechende Ableitung
C ⇒∗ def gh stellt einen Teilparse dar. Als ein Teilparse wird hier eine Folge von Regeln
bezeichnet, die ausgehend von einer (frei wählbaren) Folge von Symbolen eine Teilfoge der
zu parsenden Satzform liefern. Anschaulich gesagt konstruiert der Earleysche Algorith52
5.4 Earleyscher Algorithmus
S
A
a
B
c
b
1
2
3
4
5
6
7
8
9
10
11
13
12
14
C
E
D
d
e
h
g
f
Abb. 5.4-1: Hier ist die durch den Earleyschen Algorithmus realisierte Konstruktion des Syntaxbaumes für die Zeichenfolg abcdef gh und die im Text genannte Grammatik (Gleichungen 5.4-1)
dargestellt. Die einzelnen Phasen sind durch gestrichelte Linien verdeutlicht; man beachte, daß zu
einem gegebenen Zeitpunkt während der Konstruktion der Bereich rechts oberhalb der entsprechenden gestrichelten Linie noch nicht existiert.
mus das Syntaxbaum ausgehend von dessen untersten, am weitesten links stehenden Knoten
nach rechts und oben fortfahrend. (Tatsächlich wird i.allg. ein Graph konstruiert, aus dem
die möglichen Syntaxbäume abgeleitet werden können.) Hierbei werden Teilparses zu immer
umfassenderen Teilparses kombiniert bis schließlich ein vollständiger Parse, also der gesamte
Syntaxbaum, erhalten wird. Wenn mehrere Syntaxbäume möglich sind, werden deren gleichartigen Teile (im Sinne des Dynamischen Programmierens) zusammengefaßt und nur einmal
dargestellt. Es sei noch angemerkt, daß während der Konstruktion i.allg. auch Teilparses
auftreten, die nicht Bestandteil eines vollständigen Parses sind.
In Abb. 5.4-1 ist der Vorgang anhand des Beispiels veranschaulicht. In Phase 1 existiert nur
der Unterbaum, der zu dem Knoten a führt. (Diesem entspricht gewissermaßen ein Teilparse,
für den die Regelfolge leer ist.) In den Phasen 2 und 3 treten die Unterbäume der Knoten
b und c hinzu. In Phase 4 können die beiden letzten Unterbäume zu dem zu B gehörigen
Unterbaum zusammengefaßt werden. Diesem Unterbaum entspricht der Teilparse B ⇒∗ bc
(mit der Regelfolge, die aus der einzigen Regel p3 besteht). In Phase 5 können die Unterbäume
der Phasen 1 und 4 zusammengefaßt werden. Der damit entstehende Unterbaum gehört zum
Knoten A, der dazugehörige Teilparse ist A ⇒∗ abc mit der Regelfolge p2 , p3 .
Um Mißverständnisse bzgl. des Begriffs Teilparse zu vermeiden, sei erwähnt, daß mit Phase
11 die zu D und E gehörigen Unterbäume vorliegen. Damit ist dann auch der zu def g
führende Teilparse bekannt, nämlich DE ⇒∗ def g mit der Regelfolge p5 , p6 . Diesem Teilparse
entspricht kein Unterbaum. Erst in Phase 13 liegt, nachdem auch der zu h führende Teilparse
vorliegt, und die von den drei Symbolen D, E und h ausgehenden Teilparses mittels der
Regel C → DEh zusammengeführt werden können, wieder ein Teilparse mit entsprechendem
Unterbaum vor. Jedem Unterbaum entspricht zwar ein Teilparse, aber nicht umgekehrt.
(Allerdings gibt es für viele Teilparses eine Folge neben einander liegender“ Unterbäume.)
”
Das Kombinieren von Teilparses und (wenn möglich) Unterbäumen wird solange fortgesetzt,
bis schließlich der gesamte Baum — entsprechend einem vollständigen Parse — erhalten
wird. Es sei noch angemerkt, daß üblicherweise viel mehr Unterbäume erzeugt werden als in
53
5 SCFG
diesem Beispiel. Darüber hinaus können diese auf unterschiedliche Weisen kombiniert werden
und erweisen sich auch nicht alle als Bestandteil des endgültigen Syntaxbaumes.
Derartige Teilparses, die zu einem neuen, größeren“ Teilparse kombiniert werden, werden
”
durch das Konzept der punktierten Regeln formalisiert. Diese stellen das grundlegende Element des Earleyschen Algorithmus dar. Eine solche punktierte Regel besteht aus einer Regel, deren rechte Seite durch einen Punkt unterteilt ist, und einem Paar von Zahlen i, j ∈ IN.
Eine solche punktierte Regel steht für einen Teilparse: Ist A → α.β, i, j punktierte Regel
und ist u := U1 U2 . . . Un die zu parsende Satzform, so bedeutet dies, daß es eine Ableitung
α ⇒∗ Ui+1 Ui+2 . . . Uj gibt und (letztendlich) alle entsprechenden Regelfolgen bekannt sind.
Dem Kombinieren von Teilparses, also punktierten Regeln, liegt folgender Zusammenhang
zugrunde. Seien A→α.Bβ, i, k und B→γ., k, j punktierte Regeln. Dann gibt es, der Interpretation punktierter Regeln als Aussagen über die Existenz von Ableitungen entsprechend,
eine Ableitung
α ⇒∗ Ui+1 . . . Uk
also eine Regelfolge p1 , p2 , . . . pk , so daß
p1
p2
p3
α ⇒ α′ ⇒ α′′ ⇒ . . . Ui+1 . . . Uk
(5.4-2)
und eine Ableitung
γ ⇒∗ Uk+1 . . . Uj
also eine Regelfolge p′1 , p′2 , . . . p′k′ , so daß
p′1
p′2
p′3
γ ⇒ γ ′ ⇒ γ ′′ ⇒ . . . Uk+1 . . . Uj
(5.4-3)
Indem bei der ersten Ableitung (Relationskette A) jeweils Bβ nachgestellt wird, ergibt sich
p1
p2
p3
αBβ ⇒ α′Bβ ⇒ α′′ Bβ ⇒ . . . Ui+1 . . . Uk Bβ
(5.4-4)
Dies ist eine Linksableitung (vorausgesetzt 5.4-2 ist eine solche), da Bβ jeweils rechts angefügt wird.
Indem die Regel p0 := A→αBβ bzw. p′′0 := B→γ bei B bzw. C vorangestellt wird, ergibt
sich
p0
p1
p2
p3
A ⇒ αBβ ⇒ α′ Bβ ⇒ α′′ Bβ ⇒ . . . Ui+1 . . . Uk Bβ
und
54
p′
p′1
p′2
p′3
B ⇒0 γ ⇒ γ ′ ⇒ γ ′′ ⇒ . . . Uk+1 . . . Uj
5.4 Earleyscher Algorithmus
Diese beiden Ableitungen können kombiniert und zu
p0
p1
p2
p3
A ⇒ αBβ ⇒ α′ Bβ ⇒ α′′ Bβ ⇒ . . . Ui+1 . . . Uk Bβ
p′0
p′1
p′2
p′3
⇒ Ui+1 . . . Uk γ ⇒ Ui+1 . . . Uk γ ′ ⇒ Ui+1 . . . Uk γ ′′ ⇒ . . . Ui+1 . . . Uk Uk+1 . . . Uj
(5.4-5)
zusammengefaßt werden. Dieses Kombinieren von Ableitungen liegt auch gerade den Nummern 2 und 6 der Algorithmen 5.4-6 bzw. 5.4-7 zugrunde (s.u.), als daß mit A→α.Bβ, i, k
und B→γ., k, j auch A→αB.β, i, j punktierte Regel ist. Dieser entspricht aber gerade die
Ableitung 5.4-5!
(ähnliche überlegungen gelten auch bezüglich der Nummer 5C des Algorithmus 5.4-7, was
sofort klar ist, wenn in Ableitung C für B = Uk+1 gesetzt wird.)
Dieses Kombinieren von punktierten Regeln sei am obigen Beispiel (vgl. auch Abb. 5.41) veranschaulicht: Nach Phase 9 ist dem zu D gehörigen Unterbaum entsprechend der
Teilparse D ⇒∗ def bekannt. Da es eine Regel C → DEh gibt, hätte der Algorithmus zu
diesem Zeitpunkt die punktierte Regel C → D.Eh, 3, 6 erzeugt. Nach Phase 11 würde auch
ein von E ausgehender Teilparse (der punktierten Regel E → g., 6, 7 entsprechend) bekannt
sein und es ergäbe sich eine punktierte Regel C → DE.h, 3, 7. (Die Zahlen 3, 6 bzw. 6, 7 bzw.
3, 7 stehen hierbei für die Teilfogen def bzw. g bzw. def g.)
Im folgenden sollen noch vier Sonderfälle für punktierte Regeln erwähnt werden. (i) Beide
Zahlen sind gleich: A → α.β, i, i, was bedeuten würde, daß α ⇒∗ ǫ. (ii) Der Punkt steht
ganz links (es wird im folgenden dann von linkspunktierten Regeln gesprochen): A → .α, i, j,
was heißt, daß für diese Regel noch kein Teilparse ermittelt wurde. (In diesem Fall wäre
auch j = i.) (iii) Der Punkt steht ganz rechts (es wird im folgenden dann von rechtspunktierten Regeln gesprochen): A → α., i, j bedeutet, daß damit nicht nur eine Ableitung
α ⇒∗ Ui+1 Ui+2 . . . Uj bekannt ist, sondern auch A ⇒∗ Ui+1 Ui+2 . . . Uj . Dies kann (und wird
auch) dazu ausgenutzt werden, weitere punktierte Regeln zu erzeugen, auf deren rechten
Seite das Symbol A auftaucht. (iv) Auf der rechten Seite der Regel steht das leere Wort:
A → .ǫ, i, j. (Auch hier wäre j = i.) Diese Regel kann, da ǫ nur zu ǫ abgeleitet werden
kann und ǫ stets zwischen zwei Symbole (der zu parsenden Zeichenkette) eingefügt werden
kann, ohne daß dadurch sich etwas ändert, sofort auch als A → ǫ., i, j geschrieben werden
(womit dann für diesen Sonderfall auch (iii) zutrifft). (Diese Regel ist also sowohl linksals auch rechtspunktiert.) Da das Symbol ǫ weggelassen werden kann, könnte auch einfach
A→., i, j geschrieben werden. Da diese Notation etwas kryptisch erscheint und der Punkt
leicht übersehen werden kann, werden solche Fälle in dieser Arbeit jedoch als A → ǫ., i, j
notiert.
Mit dem Earleysche Algorithmus wird nun eine Folge von Mengen M0 , M1 , M2 , . . . Mn
konstruiert, wobei die Menge Mj nur punktierte Regeln der Form A → α.β, i, j enthält.
(Es könnte also auf das explizite Aufführen der zweiten der beiden einer punktierten Regel
zugeordneten Zahlen verzichtet werden, aus Gründen der Übersichtlichkeit wird hier jedoch
darauf verzichtet.) Zur Definition der j-ten Menge wird auf die Mengen M0 , M1 , . . . Mi−1
zurückgegriffen. Entsprechend den üblichen Konventionen bezeichnet S das Startsymbol,
α, β ∈ (N ∪ Σ)∗ sind Folgen aus Nichtterminal- und Terminalsymbolen, A, B ∈ N sind
Nichtterminalsymbole und U1 , U2 , . . . Un ∈ (N ∪ Σ) die Symbole der zu parsenden Satzform
u = U1 U2 . . . Un .
55
5 SCFG
Diese Mengen M0 , M1 , M2 , . . . Mn sind wie folgt definiert (0 < j ≤ n, k ≤ j):
Der Earleysche Algorithmus (Recognizer-Teil)
1.
2.
3.
4.
5.
6.
7.
8.
S→.α, 0, 0 ∈ M0
A→α.Bβ, 0, 0 ∈ M0
∧ B→γ., 0, 0 ∈ M0 =⇒ A→αB.β, 0, 0 ∈ M0
A→α.Bβ, 0, 0 ∈ M0
∧ B→γ ∈ P
=⇒ B→.γ, 0, 0 ∈ M0
′
′
¬∃M0 ⊂ M0: Definitionen 1.–3. sind für M0 erfüllt
A→α.Bβ, i, j−1 ∈ Mj−1 ∧ B = Uj
=⇒ A→αB.β, i, j ∈ Mj
A→α.Bβ, i, k ∈ Mk
∧ B→γ., k, j ∈ Mj =⇒ A→αB.β, i, j ∈ Mj
A→α.Bβ, i, j ∈ Mj
∧ B→γ ∈ P
=⇒ B→.γ, j, j ∈ Mj
′
∀j, 0 < j ≤ n: ¬∃Mj ⊂ Mj : Definitionen 5.–7. sind für Mj′ erfüllt
(5.4-6)
Man beachte bei Nr. 2, daß γ = ǫ sein kann. Damit ist die zweite Zeile der obigen Definitionen
überhaupt anwendbar. Nummern 4 und 8 stellen Minimalitätsbedingungen dar. Diese stellen
sicher, daß M0 , M1 , . . . Mn nur die tatsächlich zur Erfüllung der Definitionen 1.–3. bzw. 5.–
7. benötigten Regeln enthalten. Ansonsten würde jede Menge, die eine der Mengen M0 ,
M1 , . . . Mn als Teilmenge enthält, diese Definitionen erfüllen. (Anm.: Bei dem gemäß dieser
Spezifikation zu realisierendem Algorithmus werden die entsprechenden Mengen entlang der
”
Definitionen“ konstruiert. Da hierbei jeweils von der leeren Menge ausgegangen wird, sind
die Minimalitätsbedingungen erfüllt.)
Das bisher Beschriebene spezifiziert den Recognizer-Teil des Earleyschen Algorithmus:
Wenn S → α., 0, n ∈ Mn , dann gibt es (dementsprechend, daßs eine punktierte Regel für
einen Teilparse steht) eine Ableitung S → U1 U2 . . . Un , d.h. es existiert für die zu parsende
Zeichenfolge tatsächlich ein Parse.
Um tatsächlich die Ableitungen zu erhalten, wird parallel zur obigen Definitionen 5.4-6
der Mengen M0 , M1 , . . . Mn eine Folge von Hypergraphen (H0 , h0 ), (H1 , h1 ) . . . (Hn , hn )
definiert. (Im Prinzip wird hierbei nichts anderes gemacht, als festzuhalten, aufgrund welcher Voraussetzungen (der Definitionen 5.4-6) eine punktierte Regel in einer Menge Mj
(0 ≤ j ≤ n) auftritt). Der Begriff des Hypergraphens (vgl. Abschnitt 2.4) wird hier verwendet, weil sich der Earleyschen Algorithmus (vgl. z.B. Abb. 5.4-1 oder 5.4-2) gut in Form
eines solchen veranschaulichen läßt. Während die Knoten punktierten Regeln entsprechen,
gibt es keine Kanten, die zwei Knoten verbinden. Stattdessen treten Tripel von Knoten auf,
die eine Einheit bilden und als Hyperkanten bezeichnet werden. Dargestellt sind diese hier
durch eine Pfeil zwischen zwei Knoten, auf den ein zweiter, von einem dritten Knoten ausgehender Pfeil zeigt. Die Knotenmengen dieser Hypergraphen umfassen neben den punktierten
Regeln auch Zeichen (der zu parsenden Satzform) und Regeln der Regelmenge P (die in den
Abbildungen nicht dargestellt sind).
56
5.4 Earleyscher Algorithmus
Der Earleysche Algorithmus (als Parser)
H0 := M0 ∪ P
A→α.Bβ, 0, 0 ∈ M0
∧ B→γ., 0, 0 ∈ M0
=⇒ (A→α.Bβ, 0, 0, A→αB.β, 0, 0, B→γ., 0, 0) ∈ h0
3. A→α.Bβ, 0, 0 ∈ M0
∧ B→γ ∈ P
=⇒ (B→γ, B→.γ, 0, 0, A→α.Bβ, 0, 0) ∈ h0
4. ¬∃h′0 ⊂ h0: Definitionen 2. und 3. sind für h′0 erfüllt
5A. Hj := Hj−1 ∪ Mj ∪ {Uj }
5B. hj−1 ⊆ hj
5C. A→α.Bβ, i, j−1 ∈ Mj−1 ∧ B = Uj
=⇒ (A→α.Bβ, i, j−1, A→αB.β, i, j, Uj ) ∈ hj
6. A→α.Bβ, i, k ∈ Mk
∧ B→γ., k, j ∈ Mj
=⇒ (A→α.Bβ, i, k, A→αB.β, i, j, B→γ., k, j) ∈ hj
7. A→α.Bβ, i, j ∈ Mk
∧ B→γ ∈ P
=⇒ (B→γ, B→γ, j, j, A→α.Bβ, j, j) ∈ hj
8. ∀j, 0 < j ≤ n: ¬∃h′j ⊂ hj: Definitionen 5.–7. sind für h′j erfüllt
1.
2.
(5.4-7)
Der Hypgergraphe (Hn , hn ) stellt eine komprimierte Darstellung der Menge aller Parses für
U1 . . . Un dar und wird als Parse-Tabelle bezeichnet.
Die Numerierung der Definitionen ist korrespondierend zu jenen des Recognizer-Teil des
Earleyschen Algorithmus (Definitionen 5.4-6) gewählt, wobei 5C der Definition 5. entspricht und 5A und 5B keine Entsprechungen haben.
Der Anwendung der Nummern 2. und 6. der Defintionen liegt gewissermaßen ein Ansam”
meln“ von Teilparses, die dann schließlich zu einem größeren Teilparse“ kombiniert werden,
”
zugrunde. Da hierbei eine punktierte Regel quasi durch Weiterschieben des Punktes aus einer
anderen hervorgeht, wird in diesem Zusammenhang auch von Shift-Funktionen gesprochen.
Der Definition 5C. entspricht ein Spezialfall einer Shift-Funktion: Der Teilparse besteht“
”
gerade nur aus dem zu parsenden Symbol Un , wäre also Un ⇒∗ Un . Die Definitionen 3. und
7. zielen darauf ab, die Anzahl der zu betrachtenden Regeln gering zu halten. (Es ist daher
bisweilen von Predict-Funktionen die Rede). Sollten die Definitonen 3. und 7. nicht beachtet
werden, würden in jedem Schritt k zu jeder Regel p ∈ P punktierte Regeln B ′ → .γ, k, k eingeführt werden. In der Menge Mk , 0 ≤ k ≤ n wären dann Elemente der Form B ′ → .γ, k, k
enthalten, für die es keine punktierte Regel A → α.Bβ, i, k in Mk gäbe, bei der das Symbol
B ′ direkt hinter dem Punkt stünde, also B = B ′ wäre. Die in der Folge evtl. mögliche Anwendung der Definitionen 2., 5. und 6. auf B ′ → .γ, k, k würde zwar möglicherweise schließlich
zu einem Element B ′ → γ., k, j in Mj führen (womit dann ein Teilparse B ′ ⇒∗ Uk+1 . . . Uj
ermittelt wäre), das jedoch (aufgrund der Voraussetzung B 6= B ′ ) selbst nie in bezug auf die
Definitionen 2. und 6. Anwendung fände.
Es stellt sich die Frage, inwieweit sich der Aufwand für diese Predict-Funktionen lohnt und
eine Variante des Earleyschen Algorithmus, die auf diese verzichtet (zumindestens unter
bestimmten Umständen) effizienter wäre. Dies soll hier jedoch nicht untersucht werden.
Die Definitionen 4. und 8. stellen (wie auch bei 5.4-6) Minimalitätsbedingungen dar. Es soll
nun noch die Korrektheit der Algorithmen 5.4-6 und 5.4-7 gezeigt werden. Hierfür wird mit
den folgenden Definitionen und Hilfssätzen die Grundlage gelegt.
57
5 SCFG
S→.AC, 0, 0
S→A.C, 0, 3
A→.aB, 0, 0
A→a.B, 0, 1
A→aB., 0, 3
B→.bc, 1, 1
B→b.c, 1, 2
B→bc., 1, 3
b
a
c
S→A.C, 0, 3
S→AC., 0, 8
C→.DEh, 3, 3
C→D.Eh, 3, 6
D→.def, 3, 3
D→d.ef, 3, 4
d
D→de.f, 3.5
e
C→DE.h, 3, 7
D→def., 3, 6 E→.g, 6, 6
f
C→DEh., 3, 8
E→g., 6, 7
g
h
Abb. 5.4-2: Der mit dem Earleyschen Algorithmus für die mit den Regeln in 5.4-1 gegebene
Grammatik und die Zeichenfolge abcdef gh erzeugte Hypergraph (H8 , h8 ). (Aus zeichentechnischen
Gründen tritt der Knoten S→A.C, 0, 3 doppelt auf.) Eine Hyperkante (Ki1 , Ki2 , Ki3 ) wird Ki1 um
eine Produktion, so wird dies durch einen punktierten durch einen waagrechten Pfeil von Ki1 nach
Ki2 , auf den ein senkrechter, von Ki3 nach oben wegführender Pfeil trifft, dargestellt. Handelt es
sich bei Ki1 um eine Regel, so wird nur der von Ki3 nach unten wegführende, senkrechte Pfeil
gezeigt, da im Diagramm nur Knoten, die für punktierte Regeln stehen, dargestellt sind.
Eine anschauliche Interpretation des Diagramms sei an einem Beispiel dargestellt: Betrachtet werde hierzu die punktierte Regel C → .DEh, 3, 3. Sobald der Teilparse für D vorliegt (entsprechend
der punktierten Regel D → def., 3, 6, wo der Punkt ganz rechts steht) kann der Punkt am Symbol D vorbeigeschoben“ werden, womit die punktierte Regel C → D.Eh, 3, 6 erhalten wird. Die”
ses Weiterschieben“ des Punktes geschieht entlang“ des waagrechten Pfeils, während der auf
”
”
diesen zeigende senkrechte Pfeil von der dieses Weiterschieben ermöglichenden Regel ausgeht.
Das Weiterschieben des Punktes wird solange fortgesezt, bis der Punkt ganz rechts angelangt ist
(C → DEh., 3, 8) und damit ein vollständiger Teilparse für C vorliegt. Die entsprechende punktierte Regel C → DEh., 3, 8 wird nun selbst zum Ausgangspunkt eines senkrechten Pfeils, der dorthin
zeigt, wo der Punkt am Symbol C vorbeigeschoben wird.
Es sei noch angemerkt, daß in diesem Beispiel durch Zusammenziehen“ der Knoten entlang der
”
waagrechten (durchgezogenen) Pfeile der Syntaxbaum erhalten wird. Dessen Knoten ergeben sich,
wenn die zusammengezogenen“ punktierten Regeln durch die ihnen jeweils zugrunde liegende
”
Regel ersetzt werden. Den Kanten des Syntaxbaumes entsprechen den senkrechten (gestrichelten)
Pfeilen.
Definition:
M0′ := {A → α.β, 0, 0 ∈ M0 |
α ⇒∗ ǫ
∧ A→αβ ∈ P
∧ (A = S) ∨ ∃ A′: A′→α′ .Aβ ′ , 0, 0 ∈ M0′ }
(5.4-8)
Hilfssatz 1: M0′ erfüllt die Nummern 1 bis 3 des Earleyschen Algorithmus (Recognizer)
(Algorithmus 5.4-6).
Beweis: (Im folgenden beziehen sich alle Angaben von Nummern auf den Earleyschen
Algorithmus (Recognizer).) Mit Nr. 1 ist S→.α, 0, 0 ∈ M0 (A). Es ist S→.α, 0, 0 = S→ǫ.α, 0, 0
58
5.4 Earleyscher Algorithmus
S→.ABa, 0, 0
S→A.Ba, 0, 2
A→.A, 0, 0
A→A., 0, 0
A→.ab, 0, 0
A→ab., 0, 1
a
A→ab., 0, 2
b
S→A.Ba, 0, 2
S→AB.a, 0, 3
S→AB.a, 0, 2
S→ABa., 0, 4
a
B→ǫ., 2, 2
B→B.B, 2, 2
B→BB., 2, 2
B→.BB, 2, 2
B→BB., 2, 3
B→B.B, 2, 3
B→.b, 2, 2
B→b., 2, 3
b
B→B.B, 2, 3
B→BB., 2, 3
B→ǫ., 3, 3
B→B.B, 3, 3
B→BB., 3, 3
B→.BB, 3, 3
B→.b, 3, 3
Abb. 5.4-3: Der mit dem Earleyschen Algorithmus und mit der in Gleichung 5.1-4 gegebenen
Grammatik für die Zeichenfolge abba erzeugte Hypergraph. (Aus zeichentechnischen Gründen treten die Knoten S→A.Ba, 0, 2 und B→B.B, 2, 3 doppelt auf.) Die Bezeichnung der Hyperkanten entspricht der der Abb. 5.4-2. Man beachte die Hyperkanten, in denen ein Knoten mehrfach als Komponente auftaucht, z.B. (A→.A, 0, 0, A→A., 0, 2, A→A., 0, 2) oder (B→.ǫ, 2, 2, B→ǫ., 2, 2, B→ǫ., 2, 2).
und trivialerweise gilt ǫ ⇒∗ ǫ (B). Ebenso ist die Startregel“ S→α ∈ P (C). Und außerdem
”
gilt für die Startregel der dritte konjunktive Term der Definition von M0′ (D). Mit A, B, C
und D ist gezeigt, daß die Startregel Element von M0′ ist und damit gilt für diese Menge Nr.
1.
Ist A → α.Bβ, 0, 0 ∈ M0′ und ist B → γ, 0, 0 ∈ M0′ , dann ist auch A → αB.β, 0, 0 ∈ M0′ .
Denn, da α ⇒∗ ǫ und γ ⇒∗ ǫ und B → γ ∈ P ist auch αB ⇒∗ ǫB ⇒ ǫγ ⇒∗ ǫǫ (A).
A → αBβ ∈ P gilt, da A → α.Bβ, 0, 0 ∈ M0′ (B). Und nach derselben Voraussetzung ist
(A = S) ∨ ∃A′ : A′→α′ .Aβ ′ , 0, 0 ∈ M0′ (C). Mit A, B und C gilt Nr. 2 für M0′ .
Ist A→α.Bβ, 0, 0 ∈ M0′ und ist B→γ ∈ P , dann ist auch ist B→.γ, 0, 0 ∈ M0′ . Denn es ist
ist B→.γ, 0, 0 = B→ǫ.γ, 0, 0 und trivialerweise ist ǫ ⇒∗ ǫ (A). B→γ ∈ P ist vorausgesetzt
59
5 SCFG
(B). Und schließlich wird die Existenz einer Vorläuferregel ebenfalls vorausgesetzt (C). Mit
A, B, und C gilt Nr. 3 für M0′ .
Damit ist Hilfssatz 1 vollständig bewiesen.
Hilfssatz 2:
A→α.β, 0, 0 ∈ M0 =⇒
α ⇒∗ ǫ
∧ A→αβ ∈ P
∧ A = S ∨ ∃ A′: A′→α′ .Aβ ′ , 0, 0 ∈ M0
Beweis: Gemäß der Definition 5.4-8 enthält M0′ nur Elemente aus M0 , so daß M0′ ⊆ M0 .
Hilfssatz 1 entsprechend erfüllt M0′ die Nummern 1 bis 3 des Earleyschen Algorithmus
(Recognizer). Mit dessen Nr. 4 (der Minimalitätsbedingung) muß M0′ = M0 sein. Damit
erfüllt jedes Element von M0 die Definition für M0′ , woraus die Behauptung folgt.
Definition:
α ⇒k β
(mit k ∈ IN0 ) bedeutet, daß für k = 0 gilt α = β und für k > 0 eine Regel pi ∈ P existiert,
p
so daß α ⇒i α′ ⇒k−1 β.
(5.4-9)
(Anmerkung: Umgekehrt folgt aus der Gleichheit von α und β jedoch nicht, daß k = 0
sein muß.)
Hilfssatz 3:
β ⇒k ǫ ∧ A→α.βγ, 0, 0 ∈ M0 =⇒ A→αβ.γ, 0, 0 ∈ M0
Beweis durch Induktion über k.
(i) k = 0: Dann ist β = ǫ und es gibt nichts zu beweisen.
′′
′
(ii) k > 0: Dann ist β 6= ǫ, also β := Bβ ′′ und es ist B ⇒k ǫ und β ′′ ⇒k ǫ, wobei k ′ ≥ 1
und k ′ + k ′′ = k, was die Anwendung der Induktionsvoraussetzung ermöglicht. Da β ⇒k ǫ,
k > 0, existiert eine Folge von Regeln pi1 , pi2 , . . . pik ; pi1 , pi2 , . . . pik ∈ P . Sei dies eine
Linksableitung. Dann ist pi1 := B→β ′, wobei β ′ ⇒k−1 ǫ. Mit Nr. 3 des Earleyschen Algorithmus (Recognizer) und obiger Voraussetzung pi1 ∈ P ist auch B → .β ′ , 0, 0 ∈ M0 . Da
β ′ ⇒k−1 ǫ ist mit der Induktionsvoraussetzung auch B → β ′., 0, 0 ∈ M0 . Damit kann Nr. 2
des Earleyschen Algorithmus auf die ursprüngliche Regel A→αβγ (mit β = Bβ ′′ ) angewendet werden, womit sich A→αB.β ′′ γ, 0, 0 ∈ M0 ergibt. Unter nochmaliger Anwendung der
Induktionsvoraussetzung k ′′ < k ergibt sich dann die Behauptung A→αBβ ′′ .γ, 0, 0 ∈ M0 .
Hilfssatz 4 stellt das Inverse zu Hilfssatz 2 dar:
α ⇒∗ ǫ
∧ A→αβ ∈ P
∧ A=S
∨ ∃ A′: A′→α′ .Aβ ′ , 0, 0 ∈ M0 =⇒ A→α.β, 0, 0 ∈ M0
Beweis: Es werden zwei Fälle unterschieden.
1. A = S. Dann ist mit Nr. 1 des Earleyschen Algorithmus (Recognizer) S→ǫ.α, 0, 0 ∈ M0
und es gibt nichts mehr zu zeigen.
60
5.4 Earleyscher Algorithmus
2. A 6= S. Dann ist der dritte Tel der Voraussetzung ∃A′ : A′ →α′ .Aβ ′ , 0, 0 ∈ M0 . Mit Nr.
3 des Earleyschen Algorithmus (Recognizer) und dem zweiten Teil der Voraussetzung ist
A→.αβ, 0, 0 ∈ M0 . Mit dem ersten Teil der Voraussetzung und Hilfsatz 3 folgt die Behauptung A→α.β, 0, 0 ∈ M0 .
Definition: M0′ wie oben (vor Hilfssatz 1) und Mj für alle j,0 < j ≤ n wie folgt
Mj′ := {A → α.β, i, j ∈ Mj |
α ⇒∗ Ui+1 Ui+2 . . . Uj
∧ A→αβ ∈ P
∧ (A = S ∧ i = 0) ∨ ∃ A′ , k ′: A′→α′ .Aβ ′ , k ′ , i ∈ Mi′ }
(5.4-10)
Hilfssatz 5: M1′ , M2′ , . . . Mn′ erfüllen die Nummern 5 bis 7 des Earleyschen Algorithmus
(Recognizer) (Algorithmus 5.4-6).
′
Beweis: Ist A→α.Bβ, i, j − 1 ∈ Mj−1
und B = Uj , dann ist auch A→αB.β, i, j ∈ Mj′ . Denn:
′
′
Wenn A→α.Bβ, i, j − 1 ∈ Mj−1
ist auch (nach Definition von Mj−1
) α ⇒∗ Ui+1 Ui+2 . . . Uj−1
∗
∗
und damit (da B = Uj ) αB ⇒ Ui+1 Ui+2 . . . Uj−1 B ⇒ Ui+1 Ui+2 . . . Uj−1 Uj (A). Weiterhin
ist auch A→αBβ ∈ P (B). Ferner ist (A = S ∧ i = 0) ∨ ∃A′ , k ′ : A′ →α′.Aβ ′ , k ′ , i ∈ Mi′ , so
daß A→αB.β, i, j ∈ Mj′ auch den dritten Teil der obigen Definition für Mj′ erfüllt (C). Mit
A, B und C gilt Nr. 5 des Earleyschen Algorithmus für Mj′ .
Ist A→α.Bβ, i, k ∈ Mk′ und B→γ., k, j ∈ Mj′ , dann ist auch Ist A→αB.β, i, j ∈ Mk′ . Der Voraussetzung entsprechend ist α ⇒∗ Ui+1 Ui+2 . . . Uk und γ ⇒∗ Uk+1 Uk+2 . . . Uj und B → γ ∈ P .
B→γ
Also ist αB ⇒∗ Ui+1 Ui+2 . . . Uk B ⇒ Ui+1 Ui+2 . . . Uk γ ⇒∗ Ui+1 Ui+2 . . . Uk Uk+1 Uk+2 . . . Uj
(A). Weiterhin ist A→αBβ ∈ P (B). Außerdem ∃A′ , k ′ : A′→α′ .Aβ ′ , k ′ , i ∈ Mi′ (C). Mit A,
B und C gilt für Mj′ auch Nr. 6 des Earleyschen Algorithmus (Recognizer).
Ist A→α.Bβ, i, j ∈ Mj′ und B→γ ∈ P , so ist auch B→.γ, j, j ∈ Mj′ . Denn: B→.γ, j, j = B→
ǫ.γ, j, j und trivialerweise ǫ ⇒∗ Uj+1 . . . Uj (A). Außerdem: B→γ ∈ P nach Voraussetzung
(B). Und schließlich ist die Existenz einer Vorläuferregel“ mit A→ α.Bβ, i, j ∈ Mj′ auch
”
sichergestellt (C). Mit A, B und C gilt auch Nr. des Earleyschen Algorithmus für alle Mj′ ,
0 < j ≤ n.
Hilfssatz 6: Für alle j, 0 < j ≤ n gilt:
A→α.β, i, j ∈ Mj =⇒
α ⇒∗ Ui+1 Ui+2 . . . Uj
∧ A→αβ ∈ P
∧ (A = S ∧ i = 0)
∨ ∃ A′ , k ′: A′→α′ .Aβ ′ , k ′ , i ∈ Mi
Beweis: Entsprechend der Definition von Mj′ gilt Mj′ ⊆ Mj . Mit Hilfssatz 5 gilt für alle j,
0 < j ≤ n, daß Mj′ die Nummern 5 bis 7 des Earleyschen Algorithmus (Recognizer) erfüllt.
Mit Nr. 8 des Earleyschen Algorithmus (Recognizer) folgt, daß für alle j, 0 < j ≤ n gilt
Mj′ = Mj . Ist also A → α.β, i, j ∈ Mj , so ist damit auch A → α.β, i, j ∈ Mj′ , womit der
Definiton von Mj′ gemäß die Behauptung folgt.
Hilfssatz 7:
β ⇒k ǫ ∧ A→α.βγ, j, j ∈ Mj =⇒ A→αβ.γ, j, j ∈ Mj
61
5 SCFG
Beweis durch Induktion über k.
(i) k = 0: Dann ist β = ǫ und es gibt nichts zu beweisen.
′
′′
(ii) k > 0: Dann ist β 6= ǫ, also b := Bβ ′′ und es ist B ⇒k ǫ und β ′′ ⇒k ǫ, wobei k ′ ≥ 1
und k ′ + k ′′ = k. β ⇒k ǫ, k > 0, heißt, es existiert eine Folge von Regeln pi1 , pi2 , . . .
pik ; pi1 , pi2 , . . . pik ∈ P . Sei dies eine Linksableitung. Sei ferner pi1 := B → β ′ . Dann ist,
′
da B ⇒k ǫ auch β ′ ⇒k−1 ǫ. Mit Nr. 7 des Earleyschen Algorithmus (Recognizer) ist mit
A→α.Bβ ′′ γ, j, j ∈ Mj und pi1 := B→β ′ auch B → .β ′ , j, j ∈ Mj . Da β ′ ⇒k−1 ǫ und k ′ −1 < k
gilt der Induktionsvoraussetzung entsprechend B → β ′ ., j, j ∈ Mj . Damit ist nun Nr. 6 des
Earleyschen Algorithmus anwendbar und es ergibt sich A→αB.β ′′ γ, j, j ∈ Mj . Und wieder
′′
der Induktionsvoraussetzung entsprchend (β ′′ ⇒k ǫ, k ′′ < k) ist dann A→αBβ ′′ .γ, j, j ∈ Mj .
Mit (i) und (ii) ist der Beweis für Hilfssatz 7 geführt.
Hilfssatz 8:
β ⇒k Ui+1 Ui+2 . . . Uj , i ≤ j
∧ A→α.βγ, l, i ∈ Mi
=⇒ A→αβ.γ, l, j ∈ Mj
Beweis durch Induktion über die Differenz j − i.
(I) j − i = 0: Dies ist der Fall des Hilfssatz 7 und es gibt hier nichts weiter zu zeigen.
(II) j − i > 0: Hierfür wird der Beweis durch Induktion über die Anzahl k der Ableitungsschritte geführt.
(i) k = 0: Dann ist β = Ui+1 Ui+2 . . . Uj . Dann ist A→α.Ui+1 Ui+2 . . . Uj γ, l, i ∈ Mi . Durch fortgesetzte Anwendung von Nr. 5 des Earleyschen Algorithmus folgt A→αUi+1 Ui+2 . . . Uj .γ,
l, j ∈ Mj .
(ii) k > 0: Dann enthält β ein Nichtterminalsymbol B und es ist β = Ui+1 Ui+2 . . . Um′ Bβ ′′ ,
′
wobei auch m′ = i und β ′′ = ǫ möglich. Da β ⇒k Ui+1 Ui+2 . . . Uj muß sein B ⇒k
′′
Um′ +1 Um′ +2 . . . Um′′ und β ′′ ⇒k Um′′ +1 Um′′ +2 . . . Uj , wobei i ≤ m′ ≤ m′′ ≤ j und k ′ + k ′′ = k.
Mit wiederholter Anwendung von Nr. 5 des Earleyschen Algorithmus (Recognizer) ergibt
sich mit A → α.Ui+1 Ui+2 . . . Um′ Bβ ′′ γ, l, i ∈ Mi schließlich A → αUi+1 Ui+2 . . . Um′ .Bβ ′′ , l, m′
′
′
∈ Mm′ . Mit B ⇒k Um′ +1 Um′ +2 . . . Um′′ existiert eine Regel pi1 := B → β ′ , mit β ′ ⇒k −1
Um′ +1 Um′ +2 . . . Um′′ . Mit Nr. 7 des Earleyschen Algorithmus (Recognizer) ist B → .β ′ ,
m′ ,m′ ∈ Mm′ . Damit ist der Induktionsvoraussetzung (für k ′ − 1 < k Ableitungsschritte) entsprechend B → β ′ ., m′ , m′′ ∈ M′′ . Damit ist mit Nr. 6 des Algorithmus A →
αUi+1 Ui+2 . . . Um′ B.β ′′ γ, l, m′′ ∈ Mm′′ . Und nochmals der Induktionsvoraussetzung (für k ′′ <
k Ableitungsschritte) entsprechend A → αUi+1 Ui+2 . . . Um′ Bβ ′′ .γ, l, j ∈ Mj , womit die Behauptung bewiesen wäre.
Hilfssatz 9 stellt das Inverse zu Hilfssatz 6 dar:
α ⇒∗ Ui+1 Ui+2 . . . Uj
∧ A→αβ ∈ P
∧ (A = S ∧ i = 0) ∨ ∃ A′ , k ′: A′→α′ .Aβ ′ , k ′ , i ∈ Mi =⇒ A→α.β, i, j ∈ Mj
Beweis: Es werden zwei Fälle unterschieden.
1. A = S ∧ i = 0. Dann ist mit Nr. 1 des Earleyschen Algorithmus (Recognizer)
S → .αβ, 0, 0 ∈ M0 und mit der Voraussetzung α ⇒∗ Ui+1 Ui+2 . . . Uj folgt mit Hilfssatz 8
daß S→α.β, 0, j ∈ Mj .
2. ∃ A′ , k ′ : A′ → α′ .Aβ ′ , k ′ , i ∈ Mi . Mit der Voraussetzung A → αβ ∈ P und Nr. 7 des
Earleyschen Algorithmus (Recognizer) folgt A → .αβ, i, i ∈ Mi und hieraus, da α ⇒∗
Ui+1 Ui+2 . . . Uj , mit Hilfssatz 8, daß A→α.β, i, j ∈ Mj .
62
5.4 Earleyscher Algorithmus
Satz:
A→α.β, i, j ∈ Hn =⇒ A→α.β, i, j ∈ Mj
A→α.β, i, j ∈ Mj =⇒ A→α.β, i, j ∈ Hn
(1)
(2)
(5.4-11)
Beweis: Angenommen wird, daß A→α.β, i, j ∈
/ Mj . Da (gemäß Nr. 5A des Earleyschen
Algorithmus (Parser) (5.4-7)) ∀j, 0 < j ≤ n : Hj := Hj−1 ∪ Mj ∪ {Uj } ist Hn = (M0 ∪
S
P ) ∪ M1 ∪ M2 . . . ∪ nk=1 {Uk } und es gäbe, da A→α.β, i, j ∈ Hn (aber als punktierte Regel
S
weder in P noch in nk=1 {Uk } enthalten ist), ein k 6= j, so daß A → α.β, i, j ∈ Mk . Damit wäre jedoch Mk′ := Mk \ {A→α.β, i, j} möglich, auf das die Nummern 1 bis 3 bzw. 5
bis 7 des Earleyschen Algorithmus (Parser) noch zuträfen. (Diese Regeln machen ja nur
Aussagen über punktierte Regeln, deren zweite Zahl“ j mit dem Index der Menge Mj , in
”
der sie enthalten sind, übereinstimmen.) Damit wäre im Widerspruch zu Nr. 4 bzw. Nr. 8
die Menge Mk′ echte Teilmenge von Mk . Somit ist Nr. 1 der Behauptung wahr. — Mit Nr.
1 bzw. Nr. 5A des Earleyschen Algorithmus (Parser) ist ∀j, 0 ≤ j ≤ n : Mj ⊂ Hj und
∀j, 0 ≤ j ≤ n : Hj ⊂ Hj+1 . Hieraus folgt ∀j, 0 ≤ j ≤ n : Mj ⊂ Hn und Nr. 2 der Behauptung
ist ebenfalls wahr.
Es kann nun der folgende Satz formuliert werden, der im wesentlichen einen Zusammenhang
zwischen punktierten Regeln (als Elementen von Hn ) und Teilparses herstellt.
Satz:
A→α.β, i, j ∈ Hn
⇐⇒
α ⇒∗ Ui+1 Ui+2 . . . Uj
∧ A→αβ ∈ P
∧ A=S∧i=0
∨ ∃ A′ , α′ , β ′ k, 0 ≤ k ≤ i : A′→α′ .Aβ ′ , k, i ∈ Hn
(5.4-12)
Beweis:
Mit Satz 5.4-11, Nr. 1 und Hilfssatz 2 bzw. 6 folgt aus der linken Seite der Äquivalenzbeziehung deren rechte Seite.
Mit Hilfssatz 4 bzw. Hilfssatz 8 und Satz 5.4-11, Nr. 2 folgt aus der rechten die linke Seite.
Damit ist die Äquivalenz gezeigt und der Satz (und damit auch Algorithmus 5.4-6) bewiesen.
Mit Hilfe dieses Satzes wird später gezeigt werden, daß mit der Existenz einer punktierten
Regel A→α.β, i, j ∈ Hn alle Teilparses α ⇒∗ Ui+1 Ui+2 . . . Un repräsentiert sind. Hiervon wird
in Abschnitt 5.7 Gebrauch gemacht werden.
Entsprechend dem Satz 5.4-12, der, einen Zusammenhang zwischen den Elementen von Hn
und punktierten Regeln herstellt, macht der folgende Satz Aussagen über den Zusammenhang zwischen den Elementen von hn und punktierten Regeln:
63
5 Stochastische kontextfreie Grammatiken
Satz:
(I ′ , I, I ′′ ) ∈ hn
⇐⇒
I ′ = B→γ
∧ I = B→.γ, j, j
∧ I ′′ = A→α.Bβ, i, j
∨
∨
I ′ = A→α.Bβ, i, j −1
∧ I = A→αB.β, i, j
∧ I ′′ = B = Uj
∃I, I ′ , I ′′ ∈ Hn :
I ′ = A→α.Bβ, i, k
∧ I = A→αB.β, i, j
∧ I ′′ = B→γ., k, j
(5.4-13)
Beweis: Mit dem Earleyschen Algorithmus (Parser) Nr. 5B ist h0 ⊆ h1 ⊆ h2 ⊆ . . . hn .
Damit folgt die linke Seite der obigen Äquivalenz aus der rechten mit den Nummern 5C, 2
bzw. 6 und 3 bzw. 7 des Earleyschen Algorithmus (Parser).
Die rechte Seite der Äquivalenz folgt aus der linken mit der Minimimalitätsbedingung Nr. 4
˜ I˜′′ ) ∈ hn ,
bzw. 8 des Earleyschen Algorithmus (Parser): Die Annahme eines Elements (I˜′ , I,
′
˜ I˜′′ )},
das nicht einem der drei obigen disjunkten Terme entspricht, würde ein hn := hn \{(I˜′ , I,
h′n ⊂ hn , ermöglichen, das immer noch den Nummern 1 bis 3 bzw. 5 bis 7 genügen würde.
Mit den Sätzen 5.4-12 und 5.4-13 ergibt sich der Beweis für die Korrektheit der Algorithmen
5.4-6 und 5.4-7. (Anm.: Da Algorithmus 5.4-6 Bestandteil von 5.4-7 ist, reicht es bei 5.4-7
aus, die Eigenschaften von hn zu beweisen.)
5.5 (Hn , hn ) und Syntaxbäume
Wie aus dem Hypergraphen (Hn , hn ) sich nun ein Syntaxbaum gewinnen läßt, sei hier informell beschrieben (vgl. Abb. 5.4-2 und Abb. 5.4-3). (i) Es wird ein Pfad von dem Knoten
(S → .α, 0, 0) zu dem Knoten (S → α., 0, n) entlang der parallel verlaufenden waagrechten (hellgrauen) Kanten gewählt. (Dieser Pfad ist nicht notwendigerweise zykelfrei.) Diesem
Pfad entspricht im Syntaxbaum (vgl. Abschnitt 5.1 und Abb. 5.1-1) die Wurzel, der die Regel
(S → α) zugeordnet wird. Zu jeder (waagrechten) Kante des Pfades gibt es eine senkrecht
auf ihn zeigenden (dunkelgrauen) Pfeil. Die Folge der Knoten (im Hypergraphen) von denen
diese Pfeile ausgehen, ergibt die Nachfolgerknoten des Startknotens (im Syntaxbaum). (ii)
Für jeden Knoten im Syntaxbaum werden dessen Nachfolgerknoten mit folgender rekursiver
Vorgehensweise ermittelt: Der diesem Knoten des Syntaxbaumes entsprechende Knoten des
Hypergraphen wird aufgesucht. Handelt es sich um ein Symbol der zu parsenden Zeichenfolge, so ist das Verfahren an dieser Stelle nicht fortzusetzen. Handelt es sich dagegen um
eine (rechtspunktierte) Regel, so wird ein Pfad (entlang der waagrechten Pfeile) von der entsprechenden linkspunktierten zu dieser rechtspunktierten Regel gewählt. Entsprechend der
Folge dieser waagrechten Pfeile gibt es eine Folge senkrechter Pfeile, die auf diese zeigen. Die
Knoten, von denen diese senkrechten Pfeile ausgehen, stellen die gesuchten Nachfolgerknoten
dar. Dies wird in einem der nächsten Abschnitte formalisiert werden.
64
5.6 Wahrscheinlichkeiten und Ableitungsbäume
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Der Begriff der in Abschnitt 5.2. eingeführten Wahrscheinlichkeit soll nun präzisiert werden.
Sei G = (N, Σ, S, P ) eine Grammatik mit der Regelmenge P . Deren Regeln pi ∈ P seien mit
Wahrscheinlichkeiten qi ∈ [0, 1] attributiert. Für diese wird gefordert, daß für alle Regeln A→
P A
βk , die auf der rechten Seite dasselbe Symbol A aufweisen, nk=1
qA,k = 1 gilt (wobei qA,k die
Wahrscheinlichkeit ist, mit der die k-te Regel, die auf der linken Seite das Symbol A aufweist,
attributiert ist und nA die Anzahl derartiger Regeln ist). Dies ist dadurch motiviert, daß die
Wahrscheinlichkeit dafür, daß beim Vorliegen eines Symbols irgendeine Regel angewendet
wird, gleich 1 sein sollte.
An dieser Stelle soll nun der Begriff des Ableitungsbaums eingeführt werden. Dieser ist
eine Darstellung aller (Links-)Ableitungen, die ausgehend von einer Symbolfolge α0 erhalten
werden können. (Anm.: Man beachte, daß ein solcher Ableitungsbaum kein Syntaxbaum ist
wie sie in Abschnitt 5.1. eingeführt wurden.)
Definition des Ableitungsbaums
Sei α0 ∈ (N ∪ Σ)∗ eine Symbolfolge. Der zu dieser gehörende Ableitungsbaum R = (K, k)
ist wie folgt festgelegt:
1. K1 ∈ K ist die Wurzel von R. Diesem Knoten wird die Symbolfolge σ(K1 ) := α0 und
die Zahl q(K1 ) := 1 zugeordnet.
2. Sei Ki Knoten von R mit zugeordneter Symbolfolge σ(Ki ) = uAβ, wobei u ∈ Σ∗ ,
A ∈ N und β ∈ (N ∪ Σ)∗ . Für jede Regel pA,k ∈ P , pA,k := A → βk hat Ki einen
Nachfolgerknoten Kik . Ki hat nicht mehr Nachfolgerknoten als es Regeln pA,k gibt.
Der Kante (Ki , Kik ) ∈ k wird die Regel pA,k und die Wahrscheinlichkeit qA,k zugeordnet. Dem Nachfolgerknoten Kik wird die Symbolfolge σ(Kik ) := uβk β und die Zahl
q(Kik ) := qA,k q(Ki ) zugeordnet.
3. Sei Kj Knoten von R mit zugeordneter Symbolfolge σ(Kj ) = u, u ∈ Σ∗ , so ist Kj
Blatt.
(5.6-1)
Die hierbei eingeführte Funktion σ: K→(N ∪ Σ)∗ ist nicht mit der in Abschnitt 5.1. auf Syntaxbäumen eingeführten zu verwechseln! Jedem (von K1 ausgehenden) Pfad in R entspricht
eineindeutig eine von α0 ausgehende (Links-)Ableitung. Da jede Ableitung als Linksableitung
formuliert werden kann, gibt es für jede Symbolfolge αk ∈ (N ∪ Σ)∗ , die aus α0 abgeleitet
werden, einen Knoten Kr in R, dem αk zugeordnet ist, also σ(Kx ) = αk . Selbstverständlich ist i.allg. Kr nicht eindeutig bestimmt, da die Symbolfolge αk mehrfach auftreten kann.
Anm.: Der zu Kr gehörende Unterbaum stellt seinerseits den Ableitungsbaum zu αk dar.
Auf diesem Ableitungsbaum wird nun folgender stochastischer Prozeß definiert. Beginnend
in der Wurzel wird zu jedem Knoten zufällig, und zwar mit der der jeweiligen Kante entsprechenden Wahrscheinlichkeit, ein Nachfolgerknoten gewählt, solange bis ein Blatt Kj erreicht
ist. Die Wahrscheinlichkeit, mit der das Blatt Kj erreicht wird, ist die Wahrscheinlichkeit, mit
der der Pfad von K1 nach Kj durchlaufen wird, also das Produkt der Wahrscheinlichkeiten
der entsprechenden durchlaufenen Kanten: q(Kj ) := qi1 qi2 . . . qimi .
65
5 Stochastische kontextfreie Grammatiken
pi1 ... pim
i
∗
αm Ableitung mit der Regelefolge pi1 , . . . pimi . Sei jeder Regel pik
Definition: Sei α0 ⇒
eine Wahrscheinlichkeit qik zugeordnet. Dann ist die Wahrscheinlichkeit für diese Ableitung
(mit gegebener Regelfolge)
q(α0
pi1 pi2 ... pim
i
∗
⇒
αm ) := qii · qi2 · . . . qimi
Dies ist auch genau die Wahrscheinlichkeit q(Kj ), die dem Knoten Kj des oben definierten Ableitungsbaumes R zugeordnet wird. (Anmerkung: Der Ableitungsbaum kann auch als
nichtdeterministischer Automat, dessen akzeptierenden Zustände die Blätter von R sind, aufgefaßt werden. Da diese Betrachtungsweise hier keine Vorteile bietet, soll dieser Aspekt nicht
weiter verfolgt werden.) Weiterhin ist diese Wahrscheinlichkeit auch die Wahrscheinlichkeit
dafür, daß die Folge von Terminalsymbolen u (unter der gegebenen Ableitung) aus α0 erhalten werden kann. Sollte dies die einzig mögliche Ableitung sein, so wäre diese Wahrscheinlichkeit auch die Wahrscheinlichkeit dafür mit der u aus α0 (unter Zugrundelegen des oben
angenommenen stochastischen Prozesses) abgeleitet wird. Da es i.allg. mehrere Möglichkeiten gibt, um u abzuleiten, wird die Wahrscheinlichkeit dafür, daß u abgeleitet werden
kann, als Summe über die Wahrscheinlichkeiten aller möglichen Ableitungen α0
definiert:
p p ... p
q(u|α0 ) :=
X
i
i1 i2
q(α0
⇒∗
imi
u) :=
X
pi1 pi2 ... pim
i
∗
⇒
u
qi1 qi2 . . . qimi
i
(5.6-2)
Die entsprechenden Ableitungen seien geordnet, erst nach zunehmender Anzahl der Regeln
und bei gleicher Regelanzahl dann lexikalisch.
Eine entsprechende Definition für die Wahrscheinlichkeit für Folgen beliebiger Symbole (die
inneren Knoten des Baumes entsprechen) ist nicht möglich, da i.allg. die Unabhängigkeit
der entsprechenden Ereignisfolgen nicht gewährleistet ist und deren Wahrscheinlichkeiten
daher nicht einfach addiert werden können. Die einem inneren Knoten zugeordnete Zahl ist
vielmehr als Wahrscheinlichkeit dafür zu interpretieren, daß irgendeiner der Blattknoten des
zu diesem inneren Knoten gehörenden Unterbaums erreicht wird. Oder, anders formuliert,
die einem inneren Knoten zugeordnete Zahl ist die Summe aller Wahrscheinlichkeiten der
durch diesen Knoten verlaufenden Pfade.
Liegt der Knoten Ki auf einem Pfad von der Wurzel zu Knoten Kj , so kann der Quotient
der den beiden den Knoten zugeordneten Wahrscheinlichkeiten eingeführt werden:
q(Kj | Ki ) =
q(Kj )
q(Ki )
Dieser ist als bedingte Wahrscheinlichkeit interpretierbar, nämlich die Wahrscheinlichkeit
dafür, daß irgendein Blattknoten des zu Kj gehörenden Unterbaums erreicht wird, unter der
Voraussetzung, daß der Knoten Ki bereits erreicht wurde. Ist Kj Blatt, kann q(Kj |Ki ) sogar
als die Wahrscheinlichkeit dafür interpretiert werden, daß σ(Kj ) aus σ(Ki ) abgeleitet wird
(wobei die Ableitung durch die Folge der Regeln gegeben ist, die den Kanten des Pfades von
Ki nach Kj zugeordnet sind). Derartige bedingte Wahrscheinlichkeiten können auch ohne
Kenntnis der Zahlen q(Ki ) und q(Kj ) berechnet werden, indem die Wahrscheinlichkeiten
aufmultipliziert werden, die den Kanten des Pfades von Ki nach Kj zugeordnet sind.
66
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Definition: Jedem Knoten Kj wird eine Zahl qs (Kj ) wie folgt zugeordnet:
qs (Kj ) :=



0
wenn Kj Blatt und σ(Kj ) 6= u
q(Kj )
wenn σ(Kj ) = u

 P nA
k=1 qs (Kjk ) wenn Kj innerer Knoten
(5.6-3)
Hierbei ist Kjk Unterknoten von Kj , nA die Anzahl der Nachfolgerknoten, qj,k die der Kante
(Kj , Kjk ) zugeordnete Wahrscheinlichkeit und q(Kj ) die dem Blattknoten Kj gemäß 5.6-1
zugeordnete Wahrscheinlichkeit.
Mit 5.6-3 kann die in Gleichung 5.6-2 gegebene Wahrscheinlichkeit berechnet werden; es ist
qs (K1 ) = q(u|α0).
Der Beweis hierfür erfolgt mittels Induktion über die Tiefe l des Ableitungsbaums bzw. die
Länge der Ableitungen, also die Anzahl mi der angewandten Regeln.
(i) l = mi = 0. Dies ist der Fall, wenn α0 = u. In der Gleichung der Definition 5.6-2 umfaßt die Summe nur einen einzigen Summanden, nämlich das leere Produkt, dessen Wert
definitionsgemäß mit 1 angesetzt wird. Damit ist, auch in Übereinstimmung mit der Interpretation von q(u|α0) als bedingte Wahrscheinlichkeit, q(u|α0 ) = 1. Der Ableitungsbaum
besteht gemäß Definiton 5.6-1 aus dem einzigen Knoten K1 mit σ(K1 ) = u und q(K1 ) = 1.
Da K1 gleichzeitig Blatt ist, wird mit Definition 5.6-3 erhalten qs (K1 ) = q(K1 ) = 1. Damit
ist für l = mi = 0 gezeigt, daß qs (K1 ) = q(u|α0 ).
(ii) l > 0, maxi (mi ) = l. Sei α0 := vAβ, v ∈ Σ∗ , A ∈ N, β ∈ (N ∪ Σ)∗ . Da α0 6= u ist für alle
Ableitungen mi ≥ 1 und qi1 ∈ {qA,1 , qA,2, qA,3 , . . . qA,nA }. Mit qA,k := A→βk ist α1,k := vβk β.
Damit kann nun die Gleichung der Definiton 5.6-2 umgeschrieben werden zu:
q(u|α0) =
=
X
qi1 qi2 qi3 . . . qimi
i
nA
X
X
qi1 qi2 qi3 . . . qimi
k=1 i|qi1 =qA,k
=
nA
X
qA,k
k=1
X
i|qi1 =qA,k
qi1
qi qi . . . qimi
qA,k 2 3
Der Term mit dem zweiten Summenzeichen ist aber nichts anderes, als die Summe der
Wahrscheinlichkeiten der Ableitungen, die von α1,k ausgehend zu u führen, also
X
i|qi1 =qA,k
qi1
qi qi . . . qimi = q(u|α1,k )
qA,k 2 3
Damit ist
q(u|α0 ) =
nA
X
qA,k q(u|α1,k )
k=1
(A)
Den Nachfolgerknoten von K1 , nämlich K1,1 , K1,2 , . . . K1,nA sind die Zeichenfolgen vβ1 β,vβ2 β,
. . . vβnA β zugeordnet, also σ(K1,k ) = α1,k . (Die den Blattknoten Kj des zu K1,k gehörenden Unterbaums zukommenden Wahrscheinlichkeit ist q(Kj ) = qA,k q(Kj |K1,k ).) Betrachtet
67
5 Stochastische kontextfreie Grammatiken
man nun den zu α1,k gehörenden Ableitungsbaum, so ist dieser gerade der zu K1,k gehörende Unterbaum R̃ von R, wobei die einem Knoten Kj dieses Ableitungsbaums zugeordnete
Wahrscheinlichkeit q̃(Kj ) ist, während diesem Knoten im ursprünglichen Baum die Wahrscheinlichkeit q(Kj ) = qA,k q̃(Kj ) zukommt. Die Induktionsvoraussetzung auf die zu den
Nachfolgerknoten von K1 gehörenden Unterbäume (deren Tiefen alle geringer als l sind)
angewandt liefert
q(u|α1,k ) = q̃s (K1,k ) für alle k, 1 ≤ k ≤ nA
Multiplikation mit qA,k führt zu
qA,k q(u|α1,k ) = qs (K1,k ) für alle k, 1 ≤ k ≤ nA
Mit Gleichung 5.6-3 ergibt sich nach Summation über k:
qs (K1 ) =
nA
X
qA,k q(u|α1,k ) = qs (K1 )
k=1
(B)
Mit den Gleichungen A und B ist der Induktionsschritt gewährleistet.
Da in (i) bezüglich α0 keine Voraussetzungen gemacht wurden, also α0 beliebig ist, ist mit
(i) und (ii) der Induktionsbeweis für die Behauptung qs (K1 ) = q(u|α0) erbracht.
Üblicherweise dürften die Wahrscheinlichkeiten q(Kj ) nicht bekannt sein. Günstiger ist es
dann mit der bedingten Wahrscheinlichkeit q(u | (Kj )) zu arbeiten. Dies ist die Summe der
Wahrscheinlichkeiten aller Ableitungen, die einem Pfad von dem Knoten Kj zu einem Blatt
Kb des zu Kj gehörenden Unterbaums entsprechen, wobei dem Blatt Kb die Zeichenfolge
σ(Kb ) = u zugeordnet ist. Die entsprechende Rekursionsformel lautet:



0
wenn Kj Blatt und σ(Kj ) 6= u
1
wenn σ(Kj ) = u
q(u|Kj ) :=

 PnA
q
q(u|K
)
wenn
Kj innerer Knoten
jk
k=1 j,k
(5.6-4)
Hierbei ist Kjk Unterknoten von Kj , nA deren Anzahl und qj,k die der Kante (Kj , Kjk )
zugeordnete Wahrscheinlichkeit.
q(u|K1) ist ebenfalls die mit Gleichung 5.6-2 definierte Wahrscheinlichkeit q(u|α0 ).
Um dies zu zeigen wird der Hilfsatz 1 eingeführt: Für alle Knoten Kj des Ableitungsbaums
R gilt
qs (Kj ) = q(Kj ) q(u|Kj )
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu Kj gehörenden Unterbaums.
(i) l = 0. Dann ist Kj Blatt des Baumes. Es sind zwei Fälle möglich. 1. σ(Kj ) 6= u. Mit
Definition 5.6-3 ist dann qs (Kj ) = 0. Mit Definition 5.6-4 ist q(u|Kj ) = 0. Oder 2. σ(Kj ) = u.
Mit Definition 5.6-3 ist dann qs (Kj ) = q(Kj ) und mit Defnition 5.6-4 ist q(u|Kj ) = 1. In
beiden Fällen ist qs (Kj ) = q(Kj ) q(u|Kj ).
(ii) l > 0. Dann ist Kj innerer Knoten. Sei Kjk Nachfolgerknoten von Kj . Der zu diesem
gehörende Unterbaum hat eine Tiefe kleiner l, so daß die Induktionsvoraussetzung anwendbar
ist. Mit dieser ist qs (Kjk ) = q(Kjk )q(u|Kjk ). Da q(Kjk ) als Produkt der Wahrscheinlichkeiten
entlang des Pfades von K1 nach Kjk defniert ist, ist q(Kjk ) = q(Kj ) qj,k . Damit ergibt sich
qs (Kjk ) = q(Kj ) qjk q(u|Kjk )
68
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Nach Summation über k
na
X
k=1
qs (Kjk ) =
na
X
q(Kj ) qjk q(u|Kjk )
k=1
und Ausklammern von q(Kj ) liefern die Definitionen 5.6-3 und 5.6-4
qs (Kj ) = q(Kj ) q(u|Kj )
Mit (i) und (ii) ist der Beweis für Hilfssatz 1 erbracht.
Ist Kj der Wurzelknoten K1 so nimmt Hilfssatz 1 die Form qs (K1 ) = q(K1 ) q(u|K1) an. Da
nach Definition (5.6-1) des Baumes R gilt q(K1 ) = 1, folgt unmittelbar qs (K1 ) = q(u|K1 ).
Im Anschluß nach Definition 5.6-3 wurde gezeigt, daß qs (K1 ) = q(u|α0). Damit ist aber auch
q(u|K1 ) = q(u|α0), was oben hinter Definiton 5.6-4 behauptet wurde.
Die Definitionen 5.6-3 und 5.6-4 gelten für Ableitungsbäume endlicher Tiefe. Es ist aber
durchaus möglich, daß der Ableitungsbaum unendlich“ tief ist, also für jede beliebige
”
natürliche Zahl sich ein Pfad angeben läßt, dessen Länge größer als diese vorgebene natürliche Zahl ist. Ein solcher unendlich“ tiefer Ableitungsbaum wird als Grenzwert“ einer Folge
”
”
von Ableitungsbäumen R0 , R1 , R2 , . . . usw. aufgefaßt.
Definition von Rt : Ein Glied dieser Folge ist der maximale Teilbaum von R = (K, k), der die
Tiefe t hat:
Rt := ({Ki ∈ K | K1 Ki ≤ t}, {(Ki, Kj ) ∈ k | K1 Kj ≤ t})
(5.6-5)
Hierbei bezeichnet Ki Kj die Länge des Pfades von Ki nach Kj . Damit dieser Pfad existiert, muß Kj Knoten des zu Ki gehörenden Unterbaums sein. Man beachte, daß diese
Teilbäume Rt Blattknoten aufweisen, deren zugeordnete Folge von Symbolen nicht ausschließlich aus Terminalsymbolen besteht. Die dem Knoten Kj solcher Teilbäume zugeordneten Werte qt (u|Kj ) (s. u.) können wiederum als Wahrscheinlichkeiten interpretiert werden,
wenn der oben beschriebene stochastische Prozeß um die Bedingung erweitert wird, daß der
Knoten Kj mit σ(Kj ) = u nach höchstens t Schritten erreicht werden soll.) Für jeden Knoten Kj eines solchen Teilbaums Rt kann qt (u | Kj ) mit Definition 5.6-4 berechnet werden.
(Der Index t soll verdeutlichen, daß Definition 5.6-4 auf dem Teilbaum Rt ausgewertet wird.)
q(u | Kj ) auf R wird nun als Grenzwert für t → ∞ definiert:
q(u|Kj ) := lim qt (u|Kj )
t→∞
.
(5.6-6)
Es wird nun gezeigt, daß dieser Grenzwert existiert. Weiterhin wird gezeigt, daß dieser Grenzwert im Falle endlicher Bäume das Gleiche liefert wie Definition 5.6-4. Mit Hilfe der Definition
5.6-6 kann Definition 5.6-4 also auf unendliche Ableitungsbäume fortgesetzt werden.
Sei R ein endlich tiefer Baum mit der Tiefe l. Das heißt für alle seine Knoten Kj gilt K1 Kj ≤
l. Damit ist die aus ihm abgleitete Folge R0 , R1 , R2 , . . . usw. ab dem l-ten Folgenglied
konstante Folge. Damit ändert sich auch für alle Knoten Kj von R der mit Definition 5.5-6
berechnete Wert von qt (u | Kj ) nicht mehr. ql (u | Kj ), ql+1 (u | Kj ), ql+2 (u | Kj ), . . . ist also
konstante Folge mit dem der Konstante entsprechenden Grenzwert qt (u | Kj ), t ≥ l.
69
5 Stochastische kontextfreie Grammatiken
Es verbleibt noch zu zeigen, daß der Grenzwert auch im Falle eines unendlich tiefen Baumes
R existiert. Dazu werden die zwei folgenden Sätze benötigt.
Satz: Für alle Bäume Rt und alle Knoten Kj eines solchen Baumes gilt:
0 ≤ qt (u|Kj ) ≤ 1
(5.6-7)
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu Kj gehörenden Unterbaums
von Baum Rt :
(i) l = 0. Dann ist Kj Blatt und es gilt mit 5.5-6, daß qt (u|Kj ) = 0 wenn σ(Kj ) 6= u oder
qt (u|Kj ) = 1 wenn σ(Kj ) = u. Auf jeden Fall ist 0 ≤ q(u|Kj ) ≤ 1.
(ii) l > 0. Dann hat Kj Nachfolgerknoten Kjk , 1 ≤ k ≤ nA . Für diese ist mit Induktionsvoraussetzung 0 ≤ q(u|Kjk ) ≤ 1. Durch Multiplikation mit qj,k und anschließende Summation
über k folgt:
nA
X
k=1
qj,k · 0 ≤
nA
X
k=1
qj,k · q(u|Kjk ) ≤
nA
X
k=1
qj,k · 1
Die erste Summe ist 0, die zweite wird nach Definition 5.6-4 ersetzt und die dritte ist gleich
1, da die Wahrscheinlichkeiten der Regeln so gewählt wurden. Damit ist 0 ≤ q(u|Kj ) ≤ 1.
Mit (i) und (ii) folgt die Behauptung des Satzes 5.5-9.
Satz: Für alle Knoten Kj Knoten von R mit K1 Kj ≤ t gilt:
qt (u|Kj ) ≤ qt+1 (u|Kj )
(5.6-8)
Der Beweis wird mittels Induktion über die Tiefe l des zu Kj gehörenden Unterbaums von
Rt geführt. (Anm.: Gemäß Definition 5.6-5 ist sichergestellt, daß, wenn Kj Knoten von Rt
ist, Kj auch Knoten von Rt+1 ist, da mit K1 Kj ≤ t auch K1 Kj ≤ t + 1 gilt.)
(i) l = 0. Dann ist Kj Blatt des Baumes Rt . Es werden zwei Fälle unterschieden.
a) σ(Kj ) ∈ Σ∗ . Dann hat Kj keinen Nachfolgerknoten und Kj ist auch Blatt des Baumes
Rt+1 . Sollte σ(Kj ) 6= u sein, dann ist (mit Definition 5.6-4) qt (u|Kj ) = 0 = qt+1 (u|Kj ).
Wenn dagegen σ(Kj ) = u ist, dann ist qt (u|Kj ) = 1 = qt+1 (u|Kj ). Aus dieser (von σ(Kj )
unabhängigen) Gleichheit folgt die schwächere Beziehung qt (u|Kj ) ≤ qt+1 (Kj ).
b) σ(Kj ) ∈
/ Σ∗ . Dann muß σ(Kj ) 6= u sein und es ist (mit Defintion 5.6-4) qt (u|Kj ) = 0. Mit
Satz 5.6-7 ist 0 ≤ qt+1 (u|Kj ), so daß unmittelbar qt (u|Kj ) ≤ qt+1 (u|Kj ) folgt.
Mit a und b ist die Induktionsverankerung sichergestellt.
(ii) l > 0. Dann ist Kj innerer Knoten des Baumes Rt . Für dessen Nachfolgerknoten gilt
nach Induktionsvoraussetzung qt (u|Kjk ) ≤ qt+1 (u|Kjk ), 1 ≤ k ≤ nA . Durch Multiplikation
mit qj,k und Summation über k folgt
nA
X
k=1
qj,k qt (u|Kjk ) ≤
nA
X
qj,k qt+1 (u|Kjk )
k=1
Und hieraus ergibt sich mit Definition 5.6-4
qt (u|Kj ) ≤ qt+1 (u|Kj )
Mit (i) und (ii) ist der Beweis für Satz 5.5-10 erbracht.
70
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Mit den Sätzen 5.6-7 und 5.6-8 gibt es für jeden Knoten Kj eine nach oben beschränkte und
monoton wachsende Folge qK1 Kj (u|Kj ), qK1 Kj +1 (u|Kj ), qK1 Kj +2 (u|Kj ), . . . Damit existiert
der in 5.6-6 definierte Grenzwert und mit dieser Definition kann tatsächlich Definition 5.6-4
auf unendlich tiefe Bäume fortgesetzt werden.
Weiterhin sei angemerkt, daß gemäß Satz 5.6-7 dieser Grenzwert im Intervall [0, 1] liegt
und damit auch im Falle unendlich tiefer Ableitungsbäume einer Interpretation von q(u|Kj )
als Wahrscheinlichkeit nichts im Wege steht. Auf die Frage nach der Berechnung dieser
Grenzwerte wird an späterer Stelle zurückgekommen.
Es verbleibt noch zu zeigen, daß auch im Falle eines unendlich tiefen Ableitungsbaums, also
bei unendlich langen“ Ableitungen die Beziehung q(u|α0) = q(u|K1) gilt, die im Anschluß
”
an Definition 5.6-4 bereits für endlich tiefe Bäume bewiesen wurde.
Hierzu wird Definition 5.6-2 für unendlich lange Ableitungen erweitert:
q(u|α0 ) := lim
t→∞
t
X
X
qi1 qi2 . . . qimi
l=0 i|mi =l
(5.6-9)
P
P
Hierbei ist qt (u|α0) := tl=0 i|mi =l qi1 qi2 . . . qimi das t-te Glied der dieser Definition zugrundeliegenden Reihe. Es wird gezeigt, daß qt (u|α0 ) = qt (u|Kj ) ist. Hierfür wird der folgende
Satz eingeführt.
Satz: Sei Kj ein Knoten des Baumes Rt . Sei die Länge des Pfades von der Wurzel bis zu
diesem Knoten l := K1 Kj . (Es ist l ≤ t.) Und sei die dem Knoten zugeordnete Zeichenfolge
σ(Kj ). Sei weiterhin
qt (u|σ(Kj )) :=
t−l
X
X
qi1 qi2 . . . qimi
l=0 i|mi =l
P
Hierbei ist i qi1 qi2 . . . qimi die Summe der Wahrscheinlichkeiten aller Ableitungen σ(Kj ) ⇒∗
u. Diese seien ihrer Länge l nach und bei gleicher Länge lexikalisch geordnet und mit i
abgezählt. Dann ist
qt (u|σ(Kj )) = qt (u|Kj )
(5.6-10)
Der Beweis erfolgt mittels Rückwärtsinduktion“ über l.
”
(i) l = t. Dann stellt Kj Blatt von Rt dar. Da Kj als Blatt keinen Nachfolgerknoten hat oder
mit anderen Worten, der zu Kj gehörende Unterbaum die Tiefe 0 hat, kommen nur Ableitungen σ(Kj ) ⇒∗ u, die die Länge l = 0 haben, in Frage. Die einzige Möglicheit einer solchen
Ableitung ist u ⇒∗ u, d.h. sie wäre nur möglich, wenn σ(Kj ) = u. Deswegen wird nach den
Fällen a) σ(Kj ) 6= u und b) σ(Kj ) = u unterschieden. Im Falle a ist (mit Definition 5.6-4)
P
P
qt (u|Kj ) = 0. Mit der Definition in Satz 5.6-10 ist qt (u|σ(Kj )) = t−l
i|mi =l qi1 qi2 . . . qimi =
l=0
0. Da l = t umfäßt die äußere Summe nur einen Summanden mit l = 0, während die innere
Summe leer ist, da σ(Kj ) 6= u und es somit keine Ableitung der Länge l = 0 gibt. Im Falle
b ist qt (u|Kj ) = 1. Die obige Definition liefert qt (u|σ(Kj )) = 1. Die äußere Summe umfaßt wiederum nur einen Summanden (l = 0), während die innere Summe eine Summation
über die (einzige) Ableitung u ⇒∗ u darstellt. Dieser kommt dem leeren Produkt entsprechend die Wahrscheinlichkeit 1 zu. Damit ist in den beiden möglichen Fällen a und b jeweils
71
5 Stochastische kontextfreie Grammatiken
qt (u|σ(Kj )) = qt (u|Kj ) und die Induktionsverankerung sichergestellt.
(ii) l < t. Dann hat der zu Kj gehörende Unterbaum von Rt höchstens die Tiefe l = t−l, d.h.
alle Ableitungen σ(Kj ) ⇒∗ u, die höchstens l Regeln benötigen, sind in diesem repräsentiert. (Anm.: Daß es im Baum R evtl. mehrere Knoten gibt, denen die gleiche Zeichenfolge
σ(Kj ) zugeordnet ist, spielt keine Rolle, da die zu diesen Knoten gehörenden Unterbäume
die gleichen Ableitungen repräsentieren und sich nicht unterscheiden.) Es werden zwei Fälle
unterschieden. 1. Kj ist Blatt und 2. Kj ist innerer Knoten. Im 1. Fall gibt es nichts mehr zu
zeigen, da der gleiche Sachverhalt wie in i vorliegt. (Die Summanden für l > 0 sind alle gleich
0, da es keine Ableitungen der Länge l > 0 gibt.) Im 2. Fall hat Kj die Nachfolgerknoten
Kj1 , Kj2 , . . . KjnA . Mit obiger Definition ist
qt (u|σ(Kj )) =
t−l
X
X
qi1 qi2 . . . qimi
l=0 i|mi =l
Diese Summe wird zerlegt, indem der erste Summand (für l = 0) abgespalten wird:
=
X
t−l
X
qi1 qi2 . . . qimi +
X
qi1 qi2 . . . qimi
l=1 i|mi =l
i|mi =0
Da Kj innerer Knoten ist, muß σ(Kj ) ∈
/ Σ∗ sein, es muß also mindestens eine Regel angewendet werden, um u abzuleiten. Demzufolge kann es keine Ableitungen σ(Kj ) ⇒∗ u der
Länge 0 geben. Der erste Summand stellt also eine leere Summe dar und kann wegfallen:
t−l
X
=
X
qi1 qi2 . . . qimi
l=1 i|mi =l
Die Menge aller Ableitungen (über die summiert wird) kann entsprechend der ersten angewandten Regel in Teilmengen zerlegt werden. Es sei σ(Kj ) = uAβ und pi1 ∈ {pA,1 , pA,2, . . .
pA,nA }. Damit kann obige Summe zerlegt werden in:
=
nA X
t−l
X
X
qi1 qi2 . . . qimi
k=1 l=1 i|mi =l ∧ qi1 =qA,k
Die Wahrscheinlichkeit qA,k für die erste Regel pA,k ausgeklammert:
=
nA
X
qA,k
k=1
t−l
X
X
l=1 i|mi =l ∧ qi1 =qA,k
qi1
qi . . . qimi
qA,k 2
Nach einer Transformation der Indizes (ersetze l := l′ + 1, ix := i′x−1 , 2 ≤ x ≤ mi und
mi := mi′ +1 ) ergibt sich (man beachte, daß die obere Summationsgrenze entsprechend mittransformiert werden muß):
=
nA
X
k=1
qA,k
t−l−1
X
l′ =0
X
i′ |mi′ =l′ ∧ qi′ =qA,k
qi′0
qi′ qi′ . . . qi′m ′
i
qA,k 1 2
0
Die beiden inneren Summen stehen aber für nichts anderes als für die Summe aller Wahrscheinlichkeiten der Ableitungen σ(Kj ) ⇒∗ u, deren erster Ableitungschritt (entsprechend
der den Summationsindex i′ einschränkenden Bedingung) die Anwendung der Regel pi′0 =
72
5.6 Wahrscheinlichkeiten und Ableitungsbäume
pi1 = pA,k ist. Dieser erster Ableitungschritt entspricht dem Übergang von dem Knoten Kj
auf den Nachfolgerknoten Kjk mit der Pfadlänge K1 Kjk = l + 1 = l′ . Damit kann die obere
Summationsgrenze t−l−1 ersetzt werden durch t−l′ (denn es ist t−l−1 = t−(l+1) = t−l′ ).
Für den Knoten Kjk (mit größerer Pfadlänge) können aber diese Summen mit der Induktionsvoraussetzung ersetzt werden (wobei der den Summationsindex i′ einschränkenden Bedingung beim Übergang von Kj auf Kjx genüge getan wird):
=
nA
X
qA,k qt (u|Kjk )
k=1
Hieraus ergibt sich schließlich unter Anwendung der Definition 5.6-5
qt (u|σ(Kj ) = qt (u|Kj )
Mit i und ii ist Satz 5.6-10 bewiesen.
Mit Satz 5.6-10 ist für alle Teilbäume Rt des Ableitungsbaums R und alle Knoten Kj ,
K1 Kj ≤ t, die Gleichheit von qt (u|Kj ), wie mit 5.6-4 in Verbindung mit 5.6-5 definiert, und
qt (u|σ(Kj )), wie in Zusammenhang mit 5.6-9 definiert, gezeigt. Somit sind die entsprechenden
Folgen und damit auch deren Grenzwerte gleich:
q(u|σ(Kr )) = lim
t→∞
t
X
X
qi1 qi2 . . . qimi = lim qt (u|Kr ) = q(u|Kr )
l=0 i|mi =l
t→∞
(5.6-11)
Als Korollar hieraus ergibt sich für Kr := K1 mit σ(K1 ) = α0 für unendlich tiefe Bäume
q(u|K1) = q(u|α0 )
Für endlich tiefe Bäume wurde dies bereits in Anschluß an Definition 5.6-4 gezeigt.
Definition 5.6-6 kann also als Fortsetzung der Definition 5.6-2 auf unendlich lange Ableitungen aufgefaßt werden. Als wichtigste Konsequenz des Gezeigten ist festzuhalten, daß die
Berechnung der in 5.6-9 definerten Größe auf die Berechnung von auf Ableitungsbäumen (in
5.6-6) definierten Grenzwerten zurückgeführt werden kann.
Die Frage nach der Berechnung dieser Grenzwerte ist jedoch noch offen. Hierzu können jedoch
gewisse Selbstähnlichkeiten des Ableitungsbaums R herangezogen werden. Seien z.B. Ki und
Kj zwei Knoten von R mit σ(Ki ) = uαβ und σ(Kj ) = uαγ, mit u, v ∈ Σ∗ , α, β, γ ∈ (N ∪Σ)∗ .
Betrachtet werden nun die zu Ki und Kj gehörenden Unterbäume von R. Diese stellen Ableitungsbäume zu σ(Ki ) bzw. σ(Kj ) dar. Da aufgrund der Linksableitung zuerst die Symbolfolge α ersetzt wird, haben beide Unterbäume einander entsprechende“ Teilbäume. Einander
”
entsprechend“ heißt, daß diese beiden Teilbäume so aufeinander abgebildet werden können,
”
daß Ki und Kj einander zugeordnet werden und die Nachfolgerknoten von einander zugeordneten Knoten entsprechend der jeweils angewandten Regel einander zugeordnet werden.
Derartige Zusammenhänge sind die Grundlage des unten formulierten Satzes 5.6-23, der im
folgenden vorbereitet wird.
pi1 ...pim
i
pj1 ...pjm
j
Seien α ⇒∗ u und β ⇒∗ v Linksableitungen, wobei u, v ∈ Σ∗ , α, β ∈ (N ∪ Σ)∗ ,
pi1 , . . . pimi , pj1 , . . . pjmj ∈ P . Wird jede Zeichenfolge αk in der ersten Ableitung durch αk β
73
5 Stochastische kontextfreie Grammatiken
und jede Zeichenfolge βl in der zweiten Ableitung durch uβl ersetzt, so werden die (ebenpi1 ...pim
i
∗
pj1 ...pjm
j
∗
uv erhalten. Hierbei bleiben die
falls Links-)Ableitungen αβ ⇒
uβ und uβ ⇒
Folgen der verwendeten Regeln unverändert. Die sich hieraus ergebenden Zusammenhänge
für die Wahrscheinlichkeiten, mit denen diese beiden Ableitungen attributiert sind, werden
im folgenden diskutiert.
Es wird der Doppelableitungsbaum R(α,β) = (K(α,β) , k(α,β) ) (vgl. Definition 5.6-1) eingeführt:
1. K(α,β),1 ∈ K(α,β) ist Wurzel von R(α,β) . K(α,β),1 werden die Symbolfolgen σ1 (K(α,β),1 ) :=
α und σ2 (K(α,β),1 ) := β zugeordnet.
2. Sei K(α,β),r Knoten von R(α,β) mit den zugeordneten Symbolfolgen σ1 (K(α,β),r ) und
σ2 (K(α,β),r ). Ist σ1 (K(α,β),r ) = uAγ, wobei u ∈ Σ∗ , A ∈ N und γ ∈ (N ∪ Σ)∗ , hat
K(α,β),r für jede Regel pA,x ∈ P , pA,x := A→γx einen Nachfolgerknoten K(α,β),rx dem die
Symbolfogen σ1 (K(α,β),rx ) := uγx γ und σ2 (K(α,β),rx ) := σ2 (K(α,β),r ) zugeordnet werden.
Ist σ1 (K(α,β),r ) ∈ Σ∗ und σ2 (K(α,β),r ) = uAγ so werden dem Nachfolgerknoten K(α,β),rx
(wiederum der Regel pA,x entsprechend) die Symbolfolgen σ1 (K(α,β),rx ) := σ1 (K(α,β),r )
und σ2 (K(α,β),rx ) := uγx γ zugeordnet. Die Anzahl der Nachfolgerknoten ist gleich der
Anzahl nA der entsprechenden Regeln pA,x .
3. Sind σ1 (K(α,β),r ) ∈ Σ∗ und σ2 (K(α,β),r ) ∈ Σ∗ so ist K(α,β),r Blatt.
(5.6-12)
Offensichtlich ist R(α,β) isomorph zu Rαβ , dem Ableitungsbaum zu αβ (entsprechend der
Definition 5.6-1) mit folgenden Abbildungen Φ: K(α,β) →Kαβ , φ: k(α,β) →kαβ . Hierbei sind
K(α,β) und Kαβ die Knotenmengen und k(α,β) und kαβ die Kantenmengen der Bäume R(α,β)
und Rαβ . (Im folgenden werden die Indizes der Knoten durch das Voranstellen von (α, β)
bzw. αβ erweitert, um deutlich zu machen, zu welchem Ableitungsbaum ein Knoten gehört.)
1. Φ(K(α,β),1 ) := Kαβ,1
2. Ist K(α,β),r Knoten von R(α,β) und Kαβ,s Knoten von Rαβ mit Φ(K(α,β),r ) = Kαβ,s
und ist K(α,β),rx Nachfolgerknoten von K(α,β),r für die Regel A → γx und ist Kα,β,sy
Nachfolgerknoten von Kαβ,s für (diesselbe) Regel A→γx , so ist Φ(K(α,β),rx ) := Kαβ,sy .
Für die Kanten gilt: φ((K(α,β),r , Kαβ,rx )) := (Φ(K(α,β),r ), Φ(Kαβ,rx ))
(5.6-13)
Aufgrund der Konstruktion des Doppelableitungsbaums R(α,β) und der Eigenschaft der
Linksableitung stellt die Konkatenation der dem Knoten K(α,β),r zugeordneten Zeichenfolgen die dem Knoten Kαβ,s = Φ(K(α,β),r ) des Ableitungsbaumes Rαβ zugeordnete Zeichenfolge
dar:
σ1 (K(α,β),r )σ2 (K(α,β),r ) = σ(Kαβ,s ) = σ(Φ(K(α,β),r ))
(5.6-14)
Der Beweis hierfür erfolgt mittels Induktion über die Pfadlänge l des Pfades von K(α,β),1
nach K(αβ),r :
(i) l = 0. Dann ist K(α,β),r = K(α,β),1 . Gemäß der Definition des Doppelableitungsbaums
(vgl. 5.6-12, Nr. 1) ist σ1 (K(α,β),1 ) = α und σ2 (K(α,β),1 ) = β. Gemäß der Definition des
74
5.6 Wahrscheinlichkeiten und Ableitungsbäume
(einfachen) Ableitungsbaums (vgl. 5.6-1, Nr. 1) ist σ(Kαβ,1 ) = αβ. Mit der Definition
von Φ (vgl. 5.6-13, Nr. 1) ist Φ(K(α,β),1 ) = Kαβ,1 . Damit ist σ1 (K(α,β),1 )σ2 (K(α,β),1 ) =
αβ = σ(Kαβ,1 ) = σ(Φ(K(α,β),1 )). (ii) l > 0. Sei K(α,β),rx Nachfolgerknoten von K(α,β),r .
Für K(α,β),r gibt es (entsprechend der Isomorphie der beiden Bäume) einen Knoten Kαβ,s ,
so daß Kαβ,s = Φ(K(α,β),r ) und weiterhin gilt (entsprechend der Induktionsvoraussetzung)
σ1 (K(α,β),r )σ2 (K(α,β),r ) = σ(Kαβ,s ). Es werden entsprechend 5.6-12, Nr. 2 zwei Fälle unterschieden. (Die Möglichkeit der Nr. 3 dieser Definition scheidet aus, da K(α,β),r dann Blatt
wäre, also keine Nachfolgerknoten hätte und es nichts zu beweisen gäbe.)
a) Sei σ1 (K(α,β),r ) = uAγ, u ∈ Σ∗ , A ∈ N und γ ∈ (N ∪ Σ)∗ und σ2 (K(α,β),r ) = γ ′ ,
γ ′ ∈ (N ∪ Σ)∗ . Mit der Induktionsvoraussetzung ist damit auch σ(Kαβ,s ) = uAγγ ′ . Entsprechend 5.6-12, Nr. 2 existiert eine Regel A→γx , so daß σ1 (K(α,β),rx ) = uγx γ, während
σ2 (K(α,β),rx ) = σ2 (K(α,β),r ) = γ ′ . Entsprechend 5.6-1, Nr. 2 hat Kαβ,s für diese Regel A→γx
ebenfalls einen Nachfolgerknoten. Sei dieser Kαβ,sy . Aus σ(Kαβ,s ) = uAγγ ′ ergibt sich mit
der Regel A → γx (Linksableitung!) σ(Kαβ,sy ) = uγx γγ ′ . Gemäß der Definition 5.6-13 ist
Φ(K(α,β),rx ) = Kαβ,sy . Damit ist schließlich σ1 (K(α,β),rx )σ2 (K(α,β),rx ) = uγx γγ ∗ = σ(Kαβ,sy ) =
σ(Φ(K(α,β),rx )).
b) Sei σ1 (K(α,β),r ) = u′ , u′ ∈ Σ∗ und σ2 (K(α,β),r ) = uAγ. Mit der Induktionsvoraussetzung ist damit auch σ(Kαβ,s ) = u′ uAγ. Entsprechend 5.6-12, Nr. 2 existiert eine Regel
A → γx , so daß σ2 (K(α,β),rx ) = uγx γ, während σ1 (K(α,β),rx ) = σ1 (K(α,β),r ) = u′. Entsprechend 5.6-1, Nr. 2 hat Kαβ,s für diese Regel A → γx auch einen Nachfolgerknoten. Sei
dieser Kαβ,sy . Aus σ(Kαβ,s ) = u′ uAγ ergibt sich mit der Regel A → γx (Linksableitung!)
σ(Kαβ,sy ) = u′uγx γ. Gemäß der Definition 5.6-13 ist Φ(K(α,β),rx ) = Kαβ,sy . Damit ist schließlich σ1 (K(α,β),rx )σ2 (K(α,β),rx ) = u′ uγx γ = σ(Kαβ,sy ) = σ(Φ(K(α,β),rx )).
Mit a und b ist der Induktionsschritt gewährleistet.
Mit i und ii ist die behauptete Beziehung 5.6-14 zwischen den den Knoten zugeordneten
Zeichenfolgen bewiesen.
Zwischen dem Doppelableitungsbaum R(α,β) und den Ableitungsbäumen Rα und Rβ (wie
sie gemäß Definition 5.6-1 erhalten werden) besteht aufgrund der Konstruktion der Bäume
folgende Beziehung: Der Teilbaum von R(α,β) , der alle Knoten K(α,β),r mit σ1 (K(α,β),r ) ∈
/ Σ∗
und deren Nachfolgerknoten K(α,β),rx umfaßt, ist zu Rα isomorph. Ist K(α,β),r Knoten von
R(α,β) mit dem Nachfolgerknoten K(α,β),rx , so daß σ1 (K(α,β),r ) ∈ Σ∗ , so ist der zu K(α,β),rx
gehörende Unterbaum isomorph zu Rβ .
Es werden nun die Abbildungen Φα : K(α,β) →Kα , φα : k(α,β) →kα , Φβ : K(α,β) →Kβ und φβ :
k(α,β)→kβ definiert. Während die obigen Isomorphismen sich nur auf Teil- bzw. Unterbäume
von R(α,β) beziehen, sind die Abbildungen Φα und Φβ auf der Knotenmenge K(α,β) total.
Definition:
1. Φα (K(α,β),1 ) := Kα,1 .
2. Sei K(α,β),r Knoten von R(α,β) und Kα,s Knoten von Rα und seien K(α,β),rx und Kα,sy deren jeweiligen (der Regel A→γx entsprechenden) Nachfolgerknoten. Sei ferner σ1 (K(α,β),r )
∈
/ Σ∗ und Φα (K(α,β),r ) = Kα,s so ist Φα (K(α,β),rx ) := Kα,sy . Für die Kanten gilt:
φα ((K(α,β,r ), Kαβ,rx )) := (Φα (K(α,β),r ), Φα (Kαβ,rx ))
3. Ist K(α,β),rx Nachfolgerknoten von K(α,β),r mit σ1 (K(α,β),r ) ∈ Σ∗ so ist Φα (K(α,β),rx ) :=
Φα (K(α,β),r ). Eine Abbildung der Kante (K(α,β),r , K(α,β),rx ) wird in diesem Fall nicht
definiert.
(5.6-15)
75
5 Stochastische kontextfreie Grammatiken
Nach Konstruktion von R(α,β) und Definition von Φα ist für alle Knoten K(α,β),r des Baumes
R(α,β) :
σ1 (K(α,β),r ) = σ(Φα (K(α,β),r ))
(5.6-16)
Der Beweis hierfür erfolgt mittels Induktion über die Pfadlänge l des Pfades von K(α,β),1
nach K(αβ),r :
(i) l = 0. Dann ist K(α,β),s = K(α,β),1 . Gemäß der Definition des Doppelableitungsbaums (vgl.
5.6-12, Nr. 1) ist σ1 (K(α,β),1 ) = α und σ2 (K(α,β),1 ) = β. Gemäß der Definition des (einfachen)
Ableitungsbaums (vgl. 5.6-1, Nr. 1) ist σ(Kα,1 ) = α. Mit der Definition von Φα (vgl. 5.6-15,
Nr. 1) ist Φα (K(α,β),1 ) = Kα,1 . Damit ist σ1 (K(α,β),1 ) = α = σ(Kα,1 ) = σ(Φα (K(α,β),1 )).
(ii) l > 0. Sei K(α,β),rx Nachfolgerknoten von K(α,β),r . Für K(α,β),r gibt es entsprechend
der Abbildung Φα einen Knoten Kα,s = Φα (K(α,β),r ) und weiterhin gilt (entsprechend der
Induktionsvoraussetzung) σ1 (K(α,β),r ) = σ(Kα,s ). Es werden entsprechend 5.6-12, Nr. 2 zwei
Fälle unterschieden. (Die Möglichkeit der Nr. 3 dieser Definition scheidet aus, da K(α,β),r
dann Blatt wäre, also keine Nachfolgerknoten hätte und es nichts zu beweisen gäbe.)
a) Sei σ1 (K(α,β),r ) = uAγ, u ∈ Σ∗ , A ∈ N und γ ∈ (N ∪Σ)∗ . Mit der Induktionsvoraussetzung
ist damit auch σ(Kα,s ) = uAγ. Entsprechend 5.6-12, Nr. 2 existiert eine Regel A→γx , so
daß σ1 (K(α,β),rx ) = uγx γ. Entsprechend 5.6-1, Nr. 2 hat Kα,s für diese Regel A→γx ebenfalls
einen Nachfolgerknoten. Sei dieser Kα,sy . Aus σ(Kα,s ) = uAγ ergibt sich mit der Regel A→γx
(Linksableitung!) σ(Kα,sy ) = uγx γ. Gemäß der Definition 5.6-15 ist Φα (K(α,β),rx ) = Kα,sy .
Damit ist schließlich σ1 (K(α,β),rx ) = uγx γ = σ(Kα,sy ) = σ(Φα (K(α,β),rx )).
b) Sei σ1 (K(α,β),r ) = u′ , u′ ∈ Σ∗ . Mit der Induktionsvoraussetzung ist damit auch σ(Kα,s ) =
u′ . Entsprechend 5.6-12, Nr. 2 ist (da u′ ∈ Σ∗ ) σ1 (K(α,β),rx ) = σ1 (K(α,β),r ) = u′ . Entsprechend
der Konstruktion des Baumes Rα hat Kα,s keinen Nachfolgerknoten. Gemäß 5.6-15, Nr. 3 ist
jedoch Φα (K(α,β),rx ) = Φα (K(α,β),r ). All dies kann zusammengefaßt werden zu σ1 (K(α,β),rx ) =
u′ = σ(K(α,r ) = σ(Φα (K(α,β),rx )).
Mit a und b ist der Induktionsschritt gewährleistet.
Mit i und ii ist die behauptete Beziehung zwischen den den Knoten zugeordneten Zeichenfolgen bewiesen.
Definition:
1. Φβ (K(α,β),1 ) := Kβ,1 .
/ Σ∗ so ist Φβ (K(α,β),rx ) :=
2. Ist K(α,β),rx Nachfolgerknoten von K(α,β),r mit σ1 (K(α,β),r ) ∈
Φβ (K(α,β),r ). (Anmerkung: Es ist damit Φβ (K(α,β),rx ) = Kβ,1 .) Eine Abbildung der
Kante (K(α,β),r , K(α,β),rx ) wird für diesen Fall nicht definiert.
3. Sei K(α,β),r Knoten von R(α,β) und Kβ,s Knoten von Rβ und seien K(α,β),rx und Kβ,sy deren jeweiligen (der Regel A→γx entsprechenden) Nachfolgerknoten. Sei ferner σ1 (K(α,β),r )
∈ Σ∗ und Φβ (K(α,β),r ) = Kβ,s , so ist dann Φβ (K(α,β),rx ) := Kα,sy . Für die Kanten gilt:
φβ ((K(α,β),r , Kαβ,rx )) := (Φβ (K(α,β),r ), Φβ (Kαβ,rx )).
(5.6-17)
76
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Nach Konstruktion von R(α,β) und Definition von Φβ ist für alle Knoten K(α,β),r des Baumes
R(α,β) :
σ2 (K(α,β),r ) = σ(Φβ (K(α,β),r )
(5.6-18)
Der Beweis hierfür erfolgt mittels Induktion über die Pfadlänge l des Pfades von K(α,β),1
nach K(αβ),r :
(i) l = 0. Dann ist K(α,β),s = K(α,β),1 . Gemäß der Definition des Doppelableitungsbaums (vgl.
5.6-12, Nr. 1) ist σ1 (K(α,β),1 ) = α und σ2 (K(α,β),1 ) = β. Gemäß der Definition des (einfachen)
Ableitungsbaums (vgl. 5.6-1, Nr. 1) ist σ(Kα,1 ) = β. Mit der Definition von Φβ (vgl. 5.6-17,
Nr. 1) ist Φβ (K(α,β),1 ) = Kβ,1 . Damit ist σ2 (K(α,β),1 ) = β = σ(Kβ,1 ) = σβ (Φ(K(α,β),1 )).
(ii) l > 0. Sei K(α,β),rx Nachfolgerknoten von K(α,β),r . Für K(α,β),r gibt es entsprechend der
Abbildung Φβ einen Knoten Kβ,s = Φβ (K(α,β),r ) und weiterhin gilt (entsprechend der Induktionsvoraussetzung) σ2 (K(α,β),r ) = σ(Kβ,s ). Es werden entsprechend 5.6-12, Nr. 2 zwei Fälle
unterschieden. (Die Möglichkeit der Nr. 3 dieser Definition scheidet aus, da K(α,β),r dann
Blatt wäre, also keine Nachfolgerknoten hätte und es nichts zu beweisen gäbe.)
a) Sei σ1 (K(α,β),r ) ∈
/ Σ∗ und σ2 (K(α,β),r ) = γ ′ , γ ′ ∈ (N ∪ Σ)∗ . Mit der Induktionsvoraussetzung ist damit auch σ(Kβ,s ) = γ ′ . Entsprechend 5.6-12, Nr. 2 ist (da u′ ∈ Σ∗ )
σ2 (K(α,β),rx ) = σ2 (K(α,β),r ) = u′ . Entsprechend der Konstruktion des Baumes Rβ hat Kβ,s
keinen Nachfolgerknoten. Gemäß 5.6-17, Nr. 3 ist jedoch Φβ (K(α,β),rx ) = Φβ (K(α,β),r ). All
dies kann zusammengefaßt werden zu σ2 (K(α,β),rx ) = u′ = σ(Kβ,r ) = σ(Φβ (K(α,β),rx )).
b) Sei σ1 (K(α,β),r ) ∈ Σ∗ und σ2 (K(α,β),r ) = uAγ. Mit der Induktionsvoraussetzung ist damit auch σ(Kβ,s ) = uAγ. Entsprechend 5.6-12, Nr. 2 existiert eine Regel A → γx , so daß
σ2 (K(α,β),rx ) = uγx γ. Entsprechend 5.6-1, Nr. 2 hat Kβ,s für diese Regel A→γx ebenfalls
einen Nachfolgerknoten. Sei dieser Kβ,sy . Aus σ(Kβ,s ) = uAγ ergibt sich mit der Regel A→γx
(Linksableitung!) σ(Kβ,sy ) = uγx γ. Gemäß der Definition 5.6-17 ist Φβ (K(α,β),rx ) = Kβ,sy .
Damit ist schließlich σ2 (K(α,β),rx ) = uγx γ = σ(Kβ,sy = σ(Φβ (Kβ,rx )).
Mit a und b ist der Induktionsschritt gewährleistet.
Mit i und ii ist die behauptete Beziehung zwischen den den Knoten zugeordneten Zeichenfolgen bewiesen.
Die Abbildungen Φα und Φβ sind in Abb. 5.6-1 schematisch dargestellt. Aus den oben bewiesenen drei Beziehungen 5.6-14, 5.6-15 und 5.6-17 für die Zusammenhänge zwischen den den
Knoten der Bäume R(α,β) , Rαβ , Rα und Rβ zugeordneten Zeichenketten ergibt sich folgendes
Korollar. Für alle Knoten K(α,β),r des Baumes R(α,β) gilt
σ(Φα (K(α,β),r ))σ(Φβ (K(α,β),r )) = σ(Φ(K(α,β),r ))
(5.6-19)
Mit Hilfe der Abbildungen Φ, Φα und Φβ kann nun ein Zusammenhang zwischen den einzelnen Ableitungsbäumen Rαβ , Rα , und Rβ formuliert werden, der in einer Beziehung zwischen
den gemäß 5.6-6 definierten Wahrscheinlichkeiten besteht. Dies ist Gegenstand des Satzes
5.6-13. Um diesen Satz dann beweisen zu können, werden zuvor drei weitere Sätze eingeführt.
Satz: Sei K(α,β),1 die Wurzel und K(α,β),r ein beliebiger Knoten des Baumes R(α,β) . Dann gilt
Φ(K(α,β),1 )Φ(K(α,β),r ) = K(α,β),1 K(α,β),r
(5.6-20a)
77
5 Stochastische kontextfreie Grammatiken
R(α,β)
K1
(α, β)
K2
(u′, β)
Rβ
Φβ (K1 ) = Φβ (K2 )
β
= Φβ (K3 )
= Φβ (K4 )
K3
(α′ , β)
K4
(u′′ , β)
Φβ (K5 )
β′
Φβ
Φβ (K7 )
v ′′
Φβ (K6 )
v′
K5
(u′′ , β ′)
Φα
K6
(u′′ , v ′ )
Φα (K1 )
α
Φα (K2 )
u′
K7
(u′′ , v ′′ )
Φα (K3 )
α′
Rα
Φα (K4 ) = Φα (K5 ) = Φα (K6 ) = Φα (K7 )
u′′
Abb. 5.6-1: Die Bäume Rα und Rβ als mit den Abbildungen Φα und Φβ erzeugten Bilder des Baumes
R(α,β) . Man beachte, daß es in R(α,β) mehrere Unterbäume geben kann, die auf Rβ abgebildet
werden (hier z.B. außer der zu K3 gehörende Unterbaum auch der zu K2 gehörende). Der besseren
Übersichtlichkeit halber ist dies hier jedoch nicht dargestellt. Außer der Bezeichnung des jeweiligen
Knotens Ki (bzw. Φα (Ki ) und Φβ (Ki )) sind auch die zugeordneten Zeichenfolgen (σ1 (Ki ), σ2 (Ki ))
(bzw. nur σ(Φα (Ki )) und σ(Φβ (Ki ))) angegeben. Die zugrundegelegten Ableitungen sind α ⇒∗ u′ ,
α ⇒∗ α′ ⇒∗ u′′ , β ⇒∗ β ′ ⇒∗ v ′ und β ⇒∗ β ′ ⇒∗ v ′′ . Hierbei sind α, α′ , β, β ′ ∈ (N ∪ Σ)∗ \ Σ∗ , also
Symbolfolgen, die mindestens noch ein Nichtterminalsymbol enthalten, und u′ , u′′ , v ′ , v ′ ∈ Σ∗ sind
Folgen von Terimanlsymbolen.
und
Φα (K(α,β),1 )Φα (K(α,β),r ) + Φβ (K(α,β),1 )Φβ (K(α,β),r ) = Φ(K(α,β),1 )Φ(K(α,β),r )
(5.6-20b)
Hierbei bezeichnet Kr Ks die Länge des Pfades (vorausgesetzt ein solcher existiert) von Kr
nach Ks .
Der Beweis erfolgt mittels Induktion über die Länge l des Pfades von K(α,β),1 nach K(α,β),r .
(i) l = 0. Dann ist K(α,β),r = K(α,β),1 und K(α,β),1 K(α,β),r = 0. Weiterhin ist (wegen der
Gleichheit der Knoten) auch Φ(K(α,β),r ) = Φ(K(α,β),1 ), Φα (K(α,β),r ) = Φα (K(α,β),1 ), und
Φβ (K(α,β),r )=Φβ (K(α,β),1 ). Damit ist auch Φ(K(α,β),1 )Φ(K(α,β),r )=0, Φα (K(α,β),1 )Φα (K(α,β),r )
78
5.6 Wahrscheinlichkeiten und Ableitungsbäume
= 0, und Φβ (K(α,β),1 )Φβ (K(α,β),r ) = 0, woraus die Behauptung unmittelbar folgt.
(ii) l > 0. Es sei (im Baum R(α,β) ) der Knoten K(α,β),rx Nachfolgerknoten von K(α,β),r
für die (ohne Beschränkung der Allgemeinheit gewählte) Regel A → γx . Damit ist mit
5.6-12, Nr. 2 (im Baum R(α,β) ) Φ(K(α,β),rx ) Nachfolgerknoten von Φ(K(α,β),r ) und es gilt
Φ(K(α,β),1 )Φ(K(α,β),rx ) = Φ(K(α,β),1 )Φ(K(α,β),r ) + 1 = K(α,β),1 K(α,β),r + 1 = K(α,β),1 K(α,β),rx
wobei bzgl. des zweiten Gleichheitszeichen die Induktionsvoraussetzung eingeht. Im folgenden wird nach der Zeichenfolge σ1 (K(α,β),r ) unterschieden.
a) σ1 (K(α,β),r ) ∈
/ Σ∗ . Mit 5.6-15, Nr. 2 ist (im Baum Rα ) Φα (K(α,β),rx ) Nachfolgerknoten
von Φα (K(α,β),r ), während mit 5.6-17, Nr. 2 (im Baum Rβ ) gilt Φβ (K(α,β),rx ) = Φβ (K(α,β),r ).
Damit ist
Φα (K(α,β),1 )Φα (K(α,β),rx ) + Φβ (K(α,β),1 )Φβ (K(α,β),rx )
= Φα (K(α,β),1 )Φα (K(α,β),r ) + 1 + Φβ (K(α,β),1 )Φβ (K(α,β),r )
= Φα (K(α,β),1 )Φα (K(α,β),r ) + Φβ (K(α,β),1 )Φβ (K(α,β),r ) + 1
= Φ(K(α,β),1 )Φ(K(α,β),r ) + 1
= Φ(K(α,β),1 )Φ(K(α,β),rx )
wobei im vorletzten Schritt die Induktionsvoraussetzung eingeht und im letzten Schritt der
anfangs von ii festgestellte Zusammenhang genutzt wird.
a) σ1 (K(α,β),r ) ∈ Σ∗ . Mit 5.6-15, Nr. 3 gilt (im Baum Rα ) Φα (K(α,β),rx ) = Φα (K(α,β),r ),
während mit 5.6-17, Nr. 3 (im Baum Rβ ) Φβ (K(α,β),rx ) Nachfolgerknoten von Φβ (K(α,β),r )
ist. Damit ist
Φα (K(α,β),1 )Φα (K(α,β),rx ) + Φβ (K(α,β),1 )Φβ (K(α,β),rx )
= Φα (K(α,β),1 )Φα (K(α,β),r ) + Φβ (K(α,β),1 )Φβ (K(α,β),r ) + 1
= Φ(K(α,β),1 )Φ(K(α,β),r ) + 1
= Φ(K(α,β),1 )Φ(K(α,β),rx )
wobei im vorletzten Schritt wiederum die Induktionsvoraussetzung eingeht.
Mit a und b sind alle möglichen Fälle abgedeckt und der Induktionsschritt gezeigt.
Mit i und ii ist der Satz 5.6-20 bewiesen.
Als Korollar des Satzes 5.6-20 ergibt sich: Ist l := K(α,β),1 K(α,β),r , so ist Φ(K(α,β),1 )Φ(K(α,β),rx )
= l und (die einzelnen Summanden sind als Pfadlängen stets positiv) Φα (K(α,β),1 )Φα (K(α,β),r )
≤ l und Φβ (K(α,β),1 )Φβ (K(α,β),r ) ≤ l. Das heißt, wenn K(α,β),r Knoten des Baumes R(α,β),t
(vgl. Definition 5.6-5) ist, also l ≤ t, so ist Φ(K(α,β),r ) Knoten des Baumes Rαβ,t , Φα (K(α,β),r )
Knoten des Baumes Rα,t und Φβ (K(α,β),r ) Knoten des Baumes Rβ,t .
Satz: Ist K(α,β),r Knoten des Baumes R(α,β),t , t ≥ 0 und ist t′ ≥ t, so gilt
qt (ui+1 . . . uj |Φ(K(α,β),r )) ≤
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))
(5.6-21)
wobei die Wahrscheinlichkeiten entsprechenden der Definition 5.6-4 auf den jeweiligen Bäumen Rαβ,t Rα,t bzw. Rβ,t′ berechnet werden.
79
5 Stochastische kontextfreie Grammatiken
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu K(α,β),r gehörenden Unterbaums
von R(α,β),t , wobei t beliebig ist. (Anm.: Dem Korollar von Satz 5.6-20 gemäß sind die Knoten
Φ(K(α,β),r ), Φα (K(α,β),r ) und Φβ (K(α,β),r ) Knoten des entsprechenden Baumes R(α,β),t , Rα,t
bzw. Rβ,t . Und da t′ ≥ t ist Φβ (K(α,β),r ) auch Knoten des Baumes Rβ,t′ .)
(i) l = 0. Dann ist K(α,β),r Blatt von R(α,β),t . Es werden zwei Fälle a und b unterschieden.
a) σ1 (K(α,β),r )σ2 (K(α,β),r ) = ui+1 . . . uj . Dann existiert ein k ′ , i ≤ k ′ ≤ j, so daß σ1 (K(α,β),r ) =
ui+1 . . . uk′ und σ2 (K(α,β),r ) = uk′ +1 . . . uj . Damit sind die Knoten Φα (K(α,β),r ) und Φβ (K(α,β),r )
Blattknoten von Rα,t , Rβ,t bzw. Rβ,t′ . Definition 5.6-4 auf den jeweiligen Bäumen ausgewertet
ergibt:
qt (ui+1 . . . uj |Φ(K(α,β),r )) = 1
und
qt (ui+1 . . . uk |Φα (K(α,β),r )) = qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) =
(
0 für k =
6 k′
1 für k = k ′
Mit der letzten Gleichung ist auch die Summe über alle k für das Produkt der beiden Größen
gleich 1 (da alle Summanden bis auf einen gleich 0 sind):
j
X
k=1
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) = 1
Im Falle a sind also die beiden Seiten der Ungleichung des Satzes gleich 1 und dieser somit
gültig.
b) σ1 (K(α,β),r )σ2 (K(α,β),r ) 6= ui+1 . . . uj . Nach der Voraussetzung ist K(α,β) , j Blatt des Baumes R(α,β),t und wegen der Isomorphie von R(α,β) und Rαβ ist dann auch Φ(K(α,β),r ) Blatt von
Rαβ,t . Also ist mit Definition 5.6-5 (da σ(Φ(K(α,β),r )) 6= ui+1 . . . uj gemäß 5.6-14) qt (ui+1 . . . uj |
Φ(K(α,β),r ) = 0. Mit Satz 5.6-7 in Verbindung mit 5.6-10 gilt 0 ≤ qt (ui+1 . . . uk′ |Φ(K(α,β),r ))
und 0 ≤ qt′ (uk′ . . . uj |Φ(K(α,β),r )). Damit ist auch das Produkt dieser beiden Größen positiv
und somit auch die entsprechende Summe über alle k:
0≤
j
X
k=1
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))
Im Falle b ist die linke Seite der Ungleichung des Satzes gleich 0, während die rechte positiv
ist und somit der Satz gültig.
(ii) l > 0. Dann hat K(α,β),r die Nachfolgerknoten K(α,β),rx , 1 ≤ x ≤ nA . Entsprechend
der Konstruktion der verschiedenen Bäume Rαβ , Rα und Rβ existieren auch deren Bilder
Φ(K(α,β),rx ), Φα (K(α,β),rx ), und Φβ (K(α,β),rx ) (wobei jeweils 1 ≤ x ≤ nA ). Für diese Bilder
der Nachfolgerknoten gilt der Induktionsvoraussetzung entsprechend:
qt (ui+1 . . . uj |Φ(K(α,β),rx )) ≤
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
Nach Multiplikation mit qr,x und Summation über alle x, 1 ≤ x ≤ nA , ergibt sich:
nA
X
x=1
qr,x qt (ui+1 . . . uj |Φ(K(α,β),rx ))
≤
80
nA
X
x=1
qr,x
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Die linke Seite kann gemäß der Definition 5.5-6 ersetzt werden. Da die Addition assoziativ
und kommutativ ist, können die beiden Summationen auf der rechten Seite in ihrer Reichenfolge vertauscht werden. Es wird erhalten:
qt (ui+1 . . . uj |Φ(K(α,β),r )) ≤
j X
nA
X
k=i x=1
qr,x qt (ui+1 . . . uk |Φα (K(α,β),rx ))qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
An dieser Stelle werden nun zwei Fälle zu unterschieden.
a) σ1 (K(α,β),r ) ∈
/ Σ∗ . Dann ist der Definition 5.6-17 entsprechend Φβ (K(α,β),rx ) = Φβ (K(α,β),r )
für alle x, 1 ≤ x ≤ nA . Demzufolge ist auch q(ui+1 . . . uk |Φβ (K(α,β),rx )) = q(ui+1 . . . uk |
Φβ (K(α,β),r )) von x unabhängig und kann ausgeklammert“, also vor das zweite Summenzei”
chen gezogen werden. Damit ist
qt (ui+1 . . . uj |Φ(K(α,β),r )) ≤
j
X
k=i
q (uk+1 . . . uj |Φβ (K(α,β),r ))
t′
nA
X
x=1
qr,x qt (ui+1 . . . uk |Φα (K(α,β),rx ))
Abermals Definition 5.6-4 gemäß kann die zweite Summation ersetzt werden und es wird
erhalten:
qt (ui+1 . . . uj |Φ(K(α,β),r )) ≤
j
X
k=i
qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))qt (ui+1 . . . uk |Φα (K(α,β),r ))
b) σ1 (K(α,β),r ) ∈ Σ∗ . Es wird analog zu Fall a verfahren. Der Definition 5.6-15 entsprechend
ist Φα (K(α,β),rx ) = Φα (K(α,β),r ) für alle x, 1 ≤ x ≤ nA . Demzufolge ist auch q(ui+1 . . . uk
|Φα (K(α,β),rx ))= q(ui+1 . . . uk |Φα (K(α,β),r )) von x unabhängig und kann ausgeklammert“,
”
also vor das zweite Summenzeichen gezogen werden. Die damit verbleibende zweite Summation kann der Definition 5.6-4 gemäß ersetzt werden und es wird erhalten:
qt (ui+1 . . . uj |Φ(K(α,β),r )) ≤
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r ))qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))
Mit a und b ist der Induktionsschritt gewährleistet. Mit i und ii ist Satz 5.6-21 bewiesen.
Satz: Ist K(α,β),r Knoten des Baumes R(α,β),t+t′ , t ≥ 0 und ist t′ ≥ 0, so gilt
j
X
k=1
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
(5.6-22)
wobei die Wahrscheinlichkeiten entsprechenden der Definition 5.6-4 auf den jeweiligen Bäumen Rαβ,t̃ (noch zu definieren), Rαβ,t+t′ Rα,t bzw. Rβ,t′ ausgewertet werden.
Für den Beweis werden die beiden Bäume Rα,t und Rβ,t′ betrachtet, wobei t ≥ 0, t′ ≥ 0, aber
ansonsten beliebig. Weiterhin sei K(α,β),r ein Knoten von R(α,β) , so daß Φα (R(α,β) ) Knoten
von Rα,t und Φβ (R(α,β) ) Knoten von Rβ,t′ ist. Aus der Definition 5.6-11 und dem Satz 5.6-20
folgt, daß Φ(R(α,β) ) Knoten von Rαβ,t+t′ ist.
Der Beweis selbst wird mittels Induktion über die Summe l + l′ geführt, wobei l die Tiefe
des zu dem Knoten Φα (K(α,β),r ) von Rα,t gehörenden Unterbaums und l′ die Tiefe des zu
dem Knoten Φβ (K(α,β),r ) von Rβ,t′ gehörenden Unterbaums ist.
81
5 Stochastische kontextfreie Grammatiken
(i) l + l′ = 0. Dann ist l = 0 und l′ = 0. Entsprechend der obigen Definiton von l und l′
als Tiefe von den oben bezeichneten Unterbäumen ist dann Φα (K(α,β),r ) Blatt von Rα,t und
Φβ (K(α,β),r ) Blatt von Rβ,t′ . Es werden zwei Fälle a und b unterschieden.
a) σ1 (K(α,β),r )σ2 (K(α,β),r ) = ui+1 . . . uj . Dann existiert ein k ′ , i ≤ k ′ ≤ j, so daß σ1 (K(α,β),r ) =
ui+1 . . . uk′ und σ2 (K(α,β),r ) = uk′+1 . . . uj . Definition 5.6-4 auf den jeweiligen Bäumen ausgewertet ergibt:
qt (ui+1 . . . uk |Φα (K(α,β),r )) = qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) =
(
0 für k =
6 k′
1 für k = k ′
Mit der letzten Gleichung ist auch die Summe über alle k für das Produkt der beiden Größen
gleich 1 (da alle Summanden bis auf einen gleich 0 sind):
j
X
k=1
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) = 1
Dies ist die linke Seite der zu beweisenden Ungleichung.
Werden die Pfadlängen Φα (K(αβ),1 )Φα (K(αβ),r ) ≤ t und Φβ (K(αβ),1 )Φβ (K(αβ),r ) ≤ t′ betrachtet, so ist entsprechend Satz 5.6-20 Φα (K(αβ),1 )Φα (K(αβ),r ) + Φβ (K(αβ),1 )Φβ (K(αβ),r )
= Φ(K(αβ),1 )Φ(K(αβ),r ) =: t̃ und Φ(K(αβ),r ) Blatt von Rαβ,t̃ , t̃ ≤ t + t′ . Damit ist
qt̃ (ui+1 . . . uj |Φ(K(αβ),r )) = 1
also gleich der linken Seite der zu beweisenden Ungleichung. Mit der in Satz 5.6-8 formulierten
Monotonieeigenschaft ist dieser Ausdruck kleiner als die rechte Seite der zu beweisenden
Ungleichung:
qt̃ (ui+1 . . . uj |Φ(K(αβ),r )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(αβ),r ))
Damit ist die Ungleichung im Fall a bewiesen. (Anm.: Wegen der Gleichheit der linken Seite
mit 1 und Satz 5.6-7 gilt sogar Gleichheit beider Seiten der Ungleichung.)
b) σ1 (K(α,β),r )σ2 (K(α,β),r ) 6= ui+1 . . . uj . Dann existiert kein k ′ , so daß σ1 (K(α,β),r ) = ui+1 . . . uk′
und σ2 (K(α,β),r ) = uk′+1 . . . uj . Einer der beiden Faktoren qt (ui+1 . . . uk |Φα (K(α,β),r )) und
qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) ist also immer gleich 0 und somit auch deren Produkt und die
Summe über alle k:
j
X
k=1
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) = 0
Entsprechend Satz 5.6-7 sind die mit 5.6-4 definierten Größen stets positiv, also auch
0 ≤ qt+t′ (ui+1 . . . uj |Φ(K(αβ),r ))
Hieraus folgt sofort die zu zeigende Ungleichung, deren Richtigkeit damit auch im Falle b
bewiesen ist.
(ii) l + l′ > 0. Dann ist l > 0 oder l′ > 0. Damit ist Φα (K(αβ),r ) innerer Knoten von
Rα,t oder Φβ (K(αβ),r ) innerer Knoten von Rβ,t′ . Für die Längen der Pfade von der Wurzel bis zu dem betrachteten Knoten bedeutet dies, daß Φα (K(αβ),1 )Φα (K(αβ),r ) < t oder
Φβ (K(αβ),1 )Φβ (K(αβ),r ) < t′ . Damit muß auch für deren Summe strenge Ungleichheit gelten:
Φα (K(αβ),1 )Φα (K(αβ),r ) + Φβ (K(αβ),1 )Φβ (K(αβ),r ) < t + t′ . Also ist auch (mit Satz 5.6-20)
Φ(K(αβ),1 )Φ(K(αβ),r ) < t + t′ , so daß Φ(K(α,β),r ) innerer Knoten von Rαβ,t+t′ sein muß. Dieser
hat also Nachfolgerknoten in Rαβ,t+t′ . Der Definition von Φ gemäß sind dies die Bilder der
82
5.6 Wahrscheinlichkeiten und Ableitungsbäume
Nachfolgerknoten von K(α,β),r , also Φ(K(α,β) ), rx , 1 ≤ x ≤ nA , wobei die entsprechenden
Regeln A→γx , 1 ≤ x ≤ nA , und deren Wahrscheinlichkeiten qA,x , 1 ≤ x ≤ nA , seien. Es
werden nun wiederum zwei Fälle unterschieden.
a) σ1 (K(α,β),r ) ∈
/ Σ∗ . Dann ist ebenfalls σ(Φα (K(α,β),r )) ∈
/ Σ∗ . Als Unterfall wird hier außerdem noch nach l unterschieden.
— l = 0. Dann hat Φα (K(α,β),r ) keinen Nachfolgerknoten in Rα und es ist (für beliebige
k) qt (ui+1 . . . uk′ |Φα (K(α,β),r )) = 0 (da dann K(α,β),r Blatt und der Voraussetzung des Falles a entsprechend σ(Φα K(α,β),r )) 6= ui+1 . . . uk ist). Demzufolge ist auch das Produkt mit
qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) gleich 0 und die Summe über alle k ebenfalls gleich 0. Damit ist
die linke Seite der zu beweisenden Ungleichung 0, während die rechte Seite mit Satz 5.6-7
positiv ist und die Ungleichung damit gilt. Daher wird im folgenden vorausgesetzt
— l > 0. Dann ist Φα (K(α,β),r ) innerer Knoten von Rα,t und dessen Nachfolgerknoten
Φα (K(α,β),rx ), 1 ≤ x ≤ nA , sind ebenfalls Knoten von Rα,t . Die zu diesen gehörenden Unterbäume haben jedoch eine geringere Tiefe als das betrachtete l. Der Voraussetzung von
a entsprechend ist nach der Definition von Φβ (vgl. 5.6-17) Φβ (K(α,β),rx ) = Φβ (K(α,β),r ),
1 ≤ x ≤ nA , und damit auch Φβ (K(α,β),rx ) Knoten von Rβ,t′ . (Die Tiefe des entsprechenden
Unterbaums bleibt jedoch unverändert gleich l′ .)
Werden nun die Nachfolgerknoten K(α,β),rx von K(α,β),r betrachtet, so ist die Summe der
Tiefen der jeweiligen Unterbäume kleiner als l + l′ . Damit kann die Induktionsvoraussetzung
auf jeden diesen Nachfolgerknoten angewendet werden und es ist (für alle x, 1 ≤ x ≤ nA ):
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),rx ))
Indem nun jeweils mit qA,x multipliziert und dann über alle x summiert wird, ergibt sich:
nA
X
x=1
qA,x
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
≤
nA
X
x=1
qA,x qt+t′ (ui+1 . . . uj |Φ(K(α,β),rx ))
Die rechte Seite kann sofort gemäß Definiton 5.6-5 ersetzt werden. Auf der linken Seite wird
qA,k über die zweite Summe distributiert, also hinter das zweite Summenzeichen gezogen
und dann wird die Reihenfolge der Summationen vertauscht (dies ist möglich aufgrund der
Assoziativität und Kommutativität der Addition):
j X
nA
X
k=i x=1
qA,x qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
Da Φβ (K(α,β),rx ) = Φβ (K(α,β),r ) für alle x, 1 ≤ x ≤ nA , ist dementsprechend (wiederum für
alle x, 1 ≤ x ≤ nA ) auch qt′ (uk+1 . . . uj |Φβ (K(α,β),rx )) = qt′ (uk+1 . . . uj |Φβ (K(α,β),r )). Dieser
Ausdruck ist also unabhängig von x und kann ausgeklammert“ und (in Form des Ausdrucks
”
rechts vom Gleichheitszeichen) vor das zweite Summenzeichen gezogen werden:
j
X
k=i
qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))
nA
X
x=1
qA,x qt (ui+1 . . . uk |Φα (K(α,β),rx ))
≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
83
5 Stochastische kontextfreie Grammatiken
Bezüglich des zweiten Summenzeichens wird wiederum Definition 5.6-5 angewendet und
j
X
k=i
qt′ (uk+1 . . . uj |Φβ (K(α,β),r ))qt (ui+1 . . . uk |Φα (K(α,β),r )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
erhalten, womit der Induktionsschritt im Falle a durchgeführt wäre.
b) σ1 (K(α,β),r ) ∈ Σ∗ . Dann ist ebenfalls σ(Φα (K(α,β),r )) ∈ Σ∗ . Der Konstruktion von Rα
entsprechend hat Φα (K(α,β),r ) keinen Nachfolgerknoten, d.h. der zu diesem gehörende Unterbaum hat die Tiefe l = 0. Damit muß jedoch l′ > 0 sein. Damit ist Φβ (K(α,β),r ) innerer
Knoten von Rβ,t′ und dessen Nachfolgerknoten Φβ (K(α,β),rx ), 1 ≤ x ≤ nA , sind ebenfalls
Knoten von Rβ,t′ . Die zu diesen gehörenden Unterbäume haben jedoch eine geringere Tiefe
als das betrachtete l′ . Der Voraussetzung von b entsprechend ist nach der Definition von Φα
(vgl. 5.6-5) Φα (K(α,β),rx ) = Φβ (K(α,β),r ), 1 ≤ x ≤ nA , und damit auch Φα (K(α,β),rx ) Knoten
von Rα , t. Die Tiefe des entsprechenden Unterbaums bleibt jedoch unverändert gleich l = 0.
Werden nun der Nachfolgerknoten K(α,β),rx von K(α,β),r betrachtet, so ist die Summe der
Tiefen der jeweiligen Unterbäume kleiner als l + l′ . Damit kann die Induktionsvoraussetzung
auf jeden diesen Nachfolgerknoten angewendet werden und es ist (für alle x, 1 ≤ x ≤ nA ):
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),rx ))
Indem nun jeweils mit qA,x multipliziert und dann über alle x summiert wird, ergibt sich:
nA
X
x=1
qA,x
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
≤
nA
X
x=1
qAx qt+t′ (ui+1 . . . uj |Φ(K(α,β),rx ))
Die rechte Seite kann sofort gemäß Definiton 5.6-5 ersetzt werden. Auf der linken Seite wird
qA,x über die zweite Summe distributiert, die Reihenfolge der Summationen vertauscht (dies
ist möglich aufgrund der Assoziativität und Kommutativität der Addition):
j X
nA
X
k=i x=1
qA,x qt (ui+1 . . . uk |Φα (K(α,β),rx )) qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
Da Φα (K(α,β),rx ) = Φα (K(α,β),r ), ist dementsprechend auch qt (uk+1 . . . uj |Φα (K(α,β),rx )) =
qt (uk+1 . . . uj |Φα (K(α,β),r )), jeweils für alle x, 1 ≤ x ≤ nA . Da damit dieser Ausdruck unabhängig von x ist, kann er ausgeklammert“ und vor das zweite Summenzeichen gezogen
”
werden:
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r ))
nA
X
x=1
qA,x qt′ (uk+1 . . . uj |Φβ (K(α,β),rx ))
≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
Bezüglich des zweiten Summenzeichens wird wiederum Definition 5.6-5 angewendet und
j
X
k=i
84
qt (ui+1 . . . uk |Φα (K(α,β),r ))qt′ (uk+1 . . . uj |Φβ (K(α,β),r )) ≤ qt+t′ (ui+1 . . . uj |Φ(K(α,β),r ))
5.6 Wahrscheinlichkeiten und Ableitungsbäume
erhalten, womit der Induktionsschritt im Falle b durchgeführt wäre.
Damit Teil ii des Induktionsbeweises abgeschlossen.
Mit i und ii folgt die Behauptung.
Als Korollar der beiden Sätze 5.6-21 und 5.6-22 ergibt sich für t′ = t:
qt (ui+1 . . . uj |Φ(K(α,β),r )
≤
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r ) qt (uk+1 . . . uj |Φβ (K(α,β),r )
≤ q2t (ui+1 . . . uj |Φ(K(α,β),r )
(5.6-23)
Wie bereits erwähnt stehen die mit Definition 5.6-5 für verschiedenen Ableitungsbäume Rαβ ,
Rα und Rβ für einen Knoten K(α,β),r berechneten Wahrscheinlichkeiten in einen Zusammenhang. Dieser ist Gegenstand des folgenden Satzes.
Für alle Knoten K(α,β),r des Doppelableitungsbaums R(α,β) gilt
q(ui+1 . . . uj |Φ(K(α,β),r )) =
j
X
k=i
q(ui+1 . . . uk |Φα (K(α,β),r )) q(uk+1 . . . uj |Φβ (K(α,β),r ))
(5.6-24)
Der Beweis für endlich tiefe Ableitungsbäume ließe sich direkt mittels Induktion über die
Tiefe l des zu K(α,β),r gehörenden Unterbaums führen. Günstiger ist jedoch die Anwendung
des Satzes 5.6-23. Mittels Gleichung 5.6-6 wurde Definition 5.6-5 auf unendlich tiefe Bäume
fortgesetzt, indem die Grenzwerte von Folgen von Wahrscheinlichkeiten eingeführt wurden.
P
Betrachtet werde nun die Folge jk=i qt (ui+1 . . . uk |Φα (K(α,β),r )) qt (uk+1 . . . uj |Φβ (K(α,β),r )).
Diese ist nach unten durch die Folge qt (ui+1 . . . uj |Φ(K(α,β),r )) und nach oben durch die FolP
ge q2t (ui+1 . . . uj |Φ(K(α,β),r )) beschränkt. Demzufolge existiert der Grenzwert limt→∞ jk=i
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt (uk+1 . . . uj |Φβ (K(α,β),r )). und es gilt:
lim qt (ui+1 . . . uj |Φ(K(α,β),r ))
t→∞
≤ lim
t→∞
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt (uk+1 . . . uj |Φβ (K(α,β),r ))
≤ limt→∞ q2t (ui+1 . . . uj |Φ(K(α,β),r ))
Da limt→∞ qt (ui+1 . . . uj |Φ(K(α,β),r )) = q2t (ui+1 . . . uj |Φ(K(α,β),r )), gilt im Grenzfall folgende
Gleichheit:
lim qt (ui+1 . . . uj |Φ(K(α,β),r )) = lim
t→∞
t→∞
j
X
k=i
qt (ui+1 . . . uk |Φα (K(α,β),r )) qt (uk+1 . . . uj |Φβ (K(α,β),r ))
85
5 Stochastische kontextfreie Grammatiken
Da der Grenzwert einer Summe bzw. eines Produktes gleich der Summe der Grenzwerte der
Summanden bzw. dem Produkt der Grenzwerte der Faktoren ist (vorausgesetzt die entsprechenden Grenzwerte existieren, was hier jedoch der Fall ist), ergibt sich:
lim qt (ui+1 . . . uj |Φ(K(α,β),r ))
t→∞
=
j
X
k=i
lim qt (ui+1 . . . uk |Φα (K(α,β),r )) lim qt (uk+1 . . . uj |Φβ (K(α,β),r ))
t→∞
t→∞
Diese Grenzwerte sind jedoch allesamt Fälle der Defintion 5.6-6. (Anm.: Im Falle endlich
tiefer Ableitungsbäume wären diese Grenzwerte die Grenzwerte konstanter Folgen.) Damit
ergibt sich
q(ui+1 . . . uj |Φ(K(α,β),r )) =
j
X
k=i
q(ui+1 . . . uk |Φα (K(α,β),r )) q(uk+1 . . . uj |Φβ (K(α,β),r ))
womit Satz 5.6-24 bewiesen wäre.
Als Korollar zu Satz 5.6-24 ergibt sich in Verbindung mit Satz 5.6-10 und Satz 5.6-16
q(ui+1 . . . uj |αβ) =
j
X
k=i
q(ui+1 . . . uk |α) q(uk+1 . . . uj |β)
Anmerkung: Ähnlich wie im Vorausgehenden für die Beziehung von Wahrscheinlichkeiten
auf Ableitungsbäumen durchgeführt, können auch Beziehungen zwischen den Ableitungen
selbst hergestellt werden. Es scheint möglich, daß auf diese Art ein fundamentalerer Zugang zu (als die in Abschnitt 5.4 gegebene anschauliche Deutung von) punktierten Regeln
gefunden werden kann und diese als abstrakte Beziehungen zwischen Ableitungsbäumen formalisiert werden können. Der Earleysche Algorithmus wäre dann mittels Operationen auf
Ableitungsbäumen zu formulieren (s.a. Abschnitt 5.11).
5.7 Der Earleysche Algorithmus und Wahrscheinlichkeiten
Sollte der Earleysche Algorithmus auf eine stochastische Grammatik angewendet werden,
so kann mit dessen Durchführung gleichzeitig die der zu parsenden Satzform zugeordnete
Wahrscheinlichkeit ermittelt werden. Hierzu wird die Spezifikation des in (5.4-7) definierten
Hypergraphen (Hn , hn ) erweitert. Jedem Knoten I ∈ Hn , der eine punktierte Regel darstellt
(also I ∈ Hn \ (P ∪ {Ui | 1 ≤ i ≤ n})), wird eine Wahrscheinlichkeit p ∈ [0, 1] zugeordnet:
q(A→α.β, i, j) := q(A→αβ) · q(Ui+1 . . . Uj |α)
(5.7-1)
Interessanterweise ist es nun möglich, diese so definierten Wahrscheinlichkeiten zu berechnen, ohne dabei auf die Definition der Wahrscheinlichkeit q(Ui+1 . . . Uj |α) (vgl. 5.6-9) oder
Satz 5.6-11, was die Auswertung von Ableitungsbäumen bedeuten würde, zurückzugreifen.
Auf diese Frage wird weiter unten in diesem Abschnitt noch einmal zurückgekommen und
diese dann in Abschnitt 5.9 schließlich beantwortet werden.
Mit Hilfe der Definition 5.7-1 kann nun die Summe der Wahrscheinlichkeiten aller Ableitungen, mit der ausgehend von der Startsatzform S die zu parsende Zeichenfolge u erhalten
86
5.7 Earleyscher Algorithmus und Wahrscheinlichkeiten
wird, angegeben werden:
q(u|S) =
nS
X
q(S→αx ., 0, n)
x=1
(5.7-2)
Hierbei ist S → αx die x-te Regel, auf deren linken Seite das Startsymbol steht, nS die
Anzahl derartiger Regeln und q(S→αx ) := qS,x die Wahrscheinlichkeit, mit der diese Regel
attributiert ist.
Beweis:
nS
X
q(S→αx ., 0, n) =
x=1
=
nS
X
x=1
nS
X
x=1
q(S→αx ) · q(U0+1 . . . un |αx )
qS,x · q(U0+1 . . . un |αx )
= q(U1 . . . Un |S)
= q(u|S)
Die erste Gleichheit ergibt sich aus Definition 5.7-1, die zweite beruht auf Definition 5.6-4,
wobei (unter Zugrundelegen des Ableitungsbaums von S) Satz 5.6-11 eingeht.
Der Ausdruck dieses Satzes 5.7-1 nimmt eine besonders einfache Form an, wenn es nur eine
einzige Startregel S→α, gibt, der außerdem die Wahrscheinlichkeit 1 zugeordnet ist. Dann
ist nämlich q(u|S) = q(S→α., 0, n).
Bisher war stets von einer einzigen zu parsenden Satzform bzw. Folge von Terminalsymbolen u die Rede. Tatsächlich ist es jedoch in der Praxis weitaus interessanter, für eine ganze
Klasse zu parsender Zeichenfolgen u′ , u′′ , u′′′ . . . u(L) die Grammatik zu optimieren. Dieser
Fall kann jedoch wie folgt auf den oben beschriebenen zurückgeführt werden. Es wird ein
weiteres Terminalsymbol # ∈
/ Σ eingeführt, während an Stelle der zu parsenden Satzformen eine einzige neue tritt: u′#u′′ #u′′′ # . . . u(L) #. Weiterhin wird eine zusätzliche Regel
S 0 → S#S#S# . . . S#, der die Wahrscheinlichkeit 1 zugeordnet wird, eingeführt, wobei
S0 ∈
/ N ein neues Startsymbol ist und auf der rechten Seite für jede ursprünglich zu parsende Satzform die Symbolfolge S# einmal (insgesamt also L-mal) auftritt. Die so definierte
neue zu parsende Satzform wird unter der um die zusätzliche Regel erweiterten Grammatik
geparst. Der so erhaltene neue Parse stellt dann eine Verknüpfung“ der einzelnen Parses
”
der ursprünglichen zu parsenden Zeichenfolgen dar. Gemäß der in Abschnitt 5.4. gegebenen
Definition der Wahrscheinlichkeit erweist sich die Wahrscheinlichkeit, die dieser neuen Satzform zugeordnet ist, als Produkt der Wahrscheinlichkeiten, die sich beim einzelnen Parsen
der Satzformen ergeben. Damit spielt auch die Reihenfolge, in der die einzelnen Satzformen
kombiniert werden, keine Rolle mehr. In der Praxis dürfte es daher auch günstiger sein, erst
die Wahrscheinlichkeiten für die einzelnen Satzformen nach getrenntem Parsen zu ermitteln,
um diese dann zu multiplizieren.
Im folgenden sollen nun drei Zusammenhänge bewiesen werden, die für die mit 5.7-1 auf Hn
definierten Wahrscheinlichkeiten gelten. Hierbei sind A→α, A→αBβ ∈ P Regeln, A ∈ N
ist Nichtterminalsymbol, B ∈ N ∪ Σ ist irgendein Symbol, α, β ∈ (N ∪ Σ)∗ und schließlich
i, j, k, n ∈ IN0 , wobei 0 ≤ i ≤ k ≤ j ≤ n und n die Länge der zu parsenden Zeichenfolge
u = U1 . . . Un ist.
87
5 Stochastische kontextfreie Grammatiken
Ist I ∈ Hn eine linkspunktierte Regel, also I = A→.α, j, j, so ist
q(A→.α, j, j) = q(A→α)
(5.7-3)
Beweis:
q(A→.α, j, j) = q(A→α) · q(Uj+1 . . . Uj |ǫ) = q(A→α)
Anmerkung: Links von dem Punkt der linkspunktierten Regel ist das leere Wort ǫ zu denken.
Andererseits ist definitionsgemäß Uj+1 . . . Uj = ǫ, so daß die Ableitung, der die punktierte
Regel entspricht, die Relation ǫ ⇒∗ ǫ ist. Dieser entspricht genau einer einzigen Ableitung,
nämlich die, die durch die leere Regelfolge λ gegeben ist. Dieser kommt die Wahrscheinlichkeit
1 zu.
Ist I ′ = A→α.Bβ, i, j − 1, I = A→αB.β, i, j und I ′′ = Uj = B, so ist
q(A→αB.β, i, j) = q(A→α.Bβ, i, j − 1)
(5.7-4)
Beweis: Für jede Ableitung α ⇒∗ Ui+1 . . . Uj−1 ist ebenfalls αUj ⇒∗ Ui+1 . . . Uj−1 Uj Ableitung, und zwar bei jeweils unveränderter Regelfolge! Dementsprechend sind auch die
Summen der Wahrscheinlichkeiten über all diese Ableitungen gleich: q(Ui+1 . . . Uj−1 |α) =
q(Ui+1 . . . Uj |αUj ). Mit Definition 5.7-1 ergibt sich damit:
q(A→αB.β, i, j) = q(A→αBβ) · q(Ui+1 . . . Uj |αUj )
= q(A→αBβ)q(Ui+1 . . . Uj−1 |α)
= q(A→α.Bβ, i, j − 1)
An dieser Stelle soll Hilfssatz 1 eingeführt werden, der zum Beweis des Satzes 5.7-5 benötigt
werden wird. Ist I ∈ Hn , wobei I = A→α.Bβ, i, j punktierte Regel, B ∈
/ Σ, so gibt es zu
dieser die folgenden zwei Mengen H̃1 (I) ⊆ Hn × Hn und H̃2 (I) ⊆ Hn × Hn :
H̃1 (I) = H̃1 (A→α.Bβ, i, j)
:= {(A→α.Bβ, i, k, B→γx ., k, j) |
k ∈ [i, j] ∧ x ∈ [1, nB ]
∧ α ⇒∗ Ui+1 . . . Uk
∧ γx ⇒∗ Uk . . . Uj }
(1)
H̃2 (I) := {(I ′ , I ′′ ) | (I ′ , I, I ′′ ) ∈ hn }(2)
Diese beiden Mengen sind gleich:
H̃1 (I) = H̃2 (I)
Beweis:
Es wird gezeigt, daß wenn 1. (A→α.Bβ, i, k, B→γx ., k, j) ∈ H̃1 (I) auch (A→α.Bβ, i, k, B→
γx ., k, j) ∈ H̃2 (I) ist und daß wenn 2. (I ′ , I ′′ ) ∈ H̃2 (I) auch (I ′ , I ′′ ) ∈ H̃1 (I) ist und somit
die eine Menge jeweils Teilmenge der anderen ist — woraus deren Gleichheit folgt.
1. Sei (I ′ , I ′′ ) ∈ H̃1 (I) mit I ′ = A → α.Bβ, i, k und I ′′ := B → γx ., k, j. Da entsprechend
der Voraussetzung H̃1 (I) ⊆ Hn × Hn , ist I ′ ∈ Hn und I ′′ ∈ Hn . Mit 5.4-11 ist dann auch
88
5.7 Earleyscher Algorithmus und Wahrscheinlichkeiten
I ′ ∈ Hk und I ′′ ∈ Hj . Mit Nr. 6 von 5.4-7 ist damit (I ′ , I, I ′′ ) ∈ hj , woraus sich mit
(fortgesetzter Anwendung von) Nr. 5B ergibt (I ′ , I, I ′′ ) ∈ hn . Damit ist also (I ′ , I ′′ ) ∈ H̃2 (I)
und es ist H̃1 (I) ⊆ H̃2 (I). 2. Ist dagegen (I ′ , I ′′ ) ∈ H̃2 (I), so gibt es I ′ , I ′′ ∈ Hn . Da
I = A→αB.β und (nach Voraussetzung) B ∈
/ Σ, existieren mit Satz 5.4-13 die punktierten
′
′′
Regeln I = A → α.Bβ, i, k und I = B → γx, k, j. Damit existieren nicht nur i, j und k
(wie für 1 benötigt), sondern (vgl. Satz 5.4-12) auch die Ableitungen α ⇒∗ Ui+1 . . . Uk und
γx ⇒∗ Uk+1 . . . Uj . Somit ist (I ′ , I ′′ ) ∈ H̃1 (I) und H̃2 (I) ⊆ H̃1 (I).
Hiermit ist die Gleichheit der beiden Mengen H̃(I)1 und H̃(I)2 gezeigt.
Liegt dagegen weder die Voraussetzung des Satzes 5.7-3 noch die des Satzes 5.7-4 vor, ist
also I = A→αB.β, i, j, B ∈
/ Σ und existieren I ′ = A→α.Bβ, i, k und I ′′ = B →γx., k, j,
(wobei jeweils i ≤ k ≤ j), so ist
q(I) =
X
X
δ(I ′ , I, I ′′ ) q(I ′ ) q(I ′′ )
I ′ ∈Hn I ′′ ∈Hn
wobei δ(I ′ , I, I ′′ ) = 1 wenn (I ′ , I, I ′′ ) ∈ hn und δ(I ′ , I, I ′′ ) = 0 wenn (I ′ , I, I ′′ ) ∈
/ hn .
(5.7-5)
Beweis: Nach Voraussetzung und Definition 5.7-1 ist
q(I) = q(A→αB.β, i, j) = q(A→αBβ) · q(Ui+1 . . . Uj |αB)
Mit Satz 5.6-24 (angewendet auf den zweiten Faktor) ist
= q(A→αBβ)
j
X
k=i
q(Ui+1 . . . Uk |α) q(Uk+1 . . . Uj |B)
Den Faktor q(A→αBβ) über die Summe distributiert und mit Definition 5.7-1 zusammengefaßt:
=
=
j
X
k=i
j
X
k=1
q(A→αBβ) q(Ui+1 . . . Uk |α) q(Uk+1 . . . Uj |B)
q(A→α.Bβ, i, k) q(Uk+1 . . . Uj |B)
Unter Zugrundelegen des Ableitungsbaums für B, Satz 5.6-10 und Definiton 5.6-4 ergibt sich
=
j
X
q(A→α.Bβ, i, k)
nB
X
x=1
k=i
qB,x q(Uk+1 . . . Uj |γx )
wobei B → γx , 1 ≤ x ≤ nB , all die Regeln sind, mit denen B ersetzt werden kann. Da
qB,x = q(B →γx ) die diesen zugeordnete Wahrscheinlichkeit ist, ergibt sich mit Definition
5.7-1
=
=
j
X
k=i
j
X
q(A→α.Bβ, i, k)
q(A→α.Bβ, i, k)
nB
X
x=1
nB
X
q(B→γx )q(Uk+1 . . . Uj |γx )
q( B→γx ., k, j)
x=1
k=i
Indem der Faktor q(A→α.Bβ) über die zweite Summe distributiert wird, ergibt sich:
=
j X
nB
X
q(A→α.Bβ, i, k) q( B→γx ., k, j)
k=i x=1
89
5 Stochastische kontextfreie Grammatiken
Sollte die Ableitung α ⇒∗ Ui+1 . . . Uk oder die Ableitung γx ⇒∗ Uk+1 . . . Uj nicht existieren,
so ist die der entsprechenden punktierten Regel zugeordnete Wahrscheinlichkeit gleich 0 (vgl.
5.7-1) und das entsprechende Produkt trägt nichts zur obigen Summation bei. Mit anderen
Worten, in diese Summation gehen nur nur die Produkte ein, deren Paare von Faktoren
Elementen der in Hilfssatz 1 definierten Menge H̃1 (I) entsprechen. Diese ist aber gleich der
Menge H̃2 (I). Wird nun über alle Elemente von Hn × Hn summiert, so sollten nur die den
Elementen von H̃2 (I) entsprechenden Paare von Faktoren in die Summation eingehen. Dies
wird durch den Faktor δ(I ′ , I, I ′′ ) erreicht, der genau dann den Wert 1 annimmt, wenn dem
Produkt ein Element von H̃2 (I) entspricht, ansonsten aber 0 ist. Auf diese Weise kann die
Summation über [i, j] × [[1, nB ] durch eine Summation über Hn × Hn ersetzt werden und es
ist
X X
δ(I ′ , I, I ′′ )q(I ′ ) q(I ′′ )
=
I ′ ∈Hn I ′′ ∈Hn
Die Sätze 5.7-3, 5.7-4 und 5.7-5 stellen einen Zusammenhang zwischen den Wahrscheinlichkeiten, die den punktierten Regeln von Hn zugeordet sind, her — und zwar ohne, daß
hierbei die Summe der Wahrscheinlichkeiten der entsprechenden Ableitungen einginge. Die
Gleichungen der Sätze 5.7-3, 5.7-4 und 5.7-5 stellen also notwendige Bedingungen für die
den punktierten Regeln zugeordneten Wahrscheinlichkeiten dar. Es ist jedoch nicht klar,
inwieweit diese Bedingungen auch tatsächlich hinreichend sind. Sollte diese der Fall sein,
so könnten die den punktierten Regeln zugeordneten Wahrscheinlichkeiten unmittelbar aus
diesen Gleichungen berechnet werden, woraus dann auch sofort die Summe der Wahrscheinlichkeiten der entsprechenden Ableitungen folgen würde (durch Division mit der bekannten
Wahrscheinlichkeit der der punktierten Regel zugrundeliegenden Regel). Die Gleichungen
würden also eine endliche Darstellung der auf unendlich tiefen Ableitungsbäumen definierten Wahrscheinlichkeiten sein.
Für jede punktierte Regel I ∈ Hn trifft eine der Voraussetzungen der drei Sätze 5.7-3, 5.7-4
oder 5.7-5 zu. Damit gibt es für jede punktierte Regel eine Gleichung, die im Falle der Sätze
5.7-3 oder 5.7-4 sofort lösbar ist. Mit Satz 5.7-5 ergibt sich jedoch im allgemeinen Falle ein
System algebraischer Gleichungen. Für dieses stellt sich die Frage, ob es tatsächlich nur eine
einzige Lösung hat, so daß den den jeweiligen punktierten Regeln entsprechende Ableitung
tatsächlich eine Zahl aus (0, 1] zugeordnet ist. (Anm.: Die Wahrscheinlichkeit 0 für eine
Ableitung sei ausgeschlossen, da dies (bei nur endlich vielen unterschiedlichen den Regeln
zugeordenten Wahrscheinlichkeiten) bedeuten würde, daß einer Regel die Wahrscheinlichkeit
0 zugeordnet wäre. Dies wäre aber gleichbedeutend damit, daß die entsprechende Regel nie
angewendet werden dürfte, also quasi nichtexistent wäre — im Widerspruch dazu, daß beim
Earleyschen Algorithmus diese vorausgesetzt wird.) Sollte es tatsächlich nur eine einzige
Lösung dieses Systems geben, so wären die Gleichungen der Sätze 5.7-3, 5.7-4 und 5.7-5
tatsächlich hinreichend.
Es soll noch angemerkt werden, worin die Ursache liegt, daß es sich bei dem Gleichungssystem im allgemeinen Fall um ein algebraisches und nicht ein lineares (und dünner Besetzung
der entsprechenden Matrix) handelt. Dadurch, daß ǫ-Produktionen zugelassen sind, können
während einer Ableitung Nichtterminalsymbole gelöscht werden, so daß durch die Anwendung einer geeigneten Folge von Regeln, eine Satzform erhalten werden kann, die bereits an
früherer Stelle der Ableitung auftaucht. Es ist also nicht gefordert, daß die zugrundeliegende
Grammatik zykelfrei ist. (Anmerkung: Das Auftreten von Zykeln ist nicht an das Vorhan90
5.7 Earleyscher Algorithmus und Wahrscheinlichkeiten
densein von ǫ-Produktionen gebunden. Sie können auch bei entsprechender Wahl der Regeln
auftreten, wenn Regeln der Form A→B (oder sogar A→A), A, B ∈ N, zugelassen werden.)
In dem entsprechenden Ableitungsbaum macht sich dies z.B. dadurch bemerkbar, daß die
Wahrscheinlichkeit, die einem Knoten Kr zugeordnet ist, auch von der Wahrscheinlichkeit
die einem Knoten Ks des zu Kr gehörenden Unterbaums abhängt, wobei die Wahrscheinlichkeit für den Knoten Ks gleich der Wahrscheinlichkeit für den Knoten Kr ist, weil die
zu diesen Knoten gehörenden Unterbäume gleich sind! (Komplizierte Fälle sind denkbar, so
mag z.B. das Symbol A zu AB abgeleitet werden und im Verlauf der weiteren Ableitung
wird irgendwann B wieder zu A abgleitet. Die Wahrscheinlichkeit, die dem der Satzform
AB entsprechenden Knoten des Ableitungsbaums zugeordent ist, hängt dann ebenfalls von
der Wahrscheinlichkeit für den der Satzform A zugeordneten Knoten ab (wie dies in Satz
5.6-24 formuliert ist.) In den mit Satz 5.7-5 erhaltenen Gleichungen macht sich dies dadurch
bemerkbar, daß eine Variable, die auf der linken Seite einer Gleichung steht, ebenfalls auf
der rechten Seite derselben Gleichung oder auch anderer Gleichungen auftaucht — und zwar
als Faktor!
Als Beispiel für solche Nichtlineraritäten sei mit 5.1-4 gegebene Grammatik genannt. Beim
Parsen von abba wird der in Abb. 5.4-3 gezeigte Hypergraph erhalten. Mit diesem können die
dem Satz 5.7-5 entsprechenden Gleichungen leicht ermittelt werden. Zwei von diesen seien
hier angeführt:
q(B→B.B, 3, 3) = q(B→.BB, 3, 3) q(B→ǫ., 3, 3) + q(B→.BB, 3, 3) q(B→BB., 3, 3)
q(B→BB., 3, 3) = q(B→B.B, 3, 3) q(B→ǫ., 3, 3) + q(B→B.B, 3, 3) q(B→BB., 3, 3)
Der besseren Übersicht halber, sei dieser Ausschnitt aus dem Gleichungssystem nochmals
komprimiert“ dargestellt (die Zuordnung der Variablen ergibt sich aus der unveränderten
”
Reihenfolge):
x8 = q4 q6 + q4 x9
x9 = x8 q6 + x8 x9
q4 und q6 sind hierbei den Regeln p4 und p6 entsprechenden Wahrscheinlichkeiten. Die obere
Gleichung in die untere eingesetzt, diese dann nach x9 aufgelöst, dieses Ergebnis in die obere
eingesetzt und diese dann nach x8 aufgelöst ergibt:
√
x8 = 12 ± 12 1 − 4q4 q6√)
x9 = 2q14 (1 − 2q4 q6 ± 1 − 4q4 q6 )
Mit diesem Beispiel ist gezeigt, daß tatsächlich nichtlineare Gleichungssysteme auftreten und
nicht so ohne weiteres zu entscheiden ist, welche von den mehreren Lösungen die zutreffenden
sind. (Wie später gezeigt (vgl. Abschnitt 5.9) werden wird, fallen im vorliegenden Falle die
Lösungen mit dem Pluszeichen vor der Wurzel weg.)
Abgesehen von der Frage, welche der Lösungen zu wählen ist, stellt sich die zweite Frage,
wie dieses Gleichungssystem zu lösen ist. Beide Fragen werden in Abschnitt 5.9 gleichzeitig beantwortet werden, indem nämlich ein Verfahren angegeben wird, daß nicht nur eine
Lösung für das Gleichungssystem, sondern genau eine Lösung liefert, von der auch gezeigt
werden kann, daß sie die gesuchte Lösung ist. Es wird sich um ein Iterationsverfahren handeln, das bereits durch die Form des Gleichungssystems suggeriert wird, nämlich daß der
Variablenvektor“ als Funktion der Variablen formuliert ist. Als Startwerte wird jeweils 0
”
angenommen (sofern nicht die Wahrscheinlichkeit sofort angegeben werden kann, da es sich
um linkspunktierte Regeln handelt). Weiterhin wird eine Optimierung angegeben werden, die
91
5 Stochastische kontextfreie Grammatiken
die Struktur des Systems ausnutzt und berücksichtigt, daß viele Variablen nur von einigen
wenigen anderen abhängen und diese Abhängigkeit nicht wechselseitig ist.
Die im Abschnitt 4.2. aufgeworfenden Fragen treffen auch hier zu:
1. Wie kann bei gegebener Grammatik (und gegebenen Wahrscheinlichkeiten für die einzelnen Regeln) die Wahrscheinlichkeit, die der zu parsenden Satzform zugeordnet ist,
ermittelt werden?
2. Wie kann eine optimale Ableitung bestimmt werden?
3. Wie können die den Regeln der Grammatik zugeordneten Wahrscheinlichkeiten so optimiert werden, daß die Wahrscheinlichkeit für die zu parsenden Satzform maximal
wird?
Die unter 1 gestellte Frage ist prinzipiell schon zu Beginn dieses Abschnittes beantwortet
worden. In Abschnitt 5.9 wird das genaue Rechenverfahren angegeben und bewiesen werden.
Für 2 soll als eine optimale Ableitung die wahrscheinlichste, d.h. die most likely gelten. Unter
allen Ableitungen, die zu der zu parsenden Satzform u führen, wird die wahrscheinlichste
gewählt. (Diese ist jedoch nicht unbedingt die wahrscheinlichste Ableitung überhaupt, da
es durchaus Ableitungen mit größerer Wahrscheinlichkeit geben kann, die jedoch nicht zu
u führen.) Während die Wahrscheinlichkeit für die zu parsende Satzform die Summe über
alle möglichen Ableitungen darstellt, wird hier eine einzige dieser Ableitungen ausgewählt.
Hierbei wird bei jedem Knoten von Hn , wo verschiedene Teilparses zusammengefaßt sind, die
Kombination von Teilparses ausgewählt, die am wahrscheinlichsten ist. Dies wird rekursiv
durchgeführt, bzw. beginnend mit den untersten“ Knoten, die auf keine weiteren Teilparses
”
zurückzuführen sind. Im Grunde wird hier genauso verfahren wie bei dem im Abschnitt 4.5
angegebenen Algorithmus. Dieses Verfahren wird in Abschnitt 5.9 beschrieben werden. Es
ist sogar möglich dieses Verfahren zu verallgemeinern und eine Folge der zu u führenden
Ableitungen in absteigender Reihenfolge ihrer Wahrscheinlichkeiten zu erzeugen.
Für 3 bietet sich auf den ersten Blick ein Gradientenverfahren ein. Als günstiger wird sich
jedoch das Simplexverfahren (vgl. Numerical Recipes) erweisen. (Anm.: Dieses Verfahren
ist trotz des gleichen Namens nicht mit dem Verfahren zum linearen Programmieren zu
verwechseln.) Selbstverständlich liefert ein solches Verfahren kein globales Optimum. Allgemeine Verfahren, um globale Optima aufzufinden, sind unbekannt. Allerdings dürfte in der
Praxis ein lokales Optimum ausreichend sein, da es darum geht, die Wahrscheinlichkeiten
für die Regeln der Grammatik so zu variieren, daß die zu parsende Satzform möglichst
”
gut“ erfaßt wird. Eine Adaption des in Abschnitt 4.6 angegebenen Verfahrens ist nicht ohne
weiteres möglich. Hierauf wird in Abschnitt 5.12 eingegangen.
5.8 Abhängigkeiten der I ∈ Hn voneinander
In diesem Abschnitt soll eine Zerlegung von Hn \ P \ Σ (Regeln und Symbole der zu parsenden Zeichenfolge seien ausdrücklich ausgenommen) in disjunkte Teilmengen G1 , G2 , G3 , . . .
angegeben werden, so daß für I ∈ Gk es kein k ′ > k gibt, so daß der Wert qt (I ′ ), I ′ ∈ Gk′ , in
die Berechnung von qt+1 (I) gemäß 5.9-5 bzw. 5.9-12 einginge. Hiermit wird die weiter unten
beschriebene Verbesserung dieser Iterationsverfahren möglich.
92
5.8 Abhängigkeiten der I ∈ Hn voneinander
Definition: Sei (I ′ , I, I ′′ ) ∈ hn und I ′ 6∈ P . Dann heißt I direkt abhängig von I ′ und falls
I ′′ 6∈ Σ, dann heißt I auch direkt abhängig von I ′′ .
(5.8-1)
Definition: Iy heißt von Ix abhängig, Ix ≺ Iy , wenn es eine Folge I0 , I1 , I2 , . . . Ik , k > 0,
von Elementen aus Hn \ P \ Σ gibt, so daß I0 = Ix , Ij direkt abhängig von Ij−1 für alle j,
0 < j ≤ k und Ik = Iy .
(5.8-2)
Anmerkung: ≺ stellt eine Relation auf Hn dar.
Definition: Ist Iy nicht von Ix abhängig, gibt es also keine Folge gemäß Definition 5.8-2, so
wird hierfür Ix 6≺ Iy geschrieben.
(5.8-3)
Satz: Die Relation ≺ ist transitiv.
(5.8-4)
Beweis: Zu zeigen ist, daß aus Ix ≺ Iy und Iy ≺ Iz folgt, daß Ix ≺ Iz . Entsprechend der
Definition von ≺ existieren zwei Folgen I0 , I1 , . . . Ik und I0′ , I1′ , . . . Ik′ ′ von Elementen aus
Hn \ P \ Σ, so daß Ix = 0, Iy = Ik , Iy = I0′ und Ik′ ′ , so daß Ij direkt abhängig ist von Ij−1
für alle j, 0 < j ≤ k und Ij′ ′ direkt abhängig ist von Ij′ ′ −1 für alle j ′ , 0 < j ′ ≤ k ′ . Durch
Verketten der beiden Folgen, wobei die Glieder der zweiten mit j := j ′ + k indiziert werden
′
(also Ij := Ij−k
für j ≥ k), folgt die Behauptung.
Definition: Für I ∈ Hn , G ⊆ Hn \ P \ Σ werden folgende Teilmengen von G definiert:
1. G≺ (I) := {I ′ ∈ G | I ′ ∈ I}
2. G≺≻ (I) := {I ′ ∈ G≺ (I) | I ≺ I ′ }
3. G≺6≻ (I) := G≺ (I) \ G≺≻ (I)
4. G= (I) := {I} wenn G≺≻ (I) = ∅ ∧ I ∈ G und G= (I) := ∅ sonst
5. G6 (I) := G \ G≺ (I) \ G= (I)
(5.8-5)
Anmerkung: Die Mengen G≺≻ (I), G≺≻ (I), G= (I) und G6 (I) sind paarweise disjunkt und
stellen eine vollständige Zerlegung von G dar, G = G≺6≻ (I) ∪ G≺≻ (I) ∪ G= (I) ∪ G6 (I). Der
Beweis hierfür ergibt sich praktisch unmittelbar mit Definition 5.8-5 und sei daher hier nicht
angegeben.
93
5 Stochastische kontextfreie Grammatiken
Hilfssatz 1: Sei G ⊆ H \ P \ Σ, I ∈ Hn \ P \ Σ. Ist I ∈ G und G≺6≻ (I) 6= ∅, dann ist I ∈ G≺6≻ (I).
Beweis: Sei I ′ ∈ G≺6≻ (I). Dann ist I ′ ∈ G≺ (I) und I ≺ I ′ gemäß Nr. 2 von 5.8-5. Weiterhin
ist mit I ′ ∈ G≺ (I) gemäß Nr. 1 von 5.8-5 dann aber auch I ′ ≺ I. Wegen der Transitivität
(vgl. Satz 5.8-4) ist dann aber auch I ≺ I. Mit Nr. 1 von 5.8-5 ist dann I ∈ G≺ (I) und mit
Nr. 2 von 5.8-5 ist außerdem I ∈ G≺6≻ (I).
Hilfssatz 2: Sei G ⊆ Hn \ P \ Σ, I ∈ Hn \ P \ Σ und I ′ ∈ G≺≻ (I). Dann ist G≺≻ (I) = G≺≻ (I ′ ).
Beweis: Mit I ′ ∈ G≺≻ (I) (und damit I ′ ∈ G) ist der Definition von G≺≻ (I) gemäß I ′ ≺ I
und I ≺ I ′ . Sei I ′′ ∈ G≺≻ (I) (I ′′ beliebig), womit dann auch I ′′ ∈ G. Dann ist I ′′ ≺ I und
I ≺ I ′′ und mit der Transitivität von ≺ ist dann I ′′ ≺ I ≺ I ′ und I ′ ≺ I ≺ I ′′ . Damit ist
(wiederum Definition 5.8-5 entsprechend) I ′′ ∈ G≺≻ (I ′ ). Da I ′′ ein beliebiges Element von
G≺≻ (I) ist somit G≺≻ (I) ⊆ G≺≻ (I ′ ).
Sei nun I ′′ ∈ G≺≻ (I ′ ) (wiederum beliebig), womit dann auch I ′′ ∈ G. Damit ist I ′′ ≺ I ′ und
I ′ ≺ I ′′ . Da aber I ′ ∈ G≺≻ (I) (und I ′ ∈ G), ist auch I ′ ≺ I und I ≺ I ′ . Damit ist aber auch
I ′′ ≺ I ′ ≺ I und I ≺ I ′ ≺ I ′′ , so daß I ′′ ∈ G≺≻ (I). Damit ist G≺≻ (I ′ ) ⊆ G≺≻ (I).
Also ist G≺≻ (I ′ ) = G≺≻ (I).
Hilfssatz 3: Seien Ix , Iy ∈ Hn \ P \ Σ punktierte Regeln, Ix := Ax →αx .βx , ix , jx und Iy :=
Ay→αy .βy , iy , jy . Wenn Ix ≺ Iy , dann ist iy ≤ ix und jx ≤ jy .
Beweis: Gemäß Definition 5.8-2 gibt es eine Folge I0 , I1 , . . . , Il , l > 0, so daß Ix = I0 ,
Iy = Il und Iz direkt abhängig von Iz−1 für alle 0 < z ≤ l. Dann gibt es zu jedem Iz ,
Iz := Az →αz Bz .βz , iz , jz , ein (Iz′ , Iz , Iz′′ ) ∈ hn , so daß Iz′ 6∈ P und Il′ = Iz−1 oder Iz′′ = Iz−1
und Iz′′ 6∈ Σ. Mit Satz 5.4-13 muß a) Iz := Az →αz Bz .βz , iz , jz , Iz′ := Az →αz Bz .βz , iz , jz − 1
und Iz′′ = Bz = Uj , oder b) Iz := Az → αz Bz .βz , iz , jz , Iz′ := Az → αz .Bz βz , iz , kz und
Iz′′ = Bz →γ, kz , jz sein. (Die erste Möglichkeit des Satzes 5.4-13 kommt nicht in Frage, da
hier Iz′ ∈ P wäre, was Definition 5.8-1 widerspräche.) Im Fall a ist nur Iz′ = Iz−1 möglich und
es ist sofort ersichtlich, daß iz = iz−1 und jz−1 < jz . Im Fall b sind zwei Fälle zu unterscheiden.
α) Iz′ = Iz−1 . Dann ist iz = iz−1 und mit der Voraussetzung des Earleyschen Algorithmus
(Definitionen 5.4-6 und 5.4-7) ist kz ≤ jz und damit jz−1 ≤ jz . Oder β) Iz′′ = Iz−1 . Es
ist iz ≤ kz und kz ≤ jz , wie mit der Minimalität des Earleyschen Algorithmus leicht zu
zeigen ist. Mit kz = iz−1 folgt dann iz ≤ iz−1 und iz−1 ≤ jz . Alle drei Fälle (a, bα und bβ)
können in den Ungleichungen iz ≤ iz−1 und iz−1 ≤ jz zusammengefaßt werden, womit sich
die Behauptung durch fortgesetzte Anwendung dieser Ungleichungen auf die obige Folge von
punktierten Regeln ergibt.
Satz: Sei G ⊆ Hn \ P \ Σ, I ∈ Hn \ P \ Σ und Ix , Iy ∈ G≺≻ (I), Ix := Ax →αx .βx , ix , jx und
Iy := Ay→αy .βy , iy , jy . Dann ist ix = iy und jx = jy .
(5.8-6)
Der Beweis ergibt sich unmittelbar aus Hilfssatz 3. Es ist Ix ≺ I ≺ Ix und Iy ≺ I ≺ Iy .
Mit der Transitivität von ≺ ist damit auch Ix ≺ I ≺ Iy und Iy ≺ I ≺ Ix . Aus der ersten
Ungleichungskette ergibt sich mit Hilfssatz 3, daß iy ≤ ix und jx ≤ jy , während aus der zweiten ix ≤ iy und jy ≤ jx folgt. Aus der wechselseitigen ≤-Beziehung folgen die behaupteten
Gleichheiten.
Satz: Sei G ⊆ Hn \ P \ Σ (beliebig) I ∈ Hn \ P \ Σ. Ist I linkspunktierte Regel, also
94
5.8 Abhängigkeiten der I ∈ Hn voneinander
I = A→.α, j, j, dann ist G≺ (I) = ∅.
(5.8-7)
Der Beweis ergibt sich unmittelbar aus der Minimalität des Earleyschen Algorithmus.
Wäre G≺ (I) 6 ∅, so gäbe es ein I ′ bzw. I ′′ , so daß (I ′ , I, I ′′ ) ∈ hn . Dieses Element könnte
jedoch sofort aus hn entfernt werden, ohne daß h′n := hn \ {(I ′ , I, I ′′ } die Nummern 1-7 von
5.4-7 verletzten würde.
Während Definition 5.8-5 eine Zerlegung von G bezogen auf ein bestimmtes Element I ∈ G
darstellt, ist folgende Zerlegung von G nicht mehr in bezug auf ein bestimmtes Element
ausgezeichnet.
Definition: Sie G1 , G2 , . . . Gm eine Folge von Teilmengen von G mit folgenden Eigenschaften:
1.
Sm
i=1
Gi = G
2. Für alle i, j, i 6= j, 1 ≤ i ≤ m, 1 ≤ j ≤ m ist Gi ∩ Gj = ∅.
3. Für alle I ∈ G existiert ein i, 1 ≤ i ≤ m, so daß
I ∈ Gi
G≺ (I) ⊆
und
G= (I) 6⊆
i
[
Gj
i−1
[
Gj
j=1
j=1
(5.8-8)
Mit anderen Worten, die Teilmengen G1 , G2 , . . . Gm stellen eine Zerlegung von G derart dar,
daß die Elemente einer Teilmenge nicht von Elementen von später in der Folge auftretenden
Teilmengen abhängig sind. (Damit müssen zwei Elemente I, I ′ ∈ G, für die I ′ ≺ I und I ≺ I ′
gilt, ein- und derselben Teilmenge angehören.)
Zur Erzeugung der Folge G1 , G2 , . . . Gm gemäß Definition 5.8-8 aus der Menge G eignet sich
z.B. der von Aho, Hopcroft und Ullman (1983; S. 222) angegebene Algorithmus, der
einen gerichteten Graphen in seine Zusammenhangskomponenten zerlegt. (Eine Zusammenhangskomponente ist ein maximaler Teilgraph, so daß zwischen je zwei (unterschiedlichen)
Knoten dieses Teilgraphens ein Pfad existiert; vgl. Abb. 5.8-1.) Der Menge G entspricht ein
gerichteter Graph, wobei jedes Element I ∈ G ein Knoten dieses Graphen ist und (I ′ , I),
I, I ′ ∈ G genau dann eine (gerichtete) Kante dieses Graphens ist, wenn I direkt abhängig
(gemäs 5.8-1) von I ′ ist. (Genau dann, wenn für zwei Elemente I und I ′ von G die Relation
I ′ ≺ I besteht, existiert im Graphen ein Pfad von dem Knoten I ′ nach dem Knoten I.) Eine
informelle Beschreibung des Algorithmus ist nun die folgende.
1. Wähle einen beliebigen, noch nicht numerierten Knoten des Graphen. Numeriere alle
von diesem entgegen der Kantenrichtungen erreichbaren Knoten im Sinne einer Tiefensuche. Hierbei ist zu beachten, daß ein Knoten erst dann seine Nummer erhält, wenn
95
5 Stochastische kontextfreie Grammatiken
A
B
C
E
G
I
F
H
J
D
Abb. 5.8-1: Ein gerichteter Graph; in dieser graphischen Darstellung bezeichnet ein Pfeil von X nach
Y die Kante (X, Y ). B und D gehören sicherlich zu verschiedenen Zusammenhangskomponenten.
Ebenso D und G. Hier existiert zwar ein Pfad von D nach G (nämlich z.B. D, F , E, G), aber es
gibt keinen Pfad von G nach D.
alle von ihm aus erreichbaren, tiefer liegenden Knoten numeriert worden sind. (Anmerkung: Mit entgegen der Kantenrichtung“ ist gemeint, daß mit der Kante (I ′ , I)
”
bei obiger Tiefensuche der Knoten I ′ von I aus erreicht wird, also I ′ unterhalb von I
liegt.)
Wiederhole diesen Vorgang solange, bis alle Knoten des Graphen numeriert sind.
2. Wähle unter den noch nicht markierten Knoten denjenigen mit der höchsten Nummer.
Alle von diesem aus in den Kantenrichtungen erreichbaren, noch nicht markierten Knoten, gehören zu einer Zusammenhangskomponente. Markiere diese Knoten dementsprechend.
Wiederhole diesen Vorgang ebenfalls solange, bis alle Knoten markiert sind.
In Abbildung 5.8-2 ist dieser Algorithmus veranschaulicht.
ˆ wie folgt definiert (wobei
Definition: Zu jedem I, Iˆ ∈ G werden die Mengen GU (I) und GO (I)
hn die Menge der mit dem Earleyschen Algorithmus 5.4-7 erhaltenen Hyperkanten ist):
GU (I) := {I ′ ∈ G | (I ′ , I, I ′′ ) ∈ hn } ∪ {I ′′ ∈ G | (I ′ , I, I ′′ ) ∈ hn }
ˆ := {I ∈ G | (I ′ , I, I ′′ ) ∈ hn ∧ (I ′ = Iˆ ∨ I ′′ = I)}
ˆ
GO (I)
(5.8-9)
In Anlehnung an den oben erwähnten Algorithmus kann der folgende Algorithmus formuliert
werden.
Algorithmus zur Zerlegung von G in eine Folge von Teilmengen G1 , G2 , . . .
Definition 5.8-8
Gm gemäß
Es sei G = {I1 , I2 , . . . I|G| }.
1. Erste Phase: Zu jedem k ≥ 0 gibt es eine Teilmenge Gk ⊆ G, sowie zwei Folgen von
Indizes, die Elemente aus G bezeichnen, nämlich ik,1 , ik,2, . . . ik,mk und jk,1 , jk,2, . . .
96
5.8 Abhängigkeiten der I ∈ Hn voneinander
a
1
2
A
6
E
B
3 ∗
C
10 ∗
G
I
b
1
B
3 ∗
C
E
10 ∗
G
I
F
H
J
A
9
D
6
D
4
F
H
5
J
8
7
Abb. 5.8-2: Veranschaulichung des Algorithmus zur Ermittlung der Zusammenhangskomponenten.
a) Die erste Phase, Tiefensuche entgegen der Kantenrichtungen und Numerierung der Knoten. (Die
jeweils frei gewählten Knoten sind durch Sterne bezeichnet.) Wähle C. Hiervon aus ist B und von
B aus dann A erreichbar. Von A aus kann die Tiefensuche nicht weiter fortgesetzt werden, also
erhält A die Nr. 1. Nach Backtracking zu B kann von B aus ebenfalls kein noch nicht aufgesuchter
Knoten mehr erreicht werden; B erhält also die Nr. 2. Nach abermaligem Backtracking erhält C die
Nr. 3. Nun muß ein neuer Punkt frei gewählt werden; sei dies G. Hiervon ausgehend werden (stets
entgegen den Kantenrichtungen) die Knoten G, E, D (4), E, F (5), E (6), G, I, H (7), J (8), I (9)
und G (10) (in dieser Reihenfolge) aufgesucht, wobei die Zahlen in Klammern die an der jeweiligen
Stelle vergebenen Nummern bezeichnen. b) Die zweite Phase, Markieren der in Kantenrichtung
erreichbaren Knoten. Ausgehend von dem Knoten mit der höchsten Nummer, nämlich G, können
die Knoten H, D und F erreicht werden (und werden dementsprechend markiert). Weitere Knoten
sind von diesen aus nicht erreichbar, so daß {G, H, D, F } Zusammenhangskomponente ist. Von
den nun noch nicht markierten Knoten hat E die höchste Nummer; die Menge der hiervon aus
erreichbaren Punkte ist {E, D, F }. Als weitere Zusammenhangskomponenten werden noch {C, B}
und schließlich {A} erhalten.
ij,nk , wobei mk ≥ 0 und nk ≥ 0 die Längen dieser Folgen sind.
(i) k = 0.
m0 := 0
n0 := 0
G0 := G
(Beide Indexfolgen sind also leer.)
(ii) Für k > 0 werden vier Fälle unterschieden.
a) mk−1 6= 0 und GU (Imk−1 ) ∩ Gk−1 6= ∅.
mk
nk
Gk
ik,l
jk,l
:=
:=
:=
:=
:=
mk−1 + 1
nk−1
Gk−1 \ {Iik ,mk }
ik−1,l für alle l, 1 ≤ l ≤ mk−1
jk,l für alle l, 1 ≤ l ≤ nk−1
wobei Iik,mk ∈ Gk−1 ∩GU (Iik−1,mk−1 ) (aber sonst beliebig). Anders ausgedrückt: mit dem
Index ik,mk wird in Gk−1 ein direkter Vorgänger von Iik−1,mk−1 , dem letzten Element
der mit den ik−1,l indizierten Liste, versehen.
97
5 Stochastische kontextfreie Grammatiken
b) mk−1 6= 0 und GU (Imk−1 ) ∩ Gk−1 = ∅.
mk
nk
Gk
ik,l
jk,l
jk,nk
:=
:=
:=
:=
:=
:=
mk−1 − 1
nk−1 + 1
Gk−1
ik−1,l für alle l, 1 ≤ l < mk−1
jk−1,l für alle l, 1 ≤ l ≤ nk−1
ik−1,mk−1
:=
:=
:=
:=
:=
mk−1 + 1 = 1
nk−1
Gk−1 \ {Iik,mk }
ik−1,l für alle l, 1 ≤ l ≤ mk−1
jk−1,l für alle l, 1 ≤ l ≤ nk−1
c) mk−1 = 0 und Gk−1 6= ∅.
mk
nk
Gk
ik,l
jk,l
wobei Iik,mk ∈ Gk−1 (sonst aber beliebig).
d) mk−1 = 0 und Gk−1 = ∅.
mk
nk
Gk
ik,l
jk,l
:=
:=
:=
:=
:=
mk−1
nk−1
Gk−1
ik−1,l für alle l, 1 ≤ l ≤ mk−1
jk−1,l für alle l, 1 ≤ l ≤ nk−1
In diesem Fall sind alle Folgen ab diesem k konstant.
2. Zweite Phase. (Zu deren Beschreibung wird, um Verwechslungen zu vermeiden, der
Index K anstelle von k verwendet.) Zu jedem K ≥ 0 gibt es eine Folge von Teilmengen
GK,1, GK,2, . . . GK,mK , eine Teilmenge ∂GK , sowie einen ausgezeichneten Index lK .
(i) K = 0.
mK := 1
lK
:= |G|
G0,1 := {Ij2|G|,|G| }
∂G0 := GO (Ij2|G|,|G| ) \ {Ij2|G|,|G| }
(Wie mit dem Korollar zu Satz 5.8-11 gezeigt werden wird) ist für k = 2|G| der Index
j2|G|,|G| der größte Index der (mit der ersten Phase des Algorithmus erzeugten) Folge
jk,l .
(ii) K > 0. Hier werden drei Fälle unterschieden.
SmK−1
GK−1,i 6= G und ∂GK−1 6= ∅.
a) i=1
mK
lK
GK,i
GK,1
∂GK
98
:=
:=
:=
:=
:=
mK−1
lmK−1
GK−1,i für alle i, 1 < i ≤ mK−1
GK−1,1 ∪ ∂GK−1
SmK
S
I∈∂GK−1 GO (I) \ i=1 GK,i
5.8 Abhängigkeiten der I ∈ Hn voneinander
SmK−1
GK−1,i 6= G und ∂GK−1 = ∅.
SmK−1
GK−1,i = G.
b)
c)
i=1
i=1
mK
lK
GK,i+1
GK,1
∂GK
:=
:=
:=
:=
:=
mK
lK
GK,i
∂GK
mK−1 + 1
SmK−1
max {l | Ij2|G|,l ∈ G \ i=1
GK−1,i}
GK−1,i für alle i, 1 ≤ i ≤ mK−1
{Ij2|G|,lK }
S K
GO (Ij2|G|,lK ) \ m
i=1 GK,i
:=
:=
:=
:=
mK−1
lK−1
GK−1,i für alle i, 1 ≤ i ≤ mK−1
∂GK−1
Die (mit der zweiten Phase erhaltene) Folge GK,1, GK,2, . . . GK,mK erfüllt, wenn
G, die Definition 5.8-8.
SmK
i=1
GK,i =
(5.8-10)
Hilfssatz 4: Für alle k ≥ 0 ist
G = Gk ∪
m
[k
{Iik,l } ∪
l=1
nk
[
{Ijk,l }
l=1
Dies ist leicht mittels Induktion über k zu zeigen.
(i) k = 0. Es ist Gk = G0 = G, während (da mk = 0 und nk = 0) die beiden Vereinigungsmengen leer sind, so daß die zu beweisende Behauptung sich auf G = G reduziert.
(ii) k > 0. Es wird nach den vier Fällen der Definiton 5.8-10 unterschieden.
a) Es ist
mk+1
Gk+1 ∪
[
l=1
nk+1
{Iik+1,l } ∪
[
l=1
{Ijk+1,l }
mk+1 −1
= Gk \ {Iik+1 ,mk+1 } ∪
[
l=1
nk+1
[
{Iik+1,l } ∪ {Iik+1 ,mk+1 } ∪
l=1
{Ijk+1,l }
Da Iik+1 ,mk+1 ∈ Gk ist Gk \ {Iik+1 ,mk+1 } ∪ {Iik+1 ,mk+1 } = Gk , so daß (nach Ersetzen von mk+1 ,
nk+1 und der Indizes ik+1,l und jk+1,l verbleibt
= Gk ∪
m
[k
{Iik,l } ∪
l=1
nk
[
{Ijk,l }
l=1
Hier geht nun die Induktionsvoraussetzung ein und es ergibt sich
=G
b) Es ist
mk+1
Gk+1 ∪
[
l=1
nk+1
{Iik+1,l } ∪
[
l=1
nk+1 −1
mk+1
{Ijk+1,l } = Gk ∪
[
l=1
{Iik+1,l } ∪
[
l=1
{Ijk+1,l } ∪ {Ijk+1,nk+1 }
99
5 Stochastische kontextfreie Grammatiken
Da jk+1 , nk+1 = ik,mk ergibt sich (wiederum nach Ersetzen der Vereinigungsgrenzen und
Indizes)
= Gk ∪
m[
k −1
l=1
{Iik,l } ∪
nk
[
{Ijk,l } ∪ {Iik ,mk }
l=1
Iik ,mk kann der ersten Vereinigungsmenge zugeschlagen werden, wobei die Vereinigungsgrenze
mk − 1 durch mk zu ersetzen ist. Nun ist wiederum die Induktionsvoraussetzung anwendbar
und mit dieser verbleibt für die obere Menge
=G
c) Der Beweis verläuft analog zu dem des Fall a.
d) Hier gibt es nichts weiter zu zeigen, da alle Größen konstant sind und damit die Behauptung für k + 1 sich unmittelbar aus der Induktionsvoraussetzung ergibt.
Hilfssatz 5: Für alle k ≥ 0 ist
Gk ∩
Gk ∩
m
[k
m
[k
{Iik,l }
= ∅ (A)
{Ijk,l }
= ∅ (B)
l=1
nk
[
l=1
{Iik,l } ∩
l=1
nk
[
{Ijk,l } = ∅ (C)
l=1
Außerdem gilt die Verschiedenheit“ der Indizes, nämlich für alle l, l′ , l 6= l′ , 1 ≤ l ≤ mk ,
”
1 ≤ l′ ≤ mk gilt, daß
ik,l 6= ik,l′ (D)
und für alle l, l′ , l 6= l′ , 1 ≤ l ≤ nk , 1 ≤ l′ ≤ nk gilt, daß
jk,l 6= jk,l′ (E)
Der Beweis erfolgt wiederum mittels Induktion über k.
S k
Snk
(i) k = 0. Da mk = 0 und nk = 0 sind die Vereinigungsmengen m
l=1 {Iik,l } und
l=1 {Ijk,l }
jeweils leer und demzufolge auch alle Schnittmengen mit diesen. Mit mk = 0 sind auch die
Mengen der in Frage kommenden l und l′ leer und es gibt weiter nichts zu zeigen.
(ii) k > 0. Es wird nach den vier Fällen der Definiton 5.8-10 unterschieden.
a) Die erste Behauptung A lautet
mk+1
Gk+1 ∩
[
l=1
{Iik+1,l }
mk+1 −1
= Gk \ {Iik+1,mk+1 } ∩ (
[
{Iik+1,l ∪ {Iik+1,mk+1 })
l=1
Nach Ersetzen der Indizes
= Gk \ {Iik+1,mk+1 } ∩ (
100
m
[k
{Iik,l ∪ {Iik+1,mk+1 })
l=1
5.8 Abhängigkeiten der I ∈ Hn voneinander
und Distributieren über die rechte Vereinigung wird erhalten
= (Gk \ {Iik+1,mk+1 } ∩
m
[k
{Iik,l ) ∪ ((Gk \ {Iik+1,mk+1 }) ∩ {Iik+1,mk+1 })
l=1
S
k
Nach Induktionsvoraussetzung ist kein Element von Gk in m
l=1 {Iik,l } enthalten. Da hieran
auch die Entnahme von Iik+1,mk+1 aus Gk nichts ändert, ergibt der erste Term die leere Menge.
Der zweite Term ergibt ebenfalls die leere Menge, da das einzig für die Schnittmenge in Frage
kommende Elemente Iik+1,mk+1 ausdrücklich nicht in der ersten Menge enthalten ist. Somit
verbleibt
=∅∪∅=∅
S
k
Da der Induktionsvoraussetzung entsprechend Iik+1,mk+1 6∈ m
l=1 {Iik,l } ist für l, 1 ≤ l ≤ mk
und l′ := mk+1 = mk + 1 (nach Ersetzen von ik,l durch ik+1,l ) dann ik,l 6= ik+1,l′ . Für die übrigen Kombinationen von l und l′ , 1 ≤ l ≤ mk+1 , 1 ≤ l′ ≤ mk+1 , l 6= l′ ergibt sich die Verschiedenheit der Indizes (D) durch Vertauschen von l und l′ und aus der Induktonsvoraussetzung.
Die Verschiedenheit der Indizes (E) ergibt sich direkt aus der Induktionsvoraussetzung, da
nk+1 = nk . Die zweite Behauptung B
nk+1
[
Gk+1 ∩
l=1
{Ijk+1,l } = Gk \ {Iik+1,mk+1 } ∩
nk
[
{Ijk,l } = ∅
l=1
ergibt sich direkt mit der Induktionsvoraussetzung (da die Entnahme eines Elementes aus
Gk nichts an der leeren Schnittmenge ändert). Die dritte Behauptung C
mk+1
[
l=1
nk+1
{Iik+1,l } ∩
[
l=1
{Ijk+1,l }
mk+1 −1
[
=(
l=1
nk+1
{Iik+1,l } ∪ {Iik+1,mk+1 }) ∩
[
l=1
{Ijk+1,l }
ergibt schließlich nach Ersetzen der Indizes
=(
m
[k
{Iik,l } ∪ {Iik+1,mk+1 }) ∩
l=1
nk
[
l=1
{Ijk,l }
Distributieren ergibt
=(
m
[k
{Iik,l } ∩
l=1
nk
[
{Ijk,l }) ∪ ({Iik+1,mk+1 } ∩
l=1
nk
[
{Ijk,l })
l=1
Der erste Term ist der Induktionsvoraussetzung entsprechend die leere Menge. Da nach
S k
{Ijk,l } = ∅, ist Iik+1,mk+1 6∈
Voraussetzung Iik+1,mk+1 ∈ Gk und wie oben gezeigt Gk ∩ nl=1
Snk
l=1 {Ijk,l }. Damit ist auch der zweite gleich der leeren Menge und es verbleibt
=∅∪∅=∅
b) Die erste Behauptung A lautet
mk+1
Gk+1 ∩
[
l=1
{Iik+1,l }
101
5 Stochastische kontextfreie Grammatiken
Nach Ersetzen der Indizes wird
= Gk ∩ (
erhalten. Da ∩(
Smk −1
l=1
{Iik+1,l } ⊂ ∩(
Smk
m[
k −1
{Iik+1,l }
l=1
l=1 {Iik+1,l }
ist, folgt mit der Induktionsvoraussetzung
=∅
Die zweite Behauptung B
nk+1
Gk+1 ∩
[
l=1
{Ijk+1,l }
nk+1 −1
[
= Gk ∩ (
l=1
{Ijk+1,l } ∪ {Ijk+1,nk+1 })
ergibt nach Ersetzen der Indizes und Distribution
= (Gk ∩ (
nk
[
{Ijk,l }) ∪ (Gk ∩ {Ijk+1,nk+1 }))
l=1
Der erste Term ist nach Induktionsvoraussetzung die leere Menge. Da Ijk+1,nk+1 = Iik ,mk und
S k
Smk
Iik ,mk ∈ m
l=1 {Iik,l } und Gk ∩ l=1 {Iik,l } = ∅ nach Induktionsvoraussetzung, ist Ijk+1,nk+1 6∈ Gk .
Damit ist auch der zweite Term die leere Menge und es verbleibt
= ∅∪∅ =∅
Die dritte Behauptung C
mk+1
[
l=1
nk+1
{Iik+1,l } ∩
=
l=1
l=1
{Ijk+1,l }
nk+1 −1
mk+1
[
[
{Iik+1,l } ∩ (
[
l=1
{Ijk+1,l } ∪ {Ijk+1,nk+1 })
ergibt nach Ersetzen der Indizes
=
m[
k −1
l=1
{Iik,l } ∩ (
nk
[
{Ijk,l } ∪ {Iik,mk })
l=1
Distributieren ergibt
m[
k −1
=(
l=1
{Iik,l } ∩
nk
[
{Ijk,l }) ∪ (
l=1
n[
k −1
l=1
{Ijk,l } ∩ {Iik+1,mk+1 })
Der erste Term ist der Induktionsvoraussetzung entsprechend die leere Menge. Der zweite
Term ist aufgrund der gezeigten Verschiedenheit der Indizes ebenfalls die leere Menge, so
daß
∅∪∅ =∅
verbleibt.
Die Verschiedenheit der Indizes (D) ergibt sich direkt mit der Induktionsvoraussetzung da
S k
mk+1 < mk . Da Iik,mk ∈ m
l=1 und Iik,mk = Ijk+1,mk+1 ist entsprechend der Induktionsvoraussetzung (die Schnittmenge der beiden Vereinigungsmengen ist leer) auch Ijk+1,mk+1 6∈
102
5.8 Abhängigkeiten der I ∈ Hn voneinander
Snk
S
Sn
−1
Sn
−1
k+1
k+1
k
Da nl=1
{Ijk,l } = l=1
{Ijk,l } ist somit auch Ijk+1,mk+1 6∈ l=1
{Ijk,l }. Die
Verschiedenheit der Indizes (E) folgt dann analog der Argumentation für D im Fall a.
c) Der Beweis erfolgt analog zu Fall a.
d) Da mk+1 = mk , nk+1 = nk und Gk+1 = Gk ergibt sich die Behauptung unmittelbar aus
der Induktionsvoraussetzung.
Mit i und ii ist Hilfssatz 5 bewiesen.
l=1 {Ijk,l }.
Hilfssatz 6: Es ist für alle k ≥ 0
|G| = |Gk | + mk + nk
Beweis: Mit Hilfssatz 4 ist
|G| = |Gk ∪
m
[k
{Iik,l } ∪
l=1
m
[n
{Ijk,l }|
l=1
Wegen der in Hilfssatz 5, A–C gezeigten Disjunktheit der Mengen auf der rechten Seite ist
|G| = |Gk | + |
m
[k
{Iik,l }| + |
l=1
m
[n
l=1
{Ijk,l }|
und mit der ebenfalls dort gezeigten Verschiedenheit der Indizes ist |
S n
| m
l=1 {Ijk,l }| = nk , womit sich die Behauptung ergibt.
Satz: Für alle k, 0 ≤ k ≤ 2|G| gilt
Smk
l=1 {Iik,l }|
= mk und
k = mk + 2nk
(5.8-11)
Der Beweis erfolgt mittels Induktion über k.
(i) Für k = 0 ist mk = 0 und nk = 0, womit die Behauptung gilt.
(ii) k > 0 (und k ≤ 2|G|). Mit Hilfssatz 6 ist |G| = |Gk | + mk + nk bzw. 2|G| = 2|Gk | + mk +
mk + 2nk , so daß mit der Induktionsvoraussetzung k = mk + 2nk sich 2|G| = 2|Gk | + mk + k
ergibt, woraus, wird k < 2|G| vorausgesetzt, folgt, daß 2|Gk | + mk > 0 und somit Gk 6= ∅
oder mk 6= 0, so daß nur Fall a–c der Definition 5.8-10 in Frage kommen. Nach diesen wird
nun unterschieden.
a) Nach Umformung der Induktionsvoraussetzung zu k + 1 = (mk + 1) + 2nk folgt mit der
Definition für mk+1 = mk + 1 und nk+1 = nk hieraus die Behauptung für k + 1, nämlich
k + 1 = mk+1 + 2nk .
b) Mit der zu k + 1 = mk + 2nk + 1 äquivalenten Aussage k + 1 = (mk − 1) + 2(nk + 1) ergibt
sich mit der Definition für mk+1 = mk − 1 und nk = nk + 1 wiederum die Behauptung für
k + 1.
c) Die Argumenation ist hier diesselbe wie im Fall a.
d) Dieser Fall kann außer Betracht bleiben, da für den Induktionsschritt jeweils k < 2|G|
vorausgesetzt wurde.
Anmerkung: Da der Induktionsschritt auch für k = 2|G| − 1 erfolgt, gilt die Behauptung
damit auch für k + 1 = 2|G|.
Mit (i), (ii) und der Anmerkung ist die Behauptung für alle k, 0 ≤ k ≤ 2|G| gezeigt.
103
5 Stochastische kontextfreie Grammatiken
Korollar: Für k ≥ 2|G| ist insbesondere jk,1 , jk,2 . . . jk,nk konstante Folge.
Beweis: Für k = 2|G| folgt mit obigem Satz 2|G| = mk + 2nk . Mit Hilfsatz 6 ist |G| =
|Gk | + mk + nk , so daß sich damit 2|Gk | + 2mk + 2nk = mk + 2nk ergibt. Damit ist dann
2|Gk | + mk = 0, woraus Gk = ∅ und mk = 0 folgt und somit Fall d der Definition 5.8-10
zutrifft. Damit ist dann aber auch Gk+1 = ∅ und mk+1 = 0, so daß für alle k ≥ 2|G| stets
Fall d der Definition zutrifft und jk,1 , jk,2, . . . jk,nk = j2|G|,1 , j2|G|,2, . . . j2|G|,nk für alle k ≥ 2|G|
ist.
Sm
k1
Satz: Für jedes I ∈ G gibt es genau ein k1 , so daß I ∈ Gk für alle k < k1 , I ∈ l=1
{Iik1 ,l }
′
′
und I 6∈ Gk für alle k ≥ k1 , wobei mk1 > 0. Für I, I ∈ G, I 6= I gilt für die entsprechenden
k1 und k1′ , daß k1 6= k1′ .
(5.8-12)
Beweis: Da G0 ⊇ G1 ⊇ . . . G2|G| (wie leicht mittels der Definition 5.8-10 zu zeigen wäre) und
I ∈ G0 (da G0 = G) und I 6∈ G2|G| (da G2|G| = ∅ wie im Korollar zu Satz 5.8-11 gezeigt), gibt
es ein k1 , so daß I ∈ Gk1 −1 und I 6∈ Gk1 . Für dieses k1 liegt dann auch entweder Fall a oder
Fall c der ersten Phase in der Definition 5.8-10 vor, so daß mk1 > 0, sowie I = Iik1 +1,mk +1
1
Sm
k1
und damit dann I ∈ l=1
{Iik1 ,l }.
Es gibt genau ein k1 . Angenommen, es gäbe ein weiteres k1′ > k1 . Dann wäre I ∈ Gk1′ −1
und wegen obiger Teilmengenbeziehungen auch I ∈ Gk1′ −2 , I ∈ Gk1′ −3 , . . . I ∈ Gk1 , im
Widerspruch dazu, daß I 6∈ Gk1 .
Wie oben bereits angemerkt ist I = Iik1 +1,mk +1 und entsprechend ist I ′ = Iik′ +1,m ′ . Damit
1
1
wäre für k1 = k1′ auch I = I ′ , im Widerspruch zur Voraussetzung.
Sm
k +1
1
Sm
k2 −1
k2
Satz: Für jedes I ∈ G gibt es genau ein k2 , so daß I ∈ l=1
{Iik2 ,l }, I 6∈ l=1
{Iik2 ,l } und
Snk
I ∈ l=1 {Ijk,l } für alle k ≥ k2 . Für I, I ′ ∈ G, I 6= I ′ gilt für die entsprechenden k2 und k2′ ,
daß k2 6= k2′ .
(5.8-13)
S
S
Sn
2|G|
1
2
Beweis: Da nl=1
{Ij1,l } ⊆ nl=1
{Ij2,l } ⊆ . . . l=1
{Ij2|G|,l } (wie sich leicht anhand der DeSn1
Sn2|G|
finition 5.8-10 zeigen läßt), l=1 {Ij1,l } = ∅ (entsprechend 5.8-10) und l=1
{Ij1,l } = G
(entsprechend Satz 5.8-11 in Verbindung mit den Hilfssätzen 4–6) gibt es analog zur ArSnk2 −1
gumentation beim Beweis von Satz 5.8-12 genau ein k2 , so daß I 6∈ l=1
{Ijk2 −1,l } und
S nk
I ∈ l=1 {Ijk,l } für alle k ≥ k2 . Dem entspricht nur Fall b der Definition 5.8-10. Mit diesem
Smk2 −1
gilt I = Ijk2 ,nk = Iik2 −1,mk −1 , womit gezeigt ist, daß I ∈ l=1
{Iik2 −1,l }. Mit der in Hilfssatz
2
2
Smk
5 gezeigten Disjunktheit der Mengen ist außerdem I 6∈ l=1 {Iik,l } für alle k ≥ k2 .
Wie oben bereits bemerkt ist I = Ijk2 ,nk = Iik2 −1,mk −1 . Entsprechend ist aber auch I ′ =
2
2
Ijk′ ,n ′ = Iik′ −1,m ′ . Wäre nun k2 = k2′ , so wäre damit auch I = I ′ , im Widerspruch zur
2
k
2
2
k −1
2
Voraussetzung, daß I 6= I ′ . Also müssen k2 und k2′ verschieden sein.
Satz: Sei I ∈ G mit k1 und k2 wie mit 5.8-12 und 5.8-13 definiert. Dann ist
k1 < k2
(5.8-14)
104
5.8 Abhängigkeiten der I ∈ Hn voneinander
Der Beweis ergibt sich unmittelbar aus der mit Hilfssatz 5 gezeigten Disjunktheit der Mengen. Angenommen, k2 ≤ k1 . Dann wäre I ∈ Gk2 , da (entsprechend der Definition von k1 ) für
alle k ≤ k1 (und insbesondere k = k2 )gilt, daß I ∈ Gk . Andererseits wäre aber (entsprechend
S 2
S 2
der Definiton von k2 ) I ∈ kl=1
{Iik2 ,l }. Damit wären die Mengen Gk2 und kl=1
{Iik2 ,l } aber
nicht disjunkt — im Widerspruch zu Hilfssatz 5.
Hilfssatz 7: Sei I ∈ G mit k1 und k2 gemäß 5.8-12 bzw. 5.8-13. Dann ist für alle k, k1 ≤ k < k2
und alle l, 1 ≤ l ≤ mk1
mk1 ≤ mk
und
Iik,l = Iik1 ,l
(Damit kommt zum Ausdruck, daß die Folge Iik,1 , Iik,2 , . . . Iik,mk beim Übergang von k nach
k + 1 unverändert erhalten bleibt.)
Der Beweis wird mittels Induktion über k geführt.
(i) k = k1 . Damit ist mk = mk1 , also auch mk1 ≤ mk . Außerdem ist Iik,l = Iik1 ,l für alle l,
1 ≤ l ≤ mk1 und es gibt nichts weiter zu zeigen.
(ii) k > k1 (und k > k2 als zusätzliche Bedingung). Es wird nach den Fällen der ersten Phase
der Definition 5.8-10 unterschieden.
a) Es ist mk+1 = mk + 1. Mit der Induktionsvoraussetzung mk1 ≤ mk ist auch mk1 ≤ mk + 1.
Weiterhin ist ik+1,l = ik,l für alle l, 1 ≤ l ≤ mk , also auch Iik+1,l = Iik,l für alle l, 1 ≤ l ≤ mk .
Mit der Induktionsvoraussetzung ist Iik,l = Iik1 ,l für alle l, 1 ≤ l ≤ mk1 . Damit (und da, wie
gezeigt mk1 ≤ mk ) folgt Iik+1 ,l = Iik,l für alle l, 1 ≤ l ≤ mk1 .
b) Es wird nach mk > mk1 und mk = mk1 unterschieden. Ist mk > mk1 so ist mk1 ≤ mk − 1,
also mk1 ≤ mk+1 (entspreachend der Definition 5.8-10). Bezüglich der Iik1 ,l verläuft der BeSmk+1
weis wie bei a. Ist mk = mk1 , so wäre Ik,mk 6∈ l=1
{Ik+1,mk+1 } (wobei mk+1 = mk − 1,
S k
während der Induktionsvoraussetzung entsprechend Ik,mk ∈ m
l=1 {Ik+1,mk+1 } ist. Damit wäre
aber Satz entsprechend k = k2 , was im Widerspruch zu der Voraussetzung k > k2 steht. Der
Fall, daß mk = mk1 kann also nicht eintreten.
c) Der Beweis erfolgt wiederum wie bei a.
d) Hier gibt es nichts weiter zu zeigen, da die Behauptung beim Übergang von k nach k + 1
unmittelbar aus der Induktionsvoraussetzung folgt.
Hilfssatz 8: Für alle k ≥ 0 (der ersten Phase des Algorithmus 5.8-10) und alle l, 1 < l ≤ mk ,
gilt:
Iik,l ∈ GU (Iik,l−1 )
Der Beweis erfolgt mittels Induktion über k.
(i) k = 0. Da mk = 0, gibt es kein l, 1 < l ≤ mk , und es gibt nichts zu zeigen.
(ii) k > 0. Es wird entsprechend den vier Fällen der ersten Phase der Definition 5.8-10 unterschieden.
a) Da ik+1,l = ik,l und mk = mk+1 − 1 gilt die Behauptung entsprechend der Induktionsvoraussetzung auch für k + 1, nämlich Iik+1,l ∈ GU (Iik+1 ,l−1 ) für alle l, 1 < l ≤ mk+1 − 1.
Da Iik+1,mk+1 ∈ GU (Iik,mk ) und ik,mk = ik+1,mk+1 −1 gilt die Behauptung auch für l = mk+1 .
(Anmerkung: Mit der Voraussetzung mk 6= 0 ist garantiert, daß Iik,mk existiert.)
b) Es ist ik+1,l = ik,l für alle l, 1 ≤ l < mk , bzw., da mk+1 = mk − 1, für alle l, 1 ≤ l ≤ mk+1 .
105
5 Stochastische kontextfreie Grammatiken
Damit ergibt sich die Behauptung unmittelbar aus der Induktionsvoraussetzung (wobei im
Induktionsschritt die Aussage für l = mk = mk+1 + 1 wegfällt).
c) Hier gibt es (wie bei a) nichts zu zeigen, da mk = 1 und es somit kein l, 1 < l ≤ mk , gibt.
d) Die Behauptung ergibt sich unmittelbar aus der Induktionsvoraussetzung, da mk+1 = mk
und ik+1,l = ik,l für alle l, 1 < l ≤ mk .
Korollar: Für alle k gilt
Iik,mk ≺ Iik,mk −1 ≺ . . . Iik,1
Der Beweis ergibt sich unmittelbar aus der Definition von GU (I) (vgl. 5.8-9 und 5.8-2).
Hilfssatz 9: Für alle k gilt, daß für alle I ∈
Snk
l=1 {Ijk,l }
und alle I ′ ∈ Gk gilt
I ′ 6∈ GU (I)
Der Beweis kann mittels Induktion über k anhand der Definition der ersten Phase des Algorithmus 5.8-10 geführt werden.
S k
(i) k = 0. Da nk = 0 ist nl=1
{Ijk,l } = ∅ und es gibt nichts weiter zu zeigen.
(ii) k > 0. Es wird nach den vier Fällen der Definition unterschieden.
Snk+1
S k
a) Da l=1
{Ijk+1,l } = nl=1
{Ijk,l } und Gk+1 ⊂ Gk folgt die Behauptung unmittelbar aus der
Induktionsvoraussetzung.
S k
Snk+1
S k
{Ijk,l } und
b) Es ist l=1
{Ijk+1,l } = nl=1
{Ijk,l } ∪ {Iik,mk } und Gk+1 = Gk . Für alle I ∈ nl=1
alle I ′ ∈ Gk+1 folgt die Behauptung wiederum unmittelbar aus der Induktionsvoraussetzung.
Damit verbleibt die Behauptung noch für I = Iik,mk = Ijk+1,nk+1 zu zeigen: Entsprechend der
Voraussetzung GU (ik,mK ) ∩ Gk = ∅ des Falles b, gibt es kein I ′ ∈ Gk , so daß I ′ ∈ GU (Ik,mk )
und somit (da Gk+1 = Gk ) gibt es auch kein I ′ ∈ Gk+1 .
c) Der Beweis erfolgt analog zum Beweis für a.
Snk+1
d) Hier gibt es nichts zu zeigen, da l=1
{Ijk+1,l } und Gk+1 = Gk entspricht bereits die Induktionsvoraussetzung der Behauptung.
Korollar: Ist I ′ ∈ Gk , I ∈
Smk
l=1 {Iik,l }
Iˆ ∈
m
[k
und I ′ ≺ I, so gibt es ein
{Iik,l } so daß I ′ ≺ Iˆ ≺ I
l=1
Beweis: Da I ′ ≺ I gibt es eine Folge I0 , I1 , . . . Ic , so daß I0 := I ′ , Il−1 ∈ GU (Il ) für alle l,
S k
0 < l ≤ c und Ic := I. Angenommen I1 ∈ nl=1
{Ijk,l }. Da I0 ∈ Gk folgt mit Hilfssatz 9, daß
I0 6∈ GU (I1 ), was im Widerspruch zu der Eigenschaft der obigen Folge I0 , I1 , . . . Ic steht.
S k
Also ist (mit den Hilfssätzen 4 und 5) I1 ∈ m
l=1 {Iik,l } oder I1 ∈ Gk . Ist ersteres der Fall, so
ˆ
gäbe es nichts mehr zu zeigen, es wäre I = I1 . Ist zweiteres der Fall, so wird obiges Argument
S k
nochmals, diesmal auf I1 , angewendet. Dies wird solange fortgeführt, bis ein Iˆ ∈ m
l=1 {Iik,l } in
der Folge I0 , I1 , . . . Ic erreicht ist. Dies muß irgendwann der Fall sein, da sich ansonsten mit
Hilfssatz 9 schlielich ergäbe, daß Ic−1 6∈ GU (Ic ) wäre — im Widerspruch zur Voraussetzung.
Satz: Seien I, I ′ ∈ G, I 6= I ′ , mit I ′ ∈ GU (I) und I 6≺ I ′ . Für k2′ und k2 gemäß 5.8-13 gilt
k2′ < k2
(5.8-15)
106
5.8 Abhängigkeiten der I ∈ Hn voneinander
Für den Beweis werden zwei Fälle entsprechend der Relation zwischen k1 und k1′ (gemäß
5.8-12) unterschieden (wobei k1 6= k1′ , da I 6= I ′ ).
Smk2 −1
1. k1′ < k1 . Angenommen, es wäre k2 < k2′ . Dann ist I, I ′ ∈ l=1
{Iik2 −1,l }. Es ist ja
′
I = Iik1 ,mk und I = Iik′ ,m ′ und mit Hilfssatz 7 ist auch I = Iik2 −1,mk −1 , I ′ = Iik2 −1,m ′ und
1
1
k
1
1
k
1
mk1′ ≤ mk1 < mk2 (wobei mk1′ 6= mk1 ). Mit dem Korollar zu Hilfssatz 8 ist Iik2 −1,mk −1 ≺
1
Iik2 −1,m ′ , also I ≺ I ′ , im Widerspruch zur Voraussetzung. Also muß k2′ < k2 sein. (k2′ = k2
k
1
ist nicht möglich, da I ′ 6= I.)
2. k1 < k1′ . Als Grundlage für die folgende Argumentation wird zuvor mittels Induktion über
k gezeigt, daß mk1 ≤ mk und I = Iik,mk für alle k, k1 ≤ k ≤ k1′ .
1
(i) k = k1 . Da mk = mk1 ist auch mk1 ≤ mk . Weiterhin ist 5.8-12 entsprechend I = Iik1 ,mk
1
und somit I = Iik,mk .
1
(ii) k > k1 (und k ≤ k1′ ). Es wird nach den vier Fällen der ersten Phase des Algorithmus
5.8-10 unterschieden.
a) Es ist mk+1 = mk + 1 und da mk1 ≤ mk folgt mk1 ≤ mk+1 . Da für alle l, 1 ≤ l ≤ mk gilt,
daß ik+1,l = ik,l , ist insbesondere (mit l := mk1 ) ik+1,mk1 = ik,mk und somit I = Iik+1,mk .
1
b) Der Induktionsvoraussetzung entsprechend ist mk1 ≤ mk , womit zwei Fälle unterschieden
werden können.
α) mk1 < mk . Dann ist mk1 ≤ mk − 1 und somit mk1 ≤ mk+1 . Weiterhin ist für alle l, 1 ≤ l < mk auch ik+1,l = ik,l und insbesondere (da wie vorausgesetzt mk1 < mk )
ik+1,mk1 = ik,mk1 und somit I = Iik+1,mk .
1
β) mk1 = mk . Da der Induktionsbeweis für alle k ≤ k1′ geführt werden soll, kann insbesondere
k + 1 ≤ k1′ , also k < k1′ vorausgesetzt werden. Damit ist (5.8-13 entsprechend) I ′ ∈ Gk und
somit (da GU (Iik,mk ) = GU (Iik,mk ) = GU (I) und I ′ ∈ GU (I)) ist GU (Iik,mk ) ∩ Gk 6= ∅. Damit
1
kann Fall β nicht vorliegen.
c) Dieser Fall mit mk = 0 ist nicht möglich, da 0 < mk1 (vgl. 5.8-12) und der Induktionsvoraussetzung entsprechend mk1 ≤ mk ist, also 0 < mk .
d) Dieser Fall ist ebenfalls nicht möglich; es gilt das Gleiche wie bei c.
Hiermit ist nun gezeigt, daß mk1 ≤ mk und I = Iik,mk für alle k, k1 ≤ k ≤ k1′ . Insbesondere
1
ist mk1 ≤ mk1′ und I = Iik′ ,m . Dies stellt die Grundlage für die folgende Argumentation
k1
1
geschaffen.
Angenommen, daß k2 < k2′ . Mit Hilfsatz 7 ist Iik,l = Iik′ ,l für alle l ≤ mk1′ und alle k,
1
k1′ ≤ k < k2′ . Da mk1 ≤ mk1′ ist damit I = Iik2 ,mk also auch I ∈
Snk2
1
Smk2
l=1
{Iik2 ,l }. Andererseits
ist 5.8-13 entsprechend I ∈ l=1 {Ijk2,l }. Dies stellt einen Widerspruch zu Hilfssatz 6 dar,
S n k2
Smk2
{Ijk2 ,l } disjunkt sind.
{Iik2 ,l } und l=1
demzufolge l=1
Also muß k2′ < k2 sein. (k2 = k2′ kommt 5.8-13 entsprechend nicht in Frage, da I 6= I ′ .)
Anmerkung: Wegen der Monotonie von nk (in k) ist mit k2′ < k2 dann nk2′ ≤ nk2 (wobei
nk2′ = nk2 nicht möglich, da I ′ 6= I); also steht in der Folge Ijk,1 , Ijk,2 , . . . (k ≥ k2 ) dann
I ′ = Ijk,n ′ links von I = Ijk,nk .
k
2
2
Satz: Seien I, I ′ , I ′′ ∈ G, I 6= I ′′ , mit I ′ ∈ GU (I), I ′′ ∈ G≺≻ (I ′ ) und I 6≺ I ′′ . Für k2′′ und k2
gemäß 5.8-13 gilt
k2′ < k2
(5.8-16)
107
5 Stochastische kontextfreie Grammatiken
Für den Beweis werden zwei Fälle entsprechend der Relation zwischen k1 und k1′′ (gemäß
5.8-12) unterschieden (wobei k1 6= k1′′ , da I 6= I ′′ ).
1. k1′′ < k1 . Angenommen, k2 < k2′′ . Dann ist I ′′ = Iik′′ ,m ′′ = Iik2 −1,m ′′ , I = Iik1 ,mk = Iik2 −1,mk
1
k
k
1
1
1
1
und mk1′′ ≤ mk1 mit 5.8-12, 5.8-13 und Hifssatz 7. Mit dem Korollar zur Hilfssatz 8 ist dann
(da mk1′′ ≤ mk1 und I 6= I ′′ ) Iik2 −1,mk ≺ Iik2 −1,m ′′ , also I ≺ I ′′ im Widerspruch zur Vorausk
1
2
setzung. Also muß k2′′ < k2 sein (da Gleichheit nicht möglich ist).
2. k1 < k1′′ . Mit Satz 5.8-15 ist k2′ < k2 . (wobei I ′ = Ijk′ ,m ′ ). Es wird nun die Situati2
k
2
Sn
k2 −1
on für k := k2 − 1 betrachtet. Dann ist (5.8-13 entsprechend) I ′ ∈ l=1
{Ijk2 −1,l } und
Smk2 −1
I ∈ l=1 {Iik−2,−1,l }. Außerdem ist I = Iik1 ,mk = Iik2 −1,mk = Iik2 −1,mk −1 , wobei sich die
2
1
1
erste Gleichheit mit Hilfssatz 7 ergibt und die zweite sich aus der Definition von k2 in 5.8-13
und Fall b der ersten Phase des Algorithmus 5.8-10 ergibt.
Bezüglich I ′′ werden nun zwei Fälle unterschieden.
Snk2 −1
α) I ′′ ∈ l=1
{Ijk2 −1,l }. Mit 5.8-13 ist dann k2′′ ≤ k2 − 1, also k2′′ < k2 .
S
mk−2−1
β) I ′′ 6∈ l=1
{Ijk2 −1,l }. Von diesem Fall wird nun gezeigt, daß er zum Widerspruch führt
und somit nicht möglich ist. Da I ′′ ∈ G≺≻ (I ′ ) ist u.a. I ′′ ≺ I ′ und es existiert eine Folge
I0 , I1 , I2 , . . . Id (von Elementen aus G), d > 0, I0 := I ′′ , Id := I ′ und Il−1 ∈ GU (Il ) für
alle l, 0 < l ≤ d (für d = 0 wäre I ′′ = I ′ und Fall β wäre nicht möglich). Es existiert nun
Smk2 −1
ein c, 0 ≤ c < d, so daß Ic ∈ l=1
{Iik2 −1 ,l }. Angenommen, dies wäre nicht der Fall, so
Snk2 −1
wären alle Il , 0 ≤ l ≤ d, entweder Element von Gk2 −1 oder l=1
{Ijk2 −1 }. Sei Ib das jenige
Snk2 −1
Folgenglied mit dem kleinsten Index l, das Element von l=1 {Ijk2−1 } ist. (Ein solches Ib
existiert; u.U. ist b := d zu wählen.) Dann ist Ib−1 Element von Gk2 −1 . Dies stellt jedoch
einen Widerspruch zu Hilfssatz 9 dar, da Ib−1 ∈ GU (Ib ). Somit gibt es ein c, 0 ≤ c ≤ d (es gilt
Smk2 −1
sogar 0 ≤ c < d), so daß Ic ∈ l=1
{Iik2 −1 ,l }. (Wenn c = 0, dann wäre Ic = I ′′ .) Damit gibt
es ein l0 , 1 ≤ l0 ≤ mk2 −1 , so daß Ic = Iik2 −1,l0 . Damit ist nun entweder Ic = Iik2 −1,mk −1 = I
2
oder (mit dem Korollar zu Hilfssatz 8) I ≺ Ic . Entsprechend obiger Folge I0 , I1 , I2 , . . . Ic ,
. . . Id ist Ic ≺ I ′ und da I ′ ≺ I ′′ (da I ′′ ∈ G≺≻ (I ′ )) folgt schließlich I ≺ I ′′ . Dies stellt
den gewünschten Widerspruch dar (da I 6≺ I ′′ Voraussetzung des Satzes ist), womit die
Unmöglichkeit des Falles β gezeigt ist.
Somit verbleibt nur der Fall α und es ist k2′′ < k2 .
Satz: Es gibt (in der zweiten Phase des Algorithmus 5.8-10) ein K := K̂, so daß
K̂
[
GK̂,i = G
i=1
(5.8-17)
Beweis: Wie leicht zu sehen ist (und mittels Induktion über K gezeigt werden könnte) ist
SmK+1
GK+1,i ⊆ G. Aufgrund dieser Teilmengenrelation und der Endlichkeit
i=1 GK,i ⊆
i=1
von G muß es ein K̂ geben, so daß für alle K ≥ K̂ die Teilmengen nicht mehr größer werden,
SmK+1
S K
GK+1,i gilt. Es wird gezeigt, daß dieses K̂ die im Satz geforderte
also m
i=1 GK,i =
i=1
S
Eigenschaft hat. Angenommen, daß diese nicht erfüllt ist und K̂
i=1 GK̂,i 6= G ist. Dann liegt
entweder Fall a oder Fall b der zweiten Phase des Algorithmus 5.8-10 vor, wobei sich jeweils
ein Widerspruch ergibt:
SmK̂+1
SmK̂
SmK̂
GK̂+1,i , im Widerspruch
GK̂,i ⊂ i=1
GK̂,i = ∅ ist i=1
a) Es ist ∂GK̂ 6= ∅ und da ∂GK̂ ∩ i=1
SmK
108
5.8 Abhängigkeiten der I ∈ Hn voneinander
zu der obigen Gleichheit beider Mengen.
SmK̂
GK̂,i ist auch hier (nach entsprechender
b) Da GK̂+1,1 = {IjK̂,l } und IjK̂,l } 6∈ i=1
K̂+1
K̂+1
Sm
Sm
K̂+1
K̂
GK̂+1,i .
GK̂,i ⊂ i=1
Berücksichtigung der Indextransformation GK̂+1,i+1 := GK̂,i ) i=1
Dies stellt ebenfalls einen Widerspruch zu der obigen Gleichheit beider Mengen dar.
S
Also kann nicht K̂
i=1 GK̂,i 6= G sein, womit der Satz gezeigt ist.
Hilfssatz 10: Für alle K ≥ 0 ist
Ij2|G|,lK ∈ GK,1
Der Beweis erfolgt mittels Induktion über K.
(i) K = 0. Dann ist lK = |G| und Ij2|G|,|G| ∈ G0 , 1.
(ii) K > 0. Hier wird nach den drei Fällen der zweiten Phase des Algorithmus 5.8-10 zu
unterschieden.
a) Da lK = lK−1 und GK−1 ⊆ GK folgt die Behauptung direkt aus der Induktionsvoraussetzung.
b) Hier ist GK , 1 = {Ij2|G|,lK }, woraus sich unmittelbar die Behauptung ergibt.
c) Da lK = LK−1 und GK,1 = GK−1,1 ergibt sich die Behauptung unmittelbar aus der Induktionsvoraussetzung.
Hilfssatz 11: Für alle K gilt, daß für alle Ij2|G|,l ∈ GK,1
l ≤ lK
ist.
S
K
Der Beweis erfolgt mittels Induktion über K, wobei G \ m
i=1 GK,i betrachtet wird, und eingeht, daß für alle Elemente Ij2|G|,l aus dieser Menge, sowie aus ∂GK gilt, daß l ≤ lK .
S|G|
(i) K = 0. Da G = l=1 {Ij2|G|,l } (s.a. den Beweis zu dem Korollar zu Satz 5.8-11) gilt sicherlich für alle Ij2|G|,l ∈ G, sowie alle Ij2|G|,l ∈ ∂G0 , daß l ≤ |G| und somit auch (da lK = |G|)
l ≤ lK . Da Ij2|G|,|G| einziges Element von GK,1 gibt es nichts weiter zu zeigen.
(ii) K > 0. Hier wird nach den drei Fällen der zweiten Phase der Definition 5.8-10 unterschieden.
a) Es ist lK = lk−1 . Der Induktionsvoraussetzung nach gilt für alle Elemente von GK−1,1 und
∂GK−1 , daß l ≤ lK . Da GK Vereinigungsmenge dieser beiden Mengen ist, gilt auch für diese
SmK−1
S K
l ≤ lK . Da G \ i=1
GK−1,i ⊆ G \ m
von GK−1,1, während
i=1 GK,i (denn GK,1 ist Teilmenge
SmK
für i, 1 < i ≤ mK , GK,i = GK−1,i ist), ist gilt auch für G \ i=1 GK,i, daß l ≤ lK . Da ∂GK
Teilmenge dieser Menge ist, gilt auch für deren Elemente l ≤ lK .
SmK−1
b) lK ist explizit als Maximum alle l, für die Ij2|G|,l ∈ G \ i=1
GK−1,i, definiert. Da Ij2|G|,l
einziges Element von GK,1 ist, gibt es hier nichts weiter zu zeigen. Daß l ≤ lK für die EleS K
der ersten Menge, ergibt sich aus der
mente aus G \ m
i=1 GK,i und aus ∂GK , einer Teilmenge
SmK
SmK−1
Definition von lK und der Tatsache, daß G \ i=1 GK,i Teilmenge von G \ i=1
GK−1,i ist.
c) Wegen der Gleichheit lK = lK−1 und der Gleichheit der beteiligten Mengen beim Übergang von K − 1 auf K folgt die Behauptung unmittelbar mit der Induktionsvoraussetzung.
Hilfssatz 12: Für alle K gilt, daß für alle I ∈ ∂GK ein Iˆ ∈ GK,1 existiert, so daß Iˆ ∈ GU (I).
109
5 Stochastische kontextfreie Grammatiken
Der Beweis erfolgt mittels Induktion über K. (i) K = 0. Es ist ∂G0 ⊆ GO (Ij2|G|,|G| ). Mit
Iˆ := Ij2|G|,|G| und Definition 5.8-9 folgt die Behauptung.
(ii) K > 0. Hier wird nach den drei Fällen der zweiten Phase der Definition 5.8-11 unterschieden.
S
ˆ Damit gibt es für jedes I ∈ ∂GK ein Iˆ in ∂GK−1 , so daß
a) Es ist ∂GK ⊆ I∈∂G
GO (I).
ˆ
K−1
Iˆ ∈ GU (I) und da ∂GK−1 ⊆ GK gilt die Behauptung.
b) Mit Iˆ := Ij2|G|,lK ist nicht nur Iˆ ∈ GK,1, sondern auch für jedes I ∈ ∂GK ist Iˆ ∈ GU (I),
womit die Behauptung gilt.
c) Da sich beim Übergang von K − 1 nach K nichts ändert, ergibt sich die Behauptung
unmittelbar aus der Induktionsvoraussetzung.
Hilfssatz 13: Für alle K ≥ 0 gilt, daß es zu jedem I ∈ GK,1 , I 6= Ij2|G|,lK , ein K̄ < K gibt, so
daß I ∈ ∂GK̄ .
Beweis: Zu jedem K gibt es ein lK und weiterhin ein KlK ≤ K, wo dieses lK zum ersten
”
Mal in der Folge der lK auftritt“, also KlK := min {K ′ | lk′ = lK }. Wie leicht zu sehen ist
(und mit Induktion gezeigt werden könnte), ist nun für alle K:
GK,1 = {Ij2|G|,lK } ∪ ∂GKlK ∪ GKlK +1 ∪ . . . GK−1
Als Korollar ergibt sich, daß es zu jedem I ∈
I ∈ ∂ K̄.
S2|G|
l=1
{Ij2|G|,l \
SK̂
K=0 {I2|G|,lK },
S
ein K̄ gibt, so daß
S2|G|
Der Beweis ergibt sich unmittelbar, wenn die Vereinigungsmenge K̂
i=1 GK̂,i = l=1 {Ij2|G|,l } =
G betrachtet wird. Dann gibt es zu jedem I ∈ G ein I, so daß I ∈ GĜ,i ist. Für dieses i gibt
es weiterhin ein K, so daß GĜ,i = GK,1 ist. Der Rest folgt dann direkt mit dem Hilfssatz.
Hilfssatz 14: Sei K ≥ 0, I ∈
SmK
j=2 GK,j ,
I′ ∈ G \
SmK
j=2
GK,j . Dann ist
I 6≺ I ′
Der Beweis erfolgt mittels Induktion über K.
S K
(i) K = 0. Hier ist m
j=2 GK,j = ∅, womit es nichts zu zeigen gibt.
(ii) Hier wird nach den drei Fällen der zweiten Phase der Definition 5.8-10 unterschieden.
SmK−1
S K
a) Da mK = mK−1 und GK,j = GK−1,j für alle j, 2 ≤ j ≤ mK , ist m
j=2 GK,j = j=2 GK−1,j ,
so daß mit der Induktionsvoraussetzung die Behauptung sofort auch für K gilt.
SmK1
GK−1,j und alle I ∈ GK−1,1 gilt, daß I 6≺ I ′ .
b) Es wird gezeigt, daß für alle I ′ ∈ G \ j=1
Angenommen, daß wäre nicht der Fall. Dann gäbe es eine Folge I0 , I1 , . . . Id , d > 0, I0 := I,
Il−1 ∈ GU (Il ) für 0 < l ≤ dk, und Id := I ′ . I0 ist der Voraussetzung nach in GK−1,1. Mit
Hilfssatz 13 gibt es dann ein K̄ < K − 1, so däs I0 ∈ ∂GK̄ . I1 kann nicht Element von
SmK̄
entsprej=2 GK̄,j sein, da sonst mit der Induktionsvoraussetzung I0 6≺ I1 wäre, während
SmK̄
chend obiger Folge jedoch I0 ≺ I1 . Also ist entweder I1 ∈ GK̄,1 oder I1 ∈ G \ j=1
GK̄,j und
damit dann I1 ∈ ∂GK̄+1 . Da K̄ < K − 1 ist K̄ + 1 ≤ K − 1 und da ∂GK−1 = ∅ muß sogar
110
5.8 Abhängigkeiten der I ∈ Hn voneinander
K̄ + 1 < K − 1 sein. Damit ist dann auch I1 ∈ GK̄+1,1 und somit auch I1 ∈ GK−1,1 . Die Argumentation wie zuvor für I0 und I1 kann nun bezüglich I1 und I2 wiederholt werden, usw.,
SmK−1
bis schließlich gezeigt ist, daß auch I ′ ∈ GK−1,1. Damit gilt nun für alle I ∈ j=1
GK−1,j
SmK−1
′
′
und I ∈ G \ j=1 GK−1,j daß I 6≺ I . (Für j > 1 gilt dies mit der Induktionsvoraussetzung
SmK−1
SmK−1
und aufgrund der Tatsache, daß G \ j=1
GK−1,j ⊆ G \ j=2
GK−1,j .) Mit den Transformationen in b, nämlich mK := mK−1 + 1 und GK,j := GK−1,j−1 für alle j, 1 < j ≤ mK−1 + 1
folgt dann die Behauptung auch für K.
c) Hier gibt es entsprechend der Argumentation bei a auch nichts weiter zu zeigen.
Satz: Für alle K ≥ 0, i 6 j, 1 ≤ i ≤ mK und 1 ≤ j ≤ mK gilt
GK,i ∩ GK,j = ∅
(5.8-18)
Der Beweis erfolgt mittels Induktion über K, wobei eingeht, daß ∂GK ∩ GK,i = ∅ für alle i,
1 ≤ i ≤ mK .
(i) K = 0. Es ist mK = 1. Da Ij2|G|,|G| einziges Element von G0,1 und ausdrücklich aus ∂G0
ausgenommen ist, ist ∂GK ∩ GK,i = ∅ für alle i, 1 ≤ i ≤ mK . Weiterhin gibt es kein i 6= j,
1 ≤ i ≤ mK und 1 ≤ j ≤ mK , womit es nichts weiter zu zeigen gibt.
(ii) K > 0. Hier wird nach den drei Fällen der zweiten Phase der Definition 5.8-10 unterschieden.
a) Da jede Menge GK,i für alle i, 1 ≤ i ≤ mK ausdrücklich aus ∂GK ausgenommen ist, ist
∂GK ∩GK,i = ∅. Die Behauptung GK,i ∩GK,j = ∅ gilt mit der Induktionsvoraussetzung bereits
für alle i, j, 2 ≤ i ≤ mK und 2 ≤ j ≤ mK . Es verbleibt noch der Fall i = 1, j ≥ 2, zu betrachten. (j = 1 kann, da j 6= i und i und j vertauscht werden können, außer Betracht bleiben.) Es
ist GK,1 ∩GK,j = (GK−1,1 ∪∂GK−1 ) ∩GK−1,j = (GK−1,1 ∩GK−1,j ) ∪(∂GK−1 ∩GK−1,j ) = ∅ ∪∅.
Hierbei sind beide Schnittmengen aufgrund der Induktionsvoraussetzung leer, wobei für die
zweite die zusätzlich eingeführte Aussage ∂GK−1 ∩ GK−1,i = ∅ eingeht.
b) Betreffs der Behauptung mit ∂GK ist genauso wie bei Fall a zu argumentieren. Ebenso
ist wiederum mit der Induktionsvoraussetzung GK,i ∩ GK,j = ∅ für alle i ≥ 2 und j ≥ 2. Es
verbleibt der Fall i = 1; hier ist aber wiederum GK,1 ∩ GK,j = ∅, j ≥ 2, da Ij2|G|,lK einziges
Element von GK,1, das ausdrücklich nicht Element von GK−1,j , 1 ≤ j ≤ mK−1 , und somit
auch nicht Element von GK,j , 2 ≤ j ≤ mK , ist.
c) Hier gibt es nichts zu zeigen; mit der Induktionsvoraussetzung geht die Gültigkeit der
Behauptung für K − 1 unmittelbar auf die Behauptung für K über.
Es kann nun gezeigt werden, daß die Folge GK̂,1 , GK̂,2 , . . . GK̂,m die Bedingungen der
K̂
Definition 5.8-8 erfüllt.
Satz: Sei 1 ≤ i ≤ mK , 1 ≤ j ≤ mK und i < j. Dann ist für alle I ′ ∈ GK,i und alle I ∈ GK,j
I 6≺ I ′ (A)
und für alle I, I ′ ∈ GK,i, I 6= I ′ gilt
I ′ ≺ I und I ≺ I ′ (B)
(5.8-19)
111
5 Stochastische kontextfreie Grammatiken
Der Beweis erfolgt mittels Induktion über K.
(i) K = 0. Da mK = 1 und GK,1 nur ein einziges Element enthält, gibt es nichts weiter zu
zeigen.
(ii) K > 0. Hier wird nach den drei Fällen der zweiten Phase der Definition 5.8-10 unterschieden.
a) Sei I ∈ GK,j und I ′ ∈ GK,i, i < j. Für i ≥ 2 ergibt sich Teil A der Behauptung mit der
Induktionsvoraussetzung. Es verbleibt daher nur der Fall, daß i = 1 ist, zu betrachten. Hier
ergibt sich Teil A der Behauptung dann mit Hilfssatz 14.
Seien I, I ′ ∈ GK,1 . (Es ist außerdem I = Ij2|G|,l und I ′ = Ij2|G|,l′ , da beides Elemente aus
S|G|
G = l=1 {Ij2|G|,l } sind.) Dann sind I und I ′ Elemente von GK−1,1 oder ∂GK−1 . Trifft ersteres für I und I ′ zu, dann gilt Teil B der Behauptung bereits mit der Induktionsvoraussetzung.
Es wird nun der Fall I ∈ ∂GK−1 betrachtet. Dann gibt es mit Hilfssatz 12 ein Iˆ ∈ GK−1,1,
so daß Iˆ ∈ GU (I). Bezüglich Iˆ werden nun zwei Fälle unterschieden.
α) Iˆ = Ij2|G|,lK−1 =: I ′′ . Angenommen, es sei I 6≺ Ij2|G|,lK−1 . Dann ist mit Satz 5.8-15 k2′′ < k2 ,
also jk2 ,mk′′ < jk2 ,mk2 , was im Widerspruch zur Hilfssatz 11. Also muß I ≺ Ij2|G|,lK−1 sein.
2
Andererseits ist, da Iˆ ∈ GU (I), Ij
≺ I.
2|G|,lK−1
ˆ Angenommen, es
β) Iˆ 6= I ′′ . Dann ist mit der Induktionsvoraussetzung Iˆ ≺ I ′′ und I ′′ ≺ I.
ˆ Mit Satz 5.8-16 ist dann k ′′ < k2 , was genauso wie in α zum Widerspruch führt.
sei I 6≺ I.
Also muß auch I ≺ I ′′ sein. Andererseits ist aber auch Iˆ ∈ GU (I), also Iˆ ≺ I und wegen
I ′′ ≺ Iˆ ist dann I ′′ ≺ I.
I ′ ist nun entweder ebenfalls Element von GK−1,1, womit dann mittels der Induktionsvoraussetzung I ′ ≺ I ′′ und I ′′ ≺ I ′ ist, oder es ist I ′ ∈ ∂GK−1 , womit dann analog den Überlegungen
für I auch I ′ ≺ I ′′ und I ′′ ≺ I ′ ist. Durch Verketten der entsprechenden Relationen für I
und I ′ ergibt sich nun I ≺ I ′′ ≺ I ′ und I ′ ≺ I ′′ ≺ I, womit Teil B der Behauptung gezeigt
ist.
b) Da GK,i = GK−1,i−1 für alle i, 1 < i ≤ mK , gilt die Teil A der Behauptung für i ≥ 2 und
j ≥ 2 bereits aufgrund der Induktionsvoraussetzung. Es verbleibt noch der Fall i = 1. Hier
ergibt sich dann Teil A der Behauptung mittels Hilfssatz 14.
Für Teil B gibt es nichts weiter zu zeigen, da GK,1 nur ein einziges Element enthält.
c) Hier gibt es nichts weiter zu zeigen, da GK,i = GK−1,i für alle i, 1 ≤ i ≤ mK und somit
die Behauptung unmittelbar aus der Induktionsvoraussetzung erfolgt.
Satz: Die mit Algorithmus 5.8-10 erhaltene Folge GK̂,1 , GK̂,2 , . . . GK̂,m erfüllt die BedinK̂
gungen der Definition 5.8-8.
(5.8-20)
Beweis:
1.
SmK̂
i=1
GK̂,i = G gilt mit Satz 5.8-17.
2. GK̂,i ∩ GK̂,j = ∅ gilt mit Satz 5.8-18.
3. Für alle I ∈ G existiert sicherlich ein i, 1 ≤ i ≤ mK̂ , denn mit Satz 5.8-17 ist G
Vereinigungsmenge alle GK̂,i . Da mit 5.8-19 für alle I ′ ∈ GK,i, I ∈ GK,j , i < j,
I 6≺ I ′ gilt, kann kein Element von G≺ (I ′ ) Element von irgendeinem GK,j sein. Also
S
muß (insbesondere für K := K̂) G≺ (I ′ ) ⊆ ik=1 GK̂,k sein. Ebenso kann kein Element
112
5.8 Abhängigkeiten der I ∈ Hn voneinander
I ′ ∈ G≺≻ (I) Element von GK,k , k < i sein, da I ≺ I ′ . (Wäre I ′ ∈ GK,k , müßte I 6≺ I ′
S
sein.) Damit muß dann auch G= (I) 6⊆ i−1
≻ (I) folgt damit
k=1 Gk sein. Da G= (I) ⊆ G≺
übrigens G= (I) = GK,i für alle I ∈ GK,i.
Komplexitätsbetrachtung des Algorithmus 5.8-10.
Es wird angenommen, daß für jedes I ∈ G die entsprechenden Mengen GU (I) und GO (I)
bekannt sind. (Ansonsten sind diese Mengen leicht aus dem mit dem Earleyschen Algorithmus erhaltenen Hypergraphen (Hn , hn ) (in kubischer Zeit O(|G|3 ) zu erhalten, da mit
(I ′ , I, I ′′ ) ∈ hn es zu jedem der |G| Elemente I höchstens |G| Vorläuferelemente I ′ und I ′′
gibt. Diese Zeit verbessert sich sogar zu O(|G|), wenn angenommen wird, daß |GU (I)| und
|GO (I)| beide durch eine Konstante nach oben beschränkt sind.)
Schritt i der ersten Phase läßt sich sicherlich in konstanter Zeit durchführen. Dies gilt sicherlich auch für die Operationen der Fälle a, b und c im Schritt ii. (Der Fall d kann außer
Betracht bleiben, da hier nur noch die Konstanz der beteiligten Folgen festgestellt werden
muß.) Die limitierende“ Operation ist daher die Feststellung welcher der vier Fälle vorliegt.
”
Test auf 0 bzw. Vorliegen der leeren Menge kann auch als in konstanter Zeit durchführbar
vorausgesetzt werden. Die hier anscheinend bei jedem Schritt erforderliche Berechnung der
Schnittmenge kann umgangen werden, wenn jedes Element I 6∈ Gk markiert wird. Dieses
Markieren muß nicht für jedes k erfolgen, sondern nur für k1 (vgl. 5.8-12), also dann, wenn
das betreffende Element I aus der Menge Gk entnommen“ wird. Wegen der Monotonie der
”
Folge Gk (damit ist gemeint, daß Gk+1 ⊆ Gk für alle k) ist dieses Markieren pro Element I
nur einmal erforderlich. Damit reduziert sich der Test, ob die Schnittmenge leer ist, darauf,
festzustellen, ob es unmarkierte Elemente in GU (Imk−1 ) gibt. Dies ist in linearer Zeit O(|G|)
möglich (und, wenn angenommen wird, daß |GU (I)| nicht durch |G|, sondern eine Konstante
beschränkt ist, sogar in konstanter Zeit. Mit dem Korollar zu 5.8-11 wurde gezeigt, daß für
k ≥ 2|G| die beteiligten Folgen konstant sind; der Fall a oder b also höchstens 2|G|-mal
auftreten können. Damit ist die erste Phase des Algorithmus in höchstens O(|G|2 ) Schritten
abgeschlossen, und unter der Annahme, daß |GU (I)| durch eine Konstante beschränkt ist,
sogar in linearer Zeit O(|G|).
Schritt i der zweiten Phase läßt sich in konstanter Zeit durchführen. Die Tests, um die Fälle
a, b und c zu unterscheiden, sind ebenfalls in konstanter Zeit möglich, da diese jeweils auf
SmK−1
die Feststellung zurückgeführt werden können, ob die Menge i=1
GK−1,i genauso viele
Elemente wie G und ob die Menge ∂GK−1 kein Element enthält. Das Bilden der Vereinigungsmenge von GK−1,1 und ∂GK−1 kann in O(|∂GK−1 |) Schritten erfolgen. Da die Mengen
GK,i zu einander disjunkt sind (vgl. 5.8-18) ist hierfür der Gesamtaufwand über die gesamte zweite Phase hinweg höchstens O(|G|) (da die Vereinigung über alle GK,i letztendlich
(d.h. für K := K̂) gleich G ist (vgl. 5.8-17). Die Bildung der Vereinigungsmenge über alle
GO (I) für I ∈ ∂GK−1 erfordert einen Aufwand von O(|∂GK−1 | · |GO (I)|), da bei Bilden
der Vereinigungsmenge für jedes Element in GO (I) festgestellt werden muß, ob es der Vereinigungsmenge bereits angehört oder ihr noch hinzugefügt werden muß. Insgesamt gibt es
|∂GK−1 | derartiger Mengen, so daß der Aufwand über die gesamte zweite Phase hinweg
insgesamt O(|G| · |GO (I)|) beträgt. Die Anzahl der Elemente in allen Mengen ∂GK−1 ist
höchstens |G|, da kein Element mehreren dieser Mengen angehört (vgl. Hilfssatz 13). Für die
Bildung der Differenzmenge gilt Ähnliches wie für die Bildung der Schnittmenge in der ersten
SmK+1
GK+1,i kann für jedes Element
Phase; durch sukzessives Markieren der Elemente von i=1
S
in der Vereinigungsmenge I∈∂GK−1 GO (I) in konstanter Zeit festgestellt werden, ob es der
113
5 Stochastische kontextfreie Grammatiken
Sm
K+1
Menge i=1
GK+1,i angehört und falls ja, in ebenfalls konstanter Zeit entfernt werden. Der
Aufwand für die Differenzmengenbildung fällt daher nicht ins Gewicht. Da die Operationen
in Fall b in ebenfalls konstanter Zeit ausgeführt werden können, ist der Gesamtaufwand für
SmK+1
diese höchstens O(|G|) (da i=1
GK+1,i streng monoton wächst und bei jedem Schritt um
mindestens ein Element zunimmt). Ausgenommen hiervon ist die Bestimmung von ∂GK−1 ,
was aber insgesamt (wie bei Fall a) einen Aufwand von O(|G| · |GO (I)|) erfordert. Der Aufwand im Fall c ist ohnehin zu vernachlässigen. Der Gesamtaufwand für die zweite Phase des
Algorithmus ist also O(|G| · |GO (I)|), was O(|G|2 ) oder (bei Annahme der Beschränkung
von |GO (I)| durch eine Konstante) wiederum O(|G|) ist.
Der Gesamtaufwand (erste und zweite Phase) für Algorithmus 5.8-10 beträgt also O(|G|2)
bzw. O(|G|) (wenn |GU (I)| und |GO (I)| durch Konstanten beschränkt sind).
5.9 Der Algorithmus zur Berechnung von q(I)
In diesem Abschnitt soll der Algorithmus zur Berechnung der in 5.7-1 definierten Wahrscheinlichkeiten q(I), I ∈ Hn , beschrieben werden. Hierfür werden zuerst einige Begriffe
eingeführt, um nach bestimmten Kriterien eingeschränkte Ableitungen bzw. die entsprechenden Ableitungsbäume beschreiben und einige Sätze für diese beweisen zu können. Die
hierbei beschrittene Vorgehensweise entspricht weitgehend der in Abschnitt 5.6 Auf hier eingeführte Definitionen wird daher hier Bezug genommen. Mit der so geschaffenen Grundlage
wird es schließlich möglich sein, Aussagen über gewisse Zwischengrößen“ zu machen, so daß
”
der Algorithmus beschrieben und seine Korrektheit bewiesen werden kann.
Zuvor sollen noch einige Definitionen und Sätze eingeführt werden.
Sei der zu α0 gehörende Ableitungsbaum R = (K, k) entsprechend Definition 5.6-1. Sei
R′ = (K ′ , k ′ ) ein beliebiger Teilbaum von R. (Anm.: Im folgenden wird die Knotennumeriung
eines Baumes für dessen Teilbäume übernommen.) Ist R′ endlicher Teilbaum, so wird jedem
Knoten Kr von R, der auch Knoten von R′ ist eine Zahl wie folgt zugeordnet:
′
q (u | Kr ) :=




 P
0
1
x|1≤x≤nA ∧Krx ∈K ′
wenn Kr Blatt und σ(Kr ) 6= u
wenn σ(Kr ) = u
qj,x q ′ (u|Krx ) wenn Kr innerer Knoten
(5.9-1a)
Dies stellt die Verallgemeinerung der Definition 5.6-4 auf Teilbäume dar. Man beachte die
letzte Zeile der Definition. (Es ist schließlich bei Teilbäumen von Ableitungsbäumen nicht
sicher gestellt, daß jeder Nachfolgerknoten von Kr auch Knoten von R′ ist.)
Um im folgenden keine Fallunterscheidung für Knoten von R machen zu müssen, je nachdem,
ob sie Knoten von R′ sind oder nicht, wird q ′ (u|Kr ) auf ganz R fortgesetzt, indem für alle
Knoten Kr definiert wird
q ′ (u|Kr ) := 0 wenn Kr 6∈ R′
(5.9-1b)
114
5.9 Algorithmus zur Berechnung von q(I)
Satz: Sei R′ (beliebiger) Teilbaum von R und Rt′ Teilbaum von R′ entsprechend Definition
5.6-5. Für alle Knoten Kr von Rt′ , t ≥ 0, gilt
0 ≤ qt′ (u|Kr )
(5.9-2)
Hierbei wird qt′ (u|Kr ) mittels Definition 5.6-4, angewandt auf den Baum Rt′ , bestimmt.
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu Kr gehörenden Unterbaums von
Rt′ .
(i) l = 0. Dann ist Kr Blatt und gemäß Definiton 5.9-1a ist (je nachdem, ob σ(Kr ) 6= u oder
σ(Kr ) = u) qt′ (u|Kr ) = 0 oder qt′ (u|Kr ) = 1. Damit ist auf jeden Fall 0 ≤ qt′ (u|Kr ) und die
Induktionsverankerung sichergestellt.
(ii) l > 0. Dann ist Kr innerer Knoten und es gibt (mindestens) einen Nachfolgerknoten
Krx , der auch Knoten von Rt′ ist. Für derartige Nachfolgerknoten ist die Tiefe des zu ihnen
gehörenden Unterbaums geringer als l und somit gilt mit Induktionsvoraussetzung:
0 ≤ qt′ (u|Krx )
Nach Multiplikation mit qA,x und Summation über alle entsprechenden Ungleichungen folgt
X
x|1≤x≤nA ∧Krx ∈K ′
0≤
X
qA,x qt′ (u|Krx )
x|1≤x≤nA ∧Krx ∈K ′
Und mit Definition 5.9-2 ergibt sich unmittelbar:
0 ≤ qt′ (u|Kr )
Damit ist der Induktionsschritt durchgeführt.
Mit i und ii ist Satz 5.9-2 bewiesen.
Satz: Sei R′ = (K ′ , k ′ ) beliebiger, aber endlicher Teilbaum von R = (K, k) und R′′ = (K ′′ , k ′′ )
beliebieger Teilbaum von R′ . Dann gilt für alle Knoten Kr , die auch Knoten von R′′ sind,
q ′′ (u|Kr ) ≤ q ′ (u|Kr )
(5.9-3)
Der Beweis wird mittels Induktion über die Tiefe l des zu Kr gehörenden Unterbaums von
R′′ geführt.
(i) l = 0. Dann ist Kr Blatt von R′′ . Es werden zwei Fälle unterschieden.
a) σ(Kr ) 6= u. Dann ist (gemäß 5.9-1a) q ′′ (u|Kr ) = 0, während mit 5.9-2 gilt 0 ≤ q ′ (u|Kr ).
b) σ(Kr ) = u. Dann ist (gemäß 5.9-1a) q ′′ (u|Kr ) = 1. Außerdem hat Kr dann auch in R′
und R′ keine Nachfolgerknoten, muß also ebenfalls Blatt von R′ sein., so daß (wiederum mit
5.9-1a) auch q ′ (u|Kr ) = 1.
In beiden Fällen ist also q ′′ (u|Kr ) ≤ q ′ (u|Kr ).
(ii) l > 0. Dann ist Kr innerer Knoten von R′′ und hat Nachfolgerknoten Krx in R′′ . Diese sind
aber auch Knoten von R′ (da R′′ Teilbaum von R′ ). Der zu diesen gehörenden Unterbaum
hat eine geringere Tiefe, so daß der Induktionsvoraussetzung entsprechend gilt
q ′′ (u|Krx ) ≤ q ′ (u|Krx )
115
5 Stochastische kontextfreie Grammatiken
Nach Multiplikation mit der den Kanten (Kr , Krx ) zugeordneten Wahrscheinlichkeiten qA,x
und Summation über alle Nachfolgerknoten von Kr in R′′ ergibt sich
X
x|1≤x≤nA ∧Krx ∈K ′′
qA,x · q ′′ (u|Krx )
≤
X
x|1≤x≤nA ∧Krx
∈K ′′
qA,x · q ′ (u|Krx )
Da R′′ Teilbaum von R′ ist, ist K ′′ ⊆ K ′ und damit
X
x|1≤x≤nA ∧Krx
∈K ′′
qA,x · q ′ (u|Krx )
≤
X
x|1≤x≤nA ∧Krx ∈K ′
qA,x · q ′ (u|Krx )
Indem diese beiden Ungleichungen verkettet, dann das mittlere Glied weggelassen und Definition 5.9-1a (auf beiden Seiten) angewendet wird, ergibt sich
q ′′ (u|Kr ) ≤ q ′ (u|Kr )
Mit i und ii folgt die Behauptung des Satzes 5.9-3.
Sei R′ beliebiger Teilbaum von R. Seien Rt′ und Rt nun Teilbäume von R′ bzw. R gemäß
Definition 5.6-5. Dann ist offensichtlich Rt′ auch Teilbaum von Rt . Weiterhin ist auch Rt′
′
Teilbaum von Rt+1
. Als Korollar von Satz 5.9-3 ergibt sich damit
qt′ (u|Kr ) ≤ qt (u|Kr ) (A)
und
′
(u|Kr ) (B)
qt′ (u|Kr ) ≤ qt+1
wobei qt′ (u|Kr ) durch Anwendung von Definition 5.6-4 bzw. Definition 5.9-1a (beide Defini′
tionen fallen hier zusammen) auf den Baum Rt und qt′ (u|Kr ) und qt+1
durch 5.6-4 angewendet
′
′
auf Rt bzw. Rt+1 erhalten wird.
Damit kann nun q ′ (u|Kr ) (analog der Vorgehensweise bei Definition 5.6-6) auf Teilbäume R′
unbegrenzter Tiefe fortgesetzt werden.
Definition:
q ′ (u|Kr ) := lim qt′ (u|Kr )
t→∞
(5.9-4)
(Mit A ist die Folge qt′ (u|Kr ) durch qt (u|Kr ) nach oben begrenzt und es ist
lim q ′ (u|Kr )
t→∞ t
≤ lim qt (u|Kr )
t→∞
Da der Grenzwert limt→∞ qt (u|Kr ) existiert und gemäß B die Folge qt′ (u|Kr ) monoton wächst,
existiert auch der mit obiger Definition erklärte Grenzwert.)
Die bisher eingeführten Definitionen und Sätze werden es ermöglichen, das folgende Iterationsverfahren zur Berechnung von q(I) zu beweisen. Für dieses werden drei Gleichungen
angegeben werden, die den drei Fällen der Sätze 5.8-3, 5.8-4 und 5.8-5 entsprechen.
116
5.9 Algorithmus zur Berechnung von q(I)
Für alle punktierten Regeln I ∈ Hn wird jeweils eine Folge q0 (I), q1 (I), q2 (I), . . . usw. wie
folgt definiert:
Ist I linkspunktierte Regel, also I = A→.α, j, j so ist
q0 (I)
:= q(A→.α, j, j)
qs+1 (I) := qs (I) für s ≥ 0
(5.9-5a)
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so ist für alle s ≥ 0:
qs (I) := qs (I ′ )
(5.9-5b)
(Anmerkung: Die Minimalitätsbedingungen des Earleyschen Algorithmus garantieren, daß
zu jedem I ∈ Hn auch ein entsprechendes I ′ ∈ Hn existiert.)
Ist I = A→αB.β, i, j und B 6= Uj (und damit muß B ∈ N sein, da sonst I ∈
/ Hn (wiederum
aufgrund der Minimalitätsbedingungen des Earleyschen Algorithmus)):
q0 (I)
:= 0
P
P
′
′′
′
′′
qs+1 (I) :=
I ′′ ∈Hn δ(I , I, I )qs (I )qs (I ) für s ≥ 0
I ′ ∈Hn
(5.9-5c)
Hierbei ist δ(I ′ , I, I ′′ ) = 1 ⇐⇒ (I ′ , I, I ′′ ) ∈ hn und δ(I ′ , I, I ′′ ) = 0 ⇐⇒ (I ′ , I, I ′′ ) ∈
/ hn .
Satz: Für alle s ≥ 0 ist
0 ≤ qs (I) ≤ q(I)
(5.9-6)
Der Beweis erfolgt mittels Induktion, wobei bei Induktionsverankerung und Induktionsschritt
jeweils nach den drei Fällen der Definition 5.9-5 unterschieden wird und im Fall b eine Induktion über die Länge einer Zeichenkette durchgeführt wird. Weiterhin wird bei der Anwendung
verschiedener Sätze vorausgesetzt, daß zu den betrachteten Zeichenfolgen entsprechende Ableitungsbäume existieren.
(I) s = 0. Vorbemerkung: Gemäß Definition 5.8-1 ist
q(I) = q(A→α.β, i, j) := q(A→αβ)q(ui+1 . . . uj |α)
Da q(A→αβ) ≥ 0 (als einer Regel zugeordneten Wahrscheinlichkeit) und q(ui+1 . . . uj |α) ≥ 0
mit Sätzen 5.6-7 und 5.6-10 ist q(I) ≥ 0.
a) I ist linkspunktierte Regel. Dann ist q0 (I) := q(A→.α, j, j) = q(A→α) = q(I) mit Satz
5.7-3 und die Behauptung folgt unmittelbar.
b) Es ist I = A→αB.β und B = Uj . Es wird eine Induktionsbeweis über |α|, die Anzahl der
Symbole links vom Punkt, durchgeführt.
(i) |α| = 0. Dann ist definitionsgemäß (5.9-5b) q0 (A → B.β, i, j) = q0 (A → .Bβ, i, j − 1)
(A). Da A → .Bβ, i, j − 1 linkspunktierte Regel ist, ist, wie in Teil a bereits gezeigt, 0 ≤
117
5 Stochastische kontextfreie Grammatiken
q0 (A → .Bβ, i, j − 1) ≤ q(A → .Bβ, i, j − 1) (B). Andererseits ist mit Satz 5.7-4 auch
q(A → .Bβ, i, j − 1) = q(A → B.β, i, j) (C). Die Behauptung folgt nun aus B, indem der
mittlere Term gemäß A und der rechte gemäß C ersetzt wird.
(ii) |α| > 0. Dann ist α := α′ A′ , mit α′ ∈ (N ∪ Σ)∗ und A′ ∈ N ∪ Σ. Gemäß Definition ist
nun q0 (A→α′ A′ B.β, i, j) = q0 (A→α′ A′ .Bβ, i, j − 1) (A).
Es werden nun zwei Fälle nach A′ ∈ Σ oder nicht unterschieden:
1. A′ ∈ Σ. Dann ist A = Uj−1 . (A 6= Uj−1 kommt nicht in Frage, da sonst (mit Satz 5.4-12)
α′ A′ ⇒∗ Ui+1 . . . Uj−1 , im Widerspruch zu A 6= Uj+1 .) Weiterhin ist dann gemäß Defininiton
5.9-5b auch q0 (A→α′ A′ .Bβ, i, j − 1) = q0 (A→α′ .A′ Bβ, i, j − 2) (1A). Gemäß Induktionsvoraussetzung ist 0 ≤ q0 (A→α′.A′ Bβ, i, j − 2) ≤ q(A→α′ .A′ Bβ, i, j − 2) (1B). Und mit Satz
5.7-3 ist q(A→α′ .A′ Bβ, i, j − 2) = q(A→α′A′ .Bβ, i, j − 1) (1C). Indem der mittlere Term
von 1B gemäß 1A und der rechte gemäß 1C ersetzt wird, wird 0 ≤ q0 (A→α′ A′ .Bβ, i, j − 1) ≤
q(A→α′ A′ .Bβ, i, j − 1) (B) erhalten.
2. A′ ∈
/ Σ, also A′ 6= Uj . Dann trifft Definition 5.9-5c zu und es ist (wie in c) gezeigt werden
wird) wiederum 0 ≤ q0 (A→α′ A′ Bβ, i, j − 1) ≤ q(A→α′ A′ .Bβ, i, j − 1) (B).
Nach dieser Fallunterscheidung wird noch festgestellt, daß Satz 5.7-3 liefert q(A→α′ A′ .Bβ, i, j−
1) = q(A→α′ A′ B.β, i, j) (C).
Wird gemäß A bzw. C der mittlere bzw. rechte Term in B ersetzt, so ergibt sich die Behauptung.
c) Es ist I = A→αB.β, i, j (wobei B 6= Uj ). Gemäß der Definition 5.9-5b ist q0 (I) = 0. Nach
Vorbemerkung ist 0 ≤ q(I) und die Behauptung folgt unmittelbar.
(II) s > 0.
a) Da gemäß Definition 5.9-5a gilt, daß qs+1 (I) = qs (I) und gemäß Induktionsvoraussetzung
0 ≤ qs (I) ≤ q(I) ist, folgt 0 ≤ qs+1 (I) ≤ q(I).
b) Der Beweis erfolgt analog zu (I).
(i) |α| = 0. Dann ist I = A→B.β, i, j und gemäß Definition 5.9-5b ist qs+1 (A→B.β, i, j) =
qs+1 (A → .Bβ, i, j − 1) (A). Für den rechten Term gilt die Behauptung 0 ≤ qs+1 (A →
.Bβ, i, j − 1) ≤ q(A→.Bβ, i, j − 1) (B), wie in a gezeigt wurde. Mit Satz 5.7-4 ist q(A→
B.β, i, j = q(A→.Bβ, i, j −1) (C). Indem in B entsprechend der Gleichungen A und C ersetzt
wird, folgt die Behauptung.
(ii) |α| > 0. Dann ist α := α′ A′ . Gemäß Definition ist qs+1 (A→α′ A′ B.β, i, j) = qs+1 (A→
α′ A′ .Bβ, i, j − 1) (A). Es werden wiederum zwei Fälle unterschieden.
1. A′ = Uj−1 . Mit Definition 5.9-5b ist dann qs+1 (A → α′ A′ .Bβ, i, j − 1) = qs+1 (A →
α′ .A′ Bβ, i, j − 2) (1A). Für den rechten Term gilt mit der Induktionsvoraussetzung 0 ≤
qs+1 (A → α′ .A′ Bβ, i, j − 2) ≤ q(A → α′ .A′ Bβ, i, j − 2) (1B). Für den rechten Term dieser
Gleicht gilt mit Satz 5.7-4, daß q(A→α′ .A′ Bβ, i, j − 2) = q(A→α′ A′ .Bβ, i, j − 1) (1C). Indem
in der Ungleichungskette 1B gemäß den Gleichungen 1A und 1C ersetzt wird, ist der Induktionsschritt vollzogen und es ist 0 ≤ qs+1 (A→α′ A′ .Bβ, i, j − 1) ≤ q(A→α′ A′ .Bβ, i, j − 1) (B).
2. A′ 6= Uj−1 . Dann liegt der Fall der Definition 5.9-5c vor und es ist, wie in c gezeigt werden
wird, 0 ≤ qs+1 (A→α′ A′ .Bβ, i, j − 1) ≤ q(A→α′ A′ .Bβ, i, j − 1) (B).
Weiterhin ist mit Satz 5.7-4 wiederum q(A→α′ A′ .Bβ, i, j − 1) = q(A→α′ A′ B.β, i, j) (C). Indem in der Ungleichungskette B entsprechend den Gleichungen A und C ersetzt wird, ergibt
sich 0 ≤ qs+1 (A→α′ A′ B.β, i, j) ≤ q(A→α′ A′ B.β, i, j) womit auch im Fall b der Induktionsschritt gewährleistet ist.
c) Gemäß Induktionsvoraussetzung ist 0 ≤ qs (I ′ ) ≤ q(I ′ ) und 0 ≤ qs (I ′′ ) ≤ q(I ′′ ). Nach Multiplikation beider Ungleichungsketten miteinander und anschließender Multiplikation mit
118
5.9 Algorithmus zur Berechnung von q(I)
δ(I ′ , I, I ′′ ) und Summation über I ′′ ∈ Hn und I ′ ∈ Hn ergibt sich daraus
0≤
X
X
I ′ ∈Hn I ′′ ∈Hn
δ(I ′ , I, I ′′ )qs (I ′ )qs (I ′′ ) ≤
X
X
δ(I ′ , I, I ′′ )q(I ′ )q(I ′′ )
I ′ ∈Hn I ′′ ∈Hn
Mit Definition 5.9-5c und Satz 5.7-5 können der mittlere bzw. der rechte Term ersetzt werden
und es folgt 0 ≤ qs+1 (I) ≤ q(I).
Es ist also in allen den drei Teilen der Definition 5.9-5 entsprechenden Fällen sowohl der
Induktionsschritt, als auch die Induktionsverankerung gewährleistet und somit die Behauptung 5.9-6 bewiesen.
Zum Beweis des nächsten Satzes werden die folgende Definition und Hilfssätze benötigt.
Definition: Sei Rα = (Kα , kα) der zu α und RαUj = (KαUj , kαUj ) der zu αUj gehörende
Ableitungsbaum mit den jeweiligen Teilbäumen Rα,t bzw. RαUj ,t und den Wurzelknoten
Kα, 1 bzw. KαUj ,1 . Für diese Bäume werden die Abbildungen Φ : KαUj →Kα und φ : KαUj →Kα
festgelegt, wobei Φ und φ wie folgt definiert sind:
1. Φ(KαUj ,1 ) := Kα,1
2. Ist KαUj ,r Knoten von RαUj und Kα,s Knoten von Rα mit Φ(KαUj ,r ) = Kα,s und ist
KαUj ,rx Nachfolgerknoten von KαUj ,r für die Regel A→γx und ist Kα,sy Nachfolgerknoten von Kα,s für (diesselbe) Regel A→γx, so ist Φ(Kα Uj , rx ) := Kα,sy . Für die Kanten
gilt φ(KαUj ,r , KαUj ,rx ) := (Φ(KαUj ,r ), Φ(KαUj ,rx ).
(5.9-7)
Anmerkung: Diese Abbildung stellt eine Isomorphiebeziehung zwischen den beiden Bäumen
her.
Hilfssatz 1: Für alle Knoten KαUj ,r von RαUj gilt
σ(KαUj ) = σ(Φ(KαUj ,r ))
Der Beweis erfolgt mittels Induktion über die Pfadlänge l := KαUj ,1 KαUj ,j .
(i) l = 0. Dann ist σ(KαUj ,1 ) = αUj entsprechend der Definition des Ableitungsbaums. Genauso (und mit Definition von Φ) ist σ(Φ(KαUj ,1 )) = σ(Kα,1 ) = α.
(ii) l = 0. Sei σ(KαUj ,r ) = uAβUj , u ∈ Σ∗ , A ∈ N, β ∈ (N ∪ Σ)∗ . Für den Nachfolgerknoten
KαUj ,rx ) (wobei A→γx die der Kante (KαUj ,r , KαUj ,rx ) zugeordnete Regel ist) ist aufgrund
der Konstruktion des Ableitungsbaumes (RαUj ) dann σ(KαUj ,rx ) = uγx βUj (A).
Sei Φ(KαUj ,r ) = Kα,s . Mit Induktionsvoraussetzung ist σ(KαUj ,r ) = σ(Φ(KαUj ,r ))Uj , so daß
σ(Φ(KαUj ,r ) = σ(Kα,s ) = uAβ sein muß. Wiederum nach Konstruktion des Ableitungsbaumes (hier Rα ) ist σ(Kα,sy ) = uγx β (B).
Mit der Definition von Φ ist Kα,sy = Φ(KαUj ,rx ) (C).
Durch Ersetzen von Kα,sy in B gemäß C ergibt sich σ(Φ(KαUj ,rx )) = uγx β, was in A eingesetzt die Behauptung liefert: σ(KαUj ,rx ) = σ(Φ(KαUj ,rx ))u.
Damit ist der Induktionsschritt gewährleistet.
Mit i und ii ist der Hilfssatz gezeigt.
119
5 Stochastische kontextfreie Grammatiken
Hilfssatz 2: Für alle Knoten KαUj , r von RαUj gilt
qt (ui+1 . . . uj |KαUj ,r ) = qt (ui+1 . . . uj−1 |Φ(KαUj ,r ))
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu KαUj ,r gehörenden Unterbaums
von RαUj ,t .
(i) l = 0. Dann ist KαUj ,r Blatt von RαUj ,t und es ist (wegen der Isomorphie der beiden
Ableitungsbäume) auch Φ(KαUj ,r ) Blatt von Rα,t . Es werden zwei Fälle unterschieden.
a) σ(KαUj ,r ) 6= ui+1 . . . uj . Dann ist qt (ui+1 . . . uj |KαUj ,r ) = 0. Ebenfalls ist auch σ(Φ(KαUj ,r ))
6= ui+1 . . . uj−1. (Wenn σ(Φ(KαUj ,r ) = ui+1 . . . uj−1 wäre mit Hilfssatz 1 σ(Φ(KαUj ,r )uj =
σ(KαUj ,r ) = ui+1 . . . uj im Widerspruch zur Voraussetzung des Falles a.) Dann ist auch
qt (ui+1 . . . uj−1|Φ(KαUj ,r )) = 0.
b) σ(KαUj ,r ) = ui+1 . . . uj . Dann ist (mit Hilfssatz 1) auch σ(Φ(KαUj ,r )) = ui+1 . . . uj−1 und
es ist q(ui+1 . . . uj |KαUj ,r ) = 1 und und q(ui+1 . . . uj |Φ(KαUj ,r )) = 1.
(ii) l > 0. Für die Nachfolgerknoten von KαUj ,r und Φ(KαUj ,r ) =: Kα,s gilt mit Induktionsvoraussetzung
qt (ui+1 . . . uj |KαUj ,rx ) = qt (ui+1 . . . uj−1|Φ(KαUj ,rx ))
Nach Multiplikation mit qA,x und Summation über alle x, 1 ≤ x ≤ nA , ergibt sich:
nA
X
x=1
qA,x · qt (ui+1 . . . uj |KαUj ,rx ) =
nA
X
x=1
qA,x · qt (ui+1 . . . uj−1 |Φ(KαUj ,rx ))
Mit der Isomorphie ergibt sich
nA
X
x=1
qA,x · qt (ui+1 . . . uj |KαUj ,rx ) =
nA
X
x=1
qA,x · qt (ui+1 . . . uj−1|(Kα,sy )
was zu
qt (ui+1 . . . uj |KαUj ,r )qt (ui+1 . . . uj−1|(Kα,s )
bzw.
qt (ui+1 . . . uj |KαUj ,r )qt (ui+1 . . . uj−1|Φ((Kα,r ))
zusammengefaßt werden kann, womit der Induktionsschritt gewährleistet ist.
Mit i und ii ist Hiflssatz 2 bewiesen.
Als Korollar ergibt sich
q(ui+1 . . . uj |KαUj ,r ) = q(ui+1 . . . uj−1|Φ(KαUj ,r ))
was unmittelbar aus dem Hilfssatz mit dem Grenzwert für t → ∞ folgt.
Als weiteres Korollar ergibt sich
q(ui+1 . . . uj−1|Kα,1 ) = q(ui+1 . . . uj |Φ(KαUj ,1 ))
Dies ergibt sich für r := 1 und mit Φ(KαUj ,1 ) = Kα,1 (Definition von Φ).
Definition: Sei Rβ = (Kβ , kβ ) der zu β ∈ (N ∪ Σ)∗ gehörende Ableitungsbaum. Sei Kβ,i
ein Knoten von Rβ mit der zugeordneten Satzform γ := σ(Kβ,i ). Der zu dieser gehörende
Ableitungsbaum werde mit Rγ := (Kγ , kγ ), Kγ ⊆ Kβ , kγ ⊆ kγ . bezeichnet. Der zu Kβ,i
gehörende Unterbaum von Rβ wird nun mit den Funktionen Φγ : Kβ →Kγ und φγ : kβ →kγ
auf den Baum Rγ abgebildet:
120
5.9 Algorithmus zur Berechnung von q(I)
1. Φγ (Kβ,i ) = Kγ,1 , wobei Kγ,1 die Wurzel von Rγ ist.
2. Sei Kβ,j Knoten von Rβ und Kβ,jx dessen der Regel A→γx entsprechende Nachfolgerknoten. Sei Kγ,k Knoten von Rγ und Kγ,kx dessen ebenfalls der Regel A→γx entsprechende Nachfolgerknoten. Sei ferner Φγ (Kβ , j) = Kγ,k . Dann ist Φγ (Kβ , jx ) := Kγ,kx .
Für die Kanten wird festgesetzt φγ ((Kβ,j , Kβ,jx )) := (Φγ (Kβ,j ), Φγ (Kβ,jx )).
(5.9-8)
Anmerkung: Der zu Kβ,i gehörende Unterbaum von Rβ ist offensichtlich isomorph zu dem
Baum Rγ , denn beide sind Ableitungsbäume von γ = σ(Kβ,i ).
Satz 3: Sei t ≥ 0. Sei Kβ,i Knoten von Rβ mit Kβ,1 Kβ,i ≤ t. Sei weiterhin Rγ der zu
γ := σ(Kβ,i gehörende Ableitungsbaum. Rβ,t und Rγ,t−Kβ,1 Kβ,i seien Teilbäume von Rβ und
Rγ gemäß der Definition 5.6-5.
Dann ist der zu Kβ,i gehörende Unterbaum von Rβ,t isomorph zu dem Teilbaum Rγ,t−Kβ,1 Kβ,i .
(5.9-9)
Beweis: Da der zu Kβ,i gehörende Unterbaum und Rγ isomorph sind (vgl. die Anmerkung
nach Definition 5.9-7), reicht es zu zeigen, daß deren Teilbäume mit Φγ (Definition 5.9-7)
aufeinander abgebildet werden. Hierfür wird gezeigt, daß 1. wenn der Knoten Kj des zu Ki
gehörenden Unterbaums von Rβ,t ist, dann der Knoten Φγ (Kβ,j ) Knoten von Rγ,t−Kβ,1 Kβ,i ist
und daß 2. wenn der Knoten Φγ (Kβ,j ) Knoten von Rγ,tKβ,1 Kβ,i ist, der Knoten Kj Knoten
des zu Ki gehörenden Unterbaums von Rβ,t ist.
Für den Knoten Kβ,j des zu Kβ,i gehörenden Unterbaums von Rβ,t existiert ein Pfad von
Kβ,1 nach Kβ,j und es ist
Kβ,1 Kβ,j = Kβ,1 Kβ,i + Kβ,i Kβ,j A
1. Kβ,s ist Knoten von Rβ,t und mit Definition 5.6-5 heißt das, daß Kβ,1 Kβ,j ≤ t, woraus mit
A folgt
Kβ,1 Kβ,i + Kβ,iKβ,j ≤ t
Dies ist äquivalent zu
Kβ,i Kβ,j ≤ t − Kβ,1 Kβ,i
Wegen der Isomorphie des zu Kβ,i gehörenden Unterbaums von Rβ und Rγ ist Kβ,i Kβ,j
= Φγ (Kβ,i)Φγ (Kβ,j ) ist damit
Φγ (Kβ,i )Φγ (Kβ,j ) ≤ t − Kβ,1 Kβ,i
Da Φγ (Kβ,i ) := Kγ,1 Wurzel von Rγ ist somit Φγ (Kβ,j ) Knoten von Rγ,t−Kβ,1 Kβ,i .
2. Φγ (Kβ,j ) ist Knoten von Rγ,t−Kβ,1 Kβ,i , es ist also
Kγ,1 Φγ (Kβ,j ) ≤ t − Kβ,1 Kβ,i
Mit Kγ,1 =: Φγ (Kβ,i) ist dies äquivalent zu
Φγ (Kβ,i)Φγ (Kβ,j ) + Kβ,1 Kβ,i ≤ t
121
5 Stochastische kontextfreie Grammatiken
Wegen der Isomorphie des zu Ki gehörenden Unterbaums von Rβ und Rγ ist Φγ (Kβ,i)Φγ (Kβ,j )
= Kβ,i Kβ,j . Dies in die Ungleichung eingesetzt und mit A zusammengefaßt ergibt Kbeta,1 Kβ,j
≤ t, womit Kβ,j Knoten von Rβ,t ist.
Mit 1 und 2 ist gezeigt, daß unter der Abbildung Φγ alle Knoten des zu Kβ,i gehörenden Unterbaums von Rβ,t auf die Knotenmenge von Rγ,t−Kβ,1 Kβ,i abgebildet werden und umgekehrt
jeder Knoten von Rγ,t−Kβ,1 Kβ,i durch eine solche Abbildung erreicht“ wird. Damit ist Satz
”
5.9-9 bewiesen.
Hilfssatz 3: Sei Rα,β Doppelableitungsbaum mit dem Knoten K1 als Wurzel, wobei β ∈
Σ∗ N(N ∪ Σ)∗ . Seien weiterhin Rαβ,t , Rα,t und Rβ,t Teilbäume entsprechend Definition 5.6-5
der Ableitungsbäume Rαβ , Rα bzw. Rβ . Dann gilt für alle Knoten Kr von Rα,β
qt+1 (ui+1 . . . uj |Φ(Kr )) ≤
j
X
k=i
qt (ui+1 . . . uk |Φα (Kr ))qt+1 (uk+1 . . . uj |Φβ (Kr ))
Hierbei sind die Ableitungen Φ, Φα und Φβ gemäß 5.6-12, 5.6-15 und 5.6-17 definiert.
Beweis: Ist Φ(Kr ) nicht Knoten von Rαβ,t+1 dann ist die linke Seite der zu beweisenden
Ungleichung gleich 0 und es gibt nichts weiter mehr zu zeigen (vgl. Definition 5.9-1b). Ansonsten wird ein Induktionsbeweis über die Tiefe l des zu Φ(Kr ) gehörenden Unterbaums
von Rαβ,t+1 geführt.
(i) l = 0. Φ(Kr ) ist Blatt von Rαβ,t+1 , womit Φ(K1 )Φ(Kr ) ≤ t + 1. Es werden zwei Fälle
unterschieden.
a) σ(Φ(Kr )) = ui+1 . . . uj . Dann gibt es ein k ′ , so daß σ(Φα (Kr )) = ui+1 . . . uk′ und σ(Φβ (Kr ))
= Uk′ +1 . . . uj (vgl. Satz 5.6-19). Dann ist σ(Φβ (Kr )) ∈ Σ∗ und es muß Φβ (Kr ) 6= Kβ,1 sein
(da β 6∈ Σ∗ gemäß Voraussetzung des Hilfssatzes). Dann ist Φβ (K1 )Φβ (Kr ) ≥ 1 und mit
Satz 5.6-20 folgt Φα (K1 )Φα (Kr ) < t + 1, also Φα (K1 )Φα (Kr ) ≤ t, womit Φα (Kr ) Knoten von
Rα,t ist. Da σ(Φα (Kr )) ∈ Σ∗ ist Φα (Kr ) sogar Blatt von Rα,t . Mit analoger Überlegung muß
Φβ (Kr ) auch Blatt von Rβ,t+1 sein. Mit Definition 5.9-1a ist
qt+1 (ui+1 0 . . . uj |Φ(Kr ))
= qt (ui+1 . . . uk |Φα (Kr )
= qt+1 (uk+1 . . . uj |Φβ (Kr )) =
(
0 für k =
6 k′
1 für k = k ′
Damit ist der linke Term das Produkt der beiden übrigen; die Ungleichung (es gilt sogar
Gleichheit) ergibt sich durch Summation über alle k, i ≤ k ≤ j.
b) σ(Φ(Kr )) 6= ui+1 . . . uj . Dann ist qt+1 (ui+1...uj |Φ(Kr )) = 0, womit die linke Seite der
Ungleichung gleich 0 und diese damit erfüllt ist.
(ii) l > 0. Dann ist Φ(Kr ) innerer Knoten von Rαβ,t+1 und hat Nachfolgerknoten ΦKrx ,x . Für
diese gilt die Induktionsvoraussetzung
qt+1 (ui+1 . . . uj |Φ(Krx ) ≤
j
X
k=i
qt (ui+1 . . . uk |Φα (Krx )qt+1 (uk+1 . . . uj |Φβ (Krx ))
Es werden zwei Fälle danach unterschieden ob Φα (Krx ) Knoten von von Rα,t ist oder nicht.
a) Ist Φα (Krx ) nicht Knoten von Rα,t , so ist qt (ui+1 . . . uk |Φα (Krx )) = 0 (gemäß 5.9-1b) womit
die gesamte rechte Seite der Ungleichung gleich 0 ist. (Da die Pfadlänge von der Wurzel bis
zu Φα (Krx ) für alle x, 1 ≤ x ≤ nA , diesselbe ist, sind entweder alle Nachfolgerknoten von
122
5.9 Algorithmus zur Berechnung von q(I)
Φα (Kr ) Knoten von Rα,t oder keiner.) Damit ist aber die linke Seite der Ungleichung für alle
x, 1 ≤ x ≤ nA , nach oben durch 0 beschränkt und es ist qt+1 (ui+1 . . . uj |Φ(Krx )) = 0. Nach
Multiplikation mit qA,x und Summation über x ergibt sich hieraus
nA
X
x=1
qA,x qt+1 (ui+1 . . . uj |Φ(Krx )) = qt+1 (ui+1 . . . uj |Φ(Krx )) = 0
womit die Ungleichung für Kr erfüllt ist.
b) Ist andererseits Φα (Krx ) Knoten von Rα,t , dann kann obige Ungleichung auf beiden Seiten
mit QA,x multipliziert und anschließend über alle x summiert werden.:
nA
X
x=1
qA,x qt+1 (ui+1 . . . uj |Φ(Krx )) ≤
nA
X
qA,x
x=1
j
X
k=i
qt (ui+1 . . . uk |Φα (Krx ))qt+1 (uk+1 . . . uj |Φβ (Krx ))
Nach Distribution des Faktors qA,x und anschließendem Vertauschen der Summationen auf
der rechten Seite werden zwei Fälle unterschieden.
α) σ(Φ(Kr )) ∈ Σ∗ . Dann ist Φβ (Krx ) = Φβ (Kr ), womit auch qt+1 (uk+1 . . . uj |Φβ (Krx )) =
qt+1 (uk+1 . . . uj |Φβ (Kr )) und als konstanter Faktor ausgeklammert werden kann.
nA
X
x=1
qA,x qt+1 (ui+1 . . . uj |Φ(Krx )) ≤
j
X
k=i
qt+1 (uk+1 . . . uj |Φbeta (Kr ))
nA
X
x=1
qA,x qt (ui+1 . . . uk |Φα (Krx ))
Mit Definition 5.9-1 können die Summationen über x umgeschrieben werden und es ergibt
sich die Behauptung.
β) σ(Φ(Kr )) ∈ Σ∗ . Dann ist Φα (Krx ) = Φα (Kr )) und der Beweis wird analog zum Fall α
geführt.
Mit α und β ist der Induktionsschritt ii in b und mit a insgesamt gewährleistet.
Mit i und ii ist Hilfssatz 3 gezeigt.
Der folgende Satz stellt einen Zusammenhang zwischen der mit der Iteration 5.9-5 erhaltenen
Wahrscheinlichkeiten und der auf Teilbäumen Rα,s der Tiefe s (gemäß Definition 5.6-9) des
Ableitungsbaums Rα mittels Definion 5.9-1a ermittelten Wahrscheinlichkeiten her.
Sei I = A→α.β, i, j und Kα,1 die Wurzel von Rα . Dann ist
q(A→αβ)qs (ui+1 . . . uj |Kα,1 ) ≤ qs (A→α.β, i, j)
(5.9-10)
Hierbei ist q(A → αβ) die Wahrscheinlichkeit, mit mit der die Regel A → αβ attributiert
ist. Es sei darauf hingewiesen, daß der Index s bei Termen der Form qs (ui+1 . . . uj |Kα,1 )
(auf der linken Seite der Ungleichung) die Tiefe eines Teilbaumes (hier Rα ), während er bei
Termen der Form qs (I) (rechts) die s-te Iterierte gemäß Definition 5.9-5 bezeichnet.
Der Beweis wird mittels Induktion über s geführt, wobei wiederum nach drei der Definiton 5.9-5 entsprechenden Fällen unterschieden wird. Man beachte, daß verschiedene der im
folgenden verwendeten Sätze sich auf Knoten von Ableitungsbäumen und nicht auf die diesen zugeordnete Folge von Symbolen beziehen. Während die Knoten eines Ableitungsbaums
nämlich eindeutig (durch ihre Nummer) bestimmt sind, kann eine Satzform durchaus verschiedenen Knoten zugeordnet sein. (I) s = 0.
123
5 Stochastische kontextfreie Grammatiken
a) I ist linkspunktierte Regel (also α = ǫ und i = j). Entsprechend Satz 5.9-3 gilt auch
für den Teilbaum Rα,0 mit der Wurzel Kα,1 daß q0 (ui+1 . . . uj |Kα,1 ) ≤ q(ui+1 . . . uj |Kα,1 ) Mit
Definition 5.6-6 und Satz 5.6-7 ist q(ui+1 . . . uj |Kα,1 ) ≤ 1. Durch Verkettung dieser beiden
Ungleichungen wird q0 (ui+1 . . . uj |Kα,1 ) ≤ 1 erhalten. Nach Multiplikation mit q(A→αβ) (es
wird vorausgesetzt, daß q(A→αβ) ungleich 0 ist) ergibt sich q(A→αβ)q0 (ui+1 . . . uj |Kα,1 ) ≤
q(A→αβ) · 1. Für die rechte Seite gilt q0 (A→α.β, i, j) = q(A→αβ) gemäß Definiton 5.9-5a,
womit die Ungleichung folgt. Sollte q(A→αβ) = 0 sein, so sind beide Seiten der Ungleichung
gleich 0 und es gibt nichts weiter zu zeigen.
b) I = A→αB.β, i, j mit B = Uj . Es wird der Ableitungsbaum RαB und dessen Teilbaum
′
RαB,0
betrachtet. Letzterer besteht nur aus der Wurzel Kα,1 . Dieser Knoten ist gleichzeitig
Blatt. Es werden zwei Fälle unterschieden.
1. ui+1 . . . uj 6= αB. Dann ist q0 (ui+1 . . . uj |KαB,1 ) = 0 und die linke Seite der behaupteten
Ungleichung gleich 0, während die rechte mit Satz 5.9-6 positiv ist. Die Behauptung ist somit
erfüllt.
2. ui+1 . . . uj = αB. Dann ist q0 (ui+1 . . . uj |KαB,1 ) = 1 (A). Weiterhin ist q0 (A→αB.β, i, j) =
q0 (A→ui+1 . . . uj .β, i, j) = q0 (A→ui+1 . . . uj−1.uj β, i, j − 1) = . . . = q0 (A→.ui+1 . . . uj β, i, i) =
q0 (A→.αBβ, i, i) = q(A→αBβ) (B). Hierbei wurde Definition 5.9-5b sooft angewandt, bis
Definiton 5.9-5a angewendet werden konnte. Indem die linke Seite von A mit dem letzten
Term von B und die rechte Seite von A mit dem ersten Term von B multipliziert wird, ergibt
sich q(A→αBβ)q0 (ui+1 . . . uj |KαB,1 ) = q0 (A→αB.β, i, j). Mit dieser Gleichheit der beiden
Seiten der Ungleichung ist diese bewiesen.
c) Es ist I = A→αB.β, i, j, wobei B ∈ N. Also ist αB ∈
/ Σ∗ und damit αB 6= ui+1 . . . uj .
Betrachtet werde der gleiche Ableitungsbaum wie in b. Dann ist q0 (ui+1 . . . uj |KαB,1 ) = 0
und es ist (dem 1. Fall der Fallunterscheidung in b entsprechend) die Ungleichung erfüllt, da
deren rechte Seite positiv ist.
(II) s > 0.
a) Es wird nun der Teilbaum Rα,s betrachtet. Entsprechend wie in I a kann gezeigt werden,
daß qs (ui+1 . . . uj |Kα,1 ) ≤ 1. Nach Multiplikation mit q(A→αβ) (es kann wie in a vorausgesetzt werden, daß dieser Faktor von 0 verschieden ist; ansonsten gibt es nichts zu zeigen)
ergibt sich q(A→αβ)qs (ui+1 . . . uj |Kα,1 ) ≤ q(A→αβ) · 1. Für die rechte Seite gilt mit wiederholter Anwendung von Definition 5.9-5a, daß qs (A→α.β, i, j) = qs−1 (A→α.β, i, j) = . . . =
q0 (A→α.β, i, j) = q(A→αβ). Nach entsprechendem Ersetzen der rechten Seite der Ungleichung folgt die Behauptung.
b) In diesem Fall wird der Beweis mittels Induktion über |α| geführt.
(i) |α| = 0.
Es wird der Teilbaum RαB,s+1 betrachtet. Ähnlich wie in I a kann gezeigt werden, daß
qs+1 (ui+1 . . . uj |KαB,1 ) ≤ 1 (A). Es ist (mit Definition 9.5b und 9.5a) qs+1 (A→αB.β, i, j) =
qs+1 (A → α.Bβ, i, j − 1) = qs+1 (A → .Bβ, i, j − 1) = qs (A → .Bβ, i, j − 1) = qs−1 (A →
.Bβ, i, j − 1) = . . . = q0 (A→.Bβ, i, j − 1) = q0 (A→α.Bβ, i, j − 1) = q(A→αBβ) (B) Nach
Multiplikation von A mit q(A→αBβ) und Ersetzen der rechten Seite mittels B folgt
q(A→αBβ)qs+1 (ui+1 . . . uj |KαB,1 ) ≤ qs+1 (A→αB.β, i, j)
.
(ii) |α| > 0.
Dann ist α := α′ A′ . Mit Definition 5.9-5b ist dann qs+1 (A→αB.β, i, j) = qs+1 (A→α.Bβ, i, j −
1) = qs+1 (A→α′ A′ .Bβ, i, j − 1) (A).
Es werden nun zwei Fälle unterschieden:
1. A′ = Uj−1 . Dann ist (wiederum mit Definition 5.9-5b) qs+1 (A → α′ A′ .Bβ, i, j − 1) =
124
5.9 Algorithmus zur Berechnung von q(I)
qs+1 (A → α′ .A′ Bβ, i, j − 2) (1A). Mit Induktionsvoraussetzung ist (es wird der Teilbaum
Rα′ ,s+1 des zu α′ gehörende Ableitungsbaum Rα′ (mit der Wurzel Kα′ ,1 ) betrachtet)
q(A→α′ A′ Bβ)qs+1 (ui+1 . . . uj−2|Kα′ ,1 ) ≤ qs+1 (A→α′ .A′ Bβ, i, j − 2) (1B)
Mit dem zweiten Korollar zu Hilfssatz 2 ist
qs+1 (ui+1 . . . uj−2 uj−1|Kα′ A′ ,1 ) = qs+1 (ui+1 . . . uj−2 |Kα′ ,1 ) (1C)
Indem gemäß 1A auf der rechten und mit 1C auf der linken Seite von 1B ersetzt wird, ergibt
sich q(A→α′ A′ Bβ)qs+1 (ui+1 . . . uj−1 |Kα′ A′ ,1 ) ≤ qs+1 (A→α′ A′ .Bβ, i, j − 1) (B).
2. A′ ∈
/ Σ. Wie in c gezeigt werden wird, ist q(A → α′ A′ Bβ)qs+1 (ui+1 . . . uj−1|Kα′ A′ ,1 ) ≤
qs+1 (A→α′ A′ .Bβ, i, j − 1) (B) (was dieselbe Ungleichung wie in Fall 1 ist).
Für beide Fälle bei dieser Fallunterscheidung gilt gleichermaßen (mit Hilfssatz 2, da B = Uj )
qs+1 (ui+1 . . . uj−1|Kα′ A′ ,1 ) = q(ui+1 . . . uj |Kα′ A′ B,1 ) (C).
Wiederum folgt, indem bei Ungleichung B gemäß A und C ersetzt wird:
q(A→α′ A′ Bβ)qs+1 (ui+1 . . . uj |Kα′ A′ B,1 ) ≤ qs+1 (A→α′ A′ B.β, i, j − 1)
c) Nach Induktionsvoraussetzung ist für alle k, i ≤ k ≤ j:
q(A→αBβ)qs (ui+1 . . . uk |Kα,1 ) ≤ qs (A→α.Bβ, i, k)
(A)
Und ebenso ist für allle k, i ≤ k ≤ j und alle x, 1 ≤ x ≤ nB :
q(B→γx )qs (uk+1 . . . uj |Kγx ,1 ) ≤ qs (B→γx ., k, j)
(B)
Nach Summation über alle x folgt aus B:
nB
X
x=1
q(B→γx )qs (uk+1 . . . uj |Kγx ,1 ) ≤
nB
X
qs (B→γx ., k, j)
x=1
(C)
Bezüglich der linken Seite wird der zu B gehörende Ableitungsbaum RB mit dem Teilbaum RB,s+1 und die jeweils zu γx gehörenden Ableitungsbäume Rγx mit den entsprechenden Teilbäumen Rγ′ x ,s betrachtet. Sei KB,1 die Wurzel von RB und deren Nachfolgerknoten
KB,1,x . Entsprechend der Abbildung Φγx (Definition 5.9-8) ist der zu KB,1,x gehörende Unterbaum von RB isomorph zu Rγx und Φγx (KB,1,x ) = Kγx ,1 . Mit Satz 5.9-9 ist damit für
jeden Nachfolgerknoten KB,1,x von KB,1 (man beachte, daß s + 1 an die Stelle von s tritt):
qs+1 (uk+1 . . . uj |KB,1,x ) = qs+1−Kβ,1Kβ,1,x (uk+1 . . . uj |Φγx (KB,1,x ))
Da KB,1,x Nachfolgerknoten der Wurzel KB,1 ist, ist Kβ,1 Kβ,1,x = 1 und es ergibt sich:
′
qs+1
(uk+1 . . . uj |KB,1,x ) = qs (uk+1 . . . uj |Kγx ,1 )
125
5 Stochastische kontextfreie Grammatiken
Es können nun in C auf der linken Seite die auf den Bäumen Rγx ,s definierten Größen als
auf dem Baum RB,s+1 definerten Größen umgeschrieben werden:
nB
X
x=1
q(B→γx )qs+1 (uk+1 . . . uj |KB,1,x )
≤
nB
X
qs (B→γx ., k, j)
x=1
Da q(B→γx ) = qB,x (unabhängig davon, welcher Ableitungsbaum betrachtet wird) ist nun
mit 5.9-1a
n
qs+1 (uk+1 . . . uj |KB,1 ) ≤
B
X
qs (B→γx ., k, j)
x=1
Durch Multiplikation dieser Ungleichung mit Ungleichung A und anschließende Summation
über alle k wird erhalten:
j
X
k=1
q(A→αBβ)qs (ui+1 . . . uk |Kα,1 )qs+1 (uk+1 . . . uj |KB,1 )
≤
j
X
qs (A→α.Bβ, i, k)
nB
X
qs (B→γx ., k, j)
x=1
k=i
Nach Vertauschen der Summationen auf der rechten Seite, kann mit der Argumentation
im letzten Teil des Beweises von Satz 5.7-5 die Summation über [i, j] × [1, nB ] durch eine
Summation über Hn × Hn ersetzt werden und es wird für A→αB.β =: I erhalten:
j
X
k=1
q(A→αBβ)qs (ui+1 . . . uk |Kα,1 )qs+1 (uk+1 . . . uj |KB,1 )
≤
X
I ′ ∈H
n
X
I ′′ ∈H
δ(I ′ , I, I ′′ )qs (I ′ )qs (I ′′ )
n
Ist K(α,β),1 die Wurzel des Doppelableitungsbaums R(α,β) , so sind Φ(K1 ), Φα (K1 ) und Φβ (K1 )
die Wurzeln der Ableitungsbäume Rαβ , Rα bzw. Rβ , also Kαβ,1 = Φ(K(α,β),1 ), Kα,1 =
Φα (K(α,β) , 1) und Kβ,1 = Φβ (K(α,β) , 1). Damit ergibt sich ((q(A→αBβ) kann als Konstante
vor das Summenzeichen geschrieben werden):
q(A→αBβ)
j
X
i=1
qs (ui+1 . . . uk |Φα (K(α,β),1 )) · qs+1 (uk+1 . . . uj |Φβ (K(α,β),1 ))
≤
X
X
δ(I ′ , I, I ′′ )qs (I ′ )qs (I ′′ )
I ′ ∈Hn I ′′ ∈Hn
Die linke Seite kann gemäß Hilfssatz 3 ersetzt“ werden, während für die rechte Seite Defi”
nition 5.9-5c angewendet wird. Damit ergibt sich:
q(A→αB.β)qs+1 (zi+1 . . . uj |KαB,1 ) ≤ qs+1 (A→αB.β)
Hiermit ist in allen drei Fällen a, b und c von II der Induktionsschritt gewährleistet.
Damit und der Induktionsverankerung I ist Satz 5.9-10 bewiesen.
126
5.9 Algorithmus zur Berechnung von q(I)
Satz: Die mit den Gleichungen 5.9-5 gegebenen Folgen qs (I), I := A→α.β, i, j konvergiert
für alle I ∈ Hn gegen q(A→α.β, i, j), wie in 5.7-1 definiert:
lim qs (I) = q(I)
s→∞
(5.9-11)
Beweis: Die Folge qs (A→α.β, i, j) ist gemäß Satz 5.9-6 nach oben durch q(I) = q(A→α.β)
und gemäß Satz 5.6-27 nach unten durch q(A→αβ)qs (ui+1 . . . uj |Kα,1 ) beschränkt.
qs (A→αβ)qs (ui+1 . . . uj |Kα,1 ) ≤ qs (A→α.β, i, j) ≤ q(A→α.β, i, j) A
Mit Satz 5.6-11 gilt bezüglich der unteren Schranke
lim qs (ui+1 . . . uj |Kα,1 ) = q(ui+1 . . . uj |Kα,1 ) = q(ui+1 . . . uj |α)
s→∞
Durch Multiplikation mit q(A→αβ) und Definition 5.7-1 folgt damit
q(A→αβ) lim qs (ui+1 . . . uj |Kα,1 ) = q(A→αβ)q(ui+1 . . . uj |α)
s→∞
also
lim (A→αβ)qs (ui+1 . . . uj |α) = q(I)
s→∞
Damit ergibt sich aus A im Grenzfall für s → ∞
q(I) ≤ lim qs (I) ≤ q(I)
s→∞
woraus die Behauptung unmittelbar folgt.
Durch 5.9-5 ist eine Iteration in Gesamtschritten definiert, also gewissermaßen eine paralle”
le“ Iteration. Eine Iteration in Einzelschritten, also eine serielle“ Iteration ist auch möglich:
”
Seien I1 , I2 , I3 , . . . usw. verschiedene Elemente von Hn , für die in dieser Reihenfolge die
Gleichugen 5.9-5 nacheinander ausgewertet und qs+1 (I1 ), qs+1 (I2 ), qs+1 (I3 ), usw. erhalten
werden. Der neue“ Wert qs+1 (Ik−1 ) liegt also bereits vor, bevor qs+1 (Ik ) berechnet wird. Es
”
ist nun möglich, in den Gleichungen 5.9-5 statt qs (Il ) den Wert qs+1 (Il ) für alle l < k einzusetzen. Die so erhaltenen Werte sind selbstverständlich andere als die ursprünglich erhaltenen,
dennoch konvergieren die entsprechenden Folgen gegen q(I), wie unten gezeigt werden wird.
Die Iteration in Einzelschritten bietet nicht notwendigerweise Vorteile bezüglich der Konvergenzgeschwindigkeit, jedoch eine Halbierung des benötigten Speicherplatzbedarfs. Bei der
Iteration in Gesamtschritten nämlich müssen im Prinzip alle Werte qs (I1 ), qs (I2 ), qs (I3 ), . . .
usw. aufbewahrt“ werden, bis der letzte Wert qs+1 (I) berechnet ist.
”
Zur Behandlung von Varianten des Algorithmus 5.9-5 wird eine nichtdeterministische“ Ite”
ration definiert:
Ist I linkspunktierte Regel, also I = A→.α, j, j so ist
q̃0 (I)
:= q(A→α)
q̃s+1 (I) := q̃s (I) für s > 0
(5.9-12a)
127
5 Stochastische kontextfreie Grammatiken
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so ist für alle s ≥ 0:
q̃s (I) ∈ [q̃s (I ′ ), q(I)]
(5.9-12b)
Ist I = A→αB.β, i, j und B 6= Uj (und damit muß B ∈ N sein):
q̃0 (I)
∈ [0, q(I)]
P
P
q̃s+1 (I) ∈ [ I ′ ∈Hn I ′′ ∈Hn δ(I ′ , I, I ′′ )q̃s (I ′ )q̃s (I ′′ ), q(I)]
(5.9-12c)
Das Nichtdeterministische“ dieser Iteration besteht darin, daß mit den Werten des s-ten
”
Schritts Intervalle angegeben werden, aus denen die Werte des (s + 1)-ten Schrittes gewählt
werden. (Damit gibt es eine überabzählbar viele Folgen q̃0 (I), q̃1 (I), q̃2 (I), . . . )
Satz: Für alle q̃s (I), s ≥ 0, der mit 5.9-12 definierten Folgen gilt:
qs (I) ≤ q̃s (I) ≤ q(I)
(5.9-13)
Der Beweis wird mittels Induktion über s geführt, wobei jeweils drei Fälle entsprechend der
Definition 5.9-12 unterschieden werden.
(I) s = 0.
a) I ist linkspunktierte Regel. Definition 5.9-12a stimmt mit Definition 5.9-5a überein, also
q0 (I) = q̃0 (I), womit der linke Teil“ der Behauptung gezeigt ist. Der rechte folgt unmittel”
bar aus Satz 5.9-6.
b) Es ist I = A → αB.β, i, j, I ′ = A → α.Bβ, i, j − 1 und B = Uj . Der rechte Teil der
Behauptung folgt unmittelbar aus Definition 5.9-12b. Weiterhin ist dieser entsprechend
q̃0 (I ′ ) ≤ q̃0 (I) (A). Für den linken Term wird im folgenden q0 (I) ≤ q̃0 (I ′ ) (B) gezeigt.
Dies geschieht mittels Induktion über |α|.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und wie in a gezeigt wurde, ist q0 (I ′ ) ≤ q̃0 (I ′ ).
Mit Definition 5.9-5b ist weiterhin q0 (I) = q0 (I ′ ). Mit dieser Gleichung und der vorigen Ungleichung folgt B.
(ii) |α| > 0. Dann ist α := α′ A′ , α′ ∈ (N ∪ Σ)∗ , A′ ∈ N ∪ Σ. Es werden zwei Fälle unterschieden.
1. A′ = Uj−1 . (Anm.: Für A′ ∈ Σ ist dies aufgrund der Minimalität des Earleyschen
Algorithmus die einzige Möglichkeit.) Dann ist der Definition 5.9-12b entsprechend
q̃0 (A→α′ .A′ Bβ, i, j − 2) ≤ q̃0 (A→α′ A′ .Bβ, i, j − 1)
Der Induktionsvoraussetzung entsprechend gilt (für |α′ | < |α|)
q0 (A→α′ .A′ Bβ, i, j − 2) ≤ q̃0 (A→α′ .A′ Bβ, i, j − 2)
Weiterhin ist mit Definition 5.9-5b
q0 (A→α′ A′ .Bβ, i, j − 1) = q0 (A→α′ .A′ Bβ, i, j − 2)
128
5.9 Algorithmus zur Berechnung von q(I)
und
q0 (A→α′ A′ B.β, i, j) = q0 (A→α′ A′ .Bβ, i, j − 1)
Aus diesen beiden Gleichungen und den vorigen beiden Ungleichungen folgt (durch Verket”
ten“ dieser von links nach rechts und von unten nach oben)
q0 (A→α′ A′ B.β, i, j) ≤ q̃0 (A→α′ A′ .Bβ, i, j − 1)
Dies ist aber Ungleichung B.
2. A ∈ N. Dann ist, wie in c gezeigt werden wird.
q0 (A→α′ A′ .Bβ, i, j − 1) ≤ q̃0 (A→α′ A′ .Bβ, i, j − 1)
Mit Definition 5.9-5b ist wiederum
q0 (A→α′ A′ B.β, i, j) = q0 (A→α′ A′ .Bβ, i, j − 1)
Aus dieser Gleichung und der vorigen Ungleichung folgt abermals B.
Damit ist der Induktionsschritt ii in den beiden Fällen 1 und 2 gewährleistet.
Mit i und ii ist B gezeigt.
Mit A und B folgt der linke Teil“ der Behauptung.
”
c) Es ist I = A→αB.β, i, j und B ∈ N. Der rechte Teil der Behauptung folgt unmittelbar
aus der Definition 5.9-12c. Gemäß Definition 5.9-5c ist q0 (I) = 0, gemäß Definition 5.9-12c
ist q̃0 (I)) ≥ 0. Damit folgt der linke Teil der Behauptung, nämlich q0 (I) ≤ q̃0 (I).
(II) s > 0.
a) I ist linkspunktierte Regel. Mit Definition 5.9-12a ist q̃s+1 (I) = qs (I) und mit Definition
5.9-5a ist qs+1 (I) = qs (I). Durch Einsetzen in die Induktionsvoraussetzung qs (I) ≤ q̃s (I) ≤
q(I) folgt die Behauptung.
b) Es ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj . Der rechte Teil der Behauptung folgt wiederum unmittelbar aus Definition 5.9-12b. Weiterhin ist dieser entsprechend
q̃s+1 (I ′ ) ≤ q̃s+1 (I) (A). Für den linken Term wird im folgenden qs+1 (I) ≤ q̃s+1 (I ′ ) (B) mittels
Induktion über |α| gezeigt werden.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und wie in a gezeigt wurde, ist
qs+1 (I ′ ) ≤ q̃s+1 (I ′ )
Mit Definition 5.9-5b ist
qs+1 (I) = qs+1 (I ′ )
Aus dieser Gleichung und der vorigen Ungleichug folgt B.
(ii) |α| > 0, also α := α′ A′ . Es werden wiederum zwei Fälle unterschieden:
1. A′ = Uj−1 . Mit Definition 5.9-12b ist
q̃s+1 (A→α′ .A′ Bβ, i, j − 2) ≤ q̃s+1 (A→α′ A′ .Bβ, i, j − 1)
Mit der Induktionsvoraussetzung ist
qs+1 (A→α′ .A′ Bβ, i, j − 2) ≤ q̃s+1 (A→α′ .A′ Bβ, i, j − 2)
und mit Definition 5.9-5b ist
qs+1 (A→α′ A′ .Bβ, i, j − 1) = qs+1 (A→α′ .A′ Bβ, i, j − 2)
129
5 Stochastische kontextfreie Grammatiken
und
qs+1 (A→α′ A′ B.β, i, j) = qs+1 (A→α′ A′ .Bβ, i, j − 1)
Aus diesen beiden Gleichungen und den beiden vorangehenden Ungleichungen folgt
qs+1 (A→α′ A′ B.β, i, j) ≤ q̃s+1 (A→α′ A′ .Bβ, i, j − 1)
Dies ist Ungleichung B.
2. A′ ∈ N. Dann ist, wie in c gezeigt werden wird
qs+1 (A→α′ A′ .Bβ, i, j − 1) ≤ q̃s+1 (A→α′ A′ .Bβ, i, j − 1)
Mit Definition 5.9-5b ist
qs+1 (A→α′ A′ B.β, i, j) = qs+1 (A→α′ A′ .Bβ, i, j − 1)
Aus dieser Gleichug und der vorigen Ungleichung folgt wiederum B.
In beiden Fällen 1 und 2 ist der Induktionsschritt für die Ungleichung B gewährleistet.
Mit i ist damit der Induktionsbeweis für Ungleichung B erbracht.
Mit den Ungleichungen A und B ist somit der Induktionsschritt im Fall b von II gewährleistet.
c) Es ist I = A→αB.β, i, j und B ∈ N. Der rechte Teil der Behauptung folgt wiederum
unmittelbar aus der Definition 5.9-12. Gemäß der Induktionsvoraussetzung ist für alle I ′ , I ′′ ∈
Hn :
qs (I ′ ) ≤ q̃s (I ′ )
qs (I ′′ ) ≤ q̃s (I ′′ )
Nach Multiplikation mit δ(I ′ , I, I ′′ ) und Summation über alle (I ′ , I ′′ ) ∈ Hn × Hn folgt
X
I ′ ∈H
n
X
I ′′ ∈H
n
δ(I ′ , I, I ′′ )qs (I ′ )qs (I ′′ ) ≤
X
I ′ ∈H
n
X
I ′′ ∈H
δ(I ′ , I, I ′′ )q̃s (I ′ )q̃s (I ′′ )
n
Der linke Teil dieser Ungleichung kann mit Definition 5.9-5c ersetzt werden, für den rechten
gilt mit Definition 5.9-12c, daß
X
I ′ ∈H
n
X
I ′′ ∈H
n
δ(I ′ , I, I ′′ )q̃s (I ′ )q̃s (I ′′ ) ≤ q̃s+1 (I)
Daraus folgt
qs+1 (I) ≤ q̃s+1 (I)
In allen drei Fällen a, b und c ist somit der Induktionsschritt II gewährleistet.
Mit I und II folgt die Behauptung des Satzes 5.9-13.
Mit diesem Satz ist sicher gestellt, daß die in 5.9-12 angegebenen Intervalle nicht leer sind.
Es ist allerdings nicht ausgeschlossen, daß diese zu einzelnen Punkten entarten (was jedoch
keine Probleme bereitet).
Weiterhin findet durch Satz 5.9-13 die oben (vor Definition 5.9-12) beschriebene Iteration in
Einzelschritten ihre Rechtfertigung. Hierbei treten ja auf der rechten Seite der Gleichungen,
mit denen die Größen des nächsten Schrittes berechnet werden, zum Teil die Größen des (s +
1)-ten Schrittes an die Stelle der Größen des s-ten Schrittes, wie sie hier in der ursprünglichen
Version der Iteration stehen.
Weiterhin ist auch eine Verbesserung des Verfahrens möglich, die darauf basiert, daß die
Gleichungen 5.9-5 auf Teilmengen von Hn ausgewertet werden und damit für die Berechnung
130
5.9 Algorithmus zur Berechnung von q(I)
mancher qs (I) einige der dafür benötigten q(I ′ und q(I ′′ ) bereits bekannt sind. Dies stellt
gewissermaßen einen Extremfall der nichtdeterministischen“ Iteration dar, bei der für die
”
Größe q̃s (I) aus dem Intervall die rechte Intervallgrenze selbst gewählt wird.
Mit der im vorigen Abschnitt 5.8 durchgeführten Zerlegung von Hn in eine Folge von Teilmengen G1 G2 , . . . ist dies nun möglich, da zur Bestimmung von q(I) mit I ∈ Gk nur noch
Sk−1
die Kenntnis der q(I ′ ) mit I ′ ∈ i=0
Gi notwendig ist. Mit der im vorigen Abschnitt 5.8
durchgeführten Zerlegung von Hn in eine Folge von Teilmengen G1 G2 , . . . kann das Verfahren verbessert werden, indem die Gleichungen 5.9-5 sukzessive auf Teilmengen von Hn
derart ausgewertet werden, daß zur Berechnung der entsprechenden qs (I) ein Großteil der
hierfür benötigten q(I ′ ) und q(I ′′ ) bereits bekannt sind. Diese Vorgehensweise kann als ein
Extremfall der nichtdeterministischen“ Iteration angesehen werden, bei der für die Größe
”
q̃s (I) aus dem Intervall die rechte Intervallgrenze selbst gewählt wird.
˜ G≺≻ (I),
˜
Sei I˜ ein Element aus Hn mit den entsprechenden, in 5.8-5 definierten Mengen G≺ (I),
˜
˜
G≺6≻ (I) und G= (I). Dann kann mit folgendem Algorithmus (einer Variante von 5.9-12) für
˜ die Wahrscheinlichkeit q(I) ermittelt werden. (Anm: I˜ sollte im folgenden
alle I ∈ G≺ (I)
sukzessive aus den Mengen G1 , G2 usw. gewählt werden, da dann entsprechend Satz 5.8-8
die die benötigten q(I ′ ) und q(I ′′ ) bekannt sind, sofern I ′ bzw. I ′′ nicht ihrerseits von I
abhängen.)
Ist I linkspunktierte Regel, also I = A → .α, j, j (wobei q(A → α) die der Regel A → α
zugeordnete Wahrscheinlichkeit ist), so ist für alle s ≥ 0:
q̃s (I) := q(I) := {A→α}
(5.9-14a)
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so ist für alle s ≥ 0:
q̃s (I) := q̃s (I ′ )
(5.9-14b)
Ist I = A→αB.β, i, j und B ∈ N, so ist definiert:



q(I)
q̃0 (I) := 0


0
und für alle s > 0:
q̃t (I) =


q(I)

 P


 P
˜
I ′ ∈G≺ (I)
6≻
˜
I ′ ∈G≺ (I)
P
˜
I ′′ ∈G≺ (I)
P
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
δ(I ′ , I, I ′′ )q(I ′ )q(I ′′ )
6≻
˜
I ′′ ∈G≺ (I)
δ(I ′ , I, I ′′ )q̃s−1 (I ′ )q̃s−1 (I ′′ )
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
(5.9-14c)
131
5 Stochastische kontextfreie Grammatiken
5.10 Berechnung von q(I) mittels Newton-Verfahren
Zur Vereinfachung der Schreibweise wird im folgenden q(I) eingeführt. Hierbei bezeichnet
I einen Vektor von punktierten Regeln, I := (I1 , I2 , . . . Im ), I1 , I2 , . . . Im ∈ Hn und q(I)
den Vektor der diesen zugeordneten Wahrscheinlichkeiten q(I1 ), q(I2 ), . . . q(Im ), also q(I) :=
(q(I1 ), q(I2 ), . . . q(Im )). Entsprechendes gilt auch bezüglich qt(I), qt′ (I), q̃(I), usw.
Weiterhin wird als abkürzende Schreibweise die Relation ≤ bezüglich dieser Vektoren eingeführt; diese soll besagen, daß die übliche auf IR definierte Relation ≤ komponentenweise
gelten soll. q(I) ≤ q ′(I) bedeutet also q(I1 ) ≤ q ′ (I1 ) ∧ q(I2 ) ≤ q ′ (I2 ) ∧ . . . q(In ) ≤ q ′ (In ).
Mit der mit den Gleichungen 5.9-5 bzw. 5.9-12 definierten Iteration ist lims→∞ qt(I) =
lims→∞ q˜t′ (I) = q(I) wobei für alle s gilt ist 0 ≤ qs(I) ≤ q˜t(I) ≤ q(I).
Ausgehend von der zweiten Gleichung in 5.9-5c
kann der Operator F : IRm →IRm , q(I) 7→
F(q(I)) = F1 (q)(I)), F2 (q(I)), . . . Fn (q(I)) eingeführt werden. Die zweite Gleichung in
5.9-5c beschreibt hierbei die Abbildung von q(I) auf eine Komponente von F (q(I)). Für die
x-te Komponente, 1 ≤ x ≤ m, ist somit
q(Ix ) = Fx (q(I)) =
X
X
δ(Iy , Ix , Iz )q(Iy )q(Iz )
Iy ∈Hn Iz ∈Hn
(5.10-1)
m ist hierbei die Anzahl der beteiligten punktierten Regeln; die punktierten Regeln, die
den Fällen a und b der Definition 5.9-5 entsprechen, bleiben außer Betracht. Im Fall a ist
die der Regel zugeordnete Wahrscheinlichkeit eine Konstante; im Fall b handelt es sich um
die Duplikation einer Variablen; q(I) kann jedoch stets durch q(I ′) ersetzt werden, so daß
q(I) dann gar nicht in Gleichung 5.9-5c eingeht. Mit dem Operator F ist dann die in 5.9-5c
definierte Folge
q0 (I)
= 0
qt+1 (I) = F (qt(I)) für alle t ≥ 0
(5.10-2)
Satz: F hat auf {x ∈ IRm | 0 ≤ x ≤ q(I)} den einzigen Fixpunkt q(I).
(5.10-3)
Beweis: Sei x̂ 6= q(I) ein weiterer Fixpunkt, 0 ≤ x̂ ≤ q(I). Dann ist die Folge x̂t mit
ˆ = F (x̂t ), konstante Folge mit x̂t = x̂ für alle t ≥ 0.
x̂ˆ0 = x̂, xt+1
Da x̂ 6= q(I) gibt es eine Komponente Ik von I, 1 ≤ k ≤ m, für die x̂k 6= q(Ik ) (hierbei ist
x̂k die entsprechende Komponente von x̂). Für diese ist dann x̂k < q(Ik ). Wird nun die Folge
qt (Ik ) für diese Komponente betrachtet, so gibt es ein t0 , so daß qt0 (Ik ) ≤ x̂k,t0 < qt0 +1 (A).
(Dies ergibt sich daraus, daß q0 (Ik ) = 0, limt→∞ qt′ (Ik ) = q(Ik ) und die Folge qt (Ik ) monoton
wächst.)
Der erste Teil von A, nämlich qt0 (I) ≤ x̂k entspricht aber der Definition 5.9-12, so daß mit
Satz 5.9-13 insbesondere qt0 +1 (I) ≤ x̂k,t0 +1 folgt. Da x̂k,t0 +1 = x̂k,t steht dies jedoch im Widerspruch zum zweiten Teil von A.
Die Annahme eines weiteren Fixpunktes führt also zum Widerspruch, womit die Behauptung
des Satzes gezeigt ist.
132
5.10 Newton-Verfahren zu Berechnung von q(I)
Mit dem in 5.10-1 eingeführten Operator kann ein weiterer Operator T definiert werden:
T: IRm→IRm , x 7→ T(x) := x − F(x)
(5.10-4)
Fixpunkte von F sind äquivalent zu Nullstellen von T . Derartige Nullstellen können mit
dem Newotn-Verfahren bestimmt werden:
yt+1 = yt − [T ′ (yt)]−1 T (yt)
(5.10-5)
Hierbei ist T ′ (yt) die Jacobi-Matrix von T (an der Stelle yt ausgewertet) und [T ′ (yt)]−1
deren Inverse, deren Existenz hier vorausgesetzt sei. Als Startwert kann z.B. y0 := 0 dienen.
Sollte die mit 5.10-5 erzeugte Folge gegen einen Grenzwert konvergieren, so stellt dieser eine
Nullstelle von T und einen Fixpunkt von F dar. Fraglich ist jedoch, ob die mit F erzeugte
Folge xt, also x0 = 0 und xt+1 = F (xt) (vgl. 5.10-2) und die mit 5.10-5 definerte Folge yt
den gleichen Grenzwert haben, also limt→∞ yt = limt→∞ xt gilt.
Dies ist nämlich die Voraussetzung dafür, daß die Iteration 5.9-5 bzw. 5.10-2 durch das
Newton-Verfahren 5.10-5, das wesentlich bessere Konvergenzeingenschaften aufweist, ersetzt werden kann. Daß dies tatsächlich unter bestimmten Voraussetzungen der Fall ist, wird
im folgenden gezeigt.
Zuvor sollen jedoch einige Hilfssätze eingeführt werden.
Hilfssatz 1: Sei 0 ≤ q(I) ≤ 1. Dann gilt für die partiellen Ableitungen erster Ordnung (der
x-ten Komponente) von F
∂q(Ix )
0≤
≤1
∂q(Iy )
und für die partiellen Ableitungen zweiter Ordnung (ebenfalls der x-ten Komponente) von
F
∂ 2 q(Ix )
∈ {0, 1}
∂q(Iz )∂q(Iy )
Anmerkung: Die x-te Komponente von F ist q(Ix ) = Fx (q(I)) (vgl. Definition 5.10-1).
Der Beweis erfolgt durch einfaches Nachrechnen, wobei drei Fälle mit eventuell weiteren Unterfällen unterschieden werden. Es sei Ix = A→αB.β, i, j. Iy′ und Iz ′ seien weitere punktierte
Regeln. Dann ist
q(Ix ) =
X
X
Iy ∈Hn Iz ∈Hn
δ(Iy , Ix , Iy )q(Iy )q(Iz ) =
j X
nB
X
q(A→α.Bβ, i, k)q(B→γl ., k, j)
k=i l=1
1. Es gibt kein k ′ und kein l′ , so daß Iy′ = A→α.Bβ, i, k ′ oder Iy′ = B→γl′ , k ′ , j. Dann ist
∂q(Ix )
=0
∂q(Iy′ )
Da dies eine konstante Funktion darstellt, ist auch für alle Iz ′ ∈ Hn
∂ 2 q(Ix )
=0
∂q(Iz ′ )∂q(Iy′ )
133
5 Stochastische kontextfreie Grammatiken
2. Es gibt ein k ′ , i ≤ k ′ ≤ j, so daß Iy′ = A→αB.β, i, k ′ . Dann ist
∂q(Ix )
∂q(Iy ′ )
=
nB
X
q(B→γl , k ′ , j)
nB
X
qB,l · q(uk′+1 . . . uj |γl )
l=1
=
l=1
Da 0 ≤ q(uk′+1 . . . uj |γl ) ≤ 1 ist
0≤
woraus mit
P nB
l=1 qB,l
nB
X
l=1
qB,l · q(uk′+1 . . . uj |γl ) ≤
nB
X
qB,l
l=1
= 1 folgt
0≤
∂q(Ix )
≤1
∂q(Iy′ )
a) Sei Iz ′ 6= B→γl ., k ′ , j. Dann ist
∂ 2 q(Ix )
=0
∂q(Iz ′ )∂q(Iy′ )
b) Für Iz ′ = B→γl ., k ′ , j ist
∂ 2 q(Ix )
=1
∂q(Iz ′ )∂q(Iy′ )
3. Es gibt k ′ , i ≤ k ′ ≤ j, und l′ , 1 ≤ l′ ≤ nB , so daß Iy′ = B→γl′ , k ′ , j. Dann ist (mit dem
Kronecker-Symbol δkk′ )
j
X
∂q(Ix )
=
δkk′ · q(A→α.Bβ, i, k) = q(A→α.Bβ, i, k ′ )
′
∂q(Iy ) k=i
Mit 0 ≤ q(A→α.Bβ, i, k ′ ) ≤ 1 ist damit
0≤
a) Für Iz ′ 6= B→γl ., k ′ , j ist
b) Für Iz ′ = B→γl ., k ′ , j ist
∂q(Ix )
≤1
∂q(Iy′ )
∂ 2 q(Ix )
=0
∂q(Iz ′ )∂q(Iy′ )
∂ 2 q(Ix )
=1
∂q(Iz ′ )∂q(Iy′ )
Anmerkung: Sollte die Voraussetzung q(I) ≤ 1 fallen gelassen werden, so gilt weiterhin, daß
die partiellen Ableitungen erster Ordnung positiv sind.
Hilfssatz 2: Seien Ix , Iy und Iz punktierte Regeln. Dann ist
∂ 2 q(Ix )
= δ(Iy , Ix , Iz )
∂q(Iz )∂q(Iy )
134
5.10 Newton-Verfahren zu Berechnung von q(I)
Für den Beweis wird im ersten Schritt folgende Äquivalenz gezeigt:
δ(Iy , Ix , Iz ) = 1 ⇐⇒
∂ 2 q(Ix )
=1
∂q(Iz )∂q(Iy )
(i) (Es wird gezeigt, daß aus dem linken Teil der Äquivalenz der rechte folgt.) Sei Ix =
A → αB.β, i, j. Wenn δ(Iy , Ix , Iz ) = 1 ist, dann ist Iy = A → α.Bβ, i, k ′, 1 ≤ k ′ ≤ j und
Iz = B→γl′ ., k ′ , j, 1 ≤ l′ ≤ nB . Damit gibt es also k ′ und l′ , so daß die Voraussetzungen des
Falles 2 b bzw. 3 b (Anm.: hier entspricht Iy der punktierten Regel Iz ′ und umgekehrt) im
Beweis des Hilfssatzes 1 erfüllt sind und somit
∂ 2 q(Ix )
=1
∂q(Iz )∂q(Iy )
ist.
(ii) (Es wird gezeigt, daß aus der Negation des linken Teils der Äquivalenz die Negation des
rechten folgt.) Sei wiederum Ix = A→αB.β, i, j. Wenn δ(Iy , Ix , Iz ) 6= 1, also δ(Iy , Ix , Iz ) = 0
ist, dann gibt es kein (Iy , Iz ), so daß Iy = A→α.Bβ, i, k ′ und B = γl′ ., k ′ , j. Damit sind die
Voraussetzungen der Fälle 1, 2 a bzw. 3 a im Beweis des Hilfssatzes 1 erfüllt und es ist
∂ 2 q(Ix )
=0
∂q(Iz )∂q(Iy )
Entsprechend Hilfssatz 1 kann die partielle Ableitung zweiter Ordnung nur 0 oder 1 sein, so
daß diese Aussage die Negation der rechten Seite obiger Äquivalenz darstellt.
Mit der gezeigten Äquivalenz sind auch die Negationen der beiden Aussagen äquivalent:
∂ 2 q(Ix )
6= 1
δ(Iy , Ix , Iz ) 6= 1 ⇐⇒
∂q(Iz )∂q(Iy )
Da sowohl δ(Iy , Ix , Iz ) ∈ {0, 1}, also auch ∂ 2 q(Ix )/∂q(Iz )∂q(Iy ) ∈ {0, 1} ergibt sich eine
zweite Äquivalenz
∂ 2 q(Ix )
δ(Iy , Ix , Iz ) = 0 ⇐⇒
=0
∂q(Iz )∂q(Iy )
Mit der ursprünglichen und der zweiten Äquivalenz folgt die Behauptung.
Hilfssatz 3: Seien Ix und Iy punktierte Regeln. Dann ist
∂ 2 q(Ix )
=0
∂q(Iy )2
Der Beweis ergibt sich mit Hilfssatz 2. Wäre die Behauptung falsch, so wäre ∂ 2 q(Ix )/∂q(Iy )2 =
1 und damit δ(Iy , Ix , Iz ) = 1 (bzw. δ(Iz , Ix , Iy ) = 1), wobei Iy = Iz . Sei Ix = A→αB.β, i, j.
Dann ist Iy = A → α.Bβ, i, k ′ und Iz = B → γl′ , k ′ , j oder Iy = B → γl′ , k ′ , j und Iz =
A→α.Bβ, i, k ′ . Die eine dieser Regeln ist rechtspunktiert, die andere dagegen nicht. Also
muß Iy 6= Iz sein, was jedoch einen Widerspruch darstellt. Damit muß die Behauptung des
Hilfssatz 3 richtig sein.
Hilfssatz 4: Seien Ix und Ix′ zwei unterschiedliche punktierte Regeln, also Ix 6= Ix′ . Seien
auch Iy und Iz punktierte Regeln. Dann ist
∂ 2 q(Ix )
∂ 2 q(Ix′ )
·
=0
∂q(Iz )∂q(Iy ) ∂q(Iz )∂q(Iy )
135
5 Stochastische kontextfreie Grammatiken
Beweis: Sei Ix = A→αB.β, i, j und Ix′ = A′→α′ B ′ .β ′ , i′ , j ′ , wobei (da Ix 6= Ix′ ) (A, α, B, β, i, j) 6=
(A′ , α′ , B ′ , β ′ , i′ , j ′ ).
Angenommen, die Behauptung des Satzes sei falsch, also das Produkt der partiellen Ableitungen zweiter Ordnung sei 1. Dann muß jeder Faktor gleich 1, womit mit Hilfssatz 2 dann
δ(Iy , Ix , Iz ) = 1 und δ(Iy , Ix′ , Iz ) = 1 wäre. Dann muß es Iy geben, so daß Iy = A→α.Bβ, i, j,
aber auch Iy = A′ →α′.B ′ β ′, i′ , j ′ , womit (A, α, B, β, i, j) = (A′ , α′ , B ′ , β ′ , i′ , j ′ ) wäre. Dies
stellt einen Widerspruch dar. Also muß die Behauptung des Hilfssatzes richtig sein.
Mit den folgenden Sätzen werden Aussagen über Eigenschaften der in 5.10-5 definierten
Iteration (Newton-Verfahren) gemacht.
Satz: Ist 0 ≤ −[E − F ′ (yt)]−1 yt − F (yt) , wobei E die Einheitsmatrix ist, so ist yt ≤ yt+1 .
(5.10-6)
Der Beweis ergibt sich unmittelbar aus den Definitionen 5.10-4 und 5.10-5. Mit ersterer
ist T (yt) = yt − F (yt). Mit der Einheitsmatrix E ist yt = Eyt, so daß T ′ (yt) = E − F ′ (yt)
ist. Durch Einsetzen in die Gleichung (der Definition 5.10-5) yt+1 = yt − [T ′ (yt)]−1 T (yt)
ergibt sich
yt+1 = yt − [E − F ′ (yt)]−1 yt − F (yt)
Auf beiden Seiten yt subtrahiert, ergibt
yt+1 − yt = −[E − F ′ (yt)]−1 yt − F (yt)
Mit der Voraussetzung des Satzes (der Vektor auf der rechten Seite ist (in jeder Komponente)
positiv) ist damit
0 ≤ yt+1 − yt
und nach Addition von yt folgt
yt ≤ yt+1
Zum Beweis des nächsten Satzes wird die Taylor-Entwicklung einer Funktion mehrerer Va- riablen F : IRm→IRn , F(x1 , x2 , . . . xm ) 7→ f1 (x1 , x2 , . . . xm ), f2(x1 , x2 , . . . xm ), . . . fn (x1 , x2 , . . . xm )
(z.B. Mangoldt/Knopp
(1974) oder Pearson
(1974)) benötigt. Die Entwicklung für den
Punkt x0 + h = x1 + h1 , x2 + h2 , . . . xn + hn in der Umgebung des Punktes x0 lautet für
die k-te Komponente bis zum (N + 1)-ten Glied
fk (x0 + h) = fk (x0 ) +
+
∂
∂
∂
1
+ h2
+ . . . hm
)fk (x0 )
(h1
1!
∂x1
∂x2
∂xm
1
∂
∂
∂ 2
(h1
+ h2
+ . . . hm
) fk (x0 )
2!
∂x1
∂x2
∂xm
..
.
+
m
∂ K
1 X
( hl
) fK (x0 )
K! l=1 ∂xl
..
.
136
5.10 Newton-Verfahren zu Berechnung von q(I)
+
m
1 X
∂ N
( hl
) fK (x0 )
N! l=1 ∂xl
m
X
1
∂ N +1
+
( hl
)
fK (x0 + Θh)
(N + 1)! l=1 ∂xl
mit 0 < Θk < 1. (h1 ∂x∂ 1 + h2 ∂x∂ 2 + . . . hm ∂x∂m )K ist als Operator aufzufassen, nämlich als
K-malige Anwendung von (h1 ∂x∂ 1 + h2 ∂x∂ 2 + . . . hm ∂x∂m ) (und nicht etwa als die K-te Potenz
∂2
∂2
der Summe von Ableitungen), also z.B. (für m = 2) (h1 ∂x∂ 1 +h2 ∂x∂ 2 )2 = h21 ∂x
2 +2h1 h2 ∂x ∂x +
1
2
1
2
∂
h22 ∂x
2 . (Anmerkung: Die Taylor-Formel für eine Funktion mehrerer Variablen kann einfach
2
erhalten werden, indem fk (x1 + h1 , x2 + h2 , . . . xm + hm ) unter der sukzessiven Anwendung
der Taylor-Formel für eine Funktion einer Variablen erst nach x1 + h1 entwickelt wird (die
anderen Variablen werden dabei als konstant aufgefaßt) und die einzelnen Glieder der hierbei
erhaltenen Reihe dann nach x2 + h2 entwickelt werden, usw.)
Satz: Sei yt ≤ q(I) und sei
∀k, 1 ≤ k ≤ m :
∀i, 1 ≤ i ≤ m : ∀j, 1 ≤ j ≤ m :δ(I
i , Ik , Ij ) = 0 ∨ ∀l, 1 ≤ l ≤ n :
[E − F ′ (yt)]−1 ≥ 0
lk
Dann ist
yt+1 ≤ q(I)
(5.10-7)
Hierbei bezeichnen die Indizes l und k das Element in der l-ten Zeile und k-ten Spalte der entsprechenden Matrix. (Anmerkung: Die zweite Voraussetzung lautet anschaulich formuliert,
daß in der (der punktierten Regel Ix entsprechenden) x-ten Spalte der Matrix [E − F ′ (yt)]−1
nur dann negative Elemente auftreten dürfen, wenn für alle punktierten Regeln Iy , Iz , für
die q(Iy ) und q(Iz ) Komponenten von q(I) sind (also y, z ∈ {1, 2, . . . m}), δ(Iy , Ix , Iz ) = 0
gilt.)
Für den Beweis wird ausgenutzt, daß das Newton-Verfahren sich über eine TaylorEntwicklung (vgl. z.B. Stummel/Hainer (1982)) herleiten läßt. Für die Funktion T (y) (wie
in 5.10-4 definiert) ergibt die Taylor-Entwicklung an der Stelle y + h mit h := x − y
folgende Reihe (die mit dem dritten Glied endet und damit stets konvergiert)
T (y + (x − y)) = T (y) + T ′ (y)(x − y) + R(x, y)
(1)
Hierbei ist T ′ (y) die Jacobi-Matrix, ausgewertet an der Stelle y. Diese mit dem (Spalten-)
Vektor x − y multipliziert ergibt einen Vektor, dessen Komponenten die zweiten Glieder
der Taylor-Reihen der Komponentenfunktionen von T darstellen. Der Vektor R(x, y) der
dritten Glieder dieser Entwicklungen kann nicht mehr als Produkt einer Matrix von Ableitungen mit einem Vektor dargestellt werden.
Da T (y) = y − F (y), ist (für alle i und alle j, 1 ≤ i ≤ m, 1 ≤ j ≤ m) ∂y∂ i T (y) =
∂
y − ∂y∂ i F (y), wobei ∂y∂ i y = (0, 0, . . . 1, . . . 0) Spaltenvektor ist, dessen i-te Komponente
∂yi
gleich 1, während alle übrigen gleich 0 sind, und
∂2
T (y)
∂yj ∂yi
2
= − ∂y∂j ∂yi F (y) ist. Damit können
137
5 Stochastische kontextfreie Grammatiken
nun die einzelnen Komponenten des Vektors R(x, y) (die dritten Glieder der Taylor-Reihe)
dargestellt werden:
Rk (x, y) = −
1
∂
∂
∂ 2
(x1 − y1 )
+ (x2 − y2 )
+ . . . + (xm − ym )
Fk (y)
2!
∂y1
∂y2
∂ym
1
= − (x − y)T ∆k (x − y)
2
(2)
Hierbei stellt ∆k die Matrix der partiellen
zweiter Ordnung dar, deren Ele Ableitungen
2
ment in der i-ten Zeile und j-Spalte ∆k = ∂y∂i ∂yj Fk (x − y) lautet, also
ij

∆k =
















∂2
Fk (x − y)
∂y1 ∂y1
∂2
Fk (x − y)
∂y2 ∂y1
..
.
∂2
Fk (x − y) . . .
∂y1 ∂y2
∂2
Fk (x − y) . . .
∂y2 ∂y2
..
..
.
.
∂2
Fk (x − y)
∂y1 ∂ym
∂2
Fk (x − y)
∂y2 ∂ym
..
.
∂2
∂2
Fk (x − y)
Fk (x − y) . . .
∂ym ∂y1
∂ym ∂y2
∂2
Fk (x − y)
∂ym ∂ym

















Es sei angemerkt, daß entsprechend Hilfssatz 4 für k 6= k ′ die Matrizen ∆k und ∆k′ nicht
beide an der gleichen Stelle den Eintrag 1 haben.
Nach Multiplikation der Gleichung 1 (beide Seiten stellen Vektoren dar) mit der Matrix
[T ′ (y)]−1 ergibt sich die Gleichung
[T ′ (y)]−1 T (x) = [T ′ (y)]−1 T (y) + (x − y) + [T ′ (y)]−1 R(x, y)
die nach x aufgelöst werden kann:
x = y + [T ′ (y)]−1 T (x) − T (y) − [T ′ (y)]−1 R(x, y)
Für den Fixpunkt q(I) hat T eine Nullstelle, also T (q(I)) = 0, so daß, wenn x := q(I) und
y := yt gesetzt wird,
q(I) = yt − [T ′ (yt)]−1 (T (yt)) − [T ′ (yt)]−1 R(q(I), yt)
(3)
verbleibt. Damit ist eine Darstellung des Fixpunktes q(I) für beliebiges yt gegeben, wobei
jedoch R(q(I), yt) nicht bekannt ist. Wird der Summand mit diesem Term jedoch weggelassen, so wird eine Näherung yt+1 von q(I) erhalten:
yt+1 = yt − [T ′ (yt)]−1 (T (yt))
(4)
Dies ist jedoch nichts anderes als die durch Gleichung 5.10-5 gegebene Iterationsvorschrift
138
5.10 Newton-Verfahren zu Berechnung von q(I)
des Newton-Verfahrens. Wie aus Gleichung 3 und 4 unmittelbar ersichtlich ist, gilt yt+1 ≤
q(I), genau dann, wenn für den weggelassenen Summanden gilt
0 ≤ −[T ′ (y)]−1 R(q(I), yt)
(5)
Im folgenden wird nun gezeigt, daß die Voraussetzung des Satzes hinreichend ist , um diese
Bedingung zu erfüllen. Hierfür wird Rk (q(I), yt) betrachtet, wobei zwei Fälle (entsprechend
den beiden disjunktiven Termen der Voraussetzung des Satzes) unterschieden werden.
a) Es ist δ(Ii , Ik , Ij ) = 0 für alle i und alle j, 1 ≤ i ≤ m, 1 ≤ j ≤ m. Damit ist ∆k mit
Hilfssatz 2 die Nullmatrix
und mit
Gleichung 2 ist dann Rk (q(I), yt) = 0. Damit ist dann
′
−1
für alle l (1 ≤ l ≤ m) [T (yt)]
Rk (q(I), yt) = 0 (A).
lk
b) Bezüglich δ(Ii , Ik , Ij ) wird nichts vorausgesetzt. Also sind mit Hilfssatz 1 alle Elemente der
Matrix ∆k positiv und da yt ≤ q(I) ist, stellt der Ausdruck in Gleichung 2 die Summe über
ein Produkt lauter positiver Faktoren dar. Damit ist dann Rk (q(I), yt) ≤ 0. Entsprechend
dem zweiten Term der Voraussetzung ist [E − F ′ (yt)]−1
≥ 0 für alle l, 1 ≤ l ≤ n, also
lk
′
−1
sind alle Elemente
der k-ten Spalte der Matrix [E − F (yt)] = [T ′ (yt)]−1 positiv. Damit
ist [T ′ (yt)]−1 Rk (q(I), yt) ≤ 0 (B).
lk
Jedes Element des Vektors [T ′ (y)]−1 R(q(I), yt) stellt damit die Summe von Produkten, die
entsprechend A entweder 0 oder entsprechend B negativ sind, dar. Damit ist Bedingung 5
erfüllt.
Im folgenden wird weiterhin gezeigt, daß die Voraussetzung des Satzes notwendig ist, um Bedingung 5 für beliebiges yt ≤ q(I) zu erfüllen. Angenommen, die Voraussetzung des Satzes ist
nicht erfüllt. Dann gibt es ein k, 1 ≤ k ≤ m, so daß es einerseits ein i und
i≤
ein j gibt, 1 ≤
′
−1
m, 1 ≤ j ≤ m, so daß δ(Ii , Ik , Ij ) = 1 und andererseits ein l gibt, so daß [E − F (yt)]
<
lk
0. Da yt beliebig ist, kann ein spezielles yt betrachtet werden. Dieses sei in allen Komponenten, bis auf die i-te und j-te, mit q(I) gleich. Dann ist (ohne Beschränkung der Allgemeinheit kann angenommen werden, daß die Differenz von q(I) und yt in den beiden von 0
verschiedenen Komponenten gleich ist) q(I) −yt = (0, 0, . . . ǫ, . . . ǫ, 0) (Spaltenvektor, dessen
Komponenten mit Aussnahme der i-ten und j-ten alle gleich 0 sind), ǫ > 0. Mit Gleichung
2 wird damit Rk (q(I), yt) = −ǫδ(Ii , Ik , Ij )ǫ. Wie bereits angemerkt, haben die Matrizen ∆k
und ∆k′ für k 6= k ′ entsprechend Hilfssatz 4 nicht beide an der gleichen Stelle den Eintrag 1.
Damit ist für k ′ 6= k dann δ(Ii , Ik′ , Ij ) = 0 und R(q(I), yt) = (0, 0, . . . − δ(Ii , Ik , Ij )ǫ2 , . . . 0),
stellt also einen (Spalten)-Vektor dar, dessen Komponenten alle, bis auf die k-te, gleich 0
sind. Wird dieser mit der
[T ′ (y)]−1 multipliziert,
so ist die l-te
Komponente des hier
Matrix 2
′
−1
′
−1
δ(Ii , Ik , Ij )ǫ = [E −F (yt)] δ(Ii , Ik , Ij )ǫ2 < 0. Damit
bei erhaltenen Vektors [T (y)]
lk
ist aber die Bedingung der Relation 5 nicht erfüllt und es ist nicht yt ≤ q(I).
Damit ist Satz 5.10-7 bewiesen.
Die oben in Frage gestellte Anwendbarkeit des Newtonschen Verfahrens kann nun mit
folgendem Satz gezeigt werden.
Satz: Sei yt Folge entsprechend der Definiton 5.10-5, wobei yt = 0. Dann ist, wenn die
Voraussetzungen der Sätze 5.10-6 und 5.10-7 für alle t erfüllt sind,
lim yt = q(I)
t→∞
(5.10-8)
139
5 Stochastische kontextfreie Grammatiken
Beweis: Mit Satz 5.10-6 wächst die Folge yt monoton und mit Satz 5.10-7 ist sie nach
oben beschränkt (monotones Wachstum und Beschränktheit sind komponentenweise zu verstehen, d.h. jede Folge yk t wächst monoton und ist nach oben beschränkt, wobei yk t die k-te
Komponente des Vektors yt ist)
yt ≤ yt+1 ≤ q(I)
(was durch Induktion leicht gezeigt werden kann). Damit hat die Folge yt auf {x | 0 ≤ x ≤
q(I)} einen Grenzwert x und es ist
lim yt = x
t→∞
Es verbleibt noch zu zeigen, daß dieser Grenzwert gleich q(I) ist. Angenommen, dies wäre
nicht der Fall. Dann wäre x eine von q(I) verschiedene Nullstelle von T (wie in 5.10-4
definiert) und damit ein Fixpunkt von F (wie in 5.10-1 definiert). Dies steht jedoch im Widerspruch zu Satz 5.10-3. Damit muß x = q(I) sein.
In Satz 5.10-8 wird vorausgesetzt, daß die Voraussetzungen der Sätze 5.10-6 und 5.10-7 für
jedes yt gelten. Dies kann zwar bei jedem Schritt der Iteration 5.10-5 überprüft werden, aber
es kann nicht garantiert werden, daß der Grenzwert dieser Folge yt auch dann noch q(I) ist,
wenn diese Voraussetzungen nicht erfüllt sind. (Insbesondere ist es denkbar, daß die Matrix
E − F ′ (yt) nicht invertierbar ist oder einige ihrer Elemente nicht positiv sind.) Daher wird
folgende gemischte“ Iteration“ eingeführt.
”
Definition: Auf {x | 0 ≤ x ≤ q(I)} wird die Folge zt(I) wie folgt festgelegt:
z0
= 0
zt+1 =









F (zt)
zt − [T ′ (zt)]−1 T (zt
wenn die Voraussetzungen der Sätze
5.10-6 und 5.10-7 nicht erfüllt sind
wenn die Voraussetzungen der Sätze
5.10-6 und 5.10-7 erfüllt sind
(5.10-9)
Zur Vorbereitung des Beweises von Satz 5.10-11 wird eine Teilfolge ztk der obigen Folge zt
eingeführt.
Definition: Die Folge zt0 , zt1 , . . . ztk , . . . , tk ∈ IN0 , kurz als Folge ztk bezeichnet, ist eine
(evtl. endliche) Teilfolge der mit 5.10-9 definierten Folge zt, wobei das Folgenglied zt genau
dann Glied der Folge ztk ist, wenn zt nicht den Voraussetzungen der Sätze 5.10-6 und 5.10-7
genügt. (Mit anderen Worten: die Folge ztk ergibt sich aus der Folge zt, wenn alle Glieder,
die der Voraussetzung der Sätze 5.10-6 und 5.10-7 genügen, gestrichen werden.)
(5.10-10)
Für die Folge ztk werden drei Hilfssätze gezeigt.
Hilfssatz 5: Es ist, falls t0 > 0,
z0 ≤ z1 ≤ . . . zt0 −1 ≤ zt0 ≤ q(I)
Beweis: zt0 ist das erste Glied der (ursprünglichen) Folge zt, das nicht den Voraussetzungen
der Sätze 5.10-6 und 5.10-7 genügt. Dementsprechend gehen die Folgenglieder zt, 0 < t ≤ z0
140
5.10 Newton-Verfahren zu Berechnung von q(I)
entsprechend dem zweiten Zweig der Definition 5.10-9 aus ihrem Vorgänger hervor, es ist
also zt = zt−1 − [T ′ (zt−1 )]−1 T (zt−1 ) und daraus folgt mit den Sätzen 5.10-6 und 5.10-7
z0 ≤ z1 ≤ . . . zt0 −1 ≤ zt0 ≤ q(I)
Hilfssatz 6: Wenn tk + 1 ≤ tk+1 − 1 (d.h. die Glieder ztk und ztk+1 folgen in der Folge zt
nicht direkt aufeinander), k ≥ 0, ist
ztk +1 ≤ ztk +2 ≤ . . . ztk+1 −1 ≤ ztk+1 ≤ q(I)
Beweis: Die Folgenglieder zt mit tk < t < tk+1 genügen den Voraussetzungen der Sätze
5.10-6 und 5.10-7, so daß die Folgenglieder zt, tk + 1 < t ≤ ztk+1 entsprechend dem zweiten
Zweig der Definition 5.10-9 aus ihrem Vorgänger hervorgehen. Damit folgt für sie mit den
Sätzen 5.10-6 und 5.10-7, daß zt−1 ≤ zt ≤ q(I) mit tk + 1 < t ≤ tk+1 , woraus sich obige
Behauptung ergibt.
Hilfssatz 7: Die Folge zt ist nach unten durch die Folge qk(I) und nach oben durch q(I)
beschränkt, wobei die Komponenten der Folge qk(I) der Definition 5.9-5 entsprechen. Es ist
für alle t, 0 ≤ t < t0 ,
q0 (I) ≤ z0 ≤ z1 ≤ . . . zt0 ≤ q(I)
und für k > 0 ist tk−1 < t < tk , k > 0. (Anmerkung: wenn die Teilfolge ztk endlich ist, dann
gilt für das größte k nur noch die Voraussetzung tk ≤ t.)
qk(I) ≤ zt ≤ ztk ≤ q(I)
Der Beweis wird mittels Induktion über k geführt.
(i) k = 0. Es werden zwei Fälle in Abhängigkeit von t0 unterschieden.
a) t0 = 0. Dann ist zt0 = z0 = 0 (vgl. Definition 5.9-8). Da 0 ≤ q(I) ist z0 ≤ q(I).
b) t0 > 0. Mit Hilfssatz 5 ist dann z0 ≤ z1 ≤ . . . zt0 −1 ≤ zt0 ≤ q(I). Da z0 = 0 und
q0 (I) = 0 folgt in beiden Fällen die Behauptung
q0 (I) ≤ z0 ≤ z1 ≤ . . . tt0 ≤ q(I)
(ii) k > 0. Der Induktionsvoraussetzung entsprechend gilt
qk−1 (I) ≤ ztk−1 ≤ q(I)
Dies bedeutet, daß für alle Komponenten von I, also alle I ′ , I ′′ ∈ Hn , gilt
qk−1 (I ′ ) ≤ ztk−1 ≤ q(I ′ )
qk−1 (I ′′ ) ≤ ztk−1 ≤ q(I ′′ )
Sei I Komponente von I. Nach Multiplikation mit δ(I ′ , I, I ′′ ) der obigen Ungleichungsketten
und Summation über alle I ′ ∈ Hn und I ′′ ∈ Hn ergibt sich (vgl. z.B. Beweis des Satzes
5.9-13):
X
X
I ′ ∈Hn I ′′ ∈Hn
δ(I ′ , I, I ′′ )qk−1 (I ′ )qk−1 (I ′′ ) ≤
≤
X
I ′ ∈H
n
X
I ′′ ∈H
X
X
δ(I ′ , I, I ′′ )ztk−1 (I ′ )ztk−1 (I ′′ )
I ′ ∈Hn I ′′ ∈Hn
δ(I ′ , I, I ′′ )q(I ′ )q(I ′′ )
n
141
5 Stochastische kontextfreie Grammatiken
Hierbei bezeichnen ztk−1 (I ′ ) und ztk−1 (I ′′ ) die Komponenten von ztk−1 die den Komponenten
I ′ und I ′′ von I entsprechen. Der Term auf der linken Seite kann gemäß Definition 5.9-5c,
der Term in der Mitte gemäß Definition 5.10-1 und der Term auf der rechten Seite gemäß
Satz 5.7-5 ersetzt werden, womit sich für die Komponente I ergibt
qk (I) ≤ FI (ztk−1 ) ≤ q(I)
Hierbei bezeichnet FI (ztk−1 ) die der Komponente I von I entsprechende Komponente von
F (ztk−1 ). Da ztk−1 nicht den Voraussetzungen der Sätze 5.10-6 ud 5.10-7 genügt, gilt ztk−1 +1 =
F (ztk−1 ) und obige Ungleichungskette qk (I) ≤ FI (ztk−1 ) ≤ q(I) kann als
qk(I) ≤ ztk−1 +1 ≤ q(I)
geschrieben werden. Nun werden in Abhängigkeit von tk wiederum zwei Fälle unterschieden.
a) tk = tk−1 + 1. Dann ist qk(I) ≤ ztk ≤ q(I).
b) tk > tk−1 + 1. Dann ist Hilfssatz 6 anwendbar (ztk−1 +1 ≤ ztk−1 +2 ≤ . . . ztk −1 ≤ ztk ≤
q(I)) und indem in obige Ungleichungskette die entsprechenden Folgenglieder eingescho”
ben“ werden, ergibt sich die Behauptung für k und alle t, tk−1 + 1 ≤ t ≤ tk − 1,
qk(I) ≤ zt ≤ ztk ≤ q(I)
Damit ist Hilfssatz 7 bewiesen.
Satz: Die in 5.10-9 definierte Folge konvergiert gegen q(I), also
lim zt = q(I)
t→∞
(5.10-11)
Für den Beweis sind zwei Fälle zu unterscheiden.
a) Die in 5.10-10 definierte Teilfolge ztk ist endlich. Damit gibt es ein k0 ≥ k, ab dem es
kein Folgenglied zt, t ≥ tk0 gibt, das die Voraussetzungen der Sätze 5.10-6 und 5.10-7 nicht
erfüllen würde. Für t ≥ tk0 findet also ausschließlich der zweite Zweig der Definition 5.10-10
Anwendung, entsprechend der Sätze 5.10-6 und 5.10-7 wächst damit die Folge zt, t ≥ tk0 ,
monoton. Mit der Argumentation des Beweises von Satz 5.10-8 ist damit limt→∞ zt = q(I).
b) Die in 5.10-10 definierte Teilfolge ist unendlich, d.h. es gibt kein k0 , so daß für alle k dann
k ≤ k0 wäre. Wie in Hilfssatz 7 gezeigt wurde, stellt qk(I) eine untere Schranke und q(I)
eine obere Schranke dar Folge zt dar. Für alle Folgenglieder zt mit tk−1 < t ≤ tk (A1) gilt
qk(I) ≤ zt ≤ q(I) (A2). Daß limk→∞ (I) = q(I) bedeutet, daß es zu jedem ǫ > 0 ein k0 gibt,
so daß alle q(I) mit k ≥ k0 in einer entsprechenden ǫ-Umgebung um q(I) liegen. Für jedes
dieser k ≥ k0 gilt Relation A1 mit entsprechender Relation A2. Damit liegen also auch alle
zt mit t ≥ t0 , t0 := tk0 −1 + 1 in der obigen ǫ-Umgebung um q(I). Zu jedem ǫ gibt es also
auch ein t0 , das der zugrundegelegten Definition des Grenzwertes einer Folge genügt. Damit
ist dann auch limt→∞ = q(I).
Damit ist gezeigt, daß die mit 5.10-9 definierte Iteration angewendet werden kann. Diese
vereinigt den Vorteil der schnelleren Konvergenz des Newton-Verfahrens mit dem Vorteil
der praktischen Voraussetzungsfreiheit der Iteration von F (wie in 5.10-1 definert).
142
5.11 Sortieralgorithmen
5.11 Zwei Sortieralgorithmen
In den vorigen Abschnitten wurde beschrieben, wie für die punktierte Regel I = A→α.β, i, j
die Wahrscheinlichkeit q(I) berechnet werden kann. Hierbei ist q(I) die Summe der Wahrscheinlichkeiten aller Ableitungen α ⇒∗ ui+1 . . . uj . Hierbei war jedoch nicht die explizite
Kenntnis irgendwelcher Ableitungen, also Folgen von Regeln pi1 pi2 . . . pimi ∈ P ∗ notwendig,
sondern nur die Kenntnis des Hypergraphen (Hn , hn ), der u.a. eine implizite Darstellung
aller möglicher Ableitungen S ⇒∗ u1 . . . un ist.
Da im allgemeinen unendlich viele Ableitungen möglich sind, ist deren explizite Aufzählung
unmöglich. In den Fällen, wo tatsächlich nur endlich viele Ableitungen existieren, ist mit
einer kombinatorischen Explosion derer Anzahl zu rechnen, da die Ableitung S ⇒∗ u1 . . . un
durch die Kombination von Teilableitungen (also punktierter Regeln) gewonnen wird, die
ihrerseits auf die Kombination anderere Teilableitungen zurückgeführt werden, usw. und es
bei jeder dieser Kombinationen i.allg. mehrere Möglichkeiten gibt. Daher soll im folgenden
Abschnitt ein Verfahren angegeben werden, mit dem es möglich ist, die m wahrscheinlichsten Ableitungen (A) S ⇒∗ u1 . . . un in der Reihenfolge mit abnehmender Wahrscheinlichkeit
aus (Hn , hn ) zu generieren. (Sollte die Anzahl aller Ableitungen kleiner als m sein, so werden entsprechend alle Ableitungen (in der Reihenfolge abnehmenerder Wahrscheinlichkeit)
erzeugt.)
An dieser Stelle sei, um etwaigen Mißverständnissen vorzubeugen, auf folgendes sprachliche
Problem hingewiesen: Der in Abschnitt 5.6 mit Hilfe des Ableitungsbaums“ beschriebene
”
stochastische Prozeß liefert alle möglichen Ableitungen (ausgehend von dem Startsymbol S).
Hierunter gibt es sicherlich eine wahrscheinlichste Ableitung (B), so wie jeder stochastischer
Prozeß einen wahrscheinlichsten Verlauf hat. Es ist jedoch durch nichts gewährleistet (auch
nicht mit der im folgenden Abschnitt beschriebenen Optimierung), daß diese Ableitung den
Satz u1 . . . un liefert. Diese Ableitung B ist mit der oben genannten wahrscheinlichsten Ab”
leitung (A)“ auch nicht gemeint. Vielmehr handelt es sich bei der betreffenden Ableitung
um die Ableitung, die erhalten wird, wenn für alle Ableitungen, die ausgehend von S den
Satz u1 . . . un liefern, jeweils deren Wahrscheinlichkeiten ermittelt und dann jene mit der
größten Zahl gewählt wird. (Diese Zahl kann, im Vergleich mit der Wahrscheinlichkeit für
B, sogar sehr klein sein.) Man könnte diese Ableitung A vielleicht als plausibelste“ Ablei”
tung bezeichnen. Im Angelsächsischen wird in diesem Zusammenhang übrigens der Begriff
“most likely” verwendet. Dieser wird im folgenden, sollten Mißverständnisse möglich sein,
verwendet werden.
Im folgenden sollen einige Definitionen und Hilfssätze eingeführt werden, um anschließend
einige Algorithmen zur Lösung obigen Problems formulieren zu können.
Zuvor sollen jedoch die für diese Algorithmen grundlegenden Ideen skizziert werden. Seien
A =: {a1 , a2 , . . . } und B := {b1 , b2 . . . } zwei (nicht unbedingt endliche Mengen), deren
Elemente bereits geordnet sind, also a1 > a2 > . . . und b1 > b2 > . . . Sei weiterhin C :=
{a · b | a ∈ A, b ∈ B}, die Menge aller Produkte, deren Faktoren aus A und B stammen.
Gefragt werde nun nach der Ordnung der Elemente c ∈ C. Diese können in Form einer
Matrix Cij dargestellt werden, wobei cij := ai · bj ist:






c11 c12 c13
c21 c22 c23
c31 c32 c33
..
..
..
.
.
.
...
...
...
..
.






143
5 Stochastische kontextfreie Grammatiken
..
.
..
.
..
.
..
.
..
.
..
.
..
.
...
...
...
...
...
..
.
Abb. 5.11-1: Eine endliche und eine unendliche Teilmenge einer Matrix — jeweils mit rechteckiger
Struktur.
Offensichtlich gilt für jede Zeile i, daß ci1 > ci2 > ci3 > . . . und jede Spalte j, daß
c1j > c2j > c3j > . . . Für eine beliebige rechteckige Teilstruktur (vgl. Abb. 5.11-1) heißt
das, daß das in der linken oberen rechten Ecke eines solchen Rechtecks stehende Element
das größte aller Elemente innerhalb des Rechteckes ist. Wird nun eine Teilmenge von C
betrachtet, die die in Abb. 5.11-2a widergegebene treppenförmige Struktur aufweist, so läßt
sich diese als Vereinigungsmenge rechteckiger Teilstrukturen beschreiben (vgl. Abb. 5.11-2b).
Da das Element in der linken oberen Ecke eines solchen Rechteckes alle Elemente des Rechteckes dominiert, muß das größte Element der treppenartigen Teilmenge von C einer deren
konvexen“ Eckelemente sein. Wird eines dieser konvexen Eckelemente entfernt, so weist die
”
dann verbleibende Teilmenge von C immer noch eine treppenartige Struktur auf und an die
Stelle des entsprechenden Rechteckes treten zwei neue (vgl. Abb. 5.11-2c). Da diese neuen
Rechtecke bereits in vorhandenen liegen können (aber nicht unbedingt müssen), nimmt die
Anzahl aller Rechtecke nach Wegnahme eines Eckelementes also höchstens um 1 zu. Wird
sukzessive das jeweils größte Eckelement entfernt, so wird die Folge, die aus dem größten,
zweit-, drittgrößten, usw. Element von C besteht, erhalten. Hierbei sind zu einem Zeitpunkt
aber höchstens O(m) (und nicht etwa O(m2 )) Elemente von C zu betrachten, wobei m die
Mächtigkeit von A bzw. B ist (genauer m = min {|A|, |B|}). Günstigerweise wird die Menge
dieser Eckelemente als geordnete Liste geführt, deren erstes Element das jeweils größte ist
und in die bei jedem Schritt höchstens zwei neue Elemente einzufügen sind. (Die Darstellung
dieser Liste als Baum ermöglicht sogar das Einfügen eines Elementes in O(ld m) (anstelle
von O(m)) Schritten.)
a
..
.
..
.
..
.
..
.
..
.
..
.
..
.
...
...
...
...
...
...
...
..
.
b
..
.
..
.
..
.
..
.
..
.
..
.
..
.
...
...
...
...
...
...
...
..
.
c
..
.
..
.
..
.
..
.
..
.
..
.
..
.
...
...
...
...
...
...
...
..
.
Abb. 5.11-2 (von links nach rechts): a) eine Teilmenge einer Matrix, die eine treppenförmige Struktur aufweist, b) deren Darstellung als Vereinigungsmenge von Teilmengen mit rechteckiger Struktur,
und c) die Zerlegung einer rechteckigen Struktur in zwei weitere Rechtecke nach Entfernen derer
linken oberen Ecke.
144
5.11 Sortieralgorithmen
Die Grundidee für den anderen Algorithmus ist einfacher. Seien A1 := {a1,1 , a12 , . . . }, A2 :=
{a2,1 , a2,2 , . . . }, . . . AnA := {anA ,1 , anA,2 , . . . } Mengen, deren Elemente ebenfalls sortiert
sind, also a1,1 > a12 > . . . , a2,1 > a2,2 > . . . , . . . anA ,1 > anA ,2 > . . . Gefragt sei nun
nach der Ordnung der Elemente der Vereinigungsmenge A1 ∪ A2 . . . AnA . Diese wird durch
Mischen“ der Folgen a1,1 , a12 , . . . , A2 := {a2,1 , a2,2 , . . . }, . . . und AnA := {anA ,1 , anA ,2 , . . . }
”
erhalten. Hierbei müssen zu einem Zeitpunkt nur O(nA ) (und nicht O(|A1 |+|A2 |+. . . |AnA |))
Elemente betrachtet werden.
Im folgenden wird anstelle der Multiplikation eine Operation ◦ und statt der Größer-Relation
eine Relation →R verwendet. Hierdurch kann einerseits der Algorithmus so allgemein formuliert werden, daß er auch für punktierte Regeln anwendbar ist; andererseits kann sichergestellt
werden, daß sich jedes Element aus C als eindeutige Verknüpfung von Elementen aus A und
B ergibt.
Definition: Sei D eine Menge mit der Relation →R und der Abbildung ◦ : D × D→D. Die
Relation →R sei totale Ordnung (s. Abschnitte 2.2 und 2.3). Die Abbildung ◦ habe folgende
Monotonie-Eigenschaft“:
”
∀a, b, c ∈ D : a →R b ⇒ a ◦ c →R b ◦ c und c ◦ a →R c ◦ b
(5.11-1)
Satz: Ist a, b, c, d ∈ D und ist a →R b und c →R d, so ist
a ◦ c →R b ◦ d
(5.11-2)
Beweis: Mit 5.11-1 ist a ◦ c →R b ◦ c, sowie b ◦ c →R b ◦ d. Als totale Ordnung ist →R
transitiv und es folgt unmittelbar die Behauptung.
Definition: Sei A Teilmenge von D. Das Element a ∈ A heißt erstes bzw. größtes Element
von A, wenn gilt
∀x ∈ A \ {a} : a →R x
(5.11-3)
Anmerkung: Obwohl D total geordnet ist und damit auch A, existiert ein derartiges Element
nicht notwendigerweise, wie das Beispiel der natürlichen Zahlen zeigt, wenn als Relation →R
die Relation > (in der üblichen Bedeutung als größer als“) gewählt wird.
”
Definition: Sei A Teilmenge von D. Das Element ak ∈ A heißt k-tes bzw. k-tgrößtes Element
Sk−1
von A, wenn ak das größte Element von A \ i=1
{ai } ist, also (mit Definition 5.11-3):
∀x ∈ A \
k
[
{ai } : ak →R x
i=1
(5.11-4)
Anmerkung: Ein derartiges Element existiert nicht notwendigerweise, selbst wenn a1 bis
ak−1 existierten. Als Beispiel diene die Menge ({1, 2, 3, } ∪ {1 − n1 | n ∈ IN}) ⊆ IR (mit der
145
5 Stochastische kontextfreie Grammatiken
Relation >), für die das größte, zweit- und drittgrößte Element definiert sind, nicht jedoch
das viertgrößte (und damit auch nicht das fünft-, sechst-, usw. -größte).
Satz: Ist A endlich und nicht leer, so ist ak , das k-tgrößte Element, für alle k, 1 ≤ k ≤ |A|
definiert.
(5.11-5)
Der Beweis: erfolgt mittels Induktion über k.
(I) k = 1. Es wird gezeigt, daß A ein größtes Element enthält. Dies geschieht mittels Induktion über die Mächtigkeit m := |A|.
(i) m = 1. Dann enthält A nur ein einziges Element a1 und das ist das größte, da Definition
5.11-3 erfüllt ist. (A \ {a1 } ist leer, und somit gibt es kein Element x ∈ A \ {a1 }, für das
nicht gälte a1 →R x.)
(ii) m > 1. Dann enthält A ein Element a, so daß A′ := A \ {a} nichtleer. Da |A′ | = |A| − 1
gilt mit Induktionsvoraussetzung, daß A′ ein größtes Element a′1 enthält, also ∀x ∈ A′ \ a′1 :
a′1 →R x. Da →R asymmetrisch (vgl. Abschnitt 2.3), ist entweder a′1 →R a und es gilt damit
∀x ∈ (A′ \ {a′1 }) ∪ {a} : a′1 →R x oder es ist a →R a′1 , so daß (in Verbindung mit der
Transitvität von →R ) gilt ∀x ∈ (A′ \ {a′1 }) ∪ {a′1 } : a →R x. Wird A′ mit der Definition
ersetzt, so wird entweder ∀x ∈ A \ {a′1 } : a′1 →R x oder ∀x ∈ A \ {a} : a →R x erhalten. Mit
Definition 5.11-3 hat damit A ein größtes Element.
Mit i und ii ergibt sich, daß A für beliebige (jedoch endliche) Mächtigkeit ein größtes Element
aufweist.
(II) k > 1 (mit der Einschränkung k ≤ |A|). Nach Induktionsvoraussetzung sind für A das
größte bis (k − 1)-tgrößte Element definiert. Seien diese a1 , a2 , . . . ak−1 . Da k ≤ |A| ist
Sk−1
A′ := A \ i=1
{ai } nicht leer. Wie in I gezeigt, weist A′ ein größtes Element auf. Dieses ist
mit der Definition von A′ und Definition 5.11-4 das k-tgrößte von A.
Mit I und II folgt die Behauptung.
Definition: Sei D ∗ die Menge aller Folgen (endlicher Länge l) über D. Für alle derartigen
Folgen (d1 , d2 , . . . dl ) ∈ D ∗ mit d1 →R d2 →R . . . dl wird die (partielle) Funktion insert :
D × D ∗→D ∗ folgendermaßen definiert:
insert(d0 , (d1 , d2 , . . . dl )) = (d′1 , d′2, . . . d′l+1 )
wobei
l+1
[
{d′i } = d0 ∪
i=1
und
l
[
{di}
i=1
d′1 →R d′2 →R . . . d′l+1
(5.11-6)
Definition:
1. Im folgenden ist m ∈ IN eine frei gewählte Konstante.
2. Seien A und B Teilmengen von der in 5.11-1 definierten Menge. Es wird gefordert, daß
für alle a, a′ ∈ A und b, b′ ∈ B mit (a, a′ ) 6= (b, b′ ) gilt, daß a ◦ b 6= a′ ◦ b′ .
Sollte A oder B nicht endlich sein, so wird zusätzlich gefordert, daß für alle k ∈ IN das
k-tgrößte Element ak ∈ A bzw. bk ∈ B existiert.
146
5.11 Sortieralgorithmen
3. In Ergänzung zu Punkt 1 wird definiert: mA := min {m, |A|} und mB := min {m, |B|}.
4. Es ist existieren dann zwei Folgen a1 , a2 , . . . amA und b1 , b2 , . . . bmB . (Die Frage danach,
wie diese Folgen ermittelt werden, bleibe an dieser Stelle offen.) Für diese Folgen gilt
der Definition des k-tgrößten Elementes entsprechend für alle i und j, 1 ≤ i < j und
j ≤ mA bzw. j ≤ mB , daß ai →R aj und bi →R bj .
(5.11-7)
Definition: Mit den Mengen A und B und der Konstanten m wird die Menge C wie folgt
definiert:
C := {ai ◦ bj | 1 ≤ i ≤ mA ∧ 1 ≤ j ≤ mB }
Entsprechend zu Definition 5.11-7, Punkt 3, wird mC := min {m, mA mB } festgelegt.
(5.11-8)
Definition: Der Definition 5.11-7, Punkt 2, entsprechend, kann jedes Element c ∈ C eindeutig
als Verknüpfung eines Elementes ai ∈ A, 1 ≤ i ≤ mA , und eines Elementes bj ∈ B, 1 ≤ j ≤
mB , dargestellt werden. Damit können die Funktionen i: C→IN, c 7→ i(c) und j: C→IN, c 7→
j(c) festgelegt werden. Es ist
c = ai(c) ◦ bj(c)
(5.11-9)
Die Definition 5.11-8 legt die Darstellung der Menge C in Form einer Tabelle nahe:
a1 ◦ b1
a2 ◦ b1
a3 ◦ b1
a4 ◦ b1
a5 ◦ b1
..
.
a1 ◦ b2
a2 ◦ b2
a3 ◦ b2
a4 ◦ b2
a5 ◦ b2
..
.
a1 ◦ b3
a2 ◦ b3
a3 ◦ b3
a4 ◦ b3
a5 ◦ b3
..
.
a1 ◦ b4
a2 ◦ b4
a3 ◦ b4
a4 ◦ b4
a5 ◦ b4
..
.
a1 ◦ b5
a2 ◦ b5
a3 ◦ b5
a4 ◦ b5
a5 ◦ b5
..
.
...
...
...
...
...
..
.
a1 ◦ bmB
a2 ◦ bmB
a3 ◦ bmB
a4 ◦ bmB
a5 ◦ bmB
..
.
amA ◦ b1 amA ◦ b2 amA ◦ b3 amA ◦ b4 amA ◦ b5 . . . amA ◦ bmB
Zur Formulierung des (ersten) Sortieralgorithmus werden bestimmte Teilmengen von C, hier
als stufenförmig bezeichnet, benötigt, wofür folgende ein Beispiel darstellt:
a5 ◦ b1
..
.
a3 ◦ b2
a4 ◦ b2
a5 ◦ b2
..
.
a3 ◦ b3
a4 ◦ b3
a5 ◦ b3
..
.
a1 ◦ b4
a2 ◦ b4
a3 ◦ b4
a4 ◦ b4
a5 ◦ b4
..
.
a1 ◦ b5
a2 ◦ b5
a3 ◦ b5
a4 ◦ b5
a5 ◦ b5
..
.
...
...
...
...
...
..
.
a1 ◦ bmB
a2 ◦ bmB
a3 ◦ bmB
a4 ◦ bmB
a5 ◦ bmB
..
.
amA ◦ b1 amA ◦ b2 amA ◦ b3 amA ◦ b4 amA ◦ b5 . . . amA ◦ bmB
147
5 Stochastische kontextfreie Grammatiken
Definition: Eine Teilmenge Ĉ ⊆ C heiße stufenförmig, wenn sie folgende Bedingung erfüllt:
c ∈ Ĉ =⇒
i(c) = mA ∨ ai(c)+1 ◦ bj(c) ∈ Ĉ
∨ j(c) = mB ∨ ai(c) ◦ bj(c)+1 ∈ Ĉ
(5.11-10)
Definition: Ein Element c̄ ∈ Ĉ heißt Eckelement, wenn
i(c) = 1 ∨ ai(c)−1 ◦ bj(c) ∈
6 Ĉ
∧ j(c) = 1 ∨ ai(c) ◦ bj(c)−1 6∈ Ĉ
(5.11-11)
Definition: Sei c Element von C. Hierfür wird R̂(c) definiert als:
R̂(c) := {ai ◦ bj | i(c) ≤ i ≤ mA ∧ j(c) ≤ j ≤ mB }
(5.11-12)
R̂(c) ist der größtmögliche rechteckige Ausschnit aus C (bei der tabellenartigen Darstellung
von C), so daß c die linke obere Ecke dieses Rechteckes besetzt.
Hilfssatz 1: c = aic(c) ◦ bj(c) ist das erste (bzw. größte) Element von R̂(c).
Beweis: Entsprechend der Indizierung der Elemente von A und B gemäß 5.11-7 ist für alle i,
i(c) ≤ i ≤ mA , ai(c) →R ai und für alle j, j(c) ≤ j ≤ mB , bj(c) →R aj . Mit Satz 5.11-2 ergibt
sich die Behauptung ai(c) ◦ bj(c) →R ai ◦ aj .
Hilfssatz 2: Ist Ĉ ⊆ C stufenförmig und ist c̄ ∈ Ĉ Eckelement, so ist Ĉ \ {c̄} ebenfalls stufenförmig.
Beweis: Angenommen, Ĉ \ {c̄} wäre nicht stufenförmig. Dann wäre die Bedingung der Definition 5.11-10 nicht erfüllt und es gäbe ein c ∈ Ĉ \ {c̄}, c = ai(c) ◦ bj(c) , so daß
i(c) 6= mA ∧ ai(c)+1 ◦ bj(c) ∈
6 Ĉ \ {c̄}
∨ j(c) 6= mB ∧ ai(c) ◦ bj(c)+1 ∈
6 Ĉ \ {c̄}
Es werden nun zwei Fälle unterschieden.
a) Es gilt der erste Teil (erste Zeile) obiger Disjunktion. Da Ĉ \ {c̄} ⊂ Ĉ ist auch c ∈ Ĉ
und Definition 5.11-10 entsprechend ist dann u.a. i(c) = mA ∨ ai(c)+1 ◦ bj(c) ∈ Ĉ. Hiervon
muß ai(c)+1 ◦ bj(c) ∈ Ĉ zutreffen, da mit dem ersten Term der Annahme i(c) 6= mA ist. Mit
dem zweiten Term der Annahme ist aber ai(c)+1 ◦ bj(c) 6∈ Ĉ \ {c̄}, so daß ai(c)+1 ◦ bj(c) = c̄
sein muß. Da aber auch c̄ = ai(c̄) ◦ bj(c̄) , ist i(c) = i(c̄) − 1 und j(c) = j(c̄).. Damit ist
c = ai(c) ◦ bj(c) = ai(c̄)−1 ◦ bj(c̄) , was jedoch im Widerspruch dazu steht, daß c̄ Eckelement ist.
b) Es gilt der zweite Teil (zweite Zeile) obiger Disjunktion. Analog zu a ergibt sich dann
c = ai(c) ◦ bj(c) = ai(c̄) ◦ bj(c̄)−1 , ebenfalls im Widerspruch dazu, daß c̄ Eckelement ist.
Damit führt die Annahme, daß Ĉ \ {c̄} nicht stufenförmig, auf jeden Fall zu einem Widerspruch, womit Hilfssatz 2 bewiesen ist.
148
5.11 Sortieralgorithmen
Satz: Sind c̄1 und c̄2 , c̄1 6= c̄2 , Eckelemente von Ĉ ⊆ C, so ist
und
und
i(c̄1 ) 6= i(c̄2 )
j(c̄1 ) 6= j(c̄2 )
i(c̄1 ) < i(c̄2 ) ⇐⇒ j(c̄1 ) > j(c̄2 )
(5.11-13)
Beweis: Im ersten Teil werden die ersten beiden Zeilen der Behauptung gezeigt.
Es wird angenommen, daß i(c̄1 ) = i(c̄2 ).
Wird weiterhin angenommen, daß j(c̄1 ) = j(c̄2 ). Dann wäre c1 = ai(c̄1 ) ◦bj(c̄1 ) = ai(c̄2 ) ◦bj(c̄2 ) =
c2 , was im Widerspruch zur Voraussetzung c1 6= c2 ist.
Ohne Beschränkung der Allgemeinheit soll angenommen werden, daß j(c̄1 ) < j(c̄2 ) ist (c̄1
und c̄2 können vertauscht werden). (j(c̄1 ) = j(c̄2 ) kommt nicht in Frage. Dann wäre nämlich
c1 = ai(c̄1 ) ◦ bj(c̄1 ) = ai(c̄2 ) ◦ bj(c̄2 ) = c2 , was im Widerspruch zur Voraussetzung c1 6= c2 ist.)
Es ist c̄1 = ai(c̄1 ) ◦ bj(c̄1 ) . Mit Definition 5.11-10 gibt es dann eine Folge von Elementen aus
Ĉ, nämlich ai(c̄1 ) ◦ bj(c̄1 )+1 , ai(c̄1 ) ◦ bj(c̄1 )+2 , . . . ai(c̄1 ) ◦ bmB . Da j(c̄1 ) < j(c̄2 ) gibt es ein k ≥ 1,
so daß c̄2 = ai(c̄2 ) ◦ bj(c̄2 ) = ai(c¯1 ) ◦ bj(c̄1 )+k , womit aber c̄2 nicht Eckelement ist (da nämlich
ai(c̄1 ) ◦ bj(c̄1 )+k−1 ∈ Ĉ. Dies stellt einen Widerspruch zur Voraussetzung des Satzes dar, also
muß die Annahme i(c̄1 ) = i(c̄2 ) falsch sein.
Entsprechend kann j(c̄1 ) 6= j(c̄2 ) gezeigt werden.
Im zweiten Teil des Beweises wird nun die letzte Zeile der Behauptung gezeigt.
Mit dem linken Teil der zu zeigenden Äquivalenz sei i(c̄1 ) < i(c̄2 ). Es werde (entgegen
dem rechten Teil) angenommen, daß j(c̄1 ) < j(c̄2 ). Sei ki := i(c̄2 ) − i(c̄1 ), ki ≥ 1 und
kj := j(c̄2 ) − j(c̄1 ), kj ≥ 1. Da c̄1 = ai(c̄1 ) ◦ bj(c̄1 ) gibt es mit Definition 5.11-10 dann eine Folge von Elementen aus Ĉ, nämlich ai(c̄1 ) ◦bj(c̄1 ) , ai(c̄1 ) ◦bj(c̄1 )+1 , ai(c̄1 ) ◦bj(c̄1 )+2 , . . . , ai(c̄1 ) ◦bj(c̄1 )+kj ,
ai(c̄1 )+1 ◦ bj(c̄1 )+kj , ai(c̄1 )+2 ◦ bj(c̄1 )+kj , . . . ai(c̄1 )+ki ◦ bj(c̄1 )+kj . Da ai(c̄1 )+ki ◦ bj(c̄1 )+kj = c̄2 =
ai(c̄2 ) ◦ bj(c̄2 ) ist dessen Vorläuferelement ai(c̄1 )+ki −1 ◦ bj(c̄1 )+kj = ai(c̄2 )−1 ◦ bj(c̄2 ) Element von
Ĉ, womit dann c̄2 nicht Ecktelement sein kann. Dies stellt einen Widerspruch dar, also muß
j(c̄1 6≤ j(c̄2 ) sein. Mit dem ersten Teil des Satzes (zweite Zeile) folgt daraus j(c̄1 > j(c̄2 )
sein, womit i(c̄1 < i(c̄2 ) =⇒ j(c̄1 > j(c̄2 ) gezeigt ist.
Analog dazu kann j(c̄2 < i(c̄1 ) =⇒ i(c̄2 > j(c̄1 ) gezeigt werden, womit dann die obige
Äquivalenz gezeigt ist.
Korollar: Es ist möglich, die Eckelemente c1 , c2 . . . ∈ Ĉ so zu ordnen, daß für die entsprechende Folge ck1 , ck2 , . . . , k1 , k2 , . . . ∈ {1, 2, . . . } dann i(ck1 ) < i(ck2 ) < . . . und j(ck1 ) > j(ck2 ) ) >
. . . gilt.
Beweis: Eine derartige Folge, so daß eine dieser beiden Ungleichungsketten gilt, ist sicherlich möglich. (Dies ergibt sich aus dem ersten Teil von Satz 5.11-13, demzufolge die Indizes der Eckelemte paarweise verschieden sind, und daraus, daß < bzw. > eine totale Ordnung auf den natürlichen Zahlen darstellt.) Ohne Beschränkung der Allgemeinheit sei dann
i(ck1 ) < i(ck2 ) < . . . . Die zweite Ungleichungskette ergibt sich aus dem zweiten Teil von Satz
5.11-13, indem dieser sukzessive auf jeweils zwei Eckelemente angwandt wird, deren Indizes
in obiger Ungleichungskette unmittelbar aufeinanderfolgen.
149
5 Stochastische kontextfreie Grammatiken
Satz: Sind c̄1 und c̄2 Eckelement von Ĉ, c̄1 6= c̄2 , so ist c̄1 6∈ R̂(c̄2 ).
(5.11-14)
Beweis: Wäre c̄1 ∈ R̂(c̄2 ), so wäre Definition 5.11-12 entsprechend i(c̄2 ) ≤ i(c¯1 ) und j(c̄2 ) ≤
j(c̄1 ). Dies steht jedoch im Widerspruch zu Satz 5.11-12.
Algorithmus zur Bestimmung von c1 →R c2 →R . . . , c1 , c2 , . . . ∈ C:
Sei eine Menge C gemäß Definition 5.11-8 gegeben, wobei die entsprechenden zugrundeliegenden Mengen A und B der Definition 5.11-7 genügen. Es wird eine Folge von Teilmgenen
C̄k ⊆ C wie folgt definiert:
(i)
C̄1 := {a1 ◦ b1 }
(ii) Für k, 0 < k ≤ mC ist
C̄k+1 := C̄k \ {ck } ∪ Cr,k ∪ Cu,k
wobei ck das größte Element (siehe Definition 5.11-3) von C̄k ist, Cr,k aus dem rechts
(bezogen auf die Tabellendarstellung) von ck stehenden Element besteht, falls dieses
existiert und sonst leer ist und Cuk das unterhalb von ck stehende Element enthält,
falls dieses existiert und ansonsten leer ist. Die formalen Definitionen von Cr,k und Cu,k
lauten:
Cr,k :=
(
∅ wenn j(ck ) = mB oder ∃c ∈ C̄k : j(c) = j(ck ) + 1
{c′k := ai(ck ) ◦ bj(ck )+1 } sonst
Cu,k :=
(
∅ wenn i(ck ) = mA oder ∃c ∈ C̄k : i(c) = i(ck ) + 1
{c′′k := ai(ck )+1 ◦ bj(ck ) } sonst
(5.11-15)
Die Folge der Elemente c1 , c2 , . . . cmC stellt die Folge des größten, zweitgrößten, bis mC tgrößten Elements aus C dar.
Anmerkung: Zur Vereinfachung der Ermittlung von ck als größtem Element von C̄k bietet sich
eine Modifikation des Algorithmus an, daß anstelle der Menge C̄k die geordnete Folge c̄k,1 →R
c̄k,1 →R . . . c̄k,|C̄k | der Elemente von C̄k betrachtet wird. Die C̄k+1 entsprechende Folge wird
dann mittels der in 5.11-6 definierten Funktion insert erhalten (wobei entsprechend der
Existenz oder Nichtexistenz der Elemente c′k und c′′k vier Fälle zu unterscheiden sind):
(c̄k+1,1, c̄k+1,2 , . . . c̄k+1,|C̄k+1| ) =
Es ist dann jeweils ck = c̄k,1 .
150















(c̄k,2 , c̄k,2, . . . c̄k,|C̄k | )
wenn
und
′
insert(ck , (c̄k,2, c̄k,2, . . . c̄k,|C̄k | ))
wenn
′′
insert(ck , (c̄k,2, c̄k,2, . . . c̄k,|C̄k | ))
wenn
insert(c′k (insert(c′′k , (c̄k,2, c̄k,2 , . . . c̄k,|C̄k | ))) sonst
Cr,k = ∅
Cu,k = ∅
Cr,k = ∅
Cu,k = ∅
5.11 Sortieralgorithmen
Für den Beweis der Korrektheit des Algorithmus wird (mittels Induktion) gezeigt, daß jeweils
Sk−1
S
ck das größte Element von C \ i+1
{ci } = c∈C̄k R̂(c) und damit das k-tgrößte Element von
C (vgl. Definition 5.11-4) ist.
(i) k = 1. Es ist C̄1 := {a1 ◦ b1 } mit dem einzigen und daher größtem Element c1 = a1 ◦ b1 .
S
S
Es ist C \ 0i=1 {ci } = C \ ∅ = C = R̂(c1 ) = c∈C̄1 R̂(c), wobei das dritte Gleichheitszeichen
wegen den Definitionen 5.11-8 und 5.11-12 gilt. Da Hilfssatz 1 entsprechend c1 das größte
Element von R̂(c1 ) ist, folgt die Behauptung.
(ii) k > 1. ck ist der Definition des Algorithmus nach das größte Element von C̄k . Es ist zu
Sk−1
S
zeigen, daß ck auch das größte Element von C \ i=1
{ci } = c∈C̄k R̂(c) ist.
S
Sei c̃ ∈ c∈C̄k R̂(c) beliebig. Dann gibt es ein c ∈ C̄k , so daß c̃ ∈ R̂(c). Da ck das größte
Element von C̄k , ist ck →R c. Weiterhin ist mit Hilfssatz 1 c →R c̃. Damit ist ck →R c̃ und
S
S
da c̃ ∈ c∈C̄k R̂(c) beliebig, ist ck das größte Element von c∈C̄k R̂(c).
Sk−1
S
Es verbleibt noch die Identität der beiden Mengen C \ i=1
{ci } und c∈C̄k R̂(c) zu zeigen.
Entsprechend der Induktionsvoraussetzung ist
⇐⇒
⇐⇒
C\
Sk−2
S
i=1 {ci }
=
c∈C̄k−1 R̂(c)
Sk−2
S
C \ i=1 {ci } \ {ck−1 } =
c∈C̄k−1 R̂(c) \ {ck−1 }
Sk−1
S
C \ i=1 {ci }
=
c∈C̄k−1 \{ck−1 } R̂(c) ∪ R̂(ck−1 ) \ {ck−1 }
Da gemäß Satz 5.11-14 ck−1 6∈ R̂(c) für alle Eckelemente c 6= ck−1 ist, kann die rechte Seite
der letzten Gleichung umgeschrieben werden:
[
c∈C̄k−1 \{ck−1 }
R̂(c) ∪ R̂(ck−1 ) \ {ck−1 } =
[
c∈C̄k−1 \{ck−1 }
R̂(c) ∪ R̂(ck−1 ) \ {ck−1 }
(A)
Es wird nun der Term R̂(ck−1) \ {ck−1 } betrachtet. Hierfür werden die in Definition 5.11-12
auftretenden Ungleichungen (für ck−1 ) umgeformt.
i(ck−1 ) ≤ i ≤ mA
i = i(ck−1 ) ∧ j = j(ck−1 )
=
=
∨
∨
∨
∧ j(ck−1 ) ≤ j ≤ mB
i = i(ck−1 ) ∨ i(ck−1 ) + 1 ≤ i ≤ mA
i = i(ck−1 ) ∧ j(ck−1 ) + 1 ≤ j ≤ mB
j = j(ck−1 ) ∧ i(ck−1 ) + 1 ≤ i ≤ mA
∧ j = j(ck−1 ) ∨ j(ck−1 ) + 1 ≤ j ≤ mB
i(ck−1 ) + 1 ≤ i ≤ mA ∧ j(ck−1 ) + 1 ≤ j ≤ mB
Die Bedingung der letzten Zeile kann doppelt aufgeführt werden (und zusätzlich zwischen
die zweite und dritte Zeile eingefügt werden), ohne daß sich etwas ändert:
=
∨
∨
∨
∨
i = i(ck−1 ) ∧ j = j(ck−1)
i = i(ck−1 ) ∧ j(ck−1) + 1 ≤ j ≤ mB
i(ck−1 ) + 1 ≤ i ≤ mA ∧ j(ck−1 ) + 1 ≤ j ≤ mB
j = j(ck−1 ) ∧ i(ck−1 ) + 1 ≤ i ≤ mA
i(ck−1 ) + 1 ≤ i ≤ mA ∧ j(ck−1 ) + 1 ≤ j ≤ mB
151
5 Stochastische kontextfreie Grammatiken
=
∨
∨
i = i(ck−1 ) ∧ j = j(ck−1)
i(ck−1 ) ≤ i ≤ mA ∧ j(ck−1 ) + 1 ≤ j ≤ mB
i(ck−1 ) + 1 ≤ i ≤ mA ∧ j(ck−1 ) ≤ j ≤ mB
Zuletzt wurden schließlich die zweite und dritte und die vierte und fünfte Zeile zusammengefaßt (indem die jeweils gemeinsame Ungleichungskette ausgeklammert“ wurde). Damit
”
kann nun (vgl. Definition 5.11-12)
R̂(ck−1 )\{ck−1} = {ai ◦bj | i(ck−1 ) ≤ i ≤ mA ∧ j(ck−1 ) ≤ j ≤ mB ∧ (i, j) 6= (i(ck−1 ), j(ck−1 ))}
als
R̂(ck−1 ) \ {ck−1} = R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) ∪ R̂(ai(ck−1 )+1 ◦ bj(ck−1 ) )
geschrieben werden. Damit wird nun obige Gleichung A zu
C\
k−1
[
i=1
{ci } =
[
c∈C̄k−1 \{ck−1 }
R̂(c) ∪ R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ∪ R̂(ai(cc−1 )+1 ◦ bj(ck−1 )
(B)
Es werden nun drei Fälle bezüglich R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) unterschieden.
a) bj(ck−1 ) = mB . Dann ist R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) = ∅ und kann weggelassen werden, während
gemäß Definition 5.11-15 dann Cr,k−1 = ∅ und somit C̄k−1 \ {ck−1} = C̄k−1 \ {ck−1 } ∪ ∅ ist.
b) Es gibt ein c ∈ C̄k−1 , so daß j(c) = j(ck−1 ) + 1. Dann ist j(c) > j(ck−1 ) und mit Satz
5.11-13 ist dann i(c) < i(ck−1 ). Da für alle c̃ ∈ R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) gilt i(ck−1 ) ≤ i(c̃) ≤
mA ∧ j(ck−1) + 1 ≤ j(c̃) ≤ mB . In diesen Ungleichungsketten kann i(ck−1 ) durch i(c) und
j(ck−1) + 1 durch j(c) ersetzt werden, so daß jedes c̃ auch Element von R̂(c) ist. Damit ist
S
aber R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) ⊆ R̂(c) und damit kann, da R̂(c) ⊆ c∈C̄k−1 \{ck−1}, der Term
R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) in B weggelassen werden. Weiterhin ist wiederum Cr,k−1 = ∅ und
C̄k−1 \ {ck−1 } = C̄k−1 \ {ck−1} ∪ ∅ ist.
c) Weder Fall a noch Fall b trifft zu. Definition 5.11-15 nach ist dann c′k−1 := ai(ck−1 ) ◦bj(ck−1 )+1
und Cr,k−1 = {c′k−1 }. Weiterhin ist R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) = R̂(c′k−1 ). Der obige Ausdruck (in
S
B) c∈C̄k−1 \{ck−1 } R̂(c) ∪ R̂(ai(ck−1 ) ◦ bj(ck−1 )+1 ) ∪ R̂(ai(ck−1 )+1 ◦ bj(ck−1 ) ) kann also zu
[
c∈C̄k−1
R̂(c) ∪ R̂(c′k−1 ) ∪ R̂(ai(ck−1 )+1 ◦ bj(ck−1 ) ) =
[
c∈C̄k−1 \{ck−1 }∪Cr,k−1
R̂(c) ∪ R̂(ai(ck−1 )+1 ◦ bj(ck−1 ) )
zusammengefaßt werden. Dieser Ausdruck schließt die Fälle a und b mit ein.
Indem bezüglich des Terms R̂(ai(ck−1 )+1 ◦ bj(ck−1 ) ) zu den Fällen a–c analoge Betrachtungen
angestellt werden, kann dieser ebenfalls in die Vereinigungsmenge hineingezogen“ werden
”
und es folgt aus A tatsächlich
C\
k−1
[
i=1
{ci } =
[
R̂(c)
c∈C̄k−1 \{ck−1 }∪Cr,k−1 ∪Cu,k−1
womit der Induktionsschritt vollzogen ist.
Mit i und ii ist damit die Behauptung gezeigt und die Korrektheit des Algorithmus 5.11-15
bewiesen.
Komplexitätsbetrachtung: Der Zeitaufwand für den Algorithmus 5.11-15 ist durch die Berechnung von C̄k+1 in ii bestimmt. Dieser setzt sich zusammen aus dem Aufwand für drei
152
5.11 Sortieralgorithmen
Mengenoperationen (einmal Bilden einer Differenzmenge und zwei Vereinigungen) und dem
Bestimmen der Mengen {ck }, Cr,k und Cu,k . Im folgenden soll angenommen werden, daß für
ein Element c ∈ C̄k jeweils auch i(c) und j(c) unmittelbar (also in O(1)) bekannt sind.
Cr,k kann in O(1) Schritten ermittelt werden, da die Bedingung j(ck ) = mB in O(1) Schritten
überprüft werden kann. Zum Überprüfen der zweiten Bedinung, nämlich ob es ein c ∈ C̄k
gibt, so daß j(c)0j(ck ) + 1, sind auch nur O(1) Schritte notwendig, wenn es eine Liste der
Elemente c ∈ C̄k gibt, in der diese entsprechend ihrem Index j(c) (in absteigender Reihenfolge) geordnet sind. Links von ck stehen dann alle Elemnte, deren Index größer als j(ck ) ist,
wobei dasjenige unter diesen mit dem kleinsten Index, direkt (links) neben ck steht. Sollte
es ein Element c mit dem Index j(c) = j(ck ) + 1 geben, so müßte es dieses Element sein,
da j(ck ) + 1 der kleinstmögliche Index überhaupt, der größer als j(ck ) ist. Es reicht also,
festzustellen, ob das in dieser Liste links von ck stehende Element den Index j(ck ) + 1 hat.
Sollte es sich herausstellen, daß Cr,k nicht leer ist, so ist c′k zu bestimmen, was ebenfalls
in O(1) Schritten möglich ist, wenn (wie vorausgesetzt) i(ck ) und j(ck ) bekannt sind. Da
j(c′k ) = j(ck ) + 1 steht aufgrund der vorher gemachten Überlegung auch sofort der Platz von
c′k in der nach den Indizes j(c) geordneten Liste fest.
Ebenso kann Cu,k in O(1) Schritten ermittelt werden. Hierbei kann dieselbe nach den Indizes j(c) geordnete Liste verwendet werden, da diese dem Korollar zu Satz 5.11-13 nach
gleichzeitig auch nach den Indizes i(c) geordnet ist (wenn auch in umgekehrter Reihenfolge,
so daß nun nicht die links sondern rechts von ck stehenden Elemente zu betrachten sind.
Die Bestimmung von ck ist ohne weiteres in O(|C̄k |) = O(mC ) Schritten möglich. Günstiger ist es (wie bereits in der Anmerkung zu Algorithmus 5.11-15 erwähnt) auch hier eine
Liste der Elemente von C̄k zu führen, die diesmal nach (abnehmender) Größe der Elemente
selbst geordnet ist. ck kann dann in O(1) Schritten festgestellt und aus der Liste entfernt
werden; es sind aber zum Einfügen der Elemente c′k und c′′k (um die Liste für die Menge
C̄k+1 zu erhalten) dann O(ld mC ) Schritte zu veranschlagen. Wenn diese Liste gleichzeitig
als eine Darstellung der Menge C̄k genommen wird, so sind mit dieser Entnahme- und den
Einfügeoperationen auch gleichzeitig die obigen drei Mengenoperationen erledigt. Der Gesamtaufwand ist also durch die Einfügeschritte bestimmt, die für jedes Element der Folge
c1 , c2 , . . . cmC durchzuführen sind, so daß dieser O(mC ld mC ) Schritte beträgt.
Der Speicherbedarf beträgt O(mC ), da die Menge C̄k höchstens k ≤ mC ≤ mA mB Elemente
enthält (in jedem Schritt wird ein Element entfernt und es werden höchstens zwei hinzugefügt, so daß deren Anzahl pro Schritt höchstens um 1 zunimmt). (Der Speicherbedarf für
die Mengen A und B ist höchstens genauso groß und ändert an obiger Ordnung nichts.
Satz: Algorithmus 5.11-15 hat on-line-Eigenschaft.
(5.11-16)
Das heißt, die Konstante m der Definition 5.11-7, die die maximale Länge der EingabeFolgen a1 , a2 , . . . und b1 , b2 , . . . der Ausgabe-Folge c1 , c2 , . . . angibt, braucht nicht zu
Beginn des Algorithmus festgelegt zu werden, sondern es reicht, m > k anzugeben, nachdem
c1 , c2 , . . . ck bereits ermittelt wurden. (Oder, anders ausgedrückt, kann nach der Berechnung
von c1 , c2 , . . . cm (unter Verwendung der hierbei aufgebauten Datenstruktur) die Folge cm ,
cm+1 , . . . cm′ mit m′ > m berechnet werden.)
Beweis: Es wird die Menge C̄k betrachtet, und gezeigt, daß für all deren Elemente c gilt,
i(c) ≤ k und j(c) ≤ k (es also kein Element c = ai(c) ◦ bj(c) mit i(c) > k oder j(c) > k gibt)
und somit zur Bestimmung dieser Menge die Kenntnis von a1 , a2 , . . . ak und b1 , b2 , . . . bk aus-
153
5 Stochastische kontextfreie Grammatiken
reichend ist. Andere Größen mit Bezug zu den Eingabegrößen existieren nicht. Der Beweis
erfolgt mittels Induktion über k.
(i) k = 1. Dann ist C̄k = {a1 ◦ b1 } und für alle c ∈ C̄k ist i(c) ≤ k und j(c) ≤ k.
(ii) k > 1. Mit Definition 5.11-15 ist C̄k = C̄k−1 \ {ck−1 } ∪ Cr,k−1 ∪ Cu,k−1. Für alle Elemente c der Menge C̄k−1 gilt entsprechend der Induktionsvoraussetzung i(c) ≤ k − 1 und
j(c) ≤ k − 1. Es verbleibt also noch die Bahuptung für die Elemente von Cu,k−1 und Cr,−k−1
zu zeigen (sofern diese nicht leer sind). Den diesen zugeordneten Indizes sind mit 5.11-15 als
i(c′k−1 ) = i(ck−1 ), j(c′k−1 ) = j(ck−1 )+1, i(c′′k−1 ) = i(ck−1 )+1 und j(c′′k−1 ) = j(c′′k−1 ) festgelegt.
Mit der Induktionsvoraussetzung, die insbesondere für ck−1, folgt j(c′k−1 ≤ k und i(c′′k−1 ≤ k.
Für alle übrigen Indizes gilt sogar die stärke Bedigung i(c) ≤ k − 1 und j(c) ≤ k − 1.
Mit i und ii ist die Behauptung gezeigt.
Definition: In Entsprechung zur Definition 5.11-7 wird festgelegt:
1. m ∈ IN sei Konstante wie in 5.11-7, Nr. 1.
2. Seien A, A′ , A′′ , . . . A(na −1) nichtleere Teilmengen von D wie in 5.11-1 definiert.
Es wird gefordert, daß für alle i, j, i 6= j, 0 ≤ i < nA , 0 ≤ j < nA gilt: A(i) ∩ A(j) = ∅.
Sollte A(j) nicht endlich sein, so wird gefordert, daß für alle k ∈ IN das k-tgrößte
(j)
Element ak existiert.
3. Es wird ferner für alle j, 0 ≤ j < nA definiert mA(j) := min {m, |A(j) |}.
(j)
(j)
(j)
4. Für jedes A(j) existiere eine Folge a1 , a2 , . . . a(j)
m (j) , so daß ak das k-tgrößte Element
A
von A(i) ist.
(5.11-17)
Definition: Die Menge all jener Folgenglieder ist
C :=
nA
−1
[
j=0
Ferner wird mC := min {m,
PnA −1
j=0
(j)
{ai ∈ A(j) | 1 ≤ i ≤ mA(j) }
mA(j) } festgelegt.
(5.11-18)
Definition: Analog zu 5.11-9 werden auch hier Funktionen i: C →IN, c 7→ i(c) und j : C →
IN, c 7→ j(c) festgelegt. Es ist
(j)
c = ai
(5.11-19)
Anmerkung: Diese Funktionen sind möglich, da die Mengen A(j) disjunkt und jeweils geordnet sind.
Algorithmus zur Bestimmung von c1 , c2 , . . . cmC der Vereinigungsmenge C
Der folgende Algorithmus stellt im Prinzip ein Mischen der Folgen a, a′ , a′′ , . . . a(nA −1) dar
(n −1)
(n −1)
und liefert c1 , c2 , . . . cmC , wenn a1 , a2 , . . . amA , a′1 , a′2 , . . . a′mA′ , . . . a1 A , a2 A , . . .
154
5.11 Sortieralgorithmen
A −1)
a(n
m (m −1) gegeben sind.
A
A
Es wird eine Folge von Teilmengen C̃k ⊂ C wie folgt definiert:
(i)
(nA −1)
C̃1 := {a1 , a′1 , a′′1 , . . . a1
(ii) für k, 0 < k ≤ mi :
}
C̃k+1 := C̃k \ {ck } ∪ Ck
wobei ck das größte Element von C̃k ist und Ck das Element enthält, das in der Menge,
aus der ck stammt, das auf ck folgende ist. Formal:
Ck :=
(
∅
wenn i(ck ) = mA(j(ck ))
(j(ck ))
{ai(ck )+1 } sonst
(5.11-20)
Auch dieser Algorithmus kann vereinfacht werden, wenn statt C̃k+1 die geordnete Folge derer
Elemente verwendet wird.
Für den Beweis des Algorithmus ist zu zeigen, daß ak das k-tgrößte Element von C ist. Hierfür
Sk−1
Sk−1
wird gezeigt, daß ck das größte Element von C\ i=1
{ci }ist, d.h. für alle c ∈ C\ i=1
{ci }\{ck }
gilt ck →R c.
Für den Beweis wird R(c) ⊆ C als
(j(c))
R(c) := {ai
∈ A(j(c)) | i(c) ≤ i ≤ mA(j(c)) }
definiert. Mittels Induktion (über k) wird gezeigt, daß ck das größte Element von
C\
k−1
[
i=1
{ci } =
[
R(c)
c∈C̃k
ist, wobei für alle c ∈ C̃k gilt, daß i(c) ≤ mA(j(c)) und für alle c, c′ ∈ C̃k , c 6= c′ , daß
j(c) 6= j(c′ ).
(i) k = 1. Es ist
C\
k−1
[
i=1
{ci }
= C \∅=C
=
nA
−1
[
j=1
(j)
{ai ∈ A(j) | 1 ≤ i ≤ mA(j) }
[
=
(j(c))
(nA −1)
}
c∈{a1 ,a′1 ,...a1
=
[
{ai
∈ A(j(c)) | i(c) ≤ i ≤ mA(j(c)) }
R(c)
c∈C̃k
Sei c ∈ C beliebig, jedoch c 6= c1 . Dann gibt es ein c̃ ∈ C̃1 , so daß j(c̃) = j(c). Es werden
zwei Fälle unterschieden:
155
5 Stochastische kontextfreie Grammatiken
(j(c))
a) i(c) = 1. Dann ist c = a1
und es ist c1 →R c, da Algorithmus 5.11-20 entsprechend c1
das größte Element von c̃1 ist.
(j(c))
j(c))
b) i(c) > 1. Dann ist a1
→R c entsprechend Definition 5.11-17. Es ist entweder c1 = a1
j(c))
oder c1 →R a1 . Es folgt jeweils (im zweiten Fall mit der Transitivität von →R ), daß
c1 →R c.
Da voraussetzungsgemäß (siehe Definition 5.11-16) für alle j, 0 ≤ j < nA , gilt, daß A(j) 6= ∅,
ist für alle j, 0 ≤ j < nA , dann 1 ≤ mA(j) , so daß für alle c ∈ C̃k dann j(c) ≤ mA(j(c)) ist.
Weiterhin ist auch für alle c, c′ ∈ C̃k , c 6= c′ auch j(c) 6= j(c′ ).
k > 1. Entsprechend der Induktionsvoraussetzung wird angenommen, daß
C\
k−2
[
i=1
{ci } =
[
R(c)
c∈C̃k−1
ist, sowie daß für alle c ∈ C̃k−1 gilt j(c) ≤ mA(j(c)) und für alle c, c′ ∈ C̃k−1 (mit c 6= c)
j(c) 6 j(c′ ) ist. Es ist
C\
k−2
[
i=1
{ci }
[
=
c∈C̃k−1
=
R(c) \ {ck−1 }
[
R(c) ∪ R(ck−1 ) \ {ck−1}
[
k−1
R(c) ∪ {ck−1 } ∪ R(ai(ck−1
)+1 ) \ {ck−1 }
c∈C̃k−1 \{ck−1 }
=
(j(c
c∈C̃k−1 \{ck−1 }
))
Mit j(ck−1 ) 6= j(c) für alle c ∈ C̃k−1 \ {ck−1} ist aufgrund der Disjunktheit der Mengen A(j)
(und damit der Mengen R(c)) das Element ck−1 nur R(ck−1 ) enthalten, so daß nach Zerlegen
der Menge R(ck−1 ) die Terme mit {ck−1 } einfach weggelassen werden können. Es werden
zwei Fälle unterschieden (nach Induktionsvoraussetzung ist j(ck−1 ) ≤ mA(j(ck−1 )) ):
a) j(ck−1 ) = mA(j(ck−1 )) (und somit Ck−1 = ∅). Dann ist R(a(j(ck−1 )) ) = ∅ und es verbleibt
C\
k−1
[
i=1
{ci } =
[
[
R(c) =
c∈C̃k−1 \{ck−1 }
c∈C̃k−1 \{ck−1 }∪∅
(j(c
[
R(c) =
c∈C̃k−1 \{ck−1 }∪Ck−1
))
b) Es ist j(ck−1 < mA(j(ck−1 )) Dann ist Ck−1 = ai(ck k−1
)+1 und es ergibt sich
C\
k−1
[
i=1
{ci }
=
[
k−1
R(c) ∪ R(ai(ck−1
)+1 )
[
R(c) ∪
(j(c
c∈C̃k−1 \{ck−1 }
=
c∈C̃k−1 \{ck−1 }
=
[
c∈C̃k−1 \{ck−1 }∪Ck−1
156
[
c∈Ck−1
R(c)
))
R(c)
R(c)
5.11 Sortieralgorithmen
Beide Fälle können (mit Definition 5.11-20) zusammengefaßt werden zu
C\
(j(c
k−1
[
i=1
{ci } =
[
R(c)
c∈C̃k
))
k−1
′
′
′
Da j(ai(ck−1
)+1 ) = j(ck−1 ) gilt auch für alle c, c ∈ C̃k mit c 6= c , daß j(c) 6= j(c ).
Sk−1
Sei nun c ∈ C \ i=1
{ci } \ {ck } beliebig. Wegen der gerade gezeigten Gleichheit gibt es dann
ein c̃ ∈ Ck , so daß c ∈ R(c̃) und mit der Definition von R(c̃) ist dann i(c̃) ≤ i(cI, so daß mit
5.11-17 dann c̃ →R c) oder c̃ = c. Entweder ist ck = c̃ oder, da ck Definition 5.11-20 gemäß
das größte Element von Ck ist, ck →R c̃. In beiden Fällen ist dann ck →R c (wobei für c̃ = c
nur die zweite Möglichkeit in Frage kommt).
Sk−1
Da c beliebig, gilt obige Argumentation für alle c ∈ C \ i=1
{ci } und ck ist tatsächlich das
Sk−1
größte Element von C \ i=1 {ci }.
Mit i und ii ist die Korrektheit des Algorithmus gezeigt.
Komplexitätsbetrachtung: Die Ermittlung des größten Elementes von C̃k kann in O(1) Schritten erfolgen, wenn C̃k als geordnete Liste vorliegt. Die Bestimmung von Ck ist ebenfalls in
O(1) Schritten möglich, wenn angenommen wird, daß für jedes Element c ∈ C die Indizies
i(c) und j(c) mitgeführt werden und die Mengen A(j) ebenfalls als geordnete Listen vorliegen.
Als zeitkritischer Schritt verbleibt damit das Bilden der Vereinigungsmenge. Hierzu muß
das einzige Element von Ck in die C̃k repräsentierende Liste eingefügt werden, was in
O(ld |C̃k |) = O(ld mC ) Schritten möglich ist.
Da Schritt ii des Algorithmus höchstens mc -mal ausgeführt wird, beträgt der Gesamtaufwand =(mc ld mc ).
Der Platzbedarf ist (wenn der für die Mengen A(j) außer Betracht bleibt) O(nA ), da die
Menge C̃k höchstens nA − 1 Element enthält. (Zu Beginn ist |C̃k | = nA − 1 und in jedem
Schritt wird ein Element entfernt und es kommt höchstens eins hinzu.)
Satz: Algorithmus 5.11-20 hat on-line-Eigenschaft.
(5.11-21)
Das heißt, daß die Konstante m der Definition 5.7-11 braucht nicht zu Beginn des Algorithmus 5.11-20 festgelegt zu werden, sondern es reicht, m > k anzugeben, nachdem c1 , c2 ,
. . . ck bereits ermittelt wurden.
Beweis: Es wird gezeigt, daß bis zum k-ten Schritt des Algorithmus die Kenntnis der Einga(n −1)
(n −1)
(n −1)
befolgen a1 , a2 , . . . ai . . . amA , a′1 , a′2 , . . . a′i′ . . . a′mA′ , . . . a1 A , a2 A , . . . ai(nAA −1) ,
A −1)
. . . . . . a(n
m (m −1) bis zum k-ten Glied ausreicht. Daß heißt, daß für alle j, 1 ≤ j < nA , die
A
A
Indizes i(c) aller Folgenglieder c ∈ C̃1 ∪ C̃2 ∪ . . . C̃k nicht größer als k sind. Dies kann leicht
mittels Induktion über k gezeigt werden.
(n −1)
(i) k = 1. Es ist C̃1 = {a1 , a′1 , . . . a1 A }. Für alle c ∈ C̃1 ist offensichtlich i(c) = 1, womit
die Behauptung i(c) ≤ k für k = 1 gezeigt ist.
(ii) k > 1. Es ist C̃k = C̃k−1 \ {ck−1} ∪ Ck . Für alle c ∈ C̃k−1 gilt entsprechend der Induktionsvoraussetzung i(c) ≤ k − 1, insbesondere i(ck−1 ) ≤ k − 1. Damit ist für c ∈ Ck mit
i(c) = i(ck−1 ) + 1 dann auch i(c) ≤ (k − 1) + 1 und somit ist für alle c ∈ C̃k dann i(c) ≤ k.
157
5 Stochastische kontextfreie Grammatiken
5.12 Algorithmen zur Generierung von Ableitungen aus (Hn , hn)
Im Zusammenhang mit der gegen Ende des Abschnitts 5.7 gestellten zweiten Frage nach der
Bestimmung optimaler Ableitungen soll in diesem Abschnitt der Zusammenhang zwischen
Ableitungsbäumen und Ableitungen formalisiert werden. Hierbei werden starke Analogien
zu Abschnitt 5.6 auftreten. Schließlich wird (in Analogie zu Abschnitt 5.7) ein Bezug zum
Earleysche Algorithmus hergestellt werden, so daß die Frage nach optimalen Ableitungen
beantwortet wird.
Sei R Ableitungsbaum wie in 5.6-1 definiert. Da jeder Kante eine Regel zugeordnet ist,
entspricht jedem Pfad von der Wurzel K1 mit σ(K1 ) = α0 zu einem Blatt Kr mit σ(Kr ) = u
pi1 pi2 ...pim
i
∗
⇒
u. Hier sind (vorerst) nur die Regelfolgen pi1 pi2 . . . pimi von
einer Ableitung α0
Interesse. Die Menge der Regelfolgen aller Ableitungen α0 ⇒ u werde mit Q(u|α0 ) bezeichnet.
(Diese Bezeichnung wird gewählt, um die Analogie zu Abschnitt 5.6 zu verdeutlichen.) Es
wird definiert:
Q(ui+1 . . . uj |α) := {pi1 pi2 . . . pimi ∈ P ∗ | α
pi1 pi2 ...pim
i
∗
⇒
ui+1 . . . uj }
(5.12-1)
Da die Relation ⇒∗ reflexiv ist, ist es zweckmäßig die leere Regelfolge λ einzuführen.
Weiterhin wird jedem Knoten Kr des Ableitungsbaums eine Menge Q(u|Kr ) ⊆ P ∗ entsprechend folgender rekursiver Definition zugeordnet:
Q(u|Kr ) :=



∅
{λ}
wenn Kr Blatt und σ(Kr ) 6= u
wenn σ(Kr ) = u

 S nA
x=1 {pA,x }Q(u|Krx ) wenn Kr innerer Knoten
(5.12-2)
Hierbei ist pA,x die der Kante (Kr , Krx ) zugeordnete Regel. {pA,x }Q(u|Krx ) die Konkatenation der Mengen {pA,x } und Q(u|Krx ), die wie üblich durch Hintereinanderschreiben der
betreffenden Mengen notiert wird. (Die Konkatenation ist wie folgt (elementweise) definiert:
Seien A, B ⊆ P ∗ . Dann ist AB := {ab | a ∈ A, b ∈ B}. Insbesondere ist A∅ = ∅A = ∅ und
A{λ} = {λ}A = A.)
Ferner wird die Teilmenge Qt (ui+1 . . . uj |α) eingeführt, die die Regelfolgen aller Ableitungen
mit einer maximalen Länge t enthält:
∗
Qt (ui+1 . . . uj |α) := {pi1 pi2 . . . pimi ∈ P | α
pi1 pi2 ...pim
i
∗
⇒
ui+1 . . . uj ∧ mi ≤ t}
(5.12-3)
158
5.12 Generierung von Ableitungen
Qt (u|Kr ) ergibt sich bei Auswertung von 5.12-2 auf Teilbäumen von R der Tiefe t entsprechend Definition 5.6-5 (wo Rt definiert wird), also



∅
{λ}
wenn Kr wenn σ(Kr ) 6= u ∨ K1 Kr > t
wenn σ(Kr ) = u ∨ K1 Kr ≤ t
Qt (u|Kr ) :=

 SnA
)
wenn Kr innerer Knoten ∨ K1 Kr ≤ t
{p
}Q(u|K
A,x
rx
x=1
(5.12-4)
Satz: Für alle Knoten Kr des Baumes R ist für t ≥ 0
Qt (ui+1 . . . uj |Kr ) = Qt−l (ui+1 . . . uj |σ(Kr ))
(5.12-5)
wobei l die Länge des Pfades von K1 nach Kr ist, also l := K1 Kr :
Der Beweis wird mittels Induktion über t − l geführt.
(i) t − l = 0, also t = l. Dann ist Kr Blatt von Rt . Definition 5.12-2 nach sind zwei Fälle zu
unterscheiden.
1. σ(Kr ) 6= ui+1 . . . uj . Dann ist Qt (ui+1 . . . uj |Kr ) = ∅. Aufgrund der Reflexivität von ⇒∗
könnte σ(Kr ) als Folge von Terminalsymbolen allenfalls zu sich selbst abgeleitet werden.
Dies ist aber nicht möglich, da σ(Kr ) von ui+1 . . . uj verschieden ist. Also gibt es keine Ableitung σ(Kr ) ⇒∗ ui+1 . . . uj , insbesondere keine der Länge 0. Demnach ist auch
Q0 (ui+1 . . . uj |σ(Kr )) = ∅.
2. σ(Kr ) = ui+1 . . . uj . Dann ist Definition 5.12-2 entsprechend Qt (ui+1 . . . uj |Kr ) = {λ}.
Außerdem ist wegend er Reflexivität von ⇒∗ auch ui+1 . . . uj ⇒∗ ui+1 . . . uj mit der entsprechenden Regelfolge λ. Da ui+1 . . . uj ∈ Σ∗ ist dies auch die einzige Ableitung, die von
ui+1 . . . uj aus möglich ist. Damit ist Q0 (ui+1 . . . uj |σ(Kr )) = {λ}.
(ii) t − l > 0, also l < t. Dann ist Kr entweder innerer Knoten oder Blatt.
1. Ist Kr Blatt, so muß σ(Kr ) ∈ Σ∗ sein (da es sonst Nachfolgeknoten gäbe). Es werden zwei
Unterfälle unterschieden.
a) σ(Kr ) 6= ui+1 . . . uj . Dann ist Qt (ui+1 . . . uj |Kr ) = ∅ gemäß Definition 5.12-2. Da σ(Kr )
eine von ui+1 . . . uj verschiedene Folge von Terminalsymbolen ist, gibt es entsprechend der
Argumentation in Fall 1 von i keine Regelfolge pi1 pi2 . . . pimi , mit der σ(Kr ) zu ui+1 . . . uj abgeleitet werden könnte. Also ist Q(ui+1 . . . uj |Kr ) = ∅ und dies gilt auch für alle Teilmengen
davon, insbesondere ist Qt−l = ∅.
b) σ(Kr ) = ui+1 . . . uj . Dann ist definitionsgemäß Qt (ui+1 . . . uj |Kr ) = {λ}. Wegen der Reflexivität von ⇒∗ ist ui+1 . . . uj ⇒∗ ui+1 . . . uj . Da ui+1 . . . uj ∈ Σ∗ ist, kommt für diese
Ableitung als einzige nur die Regelfolge λ in Frage, auch wenn Regelfolgen beliebiger Länge
betrachtet werden. Damit ist Q(ui+1 . . . uj |σ(Kr )) = {λ}. Da |λ| = 0 und t − l > 0, enthält
Qt−l (ui+1 . . . uj |σ(Kr )) das Element {λ}. Da Q(ui+1 . . . uj |σ(Kr )) keine weiteren Elemente
enthält, ist Qt−l (ui+1 . . . uj |σ(Kr )) = {λ}.
2. Kr ist innerer Knoten. Dann ist definitionsgemäß
Qt (ui+1 . . . uj |Kr ) =
n
A
[
{pA,x }Qt (ui+1 . . . uj |Krx )
x=1
(A)
159
5 Stochastische kontextfreie Grammatiken
Sei σ(Kr ) = vAβ, v ∈ Σ∗ , A ∈ N und β ∈ (N ∪ Σ)∗ . Dann ist σ(Krx ) = vαx β, wobei
pA,x := A → αx die der Kante (Kr , Krx ) zugeordnete Regel ist. Wird nun eine Ableitung
vAβ ⇒∗ ui+1 . . . uj betrachtet, so muß dem Prinzip der Linksableitung zufolge die entsprepA,x
chende Regelfolge als erstes eine Regel pA,x aufweisen, also vAβ ⇒ vαx β. Die Menge aller
Regelfolgen für die Ableitung vAβ ⇒∗ ui+1 . . . uj wird also erhalten, indem jeder Regelfolge,
die von vαx β zu ui+1 . . . uj führt, eine Regel pA,x vorangestellt wird. Also ist
Qt−(l+1)+1 (ui+1 . . . uj |σ(Kr )) =
n
A
[
{pA,x }Qt−(l+1) (ui+1 . . . uj |σ(Krx ))
x=1
(B)
Hierbei ist zu berücksichtigen, daß die Länge der Regelfolgen um 1 zunimmt, um also alle
bis zu der Länge t − l zu erfassen, darf die Länge der ursprünglichen Regelfolgen höchstens
t − l − 1 betragen.
Durch Einsetzen der Induktionsvoraussetzung
Qt (ui+1 . . . uj |Krx ) = Qt−(l+1) (ui+1 . . . uj |σ(Krx ))
in die rechte Seite von B, wobei l := K1 Kr und l + 1 die Pfadlänge von K1 nach Krx ist, und
anschließendem Ersetzen gemäß A folgt, daß
Qt (ui+1 . . . uj |Kr ) = Qt−l (ui+1 . . . uj |σ(Kr ))
ist.
Mit den beiden Fällen 1 und 2 ist der Induktionsschritt ii gewährleistet.
Mit diesem und i folgt die Behauptung.
Korollar hierzu ist
Qt (u|α0 ) = Qt (u|K1)
Der Beweis ergibt sich unmittelbar aus Satz 5.12-5 durch Ersetzen: Kr := K1 mit σ(K1 ) :=
α0 , wobei l = K1 K1 = 0 ist. (u steht hierbei für eine beliebige Folge von Terminalsymbolen.)
Satz: Für alle Knoten Kr des Baumes R ist für t ≥ 0:
Qt (u|Kr ) ⊆ Qt+1 (u|Kr )
(5.12-6)
Der Beweis erfolgt mittels Induktion über die Tiefe l des zu Kr gehörenden Unterbaums
von Rt .
(i) l = 0. Dann ist Kr Blatt von Rt . Dann werden zwei Fälle unterschieden.
1. σ(Kr ) 6= u. Gemäß Definition 5.12-2 ist dann Qt (u|Kr ) = ∅ und da die leere Menge stets
Teilmenge ist gilt die Behauptung unabhängig von Qt+1 (u|Kr ).
2. σ(Kr ) = u. Dann ist wiederum definitionsgemäß Qt (u|Kr ) = {λ}. Andererseits ist
σ(Kr ) ∈ Σ∗ , so daß Kr auch Blatt des Baumes Rt+1 . Damit ist auch Qt (u|Kr ) = {λ}
und die Behauptung ist gezeigt.
(ii) l > 0. Dann ist Kr innerer Knoten von Rt und hat die Nachfolgerknoten Krx . Da diese
ebenfalls Knoten von Rt sind (sonst wäre Kr nicht innerer Knoten), ist K1 Krx ≤ t. Damit
160
5.12 Generierung von Ableitungen
ist aber auch K1 Krx ≤ t + 1, so daß die Knoten Krx auch Knoten von Rt+1 sind. Da die zu
diesen Nachfolgerknoten gehörenden Unterbäume von Rt eine geringere Tiefe haben gilt die
Induktionsvoraussetzung Qt (u|Krx ) ⊆ Qt+1 (u|Krx ). Diese Teilmengenbeziehungen besteht
auch noch nach Konkatenation mit {pA,x } und Vereinigung über all diese Mengen:
n
A
[
{pA,x }Qt (u|Krx ) ⊆
x=1
n
A
[
{pA,x }Qt+1 (u|Krx )
x=1
Mit Definition 5.12-2 folgt die Behauptung für Kr .
Mit i und ii ist diese für alle Knoten Kr des Baumes Rt (und beliebiges t) bewiesen.
Als Korollar ergibt sich
Qt (u|α0 ) ⊆ Qt+1 (u|α0 )
Der Beweis ergibt sich mit dem Korollar zu Satz 5.12-5 wenn für Kr der Wurzelknoten K1
des Baumes R, der der Ableitungsbaum von α0 ist, genommen wird.
Definition 5.12-2 ist nur für Ableitungsbäume endlicher Tiefe anwendbar. Daher wird die
Menge Q(u|Kr ) für Bäume beliebiger Tiefe wie folgt definiert:
1. ∀t, t ≥ 0 : Qt (u|Kr ) ⊆ Q(u|Kr ).
2. ¬∃Q′ (u|Kr ) ⊂ Q(u|Kr ) : ∀t, t ≥ 0 : Qt (u|Kr ) ⊆ Q′ (u|Kr ).
(5.12-7)
In Punkt 1 ist Qt (u|Kr ) die Menge, die mit Definition 5.12-2, ausgewertet auf Rt , erhalten
wird. Die Menge Q(u|Kr ) enthält jede Menge Qt (u|Kr ) (für beliebiges t) als Teilmenge. Bedingung 2 stellt gewissermaßen eine Minimalitätsbedingung dar, das heißt, das Q(u|Kr )
keine (echte) Teilmenge enthält, die Bedingung 1 erfüllen würde, wodurch Q(u|Kr ) die
kleinstmögliche Menge ist, die alle Qt (u|Kr ) als Teilmenge enthält. Definition 5.12-7 schließt
auch den Fall ein, daß der Ableitungsbaum R endlich tief ist. Sei dessen Tiefe t′ , dann ist
Q(u|Kr ) = Qt (u|Kr ) für alle t ≥ t′ .
Satz: Für Ableitungsbäume unbegrenzter Tiefe und Ableitungen unbegrenzter Länge gilt
Q(u|K1 ) = Q(u|α0 )
(5.12-8)
Beweis: Sei pi1 pi2 . . . pimi ∈ Q(u|α0 ) beliebig. Dann gibt es ein t ≥ mi für das pi1 pi2 . . . pimi ∈
Qt (u|α0 ). Mit dem Korollar zu Satz 5.12-5 ist damit auch pi1 pi2 . . . pimi ∈ Qt (u|K1 ). Mit Definition 5.12-7 ist Qt (u|K1) ⊆ Q(u|K1 ) und somit auch pi1 pi2 . . . pimi . Da diese Regelfolge beliebig ist, gilt die Argumentation für jedes Element von Q(u|α0) und es ist Q(u|α0) ⊆ Q(u|K1 )
(A).
Sei pi1 pi2 . . . pimi ∈ Q(u|K1 ) beliebig. Dann gibt es ein t, so daß pi1 pi2 . . . pimi ∈ Qt (u|K1 ).
(Wäre dies nicht der Fall, so könnte diese Regelfolge aus der Menge Q(u|K1 ) entfernt werden, wobei die so erhaltene kleinere“ Menge immer noch jede Menge Qt (u|K1) (d.h. für
”
alle t) als Teilmenge enthielte. Damit wäre die (ursprüngliche) Menge Q(u|K1) nicht minimal, im Widerspruch zu Punkt 2 der Definition 5.12-7.) Mit dem Korollar zu Satz 5.12-5
161
5 Stochastische kontextfreie Grammatiken
ist Qt (u|K1 ) = Qt (u|α0 ), so daß die Regelfolge pi1 pi2 . . . pimi auch Element von Qt (u|α0)
ist. Da Qt (u|α0 ) Teilmenge von Q(u|α0 ) ist, ist die betrachtete Regelfolge auch Element
von Q(u|α0). Da die Regelfolge beliebig ist, gilt diese Argumentation für jedes Element von
Q(u|K1 ), so daß Q(u|K1 ) ⊆ Q(u|α0 ) (B) sein muß.
Mit A und B folgt die behauptete Gleichheit.
In Analogie zu Satz 5.6-21 wird folgender Satz formuliert, wobei t′ ≥ t ist:
j
[
Qt (ui+1 . . . uj |αβ) =
k=i
Qt (ui+1 . . . uk |α)Qt′ (uk+1 . . . uj |β)
(5.12-9)
Anmerkung: Auf der rechten Seite handelt es sich wiederum um die Konkatenation zweier Mengen (vgl. Erläuterung bei Definition 5.12-2).
Beweis: Sei pi1 pi2 . . . pimi ∈ Qt (ui+1 . . . uj |αβ) eine (beliebige) Folge von Regeln, so daß
pi1 pi2 ...pim
i
⇒∗
ui+1 . . . uj (Links-)Ableitung ist. Aufgrund der Kontextfreiheit der zugrunαβ
deliegenden Grammatik kann α unabhängig von β ersetzt werden und da entsprechend
dem Prinzip der Linksableitung mit der Ersetzung von α begonnen wird, gibt es ein l,
0 ≤ l ≤ mi ≤ t und ein k, i ≤ k ≤ j, so daß
αβ
pi1 pi2 ...pil
∗
pi1 pi2 ...pil
∗
⇒
ui+1 . . . uk β
pil+1 pil+2 ...pim
i
∗
⇒
ui+1 . . . uk uk+1 . . . uj
pil+1 pil+2 ...pim
i
∗
⇒
uk+1 . . . uj .
ui+1 . . . uk und β
also α ⇒
Somit ist pi1 pi2 . . . pil ∈ Qt (ui+1 . . . uk |α) und (da t ≤ t′ ) pil+1 pil+2 . . . pimi ∈ Qt′ (uk+1 . . . uj |β).
Also ist
pi1 pi2 . . . pil pil+1 pil+2 . . . pimi ∈ Qt (ui+1 . . . uk |α)Qt′ (uk+1 . . . uj |β)
und damit auch
pi1 pi2 . . . pimi ∈
j
[
k=1
Qt (ui+1 . . . uk |α)Qt′ (uk+1 . . . uj |β)
Da die Folge pi1 pi2 . . . pimi beliebig war, gilt die Argumentation für jedes Element von
Qt (ui+1 . . . uj |αβ), womit
Qt (ui+1 . . . uj |αβ) ⊆
j
[
k=1
Qt (ui+1 . . . uk |α)Qt′ (uk+1 . . . uj |β)
ist.
In Analogie zu dem Korollar zu Satz 5.6-24 wird folgender Satz formuliert:
Q(ui+1 . . . uj |αβ) =
j
[
k=i
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
(5.12-10)
162
5.12 Generierung von Ableitungen
Anmerkung: Auf der rechten Seite handelt es sich wiederum um die Konkatenation zweier Mengen (vgl. Erläuterung bei Definition 5.12-2).
Beweis: (Anmerkung: Der erste Teil des Beweises entspricht dem Beweis von 5.12-10.) Sei
pi1 pi2 ...pim
i
∗
pi1 pi2 . . . pimi ∈ Q(ui+1 . . . uj |αβ) eine (beliebige) Folge von Regeln, so daß αβ
⇒
ui+1 . . . uj (Links-)Ableitung ist. Aufgrund der Kontextfreiheit der zugrundeliegenden Grammatik kann α unabhängig von β ersetzt werden und da entsprechend dem Prinzip der
Linksableitung mit der Ersetzung von α begonnen wird, gibt es ein l, 0 ≤ l ≤ mi und
ein k, i ≤ k ≤ j, so daß αβ
pi1 pi2 ...pil
∗
⇒
pil+1 pil+2 ...pim
i
∗
pi1 pi2 ...pil
∗
ui+1 . . . uk β
pil+1 pil+2 ...pim
i
∗
⇒
ui+1 . . . uk uk+1 . . . uj , also
ui+1 . . . uk und β
⇒
uk+1 . . . uj . Somit ist pi1 pi2 . . . pil ∈ Q(ui+1 . . . uk |α)
α ⇒
und pil+1 pil+2 . . . pimi ∈ Q(uk+1 . . . uj |β). Also ist
pi1 pi2 . . . pil pil+1 pil+2 . . . pimi ∈ Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
und damit auch
pi1 pi2 . . . pimi ∈
j
[
k=1
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
Da die Folge pi1 pi2 . . . pimi beliebig war, gilt die Argumentation für jedes Element von
Q(ui+1 . . . uj |αβ), womit
Q(ui+1 . . . uj |αβ) ⊆
j
[
k=1
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
(A)
ist. Sei
pi1 pi2 . . . pimi ∈
j
[
k=1
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
Dann gibt es (mindestens) ein k, i ≤ k ≤ j, so daß
pi1 pi2 . . . pimi ∈ Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β)
ist. Weiterhin gibt es ein l, 0 ≤ l ≤ mi , so daß pi1 pi2 . . . pil ∈ Q(ui+1 . . . uk |α) und
pil+1 pil+2 . . . pimi ∈ Q(uk+1 . . . uj |β) ist. (Die Folge pi1 pi2 . . . pimi als Element einer Konkatenation zweier Mengen muß eine Konkatenation von zwei Elementen dieser Menge, also in entsprechende Teilfogen zerlegbar sein.) Der Definition dieser beiden Mengen gemäß
gibt es damit die Ableitungen α
pi1 ...pil+1 ...pim
i
∗
pi1 pi2 ...pil
∗
⇒
ui+1 . . . uk und β
pil+1 pil+2 ...pim
i
∗
⇒
uk+1 . . . uj , wo-
mit αβ
⇒
ui+1 . . . uk uk+1 . . . uj . Damit ist dann pi1 pi2 . . . pimi ∈ Q(ui+1 . . . uj |αβ).
Da diese Folge wiederum als beliebig angenommen wurde, gilt die Argumentation für jedes
Element der Vereinigungsmenge und es ist
j
[
k=1
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |β) ⊆ Q(ui+1 . . . uj |αβ)
(B)
Mit A und B folgt die behauptete Gleichheit.
163
5 Stochastische kontextfreie Grammatiken
Satz: Für alle Knoten Kr des Doppelableitungsbaum R(α,β) (wie in 5.6-12 definiert) gilt für
t ≥ 0 und β ∈ Σ∗ N(N ∪ Σ)∗ in Analogie zu Satz 5.6-11:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j
[
k=i
Qt (ui+1 . . . uk |Φα (Kr ))Qt+1 (ui+1 . . . uj |Φβ) (Kr )
(5.12-11)
Für den Beweis werden außer R(α,β) auch die entsprechenden Abbildungen Φ (5.12-13),
Φα (5.12-15) und Φβ (5.12-17) auf die Bäume Rαβ , Rα bzw. Rβ zugrunde gelegt. Weiterhin
seien Rαβ,t+1 , Rα,t und Rβ,t+1 die entsprechenden Teilbäume.
Vorbemerkung: Sollte Φβ (Kr ) ∈ Σ∗ sein, so muß der Voraussetzung β ∈ Σ∗ N(IN ∪ Σ)∗ entsprechend Φβ (Kr ) 6= Φβ (K1 ) sein. Damit ist dann Φβ (K1 )Φβ (Kr ) ≥ 1. Wenn Φ(Kr ) Knoten
von Rαβ,t+1 ist, dann ist Φ(K1 )Φ(Kr ) ≤ t + 1 und mit Satz 5.6-20b, also Φ(K1 )Φ(Kr ) =
Φα (K1 )Φα (Kr ) + Φβ (K1 )Φβ (Kr ), gilt dann auch für diese Summe, daß sie kleiner oder gleich
t + 1 sein muß. Da die Pfadlängen positiv sind, und die eine sogar streng positiv, folgt
Φα (K1 )Φα (Kr ) < t + 1 und Φβ (K1 )Φβ (Kr ) ≤ t + 1. Damit ist Φα (Kr ) Knoten des Baumes
Rα,t und Φβ Knoten des Baumes Rβ,t+1 .
Sollte Φ(Kr ) nicht Knoten von Rαβ,t+1 sein, so ist Qt+1 (ui+1 . . . uj |Φ(Kr )) = ∅ (Definition
5.12-2 zufolge) und es gibt nichts weiter zu zeigen. Im folgenden wird daher vorausgesetzt,
daß Φ(Kr ) Knoten von Rαβ,t+1 ist. Der Beweis wird mittels Induktion über die Tiefe l des
zu Φ(Kr ) gehörenden Unterbaums von Rαβ,t+1 geführt.
(i) l = 0. Dann ist Φ(Kr ) Blatt von Rαβ,t+1 . Es werden zwei Fälle unterschieden.
1. σ(Φ(Kr )) 6= ui+1 . . . uj . Dann ist Qt+1 (ui+1 . . . uj |Φ(Kr ) = ∅ und es gibt nichts weiter zu
zeigen.
2. σ(Φ(Kr )) = ui+1 . . . uj . Mit Satz 5.6-18 ist dann σ(Φ(Kr )) = σ(Φα (Kr ))σ(Φβ (Kr )) und
es gibt ein k ′ , i ≤ k ′ ≤ j, so daß σ(Φα (Kr )) = ui+1 . . . uk′ und σ(Φβ (Kr )) = uk′ +1 . . . uj . Der
Vorbemerkung entsprechend sind Φα (Kr ) und Φβ Knoten der entsprechenden Bäume und mit
Definition 5.12-2 ist dann Qt (ui+1 . . . uk′ |Φα (Kr )) = {λ} und Qt+1 (uk′ . . . uj |Φβ (Kr )) = {λ}.
Für k 6= k ′ ist jedoch Qt (ui+1 . . . uk′ |Φα (Kr )) = ∅ und Qt+1 (uk′ . . . uj |Φβ (Kr )) = ∅. Nach KonS
katenation und Vereinigung wird jk=i Qt (ui+1 . . . uk′ |Φα (Kr ))Qt+1 (uk′ . . . uj |Φβ (Kr )) = {λ}.
erhalten, womit die Behauptung auch für Fall 2 gezeigt ist.
(ii) Φ(Kr ) ist innerer Knoten von Rαβ,t+1 .
Dann hat dieser die Nachfolgerknoten Φ(Krx ) (mit entsprechend geringerer Tiefe für die zu
diesen gehörenden Unterbäumen). Für diese ist mit Induktionsvoraussetzung
Qt+1 (ui+1 . . . uj |Φ(Krx )) ⊆
j
[
Qt (ui+1 . . . uk |Φα (Krx ))Qt+1 (uk+1 . . . uj |Φβ (Krx ))
k=i
Nach Konkatenation mit {pA,x }, wobei pA,x die der Kante (Φ(Kr ), Φ(Krx )) zugeordnete Regel
ist, ergibt sich
{pA,x }Qt+1 (ui+1 . . . uj |Φ(Krx )) ⊆ {pA,x }
j
[
k=i
Qt (ui+1 . . . uk |Φα (Krx ))Qt+1 (uk+1 . . . uj |Φβ (Krx ))
Da die Konkatenation distributiv bezüglich der Vereinigung ist, kann die rechte Seite umgeschrieben werden
{pA,x }Qt+1 (ui+1 . . . uj |Φ(Krx )) ⊆
164
j
[
{pA,x }Qt (ui+1 . . . uk |Φα (Krx ))Qt+1 (uk+1 . . . uj |Φβ (Krx ))
k=i
5.12 Generierung von Ableitungen
Nach Vereinigung über alle Nachfolgerknoten wird erhalten
n
A
[
{pA,x }Qt+1 (ui+1 . . . uj |Φ(Krx ))
x=1
⊆
n
A
[
j
[
{pA,x Qt (ui+1 . . . uk |Φα (Krx ))Qt+1 (uk+1 . . . uj |Φβ (Krx ))
x=1 k=i
Auf der linken Seite kann mit Definition 5.12-2 zusammengefaßt werden, während auf der
rechten Seite die Reihenfolge der Vereinigungen vertauscht wird:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j n
A
[
[
{pA,x }Qt (ui+1 . . . uk |Φα (Krx ))Qt+1 (uk+1 . . . uj |Φβ (Krx ))
k=i x=1
Bezüglich der rechten Seite werden nun zwei Fälle unterschieden.
1. Φα (Krx )) 6∈ Σ∗ . Der Definition von Φβ nach ist dann Φβ (Krx ) = Φβ (Kr ). Da die Konkatenation assoziativ ist, können die ersten beiden Mengen (auf der rechten Seite) mit Definition
5.12-2 zusammengefaßt werden und es ergibt sich:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j
[
k=i
Qt (ui+1 . . . uk |Φα (Kr ))Qt+1 (uk+1 . . . uj |Φβ (Kr ))
2. Φα (Krx )) ∈ Σ∗ . Dann ist je nachdem, ob Φα (Krx ) = ui+1 . . . uk oder nicht, Qt (ui+1 . . . uk |
Φα ) = {λ} oder Qt (ui+1 . . . uk |Φα ) = ∅. In beiden Fällen jedoch, kann den Eigenschaften der
Konkatenation gemäß diese Menge vorangestellt werden:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j n
A
[
[
k=i x=1
Qt (ui+1 . . . uk |Φα (Krx )){pA,x }Qt+1 (uk+1 . . . uj |Φβ (Krx ))
Entsprechendes ist bezüglich der Vereinigung möglich:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j
[
k=i
Qt (ui+1 . . . uk |Φα (Krx ))
n
A
[
{pA,x }Qt+1 (uk+1 . . . uj |Φβ (Krx ))
x=1
Der Voraussetzung dieses Falles und der Definition von Φα entsprechend ist Φα (Krx ) =
Φα (Kr ), während der zweite Teil gemäß Definition 5.12-2 zusammengefaßt werden kann:
Qt+1 (ui+1 . . . uj |Φ(Kr )) ⊆
j
[
k=i
Qt (ui+1 . . . uk |Φα (Kr ))Qt+1 (uk+1 . . . uj |Φβ (Kr ))
In beiden Fällen ist also der Induktionsschritt möglich, womit der Beweis vollständig ist.
Satz: Sei Rβ Ableitungsbaum. Sei Kβ,r Knoten von diesem mit γ := σ(Kβ,r ). Für jeden
Knoten Ks des zu Kr gehörenden Unterbaums von Rβ gilt für alle t ≥ Kβ,1 Kβ,r (in Analogie
zu Satz 5.9-23)
Qt (u|Kβ,s) = Qt−Kβ,1Kβ,r (u|Φγ (Kβ,s ))
(5.12-12)
wobei die in 5.9-22 definierte Abbildung Φγ , den zu Kr gehörenden Unterbaum auf den
Ableitungsbaum Rγ abbildet.
165
5 Stochastische kontextfreie Grammatiken
Der Beweis folgt unmittelbar aus der Isomorphie des zu Kβ,r gehörenden Unterbaums von
Rβ,t und dem Baum Rγ,t−Kβ,1 Kβ,r . Diese Isomorphie ist Gegenstand des Satzes 5.9-9.
Definition: Analog der Zuordnung einer Wahrscheinlichkeit zu einer punktierten Regel wird
nun jeder punktierten Regel A→α.β, i, j eine Menge von Regelfolgen (die sich als Konkatenation zweier Mengen ergibt) zugeordnet:
Q(A→α.β, i, j) := {A→αβ}Q(ui+1 . . . uj |α)
(5.12-13)
Damit gilt folgender Satz (sofern S 6= u):
nS
[
Q(u|S) :=
x=1
Q(S → αx ., 0, n)
(5.12-14)
Beweis: Sei R der zu S gehörende Ableitungsbaum. Sei K1 dessen Wurzel, σ(K1 ) = S und
K1,1 , K1,2 , . . . K1,nS dessen Nachfolgerknoten mit σ(K1,x ) = αx entsprechend der Regeln
S→αx , 1 ≤ x ≤ nS . Dann ist mit 5.12-8
Q(u|S) = Q(u|K1 )
Mit Definition 5.12-2 kann die rechte Seite ersetzt werden
nS
[
=
{S→αx }Q(u|K1,x )
x=1
Wird auf wiederum entsprechend Satz 5.12-5 ersetzt, ergibt sich
=
nS
[
{S→αx }Q(u|σ(K1,x ))
x=1
Nach Ersetzen von u := u1 . . . un und σ(K1,x ) := αx entsprechend obiger Definition wird
erhalten:
n
=
S
[
{S→αx }Q(u0+1 . . . un |αx )
x=1
Nun kann Definition 5.12-13 angewendet werden und es ergibt sich
=
nS
[
Q(S→αx ., 0, n)
x=1
Anmerkungen: Sollte es nur eine Startregel geben, also x = 1, so nimmt Satz 5.12-14 eine
besonders einfache Form an, da die Vereinigung nur über eine Menge erfolgt. Sollte, nicht
der Voraussetzung des Satzes 5.12-14 entsprechend, S = u sein, so ist Q(u|S) = {λ}.
Im folgenden werden (in Analogie zu 5.7-3, 5.7-4 und 5.7-5) drei Zusammenhänge zwischen
punktierten Regeln und den zugeordneten Mengen von Regelfolgen gezeigt werden. Es sind
166
5.12 Generierung von Ableitungen
A→α, A→αBβ ∈ P Regeln, A ∈ N Nichtterminalsymbol, B ∈ N ∪ Σ irgendein Symbol,
α, β ∈ (N ∪Σ)∗ Folgen von Symbolen und schließlich i, j, k, n ∈ IN0 , wobei 0 ≤ i ≤ k ≤ j ≤ n
und n := |u|, die Länge der zu parsenden Folge von Symbolen u := u1 . . . un := U1 U2 . . . Un .
(Hn , hn ) ist der mit dem Earleyschen Algorithmus (5.4-7) erzeugte Hypergraph, dessen
Knoten I u.a. punktierte Regeln und dessen Hyperkanten Tripel der Gestalt (I ′ , I, I ′′ ) sind.
Satz: Ist I ∈ Hn linkspunktierte Regel, also I = A→.α, j, j, so ist
Q(A→.α, j, j) = {A → α}
(5.12-15)
Der Beweis folgt direkt aus Defintion 5.12-9 (diese geht im folgenden in die zweite Zeile
ein, während die übrigen Umformungen einfache Ersetzungen sind):
Q(A→.α, j, j) =
:=
=
=
=
Q(A→ǫ.α, j, j)
{A→α}Q(uj+1 . . . uj |ǫ)
{A→α}Q(ǫ|ǫ)
{A→α}{λ}
{A→α}
Anmerkung: Wegen der Reflexivität von ⇒∗ ist ǫ ⇒∗ ǫ. Da ǫ 6∈ Σ∗ N(N ∪ Σ)∗ (es also
kein ersetzbares Nichtterminalsymbol gibt), ist dies auch die einzige Möglichkeit aus ǫ etwas
abzuleiten, also ist Q(ǫ|ǫ) = {λ}.
Satz: Ist I ′ = A→α.Bβ, i, j − 1, I = A→αB.β, i, j und I ′′ = Uj = B, so ist
Q(A→αB.β, i, j) = Q(A→α.Bβ, i, j − 1)
(5.12-16)
Beweis: Mit jeder Ableitung α ⇒∗ ui+1 . . . uj−1 ist (bei jeweils unveränderter Regelfolge) auch
αB ⇒∗ ui+1 . . . uj−1 B Ableitung. Umgekehrt ist mit jeder Ableitung αB ⇒∗ ui+1 . . . uj−1B
auch α ⇒∗ ui+1 . . . uj−1 (mit unveränderter Regelfolge) Ableitung. Aufgrund der Kontextfreiheit hat das Terminalsymbol B = Uj keinen Einfluß auf die Ersetzung der links davon
stehenden Symbolen. Somit ist Q(ui+1 . . . uj−1uj |αB) = Q(ui+1 . . . uj−1|α). Durch Konkatenation mit der Menge {A→αBβ} ergibt sich
{A→αBβ}Q(ui+1 . . . uj |αB) = {A→αBβ}Q(ui+1 . . . uj−1|α)
Hieraus folgt mit Definition 5.12-13 die Behauptung.
Satz: Ist I = A→αB.β, i, j, B 6∈ Σ und existieren I ′ = A→α.Bβ, i, k und I ′′ = B→γx ., k, j,
mit i ≤ k ≤ j, so ist
[
[
∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
Q(I) =
I ′ ∈Hn I ′′ ∈Hn
′
′′
′
wobei ∆(I , I, I ) = {λ} wenn (I , I, I ′′ ) ∈ hn und ∆(I ′ , I, I ′′ )) = ∅ wenn (I ′ , I, I ′′ ) 6∈ hn .
(5.12-17)
Beweis: Mit der Voraussetzung des Satzes und Definition 5.12-13 ist
Q(I) = Q(A→αBβ, i, j) = {A→αBβ}Q(ui+1 . . . uj |αB)
167
5 Stochastische kontextfreie Grammatiken
Mit Satz 5.12-10 (auf die zweite Menge angewandt) ist
= {A→αBβ}
j
[
k=i
Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |B)
Da die Konkatenation von Mengen darin besteht, jedes Element der einen Menge mit jedem
Element der anderen zu konkatenieren, kann die Konkatenation der Menge {A→αBβ} auch
teilmengenweise mit anschließender Vereinigung der entsprechenden Teilmengen erfolgen (die
Konkatenation ist also distributiv bezüglich der Vereinigung). Somit ist
=
j
[
{A→αBβ}Q(ui+1 . . . uk |α)Q(uk+1 . . . uj |B)
k=i
Da die Konkatenation assoziativ ist, können die ersten beiden Mengen mittels Definiton
5.12-13 zusammengefaßt werden:
=
j
[
k=i
Q(A→α.Bβ, i, k)Q(uk+1 . . . uj |B)
Mit Definition 5.12-1 ist Q(uk+1 . . . uj |B) die Menge der Regelfolgen aller Ableitungen B ⇒∗
uk+1 . . . uj . Da B ∈ N muß (da Linksableitungen vorausgesetzt werden) die erste Regel der
B→γx
Form B → γx sein und es ist B ⇒ γx ⇒∗ uk+1 . . . uj . Die Menge Q(uk+1 . . . uj |B) kann
nach x in Teilmengen zerlegt wird, wobei jede dieser Teilmengen die Regelfolgen umfaßt, die
mit der entsprechenden Regel B→γx beginnen. Eine derartige Teilmenge kann als KonkaS B
tenation dargestellt werden und somit ist Q(uk+1 . . . uj |B) = nx=1
{B→γx }Q(uk+1 . . . uj |γx ).
Dementsprechend im obigen Ausdruck ersetzt ergibt
=
j
[
Q(A→α.Bβ, i, k)
n
B
[
{B→γx }Q(uk+1 . . . uj |γx )
x=1
k=i
Mit Definition 5.12-13 folgt daraus
=
j
[
Q(A→α.Bβ, i, k)
n
B
[
Q(B→γx .k, j)
x=1
k=i
Mit der oben erwähnten Distributivität der Konkatenation bezüglich der Vereinigung können
diese folgendermaßen vertauscht werden:
=
j n
B
[
[
Q(A→α.Bβ, i, k)Q(B→γx .k, j)
k=i x=1
Wie beim Beweis von Satz 5.7-5 kann die Indexmenge [i, j] × [1, nB ] durch die Indexmenge
Hn × Hn ersetzt werden, wenn sichergestellt ist, daß nur die den Indizes x und k entsprechenden Teilmengen in die Vereinigung eingehenen. Dies wird durch die Mengen ∆(I ′ , I, I ′′ )
erreicht, die für die richtigen“ Indizes das neutrale Element der Konkatenation darstellen
”
und im anderen Falle die leere Menge liefern. Damit ist
Q(I) =
[ [
I ′ ∈Hn
168
I ′′ ∈ Hn ∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
5.12 Generierung von Ableitungen
Definition: In Ergänzung zu Definition 5.12-10 wird mit Hilfe von Definition 5.12-4 jeder
punktierten Regel eine Menge von Regelfolgen einer bestimmten maximalen Länge t zugeordnet (vgl. 5.12-3):
Qt (A→α.β, i, j) := {A→αβ}Qt (ui+1 . . . uj |α)
(5.12-18)
In Analogie zu 5.9-5 wird für jede punktierte Regel I ∈ Hn eine Folge von Mengen rekursiv
definiert. Man beachte, daß hier der Index t angibt, um die wievielte Iterierte“ es sich
”
handelt und sich nicht auf die Länge einer Regelfolge bezieht.
Ist I linkspunktierte Regel, also I = A→.α, j, j, so ist
Q′0 (I)
:= {A→α} = Q(I)
′
Qt+1 (I) := Q′t (I) für t > 0
(5.12-19a)
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so ist für alle t ≥ 0:
Q′t (I) := Q′t (I ′ )
(5.12-19b)
Ist I = A→αB.β, i, j und B 6∈ Σ, so ist
Q′0 (I)
:= ∅
S
S
′
′′
′
′
′
′′
′
Qt+1 (I) :=
I ′ ∈Hn I ′′ ∈Hn ∆(I , I, I )Qt (I )Qt (I ) für t > 0
(5.12-19c)
Einige Eigenschaften der Mengen, die die Glieder dieser Folgen bilden, sind Gegenstand der
folgenden Sätze.
Hilfssatz 1:
n
B
[
{B→γx }Qt (uk+1 . . . uj |γx ) = Qt+1 (uk+1 . . . uj |B)
x=1
Der Beweis ergibt sich unmittelbar aus Definition 5.12-3. Jede Ableitung B
pi1
mit mi ≤ t+1 und B ∈ N, kann als B ⇒ γx
pi2 ...pim
i
∗
⇒
pi′ ...pi′
1
geschrieben werden, womit γx
m ′
i
⇒∗
pi1 ...pim
i
∗
⇒
uk+1 . . . uj
uk+1 . . . uj mit pi1 = B→γx , 1 ≤ x ≤ nB ,
mit pi′1 . . . pi′m ′ = pi2 . . . pimi , wobei mi′ = mi − 1 und
i
pi′ ...pi′
1
damit mi′ ≤ t. Umgekehrt ist mit jeder Ableitung γx
pi′ ...pi′
0
m ′
i
m ′
i
⇒∗
uk+1 . . . uj und jede Regel
pi′0 := B → γx , 1 ≤ x ≤ nB , auch B ⇒∗ uk+1 . . . uj Ableitung. Damit sind die oben
angegebenen Mengen wechselseitig Teilmengen voneinander und es gilt deren Gleichheit.
169
5 Stochastische kontextfreie Grammatiken
Hilfssatz 2: Sei B ∈ N. Es ist
Qt+1 (ui+1 . . . uj |αB) ⊆
j
[
k=i
Qt (ui+1 . . . uk |α)Qt+1 (ui+1 . . . uj |B)
pi1 ...pim
i
Beweis: Sei pi1 . . . pimi ∈ Qt+1 (ui+1 . . . uj |αB) beliebig. Dann ist αB ⇒∗ ui+1 . . . uj , wobei
mi ≤ t + 1. Aufgrund der Kontextabhängigkeit kann α unabhängig von B ersetzt werden.
Es gibt also ein l, 0 ≤ l ≤ mi , und ein k ′ , i ≤ k ′ ≤ j, so daß
pi1 ...pil
αB ⇒∗ ui+1 . . . uk′ B
pil+1 ...pim
i
∗
⇒
ui+1 . . . uj
Da B ∈ N und ui+1 . . . uj ∈ Σ∗ , kann pil+1 . . . pimi nicht die leere Regelfolge sein, es muß
also l < mi sein. Da mi ≤ t + 1 ist somit l ≤ t und pi1 . . . pil ∈ Qt (ui+1 . . . uk′ |α). Da
mi − l ≤ t + 1 ist weiterhin pil+1 . . . pimi ∈ Qt+1 (uk′+1 . . . uj |B), womit pi1 . . . pil pil+1 . . . pimi ∈
Qt (ui+1 . . . uk′ |α)Qt+1 (uk′+1 . . . uj |B) und damit auch
pi1 . . . pimi ∈
j
[
k=1
Qt (ui+1 . . . uk |α)Qt+1 (uk+1 . . . uj |B)
Da pi1 . . . pimi beliebig ist, gilt diese Beziehung für jedes Element von Qt+1 (ui+1 . . . uj |αB),
womit die behauptete Teilmengenrelation folgt.
Satz: Für alle t ≥ 0 und alle punktierten Regeln I ist
Qt (I) ⊆ Q′t (I)
(5.12-20)
Hierbei ist Qt (I) entsprechend 5.12-17 über Mengen von Regelfolgen einer maximalen Tiefe
t und Q′t (I) entsprechend obiger Rekursion 5.12-18 definiert.
Der Beweis erfolgt mittels Induktion über t, wobei entsprechend der drei Fälle der Definition
5.12-18 unterschieden wird.
(I) t = 0.
a) I ist linkspunktierte Regel, also I = A→.α, j, j. Gemäß Definition 5.12-17 ist Qt (I) =
{A→α}Qt (uj+1 . . . uj |α). Es ist uj+1 . . . uj = ǫ. Bezüglich α werden zwei Fälle unterschieden.
Sollte α = ǫ sein, so kommt als einzige Regelfolge für α → ǫ nur λ in Frage. Deren Länge
ist 0, so daß Qt (uj+1 . . . uj |α) = {λ} und es ist Qt (I) = {A→α}. Ist dagegen α 6= ǫ, so gibt
es keine Ableitung α → ǫ und es ist Qt (uj+1 . . . uj |α) = ∅, und damit auch Q(I) = ∅. Da
Definition 5.12-18a entsprechend Q′t (I) = {A→α} gilt in beiden Fällen Qt (I) ⊆ Q′t (I).
b) I = A→αB.β, i, j mit I ′ = A→αB.β, i, j − 1 und B = Uj . Es wird ein Induktionsbeweis
über |α| geführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und wie in a gezeigt wurde, ist Qt (I ′ ) ⊆ Q′t (I ′ )
(X). Den Definitionen 5.12-17 entsprechend ist Qt (I ′ ) = {A→αBβ}Qt(ui+1 . . . uj |αB). Da
B = Uj Terminalsymbol wird wegen der Kontextfreiheit der zugrundeliegenden Grammatik mit jeder Regelfolge, mit der αB zu ui+1 . . . uj abgeleitet wird, auch α zu ui+1 . . . uj−1
abgeleitet und umgekehrt. Damit ist Qt (ui+1 . . . uj |αB) = Qt (ui+1 . . . uj−1|α). Wiederum
Definitionen 5.12-17 entsprechend ist aber Qt (I) = {A→αBβ}Qt (ui+1 . . . uj−1|α). Damit ist
170
5.12 Generierung von Ableitungen
Qt (I ′ ) = Qt (I). Hiermit die linke Seite und mit 5.12-19b die rechte Seite in X ersetzt, ergibt
die Behauptung.
(ii) |α| > 0. Dann ist α := α′ A′ und somit I = A→α′ A′ B.β, i, j und I ′ = A→α′ A′ .Bβ, i, j −1.
Der Induktionsvoraussetzung entsprechend ist (wobei k ≤ j − 1) Qt (A→α′ .A′ Bβ, i, k) ⊆
Q′ (A→α′ .A′ Bβ, i, k) (X). Es werden bezüglich A′ zwei Fälle unterschieden.
1. A′ = Uj−2 (womit dann k = j −2 sein muß). Dann ist der Argumentation in i entsprechend Qt (A→α′.A′ β, i, k) = Qt (A→α′A′ .β, i, j − 1), während Definition 5.12-19b entsprechend Q′ (A → α′ .A′ Bβ, i, k) = Q′ (A → α′A′ .Bβ, i, j − 1) ist. Beides in X eingesetzt ergibt
Qt (A→α′ A′ .Bβ, i, j − 1) ⊆ Q′ (A→α′ .A′ Bβ, i, j − 1) (Y1).
2. A′ ∈ N (A′ 6= Uj−1 und A′ ∈ Σ kommt nicht in Frage). Aus X folgt dann, wie in c
bezüglich I ′ gezeigt werden wird, Qt (A→α′ A′ .Bβ, i, j − 1) ⊆ Q′ (A→α′ .A′ Bβ, i, j − 1) (Y2).
Entsprechend der Argumentation in i folgt in beiden Fällen, also aus Y1 = Y2, die Behauptung Qt (A→α′ A′ B.β, i, j) ⊆ Q′ (A→α′ A′ B.β, i, j).
c) Definition 5.12-18 entsprechend ist Qt (I) = {A → αBβ}Qt (ui+1 . . . uj |αB). Da αB ∈
(N ∪ Σ)∗ N und ui+1 . . . uj ∈ Σ∗ , ist für eine Ableitung αB ⇒∗ ui+1 . . . uj ∈ Σ∗ mindestens
die Anwendung einer Regel notwendig. Mit anderen Worten, diese Relation kann nicht für
die leere Regelfolge bestehen. Damit ist Q0 (ui+1 . . . uj |αB) = ∅ und somit auch Q0 (I) = ∅.
Da die leere Menge stets Teilmenge ist, gibt es nichts weiter zu zeigen.
(ii) t > 0.
a) Hier ist kein Induktionsschritt zu führen, vielmehr kann die Argumentation von i a unverändert übernommen werden, da diese auch für t 6= 0 gilt.
b) Auch hier ist, ohne daß ein Induktionsschritt zu führen wäre, die Argumentation von i b
zu übernehmen; allerdings mit der Einschränkung, daß die Querverweise auf a bzw. c sich
auf a in ii bzw. c in ii zu beziehen haben.
c) Es ist I = A→αB.β, i, j, B ∈ N, und I ′ = A→α.Bβ, i, k und I ′′ = B → γx ., k, j. Der
Induktionsvoraussetzung entsprechend ist (insbesondere für alle I ′ und I ′′ ) Qt (I ′ ) ⊆ Q′t (I ′ )
und Qt (I ′′ ⊆ Q′t (I ′′ ). Durch Konkatenation und Vereinigung wird hieraus erhalten
[
[
I ′ ∈Hn I ′′ ∈Hn
∆(I ′ , I, I ′′ )Qt (I ′ )Qt (I ′′ ) ⊆
[
[
∆(I ′ , I, I ′′ )Q′t (I ′ )Q′t (I ′′ )
I ′ ∈Hn I ′′ ∈Hn
Die rechte Seite kann mit Definition 5.12-19c ersetzt werden. Auf der linken Seite tritt an
Stelle der Indexmenge der Vereinigung, einer Teilmenge von Hn ×Hn , die Menge [i, j]×[1, nB ]
(vgl. 5.12-17 (bzw. 5.7-5)). Außerdem werden Qt (I ′ ) und Qt (I ′′ ) entsprechend der Definition
5.12-18 ersetzt. Es ergibt sich:
j n
B
[
[
{A→αBβ}Qt (ui+1 . . . uk |α){B → γx }Qt (uk+1 . . . uj |γx ) ⊆ Q′t+1 (I)
k=i x=1
Auf der linken Seite können entsprechend den Eigenschaften der Konkatenation und Vereinigung einige Umordnungen vorgenommen werden:
{A→αBβ}
j
[
k=i
Qt (ui+1 . . . uk |α)
n
B
[
{B → γx }Qt (uk+1 . . . uj |γx ) ⊆ Q′t+1 (I)
x=1
Mit Hilfssatz 1 kann die rechte Vereinigung ersetzt werden und es ergibt sich
{A→αBβ}
j
[
k=i
Qt (ui+1 . . . uk |α)Qt+1 (uk+1 . . . uj |KB,1 ) ⊆ Q′t+1 (I)
171
5 Stochastische kontextfreie Grammatiken
Mit Hilfssatz 2 ist
{A→αBβ}Qt+1 (ui+1 . . . uj |αB)
⊆ {A→αBβ}
j
[
k=i
Qt (ui+1 . . . uk |α)Qt+1 (uk+1 . . . uj |B) ⊆ Q′t+1 (I) ⊆ Q′t+1 (I)
Mit Definition 5.12-18 folgt Qt+1 (I) ⊆ Q′t+1 (I), womit der Induktionsschritt gezeigt ist.
Mit allen drei Fällen a–c ist damit der Induktionsschritt ii möglich, so daß in Verbindung
mit i der Beweis von (5.12-20) vollständig ist.
Satz: Für alle t ≥ 0 und alle punktierten Regeln I ∈ Hn gilt:
Q′t (I) ⊆ Q′t+1 (I)
(5.12-21)
Der Beweis erfolgt mittels Induktion über t, wobei entsprechend den drei Fällen der Definition 5.12-19 unterschieden wird.
(I) t = 0.
a) I ist linkspunktierte Regel. Dann ist der Definition entsprechend Q′0 (I) = Q′1 (I) und es
gibt nichts weiter zu zeigen.
b) I = A → αB.β, i, j mit I ′ = A → α.Bβ, i, j − 1 und B = Uj . Es ist defintionsgemäß
Q′0 (I) = Q′0 (I ′ ) und Q′1 (I) = Q′1 (I ′ ). Es wird eine Induktion über |α| durchgeführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und mit a ist Q′0 (I) = Q′1 (I).
(ii) |α| > 0. Dann ist α = α′ A′ , wobei α′ ∈ (N ∪ Σ)∗ und A′ ∈ N. Bezüglich A′ werden zwei
Fälle unterschieden.
Entweder ist A′ = Uj−1. Dann ist Q′0 (I ′ ) = Q′0 (A → α′ .A′ Bβ, i, j − 2) und Q′1 (I ′ ) =
Q′1 (A → α′ .A′ Bβ, i, j − 2). Mit der Induktionsvoraussetzung (für kleineres |α| ist Q′0 (A →
α′ .A′ Bβ, i, j − 2) ⊆ Q′1 (A→α′ .A′ Bβ, i, j − 2).
Oder es ist A′ ∈
/ Σ. Es liegt dann der Fall c vor. Definitionsgemäß ist Q′1 (A→α′ .A′ Bβ, i, j −
2) = ∅, womit Q′0 (A→α′ .A′ Bβ, i, j − 2) ⊆ Q′1 (A→α′ .A′ Bβ, i, j − 2).
In beiden Fällen folgt daraus Q′0 (I ′ ) ⊆ Q′1 (I ′ ). Damit ist aber (der Definition 5.12-19b entsprechend) auch Q′0 (I) ⊆ Q′1 (I).
c) Es ist I = A→αB.β und B 6∈ Σ. Mit Defintion 5.12-19c ist dann Q′0 (I) = ∅ und damit
Q′0 (I) = ∅ ⊆ Q′1 (I) = ∅.
(II) t > 0.
a) I ist linkspunktierte Regel. Dann ist der Defintion entsprechend Q′t (I) = Q′t+1 (I) und es
gibt nichts weiter zu zeigen.
b) I = A → αB.β, i, j mit I ′ = A → α.Bβ, i, j − 1 und B = Uj . Es ist defintionsgemäß
Q′t (I) = Q′t (I ′ ) und Q′t+1 1(I) = Q′t+1 (I ′ ). Es wird eine Induktion über |α| durchgeführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und mit a ist Q′t (I) = Q′t+1 (I).
(ii) |α| > 0. Dann ist α = α′ A′ , wobei α′ ∈ (N ∪ Σ)∗ und A′ ∈ N. Bezüglich A′ werden zwei
Fälle unterschieden.
Entweder ist A′ = Uj−1. Dann ist Q′t (I ′ ) = Q′t (A→α′ .A′ Bβ, i, j −2) und Q′t+1 (I ′ ) = Q′t+1 (A→
α′ .A′ Bβ, i, j − 2). Mit der Induktionsvoraussetzung ist Q′t (A→α′ .A′ Bβ, i, j − 2) ⊆ Q′t+1 (A→
α′ .A′ Bβ, i, j − 2).
Oder es ist A′ ∈
/ Σ. Es liegt dann der Fall c vor. Dort wird gezeigt, daß Q′t (A→α′ .A′ Bβ, i, j −
2) ⊆ Q′t+1 (A→α′ .A′ Bβ, i, j − 2).
In beiden Fällen folgt daraus Q′t (I ′ ) ⊆ Q′t+1 (I ′ ). Damit ist aber (der Definition 5.12-19b
172
5.12 Generierung von Ableitungen
entsprechend) auch Q′t (I) ⊆ Q′t+1 (I).
c) Es ist I = A→αB.β, i, j und B 6∈ Σ. Für alle I ′ und I ′′ gilt die Induktionsvoraussetzung
Q′t−1 (I ′ ) ⊆ Q′t (I ′ ) bzw. Q′−1 t(I ′′ ) ⊆ Q′t (I ′′ ). Durch Konkatenation und Vereinigen über alle
(I ′ , I ′′ ) ∈ Hn ×Hn und zweimaliger Anwendung der Definition 5.12-19c folgt Q′t (I) ⊆ Q′t+1 (I).
Mit I und II ist der Satz gezeigt.
Satz: Für alle t ≥ 0 und alle punktierten Regeln I ∈ Hn gilt:
Q′t (I) ⊆ Q(I)
(5.12-22)
Hierbei ist Q′t (I) entsprechend obiger rekursiver Definitionen 5.12-19 definiert und Q(I) entsprechend Definition 5.12-9 die einer punktierten Regel zugeordnete Menge von Regelfolgen.
Der Beweis erfolgt mittels Induktion über t, wobei jeweils entsprechend den drei Fällen der
Definition 5.12-19 unterschieden wird.
(I) t = 0.
a) I = A→.α, j, j ist linkspunktierte Regel. Mit Definition 5.12-19a ist dann Q′0 (I) := {A→
α}, während Definition 5.12-13 zufolge Q(I) := {A→α}Q(uj+1 . . . uj |ǫ) ist. Da uj+1 . . . uj = ǫ
gibt es nur die eine Ableitung ǫ ⇒∗ ǫ mit der leeren Regelfolge λ. Also ist Q(uj+1 . . . uj |ǫ) =
{λ}, womit beide Mengen gleich sind.
b) Es ist I = A→αB.β, I ′ = A→α.Bβ und B = Uj . Es ist (Definition 5.12-19b entsprechend)
Q′0 (I) = Q′0 (I ′ )
(A)
Weiterhin ist
Q(I) = Q(I ′ )
(B)
da Q(ui+1 . . . uj |αB) = Q(ui+1 . . . uj−1|α). Dies ergibt sich daraus, daß mit der Ableitung
αB ⇒∗ ui+1 . . . uj auch α ⇒∗ ui+1 . . . uj−1 Ableitung ist — und zwar bei unveränderter Regelfolge, da die zugrundeliegende Grammatik kontextfrei ist und B als Terminalsymbol nur
zu Uj (mit der leeren Regelfolge) abgeleitet werden kann. Das Umgekehrte ist genauso der
Fall: mit der Ableitung α ⇒∗ ui+1 . . . uj−1 ist auch αB ⇒∗ ui+1 . . . uj Ableitung (ebenfalls
bei unveränderter Regelfolge). Es wird eine Induktion über |α| durchgeführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und Teil a entsprechend ist Q′0 (I ′ ) = Q(I ′ ).
(ii) |α| > 0, also α := α′ A′ mit α′ ∈ (N ∪ Σ)∗ und A′ ∈ N ∪ Σ). Es werden zwei Fälle
unterschieden.
A′ = Uj−1 . Dann ist (mit Definition 5.12-19b) Q′0 (I ′ ) = Q′0 (A→α′ .A′ Bβ, i, j − 2) (X) und
der Induktionsvoraussetzung (für kleineres |α|) entsprechend ist Q′0 ((A→α′ .A′ Bβ, i, j − 2) ⊆
Q(ui+1 . . . uj−2|α′ ) (Y). Entsprechend der Argumentation am Anfang von b (und da A′ =
Uj−1 ) ist Q(ui+1 . . . uj−2|α′ ) = Q(ui+1 . . . uj−2Uj−1 |α′ A′ ) (Z). Indem X und Z in Y eingesetzt
werden ergibt sich Q′0 (I ′ ) ⊆ Q(ui+1 . . . uj−2Uj |α′A′ ), also
Q′0 (I ′ ) ⊆ Q(ui+1 . . . uj−1|α)
(C1)
173
5 Stochastische kontextfreie Grammatiken
Im zweiten Fall ist A′ ∈ N und es ist Teil c der Definition 5.12-17 anzuwenden. Mit dieser
ist Q′0 (A→α′ .A′ , i, k) = ∅ und Teil b der Definition entsprechend damit auch Q′0 (I ′ ) = ∅.
Trivialerweise ist damit
Q′0 (I ′ ) ⊆ Q(I ′ )
(C2)
Indem A und B in C1 bzw. C2 eingesetzt werden, ergibt sich Q′0 (I) ⊆ Q(I).
c) Es ist I = A→αB.β, i, j und B 6∈ Σ. Definition 5.12-19, Teil c, gemäß ist Q′0 (I) = ∅ und
damit auch Q′0 (I) ⊆ Q(I).
(II) t > 0.
a) Der Beweis verläuft analog zu I, Teil a, wobei an Stelle von Q′0 (I) nun Q′t (I) tritt.
b) Der Beweis verläuft analog zu I, Teil b. Es ist I = A→αB.β, I ′ = A→α.Bβ und B = Uj .
Es ist (Definition 5.12-17b entsprechend)
Q′t (I) = Q′t (I ′ )
(A)
Weiterhin ist (der Argumentation in I, Teil b entsprechend,
Q′ (I) = Q′ (I ′ )
(B)
Es wird eine Induktion über |α| durchgeführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und Teil a entsprechend ist Q′t (I ′ ) = Q′ (I ′ ).
(ii) |α| > 0, also α := α′ A′ mit α′ ∈ (N ∪ Σ)∗ und A′ ∈ N ∪ Σ). Es werden zwei Fälle
unterschieden.
A′ = Uj−1 . Dann ist (mit Definition 5.12-19b) Q′t (I ′ ) = Q′t (A→α′ .A′ Bβ, i, j − 2) (X) und
der Induktionsvoraussetzung (für kleineres |α|) entsprechend ist Q′t ((A→α′ .A′ Bβ, i, j − 2) ⊆
Q(ui+1 . . . uj−2|α′) (Y). Entsprechend der Argumentation am Anfang von b (und da A′ =
Uj−1 ) ist Q(ui+1 . . . uj−2|α′) = Q(ui+1 . . . uj−2 Uj−1|α′ A′ ) (Z). Indem X und Z in Y eingesetzt
werden ergibt sich
Q′t (I ′ ) ⊆ Q(ui+1 . . . uj−1|α)
(C1)
Im zweiten Fall ist A′ ∈ N und es ist Teil c der Definition 5.12-19 anzuwenden. Wie in
Teil c gezeigt werden wird, ist
Q′t (I ′ ) ⊆ Q(I ′ )
(C2)
Q′t (I)
Indem A und B in C1 bzw. C2 eingesetzt werden, ergibt sich
⊆ Q(I).
c) Für alle I ′ und I ′′ ist der Induktionsvoraussetzung entsprechend Q′t−1 (I ′ ) ⊆ Q(I ′ ) und
Q′t−1 (I ′′ ) ⊆ Q(I ′′ ). Nach Konkatenation und Vereinigung wird hieraus erhalten:
[
[
I ′ ∈Hn I ′′ ∈Hn
∆(I ′ , I, I ′′ )Q′t−1 (I ′ )Q′t−1 (I ′′ ) ⊆
[
[
∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
I ′ ∈Hn I ′′ ∈Hn
Die linke Seite wird gemäß Definition 5.12-19c ersetzt, die rechte gemäß Satz 5.12-16 und es
folgt die Behauptung.
Mit I und II ist der Satz bewiesen.
174
5.12 Generierung von Ableitungen
Im folgenden soll auf einer Menge Q ⊂ P ∗ von Regelfolgen eine Ordnung festgelegt werden. Jeder Regel pi ∈ P ist eine Wahrscheinlichkeit qi ∈ IR, 0 < qi ≤ 1, zugeordnet.
pi1 pi2 ... pim
i
Entsprechend ist für die Regelfolge pi1 pi2 . . . pimi der Ableitung α0
⇒∗
u die zugeordnete Wahrscheinlichkeit qi1 qi2 . . . qimi (vgl. Abschnitt 5.6). Der leeren Regelfolge λ wird die
Wahrscheinlichkeit 1 zugeordnet.
Definition: Auf P ∗ wird die Ordnung →R wie folgt festgelegt. Seien pi1 pi2 . . . pimi ∈ P ∗ und
pi′1 pi′2 . . . pi′m ′ ∈ P ∗ . Dann ist
i
pi1 pi2 . . . pimi →R pi′1 pi′2 . . . pi′m ′
i
⇐⇒
qi1 qi2 . . . qimi > qi′1 qi′2 . . . qi′m ′
i
∨ (qi1 qi2 . . . qimi = qi′1 qi′2 . . . qi′m ′
i
∨ (qi1 qi2 . . . qimi = qi′1 qi′2 . . . qi′m ′
i
∧ imi < i′mi′ )
∧ imi = i′mi′ ∧ pi1 pi2 . . . pimi = pi′1 pi′2 . . . pi′m ′ )
i
(5.12-23)
Das heißt, die Regelfolgen sind nach abnehmender Wahrscheinlichkeit geordnet, bei gleicher Wahrscheinlichkeit nach zunehmender Länge und bei gleicher Wahrscheinlichkeit und
gleicher Länge schließlich lexikalisch (vgl. Definition 2.5-2). Damit ist sichergestellt, daß →R
total ist. Mit > und < ist die übliche Ordnung auf IR bzw. IN0 gemeint, wobei die Verwendung
von < in der letzten Zeile ausgenommen ist. Hier steht < für die lexikalische Ordnung. Diese
setzt eine totale Ordnung auf P voraus. Da P jedoch endlich ist, kann eine solche einfach
festgelegt werden, indem eine Permutation der Elemente von P (also eine beliebigie Reihenfolge derer) angegeben wird. Praktischerweise werden die Elemente von P mit ihrem Index
bezeichnet, also P := {p1 , p2 , . . . p|P | }. Damit liegt dann auch eine Ordnung fest, nämlich
p1 < p2 < . . . p|P | .
Wird Definition 5.12-23 zugrunde gelegt, kann die Konkatenation (von Regelfolgen) zu einer
Definition 5.11-1 genügenden Operation ◦ erweitert werden, wodurch der Sortieralgorithmus
5.11-15 anwendbar wird.
Definition: Es wird die Operation ◦ auf der Menge IR × IN0 × P∗ festgelegt. Seien
(qi1 qi2 . . . qimi ,mi , pi1 pi2 . . . pimi ) und (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj ) Elemente von IR ×
IN0 × P∗ . Dann ist
(qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi ) ◦ (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj )
:= (qi1 qi2 . . . qimi qj1 qj2 . . . qjmj , mi + mj , pi1 pi2 . . . pimi pj1 pj2 . . . pjmj )
(5.12-24)
Anmerkung: Die Projektion auf die dritte Komponente dieser Operation ergibt die übliche
Konkatenation. Umgekehrt sind alle Gleichungen, die Teilmengen von P ∗ zum Gegenstand
haben, zu verallgemeinern, indem jede Regelfolge um die zugeordnete Wahrscheinlichkeit und
ihre Länge zu einem Tripel aus IR×IN0 ×P∗ erweitert werden und die Konkatenation durch die
Operation ◦ ersetzt wird. Im folgenden wird dies jedoch nicht explizit durchgeführt werden,
sondern nur die dritte Komponente betrachtet werden. Bei Bedarf wird die Konkatenation
jedoch als zu der Operation ◦ erweitert angesehen werden.
In ähnlicher Weise wird die in 5.12-23 definierte Ordnung →R auf IR × IN0 × P∗ erweitert.
Seien (qi1 qi2 . . . qimi ,mi , pi1 pi2 . . . pimi ) und (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj ) Elemente von
175
5 Stochastische kontextfreie Grammatiken
IR × IN0 × P∗ . Dann ist
(qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi ) →R (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj )
⇐⇒ pi1 pi2 . . . pimi →R pj1 pj2 . . . pjmj
(5.12-25)
Es verbleibt noch zu zeigen, daß ◦ tatsächlich die in Definition 5.11-1 geforderte Monotonie”
Eigenschaft“ bezüglich →R (wie in 5.12-23 definiert) aufweist.
Satz: Seien (qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi ), (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj ) und
(qk1 qk2 . . . qkmk , mk , pk1 pk2 . . . pkmk ), Elemente von IR × IN0 × P∗ . Sei weiterhin
(qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi )→R (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj ). Dann ist
(qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi ) ◦ (qk1 qk2 . . . qkmk , mk , pk1 pk2 . . . pkmk )
→R (qj1 qj2 . . . qjmj , mj , pj1 pj2 . . . pjmj ) ◦ (qk1 qk2 . . . qkmk , mk , pk1 pk2 . . . pkmk )
also
(qi1 qi2 . . . qimi qk1 qk2 . . . qkmk , mi + mk , pi1 pi2 . . . pimi pk1 pk2 . . . pkmk )
→R (qj1 qj2 . . . qjmj qk1 qk2 . . . qkmk , mj + mk , pj1 pj2 . . . pjmj pk1 pk2 . . . pkmk )
(5.12-26)
Der Beweis ergibt sich mit Definition 5.12-23. Entsprechend der Voraussetzung dieses Satzes
und Definition 5.12-23 sind drei Fälle zu unterscheiden.
1. qi1 qi2 . . . qimi > qj1 qj2 . . . qjmj . Diese Relation bleibt nach Multiplikation mit qk1 qk2 . . . qkmk
erhalten, so daß die Behauptung des Satzes gilt.
2. qi1 qi2 . . . qimi = qj1 qj2 . . . qjmj und mi < mj . Die Gleichheit bleibt nach nach Multiplikation mit qk1 qk2 . . . qkmk erhalten. Ebenso bleibt die zweite Relation nach Addition von mk auf
beiden Seiten gültig, nämlich mi + mk < mj + mk . Damit gilt die Behauptung des Satzes
auch in diesem Fall.
3. qi1 qi2 . . . qimi = qj1 qj2 . . . qjmj und mi = mj und pi1 pi2 . . . pimi < pj1 pj2 . . . pjmj . Beide
Gleichungen bleiben nach Multiplikation mit qk1 qk2 . . . qkmk bzw. Addition von mk gültig.
Die dritte Relation bleibt nach rechtsseitiger Konkatenation von pk1 pk2 . . . pkmk auf beiden
Seiten entsprechend der Definition der lexikalischen Ordnung (vgl. 5.2-2) ebenfalls gültig.
Damit ist die Behauptung in allen drei Fällen der Definition 5.12-21 gezeigt.
Weiterhin ist zu zeigen, daß die Voraussetzungen der Algorithmen 5.11-14 und 5.11-20,
nämlich die Bedingungen Nr. 2 der Definition 5.11-7 und Nr. 2 der Definition 5.11-17, erfüllt
sind.
Es werden in diesem Abschnitt Regelfolgen betrachtet, die entsprechend Definition 5.1210 punktierten Regeln I ∈ Hn zugeordnet sind. Es kommen also nur spezielle Teilmengen
von P ∗ in Betracht, nämlich die punktierten Regeln zugeordneten Mengen Q(I) und deren
Teilmengen. Für diese Teilmengen gilt einer der drei Sätze 5.12-12, 5.12-13 oder 5.12-14.
Bei Satz 5.12-12 besteht die Menge Q(I) nur aus einem einzigen Element. In Satz 5.1213 ist die Menge Q(I) mit der Menge Q(I ′ ) gleich, so daß dieser Fall auf den Fall des
176
5.12 Generierung von Ableitungen
Satzes 5.12-12 oder 5.12-14 zurückgeführt werden kann. Bezüglich der Voraussetzungen der
Sortieralgorithmen verbleibt also nur der Fall des Satzes 5.12-14. Es ist damit also
Q(I) =
[
[
∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
I ′ ∈Hn I ′′ ∈Hn
Satz: Sei I = A→αB.β, i, j, I ′→α.Bβ, i, k und I ′′ = B→γx , k, j. Sei weiterhin pi1 pi2 . . . pimi ,
′
∈ Q(I ′′ ). Dann gilt, wenn
pi′1 pi′2 . . . pi′m ′ ∈ Q(I ′ ) und pj1 pj2 . . . pjmi , pj1′ pj2′ . . . pjm
′
j
i
′
)
(pi1 pi2 . . . pimi , pj1 pj2 . . . pjmi ) 6= (pi′1 pi′2 . . . pi′m ′ , pj1′ pj2′ . . . pjm
′
j
i
für alle diese Folgen
′
pi1 pi2 . . . pimi pj1 pj2 . . . pjmi 6= pi′1 pi′2 . . . pi′m ′ pj1′ pj2′ . . . pjm
′
j
i
(5.12-27)
Für den Beweis wird angenommen, daß diese Ungleichheit nicht gilt. Dann ist
′
pi1 pi2 . . . pimi pj1 pj2 . . . pjmi = pi′1 pi′2 . . . pi′m ′ pj1′ pj2′ . . . pjm
′
j
i
Entsprechend der Definition (5.12-10) von Q(I ′ ) können mit der Regelfolge pi2 pi2 . . . pimi
bzw. pi′2 pi′2 . . . pi′m ′ die Symbolfolge αB zu ui+1 . . . uk abgeleitet werden, es ist also
i
αB
pi2 pi3 ... pim
i
∗
⇒
pi′ pi′ ... pi′
1
ui+1 . . . uk und αB
m ′
i
2
⇒∗
ui+1 . . . uk
Sei (ohne Beschränkung der Allgemeinheit) mi ≤ mi′ . Dann kann die zweite Ableitung auch
als
... p
p
p
αB
pi′ pi′ ... pi′
mi
2 3
∗
⇒
α̃
i′m
i′
i′
i′
mi +1 mi +2
⇒
∗
ui+1 . . . uk
geschrieben werden. Wegen der Gleichheit der Regelfolgen sind insbesondere deren jeweils
ersten mi Glieder paarweise gleich: pi2 = pi′2 , pi3 = pi′3 , usw. bis pimi = pi′mi . Der erste Teil
der zweiten Ableitung ist damit gleich der ersten Ableitung, also muß α̃ = ui+1 . . . uk sein.
Damit ist der zweite Teil der Ableitung
pi′
ui+1 . . . uk
mi +1
pi′
mi +2
⇒
∗
... pi′
m ′
i
ui+1 . . . uk
so daß pi′m +1 pi′m +2 . . . pi′m ′ = λ, die leere Regelfolge, sein muß. Damit ist der definitionsi
i
i
gemäß der rechte Index deren Regeln mi′ kleiner als der linke mi + 1, also mi′ ≤ mi . Mit der
obigen Voraussetzung muß dann mi = mi′ sein. Mit der Gleichheit der Regelfolgen ist dann
′
. Dies
nicht nur pi1 pi2 . . . pimi = pi′1 pi′2 . . . pi′m ′ , sondern auch pj1 pj2 . . . pjmj = pj1′ pj2′ . . . pjm
j′
i
ist jedoch im Widerspruch zu der Voraussetzung
′
pi1 pi2 . . . pimi pj1 pj2 . . . pjmi 6= pi′1 pi′2 . . . pi′m ′ pj1′ pj2′ . . . pjm
′
i
j
Da die Annahme, daß der Satz falsch ist, zu einem Widerspruch führt, muß dieser also richtig
sein.
177
5 Stochastische kontextfreie Grammatiken
Satz 5.12-27 gilt auch noch, wenn im Sinne von Definition 5.12-24 von den Regelfolgen
pi1 pi2 . . . pimi auf die Tripel (qi1 qi2 . . . qimi , mi , pi1 pi2 . . . pimi pj1 pj2 . . . pjmi ) übergegangen wird,
und die Mengen Q(I ′ ) und Q(I ′′ ) durch entsprechende Teilmengen von IR × IN × Q(I′ ) bzw.
IR × IN × Q(I′′ ) ersetzt werden. An die Stelle der Konkatenation tritt dann die in 5.12-24
definierte Operation ◦. (Der Beweis für den so erweiterten Satz 5.12-27 ist derselbe wie zuvor, da der Widerspruch sich bereits nur aus der Betrachtung der dritten Komponenten der
Tripel (nämlich den Regelfolgen) ergibt.) Damit ist die Voraussetzung (Nr. 2 der Definition
5.11-7) für den Algorithmus zum Sortieren der Produkte (Definition 5.11-9) erfüllt.
Satz: Sei I ∈ Hn punktierte Regel mit I = A→αB.β, i, j, I1′ = A→α.Bβ, i, k1, I2′ = A→
α.Bβ, i, k2, I1′′ = B→γx1 , k1, j und I2′′ = B→γx2 , k2 , j mit (I1′ , I, I1′′ ), (I2′ , I, I2′′ ) ∈ hn . Für alle
derartigen I1′ , I2′ , I1′′ , I2′′ ∈ Hn mit (I1′ , I1′′ ) 6= (I2′ , I2′′ ) ist
Q(I1′ )Q(I1′′ ) ∩ Q(I2′ )Q(I2′′ ) = ∅
(5.12-28)
Für den Beweis wird angenommen, daß dies nicht der Fall ist, es also eine Folge pi1 pi2 . . . pimi ∈
P ∗ gibt, so daß pi1 pi2 . . . pimi ∈ Q(I1′ )Q(I1′′ ) und pi1 pi2 . . . pimi ∈ Q(I2′ )Q(I2′′ ). Da die Folge
die Konkatenation zweier Teilfolgen ist, gibt es ein l1 und ein l2 , so daß pi1 pi2 . . . pil1 ∈ Q(I1′ ),
pil1 +1 pil1 +2 . . . pimi ∈ Q(I1′′ ), pi1 pi2 . . . pil2 ∈ Q(I2′ ) und pil2 +1 pil2 +2 . . . pimi ∈ Q(I2′′ ). Der Definition 5.12-13 der Mengen Q(I1′ ), Q(I1′′ ), Q(I2′ ), Q(I2′′ ) entsprechend gibt es mit diesen
Regelfolgen folgende Ableitungen:
pi2 pi3 ... pil
1
∗
⇒
α
ui+1 . . . uk1
(A)
pi2 pi3 ... pil
2
∗
⇒
α
ui+1 . . . uk2
(B)
pil
γ x1
1 +2
pil
1 +3
... pim
i
⇒∗
uk1 +1 . . . uj
(C)
pil
γ x2
2 +2
pil
2 +3
⇒
... pim
∗
i
uk2 +1 . . . uj
(D)
pi2 pi3 ... pil
2
∗
⇒
Sei ohne Beschränkung der Allgemeinheit k1 ≤ k2 . Für die Ableitung B ist dann α
ui+1 . . . uk1 uk1 +1 . . . uk2 . Es werden nun entsprechend der Größen von l1 und l2 zwei Fälle
unterschieden.
a) l1 ≤ l2 . Die Regelfolge der Ableitung B wird in zwei Teilfolgen zerlegt und es ist
α
pi2 pi3 ... pil
1
∗
⇒
pil
α̃
1 +1
pl1 +2 ... pil
2
∗
⇒
ui+1 . . . uk1 uk1 +1 . . . uk2
Der erste Teil entspricht jedoch der Ableitung A, so daß α̃ = ui+1 . . . uk1 ist. Da dies eine
Folge von Terminalsymbolen ist, kann die Regelfolge des zweiten Teils nur die leere Folge
178
5.12 Generierung von Ableitungen
λ sein, also λ = pil1 +1 pil1 +2 . . . il2 . Damit muß der rechte Index kleiner als der linke sein,
also l2 < l1 + 1 bzw. l2 ≤ l1 . Mit der Voraussetzung des Falles a folgt damit l2 = l1 .
Mit der leeren Regelfolge kann ui+1 . . . uk1 nur zu sich selbst abgeleitet werden, also muß
ui+1 . . . uk1 = ui+1 . . . uk2 und damit auch k1 = k2 sein.
b) l2 ≤ l1 . Damit kann die Regelfolge der Ableitung A zerlegt werden zu
α
pi2 pi3 ... pil
2
∗
⇒
α̃
′
pil
2 +1
pl1 +2 ... pil
1
∗
⇒
ui+1 . . . uk1 uk1 +1 . . . uk2
Entsprechend der Ableitung B muß α̃′ = ui+1 . . . uk2 sein. Da dies eine Folge von Terminalsymbolen ist, muß pil2 +1 . . . pil1 = λ sein. Damit folgt (analog zum Fall a), daß l1 = l2 und
k2 = k1 .
In den beiden Fällen a und b ist somit I1′ = I2′ (X).
Entsprechend der Definition 5.12-13 ist pil1 = B→γx1 und pil2 = B→γx2 . Da, wie gerade
gezeigt wurde, l1 = l2 ist, muß auch pil1 = pil2 , also B→γx1 = B→γx2 und damit x1 = x2
sein. Außerdem ist, wie ebenfalls oben gezeigt wurde, k1 = k2 . Damit ist dann I1′′ = I2′′ (Y).
Mit X und Y ist (I1′ , I1′′ ) = (I2′ , I2′′ ), im Widerspruch zur Voraussetzung des Satzes. Da die Annahme nichtleerer Schnittmengen zu einem Widerspruch führt, müssen diese also tatsächlich
leer sein und der Satz ist bewiesen.
Satz 5.12-28 gilt auch, wenn die Folge pi1 pi2 . . . pimi zum Tripel (qi1 qi2 . . . qimi , mi ,pi1 pi2 . . . pimi )
erweitert wird. Die Mengen Q(I1′ ), Q(I1′′ ), Q(I2′ ) und Q(I2′′ ) sind durch die entsprechenden
Teilmengen von IR × IN × Q(I′1 ), IR × IN × Q(I′′1 ), IR × IN × Q(I′2 ) und IR × IN × Q(I′′2 ) zu
ersetzen. An die Stelle der Konkatenation tritt die Operation ◦ der Definition 5.12-23. (Der
Beweis für den so erweiterten Satz ist derselbe wie oben, da der Widerspruch bereits beim
Betrachten (nur) der dritten Komponenten (den Regelfolgen) auftritt.) Damit ist die Voraussetzung (Nr. 2 der Definition 5.11-17) für den Algorithmus zum Sortieren der Elemente
der Vereinigungsmenge (Definition 5.8-25) erfüllt.
Satz: Sei I ∈ Hn punktierte Regel, I = A→α.β, i, j. Dann enthält Q(I) ein größtes Element,
entsprechend der in 5.12-23 festgelegten Ordnung.
(5.12-29)
Beweis: Daß Q(I) nicht leer ist, folgt aus Satz 5.4-12, demzufolge eine Ableitung α ⇒∗
ui+1 . . . uj und damit auch eine entsprechende Regelfolge existiert. Sei pi2 pi3 . . . pimi diese
Regelfolge. Sei Q(ui . . . uj |α) die Menge aller derartiger Regelfolgen. Für diese gilt mit Satz
5.6-7 (unter Zuhilfenahme von Definition 5.6-6 und Satz 5.6-10) und Definition 5.7-1 q(I) ≤ 1.
Mit Satz 5.6-6, Satz 5.6-7 und Satz 5.6-11 gilt für die Summe der Wahrscheinlichkeiten all
dieser Regelfolgen q(ui+1 . . . uj |α) ≤ 1 (A).
Mit pi1 := A→αβ ist die Regelfolge pi1 pi2 . . . pimi Element von Q(I). Die dieser zugeordnete
Wahrscheinlichkeit ist qi1 pi2 . . . qimi (B).
Die Summe der Wahrscheinlichkeiten aller Regelfolgen in Q(I) ist, wie in 5.7-1 definiert, q(I).
Die Regeln von Q(I) gehen durch Konkatenation mit {A→αβ} aus Q(ui+1 . . . uj |α) hervor.
Entsprechend sind die Wahrscheinlichkeiten der Regelfolgen jeweils mit qi1 zu multiplizieren.
Mit A ergibt sich für die Summe der Wahrscheinlichkeiten der Regelfolgen dann q(I) ≤ 1
(C).
Die Menge Q(I) wird nun anhand der Wahrscheinlichkeit B in zwei disjunkte Teilmengen
zerlegt:
Q< := {pi′1 pi′2 . . . pi′m ′ | qi′1 qi′2 . . . qi′m ′ < qi1 qi2 . . . qimi }
i
i
und Q≥ := {pi′1 pi′2 . . . pi′m ′ | qi′1 qi′2 . . . qi′m ′ ≥ qi1 qi2 . . . qimi }
i
i
179
5 Stochastische kontextfreie Grammatiken
Die Menge Q≥ ist sicherlich nicht leer, da sie zumindetens das Element pi1 pi2 . . . pimi enthält.
Wie schon mehrfach bemerkt, wird vorausgesetzt, daß die Wahrscheinlichkeit einer Regel
streng positiv ist. (Die Wahrscheinlichkeit 0 für eine Regel wäre bezüglich des Earleysche
Algorithmus gleichbedeutet mit deren Nichtexistenz.) Die Wahrscheinlichkeit B für dieses
Element ist damit ebenfalls von 0 verschieden. Die Menge Q≥ kann höchstens ⌊ qi qi 1...qi ⌋
mi
1 2
Elemente enthalten. Würde die Menge Q≥ nämlich mehr als diese Anzahl enthalten, so wäre
die Summe deren Wahrscheinlichkeiten mindestens (⌊ qi qi 1...qi ⌋ + 1) · qi1 qi2 . . . qimi , eine Zahl
mi
1 2
die sicherlich größer als 1 ist. Damit wäre bereits die Summe der Wahrscheinlichkeiten der
Regelfolgen einer Teilmenge von Q(I) größer als 1, im Widerspruch zu C.
Entsprechend Satz 5.11-5 weist die Menge Q≥ als endliche Menge ein größtes Element
bezüglich der in 5.12-23 definierten Ordnung auf. Dieser Definition und der Definition von
Q≥ entsprechend ist dieses Element aber auch das größte Element von ganz Q(I).
Satz: Sei I ∈ Hn punktierte Regel, I = A→α.β, i, j. Dann enthält Q(I) für alle k ≤ |Q(I)|
ein k-tgrößtes Element, entsprechend der in 5.12-23 festgelegten Ordnung.
(5.12-30)
Der Beweis wird mittels Induktion über k geführt.
(i) k = 1. Die Existenz des größten Elements wurde in 5.12-29 gezeigt.
(ii) Seien die Folgen p1 , p2 , . . . pk−1 das größte, zweitgrößte usw. bis (k − 1)-tgrößte Element von Q(I). Entsprechend der Induktionsvoraussetzung mögen diese existieren. Nun wird
Sk−1
die Menge Q(I) \ i=1
{pi } betrachtet. Diese stellt eine Teilmenge von Q(I) dar, so daß die
Summe der Wahrscheinlichkeiten der Regelfolgen dieser Menge sicherlich kleiner als 1 ist.
Außerdem ist diese Teilmenge von Q(I) der Voraussetzung k ≤ |Q(I)| entsprechend nicht
leer. Mit derselben Argumentation wie in Satz 5.12-29 kann nun gezeigt werden, daß diese
Teilmenge ein größtes Element enthält. Dies ist aber mit Definition 5.11-4 das k-tgrößte
Element von von Q(I).
Satz: Es gibt ein t, so daß die Menge Q′t (I) (der in 5.12-19 definierten Folgen) das k-tgrößte
Element von Q(I) enthält (wobei k ≤ |Q(I)| vorausgesetzt wird).
(5.12-31)
Beweis: Mit Satz 5.12-29 existiert das k-tgrößte Element von Q(I). Sei dies die Regelfolge pi1 pi2 . . . pimi . Entsprechend Defintion 5.12-3 und Definition 5.12-18 ist diese Element von
allen Mengen Qt (I) mit t ≥ mi − 1. Mit Satz 5.12-20 ist aber Qt (I) ⊆ Q′t (I), und diese
Menge Q′t (I) wird mit dem t-ten Schritt der in 5.12-19 definierten Rekursion erhalten.
Ähnlich wie in 5.12-18 wird für jede punktierte Regel I ∈ Hn eine weitere, jetzt aber nicht”
deterministische“ Folge von Mengen rekursiv definiert. Man beachte, daß auch hier der Index
t angibt, um die wievielte Iterierte“ es sich handelt und sich nicht auf die Länge einer Re”
gelfolge bezieht. Mit den so definierten Folgen wird es dann möglich sein, die in Abschnitt
5.11 behandelten Abhängigkeiten der punktierten Regeln in Hn auszunutzen.
180
5.12 Generierung von Ableitungen
Ist I linkspunktierte Regel, also I = A→.α, j, j, so ist
Q̃0 (I)
:= {A→α} = Q(I)
Q̃t+1 (I) := Q̃t (I) für t ≥ 0
(5.12-32a)
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so gilt für Q̃t (I) (für alle t ≥ 0):
Q̃t (I) := Q̃t (I ′ )
(5.12-32b)
Ist I = A→αB.β, i, j und B 6∈ Σ, so gilt für Q̃t+1 (I) (für t ≥ 0):
S
I ′ ∈Hn
Q̃0 (I)
⊆ Q(I)
I ′′ ∈Hn ∆(I , I, I )Q̃t (I )Q̃t (I ) ⊆ Q̃t+1 (I) ⊆ Q(I)
S
′
′′
′
′′
(5.12-32c)
Satz: Für alle punktierten Regeln I ∈ Hn und für t ≥ 0 gilt für Q̃t (I)
Q′t (I) ⊆ Q̃t (I) ⊆ Q(I)
(5.12-33)
Der Beweis wird mittels Induktion über t geführt, wobei entsprechend der drei Fälle der
Definition 5.12-18 bzw. 5.12-31 unterschieden wird.
(I) t = 0.
a) I ist linkspunktierte Regel. Mit Definition 5.12-18 ist Q′t (I) = Q(I). Mit Definition 5.12-32
ist Q̃t (I) = Q(I). Damit sind alle drei Mengen gleich und die schwächere Behauptung des
Satzes gilt.
b) Es ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj . Mit Definition 5.12-18
ist Q′t (I) = Q′t (I ′ ) (A). Mit Definition 5.12-32 ist Q̃t (I) = Q̃t (I ′ ) (B). Entsprechend gilt
Q(I) = Q(I ′ ) (C) (vgl. hierzu die Ausführungen in i b beim Beweis des Satzes 5.12-22). Es
wird ein Induktionsbeweis über |α| geführt.
(i) |α| = 0. Dann ist I ′ linkspunktierte Regel und Teil a entsprechend ist Q′t (I ′ ) = Q̃t (I ′ ) =
Q(I ′ ), woraus mit A, B und C durch Ersetzen folgt Q′t (I) = Q̃t (I) = Q(I) (womit dann auch
die entsprechenden Teilmengenbeziehungen des Satzes gelten).
(ii) |α| > 0. Dann ist α = α′ A′ , mit α′ ∈ (N ∪ Σ)∗ und A ∈ N ∪ Σ. Es werden zwei Fälle
unterschieden.
1. A′ = Uj−1 . Dann ist analog zu der Argumentation am Anfang von b, die zu den Gleichungen A, B und C geführt haben, Q′t (I ′ ) = Q′t (A→α′.A′ Bβ, i, j − 2), Q̃t (I ′ ) = Q̃t (A→
α′ .A′ Bβ, i, j − 2) und Q(I ′ ) = Q(A→α′ .A′ Bβ, i, j − 2). Indem diese drei Gleichungen in die
Induktionsvorausetzung (für das kleinere“ |α′|)
”
′
′
′
Qt (A→α .A Bβ, i, j − 2) ⊆ Q̃t (A→α′ .A′ Bβ, i, j − 2) ⊆ Q(A→α′ .A′ Bβ, i, j − 2)
eingesetzt werden, folgt Q′t (I ′ ) ⊆ Q̃t (I ′ ) ⊆ Q(I ′ ).
2. A′ ∈ N. Dann ist, wie in c gezeigt werden wird (ohne daß dafür obige Induktionsvoraussetzung benötigt würde), Q′t (I ′ ) ⊆ Q̃t (I ′ ) ⊆ Q(I ′ ).
181
5 Stochastische kontextfreie Grammatiken
In beiden Fällen folgt aus dieser Relation durch Ersetzen mit A, B und C, daß Q′t (I) ⊆
Q̃t (I) ⊆ Q(I).
c) Es ist I = A→αB.β, i, j und B ∈ N. Definition 5.12-18 gemäß ist Q′0 (I) = ∅ und damit
Q′0 (I) ⊆ Q̃0 (I), woraus die Behauptung direkt aus Definition 5.12-32 folgt.
(II) t > 0.
a) Der Beweis in I gilt für beliebiges t und kann hier auch für t + 1 unverändert übernommen
werden, ohne daß ein Induktionsschritt notwendig wäre.
b) Genauso wie in a kann auch hier der Beweis aus I übernommen werden.
c) Der Induktionsvoraussetzung entsprechend ist (für alle punktierten Regeln I bzw. I ′ oder
I ′′ )
Q′t (I ′ ) ⊆ Q̃t (I ′ ) ⊆ Q(I ′ )
Q′t (I ′′ ) ⊆ Q̃t (I ′′ ) ⊆ Q(I ′′ )
Durch Konkatenation der Mengen der beiden letzten Zeilen und anschließende Vereinigung
dieser Mengen wird erhalten
[
[
∆(I ′ , I, I ′′ )Q′t (I ′ )Q′t (I ′′ )
I ′ ∈Hn I ′′ ∈Hn
⊆
[
[
∆(I ′ , I, I ′′ )Q̃t (I ′ )Q̃t (I ′′ )
⊆
[
I ′ ∈Hn I ′′ ∈Hn
I ′ ∈H
n
[
I ′′ ∈H
∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
n
Indem nun gemäß den Definitionen 5.12-19c und 5.12-32c ersetzt wird, ergibt sich
Q′t+1 (I) ⊆ Q̃t (I) ⊆ Q(I)
womit der Induktionsschritt auch für c gezeigt ist.
Mit i und ii ist der Induktionsbeweis vollständig und der Satz ist bewiesen.
Mit diesem Satz ist nun insbesondere gezeigt, daß wenn im Verfahren 5.12-19 für einige I die
Menge Q(I) an die Stelle der Menge Q′t (I) tritt (die Menge Q(I) stellt gewissermaßen den
Extremfall“ der Definition 5.12-32 dar), Folgen Q̃t (I) erhalten werden, deren Glieder jeweils
”
die Menge Q′t (I) als Teilmenge und damit (mit Satz 5.12-20) ebenfalls die Menge Qt (I) als
Teilmenge enthalten. Damit ist nun eine Vereinfachung möglich, die darin besteht, daß die
Iteration 5.12-19 nicht für alle I ∈ Hn auf einmal“ durchgeführt wird, sondern auf die I einer
˜ (vgl. Abschnitt 5.8)”beschränkt werden kann, wenn für alle I ∈ G≺ (I)
˜ die
Teilmenge G≺≻ (I)
6≻
entsprechenden Q(I) bekannt sind. In Abschnitt 5.8 wurde eine Zerlegung der Menge Hn in
eine Folge paarweise disjunkter Teilmengen G1 , G2 , . . . angegeben, so daß kein I˜ ∈ Gk von
einem I ∈ Gk′ mit k ′ > k abhängig ist. Damit konnten die q(I) für alle I ∈ Hn berechneten
werden, indem erst die q(I) für alle I ∈ G1 , dann die q(I) für alle I ∈ G2 , usw. berechnet
wurden. Genauso soll hier zur Berechnung der Q(I) verfahren werden. Selbstverständlich ist
es nicht möglich, Q(I) durch dieses Iterationsverfahren 5.12-19 (bzw. 5.12-32) zu bestimmen,
falls Q(I) unendlich ist. Dies ist jedoch auch gar nicht notwendig, da schließlich nur nach
den m größten Elementen (im Sinne der Relation 5.12-23) gefragt werden wird. Und hierfür
werden auf die in 5.12-32 definierten Beziehungen die Sortieralgorithmen 5.11-15 und 5.11-20
angewendet.
Mit dem bisher Gesagten ergibt sich aus der Definition 5.12-32 folgende Definition als Spezialfall (womit die nichtdeterministische Iteration“ wieder deterministisch wird). Sei I˜ ∈ Hn
”
182
5.12 Generierung von Ableitungen
˜ G≺≻ (I),
˜ G≺ (I)
˜ und G= (I).
˜ Für
mit den entsprechenden, in 5.10-5 definierten Mengen G≺ (I),
6≻
˜ sei Q(I) bekannt. Für alle I ∈ G≺ (I)
˜ ∪ G= (I)
˜ wird definiert:
alle I ∈ G≺6≻ (I)
Ist I linkspunktierte Regel, also I = A→.α, j, j, so ist für alle t ≥ 0:
Q̃t (I) := Q(I) = {A→α}
(5.12-34a)
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj , so ist für alle t ≥ 0:
Q̃t (I) := Q̃t (I ′ )
(5.12-34b)
Ist I = A→αB.β, i, j und B 6∈ Σ, so wird (neu) definiert:



Q(I)
Q̃0 (I) := ∅


∅
und für alle t > 0:
Q̃t (I) =


Q(I)

 S
˜
I ′ ∈G≺ (I)


 S
6≻
˜
I ′ ∈G≺ (I)
S
S
˜
I ′′ ∈G≺ (I)
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
∆(I ′ , I, I ′′ )Q(I ′ )Q(I ′′ )
6≻
˜
I ′′ ∈G≺ (I)
∆(I ′ , I, I ′′ )Q̃t−1 (I ′ )Q̃t−1 (I ′′ )
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
(5.12-34c)
Anmerkung: Für den zweiten Zweig dieser Definition kann von Satz 5.12-17 Gebrauch geS
S
′
′′
′
′′
macht werden; es ist I ′ ∈G≺ (I)
˜ ∆(I , I, I )Q(I )Q(I ) = Q(I). Entsprechend der
˜
I ′′ ∈G≺ (I)
6≻
6≻
˜ leer und Q(I) ist nur von Elementen I ′ bzw. I ′′ aus G≺ (I)
˜
˜ ist G≺≻ (I)
Definition von G= (I)
′
′′
abhängig, für die Q(I ) bzw. Q(I ) nach Voraussetzung bekannt ist.
Sortieralgorithmus auf Q(I): Für eine vorgegebene Zahl m ∈ IN soll für alle I ∈ Hn das
größte, zweitgrößte, bis m-tgrößte Element von Q(I) ermittelt werden. Hierfür werden das
größte, zweitgrößte, usw. bis m-tgrößte Element von Q̃0 (I), Q̃1 (I), Q̃2 (I), . . . bestimmt.
˜ ist k-tgrößte Element
Das so ermittelte k-tgrößte Element von Q̃kg (I), wobei g := |G≺≻ (I),
von Q(I) (wie unten gezeigt werden wird). Zuvor wird
mQ̃t (I) := min {m, |Q̃t (I)|}
definiert, um der Tatsache Rechnung zu tragen, daß Q̃t (I) möglicherweise weniger als m
Elemente enthält. Der Algorithmus wird durch die Funktion
maxm: (P(P ∗ ))Hn→(P ∗ )[1,mQ̃t (I) ] , Q(I) 7→ (p1 , p2 , . . . pmQ̃
t (I)
)
realisiert, wobei die Regelfolge pk das k-tgrößte Element von Q̃t (I) (bzgl. der in 5.12-23
definierten Relation →R ) ist.
183
5 Stochastische kontextfreie Grammatiken
(Anmerkung zur Notation: B A ist die Menge aller Abbildungen von A nach B, also die
Menge aller Tupel (bi1 , bi2 , . . . ) mit bi1 , bi2 , . . . inB, wobei bik dem Element ak ∈ A zugeordnet
wurde. (P(P ∗ ))Hn bezeichnet alle Möglichkeiten den punktierten Regeln I aus Hn Elemente
aus P(P ∗ ), also Mengen von Regelfolgen, zuzuordnen, während (P ∗ )[1,k] für alle geordneten
k-Tupel von Regelfolgen steht.)
Die Funktion maxm wird rekursiv definiert, d.h. die Bestimmung von maxm Q̃t (I) wird i.allg.
auf die Bestimmung entsprechender Folgen maxm Q̃t−1 (I ′ ) und maxm Q̃t−1 (I ′′ ) zurückgeführt.
Ausgehend von Definition 5.12-34 (deren Voraussetzungen hier beibehalten werden) ist:
I ist linkspunktierte Regel, also I = A→.α, j, j. Dann ist für alle t ≥ 0:
maxm Q̃t (I) := Q(I) = (A→α)
(5.12-35a)
Die Menge Q̃t (I) enthält nur ein einziges Element. Bei diesem handelt es sich um eine aus
einer einzigen Regel bestehenden Regelfolge, die sofort angegeben werden kann.
Ist I = A→αB.β, i, j, I ′ = A→α.Bβ, i, j − 1 und B = Uj . (Es sei nochmals angemerkt, daß
aufgrund der Minimalität des Earleyschen Algorithmus keine punktierte Regel I ′ existiert,
für die B ∈ Σ, aber 6= Uj ist.) Dann ist für alle t ≥ 0:
maxm Q̃t (I) := maxm Q̃t (I ′ )
(5.12-35b)
Mit Satz 5.10-6 ist sichergestellt, daß I ′ 6∈ G≺≻ (I), so daß maxm Q̃(I ′ ) tatsächlich ohne Kenntnis der Menge Q(I) bestimmt werden kann.
Ist I = A→αB.β, i, j und B 6∈ Σ, so ist:



und für alle t > 0:
maxm Q̃t (I) =







maxm Q(I)
maxm Q̃0 (I) := ()


()
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
maxm Q(I)
S
S
′
′′
′
′′
maxm I ′ ∈G≺ (I)
˜ ∆(I , I, I )Q(I )Q(I )
˜
I ′′ ∈G≺ (I)
maxm
S
I ′ ∈G
6≻
˜
≺ (I)
S
I ′′ ∈G
6≻
˜
≺ (I)
∆(I ′ , I, I ′′ )Q̃t−1 (I ′ )Q̃t−1 (I ′′ )
˜
wenn I ∈ G≺6≻ (I)
˜
wenn I ∈ G= (I)
˜
wenn I ∈ G≺≻ (I)
(5.12-35c)
Die leere Menge ∅ liefert bei der Auswahl der m größten Elemente die leere Folge (); maxm ∅ =
() (wobei der Definition von m entsprechend m = 0 ist).
˜ wurden bisher als bekannt vorausgesetzt, obwohl
Q(I), Q(I ′ ) und Q(I ′′ ) für I, I ′ , I ′′ ∈ G≺6≻ (I)
′
′′
Q(I), Q(I ) und Q(I ) mit dem Iterationsverfahren 5.12-19 i.allg. gar nicht in endlich vielen
Schritten bestimmt werden können. Tatsächlich reicht es jedoch aus, die m größten Elemente
184
5.12 Generierung von Ableitungen
von Q(I ′ ) bzw. Q(I ′′ ) zu kennen. Diese können jedoch mit demselben Verfahren, wie hier für
maxm Q̃t (I) beschrieben, bestimmt werden (wobei schließlich nur noch auf bekannte Mengen,
nämlich des Falls a bzw. c, 1. Zweig, Bezug genommen werden muß). maxm Q̃t (I) kann nun
mittels Verkettung der Sortieralgorithmen 5.11-15 und 5.11-20 ermittelt werden.
Anmerkung: Die Voraussetzung 5.11-7, Nr. 2, des Algorithmus 5.11-15 ist mit Satz 5.12-27
und die Voraussetzung 5.11-17, Nr. 2, des Algorithmus 5.11-20 ist mit Satz 5.12-28 erfüllt.
Die Sätze 5.12-27 und 5.12-28 sind für die Mengen Q(I) gezeigt worden, gelten damit aber
auch für die Mengen Q̃t (I), da diese Teilmengen von Q(I) sind.
Mit Algorithmus 5.11-20 kann maxm von {maxm Q(I ′ )} ◦ {maxm Q(I ′′ )} bestimmt werden,
wobei ◦ entsprechend 5.12-34 definiert ist und in offensichtlicher Weise auf Mengen erweitert
wird (A ◦ B := {a ◦ b | a ∈ A, b ∈ B}). (Mit den Folgen maxm Q(I ′ ) bzw. maxm Q(I ′′ )
sind selbstverständlich auch die entsprechenden Mengen {maxm Q(I ′ )} und {maxm Q(I ′′ )},
was durch die Mengenklammern { und } symbolisiert werden soll, bekannt.) Die Terme
∆(I ′ , I, I ′′ ) finden insoweit Berücksichtigung, daß für ∆(I ′ , I, I ′′ ) = ∅ die sich ergebende, in
die Vereinigungsmenge eingehende Menge ebenfalls leer ist, was dadurch realisiert werden
kann, daß die entsprechende Q̃t−1 (I ′ )Q̃t−1 (I ′′ ) einfach bei Bildung der Vereinigungsmenge
unberücksichtigt bleibt, und für ∆(I ′ , I, I ′′ ) = {λ} dieser Term als neutrales Element der
Konkatenation von der Menge Q̃t−1 (I ′ )Q̃t−1 (I ′′ ) gewissermaßen absorbiert“ wird und nur
”
noch die beiden Mengen Q̃t−1 (I ′ ) und Q̃t−1 (I ′′ ) zu berücksichtigen sind.
Dieser Sortieralgorithmus weist ebenfalls on-line-Eigenschaft auf. (Dies ergibt sich aus der
jeweiligen on-line-Eigenschaft der hier verketteten Algorithmen 5.11-15 und 5.11-20.)
Mit dem angegebenen Verfahren 5.12-35 ist es möglich, die jeweils m größten Elemente der
Menge Q̃t (I) (für beliebige t) zu bestimmen. Das Ziel war jedoch, die m größten Elemente
der Menge Q(I) zu ermitteln. Im folgenden wird nun gezeigt, daß es ein t gibt, so daß
bereits Q̃(I) ⊆ Q(I) die m größten Elemente von Q(I) enthält. Enthält Q̃t (I) die m größten
Elemente von Q(I), so stellen diese ebenfalls die m größten Elemente der Menge Q̃t (I) dar,
da Q̃t (I) Teilmenge von Q(I) ist, womit die mit 5.12-35 erhaltenden Elemente tatsächlich
die gesuchten sind. (Anmerkung: Da Q̃t (I) ⊆ Q̃(I) enthalten damit alle Mengen der Folge
Q̃t (I), Q̃t+1 (I), . . . die m größten Elemente von Q(I).)
Satz: Für alle I und alle k, k ≤ |Q(I)|, gibt es ein T , so daß Q̃T (I) das k-tgrößte Element
von Q(I) enthält.
(5.12-36)
Beweis: Wie in Satz 5.12-31 gezeigt, existiert für alle k ≤ |Q(I)| das k-tgrößte Element
von Q(I), d.h. heißt es gibt eine Regelfolge pk ∈ Q(I). Sei diese pk := pi1 pi2 . . . pimi . Gemäß
Definition 5.12-18 in Verbindung mit Sätzen 5.12-20 und 5.12-22 ist die Menge Qt (I) die Teilmenge von Q(I), die alle Regelfolgen bis zu der Länge einschließlich t enthält. Mit T := mi
ist pk ∈ QT (I). Für alle t ist Satz 5.12-20 zufolge Qt (I) ⊆ Q′t (I) und mit Satz 5.12-33 ist
Q′t (I) ⊆ Q̃t (I). Damit ist für t = T dann QT (I) ⊆ Q′T (I) ⊆ Q̃T (I) und pk ⊆ Q̃T (I).
Abgesehen von der Existenz eines solchen T kann auch eine obere Schranke für dieses angegeben werden. Diese obere Schranke ist, wie im folgenden gezeigt werden wird, wenn für
˜ die Menge Q(I) (bzw. deren m größten Elemente) als bekannt vorausgesetzt
alle I ∈ G≺6≻ (I)
185
5 Stochastische kontextfreie Grammatiken
wird,
˜
m · |G≺≻ (I)|
˜ (Der Fall I ∈ G≺ (I)
˜ ∪= (I)
˜ kann hier außer Betracht bleiben, da hierfür
für alle I ∈ G≺≻ (I).
6≻
Q̃t (I) mit Definition 5.12-4 in einem Schritt (aus den als bekannt vorausgesetzten Q(I))
bestimmt werden kann, so daß im folgenden nur der dritte Zweig von 5.12-34c betrachtet
wird.)
Die Grundidee für den Beweis wird im folgenden skizziert. Sei p ∈ Q̃t (I ′ ) bzw. pt ∈ Q̃t (I ′′ )
˜ Dann gibt es ein I und ein p′ ∈ Q̃t+1 (I), so daß die Regelfolge
Regelfolge mit I ′ , I ′′ ∈ G≺ (I).
p′ die Folge p als Teilsequenz enthält. Dies ergibt sich unmittelbar aus der 5.12-34c zugrundeliegenden Konkantenation. Es gibt also eine Folge p ∈ Q̃t (I0 ), p′ ∈ Q̃t+1 (I1 ), p′′ ∈ Q̃t+2 (I2 ),
. . . von Regelfolgen (mit entsprechenden I0 := I ′ bzw. I0 := I ′′ , I1 := I, I2 , . . . ) derart, daß
˜ verschiedene
ein Folgenglied stets das vorige als Teilfolge enthält. Da es aber nur g := |G≺≻ (I)|
˜ Q̃t+1 (I),
˜ . . . gibt, muß spätestens das g-te Folgenglied
I mit entsprechenden Mengen Q̃t (I),
(g)
(k1 )
p eine Teilfolge p , 0 ≤ k1 ≤ g, aufweisen, die ihrerseits eine Teilfolge p(k2 ) , 0 ≤ k2 < k1 ,
enthält, die beide aus den zu einem Ik1 = Ik2 gehörenden Mengen Q̃t+k1 (I) und Q̃t+k2 (I)
stammen, also p(k1 ) ∈ Q̃t+k1 (Ik1 ) und p(k2 ) ∈ Q̃t+k2 (Ik2 ). Da Q̃t+k2 (Ik2 ) ⊆ Q̃t+k1 (Ik1 ), ist
auch p(k2) ∈ Q̃t+k1 (Ik1 ). An der Stelle bei Durchführung des Algorithmus 5.12-34, wo p(k1 )
Bestandteil der Folge p(g) wird, hätte also genauso gut p(k2 ) , eine Teilfolge von p(k1 ) , verwendet werden können, wodurch eine weniger Regeln umfassende Regelfolge p̂(g) erhalten worden
wäre. Da p(k2 ) bereits Element von Q̃t+k2 (Ik2 ) ist (und nicht nur Element von Q̃t+k2 (Ik2 )),
kann die Folge p̂(g) bereits zu dem früheren Zeitpunkt“ g − (k1 − k2 ) erhalten werden. Es
”
kann also zu dem Element p(g) ∈ Q̃t+g (Ig ) ein (im Sinne der Definition 5.12-23) größeres
Element p̂(g) ∈ Q̃t+g−(k1 −k2 ) (Ig ) gefunden werden. Das größte Element von Q(I) muß also
bereits in Q̃g−(k1 −k2 ) (I) enthalten sein. Entsprechend kann für die k größten Elemente von
Q(I) gezeigt werden, daß diese bereits in Q̃t (I), t ≤ kg, enthalten sind.
Für den eigentlichen Beweis wird jedoch umgekehrt verfahren, indem eine Regelfolge nicht
aus Teilfolgen aufgebaut, sonder sukzessive in Teilfolgen zerlegt wird. Hierfür wird später
auf die folgenden Sätze zurück gegriffen werden.
˜ ∪ G= (I).
˜ Sei p ∈ Q̃t (I) (siehe Definition 5.12-37) eine Regelfolge, t ≥ 1.
Satz: Sei I ∈ G≺≻ (I)
Dann gibt es genau je ein p′ ∈ P ∗ und p′′ ∈ P ∗ und ein (I ′ , I ′′ ) ∈ Hn × Hn , so daß
p = p′p′′ und p′ ∈ Q̃t−1 (I ′ ) und p′′ ∈ Q̃t−1 (I ′′ )
(5.12-37)
Beweis: Mit Satz 5.12-28 sind für alle (I ′ , I ′′ ) die Mengen Q(I ′ )Q(I ′′ ) disjunkt. Dies gilt
damit auch für die Teilmengen Q̃t−1 (I ′ )Q̃t−1 (I ′′ ) , so daß es genau ein Paar (I ′ , I ′′ ) gibt,
für das mit p ∈ Q̃t (I) dann auch p ∈ Q̃t−1 (I ′ )Q̃t−1 (I ′′ ) .
Mit Satz 5.12-37, der ebenfalls für entsprechenden die Teilmengen von Q(I ′ ) bzw. Q(I ′′ ) gilt,
kann die Regelfolge p ∈ Q̃t (I) auf genau eine Weise in zwei Teilfolgen p′ und p′′ zerlegt
werden, so daß p′ ∈ Q̃t−1 (I ′ ) und p′′ ∈ Q̃t−1 (I ′′ ).
Anmerkung: Bei Satz 5.12-37 ist p′ 6= λ, da es onst ein I ′ ∈ Hn gäbe, so daß λ ∈ Q̃t−1 (I ′ )
und damit (da Q̃t−1 (I ′ ) ⊆ Q(I ′ )) dann λ ∈ Q(I ′ ) wäre — im Widerspruch zur Definition
5.12-13. Entsprechend ist auch p′′ 6= λ.
186
5.12 Generierung von Ableitungen
˜ ≺ (I),
˜ G≺≻ (I)
˜ und G= (I)
˜ (wie in 5.10-5 definiert). Die
Sei I˜ ∈ Hn mit den Mengen G≺ (I),
6≻
˜ (oder genauer: deren jeweiligen m größten Elemente) werden
Mengen Q(I) für alle I ∈ G≺6≻ (I)
als bekannt vorausgesetzt; die Mengen Q̃t (I) seien gemäß 5.12-34 definiert.
ˆ wird ein (Binär-)Baum T̂ wie folgt definiert und als Zerlegungsbaum (zu/von
Für p̂ ∈ Q̃t (I)
p̂) bezeichnet. Jedem Knoten Kr von T̂ wird ein Element I ∈ Hn und eine Regelfolge
S
π(Kr ) ∈ I∈Hn Q(I) derart zugeordnet, daß
(i) für K1 , die Wurzel von T , I(K1 ) := Iˆ und π(K1 ) := p̂ ist und
(ii) und für einen Knoten Kr mit den Nachfolgerknoten Kr,1 und Kr,2 mit I := I(Kr ),
p := π(Kr ), p ∈ Q̃t (I), t > 0, I ′ := I(Kr,1 ), p′ := π(Kr,1 ) und I ′′ := I(Kr,2 ),
p′′ := π(Kr,2 ) gilt
(I ′ , I, I ′′ ) ∈ hn , p = p′p′′ und p′ ∈ Q̃t−1 (I ′ ), p′′ ∈ Q̃t−1 (I ′′ )
Anmerkung: Die Existenz der Nachfolgerknoten Kr,1 und Kr,2 wird nicht gefordert, es
ist nur verlangt, daß diese, wenn sie existieren, dieser Bedingung genügen. Demzufolge
stellt der nur aus der Wurzel K1 bestehende Baum ebenfalls einen Zerlegungsbaum
von p̂ dar.
(5.12-38)
Anmerkung: Mit Satz 5.12-37 sind mit I := I(Kr ) und p := π(Kr ) (wenn p ∈ Q̃t (I)
˜ ∪ G= (I)),
˜ dann auch I ′ := I(Kr,1) und I ′′ := I(Kr,2 ) eindeutig bestimmt.
und I ∈ G≺≻ (I)
Anmerkung: Ein Teilbaum T̂ ′ von dem Zerlegungsbaum T̂ zu p̂ der erhalten wird, indem
der zu einem Knoten Kr gehörende Unterbaum durch Kr ersetzt wird (d.h. alle Nachfolgerknoten von Kr und deren Nachfolgerknoten usw. werden weggelassen), stellt weiterhin einen
Zerlegungsbaum von p̂ dar. Ebenso stellt der Baum, der erhalten wird, indem ein Blattknoten Kb des Zerlegungsbaums T̂ zu p̂ durch einen Zerlegungsbaum von π(Kb ) ersetzt wird,
einen Zerlegungsbaum zu p̂ dar. (Der ursprüngliche Zerlegungsbaum T̂ ist Teilbaum des so
erhaltenen neuen“ Zerlegungsbaums.)
”
(5.12-39)
Dies ergibt sich unmittelbar aus obiger Definition 5.12-38, da diese Ersetzungsoperationen
deren Gültigkeit nicht beeinflussen.
Definition: Sei T̂ Zerlegungsbaum von p̂ der Tiefe T̂ . Die Folge der den Blattknoten Kb,1 ,
Kb,2 , . . . Kb,l zugeordneten Regelfolgen π(Kb,1 ), π(Kb,2 ), . . . π(Kb,l ) heiße Zerlegung von p̂
der Tiefe T . Es gilt
p̂ = π(Kb,1 )π(Kb,2 ) . . . π(Kb,l )
(5.12-40)
˜ ∪ G= (I)
˜
Definition: Gilt für alle inneneren Knoten Kr des Baumes T̂ , daß I(Kr ) ∈ G≺≻ (I)
˜ (für diese sind die entsprechenden Mengen
und für alle Blattknoten Kb , daß I(Kb,x ) ∈ G≺6≻ (I)
Q(I(Kb,x )) die als bekannt vorausgesetzten), so handelt es sich um einen vollständigen Zerlegungsbaum und die Folge der den Blattkonten zugeordneten Regelfolgen π(Kb,1 ), π(Kb,2 ),
187
5 Stochastische kontextfreie Grammatiken
. . . π(Kb,l ) stellen eine vollständige Zerlegung von p̂ dar.
(5.12-41)
Anmerkung: Die vollständige Zerlegung ist aufgrund von Satz 5.12-37 eindeutig (s.a. Anmerkung zu Definition 5.12-38).
˜ dann gilt für die Tiefe T des vollständigen
Satz: Ist p ∈ Q̃t (I), t ≥ 0 und I ∈ G≺ (I˜ ∪ G= (I),
Zerlegungsbaumes T von p, daß
T ≤t
(5.12-42)
Für den Beweis werden zwei Fälle unterschieden.
˜ Dann stellt p ∈ Q̃t (I), t ≥ 0 bereits eine vollständige Zerlegung von p dar.
1. I ∈ G≺6≻ (I).
Der (vollständige) Zerlegungsbaum von p besteht dann nur aus dem Knoten K1 , der nicht
nur Wurzel, sondern gleichzeitig auch Blatt des Baumes mit π(K1 ) = p und I(K1 ) = I ist.
Die Tiefe dieses Baumes ist T = 0 und es ist sicherlich T ≤ t.
˜ ∪ G= (I).
˜ Hierfür wird ein Induktionsbeweis über t geführt.
2. I ∈ G≺6≻ (I)
(i) t = 0. Dann ist Q̃0 (I) = ∅ (gemäß 5.12-34) und es gibt nichts weiter zu zeigen.
(ii) t > 0. Dann ist für die Wurzel k1 des entsprechenden vollständigen Zerlegungsbaumes
π(K1 ) = p und I(K1 ) = I. Ist nun K1 Blatt, so gibt es nichts weiter zu zeigen, da dann T = 0.
Oder K1 hat die Nachfolgerknoten K1,1 und K1,2 , für die entsprechend Definition 5.12-34
(und aufgrund SAtz 5.12-37) gilt π(K1,1 = p′, I(K1,1 =: I ′ und π(K1,2 = p′′ , I(K1,2 =: I ′′ ,
wobei p′ ∈ Q̃t−1 (I ′ ) und p′′ ∈ Q̃t−1 (I ′′ ). Der Zerlegungsbaum von p′ bzw. p′′ ist der zu K1,1
bzw. K1,2 gehörende Unterbaume, für deren Tiefe T ′ bzw. T ′′ somit max {T ′ , T ′′ } = T − 1
gilt. Damit ist T ′ < T und T ′′ < T , womit dann mit Induktionsvoraussetzung T ′ ≤ t − 1
und T ′′ ≤ t − 1 ist. Damit ist dann auch max {T ′ , T ′′ } ≤ t − 1, woraus T − 1 ≤ t − 1 und
damit die die Behauptung folgt.
Satz: Für alle t ≥ 0 gilt
Q̃t (I) ⊆ Q̃t+1 (I)
(5.12-43)
Für den Beweis werden wiederum zwei Fälle unterschieden.
˜ Mit Definition 5.12-34 ist dann Q̃t (I) = Q(I) für alle t ≥ 0
1. t = 0. Dann ist I ∈ G≺6≻ (I).
˜ ∪ G= (I)wäre
˜
und damit insbesondere auch Q̃0 (I) = Q(I) = Q̃1 . (Für I ∈ G≺≻ (I)
Q̃t (I) =
Q̃0 (I) = ∅ und es wäre trivialerweise Q̃0 (I) ⊆ Q̃1 (I).)
2. t > 0. Sei p ∈ Q̃t (I) beliebig und T die Tiefe des vollständigen Zerlegungsbaumes zu p.
Es wird mittels Induktion über T gezeigt, daß dann auch p ∈ Q̃t+1 (I) ist.
(i) T = 0. Dann umfaßt der Zerlegungsbaum nur die Wurzel K1 mit π(K1 ) := p und
˜ Mit Definition
I(K1 ) := I. K1 ist Blatt und mit Definition 5.12-38 ist damit I ∈ G≺6≻ (I.
5.12-34 ist Q̃t (I) = Q(I) für alle t ≥ 0 und damit auch Q̃t (I) = Q̃t+1 (I) für insbesondere
alle t > 0 (und damit auch p ∈ Q̃t+1 (I) für alle t > 0).
(ii) T > 0. Dann hat die Wurzel des Zerlegungsbaume die Nachfolgerknoten K1,1 und K1,2 .
Es ist π(K1 ) := p, I(K1 ) := I und es existieren I ′ und I ′′ , p′ und p′′ (wobei I(K1,1 := I ′ ,
(K1,2 ) := I ′′ , π(K1,1 ) := p′ und π(K1,2 := p′′ , so daß p′ ∈ Q̃t−1 (I ′ ) und p′′ ∈ Q̃t−1 (I ′′ ). Für
p′ ∈ Q̃t−1 (I ′ ) ist entweder t − 1 = 0 und der Argumentation des Fall 1 entsprechend ist dann
188
5.12 Generierung von Ableitungen
p′ ∈ Q̃t (I ′ ) oder es ist t − 1, wo dann die Induktionesvoraussetzung greift (der vollständige
Zerlegungsbaum von p′ ist der zu K1,1 gehörende Unterbaum, dessen Tiefe T ′ < T ist),
womit dann p′ ∈ Q̃(t−1)+1 (I) ist. Entsprechend ist auch p′′inQ̃t (I ′′ ). Da p = p′p′′ ist somit p ∈ Q̃t (I ′ )Q̃t (I ′′ ) und da mit Definition 5.12-23 Q̃t (I ′ )Q̃t (I ′′ ) ⊆ Q̃t+1 (I), ist somit auch
p ∈ Q̃t+1 (I).
Als Korollar ergibt sich sofort, daß für alle t̂ ≥ t
Q̃t (I) ⊆ Q̃t̂ (I)
Der Beweis ergibt sich unmittelbar durch wiederholte Anwendung des Satzes 5.12-43, womit
sich die Inklusionskette Q̃t (I) ⊆ Q̃t+1 (I) ⊆ Q̃t+2 (I) ⊆ . . . ergibt, aus der sofort (wegen der
Transitivität der Mengeninklusion) die Behauptung ergibt.
Satz: Ist p ∈ Q̃t (I) und hat der vollständige Zerlegungsbaum von p die Tiefe T , dann ist
auch
p ∈ Q̃T (I)
(5.12-44)
Der Beweis erfolgt mittels Induktion über T .
(i) T = 0. Der vollständige Zerlegungsbaum von p besteht dann nur aus der Wurzel K1 mit
π(K1 ) = p und I(K1 ) := I. Damit stellt p bereits eine vollständige Zerlegung dar und es
˜ sein. Mit Definition
muß entsprechend Definition 5.12-41, da K1 Blatt ist, I(K1 ) ∈ G≺6≻ /I)
5.12-34a ist Q̃t (I) = Q(I) für alle t ≥ 0 womit insbesondere p ∈ Q̃0 (I) ist.
(ii) T > 0. Seien K1,1 und K1,2 die Nachfolgerknoten von K1 . Die zu diesen gehörenden
Unterbäume stellen vollständige Zerlegungsbäume von p′ = π(K1,1 ), p′ ∈ Q̃t−1 (I ′ ), und
p′′ = π(K1,2 ), p′′ ∈ Q̃t−1 (I ′′ ) dar. Deren Tiefen seien T ′ und T ′′ . Es ist T = max {T ′ , T ′′ } + 1.
Sei ohne Beschränkung der Allgemeinheit max {T ′ , T ′′ } = T ′ . Dann ist T = T ′ + 1, also
T ′ = T − 1 und da T ′′ ≤ T ′ dann auch T ′′ ≤ T − 1. Entsprechend der Induktionsvoraussetzung (diese ist anwendbar, da T ′ < T und T ′′ < T ) ist p′ ∈ π(K1,1 ) ∈ Q̃T ′ (I ′ )
und p′′ ∈ π(K1,2 ) ∈ Q̃T ′′ (I ′′ ). Da T ′′ ≤ T ′ ist mit dem Korollar zu Satz 5.12-43 auch
p′′ ∈ π(K1,2 ) ∈ Q̃T ′ (I ′′ ). Mit Definition 5.12-34 ist dann Q̃T ′ +1 (I) ⊆ Q̃T ′ (I ′ )Q̃T ′ (I) und
somit p ∈ Q̃T ′ +1 (I) und da T = T ′ + 1 folgt die Behauptung p ∈ Q̃T (I).
Satz: Sei p1 p2 . . . pl (nicht notwendigerweise vollständige) Zerlegung von p ∈ Q̃t (I). Sei
Kb Blatt in dem entsprechenden Zerlegungsbaum mit π(Kb ) = pk, 1 ≤ k ≤ l, und pk ∈
Q̃t−K1 kb (I(Kb )). Für jedes p′k ∈ Q̃t−K1 Kb (I(Kb )) ist dann
p1 p2 . . . pk−1 p′kpk+1 . . . pl ∈ Q̃t (I)
(5.12-45)
Der Beweis erfolgt mittels Induktion über die Tiefe T des Zerlegungsbaumes von p.
(i) T = 0. Dann besteht der Zerlegungsbaum nur aus der Wurzel K1 mit π(K1 ) := p und
I(K1 ) := I. Gleichzeitig ist K1 = Kb einziges Blatt des Zerlegungsbaumes und die Folge
p1 . . . pk . . . pl der den Blättern des Zerlegungsbaumes zugeordneten Regelfolgen p1 , p2 ,
. . . pl umfaßt nur ein einziges Folgenglied p1 = pk = pl. Es ist pk = π(Kb ) = π(K1 ) = p
und I(Kb ) = I(K1 ) = I, sowie K1 Kb = 0. Bei Ersetzen von pk durch irgendein Element
p′k ∈ Q̃t−K1 Kb (I(Kb )) wird die (einelementige) Folge
p′k
189
5 Stochastische kontextfreie Grammatiken
erhalten; für die (trivialerweise) die Behauptung gilt (da Q̃t−K1 Kb (I(Kb )) = Q̃t−0 (I(Kb )) =
Q̃t (I)).
T > 0. Dann hat die Wurzel K1 des Zerlegungsbaumes die Nachfolgerknoten K1,1 und
K1,2 . Entsprechend Definition 5.12-38 gibt es ein l′ < l, so daß p1 . . . pl′ Zerlegung von
π(K1,1 ∈ Q̃t−1 (I(K1,1 )) und pl′ +1 . . . pl Zerlegung von π(K1,2 ∈ Q̃t−1 (I(K1,2 )) darstellt.
Ohne Beschränkung der Allgemeinheit sei k ≤ l′ und damit Kb Blatt des zu K1,1 gehörenden
Zerlegungsbaumes (wobei K1 Kb = K1,1 Kb . Mit Induktionsvoraussetzung gilt für jedes p′k ∈
Q̃(t−1)−K1,1 Kb (I(Kb )), daß
p1 . . . pk−1 p′kpk+1 . . . pl′ ∈ Q̃t−1 (I(K1,1 ))
Mit Definition 5.12-34 ist (da I(K1,1 , I, I(K1,2)
Q̃t (I) ⊆ Q̃t−1 (I(K1,1 )Q̃t−1 (I(K1,1 ) und somit
∈ h entsprechend Definition 5.12-38)
p1 . . . pk−1 p′kpk+1 . . . pl′ ppl′ +1 . . . pl ∈ Q̃t (I)
womit die Behauptung gezeigt ist.
˜
˜ ∪ G= (I)
˜ und p ∈ Q̃t (Ix ) mit der Zerlegungstiefe T > g, g := |G≺≻ (I)|.
Satz: Sei Ix ∈ G≺≻ (I)
′
′
Dann gibt es ein ein p ∈ Q̃t (Ix ) mit der Zerlegungstiefe T , so daß
p′ → R p
(→R wie in 5.12-23 definiert) und
T − g ≤ T′ ≤ T
(5.12-46)
Beweis (s.a. Abb. 5.12-1 und Abb. 5.12-2): Der vollständige Zerlegungsbaum zu p ∈ Q̃t (Ix )
hat die Tiefe T . Entsprechend dieser Tiefe T des Zerlegungsbaumes gibt es nun einen Pfad
der Länge T von der Wurzel zu einem Blattknoten, der T + 1 Knoten umfaßt: K1 =: Kr0 , r1 ,
Kr2 , . . . KrT . Betrachtet werden nun die (am weitesten unten im Baum liegenden) Knoten
KrT −g−1 , KrT −g , KrT −g+1 , . . . KrT . Entsprechend der Konstruktion des Zerlegungsbaumes
˜ Da die Teilfolge
(Definition 5.12-38) gilt für alle I(Kri ), 0 ≤ i < T , daß I(Kri ) ∈ G≺≻ (I).
˜
˜
KrT −g−q , KrT −g , . . . KrT −1 insgesamt g + 1 Elemente umfaßt, G≺≻ (I) aber nur g := |G≺≻ (I)|
˜ und i, j, T − g − 1 ≤ i < T , T − g − 1 ≤ j < T
Elemente enthält, muß es ein Iy ∈ G≺≻ (I)
und i 6= j geben, so daß I(Kri ) = I(Krj ) =: Iy . (Hierbei soll ohne Beschränkung der
Allgemeinheit i < j vorausgesetzt werden.) Entsprechend der Konstruktion des Zerlegungsbaumes ist π(Kri ) ∈ Q̃t−K1 Kr (I(Kri )) und π(Krj ) ∈ Q̃t−K1 Kr (I(Krj )). Mit Satz 5.12-43
i
j
(es ist t − K1 Krj < t − K1 Kri , da i < j) und der Gleichheit I(Kri ) = I(Krj ) ist auch
π(Krj ) ∈ Q̃t−K1 Kr (I(Kri )).
i
Der zu Kri gehörende Unterbaum des Zerlegungsbaums von p stellt einen (vollständigen)
Zerlegungsbaum von π(Kri ) dar (entsprechend Definition 5.12-38). Wird in diesem Unterbaum der zu Krj gehörende Unterunterbaum“ durch Krj ersetzt, so stellt der so erhaltene
”
(zu Kri ) gehörende Unterbaum wiederum einen (wenn auch nicht vollständigen) Zerlegungsbaum von π(Kri ) dar (vgl. Anmerkung zu 5.12-39). Da dieser Zerlegungsbaum Krj als Blatt
enthält, muß es eine Zerlegung
π(Kri ) = π1 π(Krj )π2
190
5.12 Generierung von Ableitungen
K1
Kri−1
Kr i
|
{z
p1
Kr j
}
|
{z
π1
|
|
}
{z
π2
{z
p2
}
}
Kr T
|
|
{z
|
π(Krj )
{z
π(Kri )
{z
p = π(K1 )
}
}
}
Abb. 5.12-1: Schematische Darstellung des vollständiger Zerlegungsbaumes von p. Die gestrichelte
Linie symbolisiert den Pfad von der Wurzel K1 zum Knoten KrT , auf dem die Knoten Kri und Krj
liegen. π(K1 ), π(Kri ) und π(Krj ) bezeichnen die Regelfolgen, die den Knoten K1 , Kri bzw. Krj
zugeordnet sind. p1 , p2 , pi1 und π2 stehen für die Folgen, die sich mit den den entsprechenden
(mit einer geschwungenen Klammer bezeichneten) Blattknoten zugeordneten Regeln ergeben.
geben (wobei π1 , π2 ∈ P ∗ und |π1 | + |π2 | > 0).
Eine entsprechende Überlegung gilt für den ursprünglichen Zerlegungsbaum von p. Wird
der zu Kri gehörende Unterbaum durch Kri ersetzt, so stellt der so erhaltene Baum benfalls
einen Zerlegungsbaum von p (mit Kri als Blatt) dar und es existiert eine Zerlegung
p = p1 π(Kri )p2
Wird π(Kri ) durch π(Krj ) ersetzt, so wird
p′ := p1 π(Krj )p2
erhalten. Mit Satz 5.12-45 ist p′ ∈ Q̃t (Ix ). Da p = p1 π(Kri )p2 = p1 π1 π(Krj )π2 p2 und
p′ = p1 π(Krj )p2 , also die zweite Regelfolge diesselben Regeln enthält wie die erste, mit
191
5 Stochastische kontextfreie Grammatiken
K1
Kri−1
Kr j
|
|
{z
p1
}
Kr T
|
{z
π(Krj )
{z
p = π(K1 )
}
|
{z
p2
}
}
Abb. 5.12-2: Schematische Darstellung des (vollständigen) Zerlegungsbaumes von p′. Dieser wird
aus dem Zerlegungsbaum von p (Abb. 5.12-1) erhalten, indem der zu Ki gehörende Unterbaum
durch den zu Kj gehörenden Unterbaum ersetzt wird. Die Folge der den Blättern zugeordneten
Regeln ist (bis auf das Fehlen der Teilfolgen π1 und π2 ) dieselbe. Es kann gezeigt werden, daß p′
in derselben Menge Q̃(IX ) enthalten ist wie p.
Ausnahme der Regeln der Teilfolgen π1 und π2 , ist p′ →R p im Sinne der Definition 5.1223.
Offensichtlich ist der Baum, der aus dem (vollständigen) Zerlegungsbaum von p durch Ersetzen des zu Kri gehörenden Unterbaums durch den zu Krj gehörenden Unterbaum erhalten
wird (wobei Krj an die Stelle von Kri tritt) (vollständiger) Zerlegungsbaum von p′. In dem
˜ auch hier vorhanden
Pfad von der Wurzel zu dem Blatt KrT (das, da I(KrT ) 6∈ G≺≻ (I),
′
ist) in diesem Zerlegungsbaum von p tritt an die Stelle der ursprünglichen Folge von Knoten K1 = Kr0 , Kr1 , . . . Kri−1 , Kri , . . . Krj−1 , Krj , . . . KrT mit T − g − 1 ≤ i < T ,
T − g − 1 ≤ j < T und i < j, die Folge K1 , Kr1 , . . . Kri−1 , Krj , . . . KrT . Dieser Pfad ist
nun um j − i kürzer als der ursprüngliche Pfad. Es ist 1 ≤ j − i ≤ g. (Die beiden Extremfälle
für die Differenz sind dadurch gegeben, daß Kri und Krj unmittelbar aufeinanderfolgen,
also j − i = 1, oder möglichst weit von einander entfernt sind, also Kri := KrT −g−1 und
Krj := KrT −1 und somit j − i = (T − 1) − (T − g − 1) = g.) Die Tiefe T ′ des Zerlegungsbaumes von p′ beträgt nun noch mindestens T − g (entsprechend dem maximal möglich
verkürzten Pfad), höchstens aber noch T (entsprechend der ursprünglichen Tiefe und eventuell weiteren noch vorhanden Pfaden von der Wurzel zur Blattknoten der Länge T ), womit
T − g ≤ T ′ ≤ T ist.
˜ ∪ G= (I)
˜ und p ∈ Q̃t (Ix ) mit der Zerlegungstiefe T > kg, k ≥ 1.
Korollar: Sei Ix ∈ G≺≻ (I)
′
′′
Dann gibt es eine Folge p , p , . . . p(k) ∈ Q̃t (Ix ) mit den jeweiligen Zerlegungstiefen T ′ , T ′′ ,
192
5.12 Generierung von Ableitungen
. . . T (k) , so daß
p(k) →R . . . p′′ →R p′ →R p
und
∀l, 1 ≤ l ≤ k : T − lg ≤ T (l) ≤ T (l−1
Der Beweis ergibt sich durch fortgesetzte (k-malige) Anwendung des Satzes 5.12-46. Mit der
Existenz eines p′ ∈ Q̃t (Ix ) mit der Zerlegungstiefe T ′ , für das p′ →R p und T − g ≤ T ′ ≤ T
gilt, folgt die Existenz eines p′ ∈ Q̃t (Ix ) mit der Zerlegungstiefe T ′′ , für das p′′ →R p′ und
T ′ − g ≤ T ′′ ≤ T ′ gilt, usw. bis schließlich zu der Existenz eines p(k) mit der Zerlegungstiefe
T (k) , für das p(k) →R p(k−1) und T (k−1) −g ≤ T (k−1) ≤ T (k) gilt. Damit ist der rechte Teil der
Ungleichungskette gezeigt. Weiterhin folgt unmittelbar p(k) →R . . . p′′ →R p′ →R p. Durch
Addition der Ungleichungen T − g ≤ T ′ , T ′ − g ≤ T ′′ , . . . T (l−1) ≤ T (l) und anschließende
Subtraktion von T ′ +T ′′ +. . . T (l−1) ergibt sich der linke Teil der Ungleichungskette, T −lg ≤
T (l) . Mit T > kg ( ⇐⇒ T − (k − 1)g > g) ist für alle l < k sichergestellt, daß T − lg > g, also
T (l) > g, womit die Voraussetzung des Satzes 5.12-46 jeweils erfüllt ist und dessen k-malige,
wiederholte Anwendung ermöglicht wird.
˜ ∪ G= (I),
˜ p ∈ Q̃t (Ix ) und t > kg, k ≥ 1. Dann gibt es ein t̂ < t, so daß
Satz: Sei Ix ∈ G≺≻ (I)
p ∈ Q̃t̂ (Ix ) oder es gibt eine Folge p′, p′′, . . . p(k) ∈ Q̃t (Ix ), so daß
p(k) →R . . . p′′ →R p′ →R p
(5.12-47)
Für den Beweis werden zwei Fälle in Abhängigkeit der Tiefe T des Zerlegungsbaumes von p
unterschieden. Mit Satz 5.12-42 ist T ≤ t.
1. T ≤ kg. Dann setze t̂ := T , wonach mit Satz 5.12-44 der erste Fall der Behauptung folgt,
p ∈ Q̃t̂ (Ix ).
2. T > kg. Dann folgt der zweite Fall der Behauptung mit dem Korollar zu Satz 5.12-46, es
gibt p′, p′′, . . . p(k) ∈ Q̃t (Ix ), so daß p(k) →R . . . p′′ →R p′ →R p.
Mit Satz 5.12-47 ist gezeigt, daß ein Element p ∈ Q̃t (Ix ) bereits Element von Q̃t̂ (Ix ) mit
t̂ ≤ kg ist, oder p nicht unter den k-tgrößten Elementen von Q(Ix ) ist, da es in bereits in der
Teilmenge Q̃t (Ix ) (mindestens) k größere Elemente gibt. Dieser Satz und die vorangehenden
Sätze stellen damit die Grundlage für die Angabe einer oberen Schranke T dar, bis zu der die
Iteration in 5.12-34 (bzw. Algorithmus 5.12-35) fortgesetzt werden müssen, um die k größten
˜ ∪ G= (I))
˜ zu erhalten. Diese obere Schranke ergibt
Elemente von Q(Ix ) (für alle Ix ∈ G≺≻ (I)
sich nun als
˜ ∪
Korollar (zu Satz 5.12-47): Q̃t (Ix ) enthält die ⌊ gt ⌋ größten Elemente von Q(Ix ), Ix ∈ G≺≻ (I)
˜
G= (I).
Beweis: Sei pk das k-tgrößte Element von Q(Ix ). Es wird gezeigt, daß dieses in Q̃kg (Ix )
(und damit auch in Q̃t (Ix ) für alle t ≥ kg) enthalten ist. Mit Satz 5.12-36 gibt es ein T ,
so daß pk ∈ Q̃T (Ix ). Da Q̃0 (Ix ) = ∅ muß es ein kleinstes derartiges T geben. Im folgenden
werde T als kleinstmöglich vorausgesetzt, so daß pk 6∈ Q̃t (Ix ) für alle t < T . Damit ist T
aber auch die Tiefe der Zerlegung von pk (da sich bei einer kleineren Tiefe T̂ < T mit Satz
5.12-44 ein Widerspruch ergäbe zu pk 6∈ Q̃t (Ix ), t < T ).
Angenommen, daß T > kg. Dann ist nur noch der zweite Fall des Satzes 5.12-47 möglich (da
pk ∈ Q̃t̂ (Ix ) obiger Voraussetzung widersprechen würde) und es existieren somit (bereits in
193
5 Stochastische kontextfreie Grammatiken
S→A., 0, 1 =: I4
I4′ := S→.A, 0, 0
I3′ := A→.B, 0, 0
A→B., 0, 1 =: I3
I2′ := B→.C, 0, 0
B→C., 0, 1 =: I2
I1′ := C→.A, 0, 0
C→A., 0, 1 =: I1
I0′ := A→.a, 0, 0
A→a., 0, 1 =: I0
$a$
Abb. 5.12-3: Hypergraph, der mit dem Earleyschen Algorithmus mit den Regeln 5.12-48 und für
die Zeichenfolge a erhalten wird.
Q̃T (Ix )) k Elemente, die größer als pk sind, womit pk nicht das k-tgrößte Element von Q(Ix )
sein kann. Damit ist die Annahme T > kg zum Widerspruch geführt und es muß T ≤ kg
sein. Mit Satz 5.12-43 ist dann pk ∈ Q̃t (Ix ) für alle t ≥ kg. Hieraus ergibt sich, daß k ≤ gt
und da k ganzzahlig auch k ≤ ⌊ gt ⌋.
Damit enthält Q̃t (Ix ) alle Elemente pk mit k ≤ ⌊ gt ⌋, also das größte p1 , das zweitgrößte p2
usw. bis zum ⌊ gt ⌋-größten p⌊ t ⌋.
g
Hiermit ist nun gezeigt, daß bei den Interationen in 5.12-34 und 5.12-35 nach höchstens t =
T = kg Schritten sicher gestellt ist, daß die Mengen Q̃t (I) die k größten Elemente von Q(I)
enthalten. T = kg stellt eine obere Schranke für die notwendige Anzahl der Iterationsschritte
dar. Unklar ist jedoch, ob weniger als T Schritte ausreichend sind. Daß dies im allgemeinen
nicht der Fall ist, zeigt folgendes Beispiel.
Die Regeln der betrachteten Grammatik seien
p1
p2
p3
p4
p5
:=
:=
:=
:=
:=
S
A
B
C
A
→
→
→
→
→
A
B
C
A
a
(5.12-48)
Der zu parsenden Satz sei a. (Dieser besteht aus einem einzigen Terminalsymbol und stellt
tatsächlich den einzigen Satz der Sprache dar.) Die Menge aller Regelfolgen, mit denen a aus
S abgeleitet werden kann, ist Q(S →A., 0, 1) = {p1 p5 , p1 p2 p3 p4 p5 , p1 p2 p3 p4 p2 p3 p4 p5 , . . . } =
{p1 (p2 p3 p4 )n p5 | n ∈ IN0 }.
Die punktierten Regeln, die der Earleysche Algorithmus (vgl. Abb. 15.12-3) liefert, sind
folgende I0′ := A → .a, 0, 0, I1′ := C → .A, 0, 0, I2′ := B → .C, 0, 0, I3′ := A → .B, 0, 0,
I4′ := S →.A, 0, 0, I0 := A→a., 0, 1, I1 := C →A., 0, 1, I2 := B→C., 0, 1, I3 := A→B., 0, 1
und I4 := S → A., 0, 1. Die Hyperkanten, die erhalten werden sind (I0′ , I0 , a), (I1′ , I1 , I0 ),
(I1′ , I1 , I3 ), (I2′ , I2 , I1 ), (I3′ , I3 , I2 ), (I4′ , I4 , I0 ) und (I4′ , I4 , I3 ).
194
5.12 Generierung von Ableitungen
Die diesen punktierten Regeln mit Definition 5.12-13 zugeordneten Mengen Q(I) sind:
Q(I0′ )
Q(I1′ )
Q(I2′ )
Q(I3′ )
Q(I4′ )
Q(I0 )
Q(I1 )
Q(I2 )
Q(I3 )
Q(I4 )
=
=
=
=
=
=
=
=
=
=
{p5 }
{p4 }
{p3 }
{p2 }
{p1 }
{p5 }
{p4 (p2 p3 p4 )n p5 | n ∈ IN0 }
{p3 p4 (p2 p3 p4 )n p5 | n ∈ IN0 }
{p2 p3 p4 (p2 p3 p4 )n p5 | n ∈ IN0 }
{p1 (p2 p3 p4 )n p5 | n ∈ IN0 }
(Man beachte, daß Q(A → α.β, i, j) := {A → αβ}Q(ui+1 . . . uj |α) ist; wobei A → αβ die
der punktierten Regel zugrundeliegende Regel ist und Q(ui+1 . . . uj |α) die Menge all jener
Regelfolgen ist, mit denen die links vom Punkt stehende Symbolfolge α zu der Teilfolge
ui+1 . . . uj aller Terminalsymbole abgeleitet werden kann.)
Zur Anwendung des Algorithmus 5.12-34 bzw. 5.12-35 ist die Abhängigkeit der punktierten
Regeln von einander entsprechend der Definition 5.10-5 festzustellen. Diese sind in der fol˜ die sich als Vereinigungsmenge von G≺ (I)
˜ und
genden Tabelle (mit Ausnahme von G≺ (I),
6≻
˜ ergibt und G6 (I),
˜ die die Differenzmenge der gegebenen Mengen zu der Menge aller
G≺≻ (I)
punktierter Regeln {I0′ , I1′ , I2′ , I3′ , I4′ , I0 , I1 , I2 , I3 , I4 } ist) dargestellt:
I˜
I0′
I1′
I2′
I3′
I4′
I0
I1
I2
I3
I4
˜
G≺6≻ (I)
∅
∅
∅
∅
∅
{I0′ }
{I0′ , I1′ , I2′ , I3′ , I0 }
{I0′ , I1′ , I2′ , I3′ , I0 }
{I0′ , I1′ , I2′ , I3′ , I0 }
{I0′ , I1′ , I2′ , I3′ , I0 , I1 , I2 , I3 }
˜
G≺≻ (I)
∅
∅
∅
∅
∅
∅
{I1 , I2 , I3 }
{I1 , I2 , I3 }
{I1 , I2 , I3 }
∅
˜
G= (I)
{I0′ }
{I1′ }
{I2′ }
{I3′ }
{I4′ }
{I0 }
∅
∅
∅
∅
Entsprechend dieser Abhängigkeiten werden mit Algorithmus 5.12-34 für I ∈ {I0′ , I1′ , I2′ , I3′ , I0 }
direkt die entsprechende Menge Q̃t (I) = Q(I), t ≥ 0, erhalten, wie sie auch in der vorvorigen
Tabelle angegeben sind.
˜ 6= ∅)
Mit diesen bekannten Mengen ergibt sich sich für I ∈ {I1 , I2 , I3 } (nur für diese ist G≺≻ (I)
mit dem jeweils dritten Zweig der Definition 5.12-34c (wobei t > 0):
Q̃0 (I1 )
Q̃t (I1 )
Q̃0 (I2 )
Q̃t (I2 )
Q̃0 (I3 )
Q̃t (I3 )
:=
:=
:=
:=
:=
:=
∅
Q̃(I1′ )Q̃t−1 (I0 ) ∪ Q̃(I1′ )Q̃t−1 (I3 ) = {p4 p5 } ∪ {p4 }Q̃t−1 (I3 )
∅
= {p3 }Q̃t−1 (I1 )
Q̃(I2′ )Q̃t−1 (I1 )
∅
= {p2 }Q̃t−1 (I2 )
Q̃(I3′ )Q̃t−1 (I2 )
195
5 Stochastische kontextfreie Grammatiken
˜ := {I1 , I2 , I3 } und g := |G≺≻ (I)|
˜ = |{I1 , I2 , I3 }| = 3.
Es ist G≺≻ (I)
Und schließlich ist, wenn Q(I1 ), Q(I2 ) und Q(I3 ) als bekannt vorausgesetzt werden, mit dem
zweiten Zweig der Definition 5.12-34c (wobei wiederum t > 0):
Q̃0 (I4 ) := ∅
Q̃t (I4 ) := Q(I4′ )Qt−1 (I0 ) ∪ Q(I4′ )Qt−1 (I3 ) := {p1 p5 } ∪ {p1 }Qt−1 (I3 )
(Auch hier ist Q(I) = Q̃t , jedoch nur für t > 0 (vgl. Satz 5.12-17).)
Die mit der Iteration von 5.12-34 erhaltenen Werte für Q̃t (I1 ), Q̃t (I2 ), und Q̃t (I3 ) sind in
Tab. 5.12-1 dargestellt. Die Laufzahl“ n = 1, 2, . . . wurde der besseren Übersichtlichkeit
”
eingeführt und läßt die Periodizität des Algorithmus erkennen. Es ist ersichtlich, daß Q̃t (I3 )
erst für t = 3k das k-tgrößte Element von Q(I3 ) enthält, womit gezeigt ist, daß hierfür
tatsächlich 3k = k · g Iterationsschritte notwendig sind.
Hiermit ergibt sich der folgende Satz: Sei I ∈ Hn und g := |G≺≻ (I)∪G= (I)|. Die Durchführung
des Algorithmus 5.12-35 über kg Schritte hinweg ist hinreichend und notwendig zur Ermittelung der k größten Elemente von Q(I).
(5.12-49)
Beweis: Die Hinreichendkeit ergibt sich unmittelbar aus dem Korollar zu Satz 5.12-47, wo
gezeigt wurde, daß das kg-te Folgenglied Q̃t (I) der Iteration 5.12-34 die k größten Elemente
von Q(I) enthält. Da Algorithmus 5.12-35 eine Verkettung der Algorithmen 5.11-15 und
5.11-20 reicht die Kenntnis der Teilmengen von Q(I), die die k größten Elemente von Q(I)
enthalten, aus, um sukzessive die k größten Elemente der Mengen Q(I ′ ) zu bestimmen, für
die I ′ von I abhängig ist.
Die Notwendigkeit ergibt sich unmittelbar aus dem Beispiel 5.13-48. Erst für t = kg enthalten alle Mengen Q̃t (I) die k größten Folgenglieder von Q(I) und erfüllen die Voraussetzung
der Algorithmen 5.11-15 und 5.11-20 ist.
5.13 Optimierung der Gesamtwahrscheinlichkeit q(u|S) aller Ableitungen
P
S
In diesem Abschnitt soll die Frage nach der Optimierung von q(u|S) = nx=1
q(S→αx ., 0, n)
∗
(vgl. 5.7-2), der Summe der Wahrscheinlichkeiten aller Ableitungen S ⇒ u behandelt werden. Mit Hilfe der Gleichungen 5.7-5, die sich aus dem mit dem Earleyschen Algorithmus
generierten Hypergraphen (Hn , hn ) ergeben, liegt eine Darstellung von q(u|S) als Funktion
der Wahrscheinlichkeiten q1 , q2 , . . . q|P | vor. Die Wahrscheinlichkeiten qi der Regeln pi ∈ P ,
die bei den Ableitungen S ⇒∗ u nicht benötigt werden, gehen in diese Funktion nicht ein
und sind daher an und für sich beliebig. Da jedoch q(u|S) monoton mit den Wahrscheinlichkeiten der tatsächlich benötigten Regeln wächst, die Summe der Wahrscheinlichkeiten qA,x
der Regeln pA,x , auf deren linker Seite dasselbe Nichtterminalsymbol A auftritt, jedoch 1
ist, kann q(u|S) um so größer werden, je geringer die den nicht benötigten Regeln zugeordnete Wahrscheinlichkeit ist. Die Wahrscheinlichkeiten der nicht benötigten Regeln können
daher von vornherein gleich 0 gesetzt werden (und entsprechend kann, sollte nur noch eine
Regel für das entsprechende Nichtterminalsymbol bei den benötigten Regeln verbleiben, deren Wahrscheinlichkeit gleich 1 gesetzt werden). Nichtbenötigte Regeln können anhand von
(Hn , hn ) festgestellt werden. Hierfür wird eine Teilhypergraph (H, h), H ⊆ Hn , h ⊆ hn wie
196
5.13 Optimierung von q(u|S)
n
0
t
0
Q̃t (I1 )
∅
Q̃t (I2 )
∅
Q̃t (I3 )
∅
0
1
{p4 p5 }
∅
∅
0
2
{p4 p5 }
{p3 p4 p5 }
∅
1
3
{p4 p5 }
{p3 p4 p5 }
{(p2 p3 p4 )p5 }
1
4
{p4 p5 ,
p4 (p2 p3 p4 )p5 }
{p3 p4 p5 }
{(p2 p3 p4 )p5 }
1
5
{p4 p5 ,
p4 (p2 p3 p4 )p5 }
{p3 p4 p5 ,
p3 p4 (p2 p3 p4 }
{(p2 p3 p4 )p5 }
2
6
{p4 p5 ,
p4 (p2 p3 p4 )p5 }
{p3 p4 p5 ,
p3 p4 (p2 p3 p4 }
{(p2 p3 p4 )p5 , }
(p2 p3 p4 )2 p5 }
2
7
{p4 p5 ,
p4 (p2 p3 p4 )p5
p4 (p2 p3 p4 )2 p5 }
{p3 p4 p5 ,
p3 p4 (p2 p3 p4 }
{(p2 p3 p4 )p5 , }
(p2 p3 p4 )2 p5 }
2
8
9
..
.
..
.
{p3 p4 p5 ,
p3 p4 (p2 p3 p4
p3 p4 (p2 p3 )2 p4 }
{p3 p4 p5 ,
p3 p4 (p2 p3 )p4 ,
p3 p4 (p2 p3 )2 p4 }
{(p2 p3 p4 )p5 ,
(p2 p3 p4 )2 p5 }
3
{p4 p5 ,
p4 (p2 p3 p4 )p5
p4 (p2 p3 p4 )2 p5 }
{p4 p5 ,
p4 (p2 p3 p4 )p5 ,
p4 (p2 p3 p4 )2 p5 }
n
3n
{p4 p5 ,
p4 (p2 p3 p4 )p5 ,
p4 (p2 p3 p4 )2 p5 }
..
.
{p3 p4 p5 ,
p3 p4 (p2 p3 )p4 ,
p3 p4 (p2 p3 )2 p4 }
..
.
{(p2 p3 p4 )p5 ,
(p2 p3 p4 )2 p5 ,
(p2 p3 p4 )3 p5 }
..
.
..
.
p4 (p2 p3 p4 )n−1 p5 }
n
n
..
.
3n + 1
3n + 2
..
.
..
.
p3 p4 (p2 p3 )n−1 p4 }
{(p2 p3 p4 )p5 ,
(p2 p3 p4 )2 p5 ,
(p2 p3 p4 )3 p5 }
..
.
(p2 p3 p4 )n p5 }
{p4 p5 ,
p4 (p2 p3 p4 )p5 ,
p4 (p2 p3 p4 )2 p5 }
..
.
{p3 p4 p5 ,
p3 p4 (p2 p3 )p4 ,
p3 p4 (p2 p3 )2 p4 }
..
.
{(p2 p3 p4 )p5 ,
(p2 p3 p4 )2 p5 ,
(p2 p3 p4 )3 p5 }
..
.
p4 (p2 p3 p4 )n p5 }
{p4 p5 ,
p3 p4 (p2 p3 )n−1 p4 } (p2 p3 p4 )n p5 }
{p3 p4 p5 ,
{(p2 p3 p4 )p5 ,
p4 (p2 p3 p4 )p5 ,
p4 (p2 p3 p4 )2 p5 }
..
.
p3 p4 (p2 p3 )p4 ,
p3 p4 (p2 p3 )2 p4 }
..
.
(p2 p3 p4 )2 p5 ,
(p2 p3 p4 )3 p5 }
..
.
p4 (p2 p3 p4 )n p5 }
p3 p4 (p2 p3 )n p4 }
(p2 p3 p4 )n p5 }
..
.
..
.
..
.
Tab. 5.12-1: Beispiel für die Anwendung von Algorithmus 5.12-24 für die im Text gegebene Grammatik (5.12-34).
folgt festgelegt:
197
5 Stochastische kontextfreie Grammatiken
Definition von (H, h) (garbage collection):
(i) S→αx ., 0, n ∈ H
(ii) I ∈ H ∧ (I ′ , I, I ′′ ) ∈ hn ⇒ I ′ , I ′′ ∈ H, (I ′ , I, I ′′ ) ∈ h
(iii) ¬∃H ′ ⊂ H: H ′ genügt i und ii
¬∃ h′ ⊂ h : h′ genügt ii
(5.13-1)
(H, h) stellt, wie leicht einzusehen ist und hier ohne Beweis angegeben werden soll, den
kleinstmöglichen Teilhypergraphen von (Hn , hn ) dar, mit dem Q(u|S) (entsprechend den
Gleichungen 5.12-15, 5.12-16 und 5.12-17 und q(u|S) (entsprechend den Gleichungen 5.7-3,
5.7-4 und 5.7-5) bestimmt sind.
Definiton 5.13-1 kann auch direkt in einen Algorithmus umgesetzt werden, wenn mit den
punktierten Regeln S→αx ., 0, n beginnend die Knoten und Kanten von (Hn , hn ) entsprechend
ii den Mengen H und h sukzessive hinzugefügt werden, solange wie ii anwendbar ist, d.h. die
Bedingungen (I ′ , I, I ′′ ) ∈ hn und I ∈ H (und I ′ 6∈ H oder I ′′ 6∈ H oder (I ′ , I, I ′′ ) 6∈ h) erfüllt
sind. (Exakterweise wäre dieser Algorithmus mittels Folgen von Mengen zu formulieren.) Die
Minimalitätsbedingung iii wird hierbei automatisch erfüllt, wenn H und h zu Beginn leer
sind. Praktischerweise wird dieser Algorithmus durch Markieren der entsprechenden Knoten
und Kanten von (Hn , hn ) realisiert; die markierten Knoten und Kanten sind, nachdem keine
weiteren Markierungen mehr angebracht werden können, die Elemente von H bzw. h.
Die Regeln pi ∈ P \ H sind die oben erwähnten Regeln, die in keiner der Ableitungen S ⇒∗ u
auftauchen und deren Wahrscheinlichkeit qi daher von vornherein gleich 0 gesetzt werden
kann. Dementsprechend kann die die zugrundeliegende Grammatik G durch eine einfachere
ersetzt werden, indem die Regelmenge P durch eine kleinere ersetzt wird, die um derartige
Regeln bereinigt ist. (Entsprechend kann, sollte für das entsprechende Nichtterminalsymbol
dann nur noch eine einzige Regel verbleiben, diese auch eliminiert werden, indem in allen Regeln, wo dieses Nichtterminalsymbol auf der rechten Seite auftritt, es durch die Symbolfolge
auf der rechten Seite dieser einzigen Regel ersetzt wird.) Bei den folgenden Betrachtungen
kann daher ohne Beschränkung der Allgemeinheit angenommen werden, daß alle Regelwahrscheinlichkeiten als Parameter eingehen.
P
A
Weiterhin besteht die Bedingung nx=1
qA,x = 1, d.h. die Wahrscheinlichkeiten aller Regeln,
auf deren linken Seite das gleiche Nichtterminalsymbol steht, summieren sich zu 1. (Hierbei ist nA die Anzahl dieser Regeln.) Hiermit kann z.B. qA,nA durch die übrigen Regeln
PnA −1
ausgedrückt werden: qA,nA = 1 − x=1
qA,x . Hierdurch kann qA,nA als bei der Optimierung zu berücksichtigender Parameter eliminiert werden. (Sollte nA = 1 sein, so ist damit
qA,nA = qA,1 = 1.) q(u|S) wäre damit eine Funktion von entsprechend weniger Regelwahrscheinlichkeiten, nämlich nur von m := |P ∩H|−|{A ∈ N | A→αx ∈ H}| (wobei 1 ≤ x ≤ nA ).
Durch den ersten Term (mit der Schnittmenge) werden nur die Regeln berücksichtigt, die
tatsächlich an der Ableitung S ⇒∗ u beteiligt sind. Mit dem zweiten Term wird berücksichtigt, daß für jedes Nichtterminalsymbol A, das auf der linken Seite einer solchen Regel
P A
auftritt, die Anzahl der Freiheitsgrade wegen der Bedingung nx=1
= 1 um 1 verringert wird.
P
A
qA,x = 1 eine
Eine andere Betrachtungsweise besteht darin, daß durch die Bedingung nx=1
|P|
Hyperebene, also ein Teilraum in IR , dem durch die Regelwahrscheinlichkeiten definierten
198
5.13 Optimierung von q(u|S)
Raum, festgelegt ist. Da für jedes Nichtterminalsymbol eine solche Hyperebene existiert,
ist tatsächlich auf dem Raum, der durch die Schnittmenge dieser Hyperebenen gegeben
ist, zu optimieren. Durch die Wahl entsprechender Verfahren ist es nicht nur möglich, den
Optimierungsprozeß auf diesen Teilraum einzuschränken, sondern sogar diesen Verfahren
inhärente Eigenschaften auszunutzen, die es prinzipiell unmöglich machen, daß der Teilraum
verlassen wird. Ein derartiger Ansatz (vgl. unten) soll hier verfolgt werden. (Ebenso werden
durch die Regeln, deren Wahrscheinlichkeiten von vornherein gleich 0 oder 1 gesetzt werden
können (vgl. oben), Teilräume definiert, die gleichermaßen nicht verlassen werden können.
Die oben angesprochene Bereinigung“ der Grammatik wird sich daher für das folgende
”
Verfahren als unnötig erweisen — läßt man den Gesichtspunkt der Effizienz außer acht.)
Rabiner (1989) gibt in seinem “Tutorial on Hidden Markov Models” das Baum/WelchVerfahren zur Optimierung der Wahrscheinlichkeiten an, das hier einen Spezialfall des EMAlgorithmus (Dempster/Laird/Rubin 1977) darstellt. Das Baum/Welch-Verfahren basiert im wesentlichen darauf, daß aus mit dem HMM erhaltenen Werten Erwartungswerte
dafür abgeleitet werden, wie oft der Zustand Zi aufgesucht wird und wie oft ein Übergang
vom Zustand Zi nach Zj stattfindet. Der Quotient dieser beiden Erwartungswerte wird als
verbesserter Wert für die Wahrscheinlichkeit pij des Übergangs von Zi nach Zj genommen.
Entsprechend wird auch bezüglich der Wahrscheinlichkeit qij , also der Wahrscheinlichkeit
dafür, daß im Zustand Zi die Beobachtung Wj erzeugt wird, verfahren. Ihre mathematische
Rechtfertigung findet diese Vorgehensweise in der Definition einer sog. Wachstumstransformationen T (Baum/Sell 1968). Indem die Variablen x (x ist Vektor) einer Funktion P (x)
(die gewissen Einschränkungen unterliegt) einer derartigen Wachstumstransformation unterworfen werden und die so transformierten Variablen wieder in P eingesetzt werden, wird
eine Funktion P (tT (x + (1 − t)x), 0 ≤ t ≤ 1 erhalten, die nie kleiner als P (x) ist. Die
Wachstumstransformation hat die Eigenschaft, daß lokale Maxima von P Fixpunkte dieser
Wachstumstransformation darstellen und diese somit durch Iteration der Wachstumstransformation (unter gewissen Bedingungen) aufgefunden werden können. Der große Vorteil des
Baum/Welch-Verfahrens liegt darin, daß die neuen Werte für die Wahrscheinlichkeiten pij
und qij sich als Quotient von Erwartungswerten ergeben und damit automatisch die BedinP
P
gung nj=1 pij = 1 (bzw. nj=1 qij = 1) erfüllen. (Anschaulich bedeuten diese Bedingungen,
daß die Wahrscheinlichkeit dafür, daß vom Zustand Zi ausgehend ein Übergang zu irgendeinem Zustand Zj stattfindet, gleich 1 ist; und entsprechend, daß im Zustand Zi mit der
Wahrscheinlichkeit 1 irgendein Beobachtungswert Wj erzeugt wird.)
Die analoge Vorgehensweise in Zusammenhang mit Ableitungen führt jedoch nicht zum Ziel.
pi1
pi2
pim
i
Wird die Ableitung α0 ⇒ α1 ⇒ α2 . . . ⇒ αmi betrachtet, so kann für jede hier enthaltende
Satzform αk , 0 ≤ k < mi eine Zahl NX (αk ) definiert werden, die angibt, ob diese Satzform
dem Zustand X entspricht, d.h. ob eine Regel pik+1 zur Anwendung kommt, mit der das
Nichtterminalsymbol X ersetzt wird.
Definition: Sei u ∈ Σ∗ , A ∈ N und α ∈ (N ∪ Σ)∗ . Dann ist
NX (uAα) :=
(
0
1
wenn A 6= X
wenn A = X
Sollte Nx (αk−1 ) = 1 sein, dann ist pik = X→ξx , X ∈ N, ξ ∈ (N ∪ Σ), also eine Regel, auf
deren linken Seite das Symbol X steht. Der entsprechende Wert für die gesamte Ableitung
199
5 Stochastische kontextfreie Grammatiken
S→.A, 0, 0
S→A., 0, 0
A→.AA, 0, 0
A→A.A, 0, 0
A→AA., 0, 0
A →ǫ., 0, 0
Abb. 5.13-1: Der mit dem Earleyschen Algorithmus beim Parsen des leeren Wortes ǫ erhaltene
Hypergraph. S→A, A→AA und A→ǫ sind die Regeln der zugrundeliegenden Grammatik.
pi1
pi2
pim
i
α0 ⇒ α1 ⇒ α2 . . . ⇒ . . . αmi wird als Summe über die einzelnen Satzformen definiert:
pi1
NX (α0 ⇒ . . . αmi ) :=
mX
i −1
NX (αk )
k=0
Um den Erwartungswert von NX (u|α0 ) zu erhalten, der angibt, wie oft der Zustand X
p1
überhaupt bei der Ableitung α0 ⇒∗ u auftritt, wird jede Anzahl NX (α0 ⇒ . . . αmi ) mit
der Wahrscheinlichkeit der jeweiligen (also i-ten) Ableitung multipliziert, und dann werden
alle derartig gewichteten Anzahlen summiert. Da Ableitungen beliebiger Länge auftreten
können, ist diese Summe der Grenzwert einer Reihe und es ist
NX (u|α) := lim
t→∞
t
X
X
l=0 i|mi =l
NX (α0
pi1 pi2 ...pim
i
∗
⇒
u) · pi1 pi2 . . . pimi
Es konnte jedoch nicht gezeigt werden, daß diese Reihe stets konvergiert.
pi1 pi2 ...pim
i
∗
Entsprechend kann auch bezüglich einer Größe NX,x (α
⇒
u) verfahren werden, die
angibt, wie oft die Regel X→ξx, X ∈ N, ξx ∈ (N ∪ Σ)∗ und 1 ≤ x ≤ nX (die Anzahl der
Regeln, auf deren linken Seite das Symbol X steht) in der Regelfolge pi1 pi2 . . . pimi auftaucht.
NX,x (u|α0) gäbe dementsprechend den Erwartungswert dafür an, wie oft die Regel X →ξx
bei allen möglichen Ableitungen auftritt. (NX,x (u|α0 ) wäre wiederum der Grenzwert einer
Reihe, deren Konvergenz im allgemeinen Fall ebenfalls nicht gezeigt werden konnte.)
Der Quotient NX,x (u|S)/NX (u|S) hätte dann als neuer Wert für qX,x , die Wahrscheinlichkeit
der Regel pX,x := X→ξx dienen können.
Daß dieses hier skizzierte Verfahren nicht funktioniert, hat letztendlich seine Ursache daran,
daß q(u|S) nicht immer (nach den den Regeln in P zugeordneten Wahrscheinlichkeiten) differenzierbar ist. Dies soll durch folgendes Beispiel gezeigt werden. Gegeben sei eine Grammatik
mit den Regeln
S → A
A → AA
A → ǫ
mit den mit den Regeln attributierten Wahrscheinlichkeiten q(S→A) := 1, q(A→AA) := p
und q(A → ǫ) := q, wobei p + q = 1 ist. Das einzige mit dieser Grammatik erzeugbare
Wort ist übrigens das leere Wort ǫ. In Abbildung 5.13-1 ist der mit dem Earleyschen
Algorithmus beim Parsen von ǫ erhaltene Hypergraph dargestellt (vgl. Abschnitt 5.4). Für
200
5.13 Optimierung von q(u|S)
die den punktierten Regeln zugeordneten Wahrscheinlichkeiten gelten folgende Gleichungen:
q(S→.A, 0, 0)
q(S→A., 0, 0)
q(A→.AA, 0, 0)
q(A→A.A, 0, 0)
q(A→AA., 0, 0)
q(A →ǫ., 0, 0)
=
=
=
=
=
=
1
q(S→.A, 0, 0) · q(S →ǫ., 0, 0) + q(S→.A, 0, 0)q(A→AA., 0, 0)
p
q(A→.AA, 0, 0) · q(S →ǫ., 0, 0) + q(A→.AA, 0, 0) · q(A→AA., 0, 0)
q(A→A.A, 0, 0) · q(S →ǫ., 0, 0) + q(A→A.A, 0, 0) · q(A→AA., 0, 0)
q
Nachdem q(A→.A, 0, 0), q(A→.AA, 0, 0) und q(A →ǫ., 0, 0) entsprechend der ersten, dritten
und sechsten Gleichung ersetzt in den übrigen Gleichungen ersetzt worden sind, können mit
x := q(S→A., 0, 0)
y := q(A→A.A, 0, 0)
z := q(A→AA., 0, 0)
die verbleibenden Gleichungen als
x = 1·q+1·z
y = p·q+p·z
z = y·q+y·z
geschrieben werden. Umgeformt ergibt dies
x =
q+z
y = p(q + z)
z = y(q + z)
woraus sich nach Einsetzen der zweiten Gleichung in die dritte die quadratische Gleichung
z = p(q + z)(q + z)
ergibt. Nach Ausmultiplizieren ergibt sich
z = pq 2 + 2pqz + pz 2
was auf die Normalform
pz 2 + (2pq − 1)z + pq 2 = 0
führt. Die Lösungen dieser Gleichung sind
z1,2
q
1
(1 − 2pq ± (1 − 2pq)2 − 4p · pq 2 )
2p
Da p + q = 1 kann gemäß q := 1 − p ersetzt werden, was für den Radikanden schließlich
(1 − 2pq)2 − 4p · pq 2
= 1 − 4pq + 4p2 q 2 − 4p2 q 2
= 1 − 4pq = 1 − 4p(1 − p) = 1 − 4p + 4p2
= (1 − 2p)2
ergibt, womit obige Lösungen
z1,2 =
1
(1 − 2p(1 − p) ± |1 − 2p|)
2p
201
5 Stochastische kontextfreie Grammatiken
sind. Entsprechend der Definition der z zugrundeliegenden Größe als Grenzwert einer Reihe
(vgl. 5.6-2) und der in 5.9-25 definierten Iteration wird die kleinere Lösung gewählt, und es
ist
1
z := z2 = (1 − 2p(1 − p) − |1 − 2p|)
2p
sind. Für p ≤
1
2
ist (1 − 2p) > 0 und damit |1 − 2p| = (1 − 2p), was
z=
ergibt. Für p ≥
z=
1
2
1
1
(1 − 2p(1 − p) − (1 − 2p)) = 2p2 = p
2p
2p
ist |1 − 2p| = −(1 − 2p), was auf
1
1
(1 − p)2
(1 − 2p(1 − p) − (−(1 − 2p))) = (2 − 4p + 2p2 ) =
2p
2p
p
führt. Es ist x = q + z = (1 − p) + z, was im ersten Fall x = 1 − p + p = 1 und im zweiten
2
2
Fall x = 1 − p + (1−p)
= p(1−p)+(1−p)
= (1−p)
ergibt. Weiterhin ist y = p(q + z) = px, im
p
p
p
ersten Fall also y = p und im zweiten y = 1 − p.
Somit ist
=


q(A→A.A, 0, 0) =
(
p
1−p
wenn p ≤
wenn p ≥
q(A→AA., 0, 0) =


p
wenn p ≤
q(S→A., 0, 0)


wenn p ≤
wenn p ≥
1
1−p
p
(1−p)2
p
1
2
1
2
wenn p ≥
1
2
1
2
1
2
1
2
Entsprechend der Definition 5.7-1 der Wahrscheinlichkeit punktierter Regel ergibt sich dann
für die Wahrscheinlichkeiten der entsprechenden Ableitungen
q(ǫ|A)
= q(S→A., 0, 0)/1
=


q(ǫ|AA) = q(S→A→AA., 0, 0)/p =


= q(A→A.A, 0, 0)/p

1
1−p
p
wenn p ≤
wenn p ≥
1
2
1
2
1
wenn p ≤
1−p
2
 (
) wenn p ≥
p
1
2
1
2
Selbstverständlich wären in diesem einfachen Beispiel diese Wahrscheinlichkeiten auch direkt
aus dem Ableitungsbaum zu errechnen gewesen. Offensichtlich sind diese Größen (darunter
auch q(ǫ|S)) nicht differenzierbar, wie die Stelle p = 21 zeigt. Die Frage nach der Stetigkeit
von q(u|S) soll hier nicht untersucht werden, da für das schließlich verwendete Verfahren
eventuelle Unstetigkeitsstellen kein Problem darstellen.
Das Problem der Optimierung einer (skalaren) Funktion mehrerer (reellen) Variablen besteht
darin, Werte für die Variablen so zu bestimmen, daß der Funktionswert für diese Werte ein
Extremum annimmt. (Im allgemeinen wird man sich hierbei mit einem relativen Extremum
begnügen müssen, d.h. der Funktionswert ist nur in einer Umgebung der gewählten Variablenwerte der kleinste bzw. größte Funktionswert. Es sei jedoch angemerkt, daß Verfahren
202
5.13 Optimierung von q(u|S)
zum Auffinden eines globalen Extremums beschrieben sind. Diese basieren i.allg. auf der Verallgemeinerung in mehreren Dimensionen von Intervallschachtelung und verwenden branchand-bound-Kriterien. Horst und Tuy (1987) beschreiben ein mathematisches Gerüst, in
das verschiedene Klassen von Verfahren zur globalen Optimierung eingeordnet werden. Es
bleibt jedoch offen, inwieweit diese Verfahren zur Lösung des vorliegenden Problems überhaupt geeignet wären. Konkrete Beispiele für Verfahren globaler Optimierung weisen i.allg.
Eischränkungen auf. So ist das von Jones, Perttunen und Stuckman (1992) beschriebene Verfahren auf etwa drei Dutzend Variablen beschränkt. Das Verfahren von Wolfe (1994)
setzt bestimmte Konvexitätseigenschaften der zugrundeliegenden Mengen voraus.)
Üblicherweise werden derartige Probleme so formuliert, daß das gesuchte Extremum ein Minimum ist. Diese Konvention wird im folgenden ebenfalls zugrunde gelegt. (Dies stellt keine
Einschränkung dar, da Maximum und Minimum ihre Rolle vertauschen, wenn die Funktion
mit −1 multipliziert wird.) Im vorliegenden Falle wird also nach einem Minimum von −q(u|S)
gesucht. Erschwerend kommt hinzu, daß Randbedingungen (constraints) vorgegeben sind,
so müssen im vorliegenden Falle alle Variablen zwischen 0 und 1 liegen und weiterhin darf
die Summe bestimmter Variablen (vgl. oben) 1 nicht überschreiten.
Die meisten Verfahren zum Auffinden von Minima setzen Differenzierbarkeit der Funktion voraus, manche benötigen sogar zweimalige Differenzierbarkeit, wie z.B. das NewtonVerfahren (s. z.B. Bronstein/Semendjajew/Musiol/Mühlig, 1997; Abschn. 18.2.5.2)
Da die Differentialrechnung seit langem zur Verfügung steht, ist es nicht verwunderlich, daß
viele Methoden zur Optimierung davon Gebrauch machen und Differenzierbarkeit der zu
optimierenden Funktionen voraussetzen. (Es ist allerdings unklar, inwieweit diese strenge
Voraussetzung der Differenzierbarkeit tatsächlich benötigt wird und nicht durch schwächere
Kriterien ersetzt werden kann — zumindestens im Hinblick auf praktische Anwendungen.
Schließlich existieren — was die numerische Darstellbarkeit anbelangt — reelle Zahlen gar
nicht.) Bisweilen werden die Ableitungen auch durch Differenzenquotienten ersetzt. Ein Beispiel hierfür wäre die Routine E04JAF der NAG-Bibliothek (The Numerical Algorithms
Group, 1991). Diese läßt sogar gelegentliche Unstetigkeiten der Ableitungen zu. Nachteilig hierbei ist, daß die Gefahr von rechnerischen Ungenauigkeiten besteht, da numerisches
Differenzieren hierfür besonders anfällig ist. Ein weiterer Nachteil ist, daß für jede partielle Ableitung die Funktion auszuwerten ist, was im vorliegenden Falle besonders aufwendig
ist. Im übrigen ist unbekannt, wie sich die Unstetigkeit der Ableitungen im vorliegenden
Falle auswirkt; insbesondere ist es denkbar, daß ein Minimum der Funktion für eine solche
Unstetigkeitsstelle angenommen wird.
Aus diesem Grunde sind ableitungsfreie Verfahren vorzuziehen. Besonders im Falle sehr vieler Variablen bieten sich stochastische Verfahren (Monte-Carlo-Methoden) an. Zum Beispiel
besteht das Prinzip der random search techniques (Gottfried/Weisman, 1973) darin,
daß in jedem Schritt eine große Anzahl von Punkten im m-dimensionalen Raum (entsprechend einer bestimmten Wahrscheinlichkeitsverteilung) zufällig ausgewählt werden, wobei
die Koordinaten eines Punktes einem Satz von m Variablenwerten entsprechen, für die der
Funktionswert dann berechnet wird. Für den jeweils folgenden Schritt wird die Wahrscheinlichkeitsverteilung so abgeändert, daß die Wahrscheinlichkeit einen Punkt auszuwählen in
der Nähe von Punkten, die im vorigen Schritt einen kleinen Funktionswert erhalten haben,
größer ist als für die übrigen Stellen im m-dimensionaeln Raum. Auf diese Weise wirken
Minima gewissermaßen anziehend; die zufällig ausgewählten Punkte häufen sich hier mehr
und mehr, bis schließlich eine Wolke von Punkten existiert, für die sich deren Funktionswerte
praktisch nicht mehr unterscheiden. Derartige Punktwolken kennzeichnen dann Minima. Mit
203
5 Stochastische kontextfreie Grammatiken
derartigen Verfahren besteht sogar die Chance, das globale Minimum aufzufinden.
Eine andere Klasse von Verfahren sind die sogenannten genetischen Algorithmen (Goldberg, 1989). Diese haben ihr Vorbild in der biologischen Evolution. Auch hier wird eine
große Anzahl, eine Population“ von Punkten betrachtet. Die einem Punkt entsprechenden
”
Variablenwerte sind als Folge sogenannter Gene“ kodiert. Im einfachsten Falle handelt es
”
sich bei diesen einfach um eine Binärziffer. Punkte, die gute (d.h. kleine) Funktionswerte
ergeben haben, werden stark vervielfacht, während Punkte mit schlechten Funktionswerten
kaum vervielfacht oder sogar ganz entfernt werden. (Hier ist also noch ein gewisser Zusammenhang mit der oben beschrieben Methode gegeben.) Weiterhin werden die Punkte aber
auch gekreuzt“, d.h. ihre Gene werden mehr oder weniger zufällig untereinander ausge”
tauscht. Außerdem erfolgen noch Mutationen“, d.h. einzelne Gene eines Punktes werden
”
zufällig abgeändert.
In dieser Arbeit beschränke ich mich jedoch auf den sogenannten Simplex-Algorithmus von
Spendley, Hext und Himsworth (1962) in seiner Modifikation von Nelder und Mead
(1964/65, 1965/66). Diskutiert wurde er beispielsweise auf einer Konferenz über Numerical
Methods for Non-linear Optimization (Lootsma, 1972) in den Beiträgen von Parkinson
und Hutschinson (1972a, 1972b). Er wird auch bisweilen in Lehrbüchern über Optimierung erwähnt, so Jacoby, Kowalik und Pizzo (1972), z.B. von Gill, Murray und
Wright (1981), Fletcher (1987) oder speziell auf Anwendungen in der Chemie bezogen,
auch von Hoffmann und Hofmann (1971). Auf das Problem der Startwerte (im Hinblick
auf experimentelle Untersuchungen) gehen Yarbro und Deming (1974) ein. Die Einflüsse
gewisser Programmparameter und verschiedener Konvergenzkriterien haben beispielsweise
Paviani (Himmelblau, 1972) als auch Parkinson und Hutchinson (1972b) untersucht.
Ein Beispiel für eine Implementierung in Fortran findet sich bei O’Neill (1971) — interessanterweise unter der Rubrik Statistical Algorithms. Caceci und Cacheris (1984) (vgl.
unten) geben eine Implementierung in Pascal. Ihr Anwendungsbeispiel stammt ebenfalls aus
der Statistik und zwar handelt es sich um die Optimierung von Parametern einer Funktion
zu deren Anpassung an gefundene Meßwerte einer biochemischen Versuchsreihe. Kim (1998)
weist schließlich darauf hin, daß unter bestimmten Umständen der Simplex-Algorithmus vereinfacht werden kann, wofür er ein Beispiel gibt. Bei diesem handelt es sich wiederum um
die Anpassung einer Funktion an Meßwerte — diesmal jedoch auf dem Gebiet der Optik.
Parkinson und Hutchinson (1972b) dagegen weisen auf die Vorteile hin, die Verallgemeinerungen des Simplex-Algorithmus bieten, u.a. durch die Hinzunahme einer Operation, die
der Translation (hier jedoch nicht berücksichtigt) des gesamten Simplex entspricht.
Obwohl der Simplex-Algorithmus relativ lange bekannt ist, bleibt er das einzige Verfahren,
das in den Numerical Recipes (Press/Flannery/Teukolsky/Vetterling 1988) oder
auch in der NAG-Bibliothek (NAG, 1991) — Routine E04CCF — genannt wird, das keine
(expliziten oder impliziten) Voraussetzungen bezüglich Ableitungen der zu optimierenden
Funktion macht. So basiert sowohl das Verfahren von Rosenbrock (1960) als auch von
Powell (1964) darauf, daß zu einem Punkt x des Variablenraums Nachbarpunkte in verschiedenen Richtungen betrachtet werden, um zu entscheiden, in welcher Richtung x zu
bewegen“ ist, um einem mutmaßlichen Optimum näher zu kommen. Dies erfordert aber
”
die Auswertung der Funktion für diese Nachbarpunkte und u.U. sogar für weitere Punkte,
wenn eine optimale Schrittweite bestimmt werden soll. Da die Funktionsauswertung im vorliegenden Fall relativ aufwendig ist, erscheint es günstiger, diesen Aufwand statt für nahe
beieinander liegende besser für weiter von einander entfernte Punkte zu betreiben. Außer
der praktischen Voraussetzungsfreiheit ist das Simplex-Verfahren konzeptionell einfach, mit
204
5.13 Optimierung von q(u|S)
geringem Aufwand implementierbar und ermöglicht die automatische“ Berücksichtigung
”
von Randbedingungen (vgl. unten). Außerdem kann es modifiziert werden, so daß der Speicherplatzbedarf nur noch linear und nicht mehr quadratisch mit der Anzahl m der Variablen abhängt (Parkinson und Hutchinson, 1972a). Diesen Vorteilen stehen jedoch auch
Nachteile entgegen. Abgesehen davon, daß das Verfahren nur langsam konvergieren soll (dem
widersprechen jedoch Parkinson und Hutchinson (1972a), die vor allem mit zunehmender Anzahl von Variablen Vorteile im Simplex-Verfahren sehen), kann es sich u.U. in Zykeln
festlaufen“ oder in einem Teilraum verfangen“ und so nur scheinbare Extrema liefern.
”
”
Weitaus schwerer wiegt jedoch, daß eine mathematische Grundlegung fehlt (zumindestens
konnte ich eine derartige nicht auffinden), so daß es hier als eine Heuristik angesehen werden
soll.
Interessanterweise hat das Simplex-Verfahren seine Wurzeln in der Optimierung von realen,
von vielen Parametern abhängigen Vorgängen, wie z.B. der Abläufe in Produktionsanlagen
(Spendley, Hext und Himsworth, 1962). Für diese empirische Optimierung“ wurde von
”
Box (1957) der Begriff Evolutionary Operation“ geprägt. (Erwähnenswert ist, daß hier Box
”
bereits auf die Analogie zwischen der (biologischen) Evolution und Optimierungstechniken
hinweist.) Das Verfahren soll anhand eines Beispiels aus der Mikrobiologie motiviert und kurz
erläutert werden. Wenn eine Bakterienkultur (z.B. zur Gewinnung eines Antibiotikums) in
einem Fermenter angezogen wird, so stellt sich die Frage nach der optimalen Zusammensetzung des Nährmediums. Dieses besteht aus etwa ein bis zwei Dutzend unterschiedlicher
Substanzen. Diese beeinflussen sich in ihrer Wirkung gegenseitig, so daß die Ausbeute keine
lineare — und möglicherweise nicht einmal eine stetige — Funktion dieser Konzentrationen
ist. Idealerweise wären Versuche für jede Kombination von Konzentrationen der einzelnen
Substanzen durchzuführen. Dies ist aber impraktikabel; bei nur zehn Substanzen und fünf
unterschiedlichen Konzentrationen pro Substanz (was eine für praktische Anwendung viel zu
geringe Auflösung darstellt) wären dies bereits 510 , also fast zehn Millionen Versuche, also
zehn Millionen unterschiedliche Nährlösungen, zehn Millionen Kulturen, zehn Millionen Bestimmungen der Wirksamkeit des Produktes. Bei einem (großtechnischen) kontinuierlichen
Produktionsprozeß stellt sich das Problem noch verschärfter dar, da hier (um Produktionsverluste gering zu halten) nur geringfügige Variationen der Variablen praktikabel sind und
auch (da nur eine einzige Anlage vorhanden ist) nur ein Versuch auf einmal durchgeführt
werden kann. Ein Ausweg aus diesen Problemen bietet das Simplex-Verfahren. Statt einer
Riesenzahl paralleler Versuche genügt eine Serie nacheinander ausgeführter Versuche. Zu
Beginn reicht eine Anzahl von Versuchen aus, die um 1 größer ist als die Anzahl der Variablen. Hierbei stellt jeder Versuch, entsprechend der jeweiligen Festlegung der Variablen,
einen Punkt in dem durch die Variablen aufgespannten Raum dar. Die diesen Versuchen
entsprechenden Punkte müssen ein Simplex (s.u.) bilden. In den jeweils folgenden Schritten
wird der Punkt, der das schlechteste Ergebnis geliefert hat, am durch die übrigen Punkte
definierten Schwerpunkt gespiegelt und mit den so erhaltenen Variablenwerten ein neuer
Versuch durchgeführt. Offensichtlich kann diese Vorgehensweise auch dann zur Optimierung
von Funktionen dienen, wenn diese bekannt sind, d.h. der Funktionswert aus den Variablenwerten berechnet werden kann und nicht experimentell bestimmt werden muß. Dieses
Verfahren wird im übernächsten Absatz präzisiert.
Eine Variante des Simplex-Verfahren ist das Complex-Verfahren“ (complex von “constrained
”
simplex”) von Box (1965). Guin (1967) beschreibt eine Modifikation hiervon; ein Anwendungsbeispiel und einen Vergleich mit einem genetischen Algorithmus geben Jansson, Krus
und Palmberg (1998). Im vorliegenden Fall können die Randbedingungen (Summe von
205
5 Stochastische kontextfreie Grammatiken
Wahrscheinlichkeiten gleich 1, Wahrscheinlichkeiten im Intervall [0, 1]) bereits jedoch durch
das einfache Simplex-Verfahren berücksichtigt werden.
Zur Beschreibung des Simplex-Verfahren und einiger seiner Eigenschaften werden zuvor einige Definitionen (größtenteils in Anlehnung an Schikin (1994; Seiten 34, 35, 215 und 348))
eingeführt. Ist im folgenden von Vektoren“ die Rede, so wird die Existenz eines entsprechen”
den Vektorraums V stillschweigend vorausgesetzt. (Tatsächlich reicht für den vorliegenden
Kontext V := IRd aus, so daß bisweilen auch der Begriff Punkte“ verwendet wird.)
”
Definition: Die Menge {x0 , x1 , . . . xm} heißt affin unabhängig, genau dann wenn
λ0 x 0 + λ1 x 1 + . . . λm x m = 0 ∧ λ0 + λ1 + . . . λm = 0
⇒ λ0 = λ1 = . . . λm = 0
(5.13-2)
Das heißt eine Linearkombination, deren Summe von Koeffizienten gleich 0 ist, kann nur
dann 0 sein, wenn alle Koeffizienten gleich 0 sind. (Diese Definition entspricht in gewisser
Weise der der linearen Unabhängigkeit; nur wird hier nicht gefordert, daß die Koeffzientensumme ebenfalls gleich 0 sein muß.)
Zwischen affiner und linearer Unabhängigkeit bestehen folgende Zusammenhänge.
Satz: Ist {x0 , x1 , . . . xm} affin unabhängig, so sind (für beliebiges i0 , 0 ≤ i0 ≤ m) die Vektoren (x0 −xi0 ), (x1 −xi0 ), . . . (xi0 −1 −xi0 ), (xi0 +1 −xi0 ), . . . (xm −xii0 ) linear unabhängig.
(5.13-3)
Beweis: Es ist zu zeigen, daß aus λ′0 (x0 − xi0 ) + λ′1 (x1 − xi0 ) + . . . λ′i0 −1 (xi0 −1 − xi0 ) +
λ′i0 +1 (xi0+1 − xi0 ) + . . . λ′n (xn − xii0 ) = 0 (A) folgt, daß λ′0 = λ′1 = . . . λ′i0 −1 = λ′i0 +1 =
. . . λ′m = 0 (B). Durch Ausmultiplizieren von 1 und Umsortieren ergibt sich λ′0 x0 + λ′1 x1 +
. . . λ′i0 −1 xi0 −1 ) + (−λ′0 − λ′1 . . . − λ′i0 −1 − λ′i0 +1 . . . − λ′m )xi0 + λ′i0 +1 xi0 +1 + . . . λ′m xm = 0
(A’). Wird die Summe der Koeffizienten betrachtet, so verschwindet diese offensichtlich:
λ′0 + λ′1 + . . . λ′i0 −1 + (−λ′0 − λ′1 . . . − λ′i0 −1 − λ′i0 +1 . . . − λ′m ) + λ′i0 +1 + . . . λ′m = 0 (B’). Aufgrund
der vorausgesetzten affinen Unabhängigkeit von x0 , x1 , . . . xm folgt aus A’ und B’, daß
λ′0 = λ′1 = . . . λ′i0 −1 = (−λ′0 − λ′1 . . . − λ′i0 −1 − λ′i0 +1 . . . − λ′m ) = λ′i0 +1 = . . . λ′m = 0. Dies
ist aber Aussage B, die zu folgern war. Damit ist die behauptete lineare Unabhängigkeit
gezeigt.
Anmerkung: Aus Satz 5.13-3 ergibt sich, daß die Anzahl der affinen Vektoren höchstens um 1
größer sein kann als die Dimension des entsprechenden Vektorraums; bei obiger Indizierung
ist also m ≤ d.
Satz: Sind die Vektoren y1 , y2 , . . . ym linear unabhängig, so sind (für beliebiges y0 ) die
Vektoren y0 , (y1 + y0 ), (y2 + y0 ), . . . (ym + y0 ) affin unabhängig.
(5.13-4)
Beweis: Die vorausgesetzte lineare Unhabhängigkeit bedeutet, daß aus λ′1 y1 +λ′2 y2 . . . λ′m ym =
0 folgt, daß λ′1 = λ′2 = . . . λ′m = 0 ist.
Es ist nun zu zeigen, daß aus λ0 y0 + λ1 (y1 + y0 ) + λ2 (y2 + y0 ) . . . λm (yn + y0 ) = 0 (A)
206
5.13 Optimierung von q(u|S)
und λ0 + λ1 + λ2 + . . . λm = 0 (B) folgt, daß λ0 = λ1 = λ2 = . . . λm = 0. Aus A ergibt sich durch Ausmultiplizieren, Umsortieren und Neuzusammenfassen (λ0 + λ1 + λ2 +
. . . λm )y0 + λ1y1 + λ2y2 . . . λm ym = 0 (A’). Mit B fällt der Term mit y0 weg. Aus der dann
verbleibenden Gleichungen folgt aufgrund der vorausgesetzten linearen Unabhängigkeit, daß
λ1 = λ2 = . . . λm = 0, woraus sich wiederum mit B ergibt, daß λ0 = 0. Damit sind alle
Koeffizienten in 1 gleich 0, womit die behauptete affine Unabhängigkeit gezeigt ist.
Satz: Die Vektoren x0 , x1 , . . . xm sind genau dann affin unabhängig, wenn (für beliebiges
i0 , 0 ≤ i0 ≤ m) die Vektoren (x0 − xi0 ), (x1 − xi0 ), . . . (xi0 −1 − xi0 ), (xi0 +1 − xi0 ), . . .
(xm − xii0 ) linear unabhängig sind.
(5.13-5)
Beweis: Mit Satz 5.13-3 folgt aus der affinen die lineare Unabhängigkeit. Mit Satz 5.13-4
folgt aus der linearen die affine Unabhängigkeit. Dies ist sofort ersichtlich, wenn y0 := xi0 ,
yi := xi−1 − xi0 für 0 < i ≤ i0 und yi := xi − xi0 für i0 < i ≤ m, gesetzt wird.
Satz: Sei X := {x0 , x1 , . . . xm} affin unabhängig und sei x′i0 := µ0 x0 +µ1x1 +. . . µm xm eine
Linearkombination mit µi0 6= 0, 0 ≤ i0 ≤ m. Dann ist, vorausgesetzt µ0 + µ1 + . . . µm = 1,
auch X ′ := X \ {xi0 ∪ x′i0 } affin unabhängig.
(5.13-6)
Anmerkungen: Dieser Satz stellt eine gewisse Analogie zum Austauschlemma im Falle der
linearen Unabhängigkeit dar. Die Bedingung, daß die Summe der Koeffizienten gleich 1 sein
muß, ist hinreichend, nicht aber unbedingt notwendig. Der Satz 5.13-6 wird jedoch in dieser
Version im folgenden genügen.
Beweis: Es sei λ0 x0 + λ1 x1 + . . . λi0 −1 xi0 −1 + λ′xi0 x′i0 + λi0 +1 xi0 +1 + . . . λn xn = 0 (A) und
λ0 + λ1 + . . . λi0 −1 + λ′xi + λi0 +1 + . . . λm xm = 0 (B). Aus A folgt durch Ersetzen von xi0
0
λ0 x0 + λ1 x1 + . . . λi0 −1 xi0−1 + λ′xi (µ0 x0 + µ1 x1 + . . . µm xm) + λi0 +1 xi0 +1 + . . . λm xm = 0
0
Hieraus ergibt sich nach Ausmultiplizieren, Umsortieren und Zusammenfassen:
(λ0 + λ′xi µ0 )x0 + (λ1 + λ′xi µ1 )x1 + . . . (λi0 −1 + λ′xi µxi0 −1 )xi0−1 + λ′xi µi0 xi0
0
0
0
0
+(λi0 +1 + λ′xi µxi0 +1 )xi0 +1 + . . . (λm + λ′xi µm )xm = 0
0
0
(A’)
Nach Multiplikation von µ0 + µ1 + . . . µm = 1 mit λ′i0 und Addition zu B wird erhalten
(λ0 + λ′i0 µ0 ) + (λ1 + λ′i0 µ1 ) + . . . (λi0 −1 + λ′i0 µi0 −1 )
+(λi0 + λ′i0 µi0 ) + (λ′i0 +1 + λ′i0 µi0 +1 + . . . (λm + λ′i0 µm ) = λ′i0
Nach Subtraktion von λ′i0 ergibt sich
(λ0 + λ′i0 µ0 ) + (λ1 + λ′i0 µ1 ) + . . . (λi0 −1 + λ′i0 µi0 −1 )
+(λ′i0 µi0 ) + (λ′i0 +1 + λ′i0 µi0 +1 + . . . (λm + λ′i0 µm ) = 0
(B’)
207
5 Stochastische kontextfreie Grammatiken
Wegen der affinen Unabhängigkeit von x0 , x1 , . . . xm folgt aus A’ und B’, daß (λ0 +λ′i0 µ0 ) =
(λ1 + λ′i0 µ1 ) = . . . (λi0 −1 + λ′i0 µi0 −1 ) = (λ′i0 µi0 ) = (λ′i0 +1 + λ′i0 µi0 +1 ) = . . . (λm + λ′i0 µm ) = 0.
Mit λ′i0 µi0 = 0 und µi0 6= 0 folgt hieraus λ0 = λ1 = . . . λi0 −1 = λ′i0 = λi0 +1 = . . . λm = 0,
womit die affine Unabhängigkeit der Vektoren nach Ersetzen von xi0 durch x′i0 gezeigt ist.
Definition: Sei V ein Vektorraum. (Im folgenden wird es sich dabei aber stets um IRd handeln.) Gegeben sei eine Menge X ⊂ V von m + 1 Punkten; X := {x0 , x1 , x2 , . . . xm}. Sind
diese Punkte affin unabhängig, so ist die Menge co X, die konvexe Hülle von X, Simplex
m-ter Ordnung. Das Simplex heißt regelmäßig, wenn für alle i, j, i′ , j ′ ∈ {0, 1, . . . m}, i 6= j,
i′ 6= j ′ gilt, daß xixj = xi′ xj′ , der Abstand zwischen je zwei Eckpunkten also jeweils derselbe ist.
(5.13-7)
Die konvexe Hülle einer Teilmenge X ⊂ IRd ist die kleinste konvexe Teilmenge von IRd , die
X vollständig enthält. Anders formuliert ist mit zwei beliebigen Punkten x und y aus der
Menge co X auch jeder Punkt zwischen x und y Element von co X. Formal kann co X ⊆ IRd
wie folgt definiert werden:
(i) X ⊆ co X
(ii) x, y ∈ co X ⇒ {z | z = x + λ(y − x), 0 < λ < 1} ⊆ co X
(iii) ¬∃X ′ , X ′ ⊂ co X: X ′ erfüllt i und ii
Im folgenden wird jedoch nur die Menge X (die Menge der Eckpunkte des Simplex) benötigt;
da also keine Verwechslungsmöglichkeit besteht, wird die Bezeichnung Simplex“ nicht (nur)
”
für coX, sondern auch für X selbst verwendet. Simplex X“meint damit dann nichts anderes,
”
als daß die Menge X affin unabhängig ist.
Eine informelle Formulierung des Simplex-Algorithmus ist folgende (Caceci und Cacheris,
1984).
1. Wähle ein Simplex der Ordnung m im Definitionsbereich der zu optimierenden Funktion. Hierbei ist m die Dimension des Definitionsbereiches und dementsprechend die
Anzahl der Variablen der Funktion.
2. Finde den Eckpunkt, für den der Funktionswert am größten ist (verglichen mit den
übrigen Eckpunkten). (Hier und im folgenden sei — der üblichen Konvention entsprechend — das gesuchte Extremum der Funktion ein Minimum.) Dieser Punkt wird durch
einen anderen ersetzt (wobei die anderen Punkte beibehalten werden) und ein neues
Simplex erhalten wird.
3. Der in 2 gewählte Eckpunkt wird am Schwerpunkt der übrigen Eckpunkte gespiegelt.
Diese Operation wird als reflection bezeichnet.
208
5.13 Optimierung von q(u|S)
a) Ist der Funktionswert für den Spiegelbildpunkt“ weder größer noch kleiner als
”
der Funktionswert aller übrigen Punkte, so ersetzt der Spiegelbildpunkt den ursprünglichen, gespiegelten Punkt.
b) Ist der Funktionswert kleiner als der Funktionswert aller übrigen Punkte, so wird
ein weiterer Punkt getestet. Dieser Punkt ist doppelt so weit vom Schwerpunkt
entfernt wie der Spiegelbildpunkt, liegt aber in der gleichen Richtung. Diese Operation heißt expansion.
α) Ist der Funktionswert für diesen expandierten“ Testpunkt kleiner als der für
”
den Spiegelbildpunkt, so wird dieser expandierte Testpunkt gewählt.
β) Ist der Funktionswert dieses Testpunktes nicht kleiner, so wird der Spiegelbildpunkt beibehalten.
c) Ist der Funktionswert für Spiegelbildpunkt größer als der Funktionswert aller übrigen Punkte, so wird ein kontrahierter“ Testpunkt gewählt. Dieser liegt genau
”
zwischen dem Spiegelbildpunkt und dem Schwerpunkt aller übrigen Punkte. Diese Operation heißt contraction.
α) Hat der kontrahierte Testpunkt einen kleineren Funktionswert als der ursprüngliche (zu Beginn gespiegelte) Punkt, so wird dieser kontrahierte Testpunkt gewählt.
β) Hat der kontrahierte Testpunkt keinen kleineren Funktionswert als der ursprüngliche Punkt, so wird eine shrinkage durchgeführt. Hierbei wird der
Punkt des Simplex mit dem kleinsten Funktionswert festgehalten und das
Simplex mit dem Längenfaktor 21 geschrumpft. (Das heißt alle Punkte bewegen sich auf den festgehaltenen Punkt zu und halbieren hierbei ihren Abstand
zu diesem.)
Auf diese Weise wird eine Folge von Simplizia erhalten. Das Abbruchkriterium, das Caceci und Cacheris angeben, ist an dieser Stelle nicht aufgeführt, da ihr Problem in der
Parameteranpassung einer Funktion an Meßwerte besteht (gesucht sind die Parameter einer
Funktion, für die die Summe der Quadrate der Fehler (d.h. der Differenz zwischen Meßwert und mit den gewählten Paramtern berechneten Werten) minimal wird). Auf die Frage
nach einem geeigneten Abbruchkriterien wird weiter unten zurück gekommen. (Caceci und
Cacheris weisen darauf hin, daß das Simplex-Verfahren besonders gut geeignet zur Anpassung statistischer Parameter geeignet sei. Als Vorteil heben sie unter anderem hervor, daß
der Funktionswert bei jeder Iteration i.allg. nur einmal zu berechnen ist.)
An Problemen, die möglicherweise auftreten können, nennen sie folgende:
— Durch eine ungünstige Wahl von Startpunkten (zu großer Werte) oder zu geringer
Abstände der Punkte von einander, können die Funktionswerte für alle Punkte praktisch gleich sein. Dies führt zu vorzeitigem Programmabruch.
— Ein zu tolerantes“ Abbruchkriterium kann ebenfalls zu einem Ende des Programms
”
führen, obwohl das Minimum bei weitem noch nicht erreicht ist.
— Ein zu scharfes Abbruchkriterium kann dazu führen, daß das Simplex um ein Minimum
herum oszilliert“. Dieses Verhalten ist auf Rundungsfehler zurückzuführen, die eine
”
weitere Kontraktion (contraction) des Simplex verhindern.
209
5 Stochastische kontextfreie Grammatiken
— Die Funktion kann von den einzelnen Variablen in unterschiedlich starkem Maße abhängen. Unter Umständen kann dies dazu führen, daß der Funktionswert praktisch
keine Änderung erfährt, während in bezug auf eine (oder mehrere) Variable(n) variiert
wird. Es werden also gewissermaßen überflüssige Iterationsschritte ausgeführt.
— Es ist nicht klar, welches der vorhandenen Minima der Algorithmus auswählt. (Im
vorliegenden Falle stellt dies kein Problem dar, da nur ein Minimum gesucht wird.)
Jacoby, Kowalik und Pizzo (1972) nennen weitere Nachteile:
— Das Simplex kann in einen Unterraum kollabieren“; d.h. das Simplex entartet, so daß
”
seine Eckpunkte nicht mehr affin unabhängig sind. Im Verlauf der weiteren Iteration
bleiben die Punkte auf den entsprechenden Unterraum beschränkt, der nicht mehr
verlassen werden kann, so daß die Suche nicht mehr auf ganz IRm erfolgt. (Dies kann
andererseits vorteilhaft ausgenutzt werden: Sind Randbedingungen zu berücksichtigen,
so kann die Suche auf einen entsprechenden Teilraum beschränkt werden.)
— Das Simplex kann in einem tiefen Tal“ übermaßig stark schrumpfen, was zu vorzeiti”
gem Abbruch führen kann (da das Simplex einfach zu klein geworden ist).
— Kriterien für eine optimale Wahl der Parameter (wie der Faktor bei der zur Streckspiegelung verallgemeinerten Spiegelung oder der Schrumpfungsfaktor) sind unbekannt.
— Die in früheren Schritten erhaltene Information wird nicht unmittelbar verwertet.
Diese Nachteile werden hier, soweit sie nur die Konvergenzgeschwindigkeit betreffen, ohne
weitere Maßnahmen in Kauf genommen. Dies erscheint dadurch gerechtfertigt, daß beispielsweise in den Untersuchungen von D. Paviani (Himmelblau, 1972) und Parkinson und
Hutchinson (1972b) die Anzahl der Iterationen allenfalls um die Hälfte variiert. Um die
Fälle, wo möglicherweise kein Optimum aufgefunden wird, abzufangen, wird an einem mutmaßlichen Optimum ein Neustart durchgeführt. Wird hierbei derselbe Punkt (oder ein Punkt
in naher Nachbarschaft) wieder erreicht, so wird dies als Kriterium für das tatsächliche Vorliegen eines Optimums gewertet.
Die oben erwähnten grundlegenden Operationen des Simplex-Algorithmus werden in Anlehnung an Nelder und Mead (1964/65) im folgenden formalisiert, bevor der SimplexAlgorithmus selbst angegeben wird.
Definition: Es sei f : IRm →IR, x 7→ f(x) eine nach unten beschränkte skalare Funktion von
m Variablen (also x := (x1 , x2 , . . . xm )), für die ein Minimum aufzufinden ist. (Randbedingungen an f bleiben vorerst außer Betracht.) Es sei weiterhin St := {x0 , x1 , . . . xm} ein
Simplex, St ⊆ IRm , wobei xi := (xi,1 , xi,2 , . . . xi,m ), 0 ≤ i ≤ m.
(5.13-8a)
Es werden Punkte xl ∈ St , xh′ ∈ St und xh ∈ St definiert, so daß der Funktionswert für
diese der niedrigste, zweithöchste bzw. höchste ist. Es werden also l, h′ und h derart gewählt,
daß für alle i, 0 ≤ i ≤ m gilt f (xl) ≤ xi, f (xh′ ) ≥ f (xi) (wobei i 6= h) und f (xh) ≥ f (xi).
(5.13-8b)
210
5.13 Optimierung von q(u|S)
Weiterhin wird der Schwerpunkt xg aller Punkte mit Ausnahme von xh definiert, dieser
ergibt sich als folgender Mittelwert:
xg :=
m
X
1
xi )
(−xh +
m
i=0
(5.13-8c)
An diesem Punkt xg wird der Punkt xh gespiegelt (eigentlich handelt es sich um eine Streckspiegelung). Der bei dieser Operation, reflection, erhaltene Punkt ist
xR := (1 + α)xg − αxh
(5.13-8d)
−→
−→
wobei α > 0 der Reflektionskoeffizient ist. (Es ist xg xh= −α xgxR; für α = 1 handelt
es sich um eine einfache Spiegelung, wobei xR so liegt, daß xg der Mittelwert von xR und
xh ist.) Wenn f (xR) zwischen f (xl) und f (xh) liegt, dann wird xh durch den Spiegelpunkt
xR ersetzt.
Sollte f (xR) < f (xl) sein, also xR das bisherige Minimum unterbieten, so wird dieser
Spiegelpunkt (mit dem Punkt xg als Zentrum) gestreckt. Bei dieser, sogenannten expansion
wird
xRE := γxR + (1 − γ)xg
(5.13-8e)
−→
−→
erhalten, wobei γ > 1 der Expansionskoeffizient ist. (Es ist xg xRE = γ xgxR.) Wird xR
entsprechend obiger Gleichung 5.13-8d ersetzt, so ergibt sich
xRE := γ((1 + α)xg − αxh) + (1 − γ)xg = (1 + αγ)xg − αγxh
(5.13-8f)
Sollte nun f (xRE ) < f (xl) sein, so wird xh durch xRE ersetzt. Sollte dagegen f (xRE ) >
f (xl) sein, so hat die expansion zu keiner Verbesserung geführt, und es wird xh durch xR,
den ursprünglichen Spiegelpunkt, ersetzt.
Es verbleibt nun noch der Fall zu betrachten, daß der Spiegelpunkt xR keine Verbesserung
bringt, also f (xR) > f (xh′ ). (An dieser Stelle kommt der Punkt xh′ mit dem zweithöchsten
Funktionswert ins Spiel, denn es ist keine Verbesserung, wenn der Punkt xh mit dem höchsten
Funktionswert durch den Punkt xR ersetzt wird, dem nach der Ersetzung dann seinerseits
der höchste Funktionswert zukommt.) Nelder und Mead unterscheiden an dieser Stelle
nun, welcher von den beiden Punkten xR und xh den kleineren Funktionswert hat. Dieser
wird dann gestaucht (mit xg als Zentrum). Zur besseren Unterscheidung dieser beiden Fälle
definiere ich diese contraction jeweils getrennt.
xC := (1 − β)xg + βxh
(5.13-8g)
und
xRC := (1 − β)xg + βxR
211
5 Stochastische kontextfreie Grammatiken
(5.13-8h)
−→
−→
Der Kontraktionskoeffizient β ist positiv und kleiner 1, 0 < β < 1. (Es ist xgxC = β xgxh
−→
−→
bzw. xg xRC = β xg xR.) Im zweiten Fall kann xR wiederum ersetzt werden, wobei sich
xRC := (1 − β)xg + β((1 + α)xg − αxh) = (1 + αβ)xg − αβxh
(5.13-8i)
Sollte f (xh) < f (xR) sein, so tritt xC an Stelle von xh, jedoch nur, falls auch f (xC ) ≤
f (xh). Sollte dagegen Sollte f (xR) < f (xh) sein, so tritt xRC an Stelle von xh, jedoch nur,
falls auch f (xRC ) ≤ f (xR) ist.
Als letzte Möglichkeit ist noch der Fall zu betrachten, daß der kontrahierte Punkt xC bzw.
xRC keine Verbesserung gegenüber xh bzw. xR bringt. In diesem Falle wird eine Schrumpfung (shrinkage) durchgeführt, das ganze Simplex wird mit dem Punkt xl als Zentrum
gestaucht. Es ist xi,S der geschrumpfte Punkt xi (1 ≤ i ≤ m) mit
xi,S := (1 − δ)xl + δxi
(5.13-8j)
Der Stauchungsfaktor δ, 0 < δ < 1 wurde von Parkinson und Hutchinson (1972b)
−→
eingeführt; Nelder und Mead (1964/65) verwenden die Konstante δ = 12 . (Es ist xlxj,S =
−→
δ xlxi.)
Aus dem von Nelder und Mead (1964/65) gegebenen Flußdiagramm (der Text ist leider
nicht ganz eindeutig in bezug auf die Fälle, wo einem Vergleich die beiden Größen sich nicht
unterscheiden) ergibt sich folgende Iterationsvorschrift um aus dem Simplex St den folgenden
St+1 zu erhalten.
St+1 =







































St \ {xh} ∪ {xR}
wenn
oder
wenn
wenn
wenn
f (xR) < f (xl)
f (xR) 6< f (xl)
f (xR) < f (xl)
f (xh) < f (xR)
f (xh′ ) < f (xR)
und
und
St \ {xh} ∪ {xRE }
und
St \ {xh} ∪ {xC }
und
und
St \ {xh} ∪ {xRE }
und
{xi,S | xi ∈ St }
wenn f (xh) < f (xR) und
{xi,S | xi ∈ S \ {xh , xR }} wenn f (xh′ ) < f (xR) und
und
f (xRE ) 6< f (xl)
f (xh′ ) 6< f (xR)
f (xRE ) < f (xl)
f (xh) 6< f (xC )
f (xh) 6< f (xR)
f (xh) 6< f (xRC )
f (xh) < f (xC )
f (xh) 6< f (xR)
f (xh) < f (xRC )
Abweichend von diesem Algorithmus geben Caceci und Cacheris folgende Version; gemäß
dem von ihnen gegebenen Flußdiagramm ist:
St+1 =
212

















St \ {xh} ∪ {xR}
wenn
oder
St \ {xh} ∪ {xRE } wenn
St \ {xh} ∪ {xC } wenn
{xi,S | 1 ≤ i ≤ m} wenn
f (xl) < f (xR) ≤ f (xh)
f (xR ≤ f (xl) < f (xRE )
f (xR) ≤ f (xl) ∧ f (xRE ) ≤ f (xl)
f (xC ) ≤ f (xh) < f (xR)
f (xh) < f (xR) ∧ f (xh) < f (xC )
5.13 Optimierung von q(u|S)
Diese beiden Varianten unterscheiden sich darin, wie der Fall behandelt wird, daß xR einen
kleineren Funktionswert als xh liefert, der aber im neuen“ Simplex immer noch den größten
”
Wert darstellen würde (also f (xh′ ) < f (xR) ≤ f (xh)). In der ersten Variante, wird derjenige von den beiden Punkten mit dem kleineren Funktionswert ausgewählt. In der zweiten
Variante wird in diesem Fall jedoch einfach der Punkt xh genommen. Dies stellt sicherlich
keine wesentliche Einschränkung dar, da dieser Punkt bei der Kontraktion ja durchaus zu
einem Punkt mit kleinerem Funktionswert führen kann, als dies bei einer Kontraktion mit
dem Punkt xR der Fall wäre. Auch scheint es mit zunehmender Anzahl von Variablen und
damit Punkten umso unwahrscheinlicher zu sein, daß gerade dieser Fall eintritt. (Je mehr
Punkte es gibt, desto feiner wird das Intervall zwischen f (xl) und f (xh) partitioniert, so daß
anzunehmen ist, daß die Wahrscheinlichkeit dafür, daß f (xR) zwischen f (xh′ ) und f (xh)
zu liegen kommt, geringer wird — sofern keine besonderen Annahmen über die Form“ der
”
Funktion f und die Verteilung der Funktionswerte der einzelnen Punkte gemacht werden.)
Der Aufwand für die zusätzlichen Vergleiche scheint daher nicht gerechtfertigt zu sein. Aus
diesem Grund wird hier die zweite Variante verwendet. Diese ist jedoch noch zu korrigieren:
Sollte nämlich f (xR) = f (xh) sein, so wird xh durch xR ersetzt. Sollte es keine anderen
Punkte geben, deren Funktionswert f (xR) ist, so wird im folgenden Schritt der Punkt xR
ausgewählt und zurück gespiegelt“ und als neuer“ Spiegelpunkt der ursprüngliche Punkt
”
”
xh erhalten. Auf diese Weise ist es möglich, daß das Simplex hin- und hergespiegelt wird,
ohne daß ein Fortschritt erzielt wird. Um dies zu vermeiden, wird gefordert, daß f (xR) echt
kleiner als f (xh) ist, womit sich folgende Iterationsvorschrift ergibt:
St+1 =

















St \ {xh} ∪ {xR}
wenn
oder
St \ {xh} ∪ {xRE } wenn
St \ {xh} ∪ {xC } wenn
{xi,S | 1 ≤ i ≤ m} wenn
f (xl) < f (xR) < f (xh)
f (xR ≤ f (xl) < f (xRE )
f (xR) ≤ f (xl) ∧ f (xRE ) ≤ f (xl)
f (xC ) ≤ f (xh) ≤ f (xR)
f (xh) ≤ f (xR) ∧ f (xh) < f (xC )
(5.13-8k)
Es ist noch zu zeigen, daß St+1 ebenfalls Simplex ist.
Satz: Ist St Simplex, so ist die mit der Vorschrift 5.13-8k erhaltene Menge St+1 ebenfalls ein
Simplex.
(5.13-9)
Beweis: Es sind zwei Fälle zu unterscheiden.
1. St+1 geht entweder aus St dadurch hervor, daß ein Punkt xh durch eine Linearkombination x′h ∈ {xR, xRE , xC , xRC } von diesem Punkt xh mit den übrigen ersetzt wird. Es wird
gezeigt, daß die Summe der Koeffizienten µk dieser Linearkombination gleich 1 ist, wobei der
xh entsprechende Faktor µh von 0 verschieden ist.
Wie an 5.13-8d bis 5.13-8j ersichtlich ist, stellt x′h eine Linearkombination der Form x′h =
µg xg + µh xh dar, wobei µg + µh = 1 und µh 6= 0. Wird xg gemäß 5.13-8c ersetzt, ergibt
P
1
1
′
sich x′h = µg m1 (−xh + m
i=0 xi) + µh xh. Nach Ausmultiplizieren ist xh = m µg x0 + m µg x1 +
1
1
1
. . . m µg xh−1 + µh xh + m µg xh+1 . . . m µg xm. Offensichtlich ist die Summe der Koeffizienten
gleich m · m1 µg + µh = 1. Die Behauptung folgt nun mit Satz 5.13-6.
2. Oder St+1 geht aus St durch durch Ersetzen aller Punkte xi ∈ St durch xi,S := (1 −
δ)xl + δxi (gemäß 5.13-8j) hervor. (Was den folgenden Beweis anbelangt, kann xl ein be213
5 Stochastische kontextfreie Grammatiken
liebiger Punkt von IRm (und muß nicht ein Punkt von St ) sein. Es ist zu zeigen, daß die
Punkte xi,S affin unabhängig sind, also aus λ0 x0,S + λ1 X1,S + . . . λm xm,S = 0 (A) und
λ0 + λ1 + . . . λm = 0 (B) folgt, daß λ0 = λ1 = . . . λm = 0.
Durch Ersetzen von x0,S , x1,S , . . . xm,S in Gleichung A ergibt sich
λ0 ((1 − δ)xl + x0 ) + λ1 ((1 − δ)xl + x1 ) + . . . λm ((1 − δ)xl + xm)
(λ0 + λ1 + . . . λm )(1 − δ)xl + λ0 δx0 + λ1 δx1 + . . . λm δxm = 0
Der erste Summand ist wegen Gleichung B gleich 0. Es verbleibt (nach Division durch δ 6= 0)
λ0 x 0 + λ1 x 1 + . . . λm x m = 0
woraus mit der affinen Unabhängigkeit von x0 , x1 , . . . xm dann λ0 = λ1 = . . . λm = 0
folgt, was zu zeigen war.
Also sind x0,S , x1,S , . . . xm,S ebenfalls affin unabhängig und St+1 ist Simplex.
Zur Vorbereitung der Identifikation der Koordinaten der Punkte xi, 0 ≤ i ≤ m mit Wahrscheinlichkeiten der Regeln aus P wird folgende Partition sk auf den Indizes i, 1 ≤ j ≤ d,
(hier d := |P |) der Koordinaten eingeführt. (Die Koordinaten, die einen Index größer als
sk−1 aber nicht größer als sk haben, sollen den Wahrscheinlichkeiten der Regeln entsprechen,
auf deren linker Seite das Nichtterminalsymbol Ak ∈ N steht. Hierbei ist nAk die Anzahl
dieser Regeln.)
Definition: Für alle k, 1 ≤ k ≤ |N| sei
s0 := 0
Pk
sk :=
l=1 nAl
(5.13-10)
Anmerkung: Wie leicht ersichtlich ist, ist sk −sk−1 = nAk . Weiterhin ist, da es |P | Regeln (und
P|N |
P
|P | Koordinaten) gibt, |P | = s|N | =: d. Außerdem ist s|N | = l=1 nAl , da |P | = Al ∈N nAl .
Bei der Iteration gemäß 5.13-8k bleiben gewisse Randbedingungen bezüglich der Koordinaten der Punkte des Simplex St bzw. St+1 erhalten; mit anderen Worten heißt das, daß die
Simplizia St und St+1 in gleichen Unterräumen liegen. Dies ist der Gegenstand des folgenden
Satzes.
Satz: Seien xi ∈ St , 0 ≤ i ≤ m, die Punkte eines Simplex St ⊆ IRd , m ≤ d mit xi =
P
(xi,1 , xi,2 , . . . xi,d ). Weiterhin mögen für alle Punkte die r Gleichungen dj=1 νrj xi,j = Kr (∗)
gelten, wobei νr,1 , νr,2 , . . . νr,d ∈ IR und Kr ∈ IR Konstanten sind (die Gleichungen ∗ definieren
also Hyperebenen in IRd , auf denen alle Punkte liegen). Dann gilt auch für alle Punkte des
Simplex St+1 , das gemäß 5.13-8k erhalten wird,
d
X
νrj x′ij = Kr
j=1
(5.13-11)
Hierbei sei x′i ∈ St+1 mit mit x′i = (x′i,1 , x′i,2 , . . . x′i,d ).
P
P
m
Beweis: Sei x′ = m
i=0 µi xi eine Linearkombination der Punkte x0 bis xm, wobei
i=0 µi = 1.
(Dieser Bedingung genügen auch die Linearkombinationen die in 5.13-8a–j definiert sind.)
214
5.13 Optimierung von q(u|S)
P
Betrachtet werde nun dj=1 νrj x′j für ein bestimmtes, aber beliebiges r, wobei x′j die j-te
Koordinate von x′ ist. Es ist
d
X
νrj x′j =
d
X
νrj
µi xij =
d X
m
X
νrj µixij
j=1 i=0
i=0
j=1
j=1
m
X
Da nur über endlich viele Summanden summiert wird, können die Summationen vertauscht
werden. Es ist
d X
m
X
νrj µixij =
m X
d
X
νrj µi xij
i=0 j=1
j=1 i=0
Da die innere Summation nur von j abhängt, kann µi ausgeklammert werden. Es ist
m X
d
X
νrj µi xij =
m
X
µi
i=0
i=0 j=1
d
X
νrj xij
j=1
Gemäß der Voraussetzung des Satzes ist die innere Summe gleich der Konstanten Kr , die
ihrerseits ebenfalls ausgeklammert werden kann.
m
X
i=0
µi
X
νrj xij =
j=1
m
X
µKr = Kr
i=0
m
X
µi
i=0
Und der eingangs des Beweises gemachten Voraussetzung ist die verbleibende Summe gleich
1. Damit ist
d
X
νrj x′j = Kr
j=1
Da r beliebig, gilt dies für jede der Gleichungen ∗. Ebenso wurden keine bestimmten Voraussetzungen an den Punkt x′ gemacht, damit ist die Behauptung also für alle Punkte des
Simplex St+1 gezeigt.
Erstes Korollar: Ist für alle Punkte xi eine Koordinate (deren Index sei j0 ) gleich 0 oder
1, also xi,j0 = 0 bzw. xi,j0 = 1, so ist diese Koordinate auch für alle Punkte der weiteren
Simpizia gleich 0 bzw. 1. Das heißt, eine Koordinate, die zu Beginn gleich 0 bzw. 1 ist,
wird diesen Wert beibehalten. Auf diese Weise können die Wahrscheinlichkeiten für Regeln,
die nicht benötigt werden, bzw. für Regeln, die bezüglich des auf ihrer linken Seite stehenden Nichtterminalsymbols einzigartig sind, berücksichtigt werden, ohne daß die Grammatik
hierfür bereinigt“ (vgl. oben) werden müßte.
”
Für den Beweis wird einfach die Bedingung r mit νrj = 0 für j 6= j0 , νrj = 1 für j = j0 und
Kr = 0 bzw. Kr = 1 betrachtet.
Zweites Korollar: Seien xsk−1 +1 , xsk−1 +2 . . . xsk die Koordinaten, die den Wahrscheinlichkeiten der Regeln pAk ,1 , pAk ,2 , . . . pAk ,nAk , d.h. den Regeln, auf deren linker Seite das NichtP k
xj = 1. Ist diese Bedingung zu
terminalsymbol Ak steht, entsprechen. Dann ist sj=s
k−1 +1
Beginn für alle Punkte des ursprünglichen Simplex erfüllt, so ist ist sie auch für alle weiteren
Simplices erfüllt.
Für den Beweis wird wiederum die r-te Bedingung mit νrj = 0 für 0 ≤ j ≤ sk−1 ∨ sk < j <
s|N | , νrj = 1 für sk−1 < j ≤ sk und Kr = 1 betrachtet.
Mit Satz 5.13-11 ergibt sich also, daß die Randbedingungen, die sich daraus ergeben, daß
es sich bei den Variablen der zu optimierenden Funktion um Wahrscheinlichkeiten handelt,
215
5 Stochastische kontextfreie Grammatiken
durch das Simplex-Verfahren leicht zu erfüllen sind. Zu berücksichtigen ist jedoch auch noch,
daß die Werte dieser Variablen nicht negativ oder größer als 1 werden dürfen. Dies kann
dadurch erreicht werden, daß die Funktion f (vgl. Definition 5.13-8a) außerhalb des Gebiets
[0, 1]d entsprechend modifiziert wird zu f : IRn→IR ∪ {∞},
x 7→
(
f (x) wenn x ∈ [0, 1]d
∞ wenn x 6∈ [0, 1]d
(5.13-12)
Hierbei habe ∞ 6∈ IR die Eigenschaft, daß ∀x ∈ IR : x < ∞. (Im Falle nach oben beschränkter
Funktion kann an die Stelle von ∞ einfach eine Zahl größer als das das Supremum von f
treten.) Das Simplex-Verfahren erhält jedoch nur die Randbedingungen, führt jedoch nicht
automatisch zu ihnen. Es wird daher ein geeignetes Startsimplex S0 bzw. ein für den Neustart
des Verfahrens geeignetes Simplex benötigt. Dieses Startsimplex wird (unter Ausnutzung von
Satz 15.13-4) ausgehend von einem Punkt x0 erhalten, indem verschiedene linear unabhängige Vektoren zu diesem dazu addiert werden. Diese linear unabhängigen Vektoren sind derart
zu wählen, daß für die neuen Punkte die geforderten Randbedingungen ebenfalls gelten. Das
Startsimplex wird im folgenden angegeben.
Sei x0 = (x0,1 , x0,2 . . . x0,d ) ein Punkt, der den Bedingungen
0 ≤ x0,j ≤ 1
(5.13-13a)
für alle j, 1 ≤ j ≤ d und
sk
X
x0,j = 1
j=sk−1 +1
(5.13-13b)
für alle k, 1 ≤ k ≤ |N| genügt (vgl. Definition 5.13-12 und die Anmerkung zu dieser).
216
5.13 Optimierung von q(u|S)
Für jedes k sei weiterhin jk ein Index derart, daß
x0,jk ≥ x0,j
(5.13-14)
für alle j, sk−1 < j ≤ sk .
Wegen 5.13-14b ist sicherlich x0,jk ≥ nA1 und x0,j ≤ nA1 für sk−1 < j < jk ∨ jk < j ≤ sk .
k
k
Es kann also die Koordinate x0,jk (mit dem größten Wert) um ζk mit
0 < ζk <
1
nAk
(5.13-15)
verringert, und die übrigen (dem Nichtterminalsymbol Ak entsprechenden) Variablen können
jeweils um ζk vergrößert werden, ohne daß Bedingung 5.13-13a verletzt würde.
Damit können zu x0 folgende linear unabhängigen Vektoren addiert werden:
1
2 ...
j1 −1 j1
j1 +1...
s1 s1 +1 s1 +2...
j2 −1 j2
j2 +1...
s|N|
y1
y2
= (ζ1 , 0, . . . 0, −ζ1 , 0, . . . 0, 0, 0, . . . 0,
= (0, ζ1 ,. . . 0, −ζ1 , 0, . . . 0, 0, 0, . . . 0,
..
.
0, 0, . . . 0)
0, 0, . . . 0)
yj1 −1
yj1
=
=
..
.
(0, 0, . . . ζ1 , −ζ1 , 0, . . . 0, 0, 0, . . . 0,
(0, 0, . . . 0, −ζ1 , ζ1 , . . . 0, 0, 0, . . . 0,
0, 0, . . . 0)
0, 0, . . . 0)
ys1 −1
ys1
ys1 +1
=
=
=
..
.
(0, 0, . . . 0, −ζ1 , 0, . . . ζ1 , 0, 0, . . . 0, 0, 0, . . . 0)
(0, 0, . . . 0, 0, 0, . . . 0, ζ2 , 0, . . . 0, −ζ2 , 0, . . . 0)
(0, 0, . . . 0, 0, 0, . . . 0, 0, ζ2 , . . . 0, −ζ2 , 0, . . . 0)
yj2 −2
yj2 −1
=
=
..
.
(0, 0, . . . 0,
(0, 0, . . . 0,
0, 0, . . . 0, 0, 0, . . . ζ2 , −ζ2 , 0, . . . 0)
0, 0, . . . 0, 0, 0, . . . 0, −ζ2 , ζ2 , . . . 0)
ys|N | −|N| =
(0, 0, . . . 0,
0, 0, . . . 0, 0, 0, . . . 0,
0, 0, . . . ζ|N | )
(5.13-16a)
Die oberste Zeile bezeichnet den Index der Koordiante an der jeweiligen Spaltenposition.
Die j-te Koordinate (1 ≤ j ≤ s|N | ) des Vektors yi (1 ≤ i ≤ s|N | − |N|) ist (mit 1 ≤ k ≤ |N|)
also:





ζk wenn sk−1 − (k − 1) < i < jk − (k − 1) und j = i + (k − 1)
oder jk − (k − 1) ≤ i ≤
sk − k
und j = i + k
yij =

−ζ
wenn
s
−
(k
−
1)
<
i
≤
s
−
k
und j = jk

k
k−1
k


0 sonst
(5.13-16b)
217
5 Stochastische kontextfreie Grammatiken
Anmerkung: Die drei Bedingungen der beiden ersten Zweige der Definition überschneiden
sich nicht. Mit j = i + (k − 1) ist i = j − (k − 1) und da i; jk − (k − 1) folgt j − (k − 1) <
jk − (k − 1) ⇐⇒ j < jk . Mit j = i + k ist i = j − k und da jk − (k − 1) ≤ i folgt
jk − (k − 1) ≤ j − k ⇐⇒ jk + 1 ≤ j ⇐⇒ jk < j. Der dritte Fall ist j = jk .
Man beachte, daß es zwar zu den nAk Regeln, die auf ihrer linken Seite das Nichtterminalsymbol Ak ∈ N aufweisen, entsprechend nAk Koordinaten gibt, aber jeweils nur (nAk − 1)mal ζk addiert wird. Es gibt also nicht |P | (|P | ist die Anzahl aller Regeln), sondern nur
m := |P | − |N| Vektoren yi (|N| ist die Anzahl der Nichtterminalsymbole). Dies ist bei der
Indizierung dieser Vektoren berücksichtigt.
Satz: Für den Differenzvektor yi, 1 ≤ i ≤ s|N | − |N|, gilt
s|N|
X
yij = 0
j=1
(5.13-17)
Beweis: s0 , s1 , . . . s|N | stellt eine Partition auf den Indizes 1, 2, . . . n der Koordinaten
dar. Da sk − sk−1 > 0 (vgl. Anmerkung zu Definition 5.13-10) ist s0 < s1 < . . . s|N | und
somit s0 ≤ s1 − 1 ≤ s2 − 2 ≤ . . . s|N | − |N|. Damit gibt es zu jedem i, 1 ≤ i ≤ s|N | − |N|,
genau ein k, 1 ≤ k ≤ |N|, so daß sk−1 − (k − 1) < i ≤ sk − k. Mit diesem k liegt auch jk ,
sk−1 < jk ≤ sk , fest. Es werden nun bzgl. i zwei Fälle unterschieden.
1. i < jk − (k − 1). Dann kann beim ersten Zweig der Definition 5.13-16b nur die obere
Bedingung zutreffen. Dies ist für genau ein j der Fall, nämlich j := i + (k − 1). Es verbleibt
noch zu zeigen, daß dieses j in obiger Summe tatsächlich als Index auftritt, also 1 ≤ j ≤ s|N |
ist. Mit j = i + (k − 1) ist i = j − (k − 1), womit in der Ungleichungskette i ersetzt werden
kann und sk−1 − (k − 1) < j − (k − 1) < jk − (k − 1) erhalten wird. Dies ist äquivalent zu
sk−1 < j < jk . Da 0 < sk ≤ s|N | ist tatsächlich 1 ≤ j < s|N | . Der zweite Zweig der Definition
trifft ebenfalls für genau ein j, nämlich j := jk , zu. Für alle übrigen j verbleibt der dritte
Zweig mit yij = 0. Damit ist obige Summe:
s|N|
X
yij =
j=1
X
yij +
j=i+k−1
X
yij = ζk + (−ζk ) = 0
j=jk
Hierbei ist k so zu wählen, daß sk−1 − (k − 1) < i ≤ sk − k.
2. i ≥ jk − (k − 1). Die Argumentation verläuft analog zu 1; nur daß hier j := i + k sein muß.
Dementsprechend i in der Ungleichungskette ersetzt ergibt jk − (k − 1) ≤ j − k ≤ sk − k.
Nach Addition von k ist jk + 1 ≤ j ≤ sk , also jk < j ≤ sk . Damit tritt auch hier j in obiger
Summe als Index auf; diese ist
s|N|
X
j=1
yij =
X
j=jk
yij +
X
yij = (−ζk ) + ζk = 0
j=i+k
Mit den beiden Fällen ist die Behauptung gezeigt.
218
5.13 Optimierung von q(u|S)
Satz: Die Vektoren y1 , y2 , . . . ys|N | −|N| sind linear unabhängig.
5.13-18
Ps
−|N |
|N|
Beweis: Sei y ′ := i=1
λi yi Linearkombination. Es wird gezeigt, daß aus y ′ = 0 folgt,
daß λi = 0 für alle i, 1 ≤ i ≤ s|N | − |N|, ist.
Sei λi∗ 6= 0, 1 ≤ i∗ ≤ s|N | − |N|. Es wird gezeigt, daß es ein k ∗ und j ∗ gibt, so daß die (j ∗ -te)
Komponente (von y ′) yj′ ∗ = λ′i∗ ζk∗ ist, im Widerspruch zu der Voraussetzung, daß y ′ = 0.
Entsprechend der Argumentation bei dem Beweis zu Satz 5.13-17 gibt es zu i∗ genau ein k ∗ ,
1 ≤ k ∗ ≤ |N|, so daß sk∗ −1 − (k ∗ − 1) < i∗ ≤ sk∗ − k ∗ . Mit k ∗ ist dann auch jk∗ festgelegt.
Für dieses ist sk∗ −1 < jk∗ ≤ sk∗ . Dies ist äquivalent zu sk∗ −1 − k ∗ < jk∗ − k ∗ ≤ sk∗ − k ∗ ⇐⇒
sk∗ −1 − (k ∗ − 1) ≤ jk∗ − k ∗ ≤ sk∗ − k ∗ .
Bezüglich i∗ werden zwei Fälle unterschieden:
1. sk∗ −1 − (k ∗ − 1) < i∗ < jk∗ − (k ∗ − 1). Dann gibt es genau ein j ∗ , so daß j ∗ = i∗ + (k ∗ − 1).
i∗ durch j ∗ − (k ∗ − 1) in der Ungleichungskette ersetzt, ergibt sk∗ −1 < j ∗ < jk∗ . Damit ist
einerseits j ∗ 6= jk∗ und andererseits gilt 1 ≤ j ∗ ≤ s|N | (die Argumentation verläuft auch hier
wie bei dem Beweis zu Satz 5.13-17).
2. jk∗ − (k ∗ − 1) ≤ i∗ ≤ sk∗ − k ∗ . Dann gibt es genau ein j ∗ , so daß j ∗ = i∗ + k ∗ In der
Ungleichungskette i∗ durch j ∗ − k ∗ ersetzt, ergibt jk∗ + 1 ≤ j ∗ ≤ sk∗ . Auch hier ist wiederum
j ∗ 6= jk∗ , sowie die Existenz von j ∗ mit 1 ≤ j ∗ ≤ s|N | gewährleistet.
In beiden Fällen ist j ∗ 6= jk∗ und damit kann (unabhängig von der Wahl für i) nie der zweite
Zweig der Definition 5.13-16b zutreffen.
Es verbleibt noch zu zeigen, daß i∗ tatsächlich das einzige i, 1 ≤ i ≤ s|N | − |N|, ist, das die
Bedingung des ersten Zweiges der Definiton 5.13-16b erfüllt. Sei i 6= i∗ ein solches i. Dann ist
entweder die obere Teilbedingung sk∗ −1 − (k ∗ − 1) < i ≤ jk∗ − (k ∗ − 1) und j ∗ = i + (k ∗ − 1)
oder die untere Teilbedingung jk∗ − (k ∗ − 1) ≤ i ≤ sk∗ − 1 und j ∗ = i + k ∗ erfüllt. Für i∗ kann
nicht die gleiche Teilbedingung wie für i gelten, da dann j ∗ = i∗ + (k ∗ − 1) = i + (k ∗ − 1) bzw.
j ∗ = i∗ +k ∗ = i+k ∗ , also i∗ = i, im Widerspruch dazu, daß i von i∗ verschieden sein soll. Also
müssen für i∗ und i unterschiedliche Teilbedingungen gelten. Gelte ohne Beschränkung der
Allgemeinheit für i∗ die obere und für i die untere Teilbedingung. Dann ist i∗ < jk∗ −(k ∗ −1) ≤
i, also i∗ < i. Aber es ist auch i∗ = j ∗ − k ∗ + 1 und i = j ∗ − k ∗ , also i < i∗ , was ebenfalls
einen Widerspruch darstellt. Damit kommt für alle i 6= i∗ (bei dem gewählten j ∗ ) nur noch
der dritte Zweig der Definition 5.13-16b in Frage.
Es ist somit
s|N| −|N |
yj ∗ =
X
i=1
λi yij ∗ =
X
λi yij ∗ = λi∗ ζk∗
i=i∗
woraus, da ζk∗ 6= 0, folgt, daß yj′ ∗ 6= 0. Die Annahme, daß λi∗ 6= 0 führt also zu einem
Widerspruch. Da i∗ beliebig, muß λi = 0 für alle i, 1 ≤ i ≤ s|N | − |N|, sein.
Mit Addition der Vektoren y1 , y2 , . . . ys|N | −|N| der Definition 5.13-16a zu x0 werden die
Vektoren x1 := x0 + y1 , y2 := x0 + y2 , . . . xm := xs|N | −|N| := x0 + ys|N | −|N| erhalten.
Wenn x0 die Bedingung 5.13-13a erfüllt und ζ1 , ζ2 , . . . ζ|N | die Bedingung 5.13-15 erfüllen,
dann erfüllen x1 , x2 , . . . xm ebenfalls die Bedingung 5.13-13a.
Da die Koordinatensummen der Vektoren y1 , y2 , . . . ys|N | −|N| stets gleich 0 sind, erfüllen
x1 , x2 , . . . xs|N | −|N| die Bedingung 5.13-13b, wenn x0 diese Bedingung erfüllt.
Da die Vektoren y1 , y2 , . . . ys|N | −|N| in 5.13-14b linear unabhängig sind, sind mit Satz
219
5 Stochastische kontextfreie Grammatiken
5.13-4 die Punkte x0 , x1 , x2 , . . . xs|N | −|N| affin unabhängig und stellen damit ein Simplex
dar.
Anmerkung: Aufgrund der Randbedingungen 5.13-13b ist der für das Simplex zur Verfügung
”
stehende“ Unterraum für jedes Nichtterminalsymbol um jeweils eine Dimension geringer als
IRd . Das Simplex umfaßt also nicht m + 1, sondern nur |P | − |N| + 1 Punkte.
Satz: Das Simplex x0 , x1 , x2 , . . . xm hat die unter den Randbedingungen 5.13-13 maximale
mögliche Ordnung.
(5.13-19)
Beweis: Sei x′ := (x′1 , x′2 , . . . x′d ) (wobei d = s|N | ) ein weiterer, beliebiger Punkt, der 5.13-13b
genügt. Dann ist y ′ := x′ − x0 = (x′1 − x0,1 , x′2 − x0,2 , . . . x′d − x0,d ). Mit 5.13-13b ergibt sich
dann für
sk
X
yj =
j=sk−1 +1
sk
X
(x′j − x0,j )
j=sk−1 +1
sk
X
x′j
j=sk−1 +1
sk
X
j=sk−1 +1
x0,j = 1 − 1 = 0
(A)
Es wird gezeigt, daß y ′ als Linearkombination von y1 , y2 , . . . ys|N | −|N| dargestellt werden
kann
s|N| −|N |
′
y =
X
i=1
mit
λi :=
(
′
yi+k−1
/ζk
′
yi+k /ζk
wenn
wenn
λi · y i
sk−1 − (k − 1) < i < jk − (k − 1)
jk − (k − 1) ≤ i ≤
sk − k
(B)
Im folgenden werde die j-te Komponente, 1 ≤ j ≤ s|N | , der Linearkombination betrachtet.
Mit der in 5.13-10 auf den Indizes 1 . . . d definierten Partition s0 < s1 < s2 < . . . s|N | , s0 :=
0, s|N | = d ist s0 − 0 ≤ s1 − 1 ≤ s2 − 2 ≤ . . . s|N |−|N | . Damit gibt es zu jedem j, 1 ≤ j ≤ s|N |
genau ein k, 1 ≤ k ≤ |N|, so daß sk−1 < j ≤ sk (bzw. sk−1 −(k −1) < j −(k −1) < j −(k −1)
oder sk−1 −k < j−k < j−k). Weiterhin existiert jk mit sk−1 < jk ≤ sk (siehe Definition 5.1314). Bezüglich j werden nun drei (sich jeweils gegenseitig ausschließende) Fälle unterschieden:
a) sk−1 < j < jk , b) j = jk und c) jk < j ≤ sk .
a) Mit sk−1 < j < jk ist sk−1 − (k − 1) < j − (k − 1) < j − (k − 1) und damit ist
s0 < j( k − 1) < s|N | − |N|. Damit gibt es genau ein i∗ := j − (k − 1), 1 ≤ i∗ ≤ s|N | − |N|,
so daß sk−1 < i∗ < jk − (k − 1). Nur für dieses i∗ trifft (mit dem betrachteten j) die erste
Bedingung des ersten Zweigs der Definiton 5.13-16b zu, während für alle anderen i 6= i∗ nur
der dritte Zweig in Frage kommt. Es ist also die j-te Komponente von y ′:
s|N| −|N |
yj′
=
X
i=1
λi yij =
X
i6=i∗
λi yij +
X
i=i∗
λi yij = 0 + (yi′∗ +k−1/ζk ) · ζk = yi′∗ +k−1 = yj′
wobei für die letzte Gleichheit obige Definition i∗ := j − (k − 1) eingeht.
b) Es ist j = jk . Für alle i, sk−1 − (k − 1) < i ≤ sk − k trifft nun die Bedingung des zweiten
220
5.13 Optimierung von q(u|S)
Zweiges von 5.13-16b zu, während für alle übrigen i der dritte Zweig gilt. Damit ist
s|N| −|N |
yj′ =
X
sk−1 −(k−1)
X
λi yij =
i=1
i=1
s|N| −|N |
sX
k −k
λi yij +
= 0 +
λi yij
i=sk −k+1
i=sk−1 −(k−1)+1
sX
k −k
X
λi yij +
λi yij + 0
sk−1 −(k−1)+1
jk −(k−1)−1
sX
k −k
=
X
λi (−ζk ) =
i=sk−1 −(k−1)+1
λi (−ζk ) +
i=sk−1 −(k−1)+1
sX
k −k
λi (−ζk )
i=jk −(k−1)
und mit obiger Definition von λi :
jk −(k−1)−1
=
X
′
(yi+k−1
/ζk )(−ζk )
+
i=sk−1 −(k−1)+1
′
(yi+k
/ζk )(−ζk )
sX
k −k
′
(−yi+k
)
i=jk −(k−1)
jk −(k−1)−1
X
=
sX
k −k
′
(−yi+k−1
) +
i=sk−1 −(k−1)+1
i=jk −(k−1)
und nach Indextransformation (ersetze i durch j − (k − 1) bzw. j − k):
=
jX
k −1
(−yj′ ) +
j=sk−1 +1
sk
X
′
(−yj′ ) = yjk
j=jk +1)
wobei sich die letzte Gleichheit mit Gleichung 1 ergibt.
c) Mit jk < j ≤ sk ist jk − k < jk ≤ sk − k ⇐⇒ jk − (k − 1) ≤ j − k ≤ sk − k. Damit gibt
es, wie im Fall a, genau ein i∗ := j − k, so daß die zweite Bedingung des ersten Zweiges von
5.13-16b erfüllt ist. Für alle übrigen i 6= i∗ , 1 ≤ i ≤ s|N | − |N| kommt (bei dem gegebenem
j) nur der dritte Zweig dieser Definition in Frage. Damit ist die j-te Komponente von y ′
s|N| −|N |
yj′ =
X
i=1
λi yij =
X
i6=i∗
λi yij +
X
i=i∗
λi yij = 0 + (yi′∗ +k−1 /ζk ) · ζk = yi′∗ +k−1 = yj′
Ps
−|N |
|N|
In allen drei Fällen ist die j-te Komponente der Linearkombination i=1
λi ·yi tatsächlich
gleich der j-ten Komponente von y ′. Da mit diesen drei Fällen alle möglichen j, 1 ≤ j ≤
s|N | , abgedeckt sind, ist gezeigt, daß y ′ tatsächlich als obige Linearkombination der bereits
vorhandenen Vektoren geschrieben werden kann. Damit sind die Vektoren y1 , y2 , . . . yn,
y ′ nicht linear unabhängig und damit die Vektoren x0 + y1 , x0 + y2 , . . . x0 + yn, x0 + y ′
nicht affin unabhängig. Da y ′ beliebig, ist die Behauptung des Satzes gezeigt.
Schließlich ist auch die Frage nach geeigneten Abbruchbedingungen für das Simplex-Verfahren
zu stellen. Bei Caceci und Cacheris (1984) stellen die Variablen Parameter einer an eine
Meßwertreihe anzupassender Funktion dar. Die Genauigkeit mit der diese Parameter zu bestimmen sind ergibt sich aus der dem System zugrundeliegen Physik und es ist aufgrund der
Kenntnis über dieses System ohne weiteres möglich, für jeden Parameter eine Fehlerschranke
anzugeben. Als Abbruchkriterium geben Caceci und Cacheris damit die Unterschreitung
einer solchen vorgegebenen Fehlerschranke für jeden Parameter an. Als Maß für den vorliegenden Fehler dient die Differenz der entsprechenden Koordinaten des Punktes mit dem
221
5 Stochastische kontextfreie Grammatiken
höchsten Funktionswert und des Punktes mit dem niedrigsten Funktionswert. Es ist allerdings denkbar, daß das Verfahren hierbei vorzeitig stoppt, und zwar, wenn aufgrund häufiger
Schrumpfungsoperationen die Koordinaten kaum mehr von einander abweichen, obwohl das
Minimum noch nicht erreicht ist. Dieses Problem wurde oben bereits bei den Nachteilen des
Verfahrens erwähnt.
Nelder und Mead (1964/65) betrachten dagegen die Standardabweichung der Funktionswerte aller Punkte. (Allerdings ist es hier aus den gleichen Gründen wie zuvor auch möglich,
daß das Verfahren vorzeitig stoppt.) Ihre Rechtfertigung für diese Vorgehensweise ist statistischer Art. Ist in der Nähe eines Minimums die Krümmung der Funktion gering, so hat eine
relativ starke Änderung der Parameter nur geringen Einfluß auf den Funktionswert, wodurch
es wenig sinnvoll erscheint, die Parameter noch exakter zu bestimmen. Eine bestimmte Standardabweichung, die für den Abbruch des Verfahrens unterschritten werden muß, ist auch
hier entsprechend der Natur des vorliegenden Problems vorzugeben.
Sieht man davon ab, daß die Standardabweichung ein statistisches Maß ist, dessen Bedeutung im vorliegenden Falle jedoch unklar ist, stellt sie im Grunde nichts anderes dar, als
eine Aussage über die Stärke der Abweichung der Funktionswerte vom niedrigsten Funktionswert. Außerdem ist die Größenordnung des Minimums sehr stark von der vorhandenen
Aufgabenstellung abhängig. Daher wird hier der relative Fehler η definiert, der die (relative)
Abweichung des höchsten Funktionswert vom kleinsten angibt:
η :=
f (xh) − f (xl)
f (xl)
(5.13-20)
Hierbei sind mit xl und xh die Definition 5.13-8b entsprechenden Größen des betreffenden Simplex gemeint. Soll deutlich gemacht werden, um welches Simplex S es sich handelt,
so wird η(S) geschrieben. Die Variablen selbst gehen aus dem oben genannten Grund nicht
in die Abbruchbedingung ein. Obwohl für den vorliegenden Fall physikalische Argumente
keine Rolle spielen, erscheint es jedoch auch hier ausreichend, die Parameter nur so weit zu
variieren, wie sich die Funktionswerte noch merklich ändern.
Weiterhin wird eine Streuung“ der Variablen definiert, die angibt, in welchem Bereich sich
”
die Variablen, die den Regeln entsprechen, auf deren linker Seite ein bestimmtes Nichtterminalsymbol Ak steht, bewegen.
ǫk :=
max
sk−1 −(k−1)<i≤sk −k
|xlj − xij |
(5.13-21)
Diese Streuung wird dazu verwendet werden, um ein für einen Neustart des Verfahrens
geeignetes Simplex zu definieren. Außerdem wird sie in das Kriterium eingehen, mit dem
entschieden wird, ob das nach einem solchen Neustart erhaltene Minimum dem ursprünglichen entspricht. Auch hier wird, wenn notwendig, das betreffende Simplex angegeben und
ǫk (S) geschrieben.
222
5.13 Optimierung von q(u|S)
Mit den bisherigen Definitionen kann nun das Simplex-Verfahren komplett beschrieben werden. Das Simplex-Verfahren liefert eine Folge von Simplizia
(n )
S0 , S1 , . . . ST , S0′ , S1′ , . . . ST′ ′ , S0′′ , . . . ST (n0 0 )
(5.13-22)
Die zu minimierende Funktion f : IRn→IR, x 7→ f(x) wird ausgehend von der eingangs erwähnten Funktion q(u|S) : IR|P| → q(u|S), q := (qA1 ,1 , qA1 ,2 , . . . qA1 ,nA1 , qA2 ,1 , . . . qA|N| ,nA|N| ) 7→
q(u|S) und unter Berücksichtigung von 5.13-12 erhalten. Mit n := |P | und den Wahrscheinlichkeiten x als Variablen ist
f (q) =
(
−q(u|S) wenn q ∈ [0, 1]n
2 wenn q 6∈ [0, 1]n
Das Startsimplex S0 ergibt sich aus Definition 5.13-16a, wobei x0 := ( nA1 , . . . nA1 , nA1 , . . . nA1 )
1
1
2
|N|
(die j-te Koordinate von x0 ist also x0,j = 1/nAk für sk−1 < j ≤ sk , wobei 1 ≤ k ≤ |N|) und
ζk := 1+n1 A gewählt werden.
k
(n)
(n)
Das jeweils folgende Simplex St+1 , 0 ≤ n ≤ n0 , 0 ≤ t < T (n) , wird aus St gemäß der
Vorschrift 5.13-8k erhalten. Hierbei wird α := 1, β := 21 , γ := 2 und δ := 12 gewählt.
(n)
T (n) ist der Index, für den das entsprechende Simplex ST (n) , 0 ≤ n ≤ n0 , das jeweils erste (der
(n)
entsprechenden Teilfolge) ist, das das Abruchkriterium 5.13-16 erfüllt. Es ist also η(St(n) ) 6≤
(n)
η0 für alle t(n) , 0 ≤ t(n) < T (n) und η(St(n) ) ≤ η0 für 0 = T (n) . η0 ist ein vorgegebenes
Abbruchkriterium und wird wohl in der Großenordnung 10−8 bis 10−10 zu wählen sein.
(n)
S0 , 0 < n ≤ n0 ist das Simplex, mit dem das Verfahren neu gestartet wird, um festzustel(n −1)
len, ob das durch ST (n0 0 −1) gegebene Minimum wohl tatsächlich ein solches ist oder ob das
(n)
Verfahren an dieser Stelle vorzeitig abgebrochen ist. Dieses Simplex S0 wird gemäß Definition 5.13-16a erhalten. Für x0 wird der Punkt xl (wie in 5.13-8b definiert) des Simplex
(n−1)
ST (n−1) genommen. Bei ζk geht die in 5.13-21 definierte Streuung dieses Simplex ein. Es ist
ζk := min { nA1 , 2ǫk }. Der Vorfaktor 2 ist u.U. etwas größer zu wählen. Dadurch soll sicherk
gestellt werden, daß das Simplex, mit dem das Verfahren neugestartet wird, eine hinreichend
große Umgebung des alten umfaßt und die Abbruchbedingung nicht wieder sofort erfüllt ist.
Außerdem wird sichergestellt, daß 5.13-15 erfüllt ist.
Dem Index n0 entspricht schließlich die Teilfolge, bei der kein Neustart erfolgt, sondern
(n )
endgültig abgebrochen wird. Als Kriterium hierfür dient, daß der Punkt xl 0 des Simplex
(n )
ST (n0 0 ) in der Nähe des entsprechenden Punktes des vorigen Simplex liegt. Sei x(n) l Punkt mit
(n)
kleinstem Funktionswert, also Definition 5.13-8b entsprechender Punkt des Simplex ST (n) ,
(n)
(n )
0 ≤ n ≤ n0 . Sei weiterhin ǫk die Streuung für das Simplex ST (n0 0 ) gemäß 5.13-21. Dann ist
für die jeweils j-te Koordinate
max
sk−1 <j≤sk
(n )
(n −1)
|xlj 0 − xlj 0
(n0 )
| < ǫk
(n)
wobei sk−1 bzw. sk gemäß 5.13-10 definiert sind, während für alle anderen Simplizia ST (n) ,
0 < n < n0 , gilt:
(n)
(n−1)
(n)
max |xlj − xlj | <
6 ǫk
sk−1 <j≤sk
223
5 Stochastische kontextfreie Grammatiken
5.14 Biologische Bedeutung und Anwendungsmöglichkeiten
Kontextfreie Grammatiken eignen sich besonders gut, um RNAs zu modellieren, worauf ich
mich in dieser Arbeit auch im wesentlichen beschränken werde. Denkbare Anwendungsmöglichkeiten für kontextfreie Grammatiken in Zusammenhang mit RNA sind:
Die Klassifikation von RNA. Für eine vorgebene Klasse wird eine SCFG entworfen und
optimiert. Damit kann nun unter diesem Modell für jede RNA eine Wahrscheinlichkeit
ermittelt werden. Diese ist ein Maß dafür, wie gut dieses Modell auf die betreffende
RNA paßt.
Die Vorhersage von Sekundärstrukturen für eine Klasse von RNA. Da das Modell für
die gesamte Klasse optimiert wird, dürften sich Besonderheiten und Zufälligkeiten einzelner tRNAs herausmitteln“. Anhand der Regeln mit der größten Wahrscheinlichkeit
”
könnten wichtige Elemente der RNA identifiziert werden. Dies können — je nach Art
der Regel — z.B. Einzel- oder Doppelstrangbereiche sein.
Die Vorhersage von wahrscheinlichen Sekundärstrukturen für eine bestimmte RNA.
Eventuell ist es sogar möglich, diese Sekundärstrukturen ihrerseits in verschiedene Kategorien einzuteilen.
Das Ermitteln eines multiplen Alignments. Hierbei werden jetzt nicht mehr die RNAs
positionsweise verglichen, sondern jedem Bereich einer RNA sind Regeln (der Grammatik) zugeordnet, die diesen Bereich generieren. Damit scheint es möglich zu sein,
in das Alignment auch Merkmale der Sekundärstruktur einfließen zu lassen — obwohl
diese während der Durchführung des Alignments gar nicht bekannt sind. Dies stellt
einen Vorteil gegenüber Alignmentsverfahren dar, die positionsweise vorgehen, da die
Sekundärstruktur ein äußerst wichtiges biologisch relevantes Merkmal darstellt.
Die Einbeziehung von Energiebetrachtungen kann auf zweierlei Weisen erfolgen. Aus
den Wahrscheinlichkeiten, die für bestimmte Sekundärstrukturen ermittelt wurden,
sollten sich Vorhersagen über die (relative) Energie dieser Strukturen machen lassen,
denn die wahrscheinlichereren Strukturen sind es deswegen, weil sie energetisch günstiger sind. Umgekehrt sollte es möglich sein, bekannte Energien (z.B. was die unterschiedlichen Wasserstoffbrückenbindungen betrifft) dazu heran zu ziehen, um Regeln der
modellierenden Grammatik mit angemessenen Wahrscheinlichkeiten zu attributieren.
Unter Umständen besteht sogar die Möglichkeit, aus den ermittelten Sekundärstrukturen, constraints abzuleiten, die von geeigneten geometrischen Verfahren zur Ermittlung
der Tertiärstruktur herangezogen werden können (dies ist allerdings nicht Gegenstand
dieser Arbeit).
Konkrete Beispiele sind Gegenstand des Kapitels 7.
224
6 Jenseits kontextfreier Grammatiken
Bei der Modellierung eines Makromoleküls mittels einer formalen Grammatik (s. Abschnitt
2.7) entspricht jeder Untereinheit des Moleküls ein Symbol der Grammatik, während die
das Molekül konstituierende Sequenz von Untereinheiten als Wort bzw. Satz der durch die
betreffende Grammatik beschriebene Sprache aufgefaßt wird. Tritt in der Ableitung eine
Regel auf, bei der die beiden Terminalsymbole a und b gemeinsam auf der rechten Seite auftreten, so wird dies als intramolekulare Wechselwirkung zwischen den diesen beiden
Symbolen entsprechenden Untereinheiten a und b interpretiert. Im Falle der in Kapitel 5
vorgestellten kontextfreien Grammatiken sind dies üblicherweise Regeln der Form A→aBb
oder allgemeiner A→α1 aα2 bα3 , wobei A, B ∈ N, a, b ∈ Σ und α1 , α2 , α3 ∈ (N ∪ Σ)∗ . Da diese
Grammatiken jedoch gewisse Beschränkungen bezüglich der Modellierung der Struktur biologischer Makromoleküle aufweisen, sollen in diesem Kapitel allgemeinere Grammatiken als
kontextfreie vorgestellt werden. Eine besonders für die Modellierung von RNA-Strukturen
geeignete Grammatik wird eingeführt und ein Parsing-Verfahren für diese formuliert.
6.1 Einige Strukturmerkmale biologischer Makromoleküle
Im folgenden bezeichnet a ∈ Σ einen Baustein eines biologischen Makromoleküls, während
u, v, w ∈ Σ∗ Teilsequenzen solcher Makromoleküle bezeichnen. Sollten diese Symbole nicht
ausreichen, werden diese indiziert, u1 , u2, u3 ∈ Σ∗ sind also unterschiedliche Teilsequenzen.
Durch einen Strich wird eine Teilsequenz bezeichnet, die mit der ursprünglichen in Beziehung steht; so bezeichnet u′ eine Teilsequenz, die z.B. u ähnelt oder mit u gepaart ist.
Durch den Exponenten −1 wird die inverse Sequenz bezeichnet, formal (au)−1 := u−1 a und
ǫ−1 = ǫ. Ferner wird noch der Begriff der Komplementarität benötigt. Komplementarität
stellt eine (symmetrische) Relation auf Σ dar. Zwei Bausteine a und a sind zu einander
komplementär wenn sie sich paaren können, wodurch Bindungen zwischen nicht aufeinanderfolgenden Positionen der Sequenz möglich werden. Für die Bausteine der Nukleinsäuren
ist dies in Tab. 6.1-1 dargestellt. Für Aminosäuren, den Bausteinen der Proteine, können
z.B. im Falle hydrophob-hydrophiler Wechselwirkungen alle hydrophoben Aminosäuren als
paarweise zu einander komplementär betrachtet werden (und ebenso die hydrophilen). Den
komplementären Bausteinen entsprechend gibt es auch komplementäre Sequenzen, es ist
au = au und ǫ = ǫ. Einige typische Beispiele für Strukturmerkmale biologische Sequenzen
sind folgende.
a) u1 vu2 wu3v −1 u4 w −1 u5 . Solche Sequenzmuster treten z.B. bei pseudoknots der RNA auf
(vgl. Abb. 3.4-2). Innerhalb der Sequenz stellt vu2 wu3v −1 eine Schleife dar, die beiden
gegenläufigen Teilstränge v und v −1 sind durch Wasserstoffbrückenbindung gepaart.
a
b
a
A
C
G
T
a
T
G
C
A
a
A
C
G
U
a
U
G
C
A
Tab. 6.1-1: Die komplementären Basen der a) DNA und b) RNA. (vgl. Abb. 3.2-1 und Abb. 3.4-1).
Beschränkt man sich jeweils auf diese vier Basen, so gibt es zu jeder Base genau eine komplementäre.
225
6 Kontextsensitive Grammatiken
Bei einer einfachen Schleife wäre die innerhalb befindliche Teilsequenz u2 wu3 an keiner
Paarung beteiligt. Bei einem Pseudoknoten geht diese jedoch ihrerseits (zumindestens
zum Teil) eine Paarung mit einer außerhalb der Schleife liegenden Teilsequenz ein; hier
handelt es sich um die Paarung zwischen w und w −1 .
b) u1 vu2v ′ u3 . Dies könnte eine DNA-Sequenz sein, bei dem eine eine Teilstruktur v sich
an anderer Stelle wiederholt, evtl. leicht variiert ist und deswegen hier mit v ′ bezeichnet wird. Derartiges könnte bei einer Genduplikation auftreten. Entsprechend sind
natürlich auch Genmultiplikationen denkbar.
c) u1 vu2(v ′ )−1 u3. Dies ist im Prinzip das gleiche Szenarion wie im Beispiel b, nur mit dem
Unterschied, daß die nochmals auftretende Sequenz invertiert wurde.
d) uvv −1w oder uvav −1w. Hier stellt vv −1 bzw. vav −1 ein Palindrom dar, also eine Teilsequenz, die mit ihrem Inversen identisch ist (also z.B. (vv −1 )−1 = vv −1 ). Derartige
Palindrome treten z.B. bei der DNA an Restriktionsstellen auf. (Im Falle der DNA
gäbe es noch die jeweiligen komplementären Stränge uvv −1w bzw. uvav −1w.)
e) uvv ′v ′′ . . . v (n) w. Hierbei steht v ′ für eine Teilsequenz, die mit v korreliert ist (und umgekehrt). Dasselbe gilt bezüglich v ′ und v ′′ , usw. So könnte z.B. eine Helix bei Proteinen
modelliert werden; v, v ′ , usw. würden dann jeweils für eine Windung dieser Helix stehen, die mit der vorigen und folgenden über Wasserstoffbrücken in Wechselwirkung
steht.
n
f) u0 vu1(v ′ )−1 u2v ′′ u3 . . . (v (n) )(−1) un+1 . Derartige Strukturen finden sich z.B. bei sog.
Faltblattstrukturen von Proteinen. Ähnlich wie ein Webfaden läuft die Sequenz hin und
her und bildet dabei ein flächiges Gebilde. Innerhalb dieser Fläche findet eine durch
Wasserstoffbrücken vermittelte Wechselwirkung zwischen gegenläufigen Teilsequenzen
(wie v und (v ′ )−1 ) statt, während am Rande dieser Fläche das Molekül gewissermaßen
nur Schlaufen (u0 , u1 , . . . ) bildet, bevor es an sich selbst zurückläuft.
Derartige Strukturen können (von Beispiel c abgesehen) nicht mehr mittels kontextfreier Grammatiken modelliert werden. Zur Beschreibung derartiger Strukturen wurden daher von mir von-Wijngaarden-Grammatiken, Index-Grammatiken und scattered-contextGrammatiken in Betracht gezogen. Da es unklar ist, wie diese effizient geparst werden
können, wird die sog. Parallel-Grammatik eingeführt, die als Spezialfall der scattered-contextGrammatiken aufgefaßt werden kann. Für diese kann, unter gewissen Randbedingungen, eine
Modifikation des Earleyschen Algorithmus zum Parsen herangezogen werden.
6.2 Von-Wijngaarden-Grammatiken
Bei der Beschreibung der Programmiersprache Algol (Von Wijngaarden et al., 1976)
wurde zum ersten Mal eine vollständige mathematische Beschreibung der Syntax angegeben.
Hierbei wurde eine bestimmte Klasse von Grammatiken eingeführt, die nun üblicherweise als
Von-Wijngaarden-Grammatiken bezeichnet werden, so z.B. von Matuszyúski (1984)
oder auch Fischer (1985) (der spezielle derartige Grammatiken behandelt). Bei einer VonWijngaarden-Grammatik handelt es sich im Prinzip um eine mehrstufige Grammatik.
d.h. die Regeln einer (beliebig allgemeinen) Grammatik werden nicht, wie sonst, explizit
angegeben, sondern ihrerseits durch eine (reguläre) Grammatik beschrieben.
226
6.3 Index-Grammatiken
Durch entsprechende Formulierung der Regeln läßt es sich erreichen, daß ein- und dasselbe
Symbol, das an verschiedenen Stellen in einer Satzform auftaucht, auf eine einheitliche Weise
ersetzt wird. Dieser Eigenschaft, die im Zusammenhang mit der Beschreibung biologischer
Makromoleküle sicherlich erwünscht ist, da hierdurch Repetitionen von Teilsequenzen leicht
angegeben werden können, steht die schlechte Parsebarkeit entgegeben. Die Verwendung von
Van-Wijngaarden-Grammatiken wird in dieser Arbeit daher nicht weiter verfolgt.
6.3 Index-Grammatiken
Indexed Grammars (hier als Index-Grammatiken“ bezeichnet) wurden von Aho (1968,
”
1969) eingeführt und untersucht. Im folgenden beziehe ich mich im wesentlichen jedoch auf
die modifizierte Darstellung in Aho und Ullman (1972, Seite 101f), die etwas einfacher ist,
da der Begriff des Index dort nicht weiter formalisiert wird.
Definition: Eine Index-Grammatik G ist ein Pentupel (N, Σ, F, P, S), wobei N eine endliche
Menge von Nichtterminalsymbolen, Σ eine endliche Menge Menge von Terminalsymbolen,
F := {f, g, h, . . . } die endliche Menge der Indizes oder flags, P ⊂ (N ∪ NF ) × (NF ∗ ∪ Σ)∗ )
eine endliche Menge von Regeln und S ∈ N schließlich ein ausgezeichnetes Symbol, das
Startsymbol, ist. Die Mengen N, Σ und F werden als paarweise disjunkt vorausgesetzt.
Auf (NF ∗ ∪T )∗ wird nun die Relation ⇒ wie folgt definiert. Es ist α ⇒ β, α, β ∈ (NF ∗ ∪T )∗
genau dann, wenn
α = α1 Aζ α2
A→B1η1 B2η2 . . . Bmηm ∈ P und
β = α1 B1θ1 B2θ2(. . . Bmθm α2
ǫ wenn Bk ∈ Σ
wobei θk :=
ηk ζ wenn Bk ∈ N
1≤k≤m
oder
α = α1 Af ζ α2
Af →B1η1 B2η2 . . . Bmηm ∈ P und
β = α1 B1θ1 B2θ2(. . . Bmθm α2
ǫ wenn Bk ∈ Σ
wobei θk :=
ηk ζ wenn Bk ∈ N
1≤k≤m
Hierbei ist ζ, ηk , θk ∈ F ∗ , 1 ≤ k ≤ m; es werden damit also Folgen von Indizes bezeichnet.
Im ersten Fall handelt es sich um eine einfache“ Regel aus P ; die Indexfolge ζ des ersetzten
”
Symbols A wird über die Nichtterminalsymbole Bk auf der rechten Seite der Regel distributiert (während Terminalsymbole nie indiziert werden). Hierbei wird ζ jeweils rechts neben
die Indexfolge ηk des entsprechenden Nichtterminalsymbols geschrieben; ζ hat also eine niedrigere Priorität als ηk . Im zweiten Fall handelt es sich um eine sog. Indexregel. Das mit dem
Index f versehene Symbol A wird ersetzt, wobei der Index f absorbiert wird, also nach der
Ersetzung nicht mehr vorhanden ist. Die Relation ⇒ kann wie üblich zu der Relation ⇒∗
erweitert werden.
Durch eine entsprechende Formulierung von Regeln und Indexregeln ist es also möglich, daß
an verschiedenen Stellen einer Satzform gewissermaßen korrelierte Ersetzungen vorgenom227
6 Kontextsensitive Grammatiken
men werden. Das weiter unten aufgeführte Beispiel mag zur Verdeutlichung dienen.
Es ist übrigens noch erwähnenswert, daß bei Indexgrammatiken die Linksableitung wie bei
kontextfreien Grammatiken definiert werden kann und zu jeder Ableitung mit einer Indexgrammatik es eine solche Linksableitung gibt. (Dies ist bei kontextsensitiven Grammatiken
i.allg. ja nicht der Fall.) Es kann gezeigt werden, daß die Indexgrammatiken eine echte
Teilmenge der kontextsensitiven Grammatiken darstellen, in der Chomsky-Hierarchie also
zwischen Typ-1- und Typ-2-Grammatiken einzuordnen wären.
Durch Indexgrammatiken ist die Beschreibung mehrfach auftretender Teilsequenzen folgendermaßen möglich (vgl. Beispiel b in Abschnitt 6.1). Seien
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
S
A
A
A
B
B
Cf
Cg
Df
Dg
→
→
→
→
→
→
→
→
→
→
A
Af
Ag
B
CDB
CD
C
C
aD
bD
Regeln einer Grammatik.
1
|⇒|
1
|⇒|
1
| ⇒∗ |
Dann ist folgende Ableitung möglich:
1
2
2
3
4
5
6
S ⇒ A ⇒ Af ⇒ Af f ⇒ Agf f ⇒ Bgf f ⇒ Cgf f Dgf f Bgf f ⇒ Cgf f Dgf f Cgf f Dgf f
8
7
7
⇒ Cf f Dgf f Cgf f Dgf f ⇒ Cf Dgf f Cgf f Dgf f ⇒ CDgf f Cgf f Dgf f
10
9,9
8,7,7
⇒ CbDf f Cgf f Dgf f ⇒∗ CbaaDCgf f Dgf f ⇒∗ CbaaDCDgf f
10,9,9
∗
⇒ CbaaDCbaaD
Hiermit ist nun eine Satzform erzeugt worden, die entsprechend der anfänglichen Folge von
Indizes gf f nun an zwei Stellen die Sequenz baa aufweist. Die verbleibenden Nichtterminalsymbole C und D können im weiteren Verlauf ersetzt werden, ohne daß dies Einfluß auf
die bereits vorhandenen Folgen von Terminalsymbolen hätte. Sollten die Teilsequenzen nicht
gleich, sondern nur ähnlich sein, so können z.B. zu obigen Regeln die indexkonsumierenden
Indexregeln 11. Df f→D oder 12. Dg→D hinzugefügt werden. Im obigen Beispiel kann dann
die Satzform CbaaDCDgf f mit Regel 12 zu CbaaDCDf f und durch zweimalige Anwendung
von Regel 9 zu CbaaDCaaD abgeleitet werden. Diese Satzform erhält nun die mit einander verwandten Sequenzen baa und aa. Prinzipiell sind durch wiederholte Anwendung der
Regeln 2 und 11 bzw. 3 und 12 unendlich lange“ Ableitungen möglich.
”
Bei Betrachtung all dieser möglichen Ableitungen kommt erschwerend hinzu, daß die Anzahl der zu betrachtenden Indexfolgen (und damit der möglichen Ableitungen) exponentiell
228
6.4 Scattered-context-Grammatiken
mit der Länge der Ableitung und in Abhängigkeit der Anzahl der möglichen Indizes wächst.
Während bei kontextfreien Grammatiken potentiell unendlich lange Ableitungen durch Zykel
in der Parse-Tabelle (wie sie z.B. vom Earleyschen Algorithmus erzeugt wird) und damit
auf endliche Weise dargestellt werden können, ist dies bei Index-Grammatiken wohl nicht
mehr möglich. Aufgrund dieser Schwierigkeiten bleiben Index-Grammatiken im folgenden
außer Betracht.
6.4 Scattered context grammars
Scattered context grammars, im folgenden als Scattered-context-Grammatiken bezeichnet,
gehen auf Greibach und Hopcroft (1969) zurück. Eine solche Grammatik G ist ein
Quadrupel (N, Σ, P, S), wobei N eine Menge von Nichtterminalsymbolen, Σ eine Menge von
Terminalsymbolen, P , die Menge der Regeln, eine Relation von N ∗ nach ((N ∪Σ)∗ )∗ und S ∈
N ein ausgezeichnetes Symbol, das Startsymbol, ist. Genauer gesagt, besteht eine Regel einer
Scattered-context-Grammatik aus einer (beliebig langen) Folge von Paaren, die aus einem
Nichtterminalsymbol Ai und einer Folge αi von Zeichen bestehen. Die Regeln einer Scatteredcontext-Grammatik werden üblicherweise in der Form (A1 , A2 , . . . An )→(α1 , α2 , . . . αn ) (n ≥
1) geschrieben, α1 , α2 , . . . αn ∈ (N ∪Σ)∗ \ {ǫ}. Auf (N ∪Σ)∗ wird nun wiederum eine Relation
⇒ wie folgt definiert. Es ist α ⇒ β, α, β ∈ (N ∪ Σ)∗ , wenn
α = α0 A1 α1 A2 α2 . . . An αn
(A1 , A2 , . . . An ) → (β1 , β2 , . . . βn ) ∈ P und
β = α0 β1 α1 β2 α2 . . . βn αn
Die Anwendung einer Regel einer Scattered-context-Grammatik entspricht also der Anwendung einer Folge herkömmlicher Regeln an möglichen, auf einander folgenden Stellen einer
Satzform. Folgendes Beispiel einer Scattered-context-Grammatik erzeugt Sätze, die in ihrer
Struktur den von der Index-Grammatik in Abschnitt 6.3 generierten Sätzen entsprechen.
Seien
1. S
→ CAB
2. B
→ CDB
3. B
→ E
4. (A, D) → (Aa, F )
5. (A, D) → (Ab, G)
6. (F, D) → (Da, F )
7. (G, D) → (Db, G)
8. (F, E) → (Da, Ea)
9. (G, E) → (Db, EB)
Regeln einer Grammatik. Dann ist folgende Ableitung möglich.
1
2,2,3
S ⇒ CAB ⇒∗ CACDCDE
4
6
⇒ CAaCF CDE ⇒ CAaCDaCF E
8
⇒ CAaCDaCDaEa
4,6,8
∗
⇒ CAaaCDaaCDaaEaa
5,7,9
∗
⇒ CAbaaCDbaaCDbaaEbaa
229
6 Kontextsensitive Grammatiken
Hiermit ist nun eine Satzform erzeugt worden, die entsprechend der jeweilgen Ersetzung von
CA . . . CD . . . nun an vier Stellen die Sequenz baa aufweist. Die verbleibenden Nichtterminalsymbole C A, D und E können, geeignete Regeln vorausgesetzt, im weiteren Verlauf
ersetzt werden, ohne daß dies Einfluß auf die bereits vorhandenen Folgen von Terminalsymbolen hätte. Es wäre auch durch entsprechende Regeln, wie z.B. (A, D)→(b, I), (I, D)→(b, I)
und (I, E)→(b, b) anstelle der Regeln 5, 7 und 9 in der letzten Zeile möglich gewesen, die
Symbole A, D und E von vornherein zum Verschwinden zu bringen.
Es reicht übrigens aus, daß n ≤ 2; jede durch eine Scattered-context-Grammatik erzeugte
Sprache kann auch mit einer Scattered-context-Grammatik mit n ≤ 2 erzeugt werden. Obige
Grammatik stellt ein Beispiel für eine solche eingeschränkte Scattered-context-Grammatik
dar. (Durch Verwendung von Regeln wie (A, D, D, E)→(Aa, Da, Da, Ea) (nach der ersten
Zeile) hätte der Aufwand geringer gehalten werden können.)
Auch hier tretene ähnliche Probleme wie die in Abschnitt 6.3 dargestellten auf. Obwohl
Greibach und Hopcroft ǫ-Produktionen zwar ausdrücklich ausschließen, ist kombinatorische Explosion möglich. Diese rührt hauptsächlich daher, daß eine zu parsende Zeichenfolge
nicht in von einander unabhängige Teilstücke zerlegt werden kann, sondern im Prinzip jede
Kombination von Teilstücken, die darüber hinaus auch nicht in ihrer Länge übereinstimmen
müssen, betrachtet werden muß. Daher wird im folgenden eine Teilmenge der Scatteredcontext-Grammatiken betrachtet. Diese werden hier als Parallel-Grammatiken bezeichnet.
Im Rahmen dieser Grammatiken können Randbedingungen formuliert werden, die es ermöglichen, diese Grammatiken mit Hilfe eines erweiterten Earleyschen Algorithmus zu parsen.
Leider muß hierbei der Anspruch alle in Abschnitt 6.1 genannten Strukturmerkmale biologischer Makromoleküle zu erfassen, fallen gelassen werden. Die Parallel-Grammatiken eignen
sich jedoch u.a. durchaus zur Beschreibung von Pseudoknoten.
6.5 Parallel-Grammatiken
Im folgenden soll der Begriff der Parallel-Grammatiken vor seiner endgültigen Definition anhand einiger Vorüberlegungen motiviert und schrittweise entwickelt werden. Betrachtet man
die Zeichenfolgen abccba und abcabc, so fällt auf, daß die Symbole a, b und c jeweils paarweise
auftreten. Dies kann bei der Erzeugung dieser Zeichenfolgen konzeptionell am einfachsten
dadurch erreicht werden, daß beide Symbole eines Paares jeweils gemeinsam hinzugefügt
werden. Bei der ersten Folge würde man also nacheinander die Zeichenfolgen aa, abba und
schließlich abccba und bei der zweiten aa, abab und abcabc erhalten. Deutlicher wird dieser
Ersetzungprozeß, wenn die Stelle(n), an der/denen ersetzt wird, markiert wird/werden (hier
durch X): Die nacheinander erhaltenen Folgen würden dann X, aXa, abXba und abcXcba sowie X, aXaX, abXabX und abcXabcX lauten. Wird X als Nichtterminalsymbol gedeutet, so
kann offensichtlich die erste Folge mittels einer SCFG (wie in Kaptiel 5 beschrieben) erzeugt
werden; die entsprechenden Regeln wären S→X, X →aXa, X →bXb und X →cXc, wobei
S das Startsymbol ist. Bei der zweiten Folge ist dies nicht mehr möglich, denn während im
ersten Fall die Ersetzung stets an einer Stelle erfolgt, wird im zweiten Fall an zwei räumlich
getrennten Stellen gleichzeitig ersetzt. Dies soll und kann durch die Einführung sogenannter
Parallelregeln der Form (X1 , X2 )→(β1 , β2 ) erreicht werden. Die Anwendung einer derartigen Regel bedeutet, daß in der Zeichenfolge α1 X1 α2 X2 α3 in einem Ersetzungschritt X1 und
X2 durch β1 bzw. β2 ersetzt werden und die Zeichenfolge α1 β1 α2 β2 α3 erhalten wird. Ein
derartiger Gedanke ist bereits bei den scattered-context-Grammatiken (vgl. Abschnitt 6.4)
realisiert.
230
6.5 Parallel-Grammatiken
Diese scattered-context-Grammatiken bieten jedoch zuviel Möglichkeiten, wie an folgendem
Bespiel verdeutlicht werden soll. Sei α1 A1 αa A2 α3 A3 α4 eine Zeichenfolge, so wären sowohl
Regeln der Form Ai →βi , (i ∈ {1, 2, 3}) als auch der Form (Ai , Aj →(βi, βj ) (i, j ∈ {1, 2, 3},
i < j) und sogar der Form (A1 , A2 , A3 ) → (β1 , β2 , β3 ) anwendbar, da prinzipiell für jede
Kombination (von beliebiger Anzahl) von Nichtterminalsymbolen entsprechende Regeln zugelassen sind. Zwei Symbole können also, müssen aber nicht gleichzeitig ersetzt werden.
Dies ist im vorliegenden Fall jedoch nicht erwünscht; vielmehr soll eine gleichzeitige Ersetzung von zwei Symbolen erzwungen werden. Daher werden gewisse Symbole ausdrücklich zu
Parallelsymbolen deklariert und es wird gefordert, daß derartige Parallelsymbole auch nur
paarweise gleichzeitig ersetzt werden dürfen. (Der Fall, daß mehr als zwei Symbole gleichzeitig ersetzt werden können, soll gänzlich ausgeschlossen werden.) Im vorliegenden Beispiel
könnten also A1 , A2 und A3 derartige Parallelsymbole sein, die dann nur mittels Regeln der
Form (A1 , A2 )→(β1 , β2 ), (A1 , A3 )→(β1 , β3 ) und (A2 , A3 )→(β2 , β3 ) ersetzt werden können. An
diesem Beispiel ist weiterhin zu sehen, daß das Symbol A2 einmal in der rechten Hälfte eines
zu ersetzenden Paares von Symbolen (nämlich in der ersten Regel) und einmal in der linken
Hälfte eines solchen Paares (in der dritten Regeln) auftritt. Um derartiges zu vermeiden,
werden die Parallelsymbole in zwei Klassen, nämlich L- und R-Symbole eingeteilt. Erstere
dürfen nur in der linken, zweitere nur in der rechten Hälfte von Paaren zu ersetzender Symbole auftreten. Der Einteilung der Symbole in einfache und Parallelsymbole entsprechend
können auch die Regeln in einfache und Parallelregeln eingeteilt werden.
Damit kann nun folgender Spezialfall einer scattered-context-Grammatik formuliert werden:
Gk = (N, NL , NR , Σ, P, Pk, S)
(6.5-1)
Hierbei sind N, NL und NR Mengen von Nichtterminalsymbolen, NL , NR ⊂ N, NL ∩NR = ∅,
wobei die Elemente aus NL als L- und die aus NR als R-Symbole und zusammenfassend als
Parallelsymbole bezeichnet werden, Σ eine Menge von Terminalsymbolen, S ein ausgezeichnetes Symbol, das Startsymbol, P eine Menge von Regeln, P ⊆ (N \ NL \ NR ) × (N ∪ Σ)∗
und Pk eine Menge von Parallelregeln, Pk ⊆ (NL × NR ) × ((N ∪ Σ)∗ × (N ∪ Σ)∗ ). Elemente
aus P werden in der Form A→α, A ∈ N \ NL \ NR , α ∈ (N ∪ Σ)∗ , Elemente aus Pk in
der Form (AL , AR )→(α, β), AL ∈ NL , AR ∈ NR , α, β ∈ (N ∪ Σ)∗ notiert. Weiterhin wird
die Menge NLR ⊆ NL × NR der Paare von Parallelsymbolen, die auf der linken Seite von
Parallelregeln auftreten, definiert:
NLR := {(AL , AR ) ∈ NL × NR | ∃α, β ∈ (N ∪ Σ)∗ : (AL , AR )→(α, β) ∈ Pk }
(6.5-2)
Auf (N ∪ Σ)∗ kann die Relation ⇒ (ähnlich wie in Abschnitt 2.7) wie folgt definiert werden.
Es ist α ⇒ β, α, β ∈ (N ∪ NL ∪ NR ∪ Σ)∗ genau dann, wenn
α = α1 Aα2
A→γ ∈ P und
β = α1 γα2
231
6 Kontextsensitive Grammatiken
oder α = α1 AL α2 AR α3
(AL , AR )→(γ1 , γ2 ) ∈ Pk und
β = α1 γ1 α2 γ2 α3
(6.5-3)
Weiterhin kann ⇒∗ wie sonst auch als reflexive und transitive Hülle von ⇒ definiert werden.
Bezüglich ⇒ sind — besonders im Hinblick auf eine Erweiterung der dieser Grammatik 6.5-1
zu einer stochastischen Grammatik — folgende Möglichkeiten, die bei kontextfreien Grammatiken nicht auftreten, zu beachten. Es ist möglich, daß eine Satzform αAL β auftritt, bei
der durch die folgenden Ersetzungen die Symbolfolgen α und β schließlich durch Folgen von
Terminalsymbolen ersetzt worden sind, so daß das Symbol AL ohne ein korrespondierendes
Symbol AR verbleibt und damit keine Ersetzung von AL mehr möglich ist. Entsprechend
können auch Kombinationen von L- und R-Symbolen auftreten, für deren Ersetzung keine Parallelregeln vorhanden sind. Es ist also möglich, daß es Sackgassen“ gibt, also nicht
”
alle möglichen Ersetzungen schließlich zur einer Folge von Terminalsymbolen führen. (Eine
gewisse Analogie hierfür bei kontextfreien Grammatiken bestünde in der Möglichkeit einer unendlichen Folge von Ersetzungen bei zyklischen Regeln, wo ebenfalls die Möglichkeit
besteht, nie einen Satz der Sprache zu erreichen.) Da die Wahrscheinlichkeit derartiger Ableitungen in der Summe der Wahrscheinlichkeiten aller Ableitungen mit enthalten ist, würde
die Summe der den Sätzen der Sprache zugeordneten Wahrscheinlichkeiten kleiner als 1 sein.
Diese Einschränkung kann jedoch hingenommen werden.
Weiterhin ist es möglich, daß eine Satzform α1 AL α2 AL . . . AR αn−1 AR αn erhalten wird, bei
der es mehrere Möglichkeiten gibt, ein- und diesselbe Parallelregeln (AL , AR )→(α, β) anzuwenden, ohne daß dies auch zu jeweils dem gleichen Endergebnis führen würde. Die hier
vorhandene Wahlmöglichkeit, die schließlich zu unterschiedlichen Sätzen führt, spiegelt sich
auch nicht in der Wahrscheinlichkeit, die der Parallelregel zugeordnet ist, wider. Angenommen, die obige Symbolfolge ist die einzige mögliche, so daß den Regeln, die zu dieser führten, jeweils die Wahrscheinlichkeit 1 zukäme. Ebenso sei die angegebene Parallelregel die
einzige, so daß dieser auch die Wahrscheinlichkeit 1 zuzuordnen wäre. Der gesamten Regelfolge käme damit die Wahrscheinlichkeit 1 zu. Diese Wahrscheinlichkeit wäre dann auch die
Wahrscheinlichkeit, die dem mit dieser Regelfolge erhalten Satz zuzuordnen wäre. Aufgrund
der Wahlmöglichkeit bei Anwendung der Parallelregel ist dieser Satz nicht eindeutig, vielmehr gibt es mehrere Sätze, so daß die Summe der Wahrscheinlichkeiten ein Vielfaches von
1 wäre. Eine Lösungsmöglichkeit, die sich unmittelbar anbietet, wäre bei Anwendung der
Parallelregel (AL , AR )→(α, β) deren Wahrscheinlichkeit durch die Anzahl der bestehenden
Möglichkeiten zu dividieren (also gewissermaßen einen Korrekturfaktor einzuführen), was jedoch den Nachteil hätte, daß allen Möglichkeiten die gleiche Wahrscheinlichkeit zugeordnet
würde.
Ferner ist es denkbar, daß die Parallelregel auf diese Satzform nicht angewendet würde, sondern stattdessen andere Nichtterminalsymbole ersetzt würden und im Verlauf der weiteren
Ersetzungen irgendwann dann ein weiteres L- bzw. R-Symbol aufträte, so daß die Anzahl
der Möglichkeiten zur Anwendung der obigen Parallelregel sich weiter erhöhen würde. Damit wäre ein anderer Korrekturfaktor anzusetzen, und zwar selbst dann, wenn dann doch
noch eine der ursprünglich möglichen Ersetzungen realisiert wird. Damit ist es nicht mehr
möglich einer Regel eine Wahrscheinlichkeit fest zuzuornden, sondern stattdessen wären kontextabhängige Wahrscheinlichkeiten einzuführen.
232
6.5 Parallel-Grammatiken
Die Alternative hierzu ist die Einführung von Metaregeln, also Regeln, die angeben, auf
welche Kombination von L- und R-Symbolen eine Parallelregel anzuwenden ist. Hierbei ist
zu berücksichtigen, daß die jeweils auftretenden Kombinationen von L- und R-Symbolen
sich in Abhängigkeit von der Ersetzung der übrigen Nichtterminalsymbole ändern können.
Mit anderen Worten, es besteht die Möglichkeit, daß die L- und R-Symbole nicht eindeutig aus dem Kontext der jeweiligen Satzform bestimmt sind. Dies ist bei Formulierung der
Metaregeln zu berücksichtigen, indem z.B. sichergestellt wird, daß eine durch eine solche Metaregel bestimmte Kombination von L- und R-Symbolen im Verlaufe der weiteren Ersetzung
unverändert bleibt.
In Anlehnung an die Linksableitung wird als Metaregel festgesetzt, daß jeweils am weitesten
links stehende L- und R-Symbol, die ein ersetzbares Paar bilden, ersetzt werden — vorausgesetzt, daß garantiert ist, daß im weiteren Verlauf von Ersetzungen nicht andere, noch weiter
links stehende L- bzw. R-Symbole auftreten, die mit den ersetzen, wären diese nicht ersetzt
worden, ebenfalls ein ersetzbares Paar bilden würden. Daher wird gefordert, daß die links
dieser L- und R-Symbole stehenden Symbole alles Terminalsymbole oder Parallelsymbole
sind, die kein ersetzbares Paar bilden. Um die zweite dieser Forderungen bei der Definition
der Relation ⇒ (s.u.) formulieren zu können, wird eine Teilmenge Vk ⊂ (Σ ∪ NL ∪ NR )∗
definiert, nämlich die Menge von Zeichenfolgen, auf die Parallelregeln angewendet werden
können.
Vk := {v1 AL v2 AR v3 | v1 , v2 , v3 ∈ (N ∪ Σ)∗ , (AL , AR ) ∈ NLR }
(6.5-4)
Hierbei ist NLR die Menge der Paare von Parallelsymbolen, die auf der linken Seite einer der
Parallelregeln auftauchen (vgl. oben).
Dementsprechend wird nun die Definition (vgl. 6.5-3) der Relation ⇒ auf (N∪Σ)∗ modifiziert.
Es ist α ⇒ β genau dann, wenn
(i)
oder (ii)
α = vAγ2
∧ β = vγ1 γ2
∧ A→γ1 ∈ P
α = v1 AL v2 AR γ3
∧ v1 AL v2 6∈ Vk
∧ β = v1 γ1 v2 γ2 γ3
∧ (AL , AR )→(γ1 , γ2 ) ∈ Pk
(6.5-5)
Hierbei ist v, v1 , v2 ∈ (Σ ∪ NL ∪ NR )∗ , A ∈ N \ NL \ NR , (AL , AR ) ∈ NL × NR und
γ1 , γ2 , γ3 ∈ (N ∪ Σ)∗ . (Anm.: v, v1 und v2 sind hier abweichend von der üblichen Konvention
keine Folgen von Terminalsymbolen, sondern können auch Parallelsymbole enthalten.) Die
Bedingung v1 AL v2 6∈ Vk in ii stellt sicher, daß es kein weiter links stehendes Paar von Symbolen gibt, auf das eine Parallelregel anwendbar wäre. Die reflexive und transitive Hülle von ⇒
ist wiederum ⇒∗ . Mit ⇒∗ ist nun eine kanonische Ableitung für Parallelgrammatiken gegeben, analog der Linksableitung bei kontextfreien Grammatiken. (Sollten keine Parallelregeln
auftreten, handelt es sich bei ⇒ um die übliche Linksableitung, so daß obige Definition in
bezug auf kontextfreie Grammatiken keine Einschränkung darstellt.) Die durch Gk erzeugte
233
6 Kontextsensitive Grammatiken
Sprache L(Gk ) ist {u ∈ Σ∗ | S ⇒∗ u}. Satzformen sind entsprechend wie in Abschnitt 2.7
definiert. (Die Menge der Satzformen ist {α ∈ (N ∪ Σ)∗ | S ⇒∗ α}.) Die Zuordnung von
Wahrscheinlichkeiten erfolgt analog zu Abschnitt 5.2 bzw. 5.6.
Zur Verdeutlichung sowie als Grundlage der unten folgenden Diskussion soll nun ein Beispiel
für eine Parallelgrammatik entsprechend dieser Definitionen gegeben werden. Es seien
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
S
A
B
C
D
E
F
(AL , AR )
(AL , AR )
(BL , BR )
(BL , BR )
→
→
→
→
→
→
→
→
→
→
→
ABn
a
CEAR
DAL
bc
iAR k
fg
(dAL h, j)
(BL F, BR m)
(e, l)
(eee, l)
(6.5-6)
die Regeln dieser Parallelgrammatik, wobei S (wie sonst auch) das Startsymbol ist. Die
Menge NL = {AL , BL } ist die Menge der L-Symbole, die Menge NR = {AR , BR } ist die
Menge der R-Symbole, und deren Vereinigung NL ∪ NR ist die Menge der Parallelsymbole. Die Menge N = {A, B, C, D, E, F } ∪ NL ∪ NR ist die Menge der Nichtterminalsymbole, während Σ = {a, b, c, d, e, f, g, h, i, j, k, l, m, n} die Menge der Terminalsymbole ist.
P = {p1 , p2 , p3 , p4 , p5 , p6 , p7 } und Pk = {p8 , p9 , p10 , p11 } sind die Mengen der Regeln bzw.
Parallelregeln.
Mit der in 6.5-3 definierten Relation ist nun folgende Ableitung nicht ausgeschlossen:
p1
S ⇒ ABn
p2
⇒ aBn
p3
⇒ aCEAR n
p4
⇒ aDAL EAR n
p5
⇒ abcAL EAR n
p9
⇒ abcBL F EBR mn
p10
⇒ abceF Elmn
p7
⇒ abcef gElmn
p6
⇒ abcef glAR klmn
(6.5-7)
Hier wurde nun in jedem Schritt ein Symbol bzw. ein Paar von Symbolen ersetzt. Mit der
zuletzt erhaltenen Satzform erweist sich nun obige Ableitung als Sackgasse; das Symbol AR
234
6.5 Parallel-Grammatiken
ist das einzig verbleibende Nichtterminalsymbol, das jedoch als Parallelsymbol nicht mehr
ersetzt werden kann.
Nicht in eine Sackgasse führt folgende Ableitung, deren ersten fünf Schritte der vorigen
entsprechen:
p1
S ⇒ ABn
p2
⇒ aBn
p3
⇒ aCEAR n
p4
⇒ aDAL EAR n
p5
⇒ abcAL EAR n
p8
⇒ abcdAL hEjn
p6
⇒ abcdAL hiAR kjn
p9
⇒ abcdBL F hiBR mkjn
p11
⇒ abcdeeeF hilmkjn
p7
⇒ abcdeeef ghilmkjn
(6.5-8)
Die verwendeten Regeln sind diesselben wie bei 6.5-7, wenn man von der dort fehlenden
Regel p8 und daß die Regel p11 eine geringfügige Variante der Regel p10 darstellt absieht.
Allerdings ist hier die Reihenfolge der Regeln eine andere, womit verdeutlicht wird, daß
hier (bei Parallelgrammatiken) die Reihenfolge der Regelanwendungen eine Rolle spielt. Die
Ableitung 6.5-8 kann auch in Form eines Syntaxbaumes (analog zu der Beschreibung in Abschnitt 5.1) dargestellt werden (s. Abb. 6.5-1). Angemerkt werden soll noch, daß, wäre bei der
Ableitung 6.5-8 statt Regel p9 die Regel p8 verwendet worden, die Satzform abcddAL hhijkjn
erhalten worden wäre, die ebenfalls eine Sackgasse darstellt.
Betrachtet werde nun die in der Ableitung 6.5-8 (mit p5 ) auftretende Satzform abcAL EAR n.
Hier kann nun (wie oben auch geschehen) die Parallelregel p8 = (AL , AR )→(dAL h, j) angewendet werden. Möglich ist aber auch die Anwendung der Regel p6 = E→iAR k, mit der
dann die Satzform abcAL iAR kAR n erhalten wird. Auf diese kann nun die Parallelregel p8
auf zweierlei Arten angewendet werden, die beide der Definition 6.5-3 entsprechen!
Um eben derartiges zu vermeiden, wurde mit Definition 6.5-5 das Prinzip der Linksableitung
für Parallelgrammatiken eingeführt. Demnach muß die betrachtete Satzform abcAL EAR n
soweit abgeleitet werden, bis für ein zu ersetzendes Paar von Parallelsymbolen kein weiter
links stehendes Paar auch bei weiteren Ersetzungen nicht mehr möglich ist. Diesem Prinzip entsprechend muß nun das Symbol E ersetzt werden, wofür als einzige die Regel p6 in
Frage kommt, womit — wie bereits erwähnt — abcAL iAR kAR n erhalten wird. Für das Paar
(AL , AR ) im rechten Teil abcAL iAR der Satzform ist nun garantiert, daß bei weiteren Ersetzungen keine links von AR stehenden Parallelsymbole mehr auftauchen können, womit
dieses Paar (mittel Regel p8 oder p9 ) ersetzt werden kann.
Eine der Definition 6.5-5 entsprechende Ableitung mit den Regeln 6.5-6 obiger Grammatik
235
6 Kontextsensitive Grammatiken
S
A
n
B
a
C
E
D
AL
AR
i
b
c
d
k
j
h
AL
AR
BL
BR
m
F
e
e
e
f
g
l
Abb. 6.5-1: Darstellung einer Ableitung mit der in 6.5-1A definierten Relation für die Parallelgrammatik mit den Regeln 6.5-1B. Die Anwendung von Parallelregeln bedeutet das gleichzeitige
Ersetzen zweier Symbole. Solche Symbolpaare sind hier durch eine gestrichelte Linie miteinander
verbunden.
ist diese:
p1
S ⇒ ABn
p2
⇒ aBn
p3
⇒ aCEAR n
p4
⇒ aDAL EAR n
p5
⇒ abcAL EAR n
p6
⇒ abcdAL hiAR kAR n
p8
⇒ abcdAL hijkAR n
p9
⇒ abcdBL F hijkBR mn
p7
⇒ abcdBL f ghijkBR mn
p7
⇒ abcdeeef ghijklmn
236
(6.5-9)
6.5 Parallel-Grammatiken
S
1
2
A
3
a
C
4
b
n
AR
E
D
5
6
B
AL
c
i
7
AR
k
8
d
9
AL
h
j
10
BL
11
F
f
12
BR
m
g
13
14
e
e
e
l
Abb. 6.5-2: Darstellung der Ableitung 6.5-9. Die den mit (fetten) gestrichelten Linien verbundenen
Knoten zugeordneten Symbole werden gemeinsam ersetzt. Die waagrechten gestrichelten Linien
deuten die Folge der Ersetzungen an; der jeweils unterhalb einer waagrechten gestrichelten Linie
sich befindene Teil des Diagramms ist zu dem Zeitpunkt des entsprechenden Ersetzungsschritt
als (noch) nicht vorhanden zu betrachten. Die Folge der den jeweiligen Blattknoten zugeordneten
Symbolen ist die dann vorliegende Satzform.
Bei der graphischen Darstellung ist zu beachten, daß während die in Abschnitt 5.1 eingeführten Syntaxbäume sowohl die Folge der Symbole in einer Satzform als auch die Reihenfolge der
Regelanwendungen (bei der Linksableitung, die einer Tiefensuche auf dem Baum entspricht)
widergeben, dies bei Ableitungen (mit Definition 6.5-5) bei Parallelgrammatiken nicht ohne
weiteres möglich ist. Abgesehen davon, daß hier in einer Satzform weiter rechts stehende
Symbole eher als links von ihnen stehende ersetzt werden, werden auch an verschiedenen
Stellen stehende Symbole gleichzeitig ersetzt. In Abb. 6.5-2 ist die Ableitung 6.5-9 graphisch
dargestellt, wobei das Diagramm im wesentlichen die Folge der in den Satzformen auftretenden Symbolen widerspiegelt. Gleichzeitige Ersetzungen sind durch (fette) gestrichelte Linien
symbolisiert, während durch die Anordnung der Knoten in den verschiedenen Zeilen des Diagramms die Reihenfolge ihres Auftretens verdeutlicht werden soll. Der Übergang von Zeile 1
nach Zeile 2 entspricht der Ersetzung von S durch ABn gemäß Regel p1 . In Zeile 3 befindet
sich nur ein Knoten. Diesem ist das Symbol a zugeordnet, das bei Anwendung der Regel p2
237
6 Kontextsensitive Grammatiken
S
A
n
B
a
E
C
i
D
k
AL
b
c
d
AR
h
j
AL
AR
BR
BL
m
F
e
e
e
f
g
l
Abb. 6.5-3: Vereinfachte Darstellung der Ableitung 6.5-9. Die den mit gestrichelten Linien (hier
waagrecht gezeichnet) verbundenen Knoten zugeordneten Symbole werden gemeinsam ersetzt. Die
Reihenfolge der Regelanwendungen ergibt sich entsprechend einer Tiefensuche, jedoch mit der Einschränkung daß diese an Knoten die (linker) Bestandteil (eines mit gestrichelten Linien verbundenen) Paares sind, abzubrechen ist.
erhalten wird. In Zeile 4 stehen die mit C, E und AR bezeichneten Knoten; der Übergang
von Zeile 3 nach Zeile 4 entspricht der Anwendung der Regel p3 . In Zeile 5 sind die mit D
bzw. AL markierten Knoten hinzugekommen. Der mit AL bezeichnete Knoten (in Zeile 5)
und der mit AR bezeichnete (in Zeile 4) d dürfen jedoch noch nicht mit einer gestrichelten
Linie verbunden werden, da sowohl Knoten D als auch E im Verlauf der weiteren Ersetzung
noch Parallelsymbole liefern könnten. Bei D ist dies nicht der Fall (Zeile 6), während bei der
Ersetzung von E (Regel p6 ) in Zeile 7 noch das Parallesymbol AR auftritt. Da danach keine
weiteren Parallelsymbole links von AR (in Zeile 7) auftreten können, werden diese beiden
Knoten durch eine gestrichelte Linie (u.a. in Zeile 8) miteinander verbunden. Die zwei durch
eine gestrichelte Linie verbundenen Knoten erzwingen nun die Anwendung einer Parallelregel (hier p8 ). Dementsprechend kann nun das Diagramm weiter aufgebaut werden, wobei
in Zeile 10 sofort eine gestrichelte Linie möglich wird, während für die gestrichelte Linie in
Zeile 13 zuvor das Symbol F (in Zeile 11 mit Regel p7 ) ersetzt werden muß.
Wird auf die Zeilenstruktur des Diagramms verzichtet, so läßt sich dieses auch wie in Abb.
6.5-3 gezeigt darstellen. Die zeitliche Reihenfolge der Ersetzung ist aus diesem Diagramm
jedoch immer noch (mittels modifizierter Tiefensuche) zu rekonstruieren. Anhand diese Diagramms (Abb. 6.5-3) können nun einige (für die beabsichtigten Anwendungen) Nachteile
der bisher (in 6.5-1) definierten Parallelgrammatik aufgezeigt werden. So ist unklar, wel238
6.5 Parallel-Grammatiken
che Termialsymbole miteinander korrespondieren (d.h. als Bausteine eines Makromoleküls
betrachtet miteinander wechselwirken). Werden die zu den mit BL und BR bezeichneten
Knoten gehörenden Unterbäume betrachtet, so wären die den Blättern zugeordnete Symbolfolgen eee und l. Bezüglich der Paare (AL , AR ) wären dies eeef g und lm bzw. deeef gh
und j. Eine andere Betrachtungsweise wäre die, daß nur die bei einem Ersetzungsschritt
hinzukommenden Symbole als einander zugehörig betrachtet werden (was der Betrachtung
von Teilbäumen entspräche). Hiernach wären (von oben nach unten) dh und j, f g und m
bzw. eee und l korrespondierende Teilsequenzen. Erwünscht ist jedoch keine Korrespondenz
zwischen Teilsequenzen sondern einzelnen Symbolen. Weiterhin ist ein Springen“ zu beob”
achten. Hiermit ist gemeint, daß während der zu dem unteren der beiden mit AL bezeichneten
Knoten gehörende Unterbaum in dem zu dem oberen Knoten gehörenden Unterbaum enthalten ist, dies für die zu den mit AR bezeichneten Knoten gehörenden Unterbäumen nicht
zutrifft. Stattdessen wird bei der sukzessiven Ersetzung des (den oberen Knoten zugeordneten) Symbolpaares (AL , AR ) bei AR eine Folge von Terminalsymbolen (hier nur j umfassend)
erreicht, während bei AL die Symbolfolge (nämlich dAL h) noch ersetzbare Symbole enthält.
Im weiteren Verlauf muß also ein (in der Satzform) an anderer Stelle (weiter rechts stehendes) Rechtssymbol (AR ) herangezogen werden, was im Diagramm dem Wechsel zu einem
anderen Unterbaum entspricht.
Des weiteren haben die bisher zugelassenen Parallelregeln die volle Mächtigkeit einer kontextfreien Sprache. So steht bei Regel p8 das Nichtterminalsymbol AL auf der rechten Seite
zwischen zwei anderen Symbolen, in Regel p9 wird AL durch zwei Nichtterminalsymbole (BL
und F ) ersetzt. Alle anderen (als im Beispiel gezeigten) Kombinationen von Symbolen sind
auf der rechten Seite einer Parallelregel entsprechend Definition 6.5-1 zulässig. Der Aufwand
für das Parsen einer derartigen Parallelgrammatik ist sicherlich höher als der für eine kontextfreie Grammatik. Müssen beide Hälften einer Parallelregel beim Parsen von einander
unabhängig untersucht werden, so ist für eine Parallelgrammatik sogar das Quadratische des
Aufwandes einer kontextfreie Grammatik zu erwarten (also eine Komplexität von O(n4 ) statt
O(n2 ) bezüglich des Speicherplatzbedarfs und O(n6 ) statt O(n3 ) bezüglich der benötigten
Zeit, wobei n die Sequenzlänge ist).
Um einerseits eine eindeutige Beziehung zwischen zwei Terminalsymbolen herzustellen, andererseits den Aufwand für das Parsen möglichst gering zu halten, wird die oben gegebene
Grammatik wie folgt modifiziert und die für diese Arbeit endgültige Definition einer Parallelgrammatik erhalten.
Im wesentlichen sind hierbei die Mengen NR und Pk der Parallelgrammatiken jeweils in
zwei disjunkte Teilmengen zerlegt, was die Einführung zweier Typen von Parallelregeln
ermöglicht. Eine Parallelgrammatik G± in ihrer endgültigen Form ist nun durch ein Tupel bestehend aus acht Mengen und einem ausgezeichnetem Element gegeben:
G± := (N, NL , NR+ , NR− , Σ, P, P+ , P− , S)
(6.5-10)
Hierbei ist N eine Menge von Nichtterminalsymbolen, NL , NR+ , NR− (bisweilen wird im folgenden NR := NR+ ∪NR− gebraucht) sind paarweise disjunkte Mengen von Parallelsymbolen
(also NL ∩NR+ = ∅, NL ∩NR− = ∅ und NR+ ∩NR+ = ∅), die (im Unterschied zu Definiton 6.51) nicht vollständig in N enthalten sein müssen. Σ ist die Menge der Terminalsymbole. Weiterhin ist P die Menge der Regeln, P+ ∪P− die der Parallelregeln. S ∈ N \ NL \ NR+ \ NR− ist
schließlich ein ausgezeichnetes Symbol, das Startsymbol. In NL , NR+ und NR− sind Symbole
239
6 Kontextsensitive Grammatiken
dadurch ausgezeichnet, daß sie auch in N enthalten sind; es wird Sk := N ∩(NL ∪NR+ ∪NR− )
definiert. (Die in dieser Menge enthaltenden Parallelsymbole stellen für die Parallelregeln gewissermaßen ein Analogon zu dem Startsymbol S dar; das Vorhandensein dieser Symbole
ermöglicht erst die Anwendung von Parallelregeln.)
Die Menge von Regeln, P , stellt eine Relation von N nach (N ∪ Σ)∗ , P+ stellt eine Relation
von NL × NR+ nach (Σ∗ NL × Σ∗ NR+ ) ∪ (Σ∗ × Σ∗ ) und P− eine Relation von NL × NR− nach
(Σ∗ NL × NR− Σ∗ ) ∪ (Σ∗ × Σ∗ ) dar.
Weiterhin ist mit γ1 ∈ Σ∗ NL ∪ Σ∗ , γ2 ∈ Σ∗ NR+ ∪ NR− Σ∗ ∪ Σ∗
NLR := {(AL , AR ) | ∃γ1 , γ2 : (AL , AR )→(γ1 , γ2 ) ∈ P+ ∪ P− }
(6.5-11)
die Menge all jender Paare von Parallelsymbolen, zu denen eine Regel existiert.
Parallelregeln aus P+ haben die Form
(AL , AR+ )→(vBL , wBR+ ), |v| = |w|, (BL, BR+ ) ∈ NLR
(6.5-12a)
bzw.
(AL , AR+ )→(v, w), |v| = |w|
(6.5-12b)
und werden als rechtsrechtslineare (Parallel-)Regeln bezeichnet. Weiterhin wird
BL ∈ Sk ∨ BR+ ∈ Sk =⇒ (BL , BR+ ) = (AL , AR+ )
(6.5-12c)
gefordert. Das heißt, die nach der Ersetzung von AL und AR auftretenden Symbole BL
und BR sind entweder nicht in der ausgezeichneten Menge Sk enthalten oder mit AL und AR
identisch.
Entsprechend haben Parallelregeln aus P− die Form
(AL , AR− )→(vBL , BR− w), |v| = |w|, (BL, BR− ) ∈ NLR
(6.5-13a)
bzw.
(AL , AR− )→(v, w), |v| = |w|
(6.5-13b)
und werden als rechtslinkslineare (Parallel-)Regeln bezeichnet. Auch hier wird gefordert,
daß
BL ∈ Sk ∨ BR− ∈ Sk =⇒ (BL , BR− ) = (AL , AR− )
(6.5-13c)
Hierbei ist AL , BL ∈ NL , AR+ , BR+ ∈ NR+ , AR− , BR− ∈ NR− und v, w ∈ Σ∗ .
240
6.5 Parallel-Grammatiken
Diese Definitionen stellen sicher, daß ein Paar von Parallelsymbolen entweder mittels einer
Folge ausschließlich rechtsrechtslinearer oder mittels einer Folge nur rechtslinkslinearer Regeln schließlich durch ein Paar von Folgen von Terminalsymbolen ersetzt wird. Weiterhin
wird sichergestellt, daß keine neuen Kombinationen ersetzbarer Parallelsymbole entstehen
können, die eine Ersetzung an anderer Stelle ermöglichen würden (vgl. unten). Durch die Bedingung |u| = |v| ist die Korrespondenz zwischen genau zwei einzelnen Terminalsymbolen sichergestellt. (Die außerdem möglichen Fälle linkslinks- und linksrechtslinearer Regeln können
übrigens außer Betracht bleiben, da es bei der Modellierung von Makromolekülen ausreicht,
parallele und antiparallele verlaufende Paare von Teilsequenzen darstellen zu können, ohne
daß es eine Rolle spielt, ob diese Teilsequenzen bei der Modellierung durch die Grammatik
von links nach rechts oder von rechts nach links erzeugt wurden.)
Auch die ursprüngliche Definition von Vk (6.5-4) ist noch leicht zu modifizieren:
Vk := {v1 AL v2 AR v3 | v1 , v2 , v3 ∈ (N ∪ NL ∪ NR+ ∪ NR− ∪ Σ)∗ , (AL , AR ) ∈ NLR }
(6.5-14)
Damit kann auch die Relation ⇒ neu definiert werden: Es ist α ⇒ β genau dann, wenn
(i)
oder (ii)
α = vAγ2
∧ β = vγ1γ2
∧ A→γ1 ∈ P
α = v1 AL v2 AR γ3
∧ v1 AL v2 6∈ Vk
∧ β = v1 γ1 v2 γ2 γ3
∧ (AL , AR )→(γ1 , γ2 ) ∈ PR+ ∪ PR−
(6.5-15)
Hierbei ist v ∈ (Sk ∪Σ)∗ , v1 , v2 ∈ (NL ∪Σ)∗ , A ∈ N \ Sk , (AL , AR ) ∈ NL ×NR und γ1 , γ2 , γ3 ∈
(N ∪ Σ)∗ . Die Bedingung an v, v1 und v2 stellt eine Verallgemeinerung der Linksableitung
dar. (Üblicherweise besteht bei der Linksableitung die Forderung u ∈ Σ∗ .) Durch die Definitionen 6.5-12c bzw. 6.5-13c ist sichergestellt, daß das Paar von Parallelsymbolen (AL , AR )
zu zwei kontinuierlichen Teilstücken abgeleitet wird. Im anderen Fall könnte beispielsweise
die Satzform v1 AL v2 AR v3 AR β wobei v1 AL v2 6∈ Vk , (und v1 , v2 , v3 ∈ (Σ ∪ NL ∪ NR+ ∪ NR− )∗ ,
β1 , β2 , β3 ∈ (N ∪ Σ)∗ ) mit einer Parallelregel (AL , AR )→(α1 BL , α2 AR ) und einer weiteren
Parallelregel (BL , BR )→(β1 , β2 ) zu v1 α1 β1 v2 α2 AR v3 β2 γ3 abgeleitet werden. Die Teilsequenz
α1 β1 würden zu den Teilsequenzen α2 und β2 korrespondieren“ (vgl. Abschnitt 6.7), oh”
ne daß jedoch die Teilsequenzen α2 und β2 unmittelbar aufeinander folgen würden. Der
besseren Parsebarkeit wegen sollen derartige Fälle ausgeschlossen werden. (Eine Modellierung derartiger biologischer Makromoleküle ist jedoch auch mit einer Parallelgrammatik
gemäß 6.5-10 möglich, indem von einer Satzfrom v1 AL BL v2 AR v3 BR β ausgegangen wird und
entsprechende Parallelregeln formuliert werden.) Im Gegensatz zu den Scattered-contextGrammatiken können mit den Parallelgrammatiken keine Beziehungen zwischen mehr als
zwei Teilbereichen eines Makromoleküls modelliert werden. Dies ist jedoch keine wesentliche
Einschränkung wenn z.B. RNA betrachtet wird, da deren Basen, praktisch nur an einer Stelle
Wasserstoffbrücken ausbilden und so auch nur zwei Untereinheiten wechselwirken können.
241
6 Kontextsensitive Grammatiken
c
i
i
d
d
c
h
h
e
e
b
f
a
a
g
b
f
g
Abb. 6.5-4: Ein Pseudoknoten. Während in der linken Darstellung die Symmetrie der Struktur
verdeutlicht wird, liegt die rechte äquivalente Darstellung der Modellierung mittels einer Grammatik
wie im Text beschrieben zugrunde. Diese Sekundärstruktur einer RNA kann als Schleife (Bereiche b–
f) betrachtet werden, wobei ein Teil (d) des Schleifeninneren (c–e) mit einem Bereich (h) außerhalb
der Schleife gepaart ist. (Selbstverständlich kann entsprechend der Symmetrie, wie sie in der linken
Darstellung zum Ausdruck kommt, auch der Bereich d–h als Schleife, dessen innerer Teil (f) mit
dem Teil b außerhalb der Schleife paart, aufgefaßt werden.)
Im Vorgriff auf Kapitel 7 soll dieser Abschnitt mit einem biologischen Beispiel abgeschlossen
werden. In Abb. 6.5-4 ist ein Pseudoknoten (s.a. Abschnitte 3.4 und 6.1). gezeigt. Zur Modellierung dieses Pseudoknotens mittels einer Parallelgrammatik G± := (N, NL , NR+ , NR− , Σ,
P, P+ , P− , S) wird dieser als einfache Schleife betrachtet, wo ein Teil des Schleifeninneren
mit einem Teil außerhalb der Schleife wechselwirkt. Als Symbole werden verwendet: S (das
Startsymbol), ss (single strand, Einfachstrang), st (stem, Schleifenstamm), li (loop interior, Schleifeninneres), ci (contact intern, innere Kontaktstelle), ce (contact extern, äußere
Kontaktstelle), b (base, Base) und A, C, G und U (für die einzelnen Basen). Die einzelnen
3’
A
C
G G
G
C
G
C
C
G
A
U
G
C
G
C
C
G
G
C
C
G
A
A
C
G
A
A
5’
Abb. 6.5-5: Ein Beispiel für eine (aus 28 Nukleotiden bestehende) Sequenz http://
lsb2.uah.edu/˜chenlq/publications/prnaf2b.jpg (14.07.2000); s.a. http://lsb2.uah.edu
/˜chenlq/publications/rna.html (14.07.2000)), deren Pseudoknoten-Struktur mit der im Text
angegebenen Grammatik beschrieben werden kann.
242
6.6 Kombinatorische Explosion
Symbolmengen sind
N
NL
NR+
NR−
Σ
Als Regeln werden festgelegt:
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16
p17
p18
p19
p20
p21
p22
p23
p24
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
{ss, st, li, ci, ce, b}
{ci}
{}
{ce}
{A, C, G, U}
S
ss
ss
b
b
b
b
st
st
st
st
st
st
st
st
li
(ci, ce)
(ci, ce)
(ci, ce)
(ci, ce)
(ci, ce)
(ci, ce)
(ci, ce)
(ci, ce)
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
→
ss st ss ce ss
b ss
ǫ
A
C
G
U
A st U
C st G
G st C
U st A
A li U
C li G
G li C
U li A
ss ci ss
(A ci, ce U)
(C ci, ce G)
(G ci, ce C)
(U ci, ce A)
(A, U)
(C, G)
(G, C)
(U, A)
Damit sind die Regelmengen
P := {p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 , p10 , p11 , p12 , p13 , p14 , p15 , p16 }
P+ := {}
P− := {p17 , p18 , p19 , p20 , p21 , p22 , p23 , p24 }
Diese Grammatik beschreibt nur den in Abb. 6.5-4 dargestellten Pseudoknoten, wobei die
Wechselwirkung zwischen zwei Untereinheiten dadurch modelliert wird, daß die diesen entsprechenden Symbolen gemeinsam auf der rechten Seite einer Regel auftreten und gewissermaßen gleichzeitig in der Symbolfolge ersetzt werden. Regel p3 ermöglicht es übrigens, daß ein
Einzelstrang auch ganz wegfallen kann. Ein Beispiel für eine Sequenz, deren Sekundärstruktur einen derartigen Pseudoknoten darstellt, ist in Abb. 6.5-5 gezeigt. Diese Sequenz wird
mit der Regelfolge p1 , p2 , p6 , p2 , p6 , p3 , p9 , p10 , p9 , p10 , p14 , p16 , p2 , p5 , p2 , p4 , p3 , p3 , p2 ,
p6 , p2 , p4 , p2 , p4 , p2 , p5 , p2 , p4 , p2 , p4 , p3 , p19 , p19 , p18 , p21 , p3 erhalten. Der entsprechende
Syntaxbaum“ ist in in Abb. 6.5-6 dargestellt.
”
243
6 Kontextsensitive Grammatiken
S
G
ss
st
ss
b
ss
C
st
G
b
ss
G
st
C
G
ǫ
C
st
G
G
st
C
G
li
C
ǫ
ss
ss
b
G
ss
b
ss
b
ss
ce
ci
G
ci
ce
C
ce
C
ce
G
ss
A
C
b
ss
G
ǫ
A
ǫ
C
b
ss
ci
A
b
ss
ci
C
b
ss
A
U
A
b
ss
A
ǫ
Abb. 6.5-6: Der Syntaxbaum für die im Text gegebene Regelfolge mit der der in Abb. 6.5-5 gezeigte
Pseudoknoten erhalten wird.
6.6 Das Problem der kombinatorischen Explosion
Wie in den Abschnitten 6.3 und 6.4 erwähnt tritt bei den dort beschriebenen Grammatiken das Problem kombinatorischer Explosion auf, d.h. die Anzahl der (beim Parsen) zu
betrachtenden Möglichkeiten wächst exponentiell mit der Länge der zu parsenden Sequenz.
Dieses Problem läßt sich durch Parallelgrammatiken selbstverständlich nicht umgehen, da
es durch die Fragestellung begründet ist. Bei Parallelgrammatiken ist es jedoch möglich,
sinnvolle Beschränkungen einzuführen, die dieses Problem abmildern. Ich möchte an dieser Stelle betonen, daß die exponentielle Komplexität eines Verfahrens — so unelegant dies
auch vom theoretischen Standpunkt der Informatik aus auch sein mag — dieses nicht per se
disqualifiziert.
Es soll nun abgeschätzt werden, wieviele Sekundärstrukturen einer Sequenz möglich sind,
wenn diese durch Wechselwirkungen zwischen beliebigen Positionen zustande kommen. (Es
244
6.6 Kombinatorische Explosion
sei ausdrücklich angemerkt, daß nicht gefordert wird, daß disee Strukturen mittels einer
kontextfreien Grammatik zu beschreiben sind.) Sei u = u1 u2 . . . un eine Folge von Zeichen
(die z.B. für die monomeren Bausteine eines Makromoleküls stehen). Seien ui+1 . . . ui+l und
uj+1 . . . uj+l zwei nicht überlappende Teilsequenzen von u, also 0 ≤ i ≤ i + l ≤ j ≤ j + l ≤
n. Diese Teilsequenzen werden als korrespondierend bezeichnet, wenn ui+1 und uj+1, uj+2
und uj+2 , usw. bis ui+l und uj+l ( paralleler“ Verlauf) oder wenn ui+1 und uj+l , uj+2 und
”
uj+l−1, usw. bis ui+l und uj+1 ( antiparalleler“ Verlauf) jeweils einander entsprechen“, d.h.
”
”
daß zwischen einem derartigen Paar von Symbolen eine Relation besteht. Sollten z.B. die
Symbole uk , 1 ≤ k ≤ n für Basen einer DNA- bzw. RNA-Sequenz stehen, wäre die Relation
durch die möglichen Paarungen (sog. komplementärer“ Basen) gegeben; also A=T bzw.
”
A=U und G≡C. Diesem Beispiel entsprechend werden im folgenden vier Symbole zugrunde
gelegt, bei denen eine symmetrische Relation zwischen jeweils zweien besteht.
Sei l, 1 ≤ l ≤ ⌊ n2 ⌋, die Länge einer Teilsequenz. Dann kann die erste Sequenz sich an einer
von n − l + 1 insgesamt möglichen Positionen befinden, für die zweite verbleiben dann noch
n − 2l + 1 mölgiche Positionen. Es gibt also insgesamt
N(n, l) =
(n − l + 1)(n − 2l + 1)
2
(6.6-1)
mögliche Paarungen von zwei Teilsequenzen der Länge l. Der Faktor 12 rührt daher, daß
beide Teilsequenzen miteinander vertauscht werden können, ohne daß dadurch eine neue
Paarung zustande käme.) Die Wahrscheinlichkeit dafür, daß zwei zufälligerweise ausgewählte Basen miteinander paaren ist (Gleichverteilung vorausgesetzt) 14 ; die Wahrscheinlichkeit
dafür, daß zwei Teilsequenzen der Länge l miteinander paaren ist dann ( 21 )l . Damit ergibt
sich der Erwartungswert für die Anzahl NP (n, l) möglicher Paarungen mit
1
1
NP (n, l) = 2 · ( )l · N(n, l) = ( )l (n − l + 1)(n − 2l + 1)
4
4
(6.6-2)
Der Faktor 2 rührt daher, daß neben parallelen Paarungen auch antiparallele auftreten
können. Hierbei wird die Möglichkeit, daß eine Teilsequenz ein Palindrom darstellt und
die antiparallele Paarung der ursprünglichen entspricht, außer Betracht gelassen. Näherung
(die zu große Werte für mögliche Paarungen liefert) unter der Annahme dar, daß alle N(n, l)
Paarungsmöglichkeiten von einander unabhängig sind. (Dies ist jedoch nicht der Fall, wie
z.B. folgenden Beispiel mit l = 1 zeigt, wo der Einfachheit halber Häufigkeiten betrachtet
werden. Seien i, j und k drei Positionen einer Sequenz. Die mögliche Relationen sind (ui , uj ),
(ui , uk ) und (uj , uk ). Werden alle 64 (bei 4 unterschiedlichen Zeichen) möglichen Sequenzen
betrachtet, so gibt es 36 mit keiner, 24 mit einer, 4 mit zwei und keine mit drei Paarungen.
Die Annahme dreier voneinander unabhängiger Relationen liefert dagegen 36 Möglichkeiten
ohne, 27 mit einer, 9 mit vier und eine mit drei realisierten Paarungen. (Für eine der Relationen gibt es jeweils vier unterschiedliche Möglichkeiten, von denen drei keine und eine eine
Paarung aufweisen.) Für l > 1 gilt im Prinzip das Gleiche, wenn auch die entsprechenden
Überlegungen komplizierter sind.) Tatsächlich ist die Anzahl der vorliegenden Freiheitsgrade jedoch geringer und entspricht nicht den N(n, l) = O(n2 ) betrachteten Möglichkeiten,
Sequenzpositionen zu paaren, sondern ist n, der Anzahl der Positionen der Sequenz u. (Für
jede Position kann unabhängig von den anderen festgelegt“ werden, welches Zeichen hier
”
auftritt.)
245
6 Kontextsensitive Grammatiken
Die mittlere Länge ¯l einer Paarung (wobei nur die Paarungen eingehen sollen, die eine gewisse
Mindestlänge lmin überschreiten, ist
P⌊ n2 ⌋
¯l = l=lnmin NP (n, l) · l
P⌊ 2 ⌋
l=lmin NP (n, l)
(6.6-3)
wobei die Anzahl aller Paarungen ab einer bestimmten Länge (es wird nicht berücksichtigt, daß mit einer Paarung einer bestimmten Länge automatisch auch Paarungen kürzerer
Länge gegeben sind)
⌊n
⌋
2
NP,≥lmin =
X
NP (n, l)
l=lmin
(6.6-4)
ist. Es wird nun die Anzahl NK (n, k) der möglichen Kombinationen von k gleichzeitig auftretenden Paarungen abgeschätzt. Es gibt eine einzige Kombination“, bei der keine Paarung
”
auftritt, also
NK (n, 0) = 1
Die Anzahl der Kombinationen mit einer Paarung entspricht einfach der Anzahl möglicher
Paarungen
NK (n, 1) = NP,≥lmin
Soll nun zu diesen Kombinationen jeweils eine weitere Paarung hinzugefügt werden, so ist
zu berücksichtigen, daß der verbleibende, ungepaarte Rest der Sequenz nunmehr die Länge
n − 2¯l hat, so daß nun zu jeder der Kombinationen mit einer Paarung NP,≥lmin (n − 2(¯l)
Möglichkeiten hinzu treten und sich
1
NK (n, 2) = NP,≥lmin (n) · NP,≥lmin (n − 2¯l)
2
ergibt. Allgemein (für k gleichzeitige Paarungen bei einer Kombination):
NK (n, k)
=
1
NP,≥lmin (n) · NP,≥lmin (n − 2¯l) · . . . · NP,≥lmin (n − 2(k − 1)¯l)
k!
=
k
1 Y
NP,≥lmin (n − 2(i − 1)¯l)
k! i=1
(6.6-5)
Der Faktor k!1 rührt daher, daß bei einer Kombination von k Paarungen deren Reihenfolge
auf k! Arten beliebig permutiert werden kann, ohne daß sich dabei eine neue Kombination ergäbe. Diese Abschätzung ist zu optimistisch, da die Annahme, daß alle ungepaarten
Positionen auf der Sequenz noch für weitere Paarungen zur Verfügung stehen, i.allg. nicht
zutrifft. Vielmehr wäre davon auszugehen, daß die jeweils zwischen den Paarungen verbleibenden Teilstücke der Sequenz zu kurz sind. Die Maximalanzahl der gleichzeitig möglichen
246
6.6 Kombinatorische Explosion
Paarungen kann mit k̄max = ⌊ 2nl̄ ⌋ + 1 abgeschätzt werden. Die Anzahl aller möglichen Kombinationen mit bis zu maximal t Paarungen ist
NK (n) =
t
X
NK (n, k)
k=0
(6.6-6)
wobei für t die Obergrenze k̄max gilt. Es sei an dieser Stelle nochmals ausdrücklich darauf hingewiesen, daß mit den vorigen Formeln die Anzahl aller möglichen Faltungen einer
Sequenz, und nicht nur die, die einer Beschreibung durch kontextfreie Grammatiken zugänglich sind, abgeschätzt werden sollen! Durch die Wahl eines geeigneten lmin und t, kann die
Anzahl der in Betracht zu ziehenden Kombinationen stark verringert werden. Dies läßt sich
auch durch die biologische Problemstellung rechtfertigen. Gepaarte Teilsequenzen, die eine
Funktion haben, müssen eine gewisse Mindestlänge erreichen, um einerseits für einander
hinreichend spezifisch“ zu sein und damit die notwendige Paarung überhaupt zu ermögli”
chen und andererseits gegen Mutationen genügend abgesichert zu sein. Bezüglich der Anzahl
gleichzeitig realisierter Paarungen kann wohl davon ausgegangen werden, daß nicht alle gleichermaßen wichtig für die biologische Funktion sind und daher eine Beschränkung auf einen
Teil noch die wichtigsten, biologisch relevanten Paarungen erfaßt.
Bei der Modellierung dieser Sekundärstrukturen mittels einer Grammatik ist, abgesehen von
der (oben abgeschätzten) Anzahl der möglichen Strukturen, noch zu berücksichtigen, daß
jeder Paarung ein Symbol entspricht.
Abgesehen von der Anzahl der möglichen Sekundärstrukturen ist bei deren M
Abgesehen von der bisher betrachteten reinen Anzahl aller möglichen Sekundärstrukturen
ist es u.U.noch notwendig, die in einer solchen Sekundärstruktur realisierten Paarungen von
Teilsequenzen identifizieren zu können, so z.B. bei einem Vergleich verschiedener Sequenzen. Hierzu wird jedem korrespondierenden Paar von Teilsequenzen einer RNA-Sequenz eine
Marke A, B, C, . . . zugeordnet. (Diesen Marken entsprechen bei der späteren Beschreibung einer Sequenz durch eine Grammatik bestimmten Symbolen bzw. Regeln.) Paarungen
verschiedener Sequenzen, die die gleiche Marke tragen, werden dann als Teilstrukturen aufgefaßt werden können, die diesen Sequenzen gemein und für sie gewissermaßen typisch sind.
Da maximal k̄max Paarungen innerhalb einer Sequenz gleichzeit realisiert werden können, ist
ein Maximum m für die Anzahl der benötigten Marken gegeben. Außerdem wird gefordert,
daß die verwendeten Marken geordnet sind, d.h. in einer vorgegebenen Reihenfolge verwendet werden, wobei jedoch Marken ausgelassen werden dürfen. Bei einer Kombination
mit
1 m
k, k ≤ m, Paarungen gibt es also m · (m − 1) · . . . (m − k + 1)/t! = t! k Möglichkeiten,
diese Paarungen mit einer Marke zu
versehen. Die Anzahl aller Kombinationen NK (n, k)
1 m
in Gleichung 6.7-5 wäre also mit t! k zu multiplizieren, um die Anzahl aller mit Marken
versehenen Faltungen einer Sequenz zu erhalten.
Im folgenden sollen noch exakte Formeln zur Berechnung aller Kombinationen angegeben
werden. (jedoch ohne Berücksichtigung der unterschiedlichen Möglichkeiten, die beteiligten
Paarungen mit Marken zu versehen). Zur besseren Veranschaulichung dienen die folgenden
Abbildungen. In Abb. 6.7-1 ist die Sequenz durch einen waagrechten Strich symbolisiert.
Im linken Diagramm ist die Paarung der Bereiche, die den durch die Intervalle (i, i + l]
und (j, j + l] gegebenen Positionen entsprechen, durch zwei halbkreisförmige Bogen, die die
Grenzen dieser Intervalle mit einander verbinden, dargestellt. Für evtl. mögliche weitere
247
6 Kontextsensitive Grammatiken
i i+l
j j+l
Abb. 6.7-1: Im linken Diagramm ist die durch Halbkreise dargestellte Paarung zweier Bereiche
((i, i + l] und (j, j + l]) einer Sequenz, die durch einen waagrechten Strich dargestellt ist, gezeigt. Im
mittleren Diagramm sind weitere mögliche Paarungen gezeigt, die einer Beschreibung durch eine
kontextfreie Grammatik zugänglich sind. Im rechten Diagramm handelt es sich um eine Kombination von Paarungen, die zu ihrer Beschreibung eine kontextsensitive Grammatik erfordert.
Paarungen verbleiben die Bereiche außerhalb der obigen Intervallen. Diese können durch die
Intervalle (0, i], (i + l, j] und (j + l, n] angegeben werden, wobei 1 die Anfangs- und n die
Endposition der Sequenz bezeichnet. Das mittlere Diagramm zeigt mögliche weitere Paarungen, die durch kontextfreie Grammatiken beschrieben werden können. Solche weiteren
Paarungen sind im wesentlichen nur innerhalb eines der verbleibenden Teilbereiche möglich.
Das rechte Diagramm zeigt eine weitere Paarung, an der mehrere der verbleibenden Teilbereiche beteiligt sind. Sollen derartige Fälle von Überkreuzkorrelationen“ mittels einer
”
Grammatik beschrieben werden, so muß diese kontextsensitiv sein (wobei für die hier betrachteten Beispiele die im vorigen Abschnitt eingeführten Parallelgrammatiken ausreichen).
Gut geeignet zur Darstellung von Paarungen sind zweidimensionale Darstellungen, wie die
der Abb. 6.7-2. Hierbei wird die Sequenz senkrecht zu sich selbst aufgetragen, wodurch mit
einander gepaarte Positionen durch einen Punkt in der so erhaltenden Matrix dargestellt
werden können. Eine Paarung zwischen den den Intervallen (i, i + l] und (j, j + l] entsprechenden Bereichen entspricht dann einer Strecke. Im Falle paralleler Korrelationen verläuft
diese parallel zur Hauptdiagonalen der Matrix, im Falle antiparalleler Korrelationen parallel
zur Nebendiagonalen. In Abb. 6.7-2 sind beide diese Möglichkeiten gleichzeitig gezeigt, was
das x-förmige Kreuz ergibt. Da die Paarung eine symmetrische Beziehung ist, also einer Paarung zwischen den Positionen i und j auch eine Paarung zwischen den Positionen j und i
ist, ist die Matrix ebenfalls symmetrisch, womit dann auch jede Paarung doppelt dargestellt
ist, einmal oberhalb und einmal unterhalb der Hauptdiagonalen. Bereiche, die nicht mehr
möglichen Paarungen entsprechen, sind grau gekennzeichnet; im rechten Diagramm handelt
es sich um die vier grauen senkrechten bzw. waagrechten Balken. Die noch vorhandenen
weißen Flächen sind ein Maß für die noch vorhandenen Paarungsmöglichkeiten. Im linken
Diagramm der Abb. 6.7-2 sollen nur die Paarungen, die durch eine kontextfreie Grammatik beschrieben werden können, berücksichtigt werden. Damit verbleiben nur noch Punkte,
deren i− und j-Koordinate entweder (beide) außerhalb des Intervalls (i, j] oder innerhalb
des Intervalls (i + l, j] liegen. Im linken Diagramm treten so zu den grauen Balken noch die
hellgrauen Rechtecke hinzu. In Abb. 6.7-3 sind die diese Verhältnisse noch einmal dargestellt. Hierbei ist jedoch eine Paarung nur einmal dargestellt, indem j ≥ i gefordert wird.
Zusätzlich wird eine Reihenfolge der Paarungen verlangt, so daß bei einer Kombination von
Paarungen diese mit zunehmendem i geordnet sind. Anders gesagt bedeutet dies, daß zu
einer Kombination von bereits vorhandenen Paarungen (hier ist es erst eine Paarung) eine
weitere Paarung (i′ , i′ + l′ ], (j ′ , j ′ + l′ ] nur dann Berücksichtigung finden, wenn deren erstes
Intervall weiter rechts von allen ersten Intervallen bereits vorhandener Paarungen, denen die
Intervalle (ir , ir + lr ] und (jr , jr + lr ] entsprechen, liegt; formal: i′ ≥ maxr (ir + lr ). Dieser
Ungleichung entspricht die Fläche rechts und unterhalb des Punktes (i + l, i + l) bzw. des
entsprechenden Punktes des zuletzt hinzugefügten Paares. Im kontextfreien Fall“ nimmt die
”
Fläche, die ein Maß für die noch evtl. möglichen Paarungen ist, gewissermaßen quadratisch
248
6.6 Kombinatorische Explosion
i i+l
j j+l
i i+l
i
i+l
i
i+l
j
j+l
j
j+l
j j+l
Abb. 6.7-2: Zweidimensionale Darstellung der Paarung zwischen den den Intervallen (i, i + l] und
(j, j + l] entsprechenden Bereichen. Im linken Diagramm ist der kontextfreie“, im rechten der
”
kontextsensitive Fall“ dargestellt. Der Paarung entsprechen die schrägen Striche, die bei paralleler
”
Paarung von links oben nach rechts unten, bei antiparalleler senkrecht dazu verlaufen. Da an
dieser Stelle nur die Tatsache der Paarung eine Rolle spielt, die Richtung der Paarung jedoch
ohne Belang ist, sind beide Möglichkeiten dargestellt. Die verschiedenen Graustufen bezeichnen den
Status der entsprechenden Positionen: dunkelgrau bedeutet, da”3 der entsprechende Bereich bereits
an einer Paarung beteiligt ist, hellgrau, daß der entsprechende Bereich nicht (mehr) Bestandteil
einer Paarung sein kann und weiß, daß hier noch Paarungen möglich sind.
i i+l
j j+l
i i+l
i
i+l
i
i+l
j
j+l
j
j+l
j j+l
Abb. 6.7-3: Hier sind die Verhältnisse der Abb. 6.7-2 zugrunde gelegt. Die in Abb. 6.7-2 die Möglichkeit weiterer Paarungen andeutende Fläche kann weiter verringert werden, wenn berücksichtigt
wird, daß zu einer Kombination Paarungen in unterschiedlicher Reihenfolge hinzugefügt werden
können, ohne daß die dabei entstehenden Kombinationen verschieden sind. Daher wird einerseits
eine Paarung nur einmal, und zwar in der rechten oberen Hälfte dargestellt. Andererseits wird
gefordert, daß weitere Paarungen nur rechts und unterhalb des Punktes, der das Ende des ersten
Intervalls der vorigen Paarung bezeichnet, hinzugefügt werden dürfen.
ab, da ein dreieckiges Flächenstück durch zwei kleinere Dreiecke ersetzt wird; eine Reduktion
also in zwei Richtungen erfolgt. Im kontextsensitiven“ Fall nimmt die Fläche linear ab, da
”
ein streifenförmiges Flächenstück durch zwei Streifen ersetzt wird, die aber in etwa noch die
249
6 Kontextsensitive Grammatiken
Länge des ursprünglichen haben; also eine Reduktion nur in der Breite erfolgt.
Es wird
δijl :=









1
0
wenn uiui+1 . . . ui+l−1
und uj uj+1 . . . uj+l−1
paaren
sonst
definiert. Hierbei soll die Möglichkeit, daß uiui+1 . . . ui+l−1 und uj uj+1 . . . uj+l−1 auf zwei
verschiedene Arten (parallel und antiparallel) paaren können außer Betracht bleibten. (Ansonsten wäre die Definition von δ für diesen Fall um einen Zweig δ = 2 zu erweitern.) Damit
kann nun die Anzahl NKkf ,≥lmin ((x, y]) aller (kontextfreien) Kombinationen von Paarungen
für eine Teilsequenz (x, y] von u angegeben werden:
NKkf ,≥lmin ((x, y]) = 1 +
y−2l
min min{i−j,y−j}
Xmin y−l
X
X
i=x
j=i+lmin
l=lmin
δijl · NKkf ,≥lmin ((i + l, j]) · NKkf,≥lmin ((j + l, y])
(6.7-7)
Die Anzahl aller (kontextfreien) Kombinationen auf ganz u ergibt sich für (x, y] = (0, n],
also als NKkf ,≥lmin ((0, n]).
Entsprechend kann auch die Anzahl NKks ,≥lmin ((x, y], I) aller (kontextsensitiven) Kombinationen definiert werden. Hierfür ist jedoch eine Indexmenge“ I einzuführen, die gewisserma”
ßen angibt, welche Paarungen bereits in die Kombination eingegangen sind. Weiterhin wird
ein Prädikat“ für zwei Mengen A und B definiert; nämlich ρ(A, B) = 1 ⇐⇒ A ⊆ B und
”
ρ(A, B) = 0 ⇐⇒ A 6⊆ B.
NKks ,≥lmin ((x, y], I)
=1+
y−2l
min min{j−i,y−j}
Xmin y−l
X
X
i=x
j=i+lmin
l=lmin
(1 − ρ((i, i + l], I)) · (1 − ρ((j, j + l], I)) · δijl
·NKks ,≥lmin ((i + l, y], I \ (i, i + l] \ (j, j + l])
(6.7-8)
Die Anzahl aller (kontextsensitiverer) Kombinationen auf ganz u ergibt sich für (x, y] = (0, n]
und I = ∅, also als NKks ,≥lmin ((0, n], ∅).
Gleichungen 6.7-7 und 6.7-8 sind in den Tabellen 6.7-1 und 6.7-2 für verschiedene Werte für n
und lmin für jeweils vier verschiedene Sequenzen tabelliert. Hierbei wurden nur antiparallele
Paarungen berücksichtigt, d.h. es wird uj uj+1 . . . uj+l−1 = ui+l−1 . . . ui+1 ui (entsprechend der
in Abschnitt 6.1 eingeführten Notation) gefordert.
6.7 Das Parsen von Parallelgrammatiken
Zu Beginn soll die Grundidee des hier entwickelten Algorithmus vorgestellt werden. In Abschnitt 5.4 war die schrittweise Rekonstruktion eines Syntaxbaumes (Abb. 5.4-1) als eine
mögliche Interpretation des Prinzips des Earleyschen Algorithmus vorgestellt worden. Diese Betrachtungsweise soll nun auch auf den Syntaxbaum in Abb. 6.5-3 angewendet werden.
Angenommen, der Teilparse A ⇒∗ a sei bekannt, womit dann die (rechts)punktierte Regel
250
6.7 Parsen von Parallelgrammatiken
n
lmin
10 1
2
3
4
5
11 1
2
3
4
5
12 1
2
3
4
5
6
13 1
2
3
4
5
6
14 1
2
3
4
5
6
15 1
2
3
4
5
6
16 1
2
3
4
5
6
17 1
2
3
4
5
6
Sequenz 1
NKkf ,≥lmin NKks ,≥lmin
3.122
11.883
85
102
23
23
8
8
2
2
8.596
45.087
161
206
35
35
14
14
4
4
23.906
179.127
307
420
53
54
23
23
8
8
2
2
66.976
732.363
583
864
81
86
35
35
14
14
4
4
188.974 3.107.134
1.115
1.824
130
147
51
51
23
23
8
8
536.338 13.542.876
2.143
3.900
216
261
71
71
35
35
14
14
1.530.402 60.895.165
4.147
8.428
368
471
98
99
51
51
23
23
4.387.488 280.736.935
8.051
18.348
626
837
136
141
71
71
35
35
Sequenz 2
NKkf ,≥lmin NKks ,≥lmin
1.177
2.208
50
56
15
15
6
6
2
2
2.364
5.816
79
92
21
21
9
9
3
3
6.945
19.809
153
193
33
33
15
15
6
6
2
2
14.239
56.209
246
325
46
47
21
21
9
9
3
3
42.267
201.004
478
679
75
78
31
31
15
15
6
6
88.011
608.255
779
1.179
109
119
41
41
21
21
9
9
263.409 2.274.829
1.521
2.549
184
207
58
59
31
31
15
15
555.152 7.283.692
2.507
4.528
274
324
76
78
41
41
21
21
Sequenz 3
NKkf ,≥lmin NKks ,≥lmin
86
187
3
3
1
1
1
1
1
1
162
484
3
3
1
1
1
1
1
1
222
798
4
4
1
1
1
1
1
1
1
1
510
1.753
6
6
2
2
1
1
1
1
1
1
857
3.208
6
6
2
2
1
1
1
1
1
1
1.281
5.325
6
6
2
2
1
1
1
1
1
1
1.788
8.230
6
6
2
2
1
1
1
1
1
1
5.264
45.660
8
9
2
2
1
1
1
1
1
1
Sequenz 4
NKkf ,≥lmin NKks ,≥lmin
48
180
4
4
2
2
1
1
1
1
181
647
6
6
2
2
1
1
1
1
491
1.964
14
14
3
3
1
1
1
1
1
1
794
4.572
14
14
3
3
1
1
1
1
1
1
992
7.906
14
14
3
3
1
1
1
1
1
1
1.538
16.597
16
21
3
3
1
1
1
1
1
1
3.223
43.786
20
35
4
5
1
1
1
1
1
1
4.733
82.049
24
41
4
5
1
1
1
1
1
1
Tab. 6.7-1: Gleichungen 6.7-7 und 6.7-8 für einige n im Bereich von 10 bis 20 und lmin zwischen
1 und 7 für vier verschiedene Sequenzen 1–4 ausgewertet; es wurde jeweils die Teilsequenz von
Position 1 bis n zugrunde gelegt. Für Sequenz 1 (XXX . . . ) wurde angenommen, daß jede Position
mit jeder anderen paaren kann, also X = X. Sequenz 2 (AUAUAU . . . stellt eine alternierende Folge
der beiden Basen A und U (mit der Paarungsmöglichkeiten A = U, also U = A) dar und liefert die
größte überhaupt mögliche Anzahl von Faltungsmöglichkeiten, die durch eine RNA realiserbar ist.
Sequenz 3 ist eine Zufallssequenz (mit Gleichverteilung über alle vier Basen) und Sequenz 4 ist eine
serinspezifische tRNA aus Hefe.
251
6 Kontextsensitive Grammatiken
A→a., 0, 1 vorläge. Damit kann nun auch aus der (von Anfang an gegebenen) (links)punktierten Regel S →.ABn, 0, 0 die punktierte Regel S →A.bn, 0, 1 erhalten werden. Genauso
kann mit D →bc., 1, 3 (entsprechend dem zu dem mit D bezeichneten Knoten gehörenden
Unterbaum) auch aus C→.DAL, 1, 1 die punktierte Regel C→D.AL, 1, 3 erhalten werden. Ein
weiteres Weiterschieben“ des Punktes ist jedoch nun nur möglich, wenn eine rechtspunk”
tierte Regel der Form AL→α., 3, j vorliegt. Dieser würde das Ersetzen des Linkssymboles AL
entsprechen, was jedoch nur möglich ist, wenn auch das dazugehörige Rechtssymbol (hier AR )
ersetzt wird. Ob dies der Fall ist, ist an dieser Stelle im Verlauf des Earelyschen Algorithmus jedoch noch nicht bekannt. Daher wird so verfahren, als ob AL ein normales“ Symbol
”
n
lmin
00 1
00 2
00 2
20 3
4
5
6
7
30 3
4
5
6
7
40 3
4
5
6
7
50 3
4
5
6
7
60 3
4
5
6
7
70 3
4
5
6
7
80 3
4
5
6
7
Sequenz 1
NKkf ,≥lmin NKks ,≥lmin
12.345.678 12.345.678
1,234 ·1012
1,234 ·1012
2.908
4.408
459
562
164
165
96
96
51
51
533.222 1.810.083
36.415
67.001
6.916
9.908
1.514
1.913
560
577
1,112 ·10 8 1,112 ·10 9
3.067.621 10.588.075
274.527
598.711
53.427
81.210
15.114
21.708
2,539 ·1010
27.099.674 2,078 ·109
13.298.308 46.768.724
1.513.621 3.708.932
276.363
467.144
6,039 ·1012
2,500 ·1010
6,597 ·10 8 4,417 ·10 9
47.154.004 1,690 ·10 8
6.614.022 17.433.060
1,488 ·1015
2,386 ·1012
3,326 ·1010
1,540 ·10 9
1,438 ·10 8 5,252 ·10 8
3,765 ·1017
2,336 ·1014
1,732 ·1012
4,999 ·1010
3,413 ·10 9
Sequenz 2
NKkf ,≥lmin NKks ,≥lmin
12.345.678 12.345.678
1.144
233
94
56
31
119.512
11.551
2.570
701
305
1,419 ·10 7
610.749
73.495
17.249
5.384
1,813 ·10 9
34.214.371
2.430.130
351.643
81.188
2,433 ·1011
2,007 ·10 9
81.956.941
8.072.241
1.374.007
3,381 ·1013
1,217 ·1011
2,847 ·10 9
1,876 ·108
23.374.883
4,825 ·1015
7,573 ·1012
1,016 ·1011
4,454 ·10 9
4,074 ·10 8
1.475
263
94
56
31
275.619
17.958
3.301
808
308
7,617 ·10 7
1.580.879
127.079
24.123
7.010
2.819 ·1010
1,707 ·108
6.347.067
698.033
120.889
2,178 ·1010
3,669 ·10 8
22.500.999
2.940.068
2,3442 ·1010
8,414 ·10 8
66.127.177
1,777 ·109
Sequenz 3
NKkf ,≥lmin NKks ,≥lmin
12.345.678 12.345.678
Sequenz 4
NKkf ,≥lmin NKks ,≥lmin
12.345.678 12.345.678
2
2
1
1
1
1
1
1
1
1
11
11
2
2
1
1
1
1
1
1
39
100
3
3
1
1
1
1
1
1
326
1.172
24
24
7
7
4
4
2
2
1144
6043
24
24
7
7
4
4
2
2
5.064
117.545
35
35
8
8
4
4
2
2
27.883 1.203.817
37
54
8
8
4
4
2
2
5
7
1
1
1
1
1
1
1
1
10
16
1
1
1
1
1
1
1
1
118
207
5
5
2
2
1
1
1
1
1.316
3.161
18
18
11
11
7
7
4
4
10.863
48.784
92
92
22
22
7
7
4
4
20.837
174.882
112
235
23
30
7
7
4
4
188.883 2.038.921
904
2.104
68
90
7
7
4
4
Tab. 6.7-2: Gleichungen 6.7-7 und 6.7-8 für einige n im Bereich von 10 bis 100 und lmin zwischen 3
und 7 für vier die selben Sequenzen 1–4 wie in Tab. 6.7-1 ausgewertet. Fehlende Werte wurden aufgrund der hierfür benötigten Rechenzeit nicht ermittelt. Die hier benutzte Exponentialdarstellung
wurde (trotz jeweils bekannter Ziffernfolge) aus Platzgründen gewählt.
252
6.7 Parsen von Parallelgrammatiken
(also ein Nichtterminal, daß kein Parallelsymbol ist) wäre, jedoch jede Regel, die von dieser
Unterstellung abhängt, entsprechend markiert wird. So wird irgendwann die rechtspunktierte Regel C → DAL ., 1, 8 (die jedoch entsprechend markiert ist) erhalten, womit sich dann
die Regel B→C.EAR , 1, 10 (ebenfalls entsprechend markiert) ergibt. Bezüglich auftretender
Rechtssymbole wird analog verfahren. Im weiteren Verlauf treten dann auch die rechtspunktierten Regeln E → iAR k., 10, 13 und AR → BR m., 13, 15 auf, wobei beide eine Markierung
tragen, daß hier Rechtssymbole verwendet wurden, für die das Auftreten entsprechender
Linkssymbole unterstellt wird. Mit diesen beiden rechtspunktierten Regeln kann schließlich
B→CEAR ., 1, 13 erhalten werden - unter der Voraussetzung, daß für die hierbei verwendeten
Linkssymbole auch entsprechende Rechtssymbole existieren und umgkehrt. Wenn bekannt
ist, welches Linkssymbol welchem Rechtssymbol entspricht, dann neutralisieren“ sich gewis”
sermaßen an dieser Stelle die jeweils gemachten Voraussetzungen und es spielt außerhalb des
zu dem des zu mit B bezeichneten Knoten gehörenden Unterbaumes keine Rolle, daß in diesem Parallelsymbole auftreten. Die punktierte Regel B→CEAR ., 1, 13 kann daher verwendet
werden, ohne daß für sie weitere Markierungen zu berücksichtigen wären. Dieses Verfahren
hat jedoch eine Schwachstelle: Würden jedoch, wie hier vorgeschlagen, Parallelsymbole als
normale Symbole betrachtet, so wäre eine Unzahl von Ableitungen von Linkssymbolen und
Rechtssymbolen zu berücksichtigen, ohne daß diese Ableitungen jedoch unbedingt gleichzeitig, also als Parallelableitung“ eines Links- mit einem Rechtssymbol zu realisieren wären.
”
Daher wird das oben skizzierte Verfahren so modifiziert, daß in einer ersten vorgeschalteten
Phase erst alle möglichen Parallelableitungen festgestellt werden, also die Möglichkeit Paare
von Links- und Rechtssymbolen mittels Parallelregeln derart zu ersetzen, daß sich zwei mit
einander paarende Teilsequenzen (sog. Korrelationen“, s.u.) der zu parsenden Sequenz er”
geben. Der zweiten Phase entspricht dann die oben skizzierten Vorgehensweise, bei der dann
nur Links- und Rechtssymbole berücksichtigt werden müssen, für die tatsächlich auch eine
gemeinsame Ersetzung (wie in der ersten Phase festgestelllt) möglich ist.
Es sollen nun einige Definitionen eingeführt werden. Ziel dieses Abschnittes ist die oben
erwähnten Paarungsmöglichkeiten unter dem Begriff der Korrelation zu formalisieren und
schließlich einen Algorithmus zu deren Bestimmung anzugeben.
Es wird sich als zweckmäßig erweisen, das Analagon einer Ableitung auf Paaren von Zeichenfolgen zu betrachten. Hierfür wird von Σ∗ NL (N ∪ Σ)∗ × Σ∗ (NR+ ∪ NR− )(N ∪ Σ)∗ nach
(N ∪ Σ)∗ × (N ∪ Σ)∗ die Relation ⇒k definiert. Es ist
(αL , αR ) ⇒k (βL , βR )
genau dann, wenn
αL = v1 AL γ1
αR = v2 AR γ2
(AL , AR )→(α1 , α2 ) ∈ P+ ∪ P−
βL = v1 α1 γ1
und βR = v2 α2 γ2
(6.7-1)
wobei v1 , v2 ∈ Σ∗ , (AL , AR ) ∈ NL × (NR+ ∪ NR− ) und α1 , α2 , γ1, γ2 ∈ (N ∪ Σ)∗ .
Weiterhin wird die Relation ⇒∗k (ebenfalls von Σ∗ NL (N ∪ Σ)∗ × Σ∗ (NR+ ∪ NR− )(N ∪ Σ)∗
nach (N ∪ Σ)∗ × (N ∪ Σ)∗ ) definiert. Es ist
(αL , αR ) ⇒∗k (γL, γR )
253
6 Kontextsensitive Grammatiken
wenn
(αL , αR ) = (γL, γR )
oder es (βL , βR ), βL ∈ Σ∗ NL (N ∪ Σ)∗ und βR ∈ Σ∗ (NR+ ∪ NR− )(N ∪ Σ)∗ , gibt, so daß
(αL , αR ) ⇒k (βL , βR ) ⇒∗k (γL , γR )
(6.7-2)
In Anlehnung an den sonstigen Sprachgebrauch wird gesagt, (das Paar (von Zeichenfolgen))
(αL , αR ) wird zu (γL , γR ) abgeleitet.
Ist (αL , αR ) = (AL , AR ) mit (AL , AR ) ∈ NLR (d.h. es gibt eine Paarregel p1 , auf deren linken
Seite (αL , αR ) steht) und
p1
p2
p3
(n)
(n)
′
′′
(AL , AR ) ⇒k (αL′ , αR
) ⇒k (αL′′ , αR
) ⇒k . . . (αL , αR )
(k)
(k)
Ableitung, wobei p1 , p2 , . . . pn ∈ Pk , so heißen αL und αR , 0 ≤ k ≤ n, korreliert bezüglich
der (dieser Ableitung zugrundeliegenden) Regelfolge p1 , p2 , . . . pn .
Sei u ∈ Σ∗ eine Folge, u := u1 . . . un , mit den nicht überlappenden Teilfolgen v := ui+1 . . . uj
und v ′ := ui′+1 . . . uj ′ , j < i′ + 1. Dann heißt (AL , AR ) ⇒∗k (v, v ′ ), (AL , AR ) ∈ NLR Korrelation auf u.
(6.7-3)
Offensichtlich ist (da entsprechend den Definitionen 6.5-12 und 6.5-13 die Differenz der An(k)
(k)
zahlen der Terminalsymbole der beiden Komponenten der Paare (αL , αR ) bei jedem Ableitungsschritt unverändert bleibt)
l := |v| = |v ′ | = j − i = j ′ − i′
l werde als Länge der Korrelation (AL , AR ) ⇒∗k (v, v ′ ) bezeichnet.
(6.7-4)
Um die bei einer Korrelation x := (AL , AR ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l ) auftretenden Symbole AL , AR ∈ NL ∪ NR+ ∪ NR− , i, j, l ∈ IN0 zu referieren, wird definiert:
λ(x) :=(i, i + l]
λ(x) :=i
λ(x) :=i + l
ρ(x) :=(j, j + l]
ρ(x) :=j
ρ(x) :=j + l
|x| :=l
sL (x):=AL
sR (x):=AR
(6.7-5)
Hierbei bezeichnet (a, b] das nach links offene und rechts abgeschlossene Intervall, also
254
6.7 Parsen von Parallelgrammatiken
(a, b] = {k | a < k ≤ b}. Im folgenden spielt es keine Rolle, ob die Intervalle Teilmengen
von IN0 oder IR darstellen; es reicht aus, sie als Teilmengen von IN0 aufzufassen. Anmerkung:
Es ist |x| = λ(x) − λ(x) = ρ(x) − ρ(x). (Für Algorithmus 6.8-1 wird weiterhin |x| ≥ 1
vorauszusetzen sein.)
Die Menge aller Korrelationen auf u = u1 . . . un ist K(u),
K(u) := {(AL , AR ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l ) |
(AL , AR ) ∈ NLR , 0 ≤ i ≤ i + l ≤ j ≤ j + l ≤ n}
(6.7-6a)
Eine später hiervon benötigte Teilmenge ist
Kk (u) := {x ∈ K(u) | sL (x), sR (x) ∈ Sk }
(6.7-6b)
Diese Menge enthält all die Korrelationen, die tatsächlich bei Ableitungen auftreten können,
denn nicht in Sk enthaltene Parallelsymbole (und damit die entsprechenden Korrelationen)
können nur auftreten, wenn bereits eine Parallelregel angewandt wurde (und die Korrelation
damit in einer größeren“ enthalten“ (vgl. Definition 6.7-7) ist).
”
”
K(u) und Kk (u) sind endlich, da NL × (NR+ ∪ NR− ) und {(ui+1 . . . ui+l , uj+1 . . . uj+l ) | 0 ≤
i ≤ i + l ≤ j ≤ j + l ≤ n} endlich sind.
Seien x := (AL , AR ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l) und y := (BL , BR ) ⇒∗k (ui′ +1 . . . ui+l′ , uj ′+1
. . . uj ′ +l ) zwei Korrelationen. Die Korrelation x heißt nun in y enthalten oder es wird gesagt,
y enthält x, wenn l′ < l und AR , BR ∈ NR+ und (i, j) = (i′ , j ′ ) oder AR , BR ∈ NR− und
(i + l, j + l) = (i′ + l′ , j ′ + l′ ).
(6.7-7a)
Hiermit kann nun K(u) (oder eine Teilmenge davon) (eindeutig) in eine Folge von paarweise
disjunkten Teilmengen (vollständig) zerlegt werden:
K0 := {x ∈ K(u) | ¬∃y ∈ K(u): y enthält x}
S
Sc−1
Kc := {x ∈ (K(u) \ c−1
i=0 Ki (u)) | ¬∃y ∈ (K(u) \ i=0 Ki (u)): y enthält x}
für c > 0
(6.7-7b)
Es wird nun gezeigt, daß K0 (u) nicht leer ist. (Vorausgesetzt K(u) ist nicht leer.) Angenommen K0 (u) wäre leer. Dann würde dies mit obiger Definition bedeuten, daß es kein x ∈ K(u)
gibt, für das kein y ∈ K(u) exisitert, so daß x in y enthalten wäre. Anders formuliert heißt
das, daß für jedes x ein x′ ∈ K(u) existiert, so daß x′ die Korrelation x enthält. Damit
existiert nun eine Folge von Elementen x, x′ , x′′ , . . . aus K(u), so daß x in x′ , x′ in x′′ , usw.
enthalten ist und damit ist |x| < |x′ | < |x′′ | < . . . Wegen der Endlichkeit von K(u) gibt es
damit ein Element in dieser Folge, daß mehrfach auftritt. Sei dieses y. Mit der Transitivität
der <“-Relation folgt, daß |y| < |y|, was einen Widerspruch darstellt.
”
255
6 Kontextsensitive Grammatiken
S
Entsprechendes kann für Kc (u) gezeigt werden (vorausgesetzt K(u) \ c−1
i=0 Ki (u) ist nicht
leer). Da K(u) endlich ist, wird nach endlich vielen Schritten ein c auftreten, so daß K(u) \
Sc−1
Sc−1
i=0 Ki (u) leere Menge ist. Umgekehrt bedeutet dies, daß K(u) ⊆ i=0 Ki (u), die angegebene Zerlegung also vollständig ist (d.h. jedes Element von K(u) ist in einer dieser Teilmenge
Ki (u) enthalten.
Für alle Korrelationen x ∈ K(u) läßt sich nun eine Verschachtelungstiefe bzw. -zahl c(x)
angeben:
c(x) = c ⇐⇒ x ∈ Kc (u)
(6.7-7c)
(Da die Mengen Kc , 0 ≤ c paarweise disjunkt sind, ist diese Definition eindeutig.)
Weiterhin wird die Funktion κ : IN×K(u)→{0, 1}, (k, x) 7→ κ(k, x) wie folgt definiert. Hierbei
bezeichnet k eine Position in der Zeichenfolge u:
κ(k, x) :=
(
0 wenn k ∈
6 (λ(x), ρ(x)]
1 wenn k ∈ (λ(x), ρ(x)]
(6.7-8)
Definition: Mit Hilfe dieser Funktion κ wird nun jeder Position k der Zeichenfolge u eine
Kollisionszahl K ′ bezüglich der Teilmenge K′ (u) ⊆ K(u) zugeordnet, K ′ : IN × P(K(u))→
IN0 , (k, K′ (u)) 7→ K′ (k):
X
K ′ (k) :=
κ(k, x)
x∈K′ (u)
(6.7-9)
Anmerkung: Seien K′ (u) und K′′ (u) zwei disjunkte Teilmengen von K(u). Dann ist mit
Definition 6.7-6 die Kollisionszahl K ′′′ (k) bezüglich der Vereinigung K′ (u) ∪ K′′ (u) dieser
beiden Teilmengen die Summe der Kollisionszahlen K ′ (k) und K ′′ (k) bezüglich der jeweiligen
Teilmenge, also
X
K′′′ (k) =
κ(k, x)
x∈K′′′ (u)
=
X
κ(k, x)
x∈K′ (u)∪K′′ (u)
=
X
x∈K′ (u)
κ(k, x) +
X
κ(k, x)
x∈K′′ (u)
= K′ (k) + K′′ (k)
Diese Beziehung gilt insbesondere auch für einelementige Teilmengen, was in Zusammenhang
mit Algorithmus 6.7-12 ausgenutzt werden wird. (Auf die Angabe eines Algorithmus zur
Berechnung von K ′ (k) wird verzichtet, da dieser sich unmittelbar aus den Definitionen 6.7-7
und 6.7-8 ergibt.)
Die Bedeutung dieser Kollisionszahl K(k) liegt darin, daß gezeigt werden kann, daß der
Aufwand für das Parsen von u := u1 . . . un bezüglich einer Parallelgrammatik höchstens
256
6.7 Parsen von Parallelgrammatiken
um den Faktor 4maxk∈[1,n] K(k) größer ist als der Aufwand für das Parsen bezüglich einer
kontextfreien Grammatik. Hierbei bezeichnet K(k) die Kollisionszahl bezüglich der Menge
aller Kollisionen K(u).
Daher wird eine Teilmenge Kz (u) ⊆ K(u) derart gewählt, daß die Kollisionszahl Kz (k)
bezüglich Kz (u) eine bestimmte, vorgegebene Obergrenze z nicht überschreitet. Mit diesem
Parameter z gilt also maxk∈[1,n] Kr (k) ≤ z. Damit ist der Mehraufwand für das Parsen
höchstens um den Faktor 4z größer. Selbstverständlich werden damit dann nicht mehr alle
möglichen Ableitungen betrachtet.
Um jedoch die biologisch relevanten Ableitungen möglichst nicht auszuschließen, wird auf
der Menge der Korrelationen eine Ordnung <k wie folgt definiert. Sei x, y ∈ K(u) (bzw.
Kk (u)). Dann ist (x biologischer relevanter als y)
x <k y
genau dann, wenn
oder
oder
oder
oder
(i)
(ii)
(iii)
(iv)
(v)
c(x) < c(y)
c(y) = c(x)
c(y) = c(x)
c(y) = c(x)
c(y) = c(x)
∧
∧
∧
∧
|y| < |x|
|y| = |x| ∧ ρ(y) − λ(y) < ρ(x) − λ(x)
|y| = |x| ∧ ρ(y) − λ(y) = ρ(x) − λ(x) ∧ λ(x) < λ(y)
|y| = |x| ∧ ρ(y) − λ(y) = ρ(x) − λ(x) ∧ λ(x) = λ(y)
∧ (sL (x), sR (x)) < (sL (y), sR(y))
(6.7-10)
Hierbei bezeichnet < die übliche Relation auf den natürlichen Zahlen bzw. die lexikalische
Ordnung (auf Symboltupeln).
Diese Ordnung soll, zumindestens teilweise, biologisch motiviert werden. (i) Mit der Verschachtelungszahl ist berücksichtigt, daß längere Korrelationen i.allg. auch kürzere enthalten.
Das Auftreten längerer Korrelationen ist weniger wahrscheinlich als das kürzerer. Demzufolge ist anzunehmen, daß längeren eine größere biologische Bedeutung zukommt; auch im
Hinblick auf ihr Zustandekommen während der Evolution. Mit dieser Bedingung soll also eine
Korrelation möglichst über ihre gesamte Länge Berücksichtigung finden und die ihn ihr enthaltenden kürzeren Korrelationen der gesamten gegenüber zurücktreten. (ii) Hier trifft das
gleiche Argument zu wie bei i. Nur daß die kürzere Korrelation hier nicht mehr in der längeren
enthalten ist. Sollten solchen korrelierten Teilsequenzen nämlich tatsächlich einer biologisch
funktionellen molekularen Wechselwirkung entsprechen, so ist im Verlaufe der Evolution eine
Tendenz zu größerer Länge hin zu erwarten. Mutationen, die zu einer Verkürzung dieser Teilsequenzen führen, werden auch die Stärke der Wechselwirkung vermindern und damit mit
hoher Wahrscheinlichkeit eine gestörte Funktion nach sich ziehen. Daher unterliegen derartige Mutationen einem Selektionsdruck zu ihren Ungunsten. Sollten korrelierten Teilsequenzen
dagegen tatsächlich keine Funktion zukommen, ihr Zustandekommen also tatsächlich zufällig
sein, so unterliegen deren Mutationen keiner Selektion. Je länger aber derartige Teilsequenzen sind, desto größer ist die Wahrscheinlichkeit, daß eine Mutation nicht an ihrem Rande“,
”
sondern in ihrem Innern“ stattfindet, was i.allg. dazu führen dürfte, daß diese Teilsequen”
zen nicht mehr über ihre volle Länge hinweg korrelieren. (iii) Korrelierte Teilsequenzen, die
weit von einander entfernt sind, werden gegenüber solchen, die einen kürzeren Abstand haben, bevorzugt. Biologisch kann dies dadurch motiviert werden, daß Teilsequenzen, die auf
257
6 Kontextsensitive Grammatiken
dem Strang nahe beieinander liegen, auch eher räumlich beianderliegen, da sie in ihrer freien
Bewegbarkeit im Raume in Bezug zu einander stärker eingeschränkt sind. Umgekehrt sind
Teilsequenzen in ihrer Bewegung im Raume von einander umso unabhängiger, je weiter sie
auf dem Strang von einander entfernt sind. Eine Wechselwirkung zwischen solchen Teilsequenzen ist daher unwahrscheinlicher und ihr tatsächliches Auftreten wohl wiederum eher
biologisch begründet. Ein Vorteil dieses Teils der Definition liegt darin, daß der Aufwand für
das Parsen etwas geringer ausfällt (obwohl die Komplexität unverändert bleibt). (iv) Dieses
Kriterium ist willkürlich eingeführt, um auch dann zu einer Relation zwischen x und y zu
gelangen, wenn die Teile i–iii der Definition nicht anwendbar sind. Allerdings kann dieses
Kriterium auch biologisch von Bedeutung sein, nämlich dann, wenn bei der Sequenz u die
Syntheserichtung und Formulierung der modellierenden Grammatik des zugrundeliegenden
Moleküls berücksichtigt wird. Biologische Makromoleküle werden derart biosynthetisiert, so
daß an die bereits vorhandene Kette sukzessive an einem Ende weitere Bausteine angelagert
werden. Zum Beispiel erfolgt die Synthese von RNA in 5′→3′ -Richtung, d.h. neue Nucleotide
werden stets an das 3′ -Ende angefügt. Diesem zeitlichen Nacheinander bei der Biosynthese
führt auch zu einem zeitlichen Nacheinander bei der Faltung des Moleküls, da die Faltung
bereits während der Synthese beginnt. Es ist also möglich, daß weiter am Anfang“ des Mo”
leküls liegende Teilstücke bereits eine Wechselwirkung eingegangen sind, während alternative
Wechselwirkungsmöglichkeiten noch gar nicht vorhanden sind. Zur Realisierung dieser anderen Wechselwirkungsmöglichkeiten muß zudem noch eine Änderung der dreidimensionalen
Raumstruktur erfolgen. Diese ist selbstverständlich möglich. Es erscheint allerdings plausibel
anzunemen, daß bereits vorhandene Strukturen beibehalten werden, so daß es berechtigt ist,
Korrelationen, die näher beim Anfang liegen, eine höhere Priorität einzuräumen. (v) Dies
stellt eine rein willkürliche Setzung dar, um auch dann zu einer Relation zwischen x und y
zu gelangen, wenn die Punkte i–iv nicht zutreffen. Bei der Formulierung der Grammatik, mit
der die Moleküle modelliert werden sollen, kann aber vorhandenen oder vermuteten korrelierten Teilsequenzen durch die Wahl entsprechender Paarsymbole eine höhere oder niedrigere
Priorität eingeräumt werden.
Satz: Die in 6.7-10 definierte Relation <k ist total.
(6.7-11)
Für den Beweis ist zu zeigen, daß für alle x, y ∈ K(u), x 6= y gilt x <k y ∨ y <k x. Es wird
angenommen, daß dies nicht der Fall ist, also
¬(x <k y ∨ y <k x)
Durch Einsetzen der obigen Definition wird hieraus erhalten:
¬
(c(x) < c(y))
∨
∨
∨
∨
(c(x) = c(y)
(c(x) = c(y)
(c(x) = c(y)
(c(x) = c(y)
∧
∧
∧
∧
|y| < |x|)
|y| = |x| ∧ ρ(y) − λ(y) < ρ(x) − λ(x))
|y| = |x| ∧ ρ(y) − λ(y) = ρ(x) − λ(x) ∧ λ(x) < λ(y))
|y| = |x| ∧ ρ(y) − λ(y) = ρ(x) − λ(x) ∧ λ(x) = λ(y) ∧ (sL (x), sR (x)) < (sL (y), sR (y))
...
258
6.7 Parsen von Parallelgrammatiken
∨
∨
∨
∨
∨
(c(y) < c(x))
(c(y) = c(x) ∧
(c(y) = c(x) ∧
(c(y) = c(x) ∧
(c(y) = c(x) ∧
|x| < |y|)
|x| = |y| ∧ ρ(x) − λ(x) < ρ(y) − λ(y))
|x| = |y| ∧ ρ(x) − λ(x) = ρ(y) − λ(y) ∧ λ(y) < λ(x))
|x| = |y| ∧ ρ(x) − λ(x) = ρ(y) − λ(y) ∧ λ(y) = λ(x) ∧ (sL (y), sR(y)) < (sL (x), sR (x))
Durch zweimalige Anwendung der DeMorganschen Regel ergibt sich
∧
∧
∧
∧
∧
∧
∧
∧
∧
(c(x) 6< c(y))
(c(x) 6= c(y)
(c(x) 6= c(y)
(c(x) 6= c(y)
(c(x) 6= c(y)
∨
∨
∨
∨
|y| <
6 |x|)
|y| =
6 |x| ∨ ρ(y) − λ(y) 6< ρ(x) − λ(x))
|y| =
6 |x| ∨ ρ(y) − λ(y) 6= ρ(x) − λ(x) ∨ λ(x) 6< λ(y))
|y| =
6 |x| ∨ ρ(y) − λ(y)6= ρ(x) − λ(x) ∨ λ(x) 6= λ(y) ∨ ¬ (sL (x), sR (x)) < (sL (y), sR(y))
(c(y) 6< c(x))
(c(y) 6= c(x) ∨ |x| <
6 |y|)
(c(y) 6= c(x) ∧ |x| =
6 |y| ∨ ρ(x) − λ(x) 6< ρ(y) − λ(y))
(c(y) 6= c(x) ∨ |x| =
6 |y| ∨ ρ(x) − λ(x) 6= ρ(y) − λ(y) ∧ λ(y) 6< λ(x))
(c(y) 6= c(x) ∨ |x| =
6 |y| ∨ ρ(x) − λ(x) 6= ρ(y) − λ(y) ∨ λ(y) 6= λ(x)
∨ ¬ (sL (y), sR(y)) < (sL (x), sR (x))
Die äußeren Klammern können weggelassen werden. Aus c(x) 6< c(x) und c(y) 6< c(x) folgt
daß c(x) = c(y). Damit verbleibt in der jeweils zweiten Klammer nur noch die Alternative
|y| <
6 |x| und |x| <
6 |y|, woraus folgt, daß |y| = |x|. Indem wiederholt entsprechend dem
vorigen Argument geschlossen wird, ergibt sich schließlich
∧
∧
∧
∧
c(x) = c(y)
|x| = |y|
ρ(x) − λ(x) = ρ(y) − λ(y)
λ(x)
= λ(y)
¬ (sL (x), sR (x)) = (sL (y), sR(y))
Mit λ(x) = λ(y) folgt aus ρ(x) − λ(x) = ρ(y) − λ(y), daß ρ(x) = ρ(y). Da eine Korrelation x
die Ableitung eines Paares von Symbolen zu einem Paar von Teilsequenzen aus u darstellt
(vgl. Defintion 6.7-3) und somit durch sL (x), sR (x), λ(x), ρ(x) und |x| eindeutig bestimmt
ist, ergibt sich aus den letzten vier Gleichheiten (die erste ist dann eine Konsequenz daraus),
daß x = y. Dies steht im Widerspruch zu eingangs gemachten Voraussetzung. Somit führt
die Annahme, daß <k nicht total ist, zu einem Widerspruch, womit der Satz bewiesen ist.
Mit Hilfe dieser Relation <k kann nun eine Teilmenge Kr (u) ⊆ K(u) (bzw. Kk (u) definiert
werden, die möglichst viele biologisch wichtige Korrelationen enthält, bezüglich der aber die
Kollisionszahl z nicht überschritten wird. Beginnend mit der leeren Menge werden dieser in
der durch die Relation <k festgelegten Reihenfolge ein Elemente von K(u) nach dem andern
hinzugefügt, solange die Kollisionszahl z bezüglich der so erhaltenden Menge hierbei nicht
überschritten wird.
259
6 Kontextsensitive Grammatiken
Formal ergibt sich folgender Algorithmus. Es werden zwei Folgen definiert, Kt (u) und Kz,t (u),
wobei 0 ≤ t ≤ |K(u)|. Es ist
K0 (u)
:= K(u)
Kt+1 (u) := Kt (u) \ {xt }
wobei
xt <k y für alle y ∈ Kt+1 (u)
(6.7-12a)
xt ist hierbei die in diesem Schritt noch vorhandene biologisch günstigste Korrelation (entsprechend obiger Definition von <k ).
Kz,0 (u)
:= ∅
Kz,t+1 (u) :=











Kz,t (u)
wenn z 6≤ max Kz,t (k) + κ(k, xt )
k∈[1,n]
Kz,t (u) ∪ {xt } wenn z ≤ max Kz,t (k) + κ(k, xt )
k∈[1,n]
(6.7-12b)
P
Hierbei ist Kz,t (k) = x∈K′ z,t (u) κ(k, x) die in 6.7-9 definierte Kollisionszahl. Entsprechend
der Anmerkung nach Definition 6.7-9 braucht diese nicht in jedem Schritt neu berechnet zu
werden, vielmehr ist den beiden Zweigen des zweiten Teils der Defintion 6.7-12b entsprechend
Kz,t+1 (k) = Kz,t (k) bzw. Kz,t+1 (k) = Kz,t (k) + κ(k, xt ). Bei xt handelt es sich um die in 6.712a definierte Korrelation.
Und schließlich ist die oben beschriebene Teilmenge von K(u):
Kz (u) := Kz,|K(u)| (u)
(6.7-12c)
(|K(u)| ist die Anzahl aller Korrelationen.)
Offen ist noch die Frage nach Bestimmung der Menge K(u) selbst. Hierzu wird in Analogie
zum Earleyschen Algorithmus (5.4-7) verfahren. Hierfür werden punktierte Parallelregeln
eingeführt. Im Gegensatz zu den punktierten Regeln des Earleyschen Algorithmus weisen
diese zwei Punkte auf, die außerdem im Verlaufe des Algorithmus“ im wesentlichen von
”
rechts nach links bewegt“ werden. Da die Bewegungsrichtung der Punkte von der Art der
”
Regel abhängig ist, wird von anfangs- und endpunktierten Regeln gesprochen. Der Hypergraph (G, g) ist wie folgt definiert.
1. Sei (AL , AR+ )→(αL , αR ) ∈ P+ rechtsrechtslineare Regel und sei 0 ≤ i < j ≤ n. Dann
ist (AL , AR+ )→(αL ., αR .), i, j, 0 ∈ G anfangspunktierte Regel.
2. Sei (AL , AR− )→(αL, αR ) ∈ P− rechtslinkslineare Regel und sei 0 ≤ i < j ≤ n. Dann
ist (AL , AR− )→(αL ., .αR ), i, j, 0 ∈ G anfangspunktierte Regel.
260
6.7 Parsen von Parallelgrammatiken
3. Sei I ′ := (AL , AR+ )→(αL V.βL , αR W.βR ), i, j, l, I ′ ∈ G, und V = ui und W = uj und
i + l < j, dann ist I ∈ G, wobei I := (AL , AR+ )→(αL .V βL , αR .W βR ), i − 1, j − 1, l + 1,
(V, W ) ∈ G und (I ′ , I, (V, W )) ∈ g.
4. Sei I ′ := (AL , AR− )→(αL V.βL , βR .W αR ), i, j, l, I ′ ∈ G, und V = ui und W = uj+l+1
und 0 < i und j+l < n, dann ist I ∈ G, wobei I := (AL , AR+ )→(αL .V βL , βR W.αR ), i−
1, j, l + 1, (V, W ) ∈ G und (I ′ , I, (V, W )) ∈ g.
5. Sei I ′ := (AL , AR+ ) → (αL BL ., αR BR+ .), i, j, 0, I ′ ∈ G und I ′′ := (BL , BR+ ) →
(.βL , .βR ), i, j, l, I ′′ ∈ G (ist endpunktierte Regel), dann ist I ∈ G, wobei I :=
(AL , AR+ )→(αL .BL , αR .BR+ ), i, j, l und (I ′ , I, I ′′ ) ∈ g.
6. Sei I ′ := (AL , AR− ) → (αL BL ., .BR− αR ), i, j, 0, I ′ ∈ G und I ′′ := (BL , BR− ) →
(.βL , βR .), i, j − l, l, I ′′ ∈ G (ist endpunktierte Regel), dann ist I ∈ G, wobei I :=
(AL , AR− )→(αL .BL , BR− .αR ), i, j − l, l und (I ′ , I, I ′′ ) ∈ g.
7. (G, g) ist minimal, d.h. es gibt kein G′ ⊂ G oder g ′ ⊂ g, so daß G′ bzw. g ′ die
Bedingungen 1–6 erfüllen würden.
(6.7-13)
Anmerkung: Ist I = (AL , AR+ )→(.αL, .αR+ ), i, j, l bzw. I = (AL , AR− )→(.αL, αR− .), i, j, l
endpunktierte Regel, dann ist (AL , AR+ ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l ) bzw. (AL , AR− ) ⇒∗k
(ui+1 . . . ui+l , uj+1 . . . uj+l ) Korrelation. Außerdem gilt für alle punktierten Regeln I ∈ G,
I := (AL , AR+ ) → (αL .βL , αR .βR ), i, j, l bzw. I := (AL , AR− ) → (αL .βL , βR .αR ), i, j, l, daß
|βL | = |βR |. (Dieses könnte ohne weitere mittels Induktion gezeigt werden, wobei mit einginge, daß punktierte Regeln mit |βL | =
6 |βR | aufgrund der Minimalität von G (siehe Nr. 7
obiger Definition) nicht möglich sind.)
Mittels (G, g) kann nun die Menge der Regelfolgen aller Korrelationen ermittelt werden.
Jedem Knoten I ∈ G werden Mengen von Regelfolgen P (I) ∈ Pk∗ wie folgt zugeordnet,
wobei λ die leere Regelfolge ist:
(i) Ist I := (AL , AR )→(αL., αR .), i, j, 0 anfangspunktierte rechtsrechtslineare bzw. I :=
(AL , AR )→(αL ., .αR ), i, j, 0 anfangspunktierte rechtslinkslineare Regel, so ist P (I) :=
{(AL , AR )→(αL , αR )}.
(ii) Ist I = (V, W ), V, W ∈ Σ, einfacher Knoten von G, so ist P (I) := {λ}.
(iii) Ist I := (AL , AR ) → (αL .βL , αR .βR ), i, j, l, βL 6= ǫ, βR 6= ǫ nichtanfangspunktierte rechtsrechtslineare Regel oder I := (AL , AR ) → (αL .βL , βR .αR ), i, j, l, βL 6= ǫ,
βR 6= ǫ nichtanfangspunktierte rechtslinkslineare Regel, I ∈ G, und ist I ′ , I ′′ ∈ G
S
mit (I ′ , I, I ′′ ) ∈ g, dann ist ist P (I) := I ′ ,I ′′ ∈G|(I ′ ,I,I ′′ )∈g P (I ′)P (I ′′ ).
(6.7-14)
Die Definition 6.7-13 ist (in leicht modifizierter Form) Bestandteil des Algorithmus 6.8-1.
261
6 Kontextsensitive Grammatiken
Satz: Jeder endpunktierten Regel I ∈ G entspricht nun eine Korrelation, die Menge (der
Regelfolgen) aller Korrelationen ist somit
p
{p ∈ P+∗ ∪ P−∗ |(AL , AR ) ⇒∗ (Ui+1 . . . ui+l , ui+1 . . . uj+l ∈ K(u)}
=
[
P (I)
I∈G| I=(AL ,A + )→(.αL ,.αR ),i,j,l
R
∨I=(AL ,A − )→(.αL ,αR .),i,j,l
R
(6.7-15)
Hierbei ist I also entweder endpunktierte rechtsrechts- oder rechtslinkslineare Parallelregel.
Beweis: Es wird gezeigt, daß jede Korrelation zu einer Folge entsprechender Elemente (Knoten und Hyperkanten) in (G, g) führt und schließlich die zugeordneten Regelfolgen gemäß
obigen Definitionen Korrelationen in der Menge K(u) entsprechen (A). Umgekehrt wird
gezeigt, daß jedes Element der obigen Vereinigungsmenge tatsächlich die zu einer Korrelation führende Regelfolge darstellt (B). Der Beweis erfolgt in mehreren Schritten; notwendige
Hilfssätze werden eingeführt.
Hilfssatz 1a: Sei
I1′ := I0 := (AL , AR+ )→(αL .βL , αR .βR ), i, j, l
punktierte rechtsrechtslineare Regel, I0 ∈ G. Sei weiterhin |αL | = |αR | =: K, K ≥ 0,
αL = ui−K+1. . . ui , αR = uj−K+1. . . uj und i + l ≤ j − K. Dann gibt es eine endpunktierte
Regel IK ∈ G und es ist P (I0 ) ⊆ P (IK ).
Der Beweis wird mittels Induktion geführt, indem gezeigt wird, daß es für jedes k, 0 ≤
k ≤ K eine punktierte Regel Ik := (AL , AR+ ) → (ui−K+1. . . ui−k .ui−k+1. . . ui βL , uj−K+1. . .
uj−k .uj−k+1. . . uj βR ), i − k, j − k, l + k, Ik ∈ G und P (I0 ) ⊆ P (Ik ) gibt.
(i) Für k = 0 ist dies nach Voraussetzung des Hilfssatzes der Fall und es gibt nichts weiter
zu zeigen.
(ii) k > 0. Setze Ik′ := Ik−1. Der Induktionsvoraussetzung entsprechend ist damit Ik′ = Ik−1 =
(AL , AR+ )→(ui−K+1. . . ui−(k−1) .ui−(k−1)+1 . . . ui βL , uj−K+1. . . uj−(k−1) .uj−(k−1)+1 . . . uj βR ), i −
(k −1), j −(k −1), l+(k −1). Der Voraussetzung des Hilfssatzes entsprechend ist i+l ≤ j −K
und weiterhin ist gefordert, daß k ≤ K. Damit ist dann i + l ≤ j − k bzw. i + l < j − k + 1.
Dies umgeformt ergibt i − (k − 1) + l + (k − 1) < j − (k − 1), was aber nichts anderes
ist, als eine der Voraussetzungen von Nr. 3 der Definition 6.7-13. Damit sind alle Voraussetzungen dieses Definitionsteils erfüllt, womit folgt Ik ∈ G, (Ik′ , Ik , Ik′′ ) ∈ g, Ik = (AL , AR+ )→
(ui−K+1. . . ui−(k−1)−1 .ui−(k−1)+1−1 . . . uiβL , uj−K+1. . . uj−(k−1)−1.uj−(k−1)+1−1 . . . uj βR ), i − (k −
1) − 1, j − (k − 1) − 1, l + (k − 1) + 1, also Ik = (AL , AR+ )→(ui−K+1. . . ui−k .ui−(k−1) . . . ui βL ,
uj−K+1. . . uj−k .uj−(k−1). . . uj βR ), i − k, j − k, l + k und I ′′ := (ui−(k−1) , uj−(k−1))). Mit ii der
S
Definition 6.7-11 ist P (Ik′′ ) = {λ}, so daß mit iii dieser Definition P (Ik ) = Ik′ ,Ik′′ ∈G|(Ik′ ,Ik ,Ik′′ )∈g
P (Ik′ )P (Ik′′ ) ist, woraus (mit P (Ik′ ) = P (Ik−1)) folgt, daß P (Ik−1) ⊆ P (Ik ) und damit auch
P (I0 ) ⊆ P (Ik ).
Mit i und ii und k:=K folgt die Behauptung des Hilfssatzes (bezüglich rechtsrechtslinearer
Regeln).
262
6.7 Parsen von Parallelgrammatiken
Hilfssatz 1b: Sei
I1′ := I0 := (AL , AR− )→(αL .βL , βR .αR ), i, j, l
punktierte rechtslinkslineare Regel (was die andere Möglichkeit darstellt), I0 ∈ G. Sei weiterhin |αL | = |αR | =: K, K ≥ 0, αL = ui−K+1 . . . ui, αR = uj+l+1 . . . uj+l+K und j + l + K ≤ n.
Dann gibt es eine endpunktierte Regel IK ∈ G und es ist P (I0 ) ⊆ P (IK ).
Der Beweis wird mittels Induktion geführt, indem gezeigt wird, daß es für jedes k, 0 ≤ k ≤ K
eine punktierte Regel (AL , AR− )→(ui−K+1 . . . ui−k .ui−k+1. . . ui βL , βR uj+l+1. . . uj+l+1+k .uj+l+1+k+1
. . . uj+l+1+K ), i − k, j, l + k =: Ik , Ik ∈ G und P (I0 ) ⊆ P (Ik ) gibt.
(i) Für k = 0 ist dies nach Voraussetzung des Hilfssatzes der Fall und es gibt nichts weiter
zu zeigen.
(ii) k > 0. Setze Ik′ := Ik−1 . Der Induktionsvoraussetzung entsprechend ist damit Ik′ = Ik−1 =
(AL , AR− )→(ui−K+1. . . ui−(k−1) .ui−(k−1)+1 . . . uiβL , βR uj+l+1. . . uj+l+1+(k−1) .uj+l+1+(k−1)+1 . . .
uj+l+1+K ), i − (k − 1), j, l + (k − 1). Obiger Voraussetzung nach ist j + l + K ≤ n. Da
k ≤ K, ist damit j + l + k − 1 < n bzw. j + (l + (k − 1)) < n. Dies ist aber eine der Voraussetzungen der Nr. 4 der Definition 6.7-13. Damit sind alle Voraussetzungen dieses Definitionsteils erfüllt, womit folgt Ik ∈ G, (Ik′ , Ik , Ik′′ ) ∈ g, Ik = (AL , AR− ) →
(ui−K+1. . . ui−(k−1)−1 .ui−(k−1) . . . ui βL , βR uj+l+1. . . uj+l+1+(k−1)+1 .uj+l+1+(k−1)+1+1 . . . uj+l+1+K ),
i − (k − 1) − 1, j, l + (k − 1) + 1, also Ik = (AL , AR+ )→(ui−K+1. . . ui−k .ui−k+1. . . ui βL ,βR uj+l+1
. . . uj+l+1+k .uj+l+1+k+1 . . . uj+l+1+K ),i − k, j, l + k und I ′′ := (ui−(k−1) , uj+l+1+(k−1)+1). Mit ii
S
der Definition 6.7-11 ist P (Ik′′ ) = {λ}, so daß mit iii dieser Definition P (Ik ) = Ik′ ,Ik′′ ∈G|(Ik′ ,Ik ,Ik′′ )∈g
P (Ik′ )P (Ik′′ ) ist, woraus (mit P (Ik′ ) = P (Ik−1)) folgt, daß P (Ik−1) ⊆ P (Ik ) und damit auch
P (I0 ) ⊆ P (Ik ).
Mit i und ii und k:=K folgt die Behauptung des Hilfssatzes.
Es kann nun Teil A des Satzes 6.7-15 gezeigt werden. Dieser lautet formal: Sei
p1
p2
p3
(n)
(n)
′
′′
(AL , AR ) ⇒k (αL′ , αR
) ⇒k (αL′′ , αR
) ⇒k . . . (αL , αR )
(n)
(n)
mit p1 , p2 , . . . pn ∈ P+ bzw. p1 , p2 , . . . pn ∈ P− und αL = ui+1 . . . ui+l , αR = uj+1 . . . uj+l
Korrelation, wobei l ≥ 0, i + l ≤ j und j + l ≤ n. Dann ist I ∈ G, I := (AL , AR ) →
′
′
(.αL′ , .αR
), i, j, l bzw. I := (AL , AR )→(.αL′ , αR
.), i, j, l endpunktierte Regel und p1 p2 . . . pn ∈
P (I).
Dies wird mittels Induktion über n, die Anzahl der Regeln der Korrelation gezeigt.
(i) Sei n = 1 (n = 0 ist nicht möglich). Mit Definition 6.7-1 folgt, daß p1 = (AL , AR )→
(ui+1 . . . ui+l , uj+1 . . . uj+l ). Es wird gezeigt, daß es ein J1 ∈ G gibt, so daß p1 ∈ P (J1 ). Es
werden zwei Fälle danach unterschieden, ob p1 ∈ P+ oder p1 ∈ P− .
a) p1 ist rechtsrechtslineare Regel. Mit Nr. 1 der Definition 6.7-13 ist damit I0 ∈ G, I0 :=
(AL , AR )→(ui+1 . . . ui+l ., uj+1 . . . uj+l .), i + l, j + l, 0 und mit i von 6.7-14 ist P (I0 ) = {p1 }.
Mit Hilfssatz 1a gibt es weiterhin eine endpunktierte Regel IK ∈ G (es ist K = l), I0 :=
(AL , AR ) → (.ui+1 . . . ui+l , .uj+1 . . . uj+l ), i, j, l, für die P (I0 ) ⊆ P (IK ) gilt. Damit ist aber
{p1 } ⊆ P (IK ), also p1 ∈ P (IK ).
b) p1 ist rechtslinkslineare Regel. Mit Nr. 2 der Definition 6.7-13 ist damit I0 ∈ G, I0 :=
(AL , AR ) → (ui+1 . . . ui+l ., .uj+1 . . . uj+l .), i + l, j, 0 und mit i von 6.7-11 ist P (I0 ) = {p1 }.
Mit Hilfssatz 1b gibt es weiterhin eine endpunktierte Regel IK ∈ G (es ist K = l), I0 :=
(AL , AR ) → (.ui+1 . . . ui+l , uj+1 . . . uj+l .), i, j, l, für die P (I0 ) ⊆ P (IK ) gilt. Damit ist aber
{p1 } ⊆ P (IK ), also p1 ∈ P (IK ).
Setze J1 := IK .
(ii) n > 1. Dann ist αL′ 6∈ Σ∗ und p1 ist (den Definitionen 6.5-12 bzw. 6.5-13 entsprechend)
263
6 Kontextsensitive Grammatiken
entweder rechtsrechtslineare Regel der Form (AL , AR )→(αL BL , αR BR ) (a) oder der Form
(AL , AR )→(αL BL , BR αR ) (b), mit jeweils αL , αR ∈ Σ∗ .
a) Die erste Möglichkeit wird zuerst betrachtet. Sei αL = ui+1 . . . ui+l1 und αR = uj+1 . . . uj+l1 .
Mit Nr. 1 der Definition 6.7-13 ist dann I0′ ∈ G, I0′ := (AL , AR+ )→(αL BL ., αR BR .), i + l1 , j +
l1 , 0 anfangspunktierte Regel und mit i von 6.7-14 ist P (I0′ ) = {p1 } (A1). Weiterhin ist
p2 p3 ...pn
(BL , BR ) ⇒∗k (ui+l1 +1 . . . ui+l , uj+l1+1 . . . uj+l ) Korrelation. (Dies ist ohne weiteres einsichtig, ließe sich aber auch durch mehrmalige Anwendung der Definition 6.7-1 zeigen.) Sei
p2 := (BL , BR )→(βL , βR ), (βL , βR ) ∈ (Σ∗ , Σ∗ ) × (Σ∗ NL × Σ∗ NR+ ). Der Induktionsvoraussetzung entsprechend ist Jn−1 ∈ G, Jn−1 := (BL , BR ) → (.βL, .βR ), i + l1 + 1, j + l1 + 1, l
endpunktierte Regel und p2 p3 . . . pn ∈ P (Jn−1) (A2). Mit Nr. 5 der Definition ist damit
I0 ∈ G und (I0′ , I0 , Jn−1 ) ∈ g, (AL , AR+ )→(αL.BL , αR .BR ), i + l1 , j + l1 , l und mit iii von
S
6.7-14 ist P (I0 ) = I0′ ,Jn−1 ∈G|(I0′ ,Ik ,Jn−1 )∈g P (I0′ )P (Jn−1)(A3). Entsprechend Hilfssatz 1a gibt
es auch eine endpunktierte Regel Jn := IK := (AL , AR+ )→(.αL BL , .αR BR ), i, j + l1 , l + l1 ,
mit P (I0) ⊆ P (IK ) (A4). Aus A1, A2, A3 und A4 folgt nun p1 p2 . . . pn ∈ P (Jn ).
b) Es bleibt noch die zweite Möglichkeit. Sei αL = ui+1 . . . ui+l1 und αR = uj+1 . . . uj+l1 .
Mit Nr. 2 der Definition 6.7-13 ist dann I0′ ∈ G, I0′ := (AL , AR+ ) → (αLBL ., .BR αR ), i +
l1 , j, 0 anfangspunktierte Regel und mit i von 6.7-11 ist P (I0′ ) = {p1 } (A1). Weiterhin ist
p2 p3 ...pn
(BL , BR ) ⇒∗k (ui+l1 +1 . . . ui+l , uj+l1+1 . . . uj+l ) Korrelation. (Dies ist ohne weiteres einsichtig, ließe sich aber auch durch mehrmalige Anwendung der Definition 6.7-1 zeigen.) Sei
p2 := (BL , BR )→(βL , βR ), (βL , βR ) ∈ (Σ∗ , Σ∗ ) × (Σ∗ NL × NR− Σ∗ ). Der Induktionsvoraussetzung entsprechend ist Jn−1 ∈ G, Jn−1 := (BL , BR ) → (.βL, βR .), i + l1 + 1, j + l1 + 1, l
endpunktierte Regel und p2 p3 . . . pn ∈ P (In−1 ) (A2). Mit Nr. 6 der Definition ist damit
I ∈ G und (I0′ , I0 , Jn−1 ) ∈ g, (AL , AR− )→(αL .BL , αR .BR ), i + l1 , j, l und mit iii ist P (I0 ) =
S0
′
I0′ ,Jn−1 ∈G|(I0′ ,I0 ,Jn−1 )ing P (I0 )P (Jn−1 ) (A3). Entsprechend Hilfsatz 1b, gibt es auch eine endpunktierte Regel Jn := IK := (AL , AR− )→(.αL BL , .αR BR ), i, j, l + l1 , mit P (In ) ⊆ P (IK )
(A4). Aus A1, A2, A3 und A4 folgt p1 p2 . . . pn ∈ P (Jn ).
Mit i und ii ist nun der erste Teil (A) von Satz 6.7-15 gezeigt.
Es verbleibt noch der zweite Teil (B) von 6.7-15 zu zeigen, nämlich daß jede Regelfolge
p := p1 p2 . . . pn obiger Vereinigungsmenge einer Korrelation entspricht.
Zuvor wird Hilfssatz 2 gezeigt: Für alle punktierten Regeln I ∈ G gilt, daß λ 6∈ P (I).
Für den Beweis werden wiederum zwei Fälle unterschieden.
a) Sei I := (AL , AR )→(αL .βL , αR .βR ), i, j, l, rechtsrechtslineare Regel. Es wird eine Induktion über |βL | = |βR | geführt.
(i) Sei |βL | = |βR | = 0. Dann ist I anfangspunktierte Regel und mit i der Definition 6.7-14
ist P (I) = {(AL , AR )→(αLβL , αR βR )}. Diese Menge enthält nur ein einziges Element, bei
dem es sich nicht um die leere Regelfolge handelt.
(ii) Sei |βL | > 0. Dann gibt es V ∈ Σ ∪ NL und W ∈ Σ ∪ NR , so daß βL = V βL′ und
βR = W βR′ . Damit ist I := (AL , AR ) → (αL .V βL′ , αR .W βR′ ), i, j, l und ferner sei I ′ :=
(AL , AR ) → (αL V.βL′ , αR W.βR′ ), i′ , j ′ , l′ (i′ = i′ + 1, j ′ = j ′ + 1 und l′ = l′ − 1 (vgl. Nr. 3
von 6.7-13) oder i′ = i, j ′ = j und l′ = 0 (vgl. Nr. 5 von 6.7-13)). Es ist I ′ ∈ G und es
gibt I ′′ , so daß (I ′ , I, I ′′ ) ∈ g. (Wäre dies nicht der Fall, so würde G′ := G \ {I} auch den
Nummern 1–6, insbesondere 3 und 5, der Defintion 6.7-10 genügen, was ein Widerspruch zu
S
Nr. 7 wäre.) Mit iii von 6.7-14 ist P (I) = I ′ ,I ′′ ∈G|(I ′ ,I,I ′′ )∈g P (I ′ )P (I ′′ ). Sollte λ ∈ P (I) sein,
so gibt es I ′ und I ′′ , so daß λ ∈ P (I ′) und λ ∈ P (I ′′ ). Es ist für I ′ aber |β ′| < n, so daß sich
ein Widerspruch zur Induktionsvoraussetzung ergäbe. Damit muß also λ 6∈ P (I) sein, womit
der Induktionsbeweis abgeschlossen wäre.
264
6.7 Parsen von Parallelgrammatiken
b) Die gleiche Argumentation gilt für den Fall, daß I := (AL , AR )→(αL .βL , βR .αR ), i, j, l,
I ∈ G, rechtslinkslineare Regel ist.
Hilfssatz 3: Sei p ∈ P (I) Folge von Parallelregeln, p = p1 p2 . . . pm und I ∈ G, wobei
Ik = (AL , AR+ )→(αL .βL , αR .βR ), i, j, l
rechtsrechtslineare bzw.
Ik = (AL , AR− )→(αL .βL , βR .αR ), i, j, l
rechtslinkslineare punktierte Parallelregel.
Dann gibt es ein I0 ∈ G, so daß P (I0 ) ⊆ {p1 } und p1 = (AL , AR+ )→(αL βL , αR βR ) bzw.
p1 = (AL , AR− )→(αL βL , βR αR ) (A).
Ist βL , βR ∈ Σ∗ , dann ist |p| = 1 und βL = ui+1 . . . ui+l , sowie βR = uj+1 . . . uj+l , wobei
0 ≤ i ≤ i + l ≤ j ≤ j + l ≤ n ist (B1).
Ist βL ∈ Σ∗ NL und βR ∈ Σ∗ NR+ , dann ist p ∈ P+∗ , |p| > 1, und es existiert ein I1′′ ∈ G mit
p2 p3 . . . pm ∈ P (I1′′ ). Weiterhin existieren βL′ , βR′ ∈ Σ∗ , BL ∈ NL , BR ∈ NR+ , so daß βL =
βL′ BL und βR = βR′ BR und βL′ = ui+1 . . . ui+k und βR′ = uj+1 . . . uj+k , wobei k = |βL′ | = |βR′ |
(B2a).
Ist βL ∈ Σ∗ NL und βR ∈ NR+ Σ∗ , dann ist p ∈ P−∗ , |p| > 1, und es existiert (ebenfalls) ein
I1′′ =∈ G mit p2 p3 . . . pm ∈ P (I1′′ ). Weiterhin existieren βL′ , βR′ ∈ Σ∗ , BL ∈ NL , BR ∈ NR− ,
so daß βL = βL′ BL , βR = BR βR′ und βL′ = ui+1 . . . ui+k und βR′ = uj+l−k+1 . . . uj+l , wobei
k = |βL′ | = |βR′ | (B2b).
Beweis: Vorbemerkung: Entsprechend der Anmerkung zu Definition 6.7-13 ist |βL | = |βR |.
Es werden zwei Fälle unterschieden.
1. βL , βR ∈ Σ∗ . Es wird ein Induktionsbeweis über |βL | = |βR | geführt.
(i) |βL | = 0. Dann ist I ∈ G anfangspunktierte Regel. Mit I0 := I gibt es dann auch
— wie behauptet — ein I0 ∈ G. Mit ii der Definition 6.7-14 ist P (I0 ) = {(AL , AR+ ) →
(αL βL , αR βR )} bzw. P (I0 ) = {(AL , AR− ) → (αL βL , βR αR )}. Da I0 = I ist P (I0 ) = P (I)
und mit der Voraussetzung p ∈ P (I) des Hilfssatzes folgt |p| = 1 und p1 = (AL , AR ) →
(αL βL , αR βR ) bzw. p1 = (AL , AR )→(αL βL , βR αR ). Also ist P (I0 ) = {p1 }.
Da I anfangspunktierte Regel ist, ist βL := ǫ und βR := ǫ. Es muß l = 0 und 0 ≤ i ≤ j ≤ n
sein. (Dies ergibt sich mit Nr. 1 bzw. Nr. 2 der Definition 6.7-13 aus der Minimalität von G.
Sonst könnte Ik = I0 aus G wegfallen ohne die Gültigkeit der Nummern 1–6 zu verletzen.)
Damit ist βL = ui+1 . . . ui+0 und βR = uj+1 . . . uj+0 mit 0 ≤ i ≤ i + 0 ≤ j ≤ j + 0 ≤ n.
(ii) |βL | > 0. Dann gibt es V, W ∈ Σ, so daß βL =: V βL′′ und βR =: W βR′′ bzw. βR =: βR′′ W .
Mit I ∈ G gibt es (wiederum aufgrund der Minimalität von G und) mit Nr. 3 bzw. Nr. 4
von 6.7-13 ein I ′ ∈ G, I ′ = (AL , AR )→(αLV.βL′′ , αR W.β ′′ R), i + 1, j + 1, l − 1 bzw. I ′ ∈ G,
I ′ = (AL , AR ) → (αL V.βL′′ , βR′′ .αR W ), i + 1, j, l − 1, wobei V = ui+1 und W = uj+1 bzw.
W = uj+l ist und (i + 1) + (l − 1) < (j + 1) bzw. 0 < (i + 1) und j + (l + 1) < n
(X). Weiterhin ist (I ′ , I, (V, W )) ∈ g. Der Induktionsvoraussetzung nach (für I ′ ) gibt es ein
I0 ∈ G mit P (I0 ) = {p1 } und p1 = (AL , AR+ )→(αL βL , αR βR ) bzw. und p1 = (AL , AR− )→
(αL βL , βR αR ). Weiterhin ist βL′′ = u(i+1)+1 . . . u(i+1)+(l−1) und βR′′ = u(j+1)+1 . . . u(j+1)+(l−1)
bzw. βR′′ = uj+1 . . . uj+(l−1) . Damit ist βL = V βL′′ = ui+1u(i+1)+1 . . . ui+1)+(l−1) und βR =
W βR′′ = uj+1u(j+1)+1 . . . uj+1)+(l−1) bzw. βR = βR′′ W = uj+1 . . . uj+(l−1) uj+l . Ebenfalls mit der
Induktionsvoraussetzung ist 0 ≤ (i + 1) ≤ (i + 1) + (l − 1) ≤ (j + 1) ≤ (j + 1) + (l − 1) ≤ n
bzw. 0 ≤ (i + 1) ≤ (i + 1) + (l − 1) ≤ j ≤ j + (l − 1) ≤ n. Mit den Ungleichungen X ist i ≤ j
bzw. 0 ≤ i und (j + l) ≤ n. Damit werden diese Ungleichungsketten (mit den entsprechenden
265
6 Kontextsensitive Grammatiken
Einschüben und Umformungen) zu 0 ≤ i ≤ (i + l) ≤ i + l ≤ j ≤ (j + 1) ≤ j + l ≤ n bzw.
0 ≤ i ≤ (i + 1) ≤ (i + 1) + (l − 1) ≤ j ≤ j + (l − 1) ≤ j + l ≤ n. Mit ii von 6.7-14 ist
P (I) = P (I ′ ), also ist p(I) = {p1 }, woraus |p| = 1 folgt.
Mit i und ii ist B1 gezeigt, sowie A für den Fall, daß βL , βR ∈ Σ∗ .
2. βL ∈ Σ∗ NL und βR ∈ Σ∗ NR+ bzw. βR ∈ NR− Σ∗ . Es existieren nun BL und BR+ bzw. BR− ,
so daß αL βL = βL′ BL und αR βR = βR′ BR bzw. βL αR = βR βR′ , wobei βL′ , βR′ ∈ Σ∗ . Es wird
wiederum ein Induktionsbeweis über |βL | geführt.
(i) |βL | = 1 (|βL | = 0 kommt hier nicht in Betracht, da βL ∈ Σ∗ NL ). Dann gibt es (wiederum
aufgrund der Minimalität von G und mit Nr. 5 bzw. Nr. 6 von 6.7-13) punktierte Regeln
I ′ ∈ G und I ′′ ∈ G mit (I ′ , I, I ′′ ) ∈ g, wobei I ′ = (AL , AR+ )→(βL′ BL ., βR′ BR+ ), i, j, 0 bzw.
I ′ = (AL , AR− ) → (βL′ BL ., BR− βR′ ), i, j, 0 und I ′′ = (BL , BR+ ) → (.γL., .γR ), i, j, l bzw. I ′′ =
(BL , BR− )→(.γL ., γR .), i, j + l, l. Mit I1′ := I0 gibt es dann I0 ∈ G. Außerdem setze I1′′ := I ′′ .
Da es sich um eine anfangspunktierte Regel handelt, ist mit 6.7-14 für diese dann P (I ′) =
P (I0 ) = {(AL , AR+ )→(αL βL , αR βR )} bzw. P (I ′) = P (I0 ) = {(AL , AR+ )→(αL βL , βR αR )}.
Der Voraussetzung des Hilfssatzes nach ist p ∈ P (I). Mit iii von 6.7-14 muß es ein I ′ ∈ G
geben, so daß p1 p2 . . . pk ∈ P (I ′), k ≤ n. Für I ′ kommt aber nur obiges I ′ in Frage, da
jedes andere I ′ auch ein anderes, von obigem I verschiedenes I liefern würde. Mit P (I ′ ) =
P (I0 ) = {(AL , AR+ )→(βL′ BL , βR′ BR+ )} bzw. P (I ′) = P (I0 ) = {(AL , AR− )→(βL′ BL , BR− βR′ )}
und p1 p2 . . . pk ∈ P (I ′ ) folgt, daß k = 1 und p1 = (AL , AR+ )→(βL′ BL , βR′ BR+ ) bzw. p1 =
(AL , AR− )→(βL′ BL , BR− βR′ ). Dementsprechend folgt p2 . . . pm ∈ P (I ′′ ) (wobei bezüglich I ′′
weder Eindeutigkeit gefordert wird noch gezeigt werden kann) und somit (mit Hilfssatz 2 ist
λ 6∈ P (I ′′ )) muß n ≥ 2 sein. Die für p = p1 p2 . . . pm und P (I) durchgeführte Argumentation
kann nun auch analog für p2 . . . pm und P (I ′′ ) verwendet werden. Unter anderem ergibt sich
damit, daß p2 die der punktierten Regel I ′′ entsprechende Regel ist, womit dann folgt, daß
p2 ∈ P+ wenn p1 ∈ P+ und p2 ∈ P− wenn p1 ∈ P− und durch wiederholte Anwendung
des Argumentes sich schließlich p ∈ P+∗ bzw. p ∈ P−∗ ergibt. Da l = 0 gilt die gleiche
Argumentation wie bei a und es ist βL′ = ǫ = ui+1 . . . ui+0 und βR′ = ǫ = uj+1 . . . uj+0 und es
ist 0 ≤ i ≤ i + 0 ≤ j ≤ j + l ≤ n.
(ii) |βL| > 1. Es ist βL =: V βL′′ ud βR =: W βR′′ bzw. βR =: βR′′ W . Mit I ∈ G gibt es
(wiederum aufgrund der Minimalität von G und) mit Nr. 3 bzw. Nr. 4 von 6.7-13 ein I ′ ∈
G, I ′ = (αL V.βL′′ , αR w.β ′′ R), i + 1, j + 1, l − 1 bzw. I ′ ∈ G, I ′ = (αL V.βL′′ , βR′′ .αR w), i +
1, j, l − 1, wobei V = ui+1 und w = uj+1 bzw. w = uj+l ist und (i + 1) + (l − 1) <
(j + 1) bzw. 0 < (i + 1) und j + (l + 1) < n (X). Weiterhin ist (I ′ , I, (V, W )) ∈ g. Der
Induktionsvoraussetzung nach (für I ′ ) gibt es ein I0 ∈ G mit P (I0 ) = {p1 } und p1 =
(AL , AR+ ) → (αL βL , αR βR ) bzw. und p1 = (AL , AR− ) → (αL βL , βR αR ). Weiterhin ist βL′′ =
u(i+1)+1 . . . u(i+1)+(l−1) und βR′′ = u(j+1)+1 . . . u(j+1)+(l−1) bzw. βR′′ = uj+1 . . . uj+(l−1) . Damit
ist βL = V βL′′ = ui+1 u(i+1)+1 . . . u(i+1)+(l−1) und βR = W βR′′ = uj+1 u(j+1)+1 . . . u(j+1)+(l−1)
bzw. βR = βR′′ W = uj+1 . . . uj+(l−1) uj+l. Ebenfalls mit der Induktionsvoraussetzung ist 0 ≤
(i + 1) ≤ (i + 1) + (l − 1) ≤ (j + 1) ≤ (j + 1) + (l − 1) ≤ n bzw. 0 ≤ (i + 1) ≤ (i + 1) + (l − 1) ≤
j ≤ j + (l − 1) ≤ n. Mit den Ungleichungen X ist i ≤ j bzw. 0 ≤ i und (j + l) ≤ n. Damit
werden diese Ungleichungsketten (mit den entsprechenden Einschüben und Umformungen)
zu 0 ≤ i ≤ (i + l) ≤ i + l ≤ j ≤ (j + 1) ≤ j + l ≤ n bzw. 0 ≤ i ≤ (i + 1) ≤ (i + 1) + (l − 1) ≤
j ≤ j + (l − 1) ≤ j + l ≤ n. Der Voraussetzung des Hilfssatzes nach ist p ∈ P (I). Mit ii von
6.7-14 ist P (I) = P (I ′) und damit auch p ∈ P (I ′). Der Induktionsvoraussetzung gemäß gibt
es außer I0 ∈ G mit p1 ∈ P (I0 ) auch I1′′ ∈ G mit p2 . . . pm ∈ P (I1′′ ) und m ≥ 2. Weiterhin ist
p2 . . . pm ∈ P+∗ wenn p1 ∈ P+ und p2 . . . pm ∈ P−∗ wenn p1 ∈ P− .
Mit i und ii ist B2a bzw. B2b gezeigt, sowie A für den Fall, daß βL ∈ Σ∗ NL und βR ∈ Σ∗ NR+
bzw. βR ∈ NR. Σ∗ .
266
6.8 Erweiterung des Earleyschen Algorithmus
S
Hilfssatz 2 entsprechend umfaßt jede Regelfolge p ∈ I∈G|I endpunktiert P (I) mindestens eine
Regel. Es wird nun mittels Induktion über die Länge der Regelfolgen gezeigt, daß jede
Regelfolge dieser Vereinigungsmenge einer Korrelation entspricht.
(i) |p| = 1, also p =: p1 . Entsprechend der Definition dieser Vereinigungsmenge gibt es damit
eine endpunktierte Regel I ∈ G, so daß p ∈ P (I). Sei I := (AL , AR+ )→(.αL , .αR ), i, j, l bzw.
I := (AL , AR− )→(.αL, αR .), i, j, l mit αL , αR ∈ Σ∗ (wäre dies nicht der Fall, so wäre mit
Hilfssatz 3 dann |p| > 1). Wie mit Hilfssatz 3 gezeigt, ist dann p1 = (AL , AR+ )→(αL , αR )
bzw. p1 = (AL , AR− )→(αL , αR ), sowie αL = ui+1 . . . ui+l , αL = uj+1 . . . uj+l und i + l ≤ j.
p1
Damit stellt (AL , AR ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l ) eine Korrelation dar.
(ii) |p| > 1, also p =: p1 p2 . . . pn . Dann gibt es wiederum eine endpunktierte Regel I ∈ G, so
daß p ∈ P (I). Sei I := (AL , AR+ )→(.αL , .αR ), i, j, l bzw. I := (AL , AR− )→(.αL , αR .), i, j, l.
Wie mit Hilfssatz 3 gezeigt, ist dann p1 = (AL , AR+ )→(αL, αR ) bzw. p1 = (AL , AR− )→
(αL , αR ), wobei αL ∈ Σ∗ NL , αR ∈ Σ∗ NR+ , bzw. αR ∈ NR− Σ∗ (sonst wäre |p| = 1) und
αL = ui+1 . . . ui+k BL , αL = uj+1 . . . uj+k BR bzw. αL = BR uj+l−k . . . uj+l , k ≤ l und i + k ≤ j
(bzw. i + k ≤ j + l − k) und es gibt eine endpunktierte Regel I1′′ := (BL , BR+ )→(.γL , .γR ), i +
k, j + k, l − k bzw. I1′′ := (BL , BR+ )→(.γL, γR .)i + k, j, l − k, mit p2 p3 . . . pn ∈ P (Ik′′ ). Der
Induktionsvoraussetzung entsprechend ist
p2 p3 ...pn
(BL , BR ) ⇒∗k
bzw.
(u(i+k)+1 . . . u(i+k)+(l−k) , u(j+k)+1 . . . u(j+k)+(l−k))
p2 p3 ...pn
(BL , BR ) ⇒∗k
(u(i+k)+1 . . . u(i+k)+(l−k) , u(j+1) . . . uj+(l−k))
Korrelation. Damit ist auch
p1
(AL , AR+ )⇒k (ui+1 . . . ui+k BL , uj+1 . . . uj+k BR )
p2 p3 ...pn
⇒∗k (ui+1
. . . ui+k u(i+k)+1 . . . u(i+k)+(l−k) , uj+1 . . . uj+k u(j+k)+1 . . . u(j+k)+(l−k))
bzw.
p1
(AL , AR− )⇒k (ui+1 . . . ui+k BL , BR uj+l−k . . . uj+l )
p2 p3 ...pn
⇒∗k (ui+1 . . . ui+k u(i+k)+1 . . . u(i+k)+(l−k) , u(j+1 . . . uj+(l−k)uj+l−k
. . . uj+l)
Korrelation.
Mit i und ii ist der letzte Teil (B) der Behauptung des Satzes 6.7-15 gezeigt, jeder Regelfolge
der angegebenen Vereinigungsmenge entspricht eine Korrelation.
6.8 Der erweiterte Earleysche Algorithmus
Algorithmus 5.4-7 wird erweitert. Einerseits werden die punktierten Regeln A→α.β, i, j mit
zwei Mengen Kf und Kg von Korrelationen attributiert, so daß diese nun die Form A →
α.β, i, j, Kf , Kg annehmen. (Kf und Kg entsprechen hierbei gewissermaßen den linken“ und
”
den rechten“ Hälften“ von Korrelationen. Genauer: Sei α ⇒∗ ui+1 . . . uk ALR uk+l+1 . . . uj
”
”
eine der punktierten Regel A→α.β, i, j entsprechende Ableitung, ALR ∈ {AL , AR }, AL ∈ NL ,
AR ∈ NR+ ∪ NR− , und (AL , AR ) ⇒∗k (ui′ +1 . . . ui′ +l , uj ′+1 . . . uj ′+l ) Korrelation, (AL , AR ) ∈
NL × (NR+ ∪ NR− ), i′ = k (wenn ALR = AL ) oder j ′ = k (wenn ALR = AR ). Dann kann das
Parallelsymbol ALR solange nicht ersetzt werden, wie das korrespondierende Parallelsymbol
nicht in der Symbolfolge auftaucht. Sollte ALR = AL sein, so müssen der der obigen Ableitung
267
6 Kontextsensitive Grammatiken
entsprechenden Regelfolge Regeln folgen, die das Symbol AR liefern. Die Korrelation wird
dann als offen bezeichnet und ist Element von Kf . Im anderen Fall (ALR = AR ) müssen
Regeln vorangehen, die das Symbol AL liefern. Dann wäre mit der obigen punktierten Regel
die Korrelation erfüllt und damit Element von Kg . Auf eine exakte Definition dieser beiden
Begriffe wird verzichtet, da diese für den Beweis der Korrektheit des Algorithmus nicht
benötigt werden.)
Andererseits werden (vgl. Algorithmus 6.7-13) punktierte Parallelregeln eingeführt. Diese haben die Form (AL , AR )→(αL .βL , αR .βR ), i, j, l. Endpunktierte“ Parallelregeln (AL , AR+ )→
”
(.αL , .αR ), i, j, l bzw. (AL , AR− )→(.αL , αR .), i, j, l. entsprechen einer Korrelation (AL , AR ) ⇒∗k
(ui+1 . . . ui+l , ui+1 . . . ui+l ). Im folgenden werden des einfacherern Sprachgebrauchs halber
endpunktierte Parallelregel und die entsprechende Korrelation mit einander identifiziert. Auf
eine Interpretation dieser punktierten Regeln soll verzichtet werden; es reicht aus, daß diesen Mengen von Regelfolgen und Wahrscheinlichkeiten zugeordnet werden können (s.u.). Der
erweiterte Earleysche Algorithmus wird ebenfalls einen Hypergraphen (H, h) liefern. Die
folgende Definition von (H, h) kann bereits als Spezifikation des erweiterten Earleyschen
Algorithmus aufgefaßt werden.
Definition: Mit dem erweiterten Earleyschen Algorithmus wird bei gegebener Parallelgrammatik G± und zu parsender Zeichenfolge u := u1 . . . un der Hypergraph (H, h) erhalten.
1. 1 ∈ H ist ein spezieller Knoten, der keine punktierte Regel darstellt.
2. Ist (AL , AR+ )→(v, w), v, w ∈ Σ∗ rechtsrechtslineare Parallelregel, dann ist (AL , AR+ )→
(v., w.), i, j, 0 ∈ H, für alle i, j, 0 ≤ i ≤ j ≤ n, anfangspunktierte Parallelregel.
3. Ist (AL , AR− )→(v, w), v, w ∈ Σ∗ rechtslinkslineare Parallelregel, dann ist (AL , AR− )→
(v., .w), i, j, 0 ∈ H, für alle i, j, 0 ≤ i ≤ j ≤ n, anfangspunktierte Parallelregel.
4. Sei I ′ := (AL , AR+ )→(v.α, w.β), i, j, k, I ′ ∈ H, punktierte Parallelregel, wobei (α, β) ∈
{ǫ, ǫ)} ∪ (NL × NR+ ) und v, w ∈ Σ∗ \ {ǫ}. Ist v = ui−l+1 . . . ui und w = uj−l+1 . . . uj
und i + k ≤ j − l (A) dann ist I ∈ H und (I ′ , I, 1) ∈ h, wobei I := (AL , AR+ )→
(.vα, .wβ), i − l, j − l, k + l. (Bedingung A stellt sicher, daß die beiden korrelierten
Teilsequenzen nicht überlappen.)
5. Sei I ′ := (AL , AR− )→(v.α, β.w), i, j, k, I ′ ∈ H, punktierte Parallelregel, wobei (α, β) ∈
{ǫ, ǫ)} ∪ (NL × NR− ) und v, w ∈ Σ∗ \ {ǫ}. Ist v = ui−l+1 . . . ui und w = uj+k+1 . . . uj+k+l,
dann ist I ∈ H und (I ′ , I, 1) ∈ h, wobei I := (AL , AR− )→(.vα, βw.), i − l, j, k + l.
6. Ist I ′′ = (AL , AR+ )→(.α, .β), i, j, l, I ′′ ∈ H, rechtsrechtslineare endpunktierte Parallelregel, wobei AL ∈ (NL \ Sk ) ∪ {BL }, AR+ ∈ (NR+ \ Sk ) ∪ {AR+ }, und ist (BL , BR+ )→
(vAL , wAR+ ) ∈ P+ Parallelregel, dann ist I ′ ∈ H, I ∈ H und (I ′ , I, I ′′ ) ∈ h, wobei
I ′ := (BL , BR+ ) → (vAL., wAR+ .), i + l, j + l, 0 anfangspunktierte Parallelregel und
I := (BL , BR+ )→(v.AL , w.AR+ ), i, j, l punktierte Parallelregel ist.
7. Ist I ′′ = (AL , AR− )→(.α, β.), i, j, l, I ′′ ∈ H, rechtslinkslineare endpunktierte Parallelregel, wobei AL ∈ (NL \ Sk ) ∪ {BL }, AR+ ∈ (NR+ \ Sk ) ∪ {AR+ }, und ist (BL , BR− )→
(vAL , AR− w) ∈ P− Parallelregel, dann ist I ′ ∈ H, I ∈ H und (I ′ , I, I ′′ ) ∈ h, wobei I ′ := (BL , BR− ) → (vAL., .AR− w), i + l, j, 0 anfangspunktierte Parallelregel und
I := (BL , BR+ )→(v.AL , AR+ .w), i, j, l punktierte Parallelregel ist.
8. S→.α, 0, 0, ∅, ∅ ∈ H.
268
6.8 Erweiterung des Earleyschen Algorithmus
9. A→α.Bβ, i, j, Kf , Kg ∈ H und B→γ ∈ P , dann ist B→.γ, j, j, Kf , ∅ ∈ H.
10. Ist I ′ ∈ H, I ′ = A→α.vβ, i, k, Kf , Kg , v ∈ Σ∗ \ {ǫ}, α ∈ (Σ∗ N)∗ , β ∈ (NΣ∗ )∗ und
v = uk+1 . . . uj , k ≤ j und ∀x ∈ Kf : j ≤ ρ(x) (A), dann ist I ∈ H und (I ′ , I, 1) ∈ h,
wobei I := A → αv.β, i, j, Kf , Kg . (Die Bedingung A stellt sicher, daß noch offene
Korrelationen erfüllt werden können.)
11. Sei I ′ := A→α.Bβ, i, k, Kf , Kg , B ∈ N \ NL \ NR+ \ NR− , und I ′′ := B→γ., k, j, Lf , Lg
mit I ′ , I ′′ ∈ H und {x ∈ Kf | ρ(x) ≤ j} = Lg und {x ∈ Kf | j ≤ ρ(x)} = {x ∈ Lf |
λ(x) ≤ k} (A). Dann ist I ∈ H und (I ′ , I, I ′′ ) ∈ h, wobei I := A→αB.β, i, j, Lf , (Kg ∪
{x ∈ Lg | λ(x) ≤ i}). (Bedingung A stellt sicher, daß die punktierten Regeln I ′ und I ′′
kompatibel“ sind. Damit ist gemeint, daß die Korrelationen in Kf entweder als noch
”
offene Korrelationen in Lf oder als erfüllte Korrelationen in Lg auftreten.)
12. Seien I ′ := A → α.BL β, i, k, Kf , Kg mit BL ∈ NL ∩ Sk und I ′′ := (BL , BR+ ) →
(.γL , .γR ), k, j, l bzw. I ′′ := (BL , BR− )→(.γL , γR .), k, j, l wobei I ′ , I ′′ ∈ H und k + l ≤ j
(A) und ρ(I ′′ ) ∩ ρ(x) = ∅ für alle x ∈ Kf (B) und ∀x ∈ Kf : k + l ≤ ρ(x) (C) und
für alle x ∈ Kf mit sL (x) = BL ist ρ(x) ≤ j (D) und l ≥ 1 (E), dann ist I ∈ H und
(I ′ , I, 1) ∈ H, wobei I := A→αBL .β, i, k + l, Kf ∪ {I ′′ }, Kg . (Bedingung A stellt sicher,
daß die Korrelation überlappungsfrei ist. Bedingung B stellt sicher, daß sich (noch
offene) Korrelationen nicht gegenseitig ausschließen. Sollte Bedingung C nicht erfüllt
sein, dann würde eine noch offene Korrelation nicht mehr erfüllbar sein. Bedingung
D garantiert die verallgemeinerte Linksableitung. Bedingung E hat vorwiegend beweistechnische Gründe, ist aber durchaus auch biologisch motiviert, da nur tatsächlich
vorhandene Teilsequenzen paaren können, Korrelationen also eine nicht verschwindende Mindestlänge aufweisen müssen.)
13. Seien I ′ := A→α.BR β, i, j, Kf , Kg , BR ∈ (NR+ ∪ NR− ) ∩ Sk und I ′′ := (BL , BR+ )→
(.γL , .γR ), k, j, l bzw. I ′′ := (BL , BR− )→(.γL , γR .), k, j, l, wobei I ′ , I ′′ ∈ H und I ′′ ∈ Kf
(A), dann ist I ∈ H und (I ′ , I, I ′′ ) ∈ h, wobei I := A→αBR.β, i, j + l, Kf \ {I ′′ }, Lg ,
wobei Lg = Kg ∪ {I ′′ } wenn k + l ≤ i und Lg = Kg wenn i < k + l. (Bedingung
A stellt sicher, daß die erfüllte Korrelation I ′′ tatsächlich einer offenen Korrelationen
entspricht.)
14. (H, h) ist minimal, d.h. es gibt keine Teilmenge H ′ ⊂ H oder h′ ⊂ h, so daß H ′ oder
h′ die Bedingungen 1–13 erfüllen würden.
(6.8-1)
Die Nummern 2–7 entsprechen im wesentlichen dem Algorithmus 6.7-13 zur Bestimmung
der Menge K(u). (Diese ist noch entsprechend 6.7-12c einzuschraänken). Indem die Definitionen als Konstruktionsanweisungen aufgefaßt und solange von einem Hypergraphen (∅, ∅)
ausgehend iteriert werden, bis die so erzeugte Folge von Hypergraphen konstant ist, stellt
6.7-1 die Beschreibung des Algorithmus dar. Die Minimalität (Nr. 14) des so erhaltenen
Hypergraphen (H, h) ist bei dieser Konstruktion sicher gestellt.
Die Mengen Kf und Kg enthalten übrigens die am Anfang von Abschnitt 6.7 erwähnten
Markierungen“ der punktierten Regeln; eine in Kf enthaltende Korrelation bedeutet, daß
”
hier der rechte Teil noch f ehlt, während bei einer in Kg enthaltenen der rechte Teil bereits
gefunden wurde. Die Bedingungen an Kg und Kf bei den Regeln I ′ und I ′′ bei obigen Punkten
8–13 stellen im wesentlichen sicher, daß diese kompatibel sind, also die hier enthaltenen
269
6 Kontextsensitive Grammatiken
Korrelationen (bzw. deren linke und rechte Hälften) zueinander passen und sich durch ihr
gemeinsames Auftreten nicht gegenseitig ausschließen. Stimmt hierbei eine Korrelation in
Kf bei I ′ (wo die linke Hälfte der Korrelation bekannt ist und deren rechte fehlt“) mit einer
”
Korrelation in Kg bei I ′′ (wo deren rechte Hälfte gefunden“ wurde) überein, so wird sie
”
gewissermaßen neutralisiert“ Die entsprechenden zu I gehörenden Mengen enthalten dann
”
keine Korrelationen mehr, die sich neutralisiert“ haben.
”
Für eine kontextfreie Grammatik entspricht diese Definition der des üblichen Earleyschen
Algorithmus (es treten keine Parallelsymbole auf, womit die entsprechenden Regeln wegfallen und stets Kf = Kg = ∅ ist); mit beiden Algorithmen wird derselbe Hypergraph (H, h)
(bzw. (Hn , hn )) erhalten. (Abweichend vom üblichen werden beim erweiterten Algorithmus
nicht einzelne Terminalsymbole, sondern Sequenzen von Terminalsymbolen betrachtet. Vergleiche hierzu auch den Beweis von 6.7-12, wo die entsprechenden Zusammenhänge mehrfach
auftreten.)
Die wesentlichen Elemente des Algorithmus 6.8-1 sollen nun anhand eines (der Übersichtlichkeit halber möglichst einfach gehaltenen) Beispiels veranschaulicht werden. Die Regeln
der entsprechenden Grammatik seien
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
S→A
A→BF
B→CAR
C→DCL
D→Ea
E→aAL
F→CR a
(AL , AR )→(bBL , bBR )
(BL , BR )→(c, c)
(CL, CR )→(d, d)
womit ausgehend vom Startsymbol S mit der Regelfolge p1 , p2 , p3 , p4 , p5 , p6 , p8 , p9 , p7 , p10
die Sequenz
1 2 3 4 56 7 8 9
u := abcadbcda
erhalten wird, wobei die Zahlen in der oberen Zeile die entsprechende Position in der Sequenz bezeichnen. Die Sequenzlänge ist n = 9. (Diese Sequenz u stellt übrigens den einzigen
Satz der durch die zugrundeliegende Grammatik erzeugten Sprache dar.) Mit Ausnahme des
Symbols a korrelieren gleiche Symbole, so daß also die Teilsequenzen u2u3 und u6 u7 , sowie die
Positionen u5 und u8 Korrelationen darstellen. Abb. 6.8-1 zeigt den Syntaxbaum“ für die
”
obige Ableitung. Mittels Algorithmus 6.8-1 wird der in Abb. 6.8-2 dargestellte Hypergraph
erhalten, dessen Zustandekommen nun kurz beschrieben wird. Mit Nr. 2 in Algorithmus
6.8-1 und (rechtsrechtslinearer) Regel p9 ist (BL , BR ) → (c., c.), i, j, 0 ∈ H für alle i, j,
0 ≤ i ≤ j ≤ 9, insbesondere auch für i = 3 und j = 7,
(BL , BR )→(c., c.), 3, 7 =: I1
Mit Nr. 4 (wobei (α, β) = (ǫ, ǫ), l = 1, v = u3−l+1 = u3 = c, w = u7−l+1 = u7 = c) ist dann
(BL , BR )→(.c, .c), 3 − 1, 7 − 1, 0 + 1 =: I2
I2 ∈ H, (I1 , I2 , 1) ∈ h. Diese Hyperkante ist in Abb. 6.8-2 durch einen waagrechten Pfeil von
I1 nach I2 , auf den ein von 1 ausgehender Pfeil von unten zeigt, dargestellt.
270
6.8 Erweiterung des Earleyschen Algorithmus
S
A
B
F
a
C
D
E
a
CL
CL
d
d
AL
a
AL
b
b
BL
BL
c
c
Abb. 6.8-1: Syntaxbaum“ für das im Text gegebene Beispiel. Die waagrechten gestrichelten Linien
”
verbinden jeweils Symbole, die gleichzeitig entsprechend einer Parallelregel ersetzt werden.
Mit Nr. 6 und Regel p8 ergibt sich mit I2
(AL , AR )→(bBL ., bBR .), 2 + 1, 6 + 1, 0 =: I3
und
(AL , AR )→(b.BL , b.BR ), 2, 6, 1 =: I4
I3 , I4 ∈ H, (I3 , I4 , I2 ) ∈ h. Die Darstellung der Hyperkante (I3 , I4 , I2 ) in der Abbildung in
Form eines (waagrechten) Pfeiles von I3 nach I4 auf den von unten ein von I2 ausgehender
Pfeil zeigt, soll verdeutlichen, daß der Übergang“ von der punktierten Regel I3 nach I4
”
aufgrund von der (bereits vorhandenen) punktierten Regel I2 erfolgt.
Und schließlich mit Nr. 4 (l = 1, v = u2−l+1 = u2 = b, w = u6−l+1 = u6 = b)
(AL , AR )→(.bBL , .bBR ), 2 − 1, 6 − 1, 1 + 1 =: I5
I5 ∈ H, (I4 , I5 , 1) ∈ h.
Mit Nr. 3 und Regel p9 (diese sei rechtslinkslineare Parallelregel) ist (CL , CR )→(d., .d), i, j, 0
für alle i, j, 0 ≤ i ≤ j ≤ 9, insbesondere auch für i = 5 und j = 7
(CL , CR )→(d., .d), 5, 7, 0 =: I6
I6 ∈ H.
Mit Nr. 5 ((α, β) = (ǫ, ǫ), k = 0, l = 1, v = u5−l+1 = u5 = d, w = u7+k+1 = u8 = d) ist dann
(CL , CR )→(.d, d.), 5 − 1, 7, 0 + 1 =: I7
271
S→A., 0, 9, ∅, ∅
A→.BF, 0, 0, ∅, ∅
A→B.F, 0, 7, {I7 }, ∅
B→C.AR , 0, 5, {I5 , I7 }, ∅
B→CAR ., 0, 7, {I7 }, ∅
F→.CR a, 7, 7, {I7 }, ∅
A→BF., 0, 9, ∅, ∅
F→CR .a, 7, 8, ∅, {I7 }
F→CR a., 7, 9, ∅, {I7 }
B→C.AR , 0, 5, {I5 , I7 }, ∅
B→.CAR , 0, 0, ∅, ∅
C→D.CL , 0, 4, {I5 }, ∅
C→.DCL , 0, 0, ∅, ∅
D→.Ea, 0, 0, ∅, ∅
E→.aAL , 0, 0, ∅, ∅
D→E.a, 0, 3, {I5 }, ∅
E→a.AL , 0, 1, ∅, ∅
C→DCL ., 0, 5, {I5 , I7 }, ∅
D→Ea., 0, 4, {I5 }, ∅
E→aAL ., 0, 3, {I5 }, ∅
(CL , CR )→(d., .d), 5, 7, 0 =: I6
(CL , CR )→(.d, d.), 4, 7, 1 =: I7
(AL , AR )→(bBL ., bBR .), 3, 7, 0 =: I3
(AL , AR )→(b.BL , b.BR ), .2, 6, 1 =: I4
(BL , BR )→(c., c.), 3, 7, 0 =: I1
(BL , BR )→(.c, .c), 2, 6, 1 =: I2
(AL , AR )→(.bBL , .bBR ), 1, 5, 2 =: I5
1
Abb. 6.8-2: Der mit dem erweiterten Earleyschen Algorithmus für das Beispiel im Text erhaltene Hypergraph. Man beachte, daß es sich bei dem
Knoten B→C.AR , 0, 5, {I5 , I7 }, ∅ links unten im oberen Drittel und rechts oben im mittleren Drittel des Diagramms um ein und denselben Knoten
handelt.
6 Kontextsensitive Grammatiken
272
S→.A, 0, 0, ∅, ∅
6.8 Erweiterung des Earleyschen Algorithmus
I7 ∈ H, (I6 , I7 , 1) ∈ h.
Damit ist die erste Phase (Nr. 1 bis Nr. 7) von Algorithmus 6.8-1 abgeschlossen und alle
Korrelationen, d.h. alle endpunktierten Parallelregeln (hier I5 und I7 ) sind bestimmt. Dieser
ersten Phase entspricht das untere Drittel der Abb. 6.8-1.
Ausgehend von dem mit Nr. 8 erhaltenen Knoten S → .A, 0, 0, ∅, ∅ ∈ H (im Diagramm
oben links) werden durch sukzessive Anwendung von Nr. 9 die Knoten A→.BF, 0, 0, ∅, ∅,
B→.CAR , 0, 0, ∅, ∅, usw. bis schließlich E→.aAL , 0, 0, ∅, ∅ erhalten. (Der mit Nr. 9 gegebene
Zusammenhang zwischen den Knoten entspricht keinen (Hyper-)Kanten und ist auch nicht
in der Abbildung dargestellt.
Mit Nr. 10 (es ist u0+1 . . . u1 = a) ergibt sich mit der letzten punktierten Regel (durch
Weiterschieben“ des Punktes) der Knoten E → a.AL , 0, 1, ∅, ∅. Bis hierher entspricht der
”
Algorithmus vollkommen dem einfachen Earleyschen Algorithmus (sieht man davon ab,
daß die punktierten Regeln jeweils mit zwei leeren Mengen attributiert sind).
Der Übergang (mit Nr. 12) auf E→aAL ., 0, 3, {I5}, ∅ ist nur möglich, weil u1+1 . . . u3 = bc
linke Hälfte einer Korrelation (nämlich I5 ) ist. Der ab hier folgende Verlauf des Algorithmus
erfolgt unter dem Vorbehalt, daß auch die entsprechende rechte Hälfte der Korrelation geparst werden wird. Solange dies noch nicht der Fall ist, wird die Korrelation I5 als Element
der Menge Kf bei allen weiteren punktierten Regeln mitgeführt.
Mit Nr. 11 und D → .Ea, 0, 0, ∅, ∅ ergibt sich also D → E.a, 0, 3, {I5}, ∅ und (mit Nr. 10,
u3+1 . . . u4 = a) weiterhin D → Ea., 0, 4, {I5}, ∅ und schließlich (wiederum mit Nr. 11)
C→D.CL , 0, 4, {I5}, ∅.
Bei nächsten Schritt (mit Nr. 12) geht als weiterer Vorbehalt die Korrelation I7 (deren linke
Hälfte der Teilsequenz u4+1 . . . u5 = d entspricht), so daß die Menge Kf nun zwei Elemente
enthält: C→DCL., 0, 5, {I5, I7 }, ∅.
Mit Nr. 10 ergibt sich dann B→C.AR , 0, 0, {I5, I7 }, ∅.
An dieser Stelle kommt nun zum ersten Mal die rechte Hälfte einer Korrelation (nämlich
von I5 entsprechend der Sequenz u6 u7 = bc) ins Spiel und mit Nr. 13 ergibt sich B →
CAR ., 0, 7, {I7}, ∅. Bei diesem Übergang wurde die Korrelation I5 gewissermaßen absor”
biert“. Die vorliegende punktierte Regel entspricht (vgl. Abb. 6.8-1) dem zu mit B bezeichneten Knoten gehörenden Unterbaum. In diesem sind die beiden Parallelsymbole AL und
AR enthalten, so daß die Korrelation I5 außerhalb dieses Unterbaums gar nicht in Erscheinung tritt. Formal macht sich das dadurch bemerkbar, daß die linke Grenze i = 0 der
punktierten Regel kleiner ist als die rechte Grenze k + l = 1 + 2 der linken Hälfte der
Korrelation I5 , womit in Nr. 13 auch das entsprechende Lg ausgewählt wird. Mit Nr. 11
ergibt sich A→B.F, 0, 7, {I7 }, ∅. Mit Nr. 9 und Regel p7 wird damit die linkspunktierte Regel
F→.CR a, 7, 7, {I7} erhalten.
Wiederum mit Nr. 13 ist deren Übergang“ auf F→CR .a, 7, 8, ∅, {I7} möglich. Hier ist jedoch
”
die Bedingung i < k + l (i = 7, k = 4, l = 1) nicht erfüllt, so daß I7 nicht absorbiert wird,
sondern in die Menge Kg wechselt.
Mit Nr. 10 und u9 . . . u9 = a wird nun die rechtspunktierte Regel F→CR a., 7, 9, ∅, {I7} erhalten, die ebenfalls noch {I7 } als Attribut in der Menge Kg enthält. In Abb. 6.8-1 entspricht
dem die Tatsache daß der zu dem mit F markierten Knoten gehörende Unterbaum nur das
Rechtssymbol CR , nicht aber das dazugehörige Linkssymbol CL enthält.
Mit Nr. 11 und punktierter Regel A→B.F, 0, 7, {I7 }, ∅ ergibt sich schließlich A→BF., 0, 9, ∅, ∅,
wobei sich die beiden Attribute I7 gewissermaßen neutralisieren“. Die Menge Lf ist leer, die
”
Menge Lg behält“ nur die Elemente bei“, für die λ(x) ≤ i ist (hier i = 0, λ(I7 ) = 4 + 1).
”
”
Anschaulich bedeutet dies, daß die linke Hälfte (u5) der Korrelation I7 vollständig in dem
von der punktierten Regel A→BF., 0, 9, ∅, ∅ abgedeckten Bereich (0, 7] enthalten ist.
Ab hier ist der Verlauf so wie beim üblichen Earleyschen Algorithmus (da nur noch lee273
6 Kontextsensitive Grammatiken
re Mengen als Attribute auftreten) und es wird schließlich (mit Nr. 11) die Startregel als
rechtspunktierte Regel S → A., 0, 9, ∅, ∅, die nur noch leere Mengen als Attribute enthält,
erhalten, womit nicht nur klar ist, daß eine Ableitung existiert, sondern dank des (in Abb.
6.8-1 dargestellten) Hypergraphens auch, wie diese aussieht.
Jedem Knoten von H wird eine Menge von Regelfolgen zugeordnet.
(i) Für den speziellen Knoten 1 ∈ H ist
Q(1) := {λ}
(ii) Ist I anfangspunktierte Regel, also I = A→.α, j, j, Kf , Kg linkspunktierte Regel oder
I = (AL , AR+ )→(αL ., αR .), i, j, 0 bzw. I = (AL , AR− )→(αL ., .αR ), i, j, 0, dann ist
Q(I) := {p}
(Hierbei ist p = A→α oder (AL , AR )→(αL , αR ), also die der anfangspunktierten Regel
entsprechende Regel.)
(iii) Ist I nicht anfangspunktierte Regel, dann ist
[
Q(I) =
Q(I ′ )Q(I ′′ )
I ′ ,I ′′ ∈H|(I ′ ,I,I ′′ )∈h
Damit kann schließlich eine Menge
SnS
x=1
(6.8-2)
Q(S → αx ., 0, n, ∅, ∅) angegeben werden, die gepi
nau die Regelfolgen pi, die einen Parse darstellen, enthält, S ⇒∗ u1 . . . un . Es wird gezeigt,
daß jede Regelfolge dieser Menge einen Parse darstellt und jede Regelfolge, die einem Parse
entspricht, in dieser Menge enthalten ist, also
nS
[
x=1
pi
Q(S→αx ., 0, n, ∅, ∅) = {pi ∈ (P ∪ P+ ∪ P− )∗ | S ⇒∗ u}
Satz: Es gibt keinen Knoten I ∈ H, so daß Q(I) = ∅.
(6.8-3)
Beweis: Sei H ′ := H \ {I | Q(I) = ∅}. Es wird gezeigt, daß H ′ die Punkte 1–13 der Definition 6.8-1 erfüllt.
Gemäß i der Definition 6.8-2 ist Q(1) = {λ}. Damit ist auch 1 ∈ H ′ und Nr. 1 von 6.8-1 ist
erfüllt.
Mit ii von 6.8-2 ist u.a. für die Parallelregel p und für die gemäß Nr. 2 bzw. Nr. 3 von 6.8-1
dieser entsprechenden anfangspunktierte Parallelregel I dann Q(I) = {p} und damit dann
auch I ∈ H ′ .
Mit iii ergibt sich bezüglich der in Nr. 4 definierten punktierten Parallelregeln I, I ′ und I ′′ ,
daß mit der Voraussetzung I ′ , I ′′ ∈ H ′ , also Q(I ′ ) 6= ∅ und Q(I ′′ ) 6= ∅, dann auch Q(I) 6= ∅
und somit auch I ∈ H ′ .
Entsprechende Argumente gelten auch für die Punkte 5–13 von 6.8-1.
Sollte also ein I ∈ H mit Q(I) = ∅ existieren, so wäre mit obiger Definition von H ′ dann
274
6.8 Erweiterung des Earleyschen Algorithmus
H ′ ⊂ H, also eine echte Teilmenge von H. Dies steht jedoch im Widerspruch zu Nr. 14 von
6.8-1. Also kann es keinen Knoten I ∈ H geben, so daß Q(I) = ∅.
Satz: Für alle Knoten I ∈ H ist Q(I) = {λ} ⇐⇒ I = 1 (A) und λ 6∈ Q(I) ⇐⇒ I 6= 1 (B).
(6.8-4)
Beweis: Es wird zuerst gezeigt, daß für alle punktierten Regeln I ∈ H (also I 6= 1) gilt,
daß λ 6∈ Q(I). Dies geschieht mittels Induktion über |α′ |, die Anzahl der Zeichen einer punktierten Regel, an denen der Punkt bereits vorbeigeschoben“ wurde.
”
(i) |α′| = 0. Dann kann nur der Fall der Nr. 2, also I = (AL , AR+ ) → (v., w.), i, j, 0 ∈ H;
der der Nr. 3, also I = (AL , AR− )→(v., .w), i, j, 0 ∈ H; der der Nr. 8 (als Spezialfall) mit
I = S→.α, 0, 0, ∅, ∅ oder der Fall der Nr. 9 mit I = B→.γ, j, j, Kf , ∅ vorliegen (wobei jeweils
α′ = ǫ). In allen diesen Fällen ist mit ii von 6.8-2 dann Q(I) = {p} (wobei p die der punktierten Regel entsprechende Regel ist) und somit λ 6∈ Q(I).
(ii) |α′ | > 0. Es muß dann einer der Fälle der Nummern 4, 5, 6, 7, 10, 11, 12 oder
13 vorliegen. In allen diesen Fällen gibt es zu einer punktierten Regel I (zum Beispiel
I = (AL , AR+ )→(.vα, .wβ), i − l, j − l, k + l bei Nr. 4) mit |α′ | > 0 (im Beispiel α′ := vα) eine
punktierte Regel I ′ (im Beispiel I ′ = (AL , AR+ )→(v.α, w.α) mit |α| < |α′ |. (Die Existenz von
I ′ ergibt sich aus Nr. 14, der Minimalität. Gäbe es nämlich kein I ′ , so wäre H ′ := H \{I} echte Teilmenge von H, die immer noch den Nummern 1–13 der Definition entsprechen würde.)
Für diese punktierte Regel gilt die Induktionsvoraussetzung, also λ 6∈ Q(I ′ ). Mit 6.8-2 folgt
daraus auch die Behauptung für I, also λ 6∈ Q(I). (Damit λ ∈ Q(I) müßte es ein Paar I ′ ,
I ′′ geben, so daß λ ∈ Q(I ′ ) und λ ∈ Q(I ′′ ).)
Mit i und ii ist gezeigt, daß es keine punktierte Regel I gibt, so daß λ ∈ Q(I).
Formal ausgedrückt: I 6= 1 =⇒ λ 6∈ Q(I). Aus i von 6.8-2 folgt I = 1 =⇒ λ ∈ Q(I) und dies
negiert ergibt λ 6∈ Q(I) =⇒ I 6= 1 womit die Äquivalenz B gezeigt ist.
Mit i von 6.8-2 ist I = 1 =⇒ Q(I) = {λ}. Zu zeigen verbleibt noch I 6= 1 =⇒ Q(I) 6= {λ}.
Mit B ist I 6= 1 =⇒ λ 6∈ Q(I), also muß dann insbesondere Q(I) 6= {λ} sein. Damit ist auch
die Äquivalenz A gezeigt.
Satz: Sei I = α.β, i, j, Kf , Kg attributierte punktierte Regel und p ∈ Q(I) Regelfolge. Sei außerdem xr := (AL,r , AR,r )→(.αL,r , .αR,r ), ir , jr , lr bzw. xr := (AL,r , AR,r )→(.αL,r , αR,r .), ir , jr , lr
Korrelation.
Dann gibt es für die Elemente xr ∈ Kf ∪ Kg eine Indizierung, so daß die Ungleichungskette
i1 ≤ i1 + l1 ≤ i2 ≤ i2 + l2 . . . ≤ is + ls ≤ i ≤ is+1 ≤ . . . it + lt ≤ j
(6.8-5a)
gilt und für die Elemente xr ∈ Kg gibt es eine Indizierung, so daß die Ungleichungskette
i1 ≤ i1 + l1 ≤ i2 ≤ i2 + l2 . . . ≤ it + lt ≤ i
(6.8-5b)
gilt, wobei 0 ≤ r ≤ t und t := |Kf ∪ Kg | (bei a) bzw. t := |Kg | (bei b) ist.
Für den Beweis wird eine Teilmenge H ′ von H definiert, die keine punktierten Regeln enthält,
für die eine derartige Indizierung der in den attributierten Mengen enthaltenen Korrelationen
275
6 Kontextsensitive Grammatiken
nicht möglich ist. Es ist
H ′ := {I ∈ H |
I =1
oder I = (AL , AR+ )→(v.α, w.β), i, j, k
oder I = (AL , AR− )→(v.α, β.w), i, j, k
oder I = A→α.β, i, j, Kf , Kg
mit ∀x ∈ Kf ∪ Kg : i1 ≤ i1 + l1 . . . ≤ is + ls ≤ i ≤ is+1 ≤ . . . it + lt ≤ j
∀x ∈ Kg :
i1 ≤ i1 + l1 . . . ≤ it + lt ≤ i
}
Es ist leicht zu zeigen, daß H ′ die Nummern 1–13 der Definition 6.8-1 erfüllt:
Für die Nummern 1–7 gibt es nichts weiter zu zeigen, wenn I = 1 oder I Parallelregel ist,
keine Mengen attributiert sind und demzufolge die entsprechende Ungleichungskette leer ist
und damit als erfüllt angesehen werden kann.
Nummer 8 gilt ebenfalls für H ′ , denn für S→.α, 0, 0, ∅, ∅ sind die attributierten Mengen Kf
und Kg beide leer und die entsprechenden Ungleichungsketten sind damit erfüllt.
Nummer 9 gilt ebenfalls:
a) Mit A→α.Bβ, i, j, Kf , Kg ∈ H ′ existiert der Definition von H ′ gemäß eine Indizierung
und die entsprechende Ungleichungskette ist richtig. Da Kf ∪ ∅ ⊆ Kf ∪ Kg ergibt sich für
B→.γ, j, j, Kf , ∅ die entsprechende Ungleichungskette durch Weglassen einiger Glieder und
anschließender Neuindizierung aus der ersten Ungleichungskette. (Man beachte, daß hierbei
an die Stelle von i die Schranke j tritt.)
b) Hier gibt es nichts zu zeigen, da Kg = ∅ für B→.γ, j, j, Kf , ∅.
Damit ist auch B→.γ, j, j, Kf , ∅ ∈ H ′ und Nr. 9 erfüllt.
Bezüglich Nr. 10 gilt das Gleiche wie bei Nr. 9. Für die attributierten Mengen besteht sogar
Gleichheit, Kf ∪ Kg = Kf ∪ Kg (für a) bzw. Kg = Kg (für b), womit die Indizierungen der
I ′ und I attributierten Korrelationen und damit auch die zugehörigen Ungleichungsketten
gleich sind (wobei jedoch k durch j ersetzt werden muß, was jedoch wegen k ≤ j möglich
ist). Mit I ′ ∈ H ′ ist damit auch I ∈ H ′ und Nr. 10 gilt.
Daß Nr. 11 gilt, kann ebenfalls gezeigt werden:
a) Seien Kf und Kg die zu I ′ ∈ H ′ attributierten Mengen der Korrelationen x′r′ mit der
entsprechenden Ungleichungskette
i′1 ≤ i′1 + l1′ ≤ i′2 ≤ i′2 + l2′ . . . ≤ i′s′ + ls′ ′ ≤ i ≤ i′s′ +1 ≤ . . . i′t′ + lt′ ′ ≤ k
und Lf und Lg die zu I ′′ ∈ H ′ attributierten Mengen der Korrelationen x′′r′′ mit der entsprechenden Ungleichungskette
i′′1 ≤ i′′1 + l1′′ ≤ i′′2 ≤ i′′2 + l2′′ . . . ≤ i′′s′′ + ls′′′′ ≤ k ≤ i′′s′′ +1 ≤ . . . i′′t′′ + lt′′′′ ≤ j
Es wird gezeigt, daß {x ∈ Lf ∪ Lg | λ(x) ≤ k} eine Teilmenge von Kf ∪ Kg ist:
{x ∈ Lf ∪ Lg | λ(x) ≤ k}
= {x ∈ Lf | λ(x) ≤ k} ∪ {x ∈ Lg | λ(x) ≤ k}
⊆ {x ∈ Lf | λ(x) ≤ k} ∪ Lg
= {x ∈ Kf | j ≤ ρ(x)} ∪ {x ∈ Kf | ρ(x) ≤ j}
⊆ Kf ∪ Kf
⊆ Kf ∪ Kg
Beim Schritt von der dritt- auf die vorletzte Zeile wurde von Bedingung A in Nr. 11 Gebrauch
gemacht. Damit sind alle Glieder links von k der zweiten Ungleichungskette auch Glieder
der ersten Ungleichungskette und die beiden Ungleichungsketten können kombiniert werden:
i′1 ≤ i′1 + l1′ . . . ≤ i′s′ + ls′ ′ ≤ i ≤ i′s′ +1 ≤ . . . i′t′ + lt′ ′ ≤ k ≤ i′′s′′ +1 ≤ . . . i′′t′′ + lt′′′′ ≤ j
276
6.8 Erweiterung des Earleyschen Algorithmus
Da die erste Ungleichungskette eine Aussage über alle Elemente von Kf ∪ Kg und die zweite
eine Aussage über alle Elemente von Lf ∪ Lg ist, stellt die kombinierte Ungleichungskette
eine Aussage über alle Elemente von (Kf ∪ Kg ) ∪ (Lf ∪ Lg ) dar. Da die Vereinigungsmenge
der zu I attributierten Mengen Lf und Kg ∪ {x ∈ Lg | λ(x) ≤ i} eine Teilmenge hiervon ist,
kann aus der kombinierten Ungleichungskette durch Weglassen entsprechender Glieder die
Ungleichungskette für die Korrelationen von I erhalten werden. (Die entsprechende Umindizierung ist ohne weiteres möglich.)
b) Da I ′ ∈ H ′ gilt für die Korrelationen x′r′ ∈ Kg die Ungleichungskette
i′1 ≤ i′1 + l1′ ≤ i′2 ≤ i′2 + l2′ . . . ≤ i′t′ + lt′ ′ ≤ i
und da I ′′ ∈ H ′ gilt für die Korrelationen x′′r′′ ∈ Lg die Ungleichungskette
i′′1 ≤ i′′1 + l1′′ ≤ i′′2 ≤ i′′2 + l2′′ . . . ≤ i′′t′′ + lt′′′′ ≤ k
Für die Korrelationen der zu I attributierten Menge Kg ∪ {x ∈ Lg | λ(x) ≤ i} existiert
ebenfalls eine Indizierung, denn diese Menge stellt eine Teilmenge der Vereinigungsmenge
beider zu I attributierten Mengen dar, wofür bereits mit a die Existenz einer entsprechenden
Indizierung bzw. Ungleichungskette (allerdings mit der Obergrenze j) gezeigt wurde. Entsprechend obiger Ungleichungskette gilt für alle x′r′ die Bedingung i′r′ ≤ i′r′ + lr′ ′ ≤ i und für
die x′′r′′ , die in die zu I attributierte Menge eingehen, ist explizit λ(x′′r′′ ≤ i, also i′′r′′ + lr′′′′ ≤ i
gefordert. Damit kann die Obergrenze j (der in a gezeigten Ungleichungskette) durch i ersetzt werden.
Damit ist dann auch I ∈ H ′ , womit H ′ auch Nr. 11 der Definition 6.8-3 erfüllt.
Nr. 12 gilt:
a) Mit den zu I ′ attributierten Mengen Kf und Kg der Korrelationen x′r′ ist die entsprechende
Ungleichungskette
i′1 ≤ i′1 + l1′ ≤ i′2 ≤ i′2 + l2′ . . . ≤ i′s′ + ls′ ′ ≤ i ≤ i′s′ +1 ≤ . . . i′t′ + lt′ ′ ≤ k
Für I ′′ gibt es keine zu berücksichtigende Ungleichungskette. Vielmehr stellt I ′′ eine Korrelation mit λ(I ′′ ) = [k + 1, k + l] und ρ(I ′′ ) = [j + 1, j + l] dar. Wird I ′′ der Index t′ + 1
zugeordnet, so daß xt′ +1 := I ′′ , womit it′ +1 := k und lt′ +1 := l ist, dann kann obige Ungleichungskette nach rechts mit k ≤ it′ +1 ≤ it′ +1 + lt′ +1 verlängert werden, womit dann (nach
Weglassen der Striche) eine Ungleichungskette für (Kf ∪ {I ′′ }) ∪ Kg vorliegt.
b) Hier gibt es nichts zu zeigen, da die entsprechenden Mengen gleich sind, Kg = Kg und die
bei I zu erfüllende Obergrenze der Ungleichungskette ebenfalls i ist.
Damit ist dann auch I ∈ H ′ , so daß Nr. 12 ebenfalls gilt.
Bezüglich Nr. 13 kann im wesentlichen analog zu der Argumentation bei Nr. 9 oder Nr. 10
(für a) und bei Nr. 11 (bei b) argumentiert werden.
a) Aufgrund der Gleichheit der jeweiligen Vereinigungsmengen der zu I ′ und I attributierten
Mengen Kf ∪ Kg = (Kf \ {I ′′ }) ∪ (Kg ∪ {I ′′ }) gibt es nichts weiter zu zeigen. (Anm.: Bei
dieser Gleichheit geht Bedingung A ein, derzufolge I ′′ ∈ Kf ist.)
b) Die zu I attributierte Menge Lg stellt eine Teilmenge von Kf ∪ Kg dar, womit eine Indizierung mit entsprechender Ungleichungskette existiert. Da die entsprechenden Elemente
entweder alle aus Kg stammen, wofür die Obergrenze i für die Ungleichungskette gilt (da Kg
zu I ′ ∈ H ′ attributiert ist), oder es sich um I ′′ handelt, das nur in der Menge Lg erscheint,
wenn λ(I ′′ ) ≤ i, gilt auch hier die Obergrenze i.
Damit sind beide Ungleichungen für die zu I attributierten Mengen erfüllt und es ist I ∈ H ′ .
Mit Nr. 14 der Definition 6.8-1 ergibt sich nun die Behauptung des Satzes 6.8-5. Würde
277
6 Kontextsensitive Grammatiken
nämlich H eine punktierte Regel enthalten, für die keine Indizierung der Korrelationen
existiert, so daß obige Ungleichungskette gilt, dann wäre H ′ echte Teilmenge von H, im
Widerspruch zur Nr. 14 der Definition.
Hilfssatz 1: Für alle punktierten Parallelregeln (AL , AR+ )→(v.α, w.β), i, j, l bzw. (AL , AR− )→
(v.α, β.w), i, j, l ist i + l ≤ j.
Der Beweis erfolgt nach dem gleichen Prinzip wie der Beweis für Satz 6.8-5. Es reicht zu
zeigen, daß die Nummern 2–7 der Definition 6.8-1 für eine entsprechend definierte Teilmenge
H ′ (wo alle die in ihr enthaltenen Parallelregeln der Behauptung i + k ≤ j des Hilfssatzes
genügen) erfüllt sind.
H ′ := {I ∈ H | I = (AL , AR+ )→(v.α, w.β), i, j, l
oderI = (AL , AR− )→(v.α, β.w), i, j, l
und i + l ≤ j}
H ′ erfüllt Nr. 2, denn mit l = 0 ist tatsächlich i + 0 ≤ j.
H ′ erfüllt genauso Nr. 3 .
Für Nr. 4 gilt folgendes: Mit Bedingung A ist i + k ≤ j − l. Dies ist äquivalent zu (i − l) +
(k + l) ≤ j − l, womit auch I ∈ H ′ , so daß Nr. 4 erfüllt ist.
Nr. 5 ist erfüllt. Ist I ′ ∈ H ′, dann ist i + k ≤ j. Dann ist aber auch (i − l) + (k + l) ≤ j,
womit auch I ∈ H ′ und Nr. 5 bezüglich H ′ erfüllt ist.
Bei Nr. 6 und 7 ist mit I ′′ ∈ H ′ dann auch I ∈ H ′ .
Damit erfüllt die oben definierte Menge H ′ alle Punkte der Definition 6.8-1. Sollte es also
eine punktierte Parallelregel I ∈ H geben, so daß die zu zeigende Behauptung nicht gilt, so
wäre H ′ echte Teilmenge von H, im Widerspruch zu Nr. 14 der Definition 6.8-1.
Hilfssatz 2: Für beliebige v ′ ∈ (N \{AL }∪Σ)∗ , w ′ ∈ (N \{AR }∪Σ)∗ und x′ ∈ Σ∗ und p ∈ Q(I)
mit I = (AL , AR+ )→(βL .αL , βR .αR ), i, j, l bzw. I = (AL , AR− )→(βL .αL , αR .βR ), i, j, l ist
p
v ′ AL w ′AR ⇒∗ v ′ βL ui+1 . . . ui+l w ′βR uj+1 . . . uj+l
bzw.
p
v ′ AL w ′ AR x′ ⇒∗ v ′ βL ui+1 . . . ui+l w ′uj+1 . . . uj+l βR x′
verallgemeinerte Linksableitung.
Der Beweis erfolgt mittels Induktion über |p|.
(i) |p| = 1, die Folge p besteht also nur aus einer einzigen Regel p. Es werden verschiedene
Fälle unterschieden, wobei alle Möglichkeiten der Nummern 2–7 der Definition 6.8-1 abgedeckt werden.
a) I ist anfangspunktierte Parallelregel (und es liegt der Fall der Nr. 2 bzw. 3 vor). Mit ii von
Definiton 6.8-2 ist dann Q(I) = {p}, wobei p = (AL , AR+ )→(βL ., βR .) bzw. p = (AL , AR− )→
(βL ., .βR ) und l = 0. Mit der Regel p kann die Zeichenfolge v ′ AL w ′AR zu v ′ βL w ′βR abgleitet
werden. Diese Ableitung entspricht dem Prinzip der verallgemeinerten Linksableitung, da
der Voraussetzung entsprechend die Zeichenfolge v ′ nicht das Symbol AL und die Zeichenfolge w ′ nicht das Symbol AR+ bzw. AR− enthält und es somit kein weiter links stehendes
Paar von Parallelsymbolen (AL , AR ) gibt.
b) I ist nicht anfangspunktierte Parallelregel. Mit iii von Definition 6.8-2 gibt es dann I ′
und I ′′ , so daß p ∈ Q(I ′ )Q(I ′′ ). Da p = p ist damit entweder p ∈ Q(I ′ ) und λ ∈ Q(I ′′ ) oder
λ ∈ Q(I ′ ) und p ∈ Q(I ′′ ). Mit 6.8-4 ist dann I ′′ = 1 und Q(I ′′ ) = {λ} oder I ′ = 1 und
Q(I ′ ) = {λ}. Gemäß Definition 6.8-1 kommt jedoch nur die erste Möglichkeit in Frage, womit
278
6.8 Erweiterung des Earleyschen Algorithmus
dann der Fall der Nr. 4 bzw. 5 vorliegt. Es ist dann I = (AL , AR+ )→(.vα, .wβ), i−l, j −l, k +l
bzw. I = (AL , AR+ )→(.vα, βw.), i − l, j, k + l, wobei l = |v| = |w| und I ′ = (AL , AR+ )→
(v.α, w.β), i, j, k bzw. I ′ = (AL , AR+ )→(v.α, w.β), i, j, k. Bezüglich α, β werden zwei Fälle
unterschieden.
α) α = β = ǫ. Dann ist I ′ anfangspunktierte Parallelregel und für I ′ gilt mit obigem Fall a,
daß
p
v ′ AL w ′ AR ⇒∗ v ′ vαw ′wβ
Linksableitung ist. Da die Behauptung bezüglich p ∈ Q(I) dieselbe ist, ist diese gezeigt.
β) (α, β) = (BL , BR ), BL ∈ NL , BR ∈ NR . Dann liegt bezüglich der punktierten Regel
I ′ =: J der Fall der Nr. 6 bzw. 7 vor. Es gibt dann die punktierten Regeln J ′ und J ′′ , so
daß p ∈ Q(J ′ )Q(J ′′ ). Entsprechend obiger Argumentation ist dann aber Q(J ′′ ) = {λ} und
J ′′ = 1, was einen Widerspruch zu Nr. 6 bzw. 7 darstellt, da J ′′ punktierte Regel ist. Der
Fall β ist somit nicht möglich.
(ii) |p| > 1.
a) I kann dann nicht anfangspunktierte Regel sein, da mit ii von 6.8-2 dann Q(I) = {p}, die
Fälle der Nr. 2 bzw. 3 kommen damit nicht in Betracht.
bα) Sollten die Fälle der Nr. 4 bzw. 5 vorliegen, so ist damit p ∈ Q(I ′ ). Entweder ist dann
α = β = ǫ (vgl. α bei i b) und I ′ ist dann ebenfalls linkspunktierte Regel, was nicht möglich
ist. Oder es ist (vgl. β bei i b) (α, β) = (BL , BR ), womit dann der Fall der Nr. 6 bzw.
7 vorliegt (vgl. unten). Wie dort gezeigt wird, gibt es eine der Behauptung entsprechende
Ableitung für p ∈ Q(I ′ ) und damit dann auch für p ∈ Q(I).
bβ) Die Fälle der Nr. 6 bzw. Nr. 7 liegen vor. Dann gibt es I ′ = (BL , BR+ )→(vAL ., wAR+ .), i+
l, j +l, 0 bzw. I ′ = (BL , BR− )→(vAL ., .AR− w), i+l, j +l, 0 und I ′′ = (AL , AR+ )→(.α, .β), i, j, l
bzw. I ′′ = (AL , AR− )→(.α, β.), i, j, l so daß p ∈ Q(I ′ )Q(I ′′ ) entsprechend iii von 6.8-2. Da I ′
und I ′′ beide von 1 verschieden, ist damit p = p′p′′ mit p′ ∈ Q(I ′ ) und p′′ ∈ Q(I ′′ ), wobei
|p′| < |p| und |p′′| < |p|. Mit der Induktionsvoraussetzung gilt dann jeweils
p′
v ′ BL w ′BR+ ⇒∗ v ′ vAL ui+l+1 . . . ui+l+0w ′ wAR+ uj+l+1 . . . uj+l+0
bzw.
p′
v BL w BR− x ⇒∗ v ′ vAL ui+l+1 . . . ui+l+0w ′ uj+l+1 . . . uj+l+0AR− wx′
′
′
′
und
′′
p′′
∗
′′
v AL w AR+ ⇒ v ′′ ui+1 . . . ui+l w ′′ uj+1 . . . uj+l
bzw.
′′
′′
′′
p′′
∗
v AL w AR− x ⇒ v ′′ ui+1 . . . ui+l w ′′ uj+1 . . . uj+l x′′
(Man beachte, daß v ′ , w ′ , x′ , v ′′ , w ′′ , x′′ beliebig sind.) Da ui+l+1 . . . ui+l+0 = uj+l+1. . . uj+l+0
= ǫ, können mit v ′′ := v ′ v und w ′′ := w ′ w bzw. v ′′ := v ′ v, w ′′ := w ′ und x′′ := wx′ die beiden
Ableitungen zu
p′ p′′
∗
v BL w BR+ ⇒ v ′ vui+1 . . . ui+l w ′ wuj+1 . . . uj+l
′
′
bzw.
p′ p′′
∗
v BL w BR− x ⇒ v ′ vui+1 . . . ui+l w ′uj+1 . . . uj+l wx′
′
′
′
kombiniert werden. Diese Ableitung entspricht der Behauptung für p ∈ Q(I). Es geht hierbei
ein, daß gemäß Nr. 6 bzw. Nr. 7 AL ∈ (NL \ Sk ) ∪ {BL } und v ′ ∈ (N \ {AL } ∪ Σ)∗ , sowie daß
AR ∈ ((NR+ ∪ NR− ) \ Sk ) ∪ {BR } und w ′ ∈ (N \ {AR } ∪ Σ)∗ . Dadurch treten die Symbole
279
6 Kontextsensitive Grammatiken
AL und AR nicht weiter links in den Zeichenfolgen v ′ v und w ′w bzw. w ′ auf, so daß die
kombinierte Ableitung dem Prinzip der verallgemeinerten Linksableitung genügt.
Satz: Sei I = A → α.β, i, j, Kf , Kg attributierte punktierte Regel und p ∈ Q(I) Regelfolge. Sei außerdem xr := (AL,r , AR,r ) → (.αL,r , .αR,r ), ir , jr , lr bzw. xr := (AL,r , AR,r ) →
(.αL,r , αR,r .), ir , jr , lr Korrelation.
Dann gibt es für die Elemente xr ∈ Kf eine Indizierung, so daß die Ungleichungskette
j ≤ j1 ≤ j1 + l1 ≤ j2 ≤ j2 + l2 . . . ≤ jt ≤ jt + lt
(6.8-6a)
gilt bzw. es gilt für xr ∈ Kg eine Indizierung, so daß die Ungleichungskette
i ≤ j1 ≤ j1 + l1 ≤ j2 ≤ j2 + l2 . . . ≤ jt ≤ jt + lt ≤ j
(6.8-6b)
gilt, wobei t := |Kf | (bei a) bzw. t := |Kf ∪ Kg | (bei b) und 0 ≤ r ≤ t ist.
Der Beweis wird analog zu dem Beweis von Satz 6.8-5 geführt. Es wird eine Teilmenge H ′
von H definiert, die keine punktierten Regeln enthält, für die eine derartige Indizierung der
in den attributierten Mengen enthaltenen Korrelationen nicht möglich ist. Es ist
H ′ := {I ∈ H |
I=1
oder I = (AL , AR+ )→(v.α, w.β), i, j, k
oder I = (AL , AR− )→(v.α, β.w), i, j, k
oder I = A→α.β, i, j, Kf , Kg
mit ∀x ∈ Kg : j ≤ j1 ≤ j1 + l1 . . . ≤ jt + lt
∀x ∈ Kg : i ≤ i1 ≤ i1 + l1 . . . ≤ it + lt ≤ j}
Es ist leicht zu sehen, daß H ′ die Nummern 1–13 der Definition 6.8-3 erfüllt.
Für die Nummern 1–7 gibt es nichts weiter zu zeigen, da hier keine attributierten Mengen
existieren und die Behauptung damit als erfüllt angesehen werden kann und H ′ somit die
Nummern 1–7 der Definition erfüllt.
Nummer 8 gilt ebenfalls für H ′ , denn für S→.α, 0, 0, ∅, ∅ sind die attributierten Mengen Kf
und Kg beide leer und somit ist S→.α, 0, 0, ∅, ∅ ∈ H ′ und die Behauptung ist erfüllt.
Nummer 9 gilt ebenfalls.
a) Mit A→α.Bβ, i, j, Kf , Kg ∈ H ′ existiert der Definition von H ′ nach auch die besagte Indizierung für alle Elemente aus Kf . Da Kf auch die zu B→.γ, j, j, Kf , ∅ attributierte Menge
und j auch der entsprechende Index ist, gilt die erste Ungleichungskette auch bezüglich I.
b) Die entsprechende zu B → .γ, j, j, Kf , ∅ attributierte Menge ist leer und es gibt nichts
weiter zu zeigen.
Damit gelten beide Ungleichungsketten und es ist B→.γ, j, j, Kf , ∅ ∈ H ′ , womit Nr. 9 erfüllt
ist.
Nr. 10 ist erfüllt.
Es existiert mit I ′ ∈ H ′ eine Indizierung für alle x′r′ ∈ Kf , so daß k ≤ j1′ ≤ j1′ + l1′ ≤ j2′ ≤
j2′ + l2′ . . . ≤ jt′′ ≤ jt′′ + lt′ ′ . a) Mit Bedingung A kann die untere Schranke k dieser Ungleichungskette durch j ersetzt werden.
b) Mit I ′ ∈ H ′ existiert weiterhin eine Indizierung für alle x′′r′′ ∈ Kg , so daß i ≤ j1′′ ≤
j1′′ + l1′′ ≤ j2′′ ≤ j2′′ + l2′′ . . . ≤ jt′′′′ ≤ jt′′′′ + lt′′′′ ≤ k. Da k ≤ j kann hiermit die obere Schranke
280
6.8 Erweiterung des Earleyschen Algorithmus
der Ungleichungskette durch j ersetzt werden.
Da die zu I attributierten Mengen mit den zu I ′ attributierten übereinstimmen, Kf = Kf
und Kg = Kg und entsprechende Ungleichungskette erfüllt sind, ist auch I ∈ H ′ und somit
für H ′ auch Nr. 10 erfüllt.
Nr. 11 gilt.
a) Die betrachteten, zu I ′′ und I attributierten Mengen sind gleich, Lf = Lf und ebenso die
als untere Schranke auftretenden Indizes von I ′′ und I, j = j.
b) Da I ′ ∈ H ′ existiert für alle x′r′ ∈ Kg eine Indizierung, so daß i ≤ j1′ ≤ j1′ + l1′ ≤ j2′ ≤
j2′ + l2′ . . . ≤ jt′′ ≤ jt′′ + lt′ ′ ≤ k. Da I ′′ ∈ H ′ existiert für alle x′′r′′ ∈ Lg eine Indizierung, so daß
k ≤ j1′′ ≤ j1′′ + l1′′ ≤ j2′′ ≤ j2′′ + l2′′ . . . ≤ jt′′′′ ≤ jt′′′′ + lt′′′′ ≤ j. Diese beiden Ungleichungsketten
können ohne weiteres verkettet werden, wobei eine Ungleichungskette erhalten wird, die für
die Elemente der Vereinigungsmenge von Kg und Lg gilt. Da die zu I attributierte Menge
Kg ∪ {x ∈ Lg | λ ≤ i} eine Teilmenge dieser Vereinigungsmenge darstellt, gibt es auch für
diese eine entsprechende Ungleichungskette, die aus der verketteten durch Weglasssen der
überflüssigen Glieder erhalten wird. Somit existiert auch für die zu I attributierte Menge
eine Indizierung (die durch einfaches Umindizieren anhand der (verkürzten) kombinierten
Ungleichungskette erhalten werden kann).
Damit ist auch I ∈ H ′ und die Gültigkeit von Nr. 11 für H ′ gezeigt.
Nr. 12 gilt.
a) Mit I ′ ∈ H ′ existiert eine Indizierung für alle x′r′ ∈ Kf , so daß k ≤ j1′ ≤ j1′ + l1′ ≤ j2′ ≤
j2′ + l2′ . . . ≤ jt′′ ≤ jt′′ + lt′ ′ . Für I ′′ ist ρ(I ′′ ) = j und ρ(I ′′ ) = j + l. Mit k ≤ k + l und j ≤ j + l
ist mit Bedingung A dann k ≤ k + l ≤ j ≤ j + l. Mit Bedingung B gibt es dann ein r0′ ,
0 ≤ r0′ ≤ t′ , so daß jr′ ′ + lr′ ′ ≤ j ≤ j + l ≤ jr′ ′ +1 (wobei j0′ + l0′ := k und jt′′ +1 als beliebig groß
0
0
0
angenommen werden kann), so daß die Indizes für I ′′ in obige Ungleichungskette eingefügt
werden können (und sich eine entsprechende Umindizierung für Kf ∪{I ′′ } anschließen kann).
Mit Bedingung C kann die untere Schranke der Ungleichungskette durch k +l ersetzt werden.
b) Hier stimmen die zu I ′ und I attributierten Mengen überein, Kg = Kg . Da I ′ ∈ H ′ gibt
es eine Indizierung mit entsprechender Ungleichungskette, deren obere Schranke k ist. Diese
kann aber ohne weiteres durch k + l ersetzt werden.
Damit gibt es auch für I Indizierungen, die die entsprechenden Ungleichungsketten erfüllen.
Es ist also auch I ∈ H ′ und und Nr. 12 ist erfüllt.
Nr. 13 gilt.
a) Bei der sich für die zu I ′ attributierten Menge Kf ergebenden Ungleichungskette entsprechen das zweite und dritte Glied j1 und j1 + l1 der Korrelation x1 := I ′ . Indem die ersten
beiden Glieder weggelassen werden, wird die Ungleichungskette für die zu I attributierten
Menge Kf \ {I ′′ } erhalten.
b) Für alle Elemente x′′r′′ von Kg von I ′ ∈ H ′ gibt es eine Indizierung, so daß i ≤ j1′′ ≤
j1′′ + l1′′ ≤ j2′′ ≤ j2′′ + l2′′ . . . ≤ jt′′′′ ≤ jt′′′′ + lt′′′′ ≤ j. Für I ′′ ist sicherlich j ≤ j + l. Indem für
I ′′ der Index t′ + 1 verwendet wird, können jt′′′′ +1 := j und lt′′′′ +1 := l eingeführt werden, und
es ergibt sich die Ungleichungskette j ≤ jt′′′′ +1 ≤ lt′′′′ +1 ≤ j + l, die mit der obigen verkettet
werden kann. Damit gibt es auch zu jedem Element der zu I attributierten Menge Kf ∪ {I ′′ }
eine Indzierung mit entsprechender Ungleichungskette.
Es ist also auch I ∈ H ′ und Nr. 13 gilt.
Mit Nr. 14, der Minimalität von H kann H ′ nicht echte Teilmenge von H sein, daß heißt es
gibt kein Element von H, das die Definition von H ′ nicht erfüllt. Insbesondere ist damit die
zu jedem I ∈ H attributierte Menge Kf wie behauptet zerlegbar.
281
6 Kontextsensitive Grammatiken
Satz: Sei I = α.β, i, j, Kf , Kg attributierte punktierte Regel und p ∈ Q(I) Regelfolge. Sei außerdem xr := (AL,r , AR,r )→(.αL,r , .αR,r ), ir , jr , lr bzw. xr := (AL,r , AR,r )→(.αL,r , αR,r .), ir , jr , lr
Korrelation aus Kf . Für jedes Linkssymbol AL gibt es eine Teilmenge Kf,AL von Kf , so daß
Kf,AL := {x ∈ Kf | sL (x) = AL }. Dann gibt es für alle xr ∈ Kf,AL eine Indizierung, derart,
daß
i1 ≤ i1 + l1 ≤ i2 ≤ . . . itAL ≤ itAL + ltAL ≤ j und j < j1 ≤ j1 + l1 ≤ j2 ≤ . . . jtAL ≤ jtAL + ltAL
(6.8-7)
(Hierbei ist tAL = |Kf,AL | die Anzahl der Elemente der betreffenden Teilmenge.) Man beachte, daß die Indizierung für beide Ungleichungsketten diesselbe ist!
Der Beweis erfolgt nach dem gleichen Prinzip wie der Beweis für Satz 6.8-7. Die Menge H ′
sei die Teilmenge aller Knoten aus H, die obige Behauptung erfüllen.
Für die Nummern 1–7 gibt es nichts weiter zu zeigen, da hier keine attributierten Mengen
existieren und die Behauptung damit als erfüllt angesehen werden kann und H ′ somit die
Nummern 1–7 der Definition erfüllt.
Nummer 8 gilt ebenfalls für H ′ , denn für S→.α, 0, 0, ∅, ∅ sind die attributierten Mengen Kf
und Kg beide leer und somit ist S→.α, 0, 0, ∅, ∅ ∈ H ′ und die Behauptung ist erfüllt.
Nummer 9 gilt ebenfalls. Mit A→α.Bβ, i, j, Kf , Kg ∈ H ′ existiert der Definition von H ′ nach
auch die besagte Zerlegung von Kf in Teilmengen und die Indizierung für alle Elemente
dieser Teilmengen. Da Kf auch die zu B → .γ, j, j, Kf , ∅ attributierte Menge ist, ist auch
B→.γ, j, j, Kf , ∅ ∈ H ′ und Nr. 9 ist erfüllt.
Bei Nr. 10 ist mit I ′ ∈ H ′ die Bedingung für Kf erfüllt. Da Kf auch attributierte Menge für
I ist, erfüllt auch I die Bedingung. Es ist I ∈ H ′ und somit erfüllt H ′ auch Nr. 10.
Bezüglich Nr. 11 gilt das Gleiche wie bei Nr. 9 (wobei nur die zu I ′′ attributierte Menge zu
berücksichtigen ist).
Nr. 12 gilt. Für I ′ ∈ H ′ gibt es eine Zerlegung von Kf in Teilmengen Kf,AL , AL ∈ NL . Diese
Zerlegung entspricht auch der Zerlegung von Kf ∪{I ′′ }, wobei jedoch einer deren Teilmengen
zusätzlich das Element I ′′ aufweist. Sei diese Teilmenge Kf,BL . Diese Teilmenge ist also noch
zu betrachten. Der Voraussetzung entsprechend gibt es für diese eine Indizierung, so daß
i1 ≤ i1 + l1 ≤ i2 ≤ . . . itBL ≤ itBL + ltBL ≤ k und k < j1 ≤ j1 + l1 ≤ j2 ≤ . . . jtBL ≤ jtBL + ltBL
Erhalte I ′′ nun den neuen Index tBL + 1. Dann ist itBL +1 := k, jtBL +1 := j und ltBL +1 :=
l. Damit kann die erste Ungleichungskette nach rechts mit k ≤ itBL +1 ≤ itBL +1 + ltBL +1
fortgesetzt werden. Mit Bedingung D ist die zweite Ungleichungskette nach oben durch j
beschränkt, also jtBL + ltBL ≤ j, so daß diese ebenfalls nach rechts mit j ≤ jtBL +1 ≤
jtBL +1 +ltBL +1 fortgesetzt werden kann. Somit gilt auch bezüglich Kf,BL ∪{I ′′ } die Behauptung
und damit auch bezüglich Kf ∪ {I ′′ }, so daß I ∈ H ′ und Nr. 12 ebenfalls gilt.
Nr. 13 gilt, denn mit I ′ ∈ H ′ gibt es eine Zerlegung von Kf in Teilmengen Kf,AL und
entsprechender Indizierung der Elemente der Teilmengen. Dies ist dann auch für Kf \ {I ′′ }
der Fall, da mit Wegnahme von I ′′ aus Kf jeweils die Glieder mit dem Index 1 aus den
Ungleichungsketten wegfallen (wodurch sich an der Reihenfolge der übrigen Glieder nichts
ändert). Also ist auch I ∈ H ′ und Nr. 13 gilt ebenfalls.
Mit Nr. 14, der Minimalität von H kann H ′ nicht echte Teilmenge von H sein, daß heißt es
gibt kein Element von H, das die Definition von H ′ nicht erfüllt. Insbesondere ist damit die
zu jedem I ∈ H attributierte Menge Kf wie behauptet in Teilmengen Kf,AL zerlegbar.
282
6.8 Erweiterung des Earleyschen Algorithmus
Satz: Sei I = α.β, i, j, Kf , Kg attributierte punktierte Regel und p ∈ Q(I) Regelfolge. Sei außerdem xr := (AL,r , AR,r )→(.αL,r , .αR,r ), ir , jr , lr bzw. xr := (AL,r , AR,r )→(.αL,r , αR,r .), ir , jr , lr
Korrelation und seien die Elemente xr ∈ Kf ∪ Kg entsprechend Satz 6.8-5 indiziert. Mit
AL,1 , AL,2 , . . . AL,s ∈ NL und A ∈ N ist für beliebige v0 , v1 , . . . vs ∈ Σ∗
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒∗ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1 uis+1+ls+1 +1 . . . uit AL,t uit +lt +1 . . . uj β
(6.8-8)
wobei
αr :=
(
AL,r
uir +1 . . . uir +lr
wenn xr ∈ Kf
wenn xr ∈ Kg
Weiterhin stellt diese Ableitung eine verallgemeinerte Linksableitung (wie in Abschnitt 6.5
und mit 6.5-14 definiert) dar.
Der Beweis wird mittels Induktion über |p| geführt. |p| = 0 ist nicht möglich, da dann p = λ
und mit Satz 6.8-4 dann I = 1, im Widerspruch zur Voraussetzung.
(I) |p| = 1 (und damit besteht die Folge p aus einer einzigen Regel, p := p). Es wird nun
ein Induktionsbeweis über die Länge von α′ geführt.
(i) |α′ | = 0. Dann ist I linkspunktierte Regel (mit α′ := ǫ) also I = A→.α, i, i, Kf , Kg . Mit
ii von 6.8-2 ist dann Q(I) = {A→α} und damit ist (nach Voraussetzung) {A→α} = {p},
womit p = A→α folgt. Der Argumentation des Beweises 6.8-5 entsprechend, läßt sich zeigen, daß Kg = ∅ ist. (H enthält nur entsprechend den Nummern 9 und 10 der Definition
6.8-1 linkspuktierte Regeln, und für diese linkspunktierten Regeln ist die zweite attributierte Menge leer.) Seien v0 , v1 , . . . vs ∈ Σ∗ beliebig. Betrachtet werde nun die Zeichenfolge
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A, wobei AL,r die Linkssymbole der Parallelregeln sind, die den
in in Kf ∪ Kg enthaltenen Korrelationen entsprechenden. Mit der Regel p = A→ α kann
diese Zeichenfolge zu v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs α abgeleitet werden. Es handelt sich hierbei
übrigens um eine verallgemeinerte Linksableitung, da kein Symbol links von A ersetzbar ist.
Dies gilt auch bei Berücksichtigung von Parallelregeln, da die in der Zeichenfolge auftretenden Parallelsymbole alles Linkssymbole sind. Weiterhin gilt αr = AL,r , da Kg = ∅ und somit
alle xr ∈ Kf sind. Mit Satz 6.8-5 existiert im übrigen eine Indizierung der Korrelationen,
so daß eine Ungleichungskette gemäß Satz 6.8-5 gilt. (Dies wird zur Induktionsverankerung
benötigt.)
(ii) |α| > 0. Dann ist I nicht linkspunktierte Regel und es existieren I ′ ∈ H und I ′′ ∈ H,
so daß p ∈ Q(I ′ )Q(I ′′ ). Damit muß λ ∈ Q(I ′ ) und p ∈ Q(I ′′ ) oder p ∈ Q(I ′ ) und
λ ∈ Q(I ′′ ) sein und mit Satz 6.8-4 ist dementsprechend I ′ = 1 oder I ′′ = 1. Die erste
Möglichkeit scheidet aufgrund der Minimalität von H aus, da dann I aus H weggelassen
werden könnte. Damit muß I ′ = A→α.vβ, i, k, Kf , Kg und I = A→αv.β, i, j, Kf , Kg (wobei
α′ := αv) entsprechend Nr. 10 der Definition 6.8-1 oder I ′ = A→α.BL β, i, k, Kf , Kg und
I ′′ = (BL , BR+ ) → (.γL , .γR ), k, j, l bzw. I ′′ = (BL , BR− ) → (.γL , γR .), k, j, l und I = A →
αBL .β, i, k + l, Kf ∪ {I ′′ }, Kg (mit α′ := αBL ) entsprechend Nr. 12 der Definition 6.8-1 sein.
Es wird der erste Fall betrachtet. Entsprechend der Induktionsvoraussetzung ist p = A→αvβ
und
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1 uis+1+ls+1 +1 . . . uit AL,t uit +lt +1 . . . uk vβ
283
6 Kontextsensitive Grammatiken
ist Linksableitung. (Hierbei ist αr = AL,r wenn xr ∈ Kf und αr = uir +1 . . . uir +lr wenn
xr ∈ Kg .) Da v = uk+1 . . . uj und die attributierten Mengen Kf und Kg für I ′ und I die
gleichen sind, ist diese Ableitung gleich der für I zu zeigenden, womit die Behauptung für
|α′| bewiesen ist.
Im zweiten Fall ist mit der Induktionsvoraussetzung p = A→αBL β und
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1uis+1 +ls+1 +1 . . . uit AL,t uit +lt +1 . . . uk BL β
ist Linksableitung. (Hierbei ist αr = AL,r wenn xr ∈ Kf und αr = uir +1 . . . uir +lr wenn xr ∈
Kg .) Mit xt+1 := I ′′ und damit (vgl. Nr. 12) AL,t+1 := BL und k := it+1 und j := it+1 + lt+1
(und damit uit+1+lt+1 +1 . . . uj = ǫ), ist obige Ableitung mit
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1 uis+1 +ls+1 +1 . . .
uit AL,t uit +lt +1 . . . uit+1 AL,t+1 uit+1+lt+1 +1 . . . uj β
identisch. Diese war aber für I (mit den attributierten Mengen Kf ∪ {I ′′ } und Kg ) zu zeigen,
womit die Behauptung für |α′ | gezeigt ist.
Mit i und ii ist die Induktionsverankerung für |p| = 1 sichergestellt.
(II) |p| > 1. Sei der Voraussetzung entsprechend p ∈ Q(I). I ist nicht linkspunktierte Regel,
da sonst Q(I) = {p} und |p| = 1. Mit iii von 6.8-2 existieren demnach I ′ und I ′′ und p′ und
p′′, so daß p′ ∈ Q(I ′ ) und p′′ ∈ Q(I ′′ ). Es wird nun wiederum ein Induktionsbeweis über
|α′| geführt.
(i) α′ ist minimal“, das heißt, daß I ′′ 6= λ ist, womit die Fälle der Nr. 10 bzw. 12 nicht
”
vorliegen. (Wäre α′ nicht minimal, dann wäre p ∈ Q(I ′ ). Die Behauptung würde dann für
I ′ gezeigt, wo an die Stelle von dem ursprünglichen α′ := αB bzw. α′ := αBL bei I nun
α′ = α bei I ′ tritt. Eventuell wird diesselbe Argumentation auch bezüglich I ′ angewendet und
solange wiederholt, bis weder der Fall der Nr. 10 noch der der Nr. 12 vorliegt. Entsprechend
der eingangs gemachten Feststellung existiert eine derartige nicht linkspunktierte Regel und
damit auch ein minimales α′ .) Es werden für I nun alle möglichen Fälle der Definition 6.8-1
betrachtet. Für die Fälle der Nummern 1–7 gibt es nichts zu zeigen, da I laut Voraussetzung
keine Parallelregel ist. Der Fall der Nr. 8 scheidet aus, da I wie eingangs festgestellt keine
linkspunktierte Regel ist. Ebenso scheidet der Fall der Nr. 9 aus, da B→.γ, j, j, Kf , ∅ ebenfalls
linkspunktierte Regel ist. Der Fall der Nr. 10 scheidet wegen der vorausgesetzten Minimalität
von α′ aus.
Der Fall der Nr. 11 ist zu betrachten. Hier ist p′ ∈ Q(I ′ ) mit I ′ = A→α.Bβ, i, k, Kf′ , Kg′ und
p′′ ∈ Q(I ′′ ) mit I ′′ = B→γ., k, j, Kf′′ , Kg′′ . (Es ist übrigens α′ := αB.) Mit der Induktionsvoraussetzung ist damit für beliebige v0′ , v1′ , . . . vs′ ′ ∈ Σ∗
v0′ A′L,1 v1′ A′L,2 . . . vs′ ′ −1 A′L,s′ vs′ ′ A
p′
⇒∗ v0′ α1′ v1′ α2′ vs′ −1 αs′ ′ vs′ ′ ui+1 . . . ui′s′ +1 A′L,s′ +1 ui′s′ +1 +ls′ ′ +1 +1 . . . ui′t A′L,t′ ui′t′ +lt′ ′ +1 . . . uk Bβ
wobei
αr′ ′
284
:=
(
A′L,r′
ui′r′ +1 . . . ui′r′ +lr′ ′
wenn x′r′ ∈ K′ f
wenn x′r′ ∈ K′ g
6.8 Erweiterung des Earleyschen Algorithmus
und für beliebige v0′′ , v1′′ , . . . vs′′′′ ∈ Σ∗
v0′′ A′′L,1 v1′′ A′′L,2 . . . vs′′′′ −1 A′′L,s′′ vs′′′′ B
p′′
⇒∗ v0′′ α1′′ v1′′ α2′′ vs′′ −1 αs′′′′ vs′′′′ uk+1 . . . ui′′s′′ +1 A′′L,s′′ +1 ui′′s′′ +1 +ls′′′′ +1 +1 . . . ui′′t A′′L,t′′ ui′′t′′ +lt′′′′ +1 . . . uj
wobei
αr′′′′
:=
(
A′′L,r′′
ui′′r′′ +1 . . . ui′′r′′ +lr′′′′
wenn x′′r′′ ∈ K′′ f
wenn x′′r′′ ∈ K′′ g
Indem die zweite Ableitung um β (d.h. β wird rechts an B und uj konkatentiert) ergänzt“
”
wird, ergibt sich ebenfalls eine gültige Relation. Entsprechend der Argumentation beim Beweis des Satzes 6.8-5 kann diese mit der ersten Ableitungen zu einer kombiniert werden.
Es entsprechen die Linkssymbole A′′L,r′′ , 1 ≤ r ′′ ≤ s′′ , der Ausgangssatzform der zweiten
Ableitung den Linkssymbolen A′L,r′ (bzw. αr′ ′ ) der Endsatzform der ersten Ableitung, da
K′ f = {x ∈ K′′ f | λ(x) ≤ k} ∪ K′′ g . (Dies kann sofort mit Bedingung A von Nr. 11 gezeigt
werden, wobei Satz 6.8-6 mit eingeht, demzufolge Kf = {x ∈ Kf | ρ(x) ≤ j} ∪ {x ∈ Kf | j ≤
ρ(x)} ist.) Da, wo αr′ ′ = ui′r′ +1 . . . ui′r′ +lr′ ′ kann vr′′′′ entsprechend gewählt werden (also z.B.
vr′′′′ := vr′ ′ −1 αr′ ′ vr′ ′ mit entsprechender Transformation der Indizes). Da beide Ableitungen
verallgemeinerte Linksableitungen darstellen, trifft dies auch auf die kombinierte Ableitung
zu. Damit entspricht die der I und p ∈ Q(I) entsprechende Aussage der Behauptung.
Der Fall der Nr. 12 kommt (wie zuvor schon der der Nr. 10) aufgrund der vorausgesetzten
Minimalität von α′ nicht in Frage.
Der Fall der Nr. 13 ist wiederum zu betrachten. Hier ist p′ ∈ Q(I ′ ), I ′ = A→α.Bβ, i, k, Kf′ , Kg′
und p′′ ∈ Q(I ′′ ) mit I ′′ = (BL , BR+ )→(.γL , .γR ), k, j, l bzw. I ′′ = (BL , BR− )→(.γL , γR .), k, j, l.
(Es ist übrigens α′ := αBR .) Mit der Induktionsvoraussetzung ist damit für beliebige
v0′ , v1′ , . . . vs′ ′ ∈ Σ∗
v0′ A′L,1 v1′ A′L,2 . . . vs′ ′ −1 A′L,s′ vs′ ′ A
p′
⇒∗ v0′ α1′ v1′ α2′ . . . vs′ −1 αs′ ′ vs′ ′ ui+1 . . . ui′s′ +1 A′L,s′ +1 ui′s′ +1 +ls′ ′ +1 +1 . . . ui′t A′L,t′ ui′t′ +lt′ ′ +1 . . . uk BR β
wobei
αr′ ′
:=
(
A′L,r′
ui′r′ +1 . . . ui′r′ +lr′ ′
wenn x′r′ ∈ K′ f
wenn x′r′ ∈ K′ g
und mit Hilfssatz 2 ist für beliebige v ∈ ((N ∩Sk )\{BL }∪Σ)∗ und w ∈ ((N ∩Sk )\{BR }∪Σ)∗
(setze x des Hilfssatzes gleich ǫ)
vBL wBR ⇒∗ vuk+1 . . . uk+l wuj+1 . . . uj+l
Es wird nun gezeigt, daß die Ausgangszeichenfolge der zweiten Ableitung der Endzeichenfolge
der ersten entspricht. Die Indizes der αr′ ′ dieser Zeichenfolge sind so gewählt, daß die Ungleichungskette gemäß Satz 6.8-5 gilt. Betrachtet werden nun alle x′r′ ∈ Kf′ mit sL (x′r′ ) = BL ,
Da I ′′ ∈ Kf′ , gibt es (mit der Defintion von αr′ ′ ) ein R′ , so daß sL (x′R′ ) = A′L,R′ = BL ,
wobei k = ρ(x′R′ ). Damit erhält bei der Indizierung gemäß Satz 6.8-7 das Element x′R′ den
Index 1, woraus folgt, daß es kein x′r′ mit sL (x′r′ ) = sL (x′R′ ) gibt, so daß λ(x′r′ ) < λ(x′r′ ).
(Anm.: Die λ(x′r′ ) und λ(x′r′ ) entsprechen den ir und ir + lr des Satzes 6.8-7 (vgl. Definition
6.7-5).) Damit ist BL das am weitesten links stehende Parallelsymbol seiner Art, womit der
links von A′L,R′ stehende Teil in der Endzeichenfolge dem v der zweiten Ableitung entspricht.
Da diese Zeichenfolge mit Ausnahme von BR keine Rechtssymbole enthält, entspricht der
285
6 Kontextsensitive Grammatiken
rechts von A′L,R′ stehende Teil der Endzeichenfolge der ersten Ableitung dem w der zweiten Ableitung. Damit können beide Ableitungen verkettet werden. Mit αr′ ′ := uk+1 . . . uk+l
und x′r′ ∈ Kg ∪ {I ′′ } stellt die verkettete Ableitung (nach Weglassen der Striche) die für I
behauptete Ableitung dar. Darüber hinaus handelt es sich um eine Linksableitung, da es
kein weiter links stehendes Symbol BL gibt und BR sowieso das einzige seiner Art ist. (Dies
bleibt auch bei Anwendung der Regelfolge p′′ ∈ Q(I ′′ ) der Fall, da gemäß den Definitionen
6.5-12 und 6.5-13 Parallelsymbole nur durch das gleiche Symbol oder nicht in N enthaltene
Symbole ersetzt werden.) Damit ist auch Nr. 13 gültig.
(ii) α′ ist nicht minimal. Hier sind dann nur die Nummern 10 und 12 der Definition zu betrachten.
Im Falle der Nr. 10 ist der Induktionsvoraussetzung entsprechend für I ′
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒∗ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1 uis+1+ls+1 +1 . . . uit AL,t uit +lt +1 . . . uk vβ
Da v = uk+1 . . . uj ist dies aber auch der für I behauptete Ausdruck (und der Induktionsschritt ist gewährleistet).
Im Falle der Nr. 12 ist der Induktionsvoraussetzung entsprechend für I ′
v0 AL,1 v1 AL,2 . . . vs−1 AL,s vs A
p
⇒∗ v0 α1 v1 α2 . . . vs−1 αs vs ui+1 . . . uis+1 AL,s+1uis+1 +ls+1 +1 . . . uit AL,t uit +lt +1 . . . uk BL β
Mit AL,t+1 := BL ergibt sich der für I behauptete Ausdruck. (Hierbei geht ein, daß it+1 := k
und it+1 + lt+1 = k + l.)
Mit i und ii ist der Induktionsschritt II für beliebige α gezeigt. Mit I und II gilt damit die
Behauptung für Regelfolgen p beliebiger Länge. Damit stellt jede Regelfolge einer Menge
Q(I) (und insbesondere für I = S→α., 0, n, ∅, ∅) eine Ableitung dar.
Satz: Ist p ∈ P+∗ ∪ P−∗ \ {λ}, p = p1 p2 . . . pm , eine (nichtleere) Folge von rechtsrechts- (a)
bzw. rechtslinkslinearen (b) Parallelregeln und
p
(AL , AR ) ⇒∗k (ui+1 . . . ui+l , uj+1 . . . uj+l )
Parallelableitung (AR = AR+ bzw. AR = AR− ), wobei ui+1 . . . ui+l und uj+1 . . . uj+l nicht
überlappende Teilfolgen von u = u1 . . . un sind, also 0 ≤ i ≤ i + l ≤ j ≤ j + l ≤ n, dann ist
I ∈ H und p ∈ Q(I)
wobei
(AL , AR+ )→(.α, .β), i, j, l ∈ H (a)
bzw.
(AL , AR− )→(.α, β.), i, j, l ∈ H (b)
(6.8-9)
und (AL , AR+ )→(α, β) = p1 und p1 ∈ P+ bzw. (AL , AR− )→(α, β) = p1 und p1 ∈ P− .
Für den Beweis werden die beiden Fälle unterschieden; der Beweis selbst erfolgt jeweils mittels Induktion über |p|.
286
6.8 Erweiterung des Earleyschen Algorithmus
a) p ist eine Folge rechtsrechtslinearer Regeln.
Entsprechend den Voraussetzungen muß p1 von der Form (AL , AR+ ) → (α, β) sein, wobei
(entsprechend Definition 6.5-12) entweder (α, β) = (v, w) oder (α, β) = (vA′L , wA′R+ ), wobei
A′L ∈ NL , A′R+ ∈ NR+ und v, w ∈ Σ∗ , |v| = |w|.
(i) |p| = 1. Dann besteht die Regelfolge nur aus einer einzigen Regel p1 und es wird nach
dem ersten Ableitungsschritt das Paar der Zeichenfolgen (ui+1 . . . ui+l , uj+1 . . . uj+l ) erhalten.
Es muß dann α = v = ui+1 . . . ui+l und β = w = uj+1 . . . uj+l sein. Mit Nr. 2 der Definition 6.8-1 ist dann u.a. I ′ ∈ H, I ′ = (AL , AR+ )→(v., w.), i + l, j + l, 0 und mit i von 6.8-2
auch Q(I ′ ) = {p}. v und w erfüllen die Voraussetzungen der Nr. 4 (wenn für v die Indizes
(i+l)−l +1 und (i+l) und für w die Indizes (j +l)−l +1 und (j +l) gewählt werden). Damit
ist dann auch I ∈ H, I = (AL , AR+ )→(.v, .w), (i + l) − l, (j + l) − l, 0 + l und (I ′ , I, 1) ∈ h.
Mit ii und iii von 6.8-2 folgt p ∈ Q(I).
(ii) |p| > 1. Dann muß α = vA′L und β = wA′R+ sein, damit nach dem ersten Ableitungsschritt mindestens noch eine weitere Regel p2 := (A′L , A′R+ ) → (α′ , β ′) angewendet werden
kann. Nach dem ersten Ableitungsschritt wird das Paar (vA′L , wA′R+ ) erhalten, das anschließend zu (ui+1 . . . ui+l , uj+1 . . . uj+l ) abgeleitet wird. Da v und w als Folgen von Terminalsymbolen nicht weiter ersetzt werden, muß (mit k ′ := |v| = |w|) dann v = ui+1 . . . ui+k′ und
w = uj+1 . . . uj+k′ und
(A′L , A′R+ )
p2 p3 ...pm
⇒∗k
(ui+k′+1 . . . ui+l , uj+k′+1 . . . uj+l )
p2 p3 ...pm
⇒∗k
(ui+k′ +1 . . . ui+l , uj+1 . . . uj+l−k′ )
Parallelableitung sein. Mit der Induktionsvoraussetzung ist dann J ′′ ∈ H, J ′′ = (A′L ,
A′R+ )→(.α′, .β ′), i + k ′ , j + k ′ , l − k ′ und p2 p3 . . . pm ∈ Q(J ′′ ). Mit Nr. 6 der Definition 6.8-1
ist dann J ′ ∈ H, J ∈ H, (J ′ , J, J ′′ ) ∈ h, mit J ′ = (AL , AR+ )→(vA′L ., wA′R+ .), (i + k ′ ) + (l −
k ′ ), (j +k ′ )+(l −k ′), 0 ∈ H und J ′ = (AL , AR+ )→(v.A′L , w.A′R+ ), (i+k ′), (j +k ′ ), (l −k ′ ) ∈ H.
Weiterhin ist (mit 6.8-2) Q(I ′ ) = {p1 }. Die punktierte Regel I ′ := J erfüllt die Voraussetzung von Nr. 4, denn der linke Index von v ist (i + k ′ ) − k ′ + 1 (wobei k ′ = |v| ist), der
rechte Index von v ist (i + k ′ ) und die Indizes von w sind (j + k ′ ) − k ′ + 1 und (j + k ′ )
(wobei k ′ = |w|). Damit ist dann I ∈ H und (I ′ , I, 1) ∈ h, wobei I = (AL , AR+ ) →
(.vA′L , .wA′R+ ), (i + k ′ ) − k ′ , (j + k ′ ) − k ′ , (l − k ′ ) + k ′ = (AL , AR+ )→(.vA′L , .wA′R− ), i, j, l. Mit
6.8-2 ergibt sich schließlich p1 p2 . . . pm ∈ Q(I).
b) p ist eine Folge rechtslinkslinearer Regeln. Entsprechend den Voraussetzungen muß p1
von der Form (AL , AR− ) → (α, β) sein, wobei (entsprechend Definition 6.5-13) entweder
(α, β) = (v, w) oder (α, β) = (αA′L, A′R− w), wobei A′L ∈ NL , A′R− ∈ NR− und v, w ∈ Σ∗ ,
|v| = |w|.
(i) |p| = 1. Dann besteht die Regelfolge nur aus einer einzigen Regel p1 und es wird nach
dem ersten Ableitungsschritt das Paar der Zeichenfolgen (ui+1 . . . ui+l , uj+1 . . . uj+l ) erhalten.
Es muß dann α = v = ui+1 . . . ui+l und β = w = uj+1 . . . uj+l sein. Mit Nr. 3 der Definition
6.8-1 ist dann u.a. I ′ ∈ H, I ′ = (AL , AR− )→(v., .w), i + l, j, 0 und mit 6.8-2 ist Q(I ′ ) = {p}.
v und w erfüllen die Voraussetzungen der Nr. 5 (wenn für v die Indizes (i + l) − l + 1 und
(i + l) und für w die Indizes j + 0 + 1 und j + 0 + l gewählt werden). Damit ist dann auch
I ∈ H und (I ′ , I, 1) ∈ h, I = (AL , AR− )→(.v, w.), i, j, l. Mit 6.8-2 folgt p ∈ Q(I)
(ii) |p| > 1. Dann muß α = vA′L und β = A′R− w sein, damit nach dem ersten Ableitungsschritt mindestens noch eine weitere Regel p2 := (A′L , A′R− ) → (α′ , β ′ ) angewendet werden
kann. Nach dem ersten Ableitungsschritt wird das Paar (vA′L , A′R− w) erhalten, das anschließend zu (ui+1 . . . ui+l , uj+1 . . . uj+l ) abgeleitet wird. Da v und w als Folgen von Terminalsymbolen nicht weiter ersetzt werden, muß (mit k ′ := |v| = |w|) dann v = ui+1 . . . ui+k′ und
w = uj+l−k′+1 . . . uj+l und
(A′L , A′R− )
287
6 Kontextsensitive Grammatiken
Parallelableitung sein. Mit der Induktionsvoraussetzung ist dann J ′′ ∈ H, J ′′ = (A′L , A′R− )
→(.α′ , β ′.), i + k ′ , j, l − k ′ und p2 p3 . . . pm ∈ Q(J ′′ ). Mit Nr. 7 der Definition 6.8-1 ist dann
J ′ ∈ H, J ∈ H, (J ′ , J, J ′′ ) ∈ h, J ′ = (AL , AR− )→(vA′L., .A′R− w), (i + k ′ ) + (l − k ′ ), j, 0 und
J = (AL , AR− )→(v.A′L , A′R− .w), (i+k ′ ), j, (l −k ′ ). Weiterhin ist (mit 6.8-2) Q(J ′ ) = {p1 } und
p1 p2 . . . pm ∈ Q(J). Die punktierte Regel I ′ := J erfüllt die Voraussetzung von Nr. 5, denn der
linke Index von v ist (i+k ′ )−k ′ +1 = i+1, wobei k ′ = |v| ist, der rechte Index von v ist (i+k ′ )
und die Indizes von w sind j + (l − k ′ ) + 1 und j + (l − k ′ ) + k ′ = j + l, wobei k ′ = |w|. Damit
ist dann I ∈ H und (I ′ , I, 1) ∈ h, I = (AL , AR− )→(.vA′L , A′R− w.), (i+k ′)−k ′ , j, (l −k ′ )+k ′ =
(AL , AR− )→(.vA′L , A′R− w.), i, j, l. Mit 6.8-2 folgt p ∈ Q(I).
Mit i und ii ist die Behauptung in beiden Fällen gezeigt.
Satz: Sei p ∈ (P ∪ P+ ∪ P− )∗ eine Folge von Regeln und
p1
p2
pm
α0 ⇒ α1 ⇒ α2 . . . ⇒ αm
(αm ∈ Σ∗ , αm = ui+1 . . . uj ) die dieser entsprechende verallgemeinerte Linksableitung, womit
jedes αk , 0 ≤ k < m von der Form
αk = vk,0 BL,k,1vk,1 BL,k,2 . . . vk,r−1BL,k,r . . . vk,sk Bk βk
ist, wobei Bk ∈ N \ NL ∪ NR das am weitesten links stehende, ersetzbare Nichtterminalsymbol ist, sk (0 ≤ sk ) die Anzahl der links von Bk stehenden Linkssymbole, BL,k,r ∈ NL
(1 ≤ r ≤ sk ), vk,r ∈ Σ∗ für alle k, 0 ≤ r ≤ sk und βk ∈ (N ∪ Σ)∗ .
Dann gibt es zu jedem BL,k,r eine Korrelation xk,r := (BL , BR+ )→(.α, .β), ik,r , jk,r , lk,r bzw.
xk,r := (BL , BR− )→(.α, β.), ik,r , jk,r , lk,r (A). Für diese Korrelationen gilt jk ≤ ρ(xk,r ), wobei vk,sk = uak,sk +1 . . . ujk und ρ(xk,r ) ∩ ρ(xk,r′ ) = ∅ für r 6= r ′ (B). Weiterhin gibt es für
die Korrelationen x′k,r aus Kk,AL := {xk,r | sL (xk,r ) = AL } eine Indizierung, so daß die
Ungleichungsketten
′
′
≤ . . . i′k,s′ + lk,s
≤ jk
i ≤ i′k,1 ≤ i′k,1 + lk,1
′
k
k
′
′
′
′
′
und jk ≤ jk,1 ≤ jk,1 + lk,1 ≤ . . . jk,s′ + lk,s′
k
k
gelten (wobei s′k := |Kk,AL |) (C).
(6.8-10)
Beweis: Da die vk,r als Folge von Terminalsymbolen nicht mehr ersetzt werden, stellen diese
Teilfolgen von αm = ui+1 . . . uj dar. Es existieren also entsprechende Indizes ak,r und bk,r , so
daß vk,r = uak,r +1 . . . ubk,r . Offensichtlich ist
ak,0 ≤ bk,0 ≤ ak,1 ≤ bk,1 . . . ak,sk ≤ bk,sk
wobei ak,0 = i ist und für bk,sk =: jk definiert wird. Dies gilt für alle k, 0 ≤ k < m ohne
weitere Voraussetzungen.
Die Behauptung des Satzes kann nun mittels Induktion über m − k gezeigt werden.
(i) m − k = 1. Da αm kein L-Symbol enthält, kann αm−1 höchstens ein solches enthalten. Es
ist also sm−1 ≤ 1. Für den Fall, daß sm−1 = 0 gibt es nichts zu zeigen, da die Menge der LSymbole leer ist und die deren Korrelationen entsprechenden Mengen ebenfalls leer sind. Für
den Fall, daß sm−1 = 1 ist αm−1 = vm−1,0 BL,m−1,1 vm−1,1 Bm−1 βm−1 . Da BL,m−1,1 nicht Symbol
von αm , muß BL mittels der Regel pm ersetzt werden, es muß sich also um eine Parallelregel
288
6.8 Erweiterung des Earleyschen Algorithmus
der Form (BL,m−1,1 , Bm−1 )→(α, β) handeln, wobei α, β ∈ Σ∗ . Bei Anwendung dieser Regel
wird dann vm−1,0 αvm−1,1 ββm−1 = αm = ui+1 . . . uj erhalten. Da (wie eingangs definiert)
vm−1,0 = uam−1,0 +1 . . . ubm−1,0 und vm−1,1 = uam−1,1 +1 . . . ubm−1,1 (wobei jm−1 := bm−1,1 ) muß
α = ubm−1,0 +1 . . . uam−1 ,1 und ββm−1 = ubm−1,1 +1 . . . uj sein. Es muß also ein lm−1,1 geben,
0 ≤ lm−1,1 ≤ (j − bm−1,1 ), so daß β = ubm−1,1 +1 . . . ubm−1,1 +lm−1,1 , wobei bm−1,1 + lm−1,1 ≤ j.
Da |α| = |β| ergibt sich für lm−1,1 = am−1,1 − bm−1,0 . Weiterhin kann definiert werden
im−1,1 := bm−1,0 und jm−1,1 := bm−1,1 . Damit stellt
pm
(BL,m−1,1 , Bm−1 ) ⇒∗ (uim−1,1 +1 . . . uim−1,1 +lm−1,1 , ujm−1,1 +1 . . . ujm−1,1 +lm−1,1 )
eine Parallelableitung dar und definitionsgemäß ist damit xm−1,1 := (BL,m−1,1 , Bm−1 ) →
(α, β), im−1,1 , jm−1,1 , lm−1,1 Korrelation. Teil A des Satzes ist somit gezeigt.
Da jm−1 := bm−1,1 und ρ(x1 ) = jm−1,1 ist jm−1 ≤ ρ(x1 ) und die erste Behauptung von Teil
B des Satzes gezeigt. Die zweite Behauptung des Teil B des Satzes gilt trivialerweise, da
höchstens x1 existiert und somit für alle xr′ mit r ′ 6= 1 gilt ρ(xr′ ) ∩ ρ(x1 ) = ∅.
Weiterhin ist, wie eingangs festgestellt, am−1,0 ≤ bm−1,0 ≤ am−1,1 ≤ bm−1,1 , woraus mit
am−1,0 = i, sm−1 = 1 und jm−1 = bm−1,sm−1 , den entsprechenden Definitionen für im−1,1 ,
jm−1,1 und lm−1,1 sich die Relation i ≤ im−1,1 ≤ im−1,1 + lm−1,1 ≤ jm−1 ≤ jm−1,1 ≤ jm−1,1 +
lm−1,1 ≤ j ergibt, womit bezüglich Km−1,BL,m−1,1 = {xm−1,1 } die Relationen C gelten (die
Indizes sind noch mit Strichen zu versehen).
(ii) m − k > 1. (Der Induktionsschritt erfolgt von m − k auf m − k + 1, d.h. es ist von k auf
k − 1 zu schließen.) Es wird αk−1 , 1 ≤ k < m − 1 betrachtet. Es ist
αk−1 = vk−1,0 BL,k−1,1vk−1,1 BL,k−1,2 . . . vk−1,sk−1 Bk−1 βk−1
und damit
ak−1,0 ≤ bk−1,0 ≤ ak−1,1 ≤ bk−1,1 . . . ak−1,sk−1 ≤ bk−1,sk−1
pk
wobei ak−1,0 = i ist und bk−1,sk−1 =: jk−1 . Mit dem Ableitungsschritt αk−1 ⇒ αk wird aus
αk−1 dann
αk = vk,0 BL,k,1vk,1 BL,k,2 . . . vk,sk Bk βk
erhalten. Es sind zwei Fälle zu unterscheiden.
1. Bk−1 6∈ NR . Dann wird in αk−1 keines der Symbole BL,k−1,r , 1 ≤ r ≤ sk−1 , ersetzt und
es ist BL,k−1,r = BL,k,r für alle r, 1 ≤ r ≤ sk . Da es zu jedem BL,k,r entsprechend der
Induktionsvoraussetzung eine Korrelation xk,r gibt, gibt es mit xk−1,r := xk,r auch zu jedem
BL,k−1,r eine Korrelation. Damit ist A gezeigt. (Möglicherweise kommen jedoch durch die
Ersetzung von Bk−1 weitere Linkssymbole hinzu, so daß nur sk−1 ≤ sk ist.) Es gilt für
die Doppelindizes“ (k − 1, r) = (k, r) für alle r, 1 ≤ r ≤ sk−1 , womit vk−1,r = vk,r (für
”
alle r mit 1 ≤ r < sk−1 ), da diese als Folgen von Terminalsymbolen ebenfalls unverändert
bleiben, und damit auch ak−1,r = ak,r und bk−1,r = bk,r . Eine Ausnahme hiervon stellt nur
vk,sk−1 dar; diese Folge tritt in der Reihenfolge an die Stelle von vk−1 und geht u.U. durch
das Anfügen von Terminalsymbolen aus dieser hervor, so daß zwar ak−1,sk−1 = ak,sk−1 aber
bk−1,sk−1 ≤ bk,sk−1 und somit jk−1 ≤ jk . (Es ist aber immer noch ak−1,sk−1 ≤ bk−1,sk−1 .) Da
entsprechend der Induktionsvoraussetzung für alle xk,r Teil B der Behauptung gilt, ist dies
auch für alle xk,−1,r der Fall. Für αk gelten entsprechend der Induktionsvoraussetzung (für
jede der Mengen Kk,AL ) die Ungleichungsketten
′
′
≤ jk
i ≤ i′k,1 ≤ i′k,1 + lk,1
≤ . . . i′k,s′ + lk,s
′
k
k
′
′
′
′
′
und jk ≤ jk,1 ≤ jk,1 + lk,1 ≤ . . . jk,s′ + lk,s′
k
k
289
6 Kontextsensitive Grammatiken
Indem die Glieder für r > s′k−1 weggelassen werden, der Index k durch k − 1 ersetzt und
jk−1 ≤ jk berücksichtigt wird, ergeben sich die Ungleichungsketten
′
′
i′k−1,1 ≤ i′k−1,1 + lk−1,1
≤ . . . i′k−1,s′ + lk−1,s
≤ jk−1
′
k−1
k−1
′
′
′
′
′
und jk−1,1 ≤ jk−1,1 + lk−1,1 ≤ . . . jk−1,s′ + lk−1,s′
k−1
k−1
Damit ist C gezeigt.
2. Es ist Bk−1 ∈ NR . Dann ist pk Parallelregel der Form (BL , Bk−1 ) → (γ1 , γ2). Damit
diese anwendbar ist, muß es ein r0 geben, so daß BL,k−1,r0 = BL , wobei für alle r < r0
gilt BL,k−1,r 6= BL,k−1,r0 (entsprechend dem Prinzip der verallgemeinerten Linksableitung).
Bezüglich (γ1 , γ2 ) werden zwei Fälle unterschieden.
α) γ1 , γ2 ∈ Σ∗ . Dann ist
αk = vk−1,0 BL,k−1,1vk−1,1 BL,k−1,2 . . . vk−1,r0 −1 γ1 vk−1,r0 . . . vk−1,sk−1 γ2 βk−1
Da γ1 und γ2 in der Folge nicht mehr ersetzt werden (und ebenso die diese begrenzenden
Teilfolgen vk−1,r0 −1 , vk−1,r0 und vk−1,sk−1 ) müssen γ1 und γ2 Teilfolgen von ui+1 . . . uj sein und
es ist γ1 = ubk−1,r0 −1 +1 . . . uak−1,r0 und γ2 = ubk−1,sk−1 +1 . . . ubk−1,sk−1 +(ak−1,r0 −bk−1,r0 −1 ) . (Hierbei
wurde davon Gebrauch gemacht, daß |γ1 | = |γ2| = (ak−1,r0 −bk−1,r0 −1 ).) Hierbei ist definitonsgemäß jk−1 := bk−1,sk−1 . Damit stellt xk−1,r0 := (BL , Bk−1 )→(.γ1, .γ2 ), ik−1,r0 , jk−1,r0 , lk−1,r0
bzw. xk−1,r0 := (BL , Bk−1 )→(.γ1 , γ2.), ik−1,r0 , jk−1,r0 , lk−1,r0 mit ik−1,r0 = bk−1,r0 −1 , jk−1,r0 =
bk−1,sk−1 und lk−1,r0 = (ak−1,r0 − bk−1,r0 −1 ) eine Korrelation dar. Damit ist A gezeigt.
Da andererseits
αk = vk,0 BL,k−1,1vk,1 BL,k,2 . . . vk,r0 −1 γ1 vk,r0 vk,sk Bk βk
ergibt sich durch einfaches Abzählen der Indizes folgende Transformation: (k, r) = (k − 1, r)
für r ≤ r0 − 1 und (k, r − 1) = (k − 1, r) für r > r0 . Insbesondere ist sk = sk−1 − 1. Da vsk aus
vsk−1 durch Anfügen von γ2 (und evtl. weiteren Terminalsymbolen von βk−1 ) hervorgeht, ist
die rechte Grenze“ von γ2 nicht größer als bsk = jk , also bk−1,sk−1 + (ak−1,r0 − bk−1,r0 −1 ) ≤ jk
”
bzw. jk−1,r0 + lk−1,r0 ≤ jk und damit jk−1,r0 ≤ jk .
Da für alle xk,r gemäß Induktionsvoraussetzung jk ≤ ρ(xk,r ) ist, gilt dies auch für alle xk−1,r
wenn r 6= r0 . Für xk−1,r0 ist ρ(xk−1,r0 ) = jk−1,r0 = bk−1,sk−1 = jk−1 , so daß damit die
erste Behauptung des Teil B folgt. Die zweite Behauptung des Teil B folgt entsprechend, da
ρ(xk−1,r0 ) = jk−1,r0 + lk−1,r0 und somit ρ(xk−1,r0 ) ≤ jk und somit ρ(xk−1,r0 ) ∩ ρ(xk−1,r ) für
r 6= r0 .
Aus der am Anfang von ii festgestellten Ungleichungskette folgt ak−1,0 ≤ bk−1,r0 −1 , was
äquivalent zu i ≤ ik−1,r0 ist, und es folgt ak−1,sk−1 ≤ jk−1 , woraus sich
ik−1,r + lk−1,r ≤ jk−1 für alle r, 1 ≤ r ≤ sk−1
ergibt. Für AL = BL ist Kk−1,BL = Kk,BL ∪ {xk−1,r0 }. Entsprechend dem Prinzip der allgemeinen Linksableitung gibt es kein r̃0 mit entsprechender Korrelation xk−1,r̃0 , so daß
sL (xk−1,r̃0 ) = BL und ik−1,r̃0 + lk−1,r̃0 < ik−1,r0 . Damit gilt für alle r 6= r0 mit sL (xk−1,r ) = BL ,
daß ik−1,r0 + lk−1,r0 ≤ ik−1,r . Dies ist äquivalent dazu, daß für alle x′r′ ∈ Kk,BL gilt, womit
sich insgesamt ergibt
i ≤ ik−1,r0 + lk−1,r0 ≤ i′k,r′
Mit den obigen Überlegungen zu Teil B ist
jk−1 ≤ jk−1,r0 ≤ jk−1,r0 + lk−1,r0 ≤ jk
290
6.8 Erweiterung des Earleyschen Algorithmus
Mit den Induktionsvoraussetzungen gelten für Kk,BL die Ungleichungsketten
′
′
i ≤ i′k,1 ≤ i′k,1 + lk,1
≤ . . . i′k,s′ + lk,s
≤ jk
′
k
k
′
′
′
′
′
und jk ≤ jk,1 ≤ jk,1 + lk,1 ≤ . . . jk,s′ + lk,s′
k
k
Indem die drei Ungleichungsketten davor voran- bzw. nachgestellt werden, ergibt sich
′
′
i ≤ ik−1,r0 ≤ ik−1,r0 + lk−1,r0 ≤
i′k,1 ≤ i′k,1 + lk,1
≤ . . . i′k,s′ + lk,s
′ ≤ jk−1 ≤ jk
k
k
′
′
′
′
′
und jk−1 ≤ jk−1,r0 ≤ jk−1,r0 + lk−1,r0 ≤ jk ≤ jk,1 ≤ jk,1 + lk,1 ≤ . . . jk,s′ + lk,s′
k
k
′
′
Hieraus werden durch die Transformation (i′k−1,1, jk−1,1
) = (ik−1,r0 , jk−1,r0 ) und (i′k−1,r′ , jk−1,r
′)
′
′
′
′
′
′
= (ik,r′+1 , jk,r′ +1 ) für 1 < r ≤ sk−1 , wobei sk−1 = sk , die Ungleichungsketten für αm−(k+1)
erhalten.
Der Fall AL 6= BL ist wesentlich einfacherer, da hier Kk−1,AL = Kk,AL und die Ungleichungsketten beim Induktionsschritt unverändert übernommen werden können. Mit i und ii ist die
Behauptung des Satzes gezeigt.
Definition: Sei
α := v0 AL,1 v1 . . . AL,s vs
und
p
αβ ⇒∗ ui+1 . . . uj
verallgemeinerte Linksableitung, vr = uir +lr +1 . . . uir+1 für 0 ≤ r ≤ s mit i0 + l0 := i und
is+1 := k. Dann heißt die Menge Kα := {x1 , x2 , . . . xs } von Korrelationen, Kα ⊆ K, wobei xr
die zu AL,r , 1 ≤ r ≤ s gehörende Korrelation ist, mit α verträglich (bezüglich der Ableitung
p
α ⇒∗ ui+1 . . . uj ). Der Zusatz in Klammern soll weggelassen werden, wenn klar ist, um welche Ableitung es sich handelt.
(6.8-11)
Satz: Es seien
µ := v0 AL,1 v1 . . . AL,s vs
und ν := v0 α1 v1 . . . αs vs ws AL,s+1ws+1 . . . AL,t wt
wobei vr = uir +lr +1 . . . uir+1 für 0 ≤ r ≤ s mit i0 + l0 := 0, is+1 := k, wr = uir +lr +1 . . . uir+1
für s ≤ r ≤ t mit is + ls := k, it+1 := j, AL,r ∈ NL , αr ∈ {AL,r , (uir +1 . . . uir +lr )} für
1 ≤ r ≤ s und und u1 . . . ul ∈ Σ∗ . µ und ν stellen damit Ausdrücke dar, die nur aus Terminalund Linkssymbolen bestehen, wobei ν einen Präfix aufweist, der aus µ hervorgeht, indem
Linkssymbole durch Terminalsymbole ersetzt werden. Sei nun p ∈ (P ∪ P+∗ ∪ P− )∗ eine
Regelfolge, p = p1 p2 . . . p|p| , p1 = (BL , BR )→(γL, γR ) (1) oder p1 = B→γ, B ∈ N \ NL ∪ NR
(2), so daß
p
µB ⇒∗ ν
verallgemeinerte Linksableitung ist und ein γ̃ ∈ (N ∪ Σ)∗ existiert, so daß
νγ̃ ⇒∗ u1 . . . ul
ist. B ∈ N \ NL ∪ NR Ist nun B = S ∧ s = 0 ∧ v0 = ǫ oder gibt es eine attributierte punktierte
Regel A→α.Bβ, i, k, Kf , Kg ∈ H, wobei Kf eine Menge von Korrelationen ist, die bezüglich
p
der Ableitung µBγ̃ ⇒∗ νγ̃ ⇒∗ u1 . . . ul , l ≥ j, u1 . . . ul ∈ Σ∗ , mit µ (im Sinne von Definition
291
6 Kontextsensitive Grammatiken
6.8-11) verträglich ist, dann gibt es entweder ein r, 1 ≤ r ≤ s, für das es eine endpunktierte
Parallelregel I := (BL , BR+ )→(.γL , .γR ), ir , k, j−k bzw. I := (BL , BR− )→(.γL , γR .), ir , k, j−k
gibt (1) oder es gibt eine (rechts)punktierte Regel I := B→γ., k, j, Lf , Lg , so daß
{x ∈ Kf | ρ(x) ≤ j} = Lg
(A)
und {x ∈ Kf | j ≤ ρ(x)} = {x ∈ Lf | λ(x) ≤ k} (B)
und Lf mit ν verträglich ist (2). Es ist jeweils I ∈ H und p ∈ Q(I).
(6.8-12)
Für den Beweis des Satzes erweist es sich als günstig, folgenden Hilfssatz einzuführen.
Hilfssatz 3: Sei
µ := v0 AL,1 v1 . . . AL,s vs
vr := uir +lr +1 . . . uir+1 für 0 ≤ r ≤ s mit i0 + l0 := i und is+1 := k und
β := ws AL,s+1 ws+1 . . . AL,t wt
wr := uir +lr +1 . . . uir+1 für s + 1 ≤ r ≤ t mit is + ls := k und it+1 := j. Weiterhin existiere ein
γ̃, so daß µβγ̃ ⇒∗ ui+1 . . . ul , l ≥ j, ui+1 . . . ul ∈ Σ∗ . Und es gebe eine attributierte punktierte
Regel I ′ := B →α.βγ, i, k, Kf , Kg , wobei Kf mit µ verträglich ist, also eine Teilmenge der
mit µβ bezüglich der Ableitung µβγ̃ ⇒∗ ui+1 . . . ul verträglichen Korrelationen ist.
Dann gibt es eine punktierte Regel I := B→αβ.γ, i, j, Lf , Lg (mit γ ∈ (N ∪ Σ)∗ ), wobei Lf
mit µν verträglich ist, und
Lg
= Kg
(a)
und {x ∈ Kf | j ≤ ρ(x)} = {x ∈ Lf | λ(x) ≤ k} (b)
und Q(I ′ ) ⊆ Q(I) ist.
Beweis (des Hilfssatzes 3): Es wird definiert
βz := ws AL,s+1 ws+1 . . . AL,z
(Es handelt sich bei βz um den Präfix von β bis (aber ohne) wz .) Es ist βs = ǫ und βt wt = β.
Es wird gezeigt, daß (unter den Voraussetzungen des Hilfssatzes) für jedes z, s ≤ z ≤ t, ein
Paar von Regeln Jz , Iẑ ∈ H
Jz := B→αβz−1 wz−1 AL,z .wz AL,z+1 . . . wt , k, iz + lz , Lf,z , Lg,z
Iẑ := B→αβz−1 wz−1 AL,z wz .AL,z+1 . . . wt , k, iz+1, Lf,ẑ , Lg,ẑ
existiert, wobei
Lg,z
{x ∈ Kf | iz + lz ≤ ρ(x)}
Lg,ẑ
und {x ∈ Kf | iz+1 ≤ ρ(x)}
=
=
=
=
Kg
{x ∈ Lf,z | λ(x) ≤ k}
Kg
{x ∈ Lf,ẑ | λ(x) ≤ k}
(a1)
(b1)
(a2)
(b2)
und Lf,z bzw. Lf,ẑ die mit µβz−1 AL,z bzw. µβz verträglichen Korrelationen enthält. Anmerkung: Das Symbol ˆ dient zur Unterscheidung der zu Jz und Iẑ attributierten Mengen.
Es wird nun ein Induktionsbeweis über die Folge s, ŝ, s + 1, s[
+ 1, . . . z − 1, z[
− 1, z, ẑ, . . . t, t̂
geführt. (i) z = s. Dann ist µβz = µ. Mit iz + lz := k, Lf,z = Kf und Lg,z = Kg ist
292
6.8 Erweiterung des Earleyschen Algorithmus
I := J0 := I ′ und es gibt nichts weiter zu zeigen, außer daß b1 erfüllt ist. Aufgrund der
voraussgesetzen Verträglichkeit der Menge Kf gilt mit Satz 6.8-10 für alle x ∈ Kf , daß
k ≤ ρ(x) und λ(x) ≤ k. Damit können bei beiden Mengen in b1 die Bedingungen entfallen,
wobei auf der rechten Seite zuvor Lf,z durch Kf zu ersetzen ist. Auch gilt Q(I ′ ) ⊆ Q(J0 ),
(da sogar Q(I ′ ) = Q(I0 )). (ii) z > s (s ≤ t). Vorbemerkung: Mit Satz 6.8-10 gilt für alle
(mit µβ verträglichen Korrelationen x, daß λ(x) ≤ j und j ≤ ρ(x). Es werden zwei Fälle
unterschieden.
a) Betrachtet wird
I[
z −1 := B→αβz−1 wz−1 .AL,z wz . . . wt , k, iz , Lf,[
z −1 , Lg,[
z −1
∗
Entsprechend der Induktionsvoraussetzung ist Lf,[
z −1 mit µβz−1 verträglich. Mit µβγ̃ ⇒
ui+1 . . . ul ist aber auch µβz−1 AL,z γ̃˜ ⇒∗ ui+1 . . . ul Ableitung, wenn γ̃˜ := wz AL,z+1 . . . ul γ̃
gewählt wird. Mit Satz 6.8-10 existiert zu AL,z eine Korrelation xz , für die iz ≤ λ(xz )
(und λ(xz ) ≤ iz + lz ); während für alle x ∈ Lf,[
z −1 gilt λ(x) ≤ iz . Damit erhält xz in der
Ungleichungskette gemäß Satz 6.8-10 den größten Index aller Korrelationen aus Lf,[
z −1 ∪{xz },
ρ(x)
≤
ρ(x
).
Damit
sind
für die sL (x) = AL,z ist, womit dann auch für alle x ∈ Lf,[
gilt
z
z −1
die Voraussetzungen von Nr. 12 von 6.8-1 erfüllt und es ist Jz ∈ H mit
Jz := B→αβz−1 wz−1AL,z .wz . . . wt , k, iz + lz , Lf,z , Lg,z
Es ist Lg,z = Lg,[
z −1 , womit sich unmittelbar a1 ergibt, und Lf,z = Lg,[
z −1 ∪ {xz }. Es verbleibt
noch b1 zu zeigen. Es wird gezeigt, daß λ(xz ) 6≤ k. Angenommen, es wäre λ(xz ) ≤ k.
Da iz = λ(xz ) und λ(xz ) < λ(xz ) folgt iz = λ(xz ) < λ(xz ) ≤ k, also iz < k, was einen
Widerspurch darstellt, da k ≤ iz . Also ist λ(xz ) 6≤ k. Damit ist
{x ∈ Lf,z | λ(x) ≤ k} = {x ∈ Lf,[
z −1 ∪ {xz } | λ(x) ≤ k} = {x ∈ Lf,[
z −1 | λ(x) ≤ k}
Hiermit kann die rechte Seite von b2 (für ẑ := z[
− 1) ersetzt werden und es ergibt sich
{x ∈ Kf | i(z−1)+1 ≤ ρ(x)} = {x ∈ Lf,z | λ(x) ≤ k}
Mit der Gleichheit dieser beiden Mengen sind auch deren durch die Bedingung iz + lz ≤ ρ(x)
festgelegten Teilmengen gleich:
{x ∈ {x ∈ Kf | iz ≤ ρ(x)} | iz + lz ≤ ρ(x)} = {x ∈ {x ∈ Lf,z | λ(x) ≤ k} | iz + lz ≤ ρ(x)}
Da für alle x ∈ Lf,z mit Satz 6.8-10 gilt, daß iz + lz ≤ ρ(x) kann auf der rechten Seite diese
Bedingung entfallen; auf der rechten Seite absorbiert sie die schwächere (es ist iz ≤ iz + lz )
und es verbleibt
{x ∈ Kf | iz + lz ≤ ρ(x)} = {x ∈ Lf,z | iz + lz ≤ ρ(x)}
womit b1 gezeigt ist.
Mit Nr. 12 gilt außerdem (I[
z −1 , Jz , 1) ∈ h, woraus mit 6.8-2 folgt, daß Q(Iẑ ) ⊆ Q(Jz ).
b) Betrachtet wird
Jz := B→αβz−1 wz−1 AL,z .wz AL,z+1 . . . wt , k, iz + lz , Lf,z , Lg,z
Mit Satz 6.8-10 gilt für alle mit µβz−1 AL,z , daß iz + lz ≤ ρ(x). Damit ist Nr. 10 von 6.8-1
anwendbar und es ist Iẑ ∈ H, wobei
Iẑ := B→αβz−1 wz−1 AL,z wz .AL,z+1 . . . wt , k, iz+1 , Lf,ẑ , Lg,ẑ
293
6 Kontextsensitive Grammatiken
wobei Lf,ẑ = Lf,z und Lg,ẑ = Lg,z , womit a2 sofort folgt. Da entsprechend der Voraussetzung
eine Ableitung µβγ̃ ⇒∗ ui+1 . . . ul existiert, ist auch µβz AL,z+1 . . . ut γ̃ ⇒∗ ui+1 . . . ul und Lf,ẑ
ist mit µβz verträglich. Damit gilt mit Satz 6.8-10 für alle x ∈ Lf,ẑ , daß iz+1 ≤ ρ(x). Werden
nun die Mengen auf beiden Seiten der Gleichung b1 mit dieser Bedingung eingeschränkt, so
ergibt sich
{x ∈ {x ∈ Kf | iz + lz ≤ ρ(x)} | iz+1 ≤ ρ(x)} = {x ∈ {x ∈ Lf,z | λ(x) ≤ k} | iz + lz ≤ ρ(x)}
Da diese Bedingung für alle x ∈ Lf,z gilt, kann sie auf der rechten Seite weggelassen werden,
wonach Lf,z durch Lf,ẑ ersetzt werden kann. Auf der linken Seite entfällt die schwächere
Bedingung (es ist iz + lz ≤ iz+1 ) und es ergibt sich
{x ∈ Kf | iz + lz ≤ ρ(x)} = {x ∈ Lf,z | λ(x) ≤ k}
womit b2 gezeigt ist.
Mit Nr. 10 gilt außerdem (Jz , Iẑ , 1) ∈ h, woraus mit 6.8-2 folgt, daß Q(Jz ) ⊆ Q(Iẑ ).
Mit i und ii ist der Induktionsbeweis erbracht und die Behauptung des Hilfssatzes folgt sofort
für z = t mit I := Iẑ , wobei j = iz+1 , Lf := Lf,ẑ und Lg = Lg,ẑ , und a2 und b2 damit die
Form
Lg
= Kg
(a2)
und {x ∈ Kf | j ≤ ρ(x)} = {x ∈ Lf | λ(x) ≤ k} (b2)
annehmen, womit dann auch a und b gezeigt sind. Damit ist Hilfssatz 3 bewiesen.
Es kann nun der Beweis von Satz 6.8-12 durchgeführt werden. Es werden zwei Fälle unterschieden.
1. p1 ist Parallelregel, (BL , BR )→(γL , γR ).
Dann muß B = BR Rechtssymbol sein. Dann stellt p eine Folge von Parallelregeln dar. Entsprechend den Definitionen 6.5-12 und 6.5-13 liefert die Anwendung einer Parallelregel außer
Terminalsymbolen höchstens je ein Links- und Rechtssymbol. Letzteres stellt hierbei (gemäß
dem Prinzip der verallgemeinerten Linksableitung) das einzig ersetzbare Symbol dar, so daß
für den nächsten Ableitungsschritt wieder eine Parallelregel angewendet werden muß. Die
so erhaltene Folge von Parallelregeln bricht erst ab, wenn eine Parallelregel nur Terminalsymbole liefert. Damit wird dann eine Zeichenfolge erhalten, bei der keine weitere Ersetzung
mehr möglich ist; es muß also dann ν als Zeichenfolge vorliegen.
Damit p1 überhaupt anwendbar ist, muß es ein r0 , 1 ≤ r0 ≤ s, geben, so daß AL,r0 = BL .
Mit der Folge p wird letztendlich AL,r0 durch αr0 := uir0 +1 . . . uir0 +lr0 ersetzt und dementsprechend B durch uk+1 . . . uk+lr0 = uk+1 . . . uj . Damit ist lr0 = j − k und
(BL , BR ) ⇒∗k (uir0+1 . . . uir0 +lr0 , uk . . . uk+lr0 )
stellt eine Parallelableitung dar und mit Satz 6.8-9 ist dann p ∈ Q(I), wobei I = (BL , BR )→
(.γL , .γR ), ir0 , k, j − k bzw. I = (BL , BR )→(.γL , γR .), ir0 , k, j − k.
2. p1 = B→γ.
Entsprechend der Voraussetzung des Satzes gibt es eine punktierte Regel A→α.Bβ, i, k, Kf , Kg
∈ H, wobei Kf mit µ bezüglich µBγ̃ ⇒ u1 . . . ul verträglich ist. Mit p1 ∈ P und Nr.
9 von 6.8-1 gibt es dann zu jeder dieser punktierten Regeln eine punktierte Regel I ′ :=
B → .γ, k, k, Kf , ∅. (Für den Fall B = S und µ = v0 = ǫ wäre mit Nr. 8 stattdessen
I ′ := S → .α̃, 0, 0, ∅, ∅, wobei S → α̃ Startregel ist. Dieser Fall stellt einen Spezialfall des
obigen mit k = 0 und Kf = ∅ dar.) Mit i von Definition 6.8-2 ist Q(I ′ ) = {p1 }.
294
6.8 Erweiterung des Earleyschen Algorithmus
Es wird nun ein Induktionsbeweis über |p| durchgeführt.
(I) |p| = 1. Nach Anwendung der Regel p1 = B → γ darf kein weiterer Ableitungsschritt
p1
möglich sein, es muß also µB ⇒ ν sein, womit γ = ws AL,s+1 ws+1 . . . AL,t wt , AL,r ∈ NL ,
s < r ≤ t und wr ∈ Σ∗ , s ≤ r ≤ t. (Hierbei wird kein Linkssymbol ersetzt, was ja nur bei
Anwendung von Parallelregeln der Fall wäre.) Mit Hilfssatz 3 (α := ǫ, β := γ, γ := ǫ, µ := µ,
µβ := ν, j := it+1 Kf := Kf und Kg := ∅, wobei die linksstehenden Symbole sich jeweils auf
den Hilfssatz beziehen) gibt es eine punktierte Regel
I := It̂ = B→γ., k, j, Lf , Lg
(Lf = Lf,t , Lg = Lg,t ) mit
Lg
= Kg
(a)
und {x ∈ Kf | j ≤ ρ(x)} = {x ∈ Lf | λ(x) ≤ k} (b)
Mit a und b können A und B des Satzes gezeigt werden. Für B ist dies trivial, da b mit B
identisch ist. Kf ist nach Voraussetzung mit µ bezüglich µBγ̃ ⇒∗ u1 . . . ul verträglich. Aber
es ist auch νγ̃ ⇒∗ u1 . . . ul . Damit muß Kf auch mit µβ = ν verträglich sein (es werden keine
Linkssymbole ersetzt). Mit Satz 6.8-10 ist dann j ≤ ρ(x) für alle x ∈ Kf . ρ(x) ≤ j führt zum
Widerspruch, denn es wäre mit ρ(x) < ρ(x) dann j ≤ ρ(x) < ρ(x) ≤ j, also j < j. Also muß
{x ∈ Kf | ρ ≤ j} = ∅ sein. Da aber auch Lg = Kg = ∅ ist damit {x ∈ Kf | ρ(x) ≤ j} = Lg
und A gezeigt. Da p1 ∈ Q(I) (mit J0 := I ′ ) und Q(J0 ) ⊆ Q(It̂ ) ist auch p1 ∈ Q(I := It̂ ).
Damit ist die Induktionsverankerung (für |p| = 1) gewährleistet.
(II) |p| > 1. Dann muß die Anwendung von p1 = B→γ weitere zu ersetzende Nichtterminalsymbole liefern. Sei γ = γ0 C1 γ1 C2 γ2 . . . Cm γm , wobei CZ ∈ (N \ NL ∪ NR ), γz ∈ (NL ∪ Σ)∗ ,
0 ≤ Z ≤ m und
γZ := xZ,tZ AL,Z,tZ +1 xZ,tZ +1 . . . AL,Z,TZ xZ,TZ
mit tZ ≤ TZ , xZ,r := uiZ,r +lZ,r +1 . . . uiZ,r+1 (für tZ ≤ r ≤ TZ ), iZ,tZ +lZ,tZ := kZ und iZ,TZ +1 :=
kẐ . (Man beachte, daß hier xZ,r ∈ Σ∗ und keine Korrelation bezeichnet.) Die Anwendung der
Regel p1 liefert die Zeichenfolge ν := v0 AL,1 v1 . . . AL,r . . . vs γ0 C1 γ1 C2 γ2 . . . Cm γm . Es wird nun
mittels Induktion (über Z) gezeigt, daß es eine Folge von Indizes (von Regeln) y0 , y1 , . . . ym ,
eine Folge von Indizes k0 , k0̂ , k1 , k1̂ , . . . km , km̂ (die Positionen von Symbolen aus u bezeichnen) und eine Folge von Symbolfolgen β0 , β0̂ , β1 , β1̂ . . . βm , βm̂ gibt, so daß es zu jedem z,
0 ≤ Z ≤ m, je eine attributierte punktierte Regel
JZ := B→γ0 C1 γ1 . . . AL,Z .γZ . . . γm , k, kZ , Lf,Z , Lg,Z
und IẐ := B→γ0 C1 γ1 . . . γ. AL,Z+1 . . . γm , k, kẐ , Lf,Ẑ , Lg,Ẑ
gibt. Hierbei ist
{x ∈ Kf | ρ ≤ kZ−1
= Lg,Z−1
(Az)
[}
[
und {x ∈ Kf | kZ−1
[ | λ(x) ≤ k} (Bz)
[ ≤ ρ(x)} = {x ∈ Lf,Z−1
′
und p1 . . . pyZ−1 ∈ Q(IZ−1
) ist. Es wird
βZ := µγ0 C1 γ1 . . . CZ = v0 AL,1 v1 . . . AL,s vs γ0 C1 γ1 . . . CZ
für alle Z, 0 ≤ Z ≤ m, definiert. Weiterhin wird βZ,y als die Zeichenfolge definiert, die bei
Anwendung der Regeln p2 p3 . . . py aus βZ erhalten wird, also
p2 ...py
βZ ⇒∗ βZ,y
295
6 Kontextsensitive Grammatiken
wobei wiederum 0 ≤ Z ≤ m (β0,y0 := β0 = µ, y0 := 1). Für y ∈ {y0 , y1, . . . ym } ist βZ,yZ ∈
(NL ∪ Σ)∗ (was noch gezeigt werden wird), mit
βZ,yZ := v0 α1 v1 . . . αs vs wZ,sAL,Z,s+1wZ,s+1 . . . AL,Z,tZ
mit s ≤ tZ , wZ,r := uiZ,r +lZ,r +1 . . . uiZ,r+1 (für s ≤ r ≤ tZ ), iZ,s + lZ,s := k und iZ,tZ +1 := kZ .
Man beachte, daß hiermit kZ definiert ist. (Im übrigen ist t0 = s und i0,t0 +1 = k0 = k.)
Vorbemerkung: Entsprechend der Voraussetzung des Satzes und Definition von p1 ist
p1
v0 AL,1 v1 . . . AL,s vs B ⇒ v0 AL,1 v1 . . . AL,s γ0 C1 γ1 . . . γm
p2 ...p|p |
∗
⇒
v0 α0 v1 . . . αs vs ws AL,s+1ws+1 . . . AL,t wt
(i) Z = 0. Wie eingangs festgestellt, existiert eine punktierte Regel I ′ := B→.γ, k, k, Kf , ∅,
wobei Kf mit µ verträglich ist. Mit J0 := I ′ (k0 := k, Lf,0 := Kf und Lg,0 := ∅) und β0 := µ
gibt es dann eine punktierte Regel
J0 := B→.γ0 C1 γ1 . . . Cm γm , k, k0 , Lf,0 , Lg,0
wobei Lf,0 mit β0 = µ verträglich ist. Es gilt
{x ∈ Kf | ρ(x) ≤ k0 } = Lg,0
(da für alle x ∈ Kf gilt k0 ≤ ρ(x) (und ρ(x) < ρ(x)) ist {x ∈ Kf | ρ(x) ≤ k0 } = ∅ (vgl. I)
und
{x ∈ Kf | k0 ≤ ρ(x)} = {x ∈ Lf,0 | λ(x) ≤ k}
(da Kf = Lf,0 , k = k0 und für alle x ∈ Kf mit Satz 6.8-10 gilt k0 ≤ ρ(x) und λ(x) ≤ k
reduziert sich diese Gleichung zu Kf = Kf ), womit A und B gelten. Im übrigen ist Q(J0 ) :=
{p1 }.
Mit Hilfssatz 3 (I ′ := J0 , α := ǫ, β := γ0 , γ := C1 γ1 . . . Cm γm , µβ := µγ0, i := k, j := k0̂ und
Kf := Lf,0 , Kg := Lg,0 (wobei die linksstehenden Symbole die des Hilfssatzes 3 sind), gibt es
dann eine punktierte Regel
I0̂ := B→γ0 .C1 . . . Cm γm , k, k0̂, Lf,0̂ , Lg,0̂
mit
Lg,0̂
= Lg
(a)
und {x ∈ Lf,0 | k0̂ ≤ ρ(x)} = {x ∈ Lf,0̂ | λ(x) ≤ k0 } (b)
wobei Lf,0̂ mit µγ0 verträglich ist. Es verbleibt noch A und B zu zeigen. Mit der zweiten
Hälfte der in der obigen Vorbemerkung genannten Ableitung und Satz 6.8-10 gilt für alle
x ∈ Lf,0̂ , daß k0̂ ≤ ρ(x), woraus folgt (da ρ(x) < ρ(x)), daß {x ∈ Lf,0̂ | ρ(x) ≤ k0 } = ∅ und
damit (da Lg,0̂ = Lg = ∅) dann A gezeigt ist. B folgt unmittelbar aus b.
(ii) Z > 0. Mit Induktionsvoraussetzung gebe es eine Teilfolge p2 . . . pyZ−1 von Regeln, so
daß
p ...p
2
βZ−1
yZ−1
⇒∗
βZ−1,yZ−1
Ableitung und βZ−1,yZ−1 ∈ (NL ∪ Σ)∗ ist. Dementsprechend ist aber auch
βZ−1 CZ γZ
296
p2 ...pyZ−1
∗
⇒
βZ−1,yZ−1 CZ γZ
6.8 Erweiterung des Earleyschen Algorithmus
und
p2 ...pyZ−1
∗
⇒
βZ−1 CZ γZ . . . γm
βZ−1,yZ−1 CZ γZ . . . γm
Ableitung. Durch Vergleich mit der Ableitung in der Vorbemerkung und Berücksichtigen der
Definition von βZ−1 ist ersichtlich, daß
βZ−1 CZ γZ . . . γm
p2 ...pyZ−1
∗
⇒
βZ−1,yZ−1 CZ γZ . . . γm
pyZ−1 +1 ...py|p|
∗
⇒
v0 α1 v1 . . . αs vs ws AL,s+1ws+1 . . . AL,t wt
ist. Hierauf kann Satz 6.8-10 angewendet werden, demzufolge ein yZ existiert, so daß
βZ−1 CZ γZ
p2 ...pyZ−1
∗
⇒
βZ−1,yZ−1 CZ γZ
pyZ−1 ...pyZ
∗
⇒
βZ,yZ γZ
und βZ ∈ (NL ∪Σ)∗ ist. Es werden nun zwei Fälle in Abhängigkeit von pyZ−1 +1 unterschieden.
a) pyZ−1 +1 ist Parallelregel, (BL′ , BR′ )→(γL′ , γR′ ).
Es muß BR′ = CZ sein und ein rZ existieren, so daß BL′ = AL,rZ . Entsprechend der Argumentation in 1 kann dann pyZ+1 +1 . . . pyZ nur eine Folge von Parallelregeln sein, die tatächlich
nur die Nichtterminale AL,rz und CZ verbraucht“. Die Satzform βZ,yZ muß also die Symbole
”
umfassen, denen die Korrelationen aus Lf,Z−1
[ \ {xrZ } entsprechen. Da die Satzvorm βZ,yZ
mit γZ CZ+1 . . . γm γ̃ ergänzt werden kann und damit dann eine Ableitung
γZ CZ+1 . . . γm γ̃
pyZ+1 +1 ...py
|p|
∗
⇒
νγ̃ ⇒∗ u1 . . . ul
existiert, ist Lf,Z−1
[ \ {xrZ } mit βZ,yZ verträglich. Aufgrund dieser Verträglichkeit gilt für alle
x ∈ Lf,Z , daß Kz ≤ ρ(x) und λ(x) ≤ kZ . Mit dem Satz (der hier als Induktionsvoraussetzung bzgl. der punktierten Regel IZ−1
[ und der Regelfolge p2 . . . pyZ eingeht, die ja kürzer
als |p| ist) existiert damit eine entsprechende endpunktierte Parallelregel I ′′ = (BL′ , BR′ )→
′′
(.γL′ , .γR′ ), irZ , kZ−1
= (BL′ , BR′ ) → (.γL′ , γR′ .), irZ , kZ−1
[ bzw. I
[, also
[, kZ − kZ−1
[, kZ − kZ−1
λ(xrZ ) := irZ , λ(xrZ ) := irZ +(kZ −kZ−1
[), ρ(xrZ ) := kZ−1
[ und ρ(xrZ ) := kZ−1
[ +(kZ −kZ−1
[) =
kZ . Damit muß aber gemäß Satz 6.8-10 die endpunktierte Regel I ′′ gleich der Korrelation
xrZ sein und diese muß Element von Lf,Z−1
[ sein. Und es muß sein pyZ−1 +1 . . . pyZ ∈ Q(IZ ).
Mit Nr. 13 von 6.8-1 existiert damit aber auch eine punktierte Regel
JZ := B→γ0 C1 γ1 . . . CZ .γZ . . . γm , k, kZ , Lf,Z , Lg,Z
und es ist Lf,Z = Lf,Z−1
[ \ {xrZ } und Lg,Z = Lg,Z−1
[. Weiterhin ist Lf,z = Lf,Z−1
[ \ {xrZ }
und Lg,z = Lg,Z−1
[ ∪ {xrZ } wenn irZ + (kZ − kZ−1
[) ≤ k und Lg,Z = Lg,Z−1
[ wenn irZ <
irZ + (kZ − kZ−1
[). Mit Induktionsvoraussetzung ist
{x ∈ Kf | ρ(x) ≤ kZ−1
[
[} = Lg,Z−1
=
{x
∈ Lf,Z−1
und {x ∈ Kf | kZ−1
≤
ρ(x)}
[ | λ(x) ≤ k}
[
Es wird nun eine Fallunterscheidung danach durchgeführt, ob xrZ ∈ Kf ist.
α) irZ + (kZ − kZ−1
[) ≤ k und damit xrZ ∈ Kf . Dann ist λ(xrZ ) ≤ k, also irZ + (kZ −
kZ−1
[) ≤ k. Indem {xrZ } mit den Mengen auf beiden Seiten der ersten dieser Gleichungen
der Induktionsvoraussetzung vereinigt wird, ergibt sich
{x ∈ Kf | ρ(x) ≤ kZ−1
[} ∪ {xrZ } = Lg,Z−1
[ ∪ {xrZ }
297
6 Kontextsensitive Grammatiken
Die rechte Seite kann sofort durch Lg,Z ersetzt werden, während auf der rechten Seite mit
{xrZ } = {x ∈ Kf | kZ−1
[ ≤ ρ(x) ≤ ρ(x) ≤ kZ } ersetzt werden kann und die Vereinigungsmenge gebildet werden kann. Es ergibt sich
{x ∈ Kf | ρ(x) ≤ kZ } = Lg,Z
β) k < irZ + (kZ − kZ−1
[) und damit xrZ 6∈ Kf . Dann ist {x ∈ Kf | kZ−1
[ ≤ ρ(x) ≤ ρ(x) ≤
kZ } = ∅, da die Mengen ρ(x) für alle x ∈ KZ−1
[ paarweise disjunkt sind. Indem diese Menge
auf der linken Seite der Gleichung der Induktionsvoraussetzung hinzuvereinigt“ wird, kann
”
{x ∈ Kf | ρ(x) ≤ kZ−1
[} durch {x ∈ Kf | ρ(x) ≤ kZ } ersetzt werden. Für die rechte Seite ist
definitionsgemäß sowieso Lg,Z = Lg,Z−1
[ und es ergibt sich wiederum
{x ∈ Kf | ρ(x) ≤ kZ } = Lg,Z
In beiden Fällen α und β ist damit A gezeigt.
Anmerkung: Es wurde bei diesem Beweis vorausgesetzt, daß {x ∈ Kf | ρ(x) ≤ kZ−1
[} Teilmenge von Kf,Z−1
[ ist, was aber ohne weiteres zu zeigen ist.
Es verbleibt noch B zu zeigen. Auf beiden Seiten der zweiten Gleichung der Induktionsvoraussetzung wird xrZ entfernt, womit sich ergibt
{x ∈ Kf | kZ−1
[ ≤ ρ(x)} \ {xRZ } = {x ∈ Lf,Z−1
[ | λ(x) ≤ k} \ {xRZ }
Umgeschrieben:
{x ∈ Kf | kZ−1
[ ≤ ρ(x) ∧ x 6= xrZ } = {x ∈ Lf,Z−1
[ \ {xrZ } | λ(x) ≤ k}
Aus beiden Mengen werden nun die Teilmengen betrachtet, deren Elemente der Bedingung
kZ ≤ ρ(x) entsprechen, was einer weiteren Einschränkung dieser Mengen bedeutet:
{x ∈ Kf | kZ−1
[ | λ(x) ≤ k∧x 6= xrZ ∧kZ ≤ ρ(x)}
[ ≤ ρ(x)∧x 6= xrZ ∧kZ ≤ ρ(x)} = {x ∈ Lf,Z−1
Da kZ−1
[ = ρ(xrZ ) < ρ(xrZ ) ≤ kZ würde kZ ≤ ρ(xrZ ) zum Widerspruch führen. Damit ist die
Bedingung x 6= xrZ bereits mit der Bedingung kZ ≤ ρ(x) abgedeckt und kann weggelassen
werden. Da für alle x ∈ Lf,Z (wegen Verträglichkeit mit βZ,yZ ) gilt kZ ≤ ρ(x) kann rechts
die zweite Bedingung weggelassen werden. Links können die verbliebenen zwei Bedingungen
zusammengefaßt werden und es ergibt sich
{x ∈ Kf | ∧kZ ≤ ρ(x)} = {x ∈ Lf,Z−1
[ \ {xRZ } | λ(x) ≤ k ∧ kZ ≤ ρ(x)}
Damit ist auch B gezeigt.
Schließlich ist (IZ′ , JZ′ , I ′′ ) ∈ h, so daß sich mit 6.8-2 ergibt p1 . . . pyZ ∈ Q(JZ ).
b) pyZ−1 +1 = B ′→γ ′ .
Hier muß dann B ′ = CZ sein. Da pyZ−1 +1 keine Parallelregel ist, ist B ′ dann auch kein
Rechtssymbol. Mit dem Satz (der hier wiederum als Induktionsvoraussetzung eingeht) exi′
′
stiert dann eine rechtspunktierte Regel I ′′ := B ′→γ ′ ., kZ−1
[, kZ , L f,Z , L g,Z und es ist
{x ∈ Kf | ρ(x) ≤ kZ } = L′ g,Z
(A”)
′
und {x ∈ Kf | kZ ≤ ρ(x)} = {x ∈ L f,Z | λ(x) ≤ kZ−1
[} (B”)
wobei L′ f,Z mit νZ,yZ verträglich ist. Mit Nr. 11 von 6.8-1 gibt es damit dann eine punktierte
Regel
JZ := B→γ0 C1 γ1 . . . CZ .γZ . . . γm , k, kZ , Lf,Z , Lg,Z
298
6.8 Erweiterung des Earleyschen Algorithmus
wobei
Lf,Z = L′ f,Z
(C)
′
und Lg,Z = Lg,Z−1
[ ∪ {x ∈ L g,Z | λ(x) ≤ k} (D)
so daß auch Lf,Z mit βZ,yZ verträglich ist. Es verbleibt noch zu zeigen, daß die Aussagen A
und B (auch für Z) gelten.
Mit Satz 6.8-10 gilt auf βZ−1,yZ−1 und βZ,yZ folgende Zerlegung:
{x ∈ Kf | ρ(x) ≤ kz } = {x ∈ Kf | ρ(x) ≤ k[
z −1 ≤ ρ(x) ≤ ρ(x) ≤ kz }
z −1 } ∪ {x ∈ Kf | k[
Die linksstehende Menge auf der rechten Seite wird mit (Induktionsvoraussetzung Az) ersetzt, während die rechtsstehende umgeschrieben wird:
{x ∈ Kf | ρ(x) ≤ kz } = Lg,[
z −1 ≤ ρ(x)} | ρ(x) ≤ kz }
z −1 ∪ {x ∈ {x ∈ Kf | k[
Die innere Menge“ mit Bz ersetzt:
”
{x ∈ Kf | ρ(x) ≤ kz } = Lg,[
[ | λ(x) ≤ k} | ρ(x) ≤ kz }
z −1 ∪ {x ∈ {x ∈ Lf,Z−1
Die rechtsstehende Menge in drei Schritten umgeformt:
{x ∈ Kf | ρ(x) ≤ kz } = Lg,[
[ | λ(x) ≤ k∧ | ρ(x) ≤ kz }
z −1 ∪ {x ∈ Lf,Z−1
= Lg,[
[ | ρ(x) ≤ kz ∧ λ(x) ≤ k}
z −1 ∪ {x ∈ Lf,Z−1
= Lg,[
[ | ρ(x) ≤ kz } | λ(x) ≤ k}
z −1 ∪ {x ∈ {x ∈ Lf,Z−1
Die innere“ Menge mit A” ersetzt
”
′
{x ∈ Kf | ρ(x) ≤ kz } = Lg,[
z −1 ∪ {x ∈ L f,Ẑ | λ(x) ≤ kz } | λ(x) ≤ k}
und schließlich die rechte Seite gemäß D ersetzt
{x ∈ Kf | ρ(x) ≤ kz } = Lg,Z
womit A gezeigt ist.
B kann ebenfalls gezeigt werden. Indem die beiden Mengen auf beiden Seiten von B”
′
{x ∈ Lf,Z−1
[ | kZ ≤ ρ(x)} = {x ∈ L f,Z | λ(x) ≤ k̂Z−1 }
mit der Bedingung λ(x) ≤ k eingeschränkt werden, ergibt sich
′
{x ∈ Lf,Z−1
[ | λ(x) ≤ k ∧ kZ ≤ ρ(x)} = {x ∈ L f,Z | λ(x) ≤ k̂Z−1 ∧ λ(x) ≤ k}
Die Menge {x ∈ Lf,Z−1
[ | λ(x) ≤ k} auf der linken Seite kann mit der Induktionsvorausset\
zung (für Z
− 1) durch {x ∈ Kf | kZ−1
[ ≤ ρ(x)} ersetzt werden, während auf der rechten
′
Seite L f,Z mit C durch Lf,Z ersetzt werden und die schwächere Bedingung (es ist k ≤ kZ−1
[)
entfallen kann. Damit ergibt sich
{x ∈ Kf | kZ−1
[ ≤ ρ(x) ∧ kZ ≤ ρ(x)} = {x ∈ Lf,Z | λ(x) ≤ k̂Z−1 ∧ λ(x) ≤ k}
womit B gezeigt ist.
Hier endet die Fallunterscheidung. Mit JZ und der Verträglichkeit von Lf,Z mit βZ,yZ ergibt
sich mit Hilfssatz 3 die Existenz einer punktierten Regel
IẐ := B→γ0 C1 γ1 . . . CZ γZ .CZ+1 . . . γm , k, kẐ , Lf,Ẑ , Lg,Ẑ
299
6 Kontextsensitive Grammatiken
wobei Lf,Ẑ mit βZ,yZ γZ verträglich und
Lg,Ẑ
= Lg,Z
und {x ∈ Kf | kẐ ≤ ρ(x)} = {x ∈ Lf,Ẑ | λ(x) ≤ k}
ist. Aus der zweiten Gleichung ergibt sich sofort die Richtigkeit von B. A verbleibt noch zu
zeigen. Die entsprechende Induktionsvoraussetzung lautet
{x ∈ Kf | ρ(x) ≤ kz } = Lg,Z
Lf,Z ist mit βZ,yZ und Lf,Ẑ ist mit βZ,yZ γZ verträglich. Offensichtlich ist Lf,Z ⊆ Lf,Ẑ (dies
ergibt sich aus der Verträglichkeit dieser Mengen mit βZ,yZ bzw. βZ,yZ γZ in Verbindung
damit, daß βZ,yZ Präfix von βZ,yZ γZ ist). Und es gilt für jedes Element x aus einer dieser
Mengen, daß kẐ ≤ ρ(x). Damit ist die Teilmenge {x ∈ Lf,Z | ρ(x) ≤ kẐ } leer, also
{x ∈ Lf,Z | ρ(x) ≤ kẐ } = ∅
(Gäbe es ein x ∈ Lf,Z mit ρ(x) ≤ kẐ , so wäre für dieses auch kẐ ≤ ρ(x), was, da ρ(x), < ρ(x)
zu dem Widerspruch kẐ < kZ führen würde.) Es ist sicherlich
{x ∈ Kf | kZ ≤ ρ(x)} ⊆ Lf,Z
(vgl. die Anmerkung bei II, Fall 1). Diese Teilmengenrelation bleibt erhalten, wenn wenn an
beide dieser Mengen die zusätzliche Bedingung ρ(x) ≤ Ẑ gestellt wird, also
{x ∈ Kf | kZ ρ(x) ∧ ρ(x) ≤ kẐ } ⊆ {x ∈ Lf,Z | ρ(x) ≤ kẐ }
Die Menge auf der rechten Seite ist leer, also muß die Menge auf der linken Seite als Teilmenge
der leeren Menge ebenfalls leer sein. Bei der Induktionsvoraussetzung wird diese (leere)
Menge auf der linken Seite hinzuvereinigt“, auf der rechten Seite wird Lg,Z durch Lg,Ẑ
”
ersetzt, womit sich
{x ∈ Kf | ρ(x) ≤ kz } ∪ {x ∈ Kf | kZ ρ(x) ∧ ρ(x) ≤ kẐ } = Lg,Ẑ
Mit i und ii ist die Existenz einer punktierten Regel JZ und IẐ für alle Z, 0 ≤ Z ≤ m Für
Z = m folgt die Existenz der behaupteten punktierten Regel
I := Im̂ = B→γ0 C1 γ1 . . . . . . Cm γm ., k, km̂ , Lf,m̂ , Lg,m̂
wobei Lf,m̂ mit βm,ym = ν verträglich sind. Die Behauptungen A und B des Satzes sind ebenfalls erfüllt (wie ohne weiteres durch Einsetzen von Z = m in die obigen beiden Gleichungen
ersichtlich ist).
pi
Als Konsequenz aus diesem Satz 6.8-12 ergibt sich sofort, daß mit der Ableitung S ⇒∗ u
wobei S das Startsymbol, pi1 := S→α die erste Regel der Regelfolge pi ist, und die Menge
der zu berücksichtigenden Korrelationen leer ist, so daß diese tatsächlich mit S bezüglich
der gegebenen Ableitung verträglich ist, pi ∈ Q(S→α., 0, n, ∅, ∅) gilt. Damit enthält
nS
[
x=1
Q(S→αx ., 0, n, ∅, ∅)
tatsächlich alle Regelfolgen, die einer Ableitung S ⇒∗ u0+1 . . . un entsprechen.
300
6.8 Erweiterung des Earleyschen Algorithmus
Mit dem folgenden Satz soll der bereits angebene Mehraufwand für das Parsen einer Parallelgrammatik im Vergleich mit einer kontextfreien Grammatik gezeigt werden.
Satz: Sei A → α.β, i, j, Kf , Kg eine attributierte punktierte Regel und sei z Kollisionszahl
(wie mit Definition 6.7-9 eingeführt) für die Menge aller Korrelationen K(u). Dann gibt es
höchstens z Korrelationen x ∈ K, die als Elemente von Kf bzw. Kg in Frage kommen.
(6.8-13)
Beweis: Sei x ∈ Kf . Dann gilt mit den Sätzen 6.8-5a (s.a. Definition 6.7-5) und 6.8-6a
λ(x) ≤ k ≤ ρ(x)
Da λ(x) ≤ λ(x) und ρ(x) ≤ ρ(x), folgt daß k ∈ [λ(x), ρ(x)]. Sollte es mehr als z Elemente x
in der Menge K(u) aller Korrelationen geben, für die diese Relation erfüllt ist, so wäre die
Kollionszahl K(k) (vgl. Definition 6.7-9) an der Stelle k größer als z — im Widerspruch dazu,
daß z als Kollisionszahl von K(u) das Maximum der Kollisionszahlen über alle k, 1 ≤ k ≤ n
darstellt. Also gibt es höchstens z Elemente x von K(u), für die x ∈ Kf gilt.
Mit den Sätzen 6.8-5b und 6.8-6b gilt für alle x ∈ Kg , daß λ(x) ≤ i und i ≤ ρ(x). Also ist
λ(x) ≤ i ≤ ρ(x)
und entsprechend der obigen Argumentation gibt es höchstens Z Elemente x aus K, für die
x ∈ Kf möglich wäre.
Aus einer Parallelgrammatik Gk kann eine kontextfreie Grammatik G erhalten werden, indem jede Parallelregel (AL , AR )→(α, β) durch zwei Regeln A→α und A→β ersetzt wird.
Jeder Satz der zu einer Parallelgrammatik Gk gehörenden Sprache L(Gk ) ist dann auch Satz
der zu der kontextfreien Grammatik G gehörenden Sprache L(G), da jede Ersetzung eines
Paares von Parallelsymbolen (AL , AR ) auf eine entsprechende Ersetzung zweier einfacher
Symbole A und B zurückgeführt werden kann. (Selbstverständlich erlaubt die Grammatik G
auch Ersetzungen von A und B, die keine Entsprechung bei der Parallelgrammatik haben,
da die Ersetzungen von A und B bei G von einander unabhängig sind.) Jeder punktierten
Regel, die beim Parsen von u mit dem verallgemeinerten Earleyschen Algorithmus 6.8-1
unter der Grammatik Gk erhalten wird, entspricht eine punktierte Regel, die mit dem einfachen Earleyschen Algorithmus (5.4-7) unter der Grammatik G erhalten wird (sieht man
davon ab, daß der verallgemeinerte Earelysche Algorithmus alle möglichen Korrelationen
liefert, also auch solche, die beim Earleyschen Algorithmus durch die Predict-Funktion“
”
von vornherein ausgeschlossen worden wären.) Dies hat seinen Grund darin, daß Algorithmus
6.8-1 in den Earleyschen Algorithmus übergeht, wenn die attributierten Mengen wegfallen
bzw. leer sind. Darüber hinaus liefert der Earleysche Algorithmus 5.4-7 noch punktierte
Regeln für die Ableitungen der Symbole, die den Linkssymbolen der Parallelgrammatik entsprechen.
Da jede punktierte Regel, die beim Earleyschen Algorithmus auftritt, wenn sie eine Entsprechung bei Algorithmus 6.8-1 hat, mit einer Menge Kf und einer Menge Kg attributiert
ist, können höchstens nur soviele attributierte punktierte Regeln auftreten, wie es mögliche
Mengen Kf und Kg gibt. Wie mit Satz 6.8-13 gezeigt, kommen hierfür jeweils höchstens z
Elemente aus Kz (u) in Frage, so daß es zu einer punktierten Regel höchstens 2z · 2z = 2z+z
attributierte punktierte Regeln gibt. Damit ist der Mehraufwand von der Ordnung O(4z ).
301
6 Kontextsensitive Grammatiken
Bisher wurde noch nicht berücksichtigt, daß bei Algorithmur 6.8-1 die Korrelationen zu bestimmen sind. Dies geschieht entsprechend den Nummern 2–7 des Algorithmus 6.8-1, womit
alle Korrelationen zu u = u1 . . . un geliefert werden. Der Aufwand an Speicherbedarf hierfür
kann mit O(n3 · |P+ ∪ P− |) abgeschätzt werden, da eine Korrelation durch i und j, die Indizes der jeweils ersten Postion der korrespondierenden Teilsequenzen und deren Länge l,
0 ≤ i ≤ j ≤ n und 0 ≤ n ≤ ⌊ n2 ⌋ bestimmt ist. An jeder dieser möglichen Paarungen ist im
ungünstigsten Fall auch jede Regel aus P+ ∪P− beteiligt. Der Zeitaufwand kann ebenfalls mit
O(n3 · |P+ ∪ P− |) abgeschätzt werden, da Korrelationen größerer Länge auf bereits entdeck”
te“ kürzere zurückgeführt werden können. Wird angenommen, daß u einer Zufallssequenz
entspricht, so kann für l die mittlere Länge ¯l nach Gleichung 6.6-3 eingesetzt werden (mit
lmin = 1).
P⌊ n2 ⌋
¯l = l=1n NP (n, l) · l
P⌊ 2 ⌋
l=1 NP (n, l)
Hierbei ist mit Gleichung 6.6-2
1
1
NP (n, l) = 2 · ( )l · N(n, l) = ( )l (n − l + 1)(n − 2l + 1)
4
4
Für die Summe im Nenner ergibt sich eine untere Schranke, wenn nur deren erstes Glied für
l = 1 betrachtet wird. Es ist:
⌋
⌊n
2
1 1 2 X
( ) ·n ≤
NP (n, l)
4
l=0
Die Summe im Zähler kann nach oben abeschätzt werden, wenn NP (n, l) gemäß der zweiten
Gleichung ersetzt wird, l in den Klammern gleich 0 und der Faktor l gleich n gesetzt wird
und dann n3 ausgeklammert wird:
⌊n
⌋
2
X
l=1
⌊n⌋
3
NP n, l · l ≤ n
1
( )l
l=1 4
2
X
Die Summe auf der rechten Seite kann ihrerseits als Summe einer Potenzreiche für n → ∞
1
. . . = 31 ergibt. Da mit diesen Abschätzungen
abgeschätzt werden, wo sich in diesem Fall 14 + 16
garantiert ist, daß der tatsächliche Zähler kleiner und der tatsächliche Nenner größer sind,
ergibt sich die Gesamtabschätzung
3 1
¯l ≤ n · 3
n2
Damit ist ¯l = O(n), was bei O(n2 ) potentiellen Paarungen den obigen Zeitaufwand O(n3 )
ergibt. Damit weist der Anteil des Algorithmus zur Bestimmung der Korrelationen bezüglich
der benötigten Zeit keine höhere Komplexität auf, als der Earleysche Algorithmus selbst.
Algorithmus 6.8-1 hat dann insgesamt bezüglich der Zeit auch keine höhere Komplexität;
nämlich O(n3 ), während der Platzbedarf mit der Komplexität O(n3 ) größer ist. n ist hierbei
jeweils die Länge der zu parsenden Sequenz; die Anzahl der Regeln der Grammatik wurde
bei diesen Betrachtungen als konstant aufgefaßt.
Die Algorithmen zur Berechnung der Wahrscheinlichkeit (Abschnitte 5.9 und 5.10), und für
die Optimierung (Abschnitt 5.13) und zur Generierung von Ableitungen (Abschnitt 5.12)
können unverändert für Parallelgrammatiken übernommen werden.
302
7 Validation und Beispiele
In diesem Kapitel werden einige Anwendungsbeispiele für den Erweiterten Earleyschen
Algorithmus (6.8-1) gegeben. Zur Validation des entsprechenden Programms (vgl. Anhang)
werden mit den ersten Beispielen in der Literatur beschriebene Fälle mittels regulärer und
kontextfreier Grammatiken behandelt. Mit diesen sollen die Möglichkeiten, die stochastische
Grammatiken (bereits im kontexfreien Fall) bieten exemplarisch veranschaulicht werden.
7.1 Laufzeitverhalten und Speicherplatzbedarf des Parsers
Für den Test wurde aus der “lsu rRNA database” (large subunit ribosomal RNA) (http://
rrna.uia.ac.be), Unterkategorie “fungi” (http://rrna.uia.ac.be/fungi) die dort für
Saccharomyces cerevisiae K01048 angegebene 3550 Basen umfassende Sequenz gewählt.
Hieraus wurden Teilsequenzen unterschiedlicher Länge erzeugt, indem jeweils vom Anfang
an die entsprechende Anzahl Basen genommen wurde. Die verwendete Grammatik ist in
Abb. 7.1-1 gezeigt. Hierbei müssen bei einer Schleife mindestens drei Basenpaare aufeinander folgen und das Schleifeninnere aus mindestens drei Basen bestehen. Die hiermit erhaltenen Werte wurden mit einem PC-kompatiblen Rechner mit Pentium II-Prozessor, 450 MHz
und 128 MByte Hauptspeicher unter Linux erhalten und sind in Tab. 7.1-1 dargestellt. Der
benötigte Speicher wurde von dem Programm als Summe des jeweils alloziierten Speichers
ermittelt, ebenso wurden die erzeugten punktierten Regeln gezählt. Die benötigte Zeit wurde
mit der time-Funktion des Betriebssystems ermittelt. Für die Auswertung wurden darüber
hinaus alle Werte logarithmiert.
Wird angeommen, daß die Laufzeit t kubisch von der Sequenzlänge n abhängt, so läßt sich
/* Zum Parsen von Testsequenzen, kontextfreier Fall (mit Loops) */
/* Variante von saccer2.grm,
Schleifen muessen mindestens 3 ungepaarte Basen aufweisen */
Saccer :
Einzelstrang :
Einzelstrang :
Einzelstrang :
SchleifeStart :
Schleife1 :
Schleife:
Einzelstrang;
Base Einzelstrang;
SchleifeStart Einzelstrang;
epsilon;
A Schleife1 U | U Schleife1 A | G Schleife1 C | C Schleife1 G;
A Schleife U | U Schleife A | G Schleife C | C Schleife G;
A Schleife U | U Schleife A | G Schleife C | C Schleife G
| Base Einzelstrang SchleifeStart
| SchleifeStart Base Einzelstrang
| EsOS;
/* EsOS: Einzelstrang ohne Schleife */
EsOS :
Base Base Base EsOS2;
EsOS2 :
epsilon | Base EsOS2;
Base :
A | U | G | C;
Abb. 7.1-1: Testgrammatik zur Ermittelung des Laufzeitverhaltens und des Speicherplatzbedarfes.
epsilon würde das leere Wort ǫ bezeichen, die Relation → ist durch den Doppelpunkt (:) dargestellt. Mit dem senkrechten Strich (|) werden unterschiedliche rechte Hälften von Regeln, auf
deren linken Seite dasselbe Symbol steht, von einander getrennt (vgl. Abschnitt 2.7). Kommentare
werden durch /* und */ eingeschlossen und sind nicht Bestandteil der Grammatik.
303
7 Validation und Beispiele
a
n
5
10
20
30
40
50
60
80
100
120
140
160
200
300
400
m′
11.320
27.896
76.444
164.612
304.464
499.464
774.732
1.463.420
2.504.476
3.861.532
5.423.828
7.723.196
13.222.728
35.777.512
74.299.892
m
114
329
956
1.993
3.555
5.527
8.196
14.311
22.886
32.895
44.443
58.508
91.434
207.298
369.328
t
0,000
0,010
0,020
0,060
0,100
0,220
0,330
0,720
1,410
2,270
3,520
5,420
10,620
36,780
99,670
b
ln n
1,61
2,40
3,00
3,40
3,69
3,91
4,09
4,38
4,61
4,79
4,94
5,08
5,30
5,70
6,00
ln m′
9,33
10,24
11,24
12,01
12,63
13,12
13,56
14,20
14,73
15,17
15,51
15,86
16,40
17,39
18,12
ln m
4,74
5,80
6,86
7,60
8,18
8,62
9,01
9,57
10,04
10,40
10,70
10,98
11,42
12,24
12,82
ln t
−4, 605
−3, 912
−2, 813
−1, 514
−1, 514
−1, 100
−0, 329
0,344
0,820
1,258
1,690
2,363
3,605
4,602
Tab. 7.1-1: Die linke Tabelle (a) gibt den Speicherbedarf in Bytes (m′ ) und anhand der Anzahl der
punktierten Regeln (m) und die benötigte Zeit t (in Sekunden) in Abhängigkeit der Sequenzläge n
an. Die rechte Tabelle (b) gibt hiervon die Logarithmen (bezüglich Basis e, gerundet auf zwei bzw.
drei Nachkommastellen) an. Für kleine Laufzeiten dürfte der Fehler relativ groß sein; für n = 5
ergab sich sogar keine sinnvolle Laufzeit.
diese Beziehung in der Form t = c + an3 schreiben, wobei c und a Konstanten sind. Nach
Logarithmieren ergibt sich ln t = ln(c + an3 ). Für c ≪ an3 , also für größere n kann c (was
der konstante Anteil des Programmes ist, der für jede Sequenzlänge gleich ist) vernachlässigt
werden. Damit ergibt sich
(ln t) = ln(an3 ) = ln a + 3 ln n
Es handelt sich also um einen linearen Zusammenhang zwischen dem Logarithmus der Sequenzlänge und dem Logarithmus der Laufzeit. Diese Gleichung ist dimensionslos, d.h. es
spielt keine Rolle in welchen Maßeinheiten die Zeit gemessen wird. Insbesondere heißt dies,
daß die Steigung der sich ergebenden Gerade nicht von etwaigen Maßeinheiten abhängt,
sondern diese stets 3 sein sollte. Ähnliche Überlegungen gelten bezüglich des Speicherplatzbedarfes m′ bzw. m. Die sich ergebenden Kurven sind in Abb. 7.1-2 dargestellt. Werden
die Werte für kleinere Sequenzlängen, wo die Konstante c noch relativ stark ins Gewicht
fällt (und die Messung der Laufzeit ziemlich ungenau ist), außer Betracht gelassen, so handelt es sich tatsächlich um Geraden. Diese haben die Steigungen 2,38; 2,0 bzw. 3.0. Damit
hängen der Speicherplatzbedarf (wenn hierfür die Anzahl der punktierten Regeln genommen
wird) und die Laufzeit tatsächlich quadratisch bzw. kubisch von der Sequenzlänge ab. Auf
eine weitergehende statistische Analyse (wie Bestimmung von Korrelationskoeffizienten und
Konfidenzintervalle) wurde verzichtet. Die Anzahl der punktierten Regeln stellt sicherlich ein
gutes Maß für den Speicherplatzbedarf dar, die auch bei der theoretischen Analyse des Laufzeitverhaltens zugrunde gelegt wurde. Wird dagegen der alloziierte Speicher als Grundlage
genommen, so ergibt sich hierbei eine ungünstigere Abhängigkeit. Dieser nimmt nämlich im
vorliegenden Falle (entsprechend Abb. 7.1-2) mit O(n2,38 ), also mehr als quadratisch (wenn
auch weniger als kubisch) mit der Sequenzlänge n zu. Die Ursache hierfür ist darin zu sehen,
daß nicht nur die punktierten Regeln abgespeichert werden, sondern mit einer punktierten
Regel auch jeweils festgehalten wird, welche punktierten Regeln zu einer bestimmten Regel
geführt haben. (Mit anderen Worten: für den Hypergraphen (H, h) sind nicht nur die Knoten
(die Elemente von H), sondern auch die Hyperkanten (die Elemente von h) festzuhalten.)
304
7.1 Laufzeitverhalten, Speicherbedarf
18
17
a
ln m′
ln m
ln t
16
15
14
13
b
12
11
10
9
8
7
6
5
c
4
3
2
1
ln n
1
2
3
4
5
6
-1
-2
-3
-4
Abb. 7.1-2: Graphische Darstellung der Abhängigkeit des a) Logarithmus des Speicherplatzbedarfes
(m′ ) in Bytes, b) gemessen anhand des Logarithmus der Anzahl der punktierten Regeln (m) und c)
des Logarithmus der Laufzeit (t) in Sekunden in Abhängigkeit Loarithmus der Sequenzlänge n. Man
beachte, daß die Abszisse um den Faktor 2 gestreckt ist, so daß aus dem Diagramm entnommene
Steigungen noch hiermit zu multiplizieren wären.
305
7 Validation und Beispiele
Deren Anzahl ist im günstigsten Falle konstant, im ungünstigsten Falle von der Größe O(n)
(da zu einer punktierten Regel A→αB.β, i, j es O(nB · k) = O(j − i) = O(n) Vorläufer”
regeln“A → α.B, i, k und B → γ., k, j gibt (wobei nB die Anzahl der Regeln ist, auf deren
linke Seite das Symbol B steht). Daher ist die Anzahl der Hyperkanten zwischen O(n2 ) und
O(n3 ), hängt von der vorliegenden Grammatik und Sequenz ab und ist nicht a priori zu
bestimmen.
7.2 Optimierer
Der in Abschnitt 5.13 beschriebene Simplex-Algorithmus erwies sich bezüglich seines Laufzeitverhaltens bei größeren Regelanzahlen der Grammatik (mehr als einigen Hundert) als
ungünstig. Dies ist wohl darauf zurückzuführen, daß stets der Punkt des Simplexes mit dem
größten (also ungünstigsten) Funktionswert ersetzt wird. Hierbei bleibt der Punkt mit dem
kleinsten (günstigsten) Funktionswert unverändert, so daß bei einem Schritt des Simplexalgorithmus nur sehr selten eine Verbesserung erreicht wird.
Daher wurden noch zwei weitere der in Abschnitt 5.13 erwähnten Optimierungsverfahren
eingesetzt. Zum einen wurde ein genetischer Algorithmus verwendet. Hierbei wurden etwa
hundert Punkte betrachtet, wobei jede der Koordinaten eines Punktes der Wahrscheinlichkeit
einer Regel entspricht. Für jeden Punkt, also jede der Konfiguration von Regelwahrscheinlichkeiten wurde q(u|S), also die Gesamtwahrscheinlichkeit aller Ableitungen, berechnet. Das
Drittel mit den besten Werten wurde beibehalten, die übrigen zwei Drittel der Punkte verworfen. Neue Punkte wurden durch Rekombination und Mutation erzeugt. Seien
xi := (pi,A1 ,1 , pi,A1 ,2 , . . . pi,A1 ,nA1, pi,A2 ,1 , . . . pi,A|N| , nA|N| )
und
xj := (pj,A1 ,1 , pj,A1,2 , . . . pj,A1 ,nA1, pj,A2 ,1 , . . . pj,A|N| , nA|N| )
zwei (dieser zufällig ausgewählten) Punkte, wobei nAk die Anzahl der Regeln ist, auf deren linker Seite das Nichtterminalsymbol Ak ∈ N auftritt. Nach der (ebenfalls zufälligen)
Auswahl eines Index l werden zwei neue Punkte
yi′ := (pi′ ,A1 ,1 , pi′ ,A1 ,2 , . . . pi′ ,A1 ,nA1, pi′ ,A2 ,1 , . . . pi′ ,A|N| , nA|N| )
und
xj′ := (pj ′ ,A1 ,1 , pj ′,A1 ,2 , . . . pj ′,A1 ,nA1, pj ′ ,A2 ,1 , . . . pj ′ ,A|N| , nA|N| )
erhalten, wobei
pi′ ,Ak ,xk :=
(
pi,Ak ,xk wenn k ≤ l
pj,Ak ,xk wenn k > l
pj ′ ,Ak ,xk :=
(
pj,Ak ,xk wenn k ≤ l
pi,Ak ,xk wenn k > l
und
(wobei 1 ≤ xk ≤ nAk ). Anschaulich gesagt, werden die Koordinaten an der Bruchstelle“ l
”
über Kreuz“ ausgetauscht. Diese Vorgehensweise wird als Rekombination bezeichnet.
”
Weitere Punkte
zi′ := (pi′ ,A1 ,1 , pi′ ,A1 ,2 , . . . pi′ ,A1 ,nA1, pi′ ,A2 ,1 , . . . pi′ ,A|N| , nA|N| )
306
7.2 Optimierer
können erhalten werden, indem außer einem zufällig gewählten l zwei Indizes y und y ′, y 6= y ′ ,
1 ≤ y ≤ nAk , 1 ≤ y ′ ≤ nAk (ebenfalls zufällig) gewählt werden und die entsprechenden
Koordinaten modifiziert werden; also
pi′ ,Ak ,xk :=



pi,Ak ,y + δ wenn k = l und xk = y
pi,Ak ,y′ − δ wenn k = l und xk = y ′


pj,Ak ,xk
sonst
Diese Vorgehensweise soll als Mutation bezeichnet werden. Hierbei wird die Störung“ δ
”
zufällig gewählt, jedoch mit der Einschränkung, daß 0 < pi′ ,Ak ,xk < 1, also der neue Variablenwert immer noch eine Wahrscheinlichkeit ist. Dies wird dadurch erreicht, daß die
Wahl von δ auf das Intervall (0, min {(1 − pi,Al ,y ) · ǫ, pi,Al,y′ · ǫ}) beschränkt wird. (Hierbei
ist ǫ ∈ (0, 1] ein Faktor, der die Stärke“ der Mutation angibt. Dieser wird im Laufe der
”
Optimierung verkleinert. Die Geschwindigkeit mit der dies geschieht, ist experimentell zu
bestimmen, da eine zu schnelle Abnahme von ǫ dazu führen würde, daß die Suche vorzeitig
bei relativ großen Minima beendet würde, während bei einer zu langsamen Abnahme Werte
jenseits eines bereits gefundenen Minimums unnötigt oft berechnet würden).
Sowohl bei der Rekombination als auch der Mutation ist gewährleistet, daß die Bedingung
PnAK
xk =1 pA,x = 1 erfüllt bleibt, also die Summe der Wahrscheinlichkeiten der Regeln mit demselben Symbol auf der linken Seite stets gleich 1 ist.
Zum anderen wurde eine Adaption des Baum/Welch-Verfahrens wie am Anfang von Abschnitt 5.13 beschrieben, verwendet. Dieses beruht darauf, daß die relative Häufigkeit mit
der eine bestimmte Regel A→αx bei allen Ableitungen auftritt, durch die relative Häufigkeit aller Regeln, auf deren linken Seite das Symbol A steht, dividiert wird, wodurch ein
5
P
-
I
-
- - - - - - - - - - - - VDTG
- - - - - - -
10
S
-
- - V
- VH
- - V
- - VAP
- GA
- - G
65
70
15
L
L
L
L
L
L
L
20
25
30
35
40
S P A D K T N V K A AWG K V G A - - H A G E Y G A E A
T P E E K S A V T A L WG K V - - - - N V D E V G G E A
S E G E WQ L V L H V W A K V E A - - D I A G H G Q D I
S ADQ I S TVQA S F DKVKG - - - - - - DP VG I
S A A E K T K I R S AWA P V Y S - - T Y E T S G V D I
T E S Q A A L V K S SWE E F N A - - N I P K H T H R F
S A A Q R Q V I A A TWK D I A G A D N G A G V G K D C
85
90
95
100
105
L
L
L
L
L
F
L
110
45
E RMF
GRL L
I RLF
YAVF
VKF F
I LVL
I KFL
50
L S F PTTKTY
V V Y PWT Q R F
KHHP E T L E K
K A D P S I MA K
T S TPAAQE F
E I AP AAKD L
S A H P QMA A V
115
120
55
FPHF
FESF
FDRF
F TQF
FPKF
FS - F
FG - F
125
60
- D
GD
KH
AG
KG
LK
SG
L
L
L
L
-
130
S - - - - - H G S A Q V K G H G K K V A D A L T N A V A H V - - - D - - DMP N A L S A L S D L H A H K L - - R V D P V
S T P D A VMG N P K V K A H G K K V L G A F S D G L A H L - - - D - - N L K G T F A T L S E L H C D K L - - H V D P E
K S E A E MK A S E D L K K H G V T V L T A L G A I L K K - - - - K - G H H E A E L K P L A Q S H A T K H - - K I P I K
KD L E S I KGTA P F E THANR I V G F F S K I I G E L - - P - - - N I E ADVNT F VA S HKP RG - - - VTHD
T T A D Q L K K S A D V R WH A E R I I N A V N D A V A S M - - D D T E K M S MK L R D L S G K H A K S F - - Q V D P Q
GT S E VPQNNP E L QAHAGKV F K L VY E AA I Q L QVTGVVVTDAT L KN L G S VHV S KG - - - VADA
- - - A S - - - D P G V A A L G A K V L A Q I G V A V S H L - - G D E G KM V A QMK A V G V R H K G Y G N K H I K A Q
135
NFKL L SHC
NF R L L GNV
YLEF I SEA
Q L NNF RAG
YFKVL AAV
HFPVVKEA
YF EPLGAS
140
L
L
I
F
I
I
L
145
150
155
160
165
170
L VT L AAH L PA E F TP AVHA S L DK F L A S V S TV L
VCV L AHH F GKE F TP PVQAAYQKVVAGVANA L
I H V L H S R H P A D F G A D A Q G AM S K A L E L F R K D I
V S YMK A H T - - D F A - G A E A AWG A T L D T F F GM I
ADTV AA G - - - - - - - - - DAG F E K LMSM I C I L L
L K T I K E V V G A KW S E E L N S AWT I A Y D E L A I V I
L S AM E H R I G G KMN A A A K D AWA A A Y A D I S G A L
175
180
185
190
TSKYR - - - - - AHKYH - - - - - AAKYKE L GYQG
F S KM - - - - - - RSAY - - - - - - K K E MN D A A - - I SGLQS - - - - -
Tab. 7.3-1: das von Bashford et al. gegebene Alignment für sieben Globine (zitiert nach Haussler et al. 1993). Von oben nach unten: hba human (α-Kette des menschlichen Hämoglobins),
hbb human (β-Kette des menschlichen Hämoglobins), myg phyca (Myoglobin des Spermwals (Physeter macrocephalus)), glb3 chitp (Globin CTP-III (Erythrocruorin III) der Zuckmücke (Chironomus thummi piger)), glb3 petma (Globin V des Meerneunauges (Petromyzon marinus)), lgb luplu
(Leghämoglobin der Gelben Lupine (Lupinus luteus)) und glb0 glydi (Globin des an der Ostküste
der USA heimischen bloodworm (Glycera dibranchiata) aus der Klasse der Vielborster (Polychaeta)). Die Bezeichnungen der Proteine sind die der SWISS-PROT-Datenbank.
307
7 Validation und Beispiele
neuer Wert für die Wahrscheinlichkeit qA,x für die Regel A→αx erhalten wird. Mit den so
erhaltenen neuen Wahrscheinlichkeiten für die Regeln ergeben sich wiederum neue relative
Häufigkeiten. Diese Iteration wird solange fortgesetzt, bis sich die Wahrscheinlichkeiten nicht
mehr (wesentlich) ändern. Diese Vorgehensweise setzt jedoch voraus, daß alle Ableitungen
zykelfrei sind, was vor Anwendung dieses Verfahrens zu überprüfen ist.
Beide hier beschriebenen Verfahren zur Optimierung werden hier als Heuristiken betrachtet und mathematisch nicht näher begründet. Sie finden ihre Rechtfertigung darin, daß sie
relativ schnell und gut optimieren, wie sich bei deren Vergleich mit dem Simplexverfahren
in einfachen Fällen gezeigt hat. Das adaptierte Baum/Welch-Verfahren führt schneller zu
Optima, ist jedoch nicht in jedem Fall anwendbar. Die Laufzeiten aller Verfahren waren stark
uneinheitlich, hängen stark von Grammatik und Sequenz(en) ab, und bewegten sich üblicherweise in in der Größenordnung von Minuten bis Stunden. (So betrugen beispielsweise für
die im folgenden Abschnitt 7.3 beschriebene Anwendung (7 Sequenzen, 142 Zustände“ der
”
Grammatik (vgl. Abb. 7.3-1)) die Zeiten auf einem Pentium II-Prozessor mit 450 MHz für
/* Vereinfachte Haussler-Grammatik 142 Zustaende, 13.01. */
Z1; /* Start"zustand"
Z2 | s1 Z1 | s1 Z2;
A | C | D | E | F | G
W | Y;
Z3 | s2 Z2 | s2 Z3;
A | C | D | E | F | G
W | Y;
Z4 | s3 Z3 | s3 Z4;
A | C | D | E | F | G
W | Y;
Z5 | s4 Z4 | s4 Z5;
A | C | D | E | F | G
W | Y;
Z0:
Z1:
s1:
Z2:
s2:
Z3:
s3:
Z4:
s4:
*/
| H | I | K | L | M | N | P | Q | R | S | T | V |
| H | I | K | L | M | N | P | Q | R | S | T | V |
| H | I | K | L | M | N | P | Q | R | S | T | V |
| H | I | K | L | M | N | P | Q | R | S | T | V |
.
.
.
Z139: Z140 | s139
s139: A | C | D |
W | Y;
Z140: Z141 | s140
s140: A | C | D |
W | Y;
Z141: Z142 | s141
s141: A | C | D |
W | Y;
Z142: s142 Z142 |
s142: A | C | D |
W | Y;
Z139 | s139 Z140;
E | F | G | H | I | K | L | M | N | P | Q | R | S | T | V |
Z140 | s140 Z141;
E | F | G | H | I | K | L | M | N | P | Q | R | S | T | V |
Z141 | s141 Z142;
E | F | G | H | I | K | L | M | N | P | Q | R | S | T | V |
s142;
E | F | G | H | I | K | L | M | N | P | Q | R | S | T | V |
Abb. 7.3-1: Testgrammatik zur Ermittelung des Laufzeitverhaltens und des Speicherplatzbedarfes.
epsilon würde das leere Wort ǫ bezeichnen, die Relation → ist durch den Doppelpunkt (:) dargestellt. Mit dem senkrechten Strich (|) werden unterschiedliche rechte Hälften von Regeln, auf
deren linken Seite dasselbe Symbol steht, von einander getrennt (vgl. Abschnitt 2.7). Kommentare
werden durch /* und */ eingeschlossen und sind nicht Bestandteil der Grammatik.
308
7.3 Alignment von Proteinen
das Parsen etwa 85 Minuten, für das Optimieren mit dem Baum/Welch-Verfahren etwa
915 Minuten, mit genetischem Optimieren knapp 42 Tage und für das Simplex-Verfahren
knapp das Doppelte dieser Zeit.)
7.3 Alignment von Proteinen
Wie in Abschnitt 4.3 erwähnt, sind reguläre Grammatiken und HMMs einander sehr ähnlich. Aus diesem Grunde wurde versucht das von Haussler et al. (1993) mittels eines
HMM erhaltene Aligment durch eine (reguläre) stochastische Grammatik zu reproduzieren.
Es wurde versucht die sieben in Tab. 7.3-1 mit ihrem korrekten Alignment angegebenen
Proteine zu alignieren. Die verwendete Grammatik ist in Abb. 7.3-1 gegeben. Das (nach Optimieren der Regelwahrscheinlichkeiten) mit dieser Grammatik erhaltene Alignment findet
sich in Tab. 7.3-2. In einem weiteren Versuch wurden für die Optimierung des Modells 69
Globin-Sequenzen zugrunde gelegt. Um die Laufzeit bei der Optimierierung nicht allzu groß
werden zu lassen, wurden nur Teilsequenzen der Länge 30 verwendet. Entsprechend wurde
die Grammatik modifiziert; sie ist der in Abb. 7.3-1 analog, modelliert aber nur 30 (und
5
V L SP
VHL TP
VLSEG
L SA
P I VD
G ALT
G L SA
10
65
DL S
STP
HLK
A K
A
LE
80
V
P
P
V
M
70
HG S AQV
D A VMG N P
S E A E MK
F TQF AG
QE F FPKF
I AP AA
MA A V F
85
A H V D DM
H
CDK
LA QSH
N I EADV
F A S MD D
HV S K
V A QMK
128
15
20
A D K T N V K A AWG K V G
E E K S AVT ALW GKV
E WQ L V L H V W A K V E
DQ I S TVQ
A
SFD
TGS VAP LAAEKTK
E SQA A L
V
KS S
AQRQV I
A A TWK
60
F
L
K
M
A
V
14
z }| {
A H
N V
AD I
K
I RS
W
D I
25
AG
DE
AG
VK
AW
EE
AG
30
35
E YGAEAL
V GGEAL
H GQD I L
GDPV
APV
F
NA
A DNGA
40
E RMF L S
GRL LVV
I R L F KH
G I LYA
YSTYET
N I
GVGKDC
75
45
F PTTKTY
Y PW T Q R
HP ETL EK
V F KAD
S GVD I L VK
PKHTHR
L I KFL S
50
F
FFE
FD
FFT
FF
A
55
PH
S F GD
RF
PS I
STP
I L
HP Q
77
}|
z
{
KG H
G K K V A D A L T N A
KVKA
HGKKVLGAFSDGLAHLDNLKGTFATLSEL
ASED
LK K H G V T V L T A L G A I L K K K G H H E A E L K
K
D
L E S I K G T A P F E T H A N R I V G F F S K I I G E L
K
G L T T A D Q L K K S A D V R W H A E R I I N A V N D A
K
D LFSFLKGTSEVPQNNPELQAHAGKVFKLVYEAAIQLQVTGVVVTDATLKNLGS
GF S
GASDPGVAALGAKVLAQIGVAVS HLGDEGK
90
95
PNA L S A L SDL
LHV D P EN
ATKHK I P I
NTFVA S HKP
TEK
MSM
G VAD AHF
A VGVRHKG
100
105
HAHK
FRL L
K YL
RGVT
K LR
PVVK
YGNK
LRV
GNV
EF I
HDQ
DL S
EA I
H I K
129
z
26
z}|{
}|
110
D
L
S
L
G
L
A
130
{
115
PVNFKL L
V C VL
E A I I HV
NNF RAG F
KHAK S FQ
K T I KEV
QY F E P L G
135
AAH L L P A E P T P A V H A S L D K F L A
SVSTV
TPPV
Q A A Y Q K V V A
GVANA
P
A D F G A D A Q G AM S K A L E L F R K D I A A K Y K
TD
F A G A E A A W G A T L D T F F
GM
L
A A V I A D T V A A G D A G F E K L M S MI C I
EE
L N S A W T I A Y D E L A
I
V I KK
EH
R I G G K M N A A A K D A W A A A Y A
D I SGAL
SHCL
AHH
LH S
VS Y
VDPQ
VG
ASL
120
L VT L
FGKE F
RH
MK A H
YFKV
A KW S
L S AM
140
LTSKYR
L AHKYH
E L GYQG
I F S KM
L LRSAY
E MN D A A
I SGLQS
Tab. 7.3-2: Alignment der in Tab. 7.3-1 angegebenen Globine (von oben nach unten hba human,
hbb human, myg phyca, glb3 chitp, glb3 petma, lgb luplu, glb0 glydi), das sich mit der mit diesen
Sequenzen trainierten Grammatik in Abb. 7.3-1 ergibt. Man beachte die stellenweise gute Übereinstimmung mit dem Alignment in Tab. 7.3-1. Die angegebenen Positionen sind Positionen des
Modells und entsprechen den bei der Benennung der Symbole der Regeln verwendeten Zahlen.
309
7 Validation und Beispiele
0
1
2
z}|{z}|{
V L
V H L
V L
L
G
G
A
L
S
T
S
S
P
P
E
A
P
L T E
S A
4
5
z}|{
A D
E E
G E
D Q
I V D
S Q
A Q
7
8
z}|{
K T
K S
WQ
I S
T G S
A A
R Q
10
N
A
L
T
11
z }| {
14
V
K
A A
V
T
A L
V
L
H V
V
Q
A S
V A P L S A A
L V
K
S S
V I
A
A T
15
17
z}|{
z}|{
W G K V
W G K V
W A K V
F D K V
E K T K I
W E E F
W
K D I
19
G
N V
E
K G
20
22
z }| {
23
24
25
26
28
z }| { z}|{z}|{z}|{
29
z }| {
A
H A
G
E Y G A E A L
E
D
E V
G
G
E A L
GR
A
D I
A
G H G Q D I L
I
D
P V GI L
Y
A V F K A
R S AWA P V
Y
S
T
Y
N
A
N I
P K H T H R F F
A G
A
D N G A G V
G
K
D
C
Tab. 7.3-3: Alignment der in Tab. 7.3-1 angegebenen Globine, das mit einem mit 69 Globinen
trainierten Modell (mit 30 Zuständen, Grammatik nach gleichem Muster“ der Grammatik in
”
Abb. 7.3-1) erhalten wurde. Von oben nach unten: hba human, hbb human, myg phyca, glb3 chitp,
glb3 petma, lgb luplu, glb0 glydi Von diesen waren fünf mit im Trainingssatz enthalten, während
hba human und glb5 petma nicht mittrainiert“ wurden.
”
nicht 142) Positionen. Es wurde das in Tab. 7.3-3 angegebene Alignment erhalten. Es fällt
jeweils auf, daß sich die einzelnen Positionen der Sequenzen mehr oder weniger zufällig auf
die einzelnen Zustände verteilen: einige Zustände decken mehrere Positionen ab, während
andere Zustände übersprungen werden (bzw. die entsprechenden Regeln werden mehrmals
verwendet, während die anderen Regeln nicht gebraucht werden). Dieses Phänomen wird
auch von Haussler et al., die sogar mehr als dreihundert Trainingssequenzen verwenden,
beobachtet. Um diesem Problem zu begegnen, optimieren sie ihr Modell gewissermaßen von
”
Hand“, indem sie übersprungene Zustände entfernen und da, wo viele Positionen in einem
Zustand zusammenfallen, weitere Zustände einfügen.
Globine
Name
glb0 glydi
glb1 glydi
glb3 chitp
glb4 glydi
hba1 galcr
hba1 trene
hba2 plewa
hba3 pantr
hba ailfu
hba ansse
hba bovin
hba carcr
hba cygma
hba elema
hba gorgo
hba larri
hba mansp
hba pagbe
hba phoru
hba ptebr
q
ln q
Serpine
Name
2, 037 · 10−17
5.510 · 10−27
9, 268 · 10−21
1, 865 · 10−17
3, 609 · 10−12
5, 288 · 10−17
1, 160 · 10−28
2, 574 · 10−17
4, 879 · 10−12
9, 080 · 10−13
2, 105 · 10−10
1, 033 · 10−12
1, 598 · 10−15
9, 280 · 10−11
2, 574 · 10−10
8, 283 · 10−13
1, 290 · 10−11
1, 448 · 10−13
1, 192 · 10−12
2, 666 · 10−11
-38,433
-60,463
-46,128
-38,520
-26,348
-37,479
-64,324
-22,080
-26,046
-27,728
-22,281
-27,598
-34,070
-23,101
-22,080
-27,819
-25,074
-29,564
-27,455
-24,348
a1a1 mouse
a1a2 mouse
a1a3 mouse
a1a4 mouse
a1a5 mouse
a1a6 mouse
a1af cavpo
a1af rabit
a1as cavpo
a1at bommo
a1at bovin
a1at cypca
a1at didma
a1at human
a1at muscr
a1at papan
a1at pig
a1at rat
a1at sheep
a2ap bovin
q
ln q
2, 579 · 10−57
9, 171 · 10−57
6, 152 · 10−57
2, 427 · 10−54
2, 451 · 10−34
1, 507 · 10−40
1, 886 · 10−46
1, 507 · 10−40
2, 810 · 10−37
3, 992 · 10−53
1, 527 · 10−53
2, 724 · 10−49
2, 391 · 10−47
4, 476 · 10−54
2, 391 · 10−47
3, 932 · 10−46
2, 419 · 10−51
6, 329 · 10−51
1, 746 · 10−49
1, 745 · 10−49
-130,300
-129,031
-129,431
-123,453
-77,391
-91,694
-105,285
-91,964
-84,162
-120,653
-121,613
-111,825
-107,350
-122,841
-107,350
-104,550
-116,548
-115,587
-112,269
-112,269
Zufallssequenzen
q
ln q
2, 037 · 10−32
4, 932 · 10−42
7, 729 · 10−39
2, 694 · 10−44
5, 589 · 10−46
1, 362 · 10−56
2, 424 · 10−56
4, 641 · 10−57
5, 512 · 10−51
2, 104 · 10−48
5, 075 · 10−57
1, 843 · 10−51
2, 882 · 10−62
3, 416 · 10−48
3, 699 · 10−55
1, 891 · 10−54
4, 822 · 10−55
6, 463 · 10−52
3, 344 · 10−58
5, 960 · 10−55
-72,971
-95,113
-87,756
-100,323
-104,198
-128,636
-128,060
-129,712
-115,725
-109,780
-129,623
-116,820
-141,702
-109,296
-125,334
-123,703
-125,069
-117,868
-132,343
-124,857
Tab. 7.4-1: Mit einer bezüglich Globinen optimierten Grammatik (für 22 Positionen analog der
Grammatik in Abb. 7.3-1) für verschiedene Teilsequenzen erhaltene Wahrscheinlichkeiten q und
deren Logarithmen ln q (jeweils auf drei Nachkommstellen gerundet). Bei den Globinen wurden die
Positionen 1–20, bei den Serpinen die Positionen 611–630 gewählt; für die Zufallssequenzen sind
keine Namen angegeben.
310
7.4 Protein-Klassifikation
Die Laufzeiten betrugen auf einem Pentium II-Prozessor, 450 MHz, im ersten Fall (7 Sequenzen, 142 Positionen“) für das Parsen 6580 Sekunden und für das Optimieren 55000
”
Sekunden, im zweiten Fall (69 Sequenzen, 30 Positionen) 205 bzw. 4100 Sekunden.
7.4 Klassifikation von Proteinen
Bessere Ergebnisse als bei der Alignierung von Proteinen zeigen sich bei deren Klassifikation.
Hierfür wurde eine Grammatik entsprechend der in Abb. 7.3-1 mit 22 Zuständen gewählt
und mit zwei verschiedenen Proteinklassen trainiert“. Das heißt die Wahrscheinlichkeiten
”
für die Regeln wurden so gewählt, daß die Wahrscheinlichkeiten aller Ableitungen, die zu
den Proteinen der betreffenden Klasse führen, möglichst hoch sind. Die eine Trainingsmenge
wurde ausgehend von 70 Globinen erhalten, indem jeweils Teilsequenzen von Position 1 bis
20 ausgewählt wurden. Die zweite Menge bestand aus den Positionen 611 bis 630 von 91
sog. Serpinen (Serin-Protease-Inhibitoren).
Nach Ermittlung dieser optimalen Wahrscheinlichkeiten wurde die Wahrscheinlichkeit für
die Ableitung von jeweils 20 Sequenzen aus beiden Mengen bestimmt. Zusätzlich wurden
20 zufällige Sequenzen generiert und für diese ebenfalls die Wahrscheinlichkeiten bei Verwendung der beiden Grammatiken ermittelt. Bereits bei der relativ kurzen Sequenzlänge
von zwanzig Positionen lieferten beide Grammatiken deutlich unterschiedliche Wahrscheinlichkeiten für die zugrunde gelegte Menge von Sequenzen, die jeweils andere und die der
Zufallszahlen. Die mit Globinen trainierte Grammatik lieferte Wahrscheinlichkeiten, deren
Logarithmen sich zwischen −64, 32 und −22, 08 (bei einem Mittelwert von −32, 55) für
die Globine, zwischen −130, 30 und −77, 39 (Mittelwert −110, 76) für die Serpine und zwiSerpine
Name
a1a1 mouse
a1a2 mouse
a1a3 mouse
a1a4 mouse
a1a5 mouse
a1a6 mouse
a1af cavpo
a1af rabit
a1as cavpo
a1at bommo
a1at bovin
a1at cypca
a1at didma
a1at human
a1at muscr
a1at papan
a1at pig
a1at rat
a1at sheep
a2ap bovin
q
ln q
Globine
Name
7, 407 · 10−09
5, 344 · 10−09
7, 407 · 10−09
1, 559 · 10−09
8, 441 · 10−10
3, 107 · 10−14
3, 972 · 10−09
2, 280 · 10−09
3, 972 · 10−09
3, 372 · 10−11
1, 026 · 10−09
6, 601 · 10−12
1, 786 · 10−10
4, 495 · 10−09
1, 306 · 10−08
4, 495 · 10−09
1, 839 · 10−08
5, 005 · 10−08
7, 255 · 10−09
1, 559 · 10−13
-18,721
-19,047
-18,721
-20,279
-20,893
-31,103
-19,344
-19,899
-19,334
-24,113
-20,698
-25,744
-22,446
-19,220
-18,154
-19,220
-17,811
-16,810
-18,742
-29,489
glb0 glydi
glb1 glydi
glb3 chitp
glb4 glydi
hba1 galcr
hba1 trene
hba2 plewa
hba3 pantr
hba ailfu
hba ansse
hba bovin
hba carcr
hba cygma
hba elema
hba gorgo
hba larri
hba mansp
hba pagbe
hba phoru
hba ptebr
q
ln q
9, 597 · 10−64
9, 727 · 10−53
4, 012 · 10−58
6, 648 · 10−59
2, 635 · 10−57
2, 525 · 10−59
6, 943 · 10−72
2, 265 · 10−65
8, 720 · 10−72
1, 358 · 10−61
6, 331 · 10−62
3, 481 · 10−63
4, 480 · 10−53
1, 374 · 10−64
2, 265 · 10−65
7, 204 · 10−67
3, 362 · 10−68
2, 417 · 10−49
2, 965 · 10−66
2, 943 · 10−67
-145,104
-119,762
-132,161
-133,958
-130,279
-134,926
-163,848
-148,850
-161,318
-140,152
-140,915
-143,816
-120,537
-147,048
-148,850
-152,299
-155,363
-111,944
-150,884
-153,194
Zufallssequenzen
q
ln q
2, 130 · 10−41
3, 387 · 10−50
1, 163 · 10−46
6, 677 · 10−66
2, 914 · 10−55
1, 760 · 10−70
6, 549 · 10−74
5, 002 · 10−77
5, 647 · 10−64
4, 031 · 10−75
6, 351 · 10−59
1, 239 · 10−56
1, 316 · 10−76
3, 167 · 10−68
3, 554 · 10−70
2, 410 · 10−70
6, 734 · 10−67
5, 285 · 10−59
8, 339 · 10−69
9, 968 · 10−68
-93,650
-113,909
-105,768
-150,072
-125,573
-160,616
-168,512
-175,689
-145,634
-171,300
-134,004
-128,731
-174,721
-155,423
-159,913
-160,301
-152,366
-134,188
-156,757
-154,276
Tab. 7.4-2: Mit einer bezüglich Serpinen optimierten Grammatik (für 22 Positionen analog der
Grammatik in Abb. 7.3-1) für verschiedene Teilsequenzen erhaltene Wahrscheinlichkeiten q und
deren Logarithmen ln q (jeweils auf drei Nachkommstellen gerundet). Bei den Globinen wurden die
Positionen 1–20, bei den Serpinen die Positionen 611–630 gewählt; für die Zufallssequenzen sind
keine Namen angegeben.
311
7 Validation und Beispiele
schen −141, 702 und −72, 971 (Mittelwert 115, 94) für die Zufallssequenzen bewegten. Die
mit Serpinen trainierte Grammatik lieferter Wahrscheinlichkeiten, deren Logarithmen sich
zwischen −31, 10 und −16, 81 (Mittelwert −20, 99) für die Serpine, zwischen −163, 85 und
−111, 94 (Mittelwert −141, 76) für die Globine und zwischen −175, 69 und −93, 65 (Mittelwert 146, 07) für die Zufallssequenzen bewegten. Im einzelnen sind die Daten in den Tabellen
7.4-1 und 7.4-2 dargestellt.
7.5 Vorhersage der Sekundärstruktur von tRNA
Es wurden wie beschrieben die Regelwahrscheinlichkeiten einer kontextfreien Grammatik,
die die Struktur von tRNA widergibt, so optimiert, daß die Wahrscheinlichkeit für die Ableitungen der Sequenzen einer gegebenen Menge von tRNAs möglichst groß wird. Mit den
so bestimmen Wahrscheinlichkeiten wurde die jeweils wahrscheinlichste Ableitung für eine
bestimmte Sequenz ermittelt und anhand dieser Regelfolge die entsprechende Sekundärstruktur rekonstruiert“. Es sei ausdrücklich betont, daß in den Optimierungsprozeß zur Festle”
gung der Wahrscheinlichkeiten keinerlei Informationen über die Sekundärstruktur mit eingebracht wurden, sieht man davon ab, daß mit der Grammatik eine bestimmte Anzahl von
Schleifen vorgegeben war. Die zugrundeliegenden Sequenzen wurden aus einer Datenbank
(http://www.uni-bayreuth.de/departments/biochemie/trna/, 13.03.2000) entnommen.
Die zugrundegelegte Grammatik ist in Abb. 7.5-1 gegeben. Trainiert“ wurde diese mit 50
”
Sequenzen (eukaryotischer) tRNA aus Saccharomyces cervisae (mit den Anticodons AAC
(2), AAT, ACG, AGA, AGC, AGT, CAA, CAT (4), CCA (2), CCT, CGA (2), CGT, CTC, CTG,
CTT (2), GAA (4), GCA, GCC, GCT, GTA (2), GTC (2), GTG, GTT, TAA (2), TAC, TAT,
TCT, TGA, TGC, TGG (2), TGT, TTC (2), TTG (2) und TTT. Die Zahlen in Klammern geben jeweils die Anzahl der unterschiedlichen Sequenzen mit dem entsprechenden Anticodon
an.) Die vier wahrscheinlichsten Regelfolgen für die tRNA mit dem Anticodon AGA wurden
ausgewählt und anhand dieser die entsprechenden Sekundärstrukturen rekonstruiert. Dies
ist in Abb. 7.5-1 dargestellt. Die Sekundärstruktur wird im wesentlichen korrekt rekonstruiert, sieht man davon ab, daß das Modell einige Wasserstoffbrücken zuviel liefert (mit a–d)
bezeichnet. Durch die Wasserstoffbrücken a und b erhalten die Anticodon- (im Bild links
oben) und die variable Schleife (rechts oben) gewissermaßen einen gemeinsamen Stamm.
Diese Schleifen, und ebenso die T-Schleife (rechts) sind also im Modell weitgehend korrekt
wider gegeben. Falsch ist jedoch die D-Schleife (links). Ebenso fehlt auch die Wasserstoffbrückenbindung zwischen der ersten (C) und vorletzten (G) Base am Fuß“ der tRNA. Dieses
”
ist jedoch nicht verwunderlich, da durch das Modell keine einzelnen, sondern nur mehrere
aufeinanderfolgende Wasserstoffbrücken dargestellt werden. Es sei angemerkt, daß für das
Modell nur die Grammatik vorgegeben wurde. Die Wahrscheinlichkeiten für deren Regeln
ergaben sich ausschließlich aus dem Optimierungsverfahren; es wurde nicht versucht, die
Wahrscheinlichkeiten von Hand“ so anzupassen, daß bessere Sekundärstrukturen erhalten
”
werden. In Abb. 7.5-3 ist die korrekte Sekundärstruktur dargestellt.
Auf einem PC-kompatiblen Rechner mit Athlon-Prozessor, 1 GHz und 768 MByte Hauptspeicher unter Linux wurden für das Parsen von insgesamt 70 Sequenzen etwa 275 Sekunden
benötigt, während die Zeit für das Optimieren mit 49 dieser oben erwähnten Sequenzen um
die 520 Sekunden betrug.
312
7.5 Sekundärstruktur von tRNA
/* tRNA-Grammatik; beruecksichtigt wird, dass
- Basenpaare mindestens einen Zweierstack bilden muessen
- am Kopf einer Schleife mindestens drei einzelne Basen auftreten muessen
Nicht beruecksichtigt wird, dass
- am Anfang/Ende eines Stacks keine einzelnen Basen auftreten duerfen, die mit einander paaren koennen
*/
S:
Sequenz0; /* Startsymbol und Sequenz; Sequenz ist alles */
/********** auesserer Teil mit "Anfangsbasenpaaren" *******/
Sequenz:
Teilseq1 Teilseq2 Teilseq3 Teilseq4 ;
Teilseq1: Estrang1e Schleife1 | Schleife1 ;
Sequenz0: Estrang0e Schleife0e | Schleife0e Sequenz1e
| Estrang0e Schleife0 Estrang1e | Schleife0; /* nur 1 Schleife! */
Sequenz1: Estrang1 Schleife1 | Schleife1 Estrang1 | Estrang1 Schleife1 Sequenz1 | Estrang1 | Schleife1;
/* Sequenz1 -> evtl. mehrere Schleifen */
Estrang0: Base0 | Base0 Estrang0; /* Estrang ist Einzelstrang */
Estrang0e: Base0e | Base0e Estrang0e; /* Estrang ist Einzelstrang */
Estrang1e: Base1e | Base1e Estrang1e; /* Estrang ist Einzelstrang */
Schleife1: Bp21;
Bp21:
A Bp11 U | U Bp11 A | C Bp11 G | G Bp11 C;
Bp11:
A Bp01 U | U Bp01 A | C Bp01 G | G Bpo1 C;
Bp01:
Bp11 | Sequenz1 Bp21 | Bp21 Sequenz1 | Sequenz1 Bp21 Sequenz1 | Base0 Base0 Estrang0;
Schleife0: Bp20; /* faengt mit mindestens zwei Basenpaaren an */
Bp20:
A Bp10 U | U Bp10 A | C Bp10 G | G Bp10 C;
Bp10:
A Bp00 U | U Bp00 A | C Bp00 G | G Bp00 C;
Bp00:
Bp10 | Sequenz1 Bp20 | Bp20 Sequenz1 | Sequenz1 Bp20 Sequenz1 | Teilseq2 Teilseq3 Teilseq4;
Base0:
A | C | G | U;
Base0e:
A | C | G | U;
Base1e:
A | C | G | U;
/*************** innerer Teil (mit 3 Schleifen) *******/
Teilseq2: Estrang2e Schleife2 | Schleife2 ;
Sequenz2: Estrang2 Schleife2 | Schleife2 Sequenz2 | Estrang2 Schleife2 Sequenz2 | Estrang2 | Schleife2;
Estrang2: Base2 | Base2 Estrang2; /* Estrang ist Einzelstrang */
Estrang2e: Base2e | Base2e Estrang2e; /* Estrang ist Einzelstrang */
Schleife2: Bp22; /* faengt mit mindestens zwei Basenpaaren an */
Bp22:
A Bp12 U | U Bp12 A | C Bp12 G | G Bp12 C;
Bp12:
A Bp02 U | U Bp02 A | C Bp02 G | G Bp02 C;
Bp02:
Bp12 | Sequenz Bp22 | Bp22 Sequenz2 | Sequenz2 Bp22 Sequenz2 | Base2 Base2 Estrang2;
Base2:
A | C | G | U;
Base2e:
A | C | G | U;
Teilseq3: Estrang3e Schleife3 | Schleife3 ;
Sequenz3: Estrang3 Schleife3 | Schleife3 Sequenz3 | Estrang3 Schleife3 Sequenz3 | Estrang3 | Schleife3;
Estrang3: Base3 | Base3 Estrang3; /* Estrang ist Einzelstrang */
Estrang3e: Base3e | Base3e Estrang3e; /* Estrang ist Einzelstrang */
Schleife3: Bp23; /* faengt mit mindestens zwei Basenpaaren an */
Bp23:
A Bp13 U | U Bp13 A | C Bp13 G | G Bp13 C;
Bp13:
A Bp03 U | U Bp03 A | C Bp03 G | G Bp03 C;
Bp03:
Bp13 | Sequenz Bp23 | Bp23 Sequenz3 | Sequenz3 Bp23 Sequenz3 | Base3 Base3 Estrang3;
Base3:
A | C | G | U;
Base3e:
A | C | G | U;
Teilseq4: Estrang4e Schleife4 | Schleife4 | Estrang4e Schleife4 Estrang5e | Schleife4 Estrang5e ;
Sequenz4: Estrang4 Schleife4 | Schleife4 Sequenz4 | Estrang4 Schleife4 Sequenz4 | Estrang4 | Schleife4;
Estrang4: Base4 | Base4 Estrang4; /* Estrang ist Einzelstrang */
Estrang4e: Base4e | Base4e Estrang4e; /* Estrang ist Einzelstrang */
Estrang5e: Base5e | Base5e Estrang5e; /* Estrang ist Einzelstrang */
Schleife4: Bp24; /* faengt mit mindestens zwei Basenpaaren an */
Bp24:
A Bp14 U | U Bp14 A | C Bp14 G | G Bp14 C;
Bp14:
A Bp04 U | U Bp04 A | C Bp04 G | G Bp04 C;
Bp04:
Bp14 | Sequenz Bp24 | Bp24 Sequenz4 | Sequenz4 Bp24 Sequenz4 | Base4 Base4 Estrang4;
Base4:
A | C | G | U;
Base4e:
A | C | G | U;
Base5e:
A | C | G | U;
Abb. 7.5-1: Grammatik, mit der eine tRNA modelliert wird, die drei Schleifen aufweist. Es wird
vorausgesetzt, daß Basenpaare nicht einzeln auftreten und der Kopf einer Schleife mindestens drei
freie Basen enthält. Zulässig ist hierbei auch, daß Basen in unmittelbarer Nachbarschaft zu einem
Basenpaar, die paaren könnten, ungepaart bleiben. Nicht berücksichtigt sind modfizierte Basen, wie
z.B. Pseudouracil. Diese werden durch die ihnen am ähnlichsten der vier Basen Adenin, Cytosin,
Guanin und Uracil modelliert.
313
7 Validation und Beispiele
Iso
p
en
te
ny
I A
A
A
b
d
U
U
ro
yd dro
Dih Dihy MeO
ro
Dih
yd
U
U
U
G
G C C
Ac
A
G G
A Ψ
U
A
C
G
OMe
l
G
U
A
U
U
U
G
G
DiM A A
G
e
C
A A
U
C
G
C
G C c C
G
U
U
G c G
T Ψ
a C Me
U U
C
G C A G G
G G
G
C G U C C
G
A
U G
A
U
C
G
A
U
A
U
C
G
U
G
G
5’
C
G 3’
Abb. 7.5-2: Rekonstruktion der Sekundärstruktur einer (serinspezifischen) tRNA aus Saccharomyces cervisae. Zugrundegelegt wurde die wahrscheinlichste Regelfolge. Bei den mit der zweit-,
dritt- bzw. viertwahrscheinlichsten Regelfolge erhaltenen Strukturen fehlen die mit a, die mit b
bezeichnete Wasserstoffbrückbindung bzw. beide Wasserstoffbrückenbindungen. Die mit c und d
bezeichneten Wasserstoffbrückenbindungen fehlen in Wirklichkeit. Die Bezeichnungen neben den
Basen bezeichnen die tatsächlich auftretenden modifizierten Basen (s.a. Abb. 3.4-1), wie Thymin
(T), Inosin (I) und Pseudouracil (Ψ) bzw. entsprechende Substituenten (Me bezeichnet eine Methylgruppe, OMe eine Methylgruppe, die an ein Sauerstoffatom gebunden ist und Ac einen Acetylrest,
während Dihydro für Dihydrouracil steht). Weitere Einzelheiten sind im Text beschrieben.
7.6 Beispiel für die Anwendungsmöglichkeit einer Parallelgrammatik
Während die bisherigen Beispiele die Anwendungsmöglichkeiten regulärer bzw. kontextfreier
stochastischer Grammatiken illustrierten, stellt das Beispiel in diesem Abschnitt einen Fall
dar, wo eine Parallelgrammatik notwendig ist. Es werden zwei Klassen von Zufallssequenzen
der vier Basen A, C, G und U der Form x1 x2 . . . x10 betrachtet. Bei der ersten Klasse sind alle
(zwanzig) Positionen zufällig gewählt, bei der zweiten Klasse sind die ersten zehn Positionen
zufällig gewählt, während die folgenden zehn komplementär zu diesen sind. Das heißt x1 und
x11 , x2 und x12 , usw. bis x10 und x20 sind jeweils zu einander komplementär. (Anm.: Ob
diese Paarungsmöglichkeiten physikalisch tatsächlich realisierbar sind, soll außer Betracht
bleiben, da dies für das folgende keine Rolle spielt. Im übrigen wäre es ohne weiteres möglich
durch Einfügen weiter Basen vor Position 1, zwischen Position 5 und 6 und nach Position
10 oder Verändern der Länge der beiden korrespondierenden Teilbereiche zu Sequenzen zu
gelangen, die im biologischen Sinne realistischer sind.) Diesen beiden Sequenzklassen ent314
7.6 Beispiel mit Parallelgrammatik
Isope
nten
yl
U
o
U
U A
A
U
A
U
A
DiMe
G G G C U
x
G
C C C G U
C C G
U
G
G
U
D
G A
U
G
z
y
z
MeO G
U U
A
G G C
G
ih
yd
ro
C
Ac
ro
yd
ih
D
dr
Dihy
Ψ A G
e
Ψ
z
I
A
OM
A A
G
U
A
C
G
A
U
A
U
C
G
C Me
T Ψ
C
G C A G G
x
G
C G U C C
A
U G
U
G
G
5’
x
C
G 3’
Abb. 7.5-3: Die tatsächliche Sekundärstruktur der in Abb. 7.5-1 rekonstruierten serinspezifischen
tRNA aus Saccharomyces cervisae (nach Jakubke/Jeschkeit 1975). Symbole für die Substituenten der modifizierten Basen sind Me für Methylgruppen, OMe für Methylgruppen, die an ein Sauerstoffatom gebunden sind und Ac für Acetylreste, während Dihydro auf Dihydrouracil verweist. Die
mit x bezeichneten Wasserstoffbrückenbindungen werden nicht durch das Modell wiedergegeben,
während die drei mit y markierten, senkrecht gezeichneten G-C-Bindungen falsch wiedergegeben
sind. Die hieran beteiligten Basen sind im Modell an den zwei in der D-Schleife (links) und an den
drei unterhalb der Anticodon- und variablen Schleife mit z bezeichneten (waagrechten) Bindungen
beteiligt. Darüber treten im Modell in der Anticodonschleife (links oben) zwei weitere zusätzliche
Wasserstoffbrücken (ebenfalls mt z markiert) auf.
sprechend wurden zwei Grammatiken definiert, die im folgenden jeweils anhand ihrer Regeln
(auszugsweise) angegeben sind.
Für die erste Klasse ist dies eine einfache reguläre Grammatik: Für die zweite Klasse wird
eine Parallelgrammatik verwendet:
Die Grammatiken wurden jeweils mit 50 Sequenzen der ihr entsprechenden Klasse, sowie einer Beimischung“ von 16 weiteren Sequenzen trainiert. Diese beigemischten Sequenzen be”
standen aus jeweils zwei Blöcken von jeweils zehn gleichen Basen (also AAAAAAAAAAAAAAA
AAAAA, AAAAAAAAAACCCCCCCCCC, . . . ). Hierdurch wurden für alle Positionen alle 16
möglichen Komibinationen von Basen abgedeckt, womit sichergestellt wurde, daß tatsächlich
jede der Regeln der Parallelgrammatik tatsächlich auch benötigt wurde und somit eine von 0
verschiedene Wahrscheinlichkeit zugewiesen bekam. Anderfalls hätten die Regeln, die nicht
einem Basenpaar entsprechen, sowie die Regeln, die zwar einem Basenpaar entsprechen, das
315
7 Validation und Beispiele
S:
P1:
B1:
P2:
B2:
P3:
B3:
P1; /* P:
B1 P2;
A | C | G
B2 P3;
A | C | G
B3 P4;
A | C | G
.
.
.
P19:
B19:
P20:
B20:
B19
A |
B20
A |
Position, B: Base */
| U ;
| U ;
| U ;
P20;
C | G | U ;
;
C | G | U ;
Abb. 7.6-1: Reguläre Grammatik zur Beschreibung (der im Text beschriebenen) zufälligen unkor”
relierten“ Sequenzen.
jedoch nicht in der Menge der Trainingssequenzen enthalten war, die Wahrscheinlichkeit 0
erhalten. Dies hätte zur Folge gehabt, daß Sequenzen mit bereits einer fehlerhaften Base (bei
sonst korrelierten“ Positionen) oder einem Basenpaar, das nicht an entsprechender Position
”
in einer Sequenz der Trainingsmenge enthalten gewesen wäre, eine Gesamtwahrscheinlichkeit
von 0 zugewiesen bekommen hätte. Ebenso hätten alle unkorrelierten“ Sequenzen gleicher”
maßen die Wahrscheinlichkeit 0 erhalten, unabhängig davon, ob alle zehn Basenpaare oder
nur ein einziges nicht mit einander korrespondieren. Dies ist jedoch unerwünscht; vielmehr
sollen die mit der stochastischen (Parallel-)Grammatik erhaltenen Wahrscheinlichkeiten ein
Maß dafür sein, wie gut eine geparste Sequenz dieser Grammatik entspricht. Die erhaltenen
Ergebnisse sind in Tabellen 7.6-1 und 7.6-2 dargestellt. Es werden für jede Grammatik jeS:
AL1, AR1:
AL2, AR2:
AL3, AR3:
AL10, AR10:
AL1
A
| C
| G
| U
A
| C
| G
| U
A
| C
| G
| U
.
.
.
AR1;
AL2,
AL2,
AL2,
AL2,
AL3,
AL3,
AL3,
AL3,
AL4,
AL4,
AL4,
AL4,
A
| C
| G
| U
,
,
,
,
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
|
|
|
|
AR2
AR2
AR2
AR2
AR3
AR3
AR3
AR3
AR4
AR4
AR4
AR4
A
C
G
U
,
,
,
,
|
|
|
|
|
|
|
|
|
|
|
|
C
C
C
C
A
C
G
U
A
C
G
U
A
C
G
U
|
|
|
|
A
C
G
U
AL2,
AL2,
AL2,
AL2,
AL3,
AL3,
AL3,
AL3,
AL4,
AL4,
AL4,
AL4,
C
C
C
C
C
C
C
C
C
C
C
C
AR2
AR2
AR2
AR2
AR3
AR3
AR3
AR3
AR4
AR4
AR4
AR4
|
|
|
|
|
|
|
|
|
|
|
|
,
,
,
,
|
|
|
|
A
C
G
U
U
U
U
U ;
G
G
G
G
,
,
,
,
A
C
G
U
A
C
G
U
A
C
G
U
AL2,
AL2,
AL2,
AL2,
AL3,
AL3,
AL3,
AL3,
AL4,
AL4,
AL4,
AL4,
G
G
G
G
G
G
G
G
G
G
G
G
AR2
AR2
AR2
AR2
AR3
AR3
AR3
AR3
AR4
AR4
AR4
AR4
|
|
|
|
|
|
|
|
|
|
|
|
A
C
G
U
A
C
G
U
A
C
G
U
AL2,
AL2,
AL2,
AL2,
AL3,
AL3,
AL3,
AL3,
AL4,
AL4,
AL4,
AL4,
U
U
U
U
U
U
U
U
U
U
U
U
AR2
AR2
AR2
AR2 ;
AR3
AR3
AR3
AR3 ;
AR4
AR4
AR4
AR4 ;
Abb. 7.6-2: Reguläre Grammatik zur Beschreibung (der im Text beschriebenen) zufälligen unkor”
relierten“ Sequenzen.
316
7.7 Sekundärstruktur von tRNA mit Parallelgrammatik
Sequenz
u01
u02
u03
u04
u05
u06
u07
u08
u09
u10
ln q
-21,488
-22,359
-17,361
-19,391
-21,940
-20,458
-25,716
-19,651
-23,198
-19,642
Sequenz
u51
u52
u53
u54
u55
u56
u57
u58
u59
u60
ln q
-21,321
-18,681
-23,874
-14,761
-18,449
-21,146
-22,372
-17,696
-21,999
-16,054
Sequenz
p51
p52
p53
p54
p55
p56
p57
p58
p59
p60
ln q
-20,407
-20,581
-21,330
-17,038
-20,298
-23,020
-25,985
-15,951
-19,069
-17,738
Tab. 7.6-1: Die Logarithmen der Wahrscheinlichkeiten q der Ableitungen, die sich mit der oben
angegebenen regulären Grammatik ergeben. Diese Grammatik wurde mit den unkorrelierten Se”
quenzen u01 bis u50 trainiert. u51 bis u60 sind ebenfalls unkorrelierte Sequenzen, die aber nicht
zum Trainigsmenge gehörten, während p51 bis p60 korrelierte Sequenzen sind.
weils drei verschiedene Arten von Sequenzen betrachtet: ein Teil der Sequenzen, mit denen die
entsprechende Grammatik trainiert wurde, Sequenzen aus der gleichen Klasse wie die Trainingssequenzen, die jedoch nicht zum Training verwendt wurden und schließlich Sequenzen
aus der jeweils anderen Klasse. Mit der regulären Grammatik werden erwartungsgemäß keine
Unterschiede zwischen den einzelnen Sequenzen festgestellt, während die Parallelgrammatik
eine klare Unterscheidung zwischen korrelierten und unkorrelierten Sequenzen ermöglicht,
wobei erstere eine deutlich niedrigere Wahrscheinlichkeit erhalten als letztere. Auch ist kein
Unterschied zwischen den Sequenzen, die in der Trainingsmenge enthalten und jenen, die dort
nicht enthalten waren, ersichtlich. Auffallend ist jedoch die unkorrelierte Sequenz u58, der
eine extrem niedrige Wahrscheinlichkeit zukommt. Eine nähere Betrachtung dieser Sequenz
zeigt jedoch, daß deren Basenfolge AAAUAAAAAAUUCAUUUGUU ist, es sich also tatsächlich
um eine zufälligerweise fast korrelierte Sequenz handelt (nur die Positionen 3 (A) und 13 (C)
und 8 (A) und 18 (G) weisen nicht mit einander paarende Basen auf).
Sequenz
p01
p02
p03
p04
p05
p06
p07
p08
p09
p10
ln q
-13,166
-15,035
- 9,307
-10,932
-12,712
-11,226
-14,281
-10,427
-11,263
-11,124
Sequenz
p51
p52
p53
p54
p55
p56
p57
p58
p59
p60
ln q
-12,414
-11,519
-13,751
- 9,583
-10,969
-13,988
-14,924
- 8,806
-11,625
-11,356
Sequenz
u51
u52
u53
u54
u55
u56
u57
u58
u59
u60
ln q
-24,906
-18,973
-32,961
-17,462
-21,818
-28,254
-31,645
-15,799
-29,175
-18,031
Tab. 7.6-2: Die Logarithmen der Wahrscheinlichkeiten q der Ableitungen, die sich mit der oben
angegebenen regulären Grammatik ergeben. Diese Grammatik wurde mit den korrelierten Se”
quenzen p01 bis p50 trainiert. p51 bis p60 sind ebenfalls unkorrelierte Sequenzen, die aber nicht
zum Trainigsmenge gehörten, während u51 bis pu60 korrelierte Sequenzen sind.
317
7 Validation und Beispiele
7.7 Sekundärstrukturvorhersage von tRNA mit einer Parallelgrammatik
In diesem Abschnitt soll die Anwendung einer Parallelgrammatik auf ein biologisches Beispiel demonstriert werden. Das Ziel bestand in der Rekonstruktion der Sekundärstruktur
einer tRNA unter Einbeziehung der Wechselwirkung zwischen D- und TΨC-Schleife. Hierfür
wurde wie in Abschnitt 7.5 verfahren. Die verwendete Grammatik ist in Abb. 7.7-1 angegeben. Hierbei bilden zwei aufeinander folgende Basen der einen Schleife Wasserstoffbrückenbindungen mit ebenfalls zwei aufeinander folgenden Basen der anderen Schleife, wobei es sich
nicht um die üblichen standardmäßigen Watson/Crick-Basenpaarungen handelt. Weiterhin ist erwähnenswert, daß, wird die Laufrichtung der beiden Stränge betrachtet, diese sich
parallel (und nicht wie sonst üblich antiparallel) an einander lagern. Nicht zu modellieren
versucht wurden die Wechselwirkungen zwischen einzelnen“ Basen, also Wechselwirkungen
”
zwischen zwei Strangbereichen, wo nicht jeweils zwei oder mehr auf einanderfolgende Basen
des einen Strangbereiches mit einer entsprechenden Anzahl ebenfalls auf einander folgender
Basen des anderen Strangs mit einander paaren, sondern an der Wechselwirkung dieser zwei
Strangbereiche gerade mal jeweils eine Base beteiligt ist. Da mit der in Abb. 7.7-1 gegebenen
Parallelgrammatik nur Korrelationen der Länge 2 und darüber hinaus Nichtstandardbasenpaarungen zugelassen sind, ergibt sich eine sehr große Anzahl möglicher Korrelationen. Aufgrund der Architektur des Algorithmus bzw. dessen Implementierung, nämlich der relativ
kleinen (in 6.7-9 definierten) Kollisionszahl und der (mit 6.7-10) definierten Reihenfolge der
Korrelationen ist nicht zu erwarten, daß die für den vorliegenden Fall interessierenden Korrelationen überhaupt erfaßt werden (was sich auch durch entsprechende Vorversuche gezeigt
hat). Aus diesem Grund wurde das Programm für die in diesem Abschnitt beschriebenen
Versuche modifiziert, indem die Bedeutung der Korrelationen nicht entsprechend Definition 6.7-10 festgelegt wurde, sondern diese aufgrund ihrer Nähe zu den Positionen 17 und
54 der Sequenz ausgewählt wurden. (Genauer gesagt: je kleiner das Abstandsquadrat“
”
(i − 17)2 + (j − 54)2 war, als desto kleiner“ (im Sinne der Definiton 6.7-10) wurde die
”
Korrelation angesehen. Position i ist die Position, wo der linke Teil der Korrelation und j,
wo deren rechter Teil beginnt. Die Positionen 17 und 54 wurden entsprechend der bekannten
Sekundärstruktur (wie z.B. bei Steger (2000) angegeben) festgesetzt. Prinzipiell wären
diese Positionen entweder mit statistischen Verfahren oder durch Vergleich der Ergebnisse
mehrerer Programmläufe mit unterschiedlichen dieser Positionen, die nach Optimierung ja
auch die hierbei ermittelte Gesamtwahrscheinlichkeit liefern, zu erhalten. Da im vorliegenden
Falle jedoch nur die Anwendbarkeit des Verfahrens demonstriert werden soll, wurde hierauf
verzichtet. Trainiert“ wurde die Parallelgrammatik schließlich mit 49 tRNA-Sequenzen aus
”
Saccharomyces cervisae. Es handelte sich um dieselben Sequenzen, die in Abschnitt 7.5
angegeben sind, wobei allerdings eine Sequenz mit dem Anticodon GAA weggelassen wurde. Diese wurde anschließend rekonstruiert indem mit den bei der Optimierung erhaltenen
Regelwahrscheinlichkeiten die wahrscheinlichsten Regelfolgen generiert wurden, mit denen
diese Sequenz abgeleitet werden kann. Das erhaltene Ergebnis im Vergleich zur tatsächlichen
Sekundärstruktur ist in Abb. 7.7-2 dargestellt.
Es ist festzustellen, daß die Sekundärstruktur der modellierten tRNA in ihren wesntlichen
Elementen korrekt wieder gegeben ist. Eine exakte Übereinstimmung der erhaltenen mit der
tatsächlichen Sekundärstruktur ist nicht unbedingt zu erwarten. Insbesondere spiegeln die
bei der Optimierung für die Parallelregeln erhaltenen Wahrscheinlichkeiten die Paarungswahrscheinlichkeiten von Basen innerhalb einer Gesamtheit von tRNAs wider und nicht die
Verhältnisse in einer einzelnen tRNA. (Den Regeln AL, AR: G BL, U BR und BL, BR: G, U
kam jeweils die höchste Wahrscheinlichkeit zu.) Hinzu kommt, daß in der vorliegenden Versi-
318
7.7 Sekundärstruktur von tRNA mit Parallelgrammatik
/* tRNA-Grammatik; beruecksichtigt wird, dass
- Basenpaare mindestens einen Zweierstack bilden muessen
- am Kopf einer Schleife mindestens drei einzelne Basen auftreten muessen
- zwischen 1. und 3. Schleife parallele(!) Paarung ueber 2 Basen auftreten kann
Nicht beruecksichtigt wird, dass
- am Anfang/Ende eines Stacks keine einzelnen Basen auftreten duerfen, die mit einander paaren koennen
*/
S:
Sequenz0; /* Startsymbol und Sequenz; Sequenz ist alles */
/********** auesserer Teil mit "Anfangsbasenpaaren" *******/
Sequenz:
Teilseq1 Teilseq2 Teilseq3 Teilseq4 ;
.
.
.
→ Abb. 7.5-1
.
.
.
/*************** innerer Teil (mit 3 Schleifen) *******/
Teilseq2: Estrang2e Schleife2 | Schleife2 ;
Sequenz2: Estrang2 Schleife2 | Schleife2 Sequenz2 | Estrang2 Schleife2 Sequenz2 | Estrang2 | Schleife2;
Estrang2: Base2 | Base2 Estrang2; /* Estrang ist Einzelstrang */
Estrang2e: Base2e | Base2e Estrang2e; /* Estrang ist Einzelstrang */
Schleife2: Bp22; /* faengt mit mindestens zwei Basenpaaren an */
Bp22:
A Bp12 U | U Bp12 A | C Bp12 G | G Bp12 C;
Bp12:
A Bp02 U | U Bp02 A | C Bp02 G | G Bp02 C;
Bp02:
Bp12 | Sequenz Bp22 | Bp22 Sequenz2 | Sequenz2 Bp22 Sequenz2 | Base2 Base2 Estrang2
| EstrangL ; /** EstrangL ist Einzelstrang mit L-Symbol **/
EstrangL: AL Estrang2 | Estrang2 AL Estrang2 | Estrang2 AL; /** **/
Base2:
A | C | G | U;
Base2e:
A | C | G | U;
.
.
.
→ Abb. 7.5-1
.
.
.
Teilseq4:
Sequenz4:
Estrang4:
Estrang4e:
Estrang5e:
Schleife4:
Bp24:
Bp14:
Bp04:
Estrang4e Schleife4 | Schleife4 | Estrang4e Schleife4 Estrang5e | Schleife4 Estrang5e ;
Estrang4 Schleife4 | Schleife4 Sequenz4 | Estrang4 Schleife4 Sequenz4 | Estrang4 | Schleife4;
Base4 | Base4 Estrang4; /* Estrang ist Einzelstrang */
Base4e | Base4e Estrang4e; /* Estrang ist Einzelstrang */
Base5e | Base5e Estrang5e; /* Estrang ist Einzelstrang */
Bp24; /* faengt mit mindestens zwei Basenpaaren an */
A Bp14 U | U Bp14 A | C Bp14 G | G Bp14 C;
A Bp04 U | U Bp04 A | C Bp04 G | G Bp04 C;
Bp14 | Sequenz Bp24 | Bp24 Sequenz4 | Sequenz4 Bp24 Sequenz4 | Base4 Base4 Estrang4
| EstrangR ; /** EstrangR ist Einzelstrang mit R-Symbol **/
EstrangR: AR Estrang4 | Estrang4 AR Estrang4 | Estrang4 AR; /** **/
Base4:
A | C | G | U;
Base4e:
A | C | G | U;
Base5e:
A | C | G | U;
/*************** Die Parallelregeln: *******/
AL, AR:
A BL, A BR | A BL, C BR | A BL, G BR | A BL, U BR
| C BL, A BR | C BL, C BR | C BL, G BR | C BL, U BR
| G BL, A BR | G BL, C BR | G BL, G BR | G BL, U BR
| U BL, A BR | U BL, C BR | U BL, G BR | U BL, U BR ;
BL, BR:
A , A | A , C | A , G | A , U
| C , A | C , C | C , G | C , U
| G , A | G , C | G , G | G , U
| U , A | U , C | U , G | U , U ;
Abb. 7.7-1: Grammatik, mit der eine tRNA modelliert wird, die drei Schleifen aufweist und wo die
erste (die D-) und die dritte (die TΨC-) Schleife miteinander paaren können. Diese Grammatik
entspricht im wesentlichen der in Abb. 7.5.-1 angegebenen, so daß hier Teile der Grammatik platzgründehalber weggelassen werden konnten. Es wurden (insgesamt acht) Regeln mit den Symbolen
EstrangL und EstrangR auf der linken bzw. rechten Seite eingefügt. Hierdurch sind im jeweiligen Schleifenkopf Einzelstränge mit den Parallelsymbolen AL bzw. AR möglich. Die entsprechenden
(insgesamt zweiunddreißig) Parallelregeln sind am Ende eingefügt, wobei u.a. auch die Nichtstandardbasenpaarung zwischen Cytosin und Guanin zugelassen ist.
319
7 Validation und Beispiele
M
35
e
G
A
A
GH
U
x
A
C
Me
c
UΨ
A
C 40Me
30 G
A
20
G
G
G A
C
e
G
25
G
b
x
G A G C
Me
C
DiM
U
G 45
G G
A
U
Ψ
Me
Di
hy
dr
o
T
C e
U U 55
M 50
U
C
C U G U G
C U C G
ydro
h
i
U
10
D
G
A
G A
15
15
U
G
A
C
A
C
A M
x
C U
e
A 65
U
a
U
5
A
G
x
x
x
G
5’
60
U
U
C 70
G
C
G
A
x
C
3’
Abb. 7.7-2: Vergleich der mit einer Parallelgrammatik rekonstruierten Sekundärstruktur einer phenylalaninspezifischen tRNA aus Saccharomyces cervisae mit der tatsächlichen Sekundärstrukur
(nach Steger 2000). Die mit x bezeichneten Wasserstoffbrückenbindungen werden nicht durch das
Modell wiedergegeben obwohl sie in Wirklichkeit vorhanden sind. Die in der Abbildung gezeigte
Wechselwirkung zwischen D- und TΨC-Schleife ist die rekonstruierte, tatsächlich jedoch besteht jeweils eine Wasserstoffbrückenbindung ziwschen den Positionen 18 und 55 sowie zwischen 19 und 56.
Die mit a bezeichnete Wasserstoffbrückenbindung wird mit der zweit- und viertwahrscheinlichsten
Regelfolge nicht rekonstruiert, während die mit b bezeichnete bei der dritt- und die mit d bezeichnete bei der viertwahrscheinlichsten Regelfolge fehlt. Für die Rekonstruktion wurde die Sequenz
aus der Datenbank (http://www.uni-bayreuth.de/departments/biochemie/trna/, 13.03.2000)
mit unmodifizierten Basen verwendet. Die Symbole neben den Basen bezeichnen die tatsächlich
auftretenden Basen (wie Thymin (T) und Pseudouracil (Ψ)) bzw. deren Modifikationen (Me steht
für eine Methylgruppe, DiMe für zwei und Dihydro verweist auf Dihydrouracil). Das Symbol H steht
laut obiger Datenbank für ein auf unbekannte Weise modifiziertes Adenosin. Weitere Wechselwirkungen bestehen zwischen den Positionen 8 und 14, 9 und 23, 10 und 45, 15 und 48 sowie 54 und
58. Es wurde nicht versucht diese zu modellieren; in der Abbildung sind sie auch nicht gezeigt. Für
weitere Einzelheiten sei auf den Text verwiesen.
on die Parallelregeln kein Gedächtnis“ haben, d.h. die Optimierung der Wahrscheinlichkei”
ten für die Regeln BL, BR: . . . erfolgt unabhängig davon, welche der Regeln AL, AR: . . .
voranging. Das einzige, was mit den Parallelregeln gefordert wurde ist, daß genau zwei aufeinander folgende Basen mit zwei anderen ebenalls aufeinander folgenden zu paaren haben.
Anzumerken ist noch, daß mit der Parallelgrammatik sich für die in Abschnitt 7.5 betrachtete Sequenz dieselbe Sekundärstruktur wie in Abb. 7.5-2 ergibt, insbesondere sich also auch
320
7.7 Sekundärstruktur von tRNA mit Parallelgrammatik
keine Wechselwirkungen zwischen der D- und TΨC-Schleife zeigen.
Auf einem PC-kompatiblen Rechner mit Athlon-Prozessor, 1 GHz und 768 MByte Hauptspeicher unter Linux wurden für das Parsen von insgesamt 70 Sequenzen etwa 300 Sekunden
benötigt, während die Zeit für das Optimieren mit 49 dieser oben erwähnten Sequenzen um
die 550 Sekunden betrug. Anzumerken ist, daß meinen bisherigen Erfahrungen nach diese
Programmlaufzeiten im wesentlichen mit der Taktfrequenz des entsprechenden Prozessors
skalieren.
321
7 Validation und Beispiele
322
Anhang
In diesem Anhang wird auf die tatsächliche Implementation des Erweiteren Earleyschen
Algorithmus und der in den Abschnitten 5.13 und 7.2 beschrieben Optimierungsverfahren
und die Benutzung der entsprechenden Programme sowie einiger Hilfsprogramme eingegangen. Der Algorithmus bzw. die Verfahren wurden unter Linux mit der Programmiersprache C implementiert und dem Standard-GNU-Compiler kompiliert. Die entsprechenden
Programme wurden üblicherweise auf PC-kompatiblen Rechnern mit Pentium-Prozessoren
eingesetzt, erwiesen sich jedoch auch (nach entsprechender Neukompilation) auf einem DECRechner mit Alpha-Prozessor als lauffähig. Im Falle des Earleyschen Algorithmus wurde
das Laufzeitverhalten und der Speicherplatzbedarf des entsprechenden Programmes untersucht; wie in Abschnitt 7.1 gezeigt entsprachen beide dem was aufgrund der Komplexität
des Algorithmus zu erwarten war. Laufzeiten der einzelnen Programme (und Details zu
den benutzten Rechnern) sind bereits in Kapitel 7 bei den einzelnen Anwendungsfällen
angegeben. Alle Programme liegen gewissermassen als Beta-Version vor und sind bei mir
([email protected]) auf Anfrage erhältlich.
Im folgenden wird die Verwendung der einzelnen Programme kurz beschrieben. Hierbei hat
die Eingabe der in Schreibmaschinentype gegebenen Befehlsanteile exakt wie angegeben zu
erfolgen, während die in kursiv bezeichneten Namen durch tatsächliche Namen zu ersetzen
sind. Mit eckigen Klammern ( [“ und ]“) sind optionale Bestandteile bezeichnet, die nicht
”
”
erforderlich sind. Punkte ( . . .“) stehen für mögliche Wiederholugen, also eine beliebige An”
zahl von Argumenten. Grundsätzlich können alle Programme ohne Argumente aufgerufen
werden; sie liefern dann einen kurzen Hinweis bezüglich ihrer richtigen Verwendung.
Das Programm toke
Dieses Programm dient zur Aufbereitung beliebiger Zeichensequenzen für das Programm
parse (s.u.), indem Zeichenfolgenfolgen durch (hier als Symbole“ bezeichnete) andere,
”
durch Zwischenraum von einander getrennte Zeichen(folgen) ersetzt werden.
Verwendung:
toke grammatik seqfile1 . . . seqfile n
Hierbei ist grammatik der Name (üblicherweise mit der Endung .tgm) einer Datei, die eine
Grammatik in der Form dieses Beispiels enthält:
/* Beispiel fuer eine Token-Grammatik: */
2A = "aab"
3B = "bab" "abb"
C = "cc"
Hierbei können sowohl die links des Gleichheitszeichens stehenden Symbole als auch die
rechts davon stehenden (in Anführungszeichen eingeschlossenen) Zeichenfolgen jeweils bis
zu 15 Zeichen lang sein, wobei die Zeichenfolgen auch u. a. blanks und carriage returns
umfassen können. Es wird die Konvention von C verwendet, also z.B. steht \n für newline und
\\ für den backslash. Kommentare werden durch /* und */ begrenzt. Um Zeichenfolgen zu
entfernen, die keinem Symbol entsprechen (z. B. blank oder newline existiert das reservierte
Terminalsymbol Epsilon, also würde die Regel Epsilon = "" "\n" dazu führen, dass blank
und newline in der Eingabedatei erkannt, aber nicht ausgegeben würden.
323
Anhang
seqfile1 usw. sind die Namen der Eingabedateien, die die umzuwandelnden Zeichensequenzen
enthalten. Deren Anzahl ist beliebig.
Für jede dieser Eingabedateien erzeugt das Programm eine Datei gleichen Namens, jedoch
mit der Endung .tok.
Mehrdeutigkeiten führen zu einer Fehlermeldung und Abbruch der Verarbeitung.
Enthielte beispielsweise die Eingabedatei die Zeichenfolge bababbccbabaab so würde (mit
obiger Grammatik) die entsprechende Ausgabedatei die Symbolfolge 3B 3B C 3B 2A enthalten.
Das Programm toke ist einerseits dadurch motiviert, Sequenzen unterschiedlicher Herkunft
und Notation leicht auf eine einheitliche Form bringen zu können und andererseits durch das
Einfügen von Zwischenräumen zwischen die von toke ausgegebenen Symbole auch Symbole,
die mit mehr als einem Buchstaben oder einer Ziffer dargestellt werden, einer Bearbeitung
durch das Programm parse zugänglich zu machen.
Das Programm parse
Dieses setzt den Erweiterten Earleyschen Algorithmus um. Aus einer oder mehreren Folgen
von durch Zwischenraum getrennten Symbolen (die jeweils bis zu 15 Zeichen lang sein dürfen)
wird eine entsprechende Anzahl von Parse-Tabellen erzeugt.
parse [grammatik seqfile1 . . . seqfile n]
Hierbei ist grammatik der (üblicherweise auf .grm endende Name der Datei, die die Grammatik enthält. Hierbei wird die Regel A→B1B2 . . . Bk als A: B1 B2 . . . Bk: geschrieben,
wobei die einzelnen Symbole B1, B2 usw. durch einen Zwischenraum (oder auch mehrere) zu
trennen sind. Für mehrere Regeln mit gleicher linker Seite gibt es eine abkürzende Schreibweise, wo die unterschiedlichen rechten Seiten durch einen senkrechten Strich | getrennt
werden. Zum Beispiel würde A: B | C; für die Regeln A→B und A→C stehen. Symbolpaare bei Parallelregeln werden durch ein Komma getrennt, AL, AR: BL, BR; stünde also
für die Parallelregel (AL , AR )→(BL , BR ). Kommentare werden wiederum durch /* und */
begrenzt und dürfen überall dort stehen, wo ein blank steht.
seqfile1 usw. sind die Namen der Eingabedateien, die die zu parsenden Sequenzen enthalten.
Diese Sequenzen bestehen aus einer Folge von Symbolen, die jeweils durch einen Zwischenraum getrennt sind, wobei ein Symbol bis zu 15 Zeichen lang sein darf. Die Anzahl der
Eingabedateien ist beliebig.
Für jede Eingabedatei wird eine Ausgabedatei gleichen Namens mit der Endung .tab erzeugt. Weiterhin wird eine Datei mit dem gleichen Namen wie grammatik, jedoch mit der
Endung .sum erzeugt. Diese enthält Informationen über die Zusammengehörigkeit von Regeln, die bei der Optimierung benötigt werden.
Ein Aufruf von parse ohne Argumente liefert einen Hinweis zur korrekten Benutzung des
Programms.
324
Anhang
Die Programme opt, genopt und baumwelch
Mit diesen Programmen können Grammatiken trainiert werden, d.h. den einzelnen Regeln
einer Grammatik Wahrscheinlichkeiten so zugewiesen werden, daß die Summe der Wahrscheinlichkeiten für alle Ableitungen der einbezogenen Sequenzen ein (lokales) Maximum
annimmt. Weiterhin liefern die Programme eine (vorgebbare) Anzahl der wahrscheinlichsten
Ableitungen, um die betrachteten Sequenzen zu erhalten.
Verwendung:
opt|genopt|baumwelch [[-d] [-mn] sumfile tabfile1 . . . tabfile n]
opt|genopt|baumwelch [-s [-mn] startfile sumfile tabfile1 . . . tabfile n]
opt|genopt|baumwelch [-p [-mn] startfile tabfile1 . . . tabfile n]
Jedes der drei Programme opt, genopt und baumwelch kann in drei Varianten wie unten
beschrieben verwendet werden. Die Funktion der drei Programme ist identisch, sie unterscheiden sich jedoch im zugrunde gelegten Optimierungsalgorithmus. Bei opt handelt es sich
um den Simplex-Algorithmus nach Nelder und Mead (1964/65) (vgl. Abschnitt 5.13),
bei genopt um einen genetische Algorithmus (vgl. Abschnitt 7.2) und bei baumwelch um
eine Adaption des Baum/Welch-Verfahrens (vgl. Abschnitt 7.2). Letzteres erfordert Zykelfreiheit des mit parse erzeugten Hypergraphens (Hn , hn ), was das Programm baumwelch
überprüft (und wo es dann widrigenfalls abbricht).
sumfile steht für die Datei (deren Namen üblicherweise auf .sum endet), die die Informationen über die Zusammengehörigkeit von Regeln enthält. ( Zusammengehörende Regeln“
”
weisen auf ihrer linken Seite das gleiche Nichtterminalsymbol auf und die Summe der ihren
zugeordneten Wahrscheinlichkeiten darf 1 nicht übersteigen.)
startfile ist der Name der Datei, die eine Folge von Fließkommazahlen enthält. Anzahl und
Reihenfolge dieser Zahlen müssen denen der Regeln der zugrunde gelegten Grammatik entsprechen, da aus jeder Zahl eine Startwahrscheinlichkeit“ für die ihr entsprechende Regel
”
erzeugt wird. Diese Startwahrscheinlichkeiten stellen die Anfangswerte für die Optimierung
dar, wodurch es möglich ist, auf die Optimierung Einfluß zu nehmen und evtl. weitere Optima aufzufinden. Die Startwahrscheinlichkeit, die einer Regel zugeordnet wird, ergibt sich als
Quotient der entsprechenden Fließkommazahl und der Summe aller Fließkommazahlen der
entsprechenden Gruppe der zusamemngehörenden Regeln. Diese Fließkommazahlen können
also als Gewichtungen der ihr entsprechenden Regeln aufgefaßt werden. Jeder der Fließkommazahlen in der Datei ist durch ein vorangehendes Prozentzeichen % kenntlich zu machen.
Da alle übrigen Zeichen in der Datei ingoriert werden, ist es auch möglich diese Zahlen direkt
in Form eines Kommentars in die Grammatik-Datei (vgl. oben) aufzunehmen.
tabfile1 . . . tabfile n sind die Dateien (deren Namen üblicherweise auf .tab enden), die die
mit parse erzeugten Parse-Tabellen enthalten. Auf diese Weise gehen nur die Sequenzen,
deren Parse-Tabellen hier angegeben werden, mit in die Optimierung ein.
Mit dem Parameter -m (man beachte das vorangestellte Minuszeichen) wird die Anzahl n
der Regelfolgen, die nach der Optimierung ausgegeben werden sollen, angegeben. Diese sind,
beginnend mit der wahrscheinlichsten (most likely) nach ihrer Wahrscheinlichkeit geordnet.
Wird diese Option nicht verwendet, so werden die fünfzig wahrscheinlichsten Regelfolgen
erzeugt und ausgegeben. Die Angabe 0 für n ist möglich. Man beachte, daß diese Zahl n
ohne vorangehende Leerzeichen anzugeben ist.
325
Anhang
Mit dem Parameter -d, der auch weggelassen werden kann, wird das übliche Verhalten des
Programms erhalten: es werden die Regelwahrscheinlichkeiten optimiert, wobei die Optimierung mit einer Gleichverteilung dieser Wahrscheinlichkeiten beginnt.
Mit dem Parameter -s kann erzwungen werden, daß die Optimierung mit benutzerdefinierten Startwerten für die Regel-Wahrscheinlichkeiten beginnt. Anzahl und Reihenfolge dieser
in der Datei startfile vorgegebenen Werte haben der der Regeln in der Grammatik-Datei“
”
zu entsprechen. Es reicht jedoch aus, wenn die Regeln gewichtet werden; die Summe dieser benutzervorgegebenen Zahlen muß für eine Gruppe zusammengehörender Regeln nicht
unbedingt 1 betragen (vgl. oben). Mit dieser Option ist es möglich, bereits berechnete Wahrscheinlichkeiten (evtl. modifziert) als Ausgangspunkt für weitere Optimierung zu verwenden.
Der Parameter -p ist zu verwenden, wenn keine Optimierung der Regelwahrscheinlichkeiten
erfolgen, sondern nur eine Anzahl von Regelfolgen bestimmt werden soll. Hierfür muß selbstverständlich eine Datei startfile mit Startwerten wie oben beschrieben vorgegeben werden
(die allerdings auch aus früheren Berechnungen stammen können.)
Der Aufruf von opt, genopt bzw. baumwelch ohne Argumente liefert jeweils einen kurzen
Hinweis zur Benutzung des entsprechenden Programms.
Das Programm ableit
Während die im vorigen Abschnitt beschriebenen Programme opt, genopt und baumwelch
eine Regelfolge der n wahrscheinlichsten (most likely) Ableitungen liefern, erzeugt diese Programm ableit mittels der zugrundeliegenden Grammatik aus diesen Regelfolgen Graphen,
die die der jeweiligen Regelfolge entsprechenden Sekundärstruktur angeben. Der Graph wird
in Form einer Tabelle angegeben, wobei jede Zeile einer Position der ursprünglichen Sequenz
entspricht. Diese Zeile enthält außer der Positionsnummer (im vorliegenden Falle fortlaufend
und mit 1 beginnend) das Symbol, das in der ursrpünglichen Sequenz an dieser Position
steht, sowie vier weitere Zahlen: die Position des vorangehenden Sequenzelements, die des
nachfolgenden und die Position des Sequenzelements, zu dem eine die Sekundärstruktur
begründende Wechselwirkung besteht. Die vierte Zahl entspricht einer fortlaufenden mit 1
beginnenden Numeriung der Zeilen (und ist im vorliegenden Falle gleich der ersten Nummer,
die die Sequenzposition angibt).
Verwendung:
ableit [grammatik pssfile1 . . . pssfile n]
Hierbei ist grammatik die Datei, die die Grammatik enthält (vgl. oben Beschreibung von
parse) und pssfile1 usw. sind die Dateien mit den Regelfolgen, aus denen der entsprechende
Graph erzeugt werden soll.
Die erzeugte(n) Datei(en) enden auf .ct.
Der Aufruf von ableit ohne Argumente liefert wiederum einen Hinweis zur Programmbenutzung.
326
Danksagung
Diese Arbeit entstand zu wesentlichen Teilen im Umfeld des Graduiertenkollegs Strukturbildungsprozesse, an dessen Workshops und Seminaren teilzunehmen ich Gelegenheit hatte.
Abgesehen von den dadurch ermöglichten Kontakten stellten die hierbei gehaltenen Vorträge
mir stets eine willkommene Quelle von aktuellen und interessanten wissenschaftlichen Informationen aus einer Vielzahl von Disziplinen dar. Die starke interdisziplinäre Ausrichtung
des Graduiertenkollegs kam so meinen fächerübergreifenden Interessen entgegen.
Den Dozenten des Graduiertenkollegs möchte ich für ihre Mühe bei der Vorbereitung und
Durchführung der Vorlesungen und Seminare für das Graduiertenkolleg Dank sagen.
Den Graduierten des Kollegs und den Mitarbeitern des Forschungsschwerpunktes Mathematisierung möchte ich an dieser Stelle für interessante Diskussionen und nützliche Hinweise
danken. Insbesondere und namentlich erwähnen möchte ich hier Jörn Bornhöft, Olaf Delgado
Friedrichs und Gunnar Brinkmann.
Bei Herrn Prof. Dr. W.-Jürgen Beyn möchte ich mich an dieser Stelle u. a. für einige nützliche
Tipps im Zusammenhang mit Optimierungsproblemen bedanken.
Meinem Betreuer Prof. Dr. Robert Giegerich und meinem Zweitgutachter Prof. Dr. Andreas
Dress möchte ich für die große Freiheit, die ich bei Verfolgung meiner Interessen hatte, das
in mich gesetzte Vertrauen und nicht zuletzt für die gewährleistete Unterstützung meinen
Dank aussprechen.
Und zuguterletzt möchte ich meine Freundin Kerstin Stille und ihre Geduld angesichts allzu
knapp bemessener gemeinsamer Freizeit nicht unerwähnt lassen.
327
328
Literaturverzeichnis
Anmerkung: Sollten mehrere Arbeiten ein- und derselben Autoren aus einem Jahr aufgeführt sein,
so werden diese im Text dadurch unterschieden, daß der Jahreszahl ein Kleinbuchstabe nachgestellt wird. Hier sind die Arbeiten entsprechend der alphabetischen Reihenfolge des nachgestellten
Kleinbuchstabens aufgeführt.
Alfred V. Aho: Indexed Grammars — An Extension of Context-free Grammars. Journal of the
Association for Computing Machinery, 15,4 (1968), 647–671.
Alfred V. Aho: Nested Stack Automata. Journal of the Association for Computing Machinery,
16,3 (1969), 383–406.
Alfed V. Aho/Jeffrey D. Ullman: The Theory of Parsing, Translation, and Compiling.
Volume I: Parsing. Engelwood Cliffs, N. J. 1972.
George E. P. Box: Evolutionary operation: a method for increasing industrial productivity.
Applied Statistics Six (1957), 81–101.
Ute Bauer/Kai Runte: BiSS 2000 Reader. http://bibiserv.techfak.uni-bielefeld.de/
biss2000/ (16.04.2001).
M. J. Box: A new method of constrained optimization and a comparison with other methods.
The Computer Journal 8 (1965/66), 42–52.
I. N. Bronstein/K. A. Semendjajew: Taschenbuch der Mathematik. 19., völlig überarbeitetede Auflage herausgegeben von G. Grosche und V. Ziegler. Thun und Frankfurt/Main 1980.
I. N. Bronstein/K. A. Semendjajew/G. Musiol/H. Mühlig: Taschenbuch der Mathematik. 3., überarbeitete und erweiterte Auflage der Neubearbeitung. Frankfurt am Main, Thun
1997.
Marco S. Caceci/William P. Cacheris: Fitting Curves to Data. The Simplex algorithm is
the answer. Byte 9,5 (May 1984), 340–362.
Jürgen Dassow/Victor Mitrana: Evolutionary Grammars: A Grammatical Model for Genome Evolution. Lecture Notes in Computer Science 1278 (1997), 199ff.
Freeman Dyson: Die zwei Ursrpünge des Lebens. München 1990.
Jay Earley: An efficient context-free parsing algorithm. Communications of the ACM [Association for Computing Machinery] 13,2 (1970), 94–102.
A. J. Fisher: Practical LL(1)-Based Parsing of van Wijngaarden Grammars. Acta Informatica
21 (1985) 559–584.
R. Fletcher: Practical Methods of Optimization. Second Edition. Chichester, New York, Brisbane, Toronto und Singapore 1987.
Philip E. Gill/Walter Murray/Margaret H. Wright: Practical Optimization. London,
San Diego, New York, Berkeley, Boston, Sydney, Tokyo und Toronto 1981.
David E. Goldberg: Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Massachusetts; Menlo Park, California; Sydney; Don Mills, Ontario; Madrid; San Juan; New
York; Singapore; Amsterdam; Wokingham, England; Tokyo und Bonn 1989.
Byron S. Gottfried/Joel Weisman: Introduction to Optimization Theory. Englewood Cliffs,
New Jersey 1973.
329
Literatur
Susan L. Gramham/Michael A. Harrison/Walter L. Ruzzo: An Improved Context-Free
Recognizer. ACM [Association for Computing Machinery] Transactions on Programming Languages
and Systems. 2,3 (1980), 415–462.
Sheila Greibach/John Hopcroft: Scattered Context Grammars. Journal of Computer and
System Sciences, 3 (1969), 233–247.
J. A. Guin: Modification of the complex method for constrained optimization. The Computer
Journal 10 (1967/68), 416–417
David Haussler/Anders Krogh/I. Saires Milan/Kimmen Sjölander: Protein modeling
using hidden Markov models: Analysis of Globins. In: Proceedings of the Hawaii International
conference on System Sciences. Vol. 1. Los Alamitos, CA 1993. 792–802.
David M. Himmelblau: Applied Nonlinear Programming. New York, St. Louis, San Francisco,
Düsseldorf, Johannesburg, Kuala Lumpur, London, Montreal, New Delhi, Panama, Rio de Janeiro,
Singapore, Sydney und Toronto 1972.
Ulrich Hoffmann/Hanns Hofmann: Einführung in die Optimierung mit Anwendungsbeispielen aus dem Chemie-Ingenieur-Wesen. Weinheim/Bergstr. 1971.
R. Horst/H. Tuy: On the Convergence of Global Methods in Multiextremal Optimization.
Journal of Optimization Theory and Applications 54,2 (August 1987), 253–271.
L. Hunter (Ed): Artificial Intelligence and Molecular Biology. Cambridge, Massachusetts 1992.
[INBS’95] First International Symposium on Intelligence in Neural and Biological Systems. INBS’95.
May 29 – 31, 1995. Herndon, Virginia; Los Alamitos, California; Washington; Brussels; Tokyo [1995
oder später].
S. L. S. Jacoby/J. S. Kowalik/J. T. Pizzo: Iterative Methods for Nonlinear Optimization
Problems. Englewood Cliffs, New Jersey 1972.
Arne Jansson/Petter Krus/Jan-Ove Palmberg: Optimisation of Fluid Power Systems
with Two Alternative Non-Derivative Methods. http://hydra.ikp/liu.se/˜arnja/ga/ga.html
(28.05.1998).
Hans-Dieter Jakubke/Hans Jeschkeit: brockhaus abc biochemie. Leipzig 1975.
Donald R. Jones/Cary D. Perttunen/Bruce E. Stuckman: Global Optimization: Beyond
the Lipschitzian Model. In: 1992 IEEE International Conference on Systems, Man, and Cybernetics.
Emergent Innovations in Information Transfer Processing and Decision Making. The Knickerbocker
Hotel. Chicago, Illinois. October 18–21, 1992. Piscataway, NJ 1992.
Peter Karlson: Kurzes Lehrbuch der Biochemie für Mediziner und Naturwissenschaftler. Unter
Mitarbeit von Detlef Doenecke, Georg Fuchs, Jan Koolman und Günter Schäfer. 13.,
neubearbeitete Auflage. Stuttgart, New York 1988.
Rolf Knippers: Molekulare Genetik. 4., völlig neubearb. u. verb. Aufl. Stuttgart [u.a.] 1985.
Donald E. Knuth: Semantics of Context-Free Languages. Mathematical Systems Theory, 2,2
(1968), 127–145.
Donald E. Knuth: Semantics of Context-Free Languages: Correction. Mathematical Systems
Theory, 5,1 (1971), 95–96.
330
Literatur
Anders Krogh/Michael Brown/I. Saira Mian/Kimmen Sjölander/David Haussler:
Hidden Markov Models in Computational Biology — Applications to Protein Modeling. Journal of
Molecular Biology 235 (1994),1501–1531.
F. E. J. Kruseman Aretz: A new approach to Earley’s parsing algorithm. Science of Computer
Programming, 12 (1989), 105–121.
René Leermakers: Recursive ascent parsing: from Earley to Marcus. Theoretical Computer
Science, 104 (1992), 299–312.
Benjamin Lewin: Genes. Third Edition. New York 1987.
F. A. Lootsma (Ed): Numerical Methods for Non-linear Optimization. Conference sponsored by
the Science Research Council. University of Dundee, Scotland, 1971. London und New York 1972.
Georg Löffler/Petro E. Petrides: Physiologische Chemie. Lehrbuch der medizinischen
Biochemie und Pathobiochemie für Studierende und Ärzte. Unter Mitarbeit von Ludwig Weiss.
Vierte, überarbeitete und erweiterte Auflage. Berlin, Heidelberg, New York, London, Paris, Tokyo
1988.
H[ans] v[on] Mangoldt/Konrad Knopp: Einführung in die Höhere Mathematik für Studierende und zum Selbststudium. Zweiter Band. Differentialrechnung. Unendliche Reihen. Elemente
der Differentialgeometrie und der Funktionentheorie. 14. Auflage. Unveränderter Nachdruck. Stuttgart 1974.
Jan Matuszyúski: Towards a programming language based on the notion of two-level grammar.
Theroetical Computer Science 28 (1984), 13–43.
J. A. Nelder/R. Mead: A simplex method for function minimization. The Computer Journal
7 (1994/65), 308–313.
J. A. Nelder/R. Mead: Errata. A simplex method for function minimization. The Computer
Journal 8 (1995/66), 27.
R. O’Neill: Function Minimization using a Simplex Procedure. Applied Statistics 20 (1971),
338–345.
J. M. Parkinson/D. Hutchinson: A Consideration of Non-gradient Algorithms for the Unconstrained Optimization of Functions of High Dimensionality. In: F. A. Lootmsa (1972[a]),
99–113.
J. M. Parkinson/D. Hutchinson: An Investigation into the Efficiency of Variants on the
Simplex Method. In: F. A. Lootmsa (1972[b]), 115–135.
Carl E. Pearson: Handbook of Applied Mathematics. Selected Results and Methods. New York,
Cincinnati, Atlanta, Dallas, San Francisco, London, Toronto und Melbourne 1974.
M. J. D. Powell: An efficient method for finding the minimum of a function of several variables
without calculating derivatives. The Computer Journal 7 (1994/65), 155–162.
William H. Press/Brian P. Flannery/Saul A. Teukolsky/William T. Vetterling:
Numerical Recipes in C. The Art of Scientific Computing. Cambridge, New York, New Rochelle,
Melbourne und Sydney 1988.
Lawrence R. Rabiner: A tutorial on hidden Markov models and selected applications in speech
recognition. Proceedings of the IEEE [=Institute of Electrical and Electronics Engineers] 77,2
(1989), 257–286.
331
Literatur
Christopher Rawlings/Dominic Clark/Russ Altman/Lawrence Hunter/Thomas
Lengauer/Shoshana Wodak (Eds): ISBM-95. Proceedings. Third International Conference
on Intelligent Systems for Molecular Biology. Menlo Park, California 1995.
I. A. Rosanow: Wahrscheinlichkeitstheorie. Reinbek bei Hamburg 1974.
H. H. Rosenbrock: An Automatic Method for finding the Greatest or Least Value of a Function.
The Computer Journal 3 (1960/61), 175–184.
Daniel J. Rosenkrantz: Programmed Grammars and Classes of Formal Languages. Journal
of the Association for Computing Machinery, 16,1 (1969), 107–131.
Y. Sakakibara/M. Brown/R. Hughey/I. S. Mian/K. Sjölander/R. C. Underwood/D.
Haussler: The application of stochastic context-free grammars to folding, algigning and modelling
homologous RNA sequences. [Technical Report UCSC-CRL-94-14 University of California, Santa
Cruz, Computer and Information Sciences Dept., Santa Cruz, CA 95064] (1993).
David B. Searls: Representing Genetic Information with Formal Grammars. In: Proceedings
AAAI-88, Seventh National Conference on Artificial Intelligence, August 1988. 386–391. San Mateo,
Calif. [1988 oder später].
David B. Searls: The Computational Linguistics of Biological Sequences. In: L. Hunter (1992[a]),
47–120.
David B. Searls: The Lingusitics of DNA. American Scientist 80 (1992[b]), 579–591.
David B. Searls: Formal Grammars for Intermolecular Structure. In: INBS’95[a], 30–37.
David B. Searls: String Variable Grammar: A Logic Grammar Formalism for the Biological
Language of DNA. The Journal of Logic Programming, 24,1–2 (1995[b]), 73–102.
J. Schikin: Lineare Räume und Abbildungen. Heidelberg, Berlin, Oxford 1994.
E. Schrödinger: What is Life? The Physical Aspects of the Living Cell. Cambridge 1944.
W. Spendley/G. R. Hext/F. R. Himsworth: Sequential Application of Simplex Designs in
Optimisation and Evolutionary Biology. Technometrics 4,4 (November 1962), 441–461.
Gottfried Staubach: UNIX-Werkzeuge zur Textmusterverarbeitung. Awk, Lex und Yacc. Berlin, Heidelberg, New York, London, Paris, Tokyo und Hong Kong 1989.
Gerhard Steger: RNA Structure and Function. In: Ute Bauer/Kai Runte (2000), 9–60.
Friedrich Stummel/Karl Hainer: Praktische Mathematik. 2., überarbeitete und erweiterte
Auflage. Stuttgart 1982.
Michael S. Waterman: Mathematical methods for DNA sequences. Boca Raton, Florida 1989.
A. van Wijngaarden/B. J. Mailloux/J. E. L. Peck/C. H. A. Koster/M. Sintzoff/C. H. Lindsey/L. G. L. T. Meertens/R. G. Fisker (Eds): Revised Report on the
Algorithmic Language Algol 68. Berlin, Heidelberg, New York 1976.
M. A. Wolfe: An interval algorithm for constrained global optimization. Journal of Computational and Applied Mathematics 50 (1994), 605–612.
Laura A. Yarbro/Stanley N. Deming: Selection and preprocessing of factors for simplex
optimization. Analytica Chimica Acta 73 (1974), 391–398.
Michael Zuker: On finding all suboptimal foldings of an RNA molecule. Science 244 (1989),
48–52.
332
Herunterladen