NUMERISCHE BERECHNUNG VON TOPOLOGISCHER ENTROPIE

Werbung
NUMERISCHE BERECHNUNG VON
TOPOLOGISCHER ENTROPIE
Christoph Kawan
August 2006
Zusammenfassung
In dem Artikel Rigorous computation of topological entropy with re”
spect to a finite partition“ (s. [Fro]) wird ein Algorithmus zur Berechnung
von rigorosen oberen Schranken für die topologische Entropie h(T, A) einer
stetigen Abbildung T : X → X bzgl. einer endlichen Partition A des kompakten Phasenraums X vorgestellt. Mittels einer Verfeinerung B von A
erhält man eine topologische Markov-Kette, die als vergröberte Version“
”
des dynamischen Systems (X, T ) interpretiert werden kann. Betrachtet
man die Markov-Kette als gerichteten Graphen, so kann man dessen Kanten mit Labels versehen, die der vorgegebenen Partition A entsprechen.
Die Worte, die man beim Durchlaufen dieses beschrifteten Graphen erhält,
bilden einen sofischen Shift, dessen Entropie eine obere Schranke für die
Größe h(T, A) darstellt. Der Algorithmus berechnet eine rechtsauflösende
Darstellung des sofischen Shifts, die es ermöglicht, dessen Entropie über
den maximalen Eigenwert einer Transitionsmatrix zu gewinnen. Die oberen Schranken für h(T, A), die man so erhält, konvergieren gegen h(T, A),
wenn der Durchmesser der verfeinerten Partition B gegen 0 strebt.
1
Entropie bzgl. einer endlichen Partition
Die topologische Entropie h(T ) einer stetigen Abbildung T : X → X auf einem kompakten metrischen Raum X ist i. A. numerisch schwer zu berechnen.
Der in [Fro] vorgestellte Algorithmus liefert stattdessen obere Schranken für
die topologische Entropie einer Abbildung bzgl. einer endlichen Partition des
Phasenraums. Im Folgenden soll dieser Entropie-Begriff definiert werden und
der Zusammenhang mit der topologischen Entropie h(T ) hergestellt werden.
1.1 Definition:
Sei A = {A1 , . . . , Aq } eine endliche Partition des kompakten metrischen Raums
X. Dann definieren wir für jedes N ∈ N die Menge
WN (T, A) := [a0 , . . . , aN −1 ] : ∃x ∈ X : T i (x) ∈ Aai für i = 0, . . . , N − 1 .
2
Ferner definieren wir die topologische Entropie h∗(T , A) von T bzgl. der
Partition A durch
log |WN (T, A)|
.
N →∞
N
h∗ (T, A) := lim
(1)
Dabei wird mit |WN (T, A)| die Kardinalität der Menge WN (T, A) bezeichnet.
Die Größe N1 log |WN (T, A)| beschreibt die Wachstumsrate der Anzahl von verschiedenen Worten, die durch die Orbits von T erzeugt werden, bei wachsender
Wortlänge. Aufgrund der Subadditivität1 der Folge N 7→ log |WN (T, A)| existiert der Limes in (1) und es gilt
log |WN (T, A)|
.
N ≥1
N
h∗ (T, A) = inf
Ferner ist unmittelbar ersichtlich, dass stets h∗ (T, A) ≤ log q gilt, wenn q = |A|.
1.2 Definition:
S
i
Eine Partition A heißt erzeugend, wenn das Mengensystem ∞
i=0 T (A) die
Borel’sche σ-Algebra von X erzeugt.
Der folgende Satz stellt nun den Zusammenhang zwischen der Größe h∗ (T, A)
und der topologischen Entropie h(T ) her. Seinen Beweis findet man in [Fro,
Appendix B, S. 81].
1.3 Satz:
(1) Ist A erzeugend, so gilt h(T ) ≤ h∗ (T, A).
(2) h(T ) ≤ lim inf diam A→0 h∗ (T, A).
Der zweite Teil des Satzes bedeutet, dass man durch sukzessive Verfeinerung
einer Partition A im Limes eine obere Schranke für h(T ) erhält. Dieser Teil
ist jedoch für den Algorithmus unerheblich, da man bei diesem stets von einer
fest gewählten (groben) Partition A ausgeht, von der weiß oder hofft, dass sie
erzeugend ist. In der Praxis ist es jedoch oft schwer oder gar unmöglich, eine
nachweislich erzeugende Partition zu finden. Ein weiterer Nachteil des Algorithmus ist, dass man lediglich obere Schranken für die topologische Entropie
erhält und dass anscheinend keine Aussagen darüber gemacht werden können,
in welchen Fällen die Größen h(T ) und h∗ (T, A) übereinstimmen. In [Fro, Remark B.2, S. 81] wird ein Beispiel angegeben, in dem h∗ (T, A) = log 2 und
h(T ) = 0 gilt. Die Autoren des Artikels glauben jedoch, dass ein solcher Fall
selten eintritt und belegen dies anhand von mehreren Beispielen, in denen die
Entropie bereits bekannt ist.
1
Eine Folge xn reeller Zahlen heißt subadditiv, falls xm+n ≤ xm + xn für alle m, n ∈ N gilt.
3
2
2.1
Der Algorithmus
Konstruktion der topologischen Markov-Kette
Zunächst muss man eine Partition A des Phasenraums wählen, um dann obere
Schranken für h∗ (T, A) zu bestimmen. Oft legt bereits die Dynamik des Systems
eine bestimmte Wahl von A nahe, wie wir später auch an einem Beispiel sehen
werden. Da stets h∗ (T, A) ≤ log q gilt (q = |A|), sollte ferner sichergestellt sein,
dass log q eine obere Schranke für h(T ) ist (s. auch [Fro, Theorem 3, S. 70]).
Nun wählt man eine Verfeinerung B = {B1 , . . . , Bn } von A, d. h. jede der
Mengen von A ist Vereinigung von Mengen aus B. Je feiner B bzgl. A gewählt
wird, desto genauer wird die Größe h∗ (T, A) approximiert. Man definiert eine
n × n-Transitionsmatrix B = (Bij ) durch
1 falls Bi ∩ T −1 (Bj ) 6= ∅,
Bij :=
0 andernfalls.
Durch B ist eine topologische Markov-Kette gegeben, die auch als gerichteter
Graph angesehen werden kann. Wir nennen [b0 , . . . , bN −1 ] ein B-Wort der Länge
N , falls Bbi bi+1 = 1 für i = 0, . . . , N −2 gilt. Jedes B-Wort erzeugt ein eindeutig
bestimmtes A-Wort [a0 , . . . , aN −1 ] derselben Länge mittels der Inklusion Bbi ⊂
Aai . Wir definieren für jedes N ∈ N die Menge
WN (B, A) := {[a0 , . . . , aN −1 ]| ∃ B - Wort [b0 , . . . , bN −1 ] : ∀i : Bbi ⊂ Aai } ,
und die zugehörige Wachstumsrate
log |WN (B, A)|
.
N →∞
N
h(B, A) := lim
Ist [a0 , . . . , aN −1 ] ∈ WN (T, A), so gilt T i (x) ∈ Aai für ein x ∈ X und i =
0, . . . , N − 1. Ferner gilt T i (x) ∈ Bbi für gewisse eindeutig bestimmte bi ∈
{1, . . . , n}, wobei Bbi ⊂ Aai . Damit folgt Bbi ∩T −1 (Bbi+1 ) 6= ∅ für i = 0, . . . , N −
2. Also ist [b0 , . . . , bN −1 ] ein B-Wort, welches [a0 , . . . , aN −1 ] erzeugt. Es folgt
WN (T, A) ⊂ WN (B, A) und damit
h(B, A) ≥ h∗ (T, A).
Ferner gilt der folgende Satz, dessen Beweis sich in [Fro, Appendix B, S. 81]
findet.
2.1 Satz:
Sei A eine Partition von X, bestehend aus kompakten Mengen. Dann gilt
lim
diam B→0
h(B, A) = h∗ (T, A).
Die Voraussetzung, dass die Partitionsmengen alle kompakt sein sollen, ist
natürlich i. A. nicht realisierbar. Es handelt sich dabei lediglich um eine technische Voraussetzung, die in der Praxis (hier verwendet man als Partitionsmengen stets Quader im Rn ) keine Rolle spielt, solange der Schnitt der Abschlüsse
zweier Partitionsmengen leeres Inneres hat.
4
2.2
Der zugehörige sofische Shift
Der Grund, warum man die beschriebene Markov-Kette konstruiert, ist, dass
man die Größe h(B, A) exakt berechnen kann. Um dies zu tun, betrachtet man
die Markov-Kette als gerichteten Graphen G(B, A) mit Knotenmenge {1, . . . , n}
(n = |B|) und beschrifteten Kanten, die man folgendermaßen erhält: Jede
Partitionsmenge aus A erhält als Label einen Buchstaben aus einem Alphabet
L = {a, b, c, . . .}. Eine gerichtete Kante läuft vom Knoten i zum Knoten j genau
dann, wenn Bij = 1. Diese Kante erhält als Beschriftung den Buchstaben,
welcher der Partitionsmenge A ∈ A zugeordnet wurde mit Bi ⊂ A. Wir wollen
dies anhand eines einfachen Beispiels veranschaulichen.
2.2 Beispiel:
Wir betrachten die (stückweise) stetige Abbildung T : [0, 1] → [0, 1],
2x
für x < 12 ,
T (x) :=
1
1
3
2 (x − 2 ) für x ≥ 2 .
Wir wählen die folgenden Partitionen:
A = {A1 , A2 } = {[0, 21 ), [ 12 , 1)},
B = {B1 , B2 , B3 , B4 } = {[0, 41 ), [ 41 , 21 ), [ 12 , 34 ), [ 43 , 1)}.
Damit erhält man die Transitionsmatrix

1 1 0
 0 0 1
B=
 1 1 0
0 1 1

0
1 
.
0 
0
Ordnen wir der Menge A1 das Label a und der Menge A2 das Label b zu, so
erhalten wir folgenden Graphen.
a
a
1
2
b
b
a
b
a
3
b
4
Die Worte, die man beim Durchlaufen des Graphen erhält, können nicht das
Resultat eines Subshifts vom endlichen Typ auf der Symbolmenge {a, b} sein,
da etwa die Worte [aa], [ab], [ba] und [bb] erlaubt sind, aber nicht [bbb].
5
2.3
Die rechtsauflösende Darstellung des sofischen Shifts
Wir bezeichnen mit W(G(B, A)) die Menge der biinfiniten Worte, die man
erhält, indem man den Graph G(B, A) durchläuft. Wir wollen nun eine rechtsauflösende Darstellung des Graphen bestimmen, d. h. einen beschrifteten Graphen G 0 (B, A), der dieselbe Wortmenge liefert (W(G 0 (B, A)) = W(G(B, A))),
aber zusätzlich die Eigenschaft hat, dass je zwei Kanten, die vom selben Knoten ausgehen, verschiedene Labels tragen. Wie man anhand des Graphen in
Beispiel 2.2 sieht, muss der Graph G(B, A) diese Eigenschaft nicht haben (vom
Knoten 1 gehen zwei Kanten aus, die beide das Label a tragen). Der Vorteil
des Graphen G 0 (B, A) ist, dass man die Entropie des sofischen Shifts leicht über
die zugehörige Transitionsmatrix bestimmen kann.
Wir wollen nun einen Algorithmus beschreiben, der den essentiellen Subgra”
phen“ R eines solchen Graphen G 0 berechnet. R nennen wir eine reduzierte
rechtsauflösende Darstellung von G. Die Knoten von R bezeichnen wir als Hyperknoten und die Kanten als Hyperkanten. Hyperknoten sind Teilmengen von
{1, . . . , n}.
(1) Starte mit einem Graphen R, der nur aus einem einzigen Hyperknoten besteht – einer zufällig ausgewählten einelementigen Teilmenge von
{1, . . . , n}.
(2) Falls möglich, wähle einen Hyperknoten H im Graphen R, von dem keine
Kanten ausgehen, andernfalls gehe zu Schritt 6.
(3) Bezeichne mit H 0 die Menge der Knoten in G(B, A), die von Kanten erreicht werden, welche von den Knoten in H ausgehen und das Label a
tragen. Füge den Hyperknoten H 0 (falls nicht bereits vorhanden) und
eine Hyperkante mit Label a hinzu, welche bei H startet und bei H 0 endet.
(4) Wiederhole Schritt 3 für alle Buchstaben (Labels) des Alphabets L =
{a, b, c, . . .}.
(5) Kehre zurück zu Schritt 2.
(6) Entferne alle Hyperknoten in R, bei denen keine Hyperkanten enden zusammen mit den Hyperkanten, die von ihnen ausgehen.
(7) Wurden in Schritt 6 Hyperknoten entfernt, so kehre zurück zu Schritt 6,
andernfalls beende die Prozedur.
Wir wollen nun den Algorithmus auf den Graphen aus Beispiel 2.2 anwenden:
• Vom Knoten 1 im Graph G(B, A) gehen mit a beschriftete Kanten aus, die
bei den Knoten 1 und 2 enden. Deshalb erzeugen wir den Hyperknoten
{1, 2} und eine Hyperkante, beschriftet mit a, die bei {1} startet und bei
{1, 2} endet. Weitere Kanten gehen vom Knoten 1 nicht aus.
• Betrachte jetzt den Hyperknoten {1, 2}. Die Knoten 1 und 2 haben ausgehende Kanten mit Label a, die bei den Knoten 1 − 4 enden. Also fügen
wir den Hyperknoten {1, 2, 3, 4} hinzu und eine Hyperkante von {1, 2} nach
6
{1, 2, 3, 4}, welche das Label a trägt. Weitere Kanten gehen von den Knoten
1 und 2 nicht aus.
• Von den Knoten 1 − 4 gehen sowohl Kanten mit Label a als auch mit
Label b aus. Betrachte diejenigen mit Label a. Mit diesen erreicht man die
Knoten 1− 4, also fügen wir eine Hyperkante mit Label a vom Hyperknoten
{1, 2, 3, 4} zu sich selbst hinzu. Die mit b beschrifteten Kanten führen zu
den Knoten 1 − 3. Also kommt der Hyperknoten {1, 2, 3} hinzu und eine
Hyperkante von {1, 2, 3, 4} nach {1, 2, 3}, welche das Label b trägt.
• Die Knoten 1 − 3 haben wieder ausgehende Kanten mit Label a und b.
Die mit a beschrifteten enden bei den Knoten 1 − 4, also fügen wir eine
Hyperkante mit Label a von {1, 2, 3} nach {1, 2, 3, 4} hinzu. Die Kanten
mit Label b erreichen die Knoten 1 und 2, also wird eine Hyperkante von
{1, 2, 3} nach {1, 2} mit Beschriftung b hinzugefügt.
• Nun haben alle Hyperknoten ausgehende Hyperkanten, also suchen wir nach
Hyperknoten, die nicht von Hyperkanten erreicht werden.
• Nur der Hyperknoten {1} hat keine eingehenden Hyperkanten, also entfernen wir diesen und die Hyperkante, die von ihm ausgeht.
• Die restlichen Hyperknoten haben alle eingehende Hyperkanten, also beenden wir hier die Prozedur.
Der Graph der rechtsauflösenden Darstellung sieht also folgendermaßen aus:
a
{1}
{1,2}
b
a
a
{1,2,
3,4}
{1,2,3}
b
a
Da nach Schritt 3 des Algorithmus einem Hyperknoten nur dann eine Hyperkante mit einem bestimmten Label hinzugefügt wird, wenn er noch keine ausgehenden Hyperkanten besitzt, hat der Graph R die gewünschte Eigenschaft,
rechtsauflösend zu sein.
Der Algorithmus beruht im Wesentlichen auf [Lnd, Theorem 3.3.2 u. 3.3.11].
Die formale Konstruktion einer rechtsauflösenden Darstellung, die dort beschrieben wird, verlangt jedoch eine initiale Kollektion von Hyperknoten, die
aus allen 2n Teilmengen von {1, . . . , n} besteht. In [Fro, Prop. B.12, S. 83] wird
jedoch gezeigt, dass nicht die volle rechtsauflösende Darstellung nötig ist, um
eine geeignete Transitionsmatrix zu erhalten, welche die Entropie des sofischen
Shifts liefert. Dies funktioniert jedoch nur unter der Voraussetzung, dass der
7
sofische Shift W-irreduzibel ist (siehe [Fro, Def. B.4, S. 82]). In der Tat liefert der Algorithmus eine irreduzible Komponente der vollen rechtsauflösenden
Darstellung, und die Entropie dieser irreduziblen Komponente ist identisch mit
der vollen Entropie nach [Fro, Cor. B.11, S. 83].
2.4
Berechnung der Entropie des sofischen Shifts
Der Graph R liefert eine Transitionsmatrix R = (Rij ). Ist m die Anzahl der
Hyperknoten in R, so handelt es sich dabei um eine m × m-Matrix mit ganzzahligen Einträgen, die folgendermaßen definiert ist:
Rij := # {Hyperkanten vom Hyperknoten i zum Hyperknoten j} .
Mit Hilfe der Matrix R können wir nun die Entropie der topologischen MarkovKette bzgl. der Partition A berechnen.
2.3 Satz:
Sei T topologisch transitiv und sei λ der maximale Eigenwert von R. Dann gilt
h∗ (T, A) ≤ h(B, A) = log λ.2
Der Beweis dieses Satzes findet sich in [Fro, Appendix B.3, S. 83].
2.4 Beispiel:
Die Transitionsmatrix R für die reduzierte rechtsauflösende Darstellung von
Beispiel 2.2 sieht folgendermaßen aus:
{1, 2}
{1, 2, 3}
{1, 2, 3, 4}
 {1, 2} {1, 2, 3} {1, 2, 3, 4} 
0
0
1
 1

0
1
0
1
1
Der größte Eigenwert von R ist ungefähr λ = 1.8393. Damit ergibt sich
h(B, A) = log 1.8393 ≥ h∗ (T, A). Für B = A hätten wir h(B, A) = log 2
erhalten. Indem man B = {B1 , B2 , B3 , B4 } wählt, eliminiert man das Wort
[bbb], das mit B = A erlaubt wäre, und verringert so die Entropie. Je feiner die Partition B gemacht wird, desto mehr Worte werden eliminiert und die
Größe h(B, A) konvergiert von oben gegen h∗ (T, A).
Für nicht transitives T ist h(T ) das Maximum der Entropie aller Einschränkungen von T auf transitive Gebiete. Es ist möglich, dass die topologische MarkovKette, die durch B gegeben ist, dennoch transitiv ist, und in diesem Fall kann
der Algorithmus genau wie zuvor angewendet werden, um obere Schranken
für h∗ (T, A) und h(T ) zu bekommen. Ist die topologische Markov-Kette nicht
transitiv (d. h. nicht irreduzibel), so muss der Algorithmus separat auf jede
irreduzible Komponente angewendet werden.
2
Nach dem Perron-Frobenius-Theorem existiert ein reeller Eigenwert, der größer als die
Beträge aller anderen Eigenwerte von R ist.
8
3
3.1
Beispiele
Eine Familie von logistischen Abbildungen
Wir betrachten die auf dem Einheitsintervall [0, 1] definierten logistischen Abbildungen fµ (x) = µx(1 − x) mit µ ∈ [3.5, 4]. Es handelt sich dabei um unimodale Abbildungen, die auf [0, 12 ] streng monoton wachsen und auf [ 12 , 1] streng
monoton fallen. Jedem, der mit der Dynamik von Intervallabbildungen vertraut ist (Stichwort: kneading theory), wird es einleuchten, dass sich hier die
Partition A = {[0, 21 ), [ 12 , 1]} anbietet, um zu garantieren, dass h∗ (fµ , A) eine
obere Schranke für die topologische Entropie ist. Die folgende Grafik stellt die
von dem Algorithmus berechneten Entropie-Werte für die Familie fµ dar, aufgetragen gegen den Parameter µ. Als verfeinerte Partition wurde dabei eine
äquidistante Partition von [0, 1] in 212 Teilintervalle gewählt.
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
3.5
3.2
3.55
3.6
3.65
3.7
3.75
3.8
3.85
3.9
3.95
4
Ein hyperbolischer linearer Torus-Automorphismus
Wir betrachten den hyperbolischen linearen Torusautomorphismus
T (x, y) =
√
1
(x + y, x) mod 1. Es ist bekannt, dass h(T ) = log 2 ( 5 + 1) ≈ log 1.6180 gilt.
Wir setzen A := {[0, 1) × [0, 21 ), [0, 1) × [ 21 , 1)} und erzeugen die Verfeinerung
B durch wiederholte Bisektionen des Torus, d. h. die Elemente von B sind von
der Form [(p − 1)/2k , p/2k ) × [(q − 1)/2k , q/2k ), p, q = 1, . . . , 2k , k ≥ 1. Die
Ergebnisse des Algorithmus sind in der unten stehenden Tabelle aufgelistet.
k
2
3
4
5
6
|B|
16
64
256
1024
4096
# Hyperknoten
32
144
448
1792
7472
Max. Größe der Hyperknoten
5
10
21
42
83
h(B, A)
log 1.8393
log 1.7494
log 1.6916
log 1.6583
log 1.6393
9
Während in diesem Beispiel die Anzahl der Hyperknoten tendenziell etwas kleiner als das Doppelte der Kardinalität der Partition B zu sein scheint, zeigt sich
in anderen Beispielen völlig gegensätzliches Verhalten (siehe [Fro, S. 76-78]).
4
Implementation
Ein Programm, das den beschriebenen Algorithmus realisiert, muss im Wesentlichen die folgenden zwei Rechenschritte durchführen:
(1) Berechnung der Transitionsmatrix B: In der Praxis berechnet man aus
Gründen der Effizienz die Transitionsmatrix B nicht für eine volle Partition des Phasenraums X, sondern verwendet stattdessen Subdivisionstechniken, um immer feinere Überdeckungen der kettenrekurrenten Menge
von T in X zu erhalten. In jedem Schritt dieser Prozedur wird die Matrix
B für die aktuelle Kollektion von Mengen ( Boxen“) berechnet.
”
(2) Berechnung der (reduzierten) rechtsauflösenden Darstellung des sofischen
Shifts: Dieser Schritt beinhaltet die Berechnung des Graphen R und letztendlich der zugehörigen Transitionsmatrix R. Es ist zu überlegen, welche
Datenstruktur man zum Abspeichern des Graphen verwendet, so dass einerseits nicht zu viel Speicherplatz benötigt wird und andererseits die im
Algorithmus durchzuführenden Operationen rechenzeitsparend umgesetzt
werden können.
Zur Realisierung von Schritt 1 existieren effiziente Routinen, die in dem von
Michael Dellnitz und Oliver Junge entwickelten Softwarepaket GAIO3 (Global
Analysis of Invariant Objects) integriert sind. Für eine Einführung in GAIO
siehe [Del] und [Ras].
Zur Abspeicherung des Hypergraphen im zweiten Schritt wird in [Fro] vorgeschlagen, einen Baum (mit variabler Anzahl von Kindern pro Knoten) als
Datenstruktur zu verwenden. Dabei wird jedem Knoten N des Baumes T ein
Paar (i(N ), s(N )) zugeordnet mit i(N ) ∈ {1, . . . , n} und s(N ) ∈ {0, 1, . . . , |R|}.
Ein Hyperknoten R = {r1 , . . . , rl } ⊂ {1, . . . , n} (r1 < r2 < · · · < rl ) wird als
Pfad (N0 , N1 , . . . , Nl ) in diesem Baum abgespeichert, wobei
i(Nj ) = rj , j = 1, . . . , l, s(Nl ) > 0.
Dabei ist s(Nl ) = k, falls R der k-te Hyperknoten ist, der beim Erstellen des
Hypergraphen erzeugt wird. Im Allgemeinen ist s(N ) = 0, falls beim Baumknoten N kein Pfad endet und ansonsten > 0. Der Knoten N0 ist die Wurzel
des Baums und hat ansonsten keine Bedeutung. Wir wollen dies anhand eines
Beispiels klar machen. Wir nehmen an, dass der Hypergraph R die folgenden
Hyperknoten enthält:
{{2}, {1, 2, 5}, {1, 4}, {1}}.
Dann sieht der zugehörige Baum folgendermaßen aus:
3
siehe http://www.upb.de/math/˜agdellnitz/software/gaio.html
10
N0
(1,4) N1
(2,0) N3
(2,1)
N2
(4,3) N4
(5,2) N5
Ein Vorteil von dieser Datenstruktur ist, dass die Schnittmenge zweier Hyperknoten nur einmal abgespeichert wird, in obigem Beispiel etwa {1} =
{1, 2, 5} ∩ {1, 4}. Da der Baum T nur die Information über die Hyperknoten im Graphen R enthält, muss die Information über die Hyperkanten separat
abgespeichert werden. Dazu wird parallel zum Aufbau des Baums die Transitionsmatrix R erstellt, welche diese Information trägt. Die Beschriftungen der
Hyperkanten sind letztendlich gar nicht von Interesse und müssen deshalb auch
nicht abgespeichert werden. Da die Größe der Matrix R von vornherein noch
nicht feststeht und da diese Matrix in der Regel sehr viele Nullen enthält, ist
es günstig, nur diejenigen Einträge abzuspeichern, die ungleich Null sind, und
zwar als Tripel (i, j, l), wobei i die Zeile, j die Spalte und l den Eintrag bezeichnet.
Wir wollen nun nochmals konkret den Algorithmus zur Konstruktion der reduzierten rechtsauflösenden Darstellung beschreiben und dabei näher auf die
Details der Implementierung eingehen.
(1) Starte mit einem Baum T , der nur aus dem Wurzelknoten N0 besteht.
Wähle zufällig eine Zahl k aus der Menge {1, . . . , n} aus (n = |B|) und
füge dem Knoten N0 ein Kind N hinzu mit i(N ) = k und s(N ) = 1.
(2) Suche in dem bestehenden Baum T nach einem Knoten N mit s(N ) > 0,
so dass von dem Hyperknoten Nummer s(N ) keine Hyperkanten ausgehen
(d. h. konkret: Überprüfe, ob die Zeile s(N ) in der Matrix R eine Nullzeile
ist). Falls kein solcher Knoten N gefunden wurde, gehe zu Schritt 7.
(3) Starte eine for-Schleife, welche die Labels des Alphabets L durchläuft
(Schleifenzähler: l).
(4) Durchlaufe vom Knoten N aus den Baum aufwärts bis zur Wurzel und
überprüfe anhand der jeweiligen i-Werte der Knoten, welche Knoten des
Graphen G(B, A) von den Knoten des Pfades erreicht werden mittels Kanten, die das Label l tragen (konkret: Durchsuche die i-te Zeile der Matrix
B nach Einträgen ungleich Null). Speichere die gefundenen Knoten in
einem Array H 0 ab und sortiere sie anschließend in aufsteigender Reihenfolge. Überprüfe, ob der Baum T bereits einen Pfad mit den Knoten in
H 0 enthält (Sei N 0 der Endknoten dieses Pfades, falls er existiert). Ist dies
LITERATUR
11
der Fall, so erhöhe den Wert in der s(N )-ten Zeile und s(N 0 )-ten Spalte
der Matrix R um 1. Andernfalls füge dem Baum T einen neuen Pfad mit
den Knoten in H 0 hinzu und setze anschließend den entsprechenden Wert
der Matrix R auf 1.
(5) Beende die in Schritt 3 initiierte for-Schleife.
(6) Kehre zurück zu Schritt 2.
(7) Suche in der Matrix R nach der ersten Spalte j, die nur Nullen enthält.
Wird keine solche Spalte gefunden, beende die Prozedur, ansonsten entferne die j-te Spalte und die j-te Zeile vollständig.
(8) Wurde in Schritt 7 eine Nullspalte gefunden, wiederhole Schritt 7, ansonsten beende die Prozedur.
Beachte, dass in den letzten beiden Schritten nur noch Änderungen an der
Matrix R vorgenommen werden und nicht am Baum T , d. h die überflüssigen
Hyperknoten müssen nicht wirklich entfernt werden, da am Ende nur die Transitionsmatrix R von Interesse ist. Zu weiteren Details der Implementierung,
siehe auch [Kaw].
Literatur
[Fro]
Froyland, G., Junge, O., Ochs, G.: Rigorous computation of topological
entropy with respect to a finite partition, Physika D 154, No.1-2, 68-84
(2001)
[Lnd] Lind, D., Marcus, B.: An Introduction to Symbolic Dynamics and Coding, Cambridge University Press, Cambridge (1995)
[Del] Dellnitz, M., Froyland, G., Junge, O.: The Algorithms Behind GAIO Set Oriented Numerical Methods for Dynamical Systems, In: B. Fiedler
(ed.): Ergodic Theory, analysis and efficient simulation of dynamical
systems. Springer (2001)
[Ras] Rasmussen, M.: Approximation von Attraktoren und Mannigfaltigkeiten
nichtautonomer Systeme, Diplomarbeit, Universität Augsburg (2002)
[Kaw] Kawan, C.: Numerische Berechnung der topologischen Entropie eines
diskreten dynamischen Systems bzgl. einer endlichen Partition, Praktikumsbericht Numerik-Praktikum (2006)
Herunterladen