Über Dimensionen und fraktale Dimensionen habe ich hier schon berichtet. Ebenso über Chaostheorie (Teil 1, 2, 3 und 4) und Chaosindikatoren. Jetzt wird es langsam Zeit, dass alles zu kombinieren – heute möchte ich erklären, wie man fraktale Dimensionen als Chaosindikatoren bei nichtlinearen Systemen einsetzen kann.
Wie man ein Diplomarbeitsthema auswählt
Das war übrigens das Thema meiner Diplomarbeit die ich vor gut 10 Jahren verfasst habe. Wie viele andere auch bin ich recht zufällig zu meinem Thema gekommen 😉 In der Arbeitsgruppe, bei der ich damals gerade begann, ein wenig hineinzuschnuppern, gab es ein wöchentliches Seminar. Da wurde ich auch ab und zu gebeten, einen Vortrag zu halten. Nicht über meine Forschung – damals hatte ich noch keine wissenschaftlichen Ergebnisse – sondern über Themen die mein Chef für interessant gehalten hat. Eines dieser Themen waren die fraktalen Dimensionen. Ein anderes waren sogenannte „sticky orbits„. Das ist eine spezielle Art von Phasenraumorbit. Ein Orbit im Phasenraum eines dynamischen Systems beschreibt, wie sich dessen Zustand ändert. Ganz allgemein gibt es reguläre und chaotische Zustände. „Sticky“ Orbits sind nun spezielle Zustände, die eigentlich chaotisch sind, aber für sehr lange Zeit (genaugenommen beliebig lange) so aussehen können, als wären sie regulär (sie „kleben“ quasi an den regulären Zuständen dran, deswegen der Name).
Als es dann daran ging, ein Diplomarbeitstheme auszuwählen, meinte mein Chef: „Hmm – sie könnten doch was über sticky orbits und fraktale Dimensionen machen?“. Ok – klang gut – also machte ich was über sticky orbits und fraktale Dimensionen 😉
Womit ich gleich mal vor der ersten Hürde stand: was sollte ich denn da eigentlich machen? Die beiden Themen haben erstmal nicht viel miteinander zu tun. Eigentlich gar nichts…
Aber ich hab mich nicht abschrecken lassen und verschiedenste Ideen verfolgt die alle darauf hinausliefen, fraktale Dimensionen irgendwie so einzusetzen, um dynamische Systeme besser beschreiben zu können als bisher. Das wäre speziell für die sticky orbits wünschenswert. Denn wie gesagt: die tarnen sich recht gut als reguläre Orbits, auch wenn sie eigentlich chaotisch sind. Hier bräuchte es einen Weg, möglichst früh zu erkennen, dass sie chaotisch sind – denn wenn man Pech hat, muss man ziemlich lange warten, bis sich das Chaos auf normalen Weg deutlich zeigt.
Was man mit fraktalen Dimensionen alles machen kann
Und überraschenderweise kann man das mit fraktalen Dimensionen tatsächlich tun! Wenn man es streng theoretisch betrachtet, dann ist ein Phasenraumorbit ein mathematisches Objekt; eine Trajektorie die den Zustand des Systems für beliebige Zeitpunkte beschreibt.
Aber die Mathematik hat mich erstmal nicht weiter interessiert. Es war ja auch eine Diplomarbeit in Astronomie und mich haben praktische Anwendungen interessiert. Und in der Praxis werden dynamische Systeme numerisch behandelt und ein Phasenraumorbit ist nichts anderes als eine Menge von Punkten in einem Diagramm. Das Diagramm kann zweidimensional sein, dreidimensional oder eine beliebige höhere Dimension haben – je nachdem wieviel Freiheitsgrade das System hat. Aber der Phasenraum bleibt immer eine Menge von Punkten.
Und für so eine Punktmenge kann man immer die fraktale Dimension bestimmen. Ich habe das ja schon in meinem früheren Artikel erklärt. Da war ging es zum Beispiel um den Cantor-Staub, der auch eine Menge an Punkten ist – aber eine Dimension hat, die zwischen 0 und 1 liegt. Ich kann also einer beliebig großen Menge von Punkten genau eine einzige Zahl zuordnen: die fraktale Dimension.
Aber was hilft mir das? Wenn ich einen ganzen Phasenraumorbit auf eine Zahl reduzieren, dann verliere ich doch jede Menge Information? Nicht notwendigerweise – zumindest dann nicht, wenn man das Problem dynamisch betrachtet und nicht statisch.
Denn das, was Phasenraumorbits voneinander unterscheidet, ist die Art und Weise, wie sie sich im Laufe der Zeit änderen. Diese Änderung sieht bei einer chaotischen Bahn ganz anders aus als bei einer regulären. Wenn sich ein Phasenraumorbit ändert, dann ändert sich aud die zugehörige Menge an Punkten. Wenn die Menge der Punkte sich ändert, dann bekommt sie eine andere Form. Und wenn die Form sich ändert, dann ändert sich natürlich auch die fraktale Dimension – denn die ist nichts anderes als ein Weg, die Form eines Objekts zu beschreiben.
Anstatt zu betrachten, wie sich der Phasenraumorbit selbst im Laufe der Zeit ändert, kann ich mir also auch ansehen, wie sich die zugehörige fraktale Dimension im Laufe der Zeit ändert! Und das bringt eine ganze Menge an Vorteilen.
Ich hab damals zumindest gehofft, dass es eine ganze Menge an Vorteilen bringt. Aber erstmal war es nur eine Idee und ich musste das alles nochmal ausprobieren. Das hat sich dann als gar nicht so einfach herausgestellt…
Wie man eine Dimension berechnet
Dazu muss ich vielleicht erstmal erklären, wie man die fraktale Dimension in der Praxis berechnet. Die Abart der fraktalen Dimension, die ich verwenden wollte, war die sg. „Korrelationsdimension„. Sie hängt stark von den wechselseitigen Abständen in der Punktmenge ab. Im Prinzip macht man nichts anderes, als eine Reihe von Abständen zu betrachten und jeweils nachzusehen, wieviele Punktpaare der Menge einen Abstand zueinander haben, der kleiner ist als der gewählte Wert. Diese Zahlen trägt man dann in ein Diagramm ein: auf der x-Achse den Abstandswert und auf der y-Achse die Anzahl an Paare, deren Abstand kleiner als dieser Wert ist (und benutzt bei beiden Achsen einen logarithmischen Maßstab). Das, was da rauskommt nennt man „Korrelationsintegral“ und sieht typischerweise so aus:
Der mittlere Teil im Diagramm ist eine schöne schräge Linie mit konstanter Steigung. Man kann also eine Ausgleichsgerade durch die Datenpunkte legen und der numerische Wert des Anstiegs dieser Gerade ist nichts anderes als die fraktale Dimension.
So weit ist alles klar. Natürlich gibt es bei der Berechnung des Korrelationsintegrals immer ein bisschen numerischen Rauschen. Im Bild oben erkennt man eine stufenartige Struktur unten links und oben rechts wird die Kurve waagrecht (beide Effekte lassen sich übrigens sehr leicht erklären – dass ist den Lesern als Hausübung überlassen 😉 ). Es können auch noch aus anderen Gründen andere „unschöne“ Bereiche auftreten. Diese Bereiche muss man ignorieren, wenn man die Steigung der Linie bestimmen will. Normalerweise macht man das einfach, in dem man das Bild ansieht und den Bereich mit konstanter Steigung in der Mitte auswählt. Aber um mein Projekt umzusetzen, muss ich die fraktale Dimension nicht nur einmal bestimmen, sondern oft. Ich will ja die Änderung der Dimension sehen – brauche also viele Werte. Sehr viele. Einige Zehntausend pro Phasenraumorbit. Ich musste mir also eine Methode ausdenken, die automatisch den jeweils „brauchbaren“ Bereich eines Korrelationsintegrals bestimmt.
Das hätte meine Diplomarbeit beinahe zu Fall gebracht 😉 Ich habe sicherlich 2 bis 3 Monate hierauf verschwendet. Ich habe mir die wildesten Methoden ausgedacht und noch viel wildere Programme geschrieben. Ich war kurz davor, mich in Mustererkennung und künstliche Intelligenz einzuarbeiten. Aber nichts hat funktioniert.
Da merkt man erst wieder, wie gut der Mensch eigentlich funktioniert. Im Prinzip läuft das Problem darauf hinaus, eine gerade Linie erkennen zu können. Simple Sache – aber das einem Computer beizubringen ist absolut nicht trivial. Am Ende hatte ich dann eines Geisteblitz und innerhalb von ein paar Stunden war das Problem gelöst (und die Lösung hatte absolut nichts mit meinen vorherigen Versuchen zu tun).
Dimensionskurven
Ich konnte also endlich anfangen, mit der neuen Methode Phasenraumorbits zu untersuchen. Als Testsystem hab ich das Standardmap verwendet. Das ist ein klasissches chaotisches System das sich schnell berechnen lässt und den Vorteil hat, zweidimensionale Phasenraumorbits zu liefern die sich gut analysieren und vergleichen lassen. Ich habe also jede Menge Phasenraumorbits produziert und dann deren „Dimensionskurven“ bestimmt (so hab ich die Diagramme genannt, in denen ich die Änderung der fraktalen Dimension im Laufe der Zeit aufgetragen habe). Eine Dimensionskurve entsteht folgendermaßen: Ich nehme einen Phasenraumorbit der aus N Punkten besteht (z.B. N=1000) und bestimme dessen fraktale Dimension. Danach gehe ich einen Zeitschritt weiter und habe nun einen Phasenraumorbit mit N+1 Punkten und berechne wieder die fraktale Dimension, die nun einen anderen Wert annimmt. Danach bestimme ich noch einen Punkt des Phasenraumorbits und bekommen wieder einen neuen Wert für die fraktale Dimension – usw.
Hier ist ein Beispiel (ich entschuldige mich gleichmal für die schlechte Qualität der Bilder. Die Originaldaten meiner Diplomarbeit liegen irgendwo auf einer Backup-CD die ich nicht finde – ich hab die Bilder aus meiner Veröffentlichung genommen):
Oben links sieht man einen chaotischen Phasenraumorbit. Die Trajektorie gelangt überall und springt wild und her. Im Laufe der Zeit füllt sich der ganze Phasenraum aus. Oben rechts dann die zugehörige Dimensionskurve: Auch sie ist relativ chaotisch – aber man sieht dass die fraktale Dimension generell sehr groß ist – in diesem Beispiel liegt sie bei 1.79.
Auch unten links sieht man einen chaotischen Orbit – hier steht ihm aber weniger Platz zu Verfügung da im Phasenraum noch viele reguläre Bereiche sind (die weißen Gebiete). Wieder springt die zugehörige Dimensionskurve wild hin und her und wieder ist ihr Wert recht hoch (wenn auch niedriger als im ersten Beispiel).
Das ist genau das, was man sich für einen chaotischen Phasenraumorbit erwarten würde! Eine chaotische Bahn neigt dazu, den ihr zur Verfügung stehenden Raum schnell anzufüllen. Wenn der Phasenraum also zweidimensional ist, dann wird die Punktmenge der Trajektorie im Laufe der Zeit immer dichter anfüllen – sie wird also immer „flächiger“ werden und dementsprechend soll auch die fraktale Dimension sich der Phasenraumdimension annähern.
Das sieht man noch schöner in diesem Bild:
Oben sieht man die Dimensionskurve eines Phasenraumorbits. Sie steigt zuerst und nähert sich Werten von 1.75. Dann fällt sie plötzlich wieder stark und schnell um dann erneut wieder anzuwachsen. In den drei Bildern darunter habe ich angezeigt, wie das ganze im Phasenraum aussieht. Zuerst (ganz links) haben wir einen ganz normalen chaotischen Zustand – die Trajektorie füllt den Phasenraum. Dann (Mitte) wird der Orbit von einem regulären Bereich „eingefangen“ (genauer gesagt er verheddert sich im Cantorus) und wird sticky. Die Bahn sieht dann so aus wie ein regulärer Orbit und die Dimension beginnt zu sinken – bis sie dann wieder ausbricht und erneut chaotisches Verhalten zeigt.
Das ist schon ein oben beschriebener „sticky orbit“ – allerdings ein sehr schwacher. Zu Beginn klebt die Trajektorie am regulären Bereich (dass sind die dicken schwarzen Umrandungen der regulären Inseln oben links). Irgendwann bricht der Orbit dann aus und füllt schnell den restlichen Phasenraum. Das erkennt man auch wunderbar in der Dimensionskurve: zuerst ist die fraktale Dimension kleiner als eins und relativ konstant – bis sie dann plötzlich anfängt schnell größer zu werden. Hier habe ich das noch besser dargestellt:
Oben ist ein periodischer Phasenraumorbit mit zugehöriger Dimensionskurve zu sehen. Und darunter ist ein sticky orbit – diesmal ein ganz fieser! Die beiden Phasenraumorbits unterscheiden sich in den Anfangsbedingungen nur minimal voneinander (der berühmte Schmetterlingseffekt) – und sehen auch sehr ähnlich aus. Wenn man nur den Phasenraum betrachtet, dann erkennt man kaum einen Unterschied – obwohl eine Bahn ein reguläres System beschreibt und die andere ein chaotisches! Die Dimensionskurve zeigt den Unterschied jedoch deutlich!
Meine Methode schien also zu funktionieren! Man kann mit fraktalen Dimensionen Phasenraumorbits charakterisieren – und man kann sogar sticky orbits von regulären unterscheiden! Natürlich war es ein wenig sinnlos, das alles im Standardmap zu machen. Denn das hat ja sowieso einen zweidimensionalen Phasenraum und alles was ich in der Dimensionskurve sehe kann, sehe ich auch sofort im Phasenraumbild selber.
Dimensionskurven und noch mehr Dimensionen
Aber das war ja nur ein Testfall. Die Dimensionskurve ist nämlich IMMER zweidimensional – egal wie hochdimensional der Phasenraum ist. Wenn ich zum Beispiel die Sonne, den Jupiter und einen Asteroiden betrachte und wissen will, welche dynamischen Zustände der Asteroid einnehmen kann, dann hat der zugehörige Phasenraum vier Dimensionen. Das lässt sich schon nicht mehr einfach visualisieren. Die entsprechende Dimensionskurve ist aber zweidimensional und zeigt mir die dynamischen Informationen genauso. Die fraktalen Dimensionen sind also auch ein Weg, um beliebig hochdimensionale Phasenräume zu visualisieren.
Hier ist ein Beispiel – ich hab den Phasenraum eines vierdimensionalen Mappings untersucht:
Oben sieht man die Dimensionskurve und unten eine dreidimensinale Projektion des vierdimensionalen Phasenraums. Wie in dem Beispiel weiter oben erkennt man auch hier wunderbar, dass man es mit einer chaotischen Bahn zu tun, die sich zuerst in der Nähe eines regulären Bereichs herumtreibt; also sticky ist und dann ausbricht und den ganzen Phasenraum füllt.
Das geht natürlich auch, wenn man nicht mit abstrakten Mappings arbeitet sondern mit „echten“ astronomischen Systemen. Zum Beispiel dem Sitnikov-Problem. Da bewegt sich ein Planet unter dem Einfluss zweier Planeten und der zugehörige Phasenraum ist ebenfalls vierdimensional. Hier ist ein Beispiel:
Links sieht man die dreidimensionale Projektion eines chaotischen vierdimensionalen Phasenraumorbits des Sitnikov-Problems. Rechts ist die Dimensionskurve – und sie sieht zwar aus wie bei einem chaotischen Orbit – liegt aber bei deutlich geringeren Werten. Man würde irgendwas in der Nähe von 4 erwarten – die fraktale Dimension zeigt aber nur Werte zwischen 1.6 und 1.8. Das ist ein Hinweis darauf, dass sich der chaotische Phasenraumorbit nicht im gesamten vierdimensionalen Phasenraum bewegt sondern sich auf eine Untermenge des Raums einschränkt. Das würde bedeuten, dass ein sogenanntes „Integral der Bewegung“ existiert. Also eine Art Erhaltungsgröße im System (so wie Energieerhaltung oder Drehimpulserhaltung) die die unabhängigen Freiheitsgrade einschränkt.
Und genau so ist es auch – so ein Integral wurde im Sitnikov-Problem tatsächlich gefunden.
Besser kann man’s immer machen
Ich war – und bin es immer noch! – also sehr zufrieden mit meiner Arbeit. Die fraktalen Dimensionen haben sich als wirklich guter Weg erwiesen, dynamische Systeme zu beschreiben. Ich habe meine Ergebnisse dann auch veröffentlicht – aber wirklich durchgesetzt hat sich die Methode leider doch nicht. Denn sie hat einen großen Nachteil: sie ist nicht quantitativ. Ein echter Chaosindikator müsste eine Zahl als Ergebnis liefern der man eindeutig einen gewissen Grad an Chaotizität bzw. Ordnung zuordnen kann. Dann kann ich die Untersuchung dynamischer Systeme automatisieren und genau das ist es, was man bei den umfangreichen dynamischen Simulationen in der aktuellen Astronomie tun will. Meine Methode erlaubt das leider nicht. Ich habe zwar den Phasenraum auf eine einzige Kurve reduziert – aber diese Kurve muss dann immer noch jemand ansehen und interpretieren. Ich habe mir zwar immer mal vorgenommen, hier weiterzuarbeiten und meine Dimensionskurven zu quantifizieren, bin aber leider nie wirklich dazu gekommen. Vielleicht wenn ich mal in Rente bin und genug Zeit habe 😉
Ich war mit meiner Diplomarbeit jedenfalls trotzdem zufrieden. Es war interessant, sich mit fraktalen Dimensionen zu beschäftigen und mit chaotischen Systemen zu arbeiten. Aber dann war mir da doch zu wenig Astronomie dabei und ich habe mich für meine Doktorarbeit anderen Themen zugewandt…
Freistetter, F. (2000). Fractal Dimensions as Chaos Indicators Celestial Mechanics and Dynamical Astronomy, 78 (1/4), 211-225 DOI: 10.1023/A:1011157505026
Hübsch. 🙂 (in meiner Diplomarbeit habe ich leider nix so sinnvolles zustande gebracht…)
Eins habe ich aber noch nicht so ganz verstanden: Ein Phasenraumorbit gibt ja an, wie sich der Zustand des Systems mit der Zeit entwickelt, d. h. ein solcher Orbit enthält schon die komplette Zeitentwicklung des Systems (für gegebene Anfangsbedingungen). Sagst du ja im Prinzip oben selbst nochmal („Ein Orbit im Phasenraum eines dynamischen Systems beschreibt, wie sich dessen Zustand ändert.“) Z. B. bei einem Pendel beschreibt jeweils ein Phasenraumorbit die komplette Pendelbewegung, eine komplette Schwingung.
Wenn so ein Orbit also eigentlich die komplette Zeit schon abdeckt, wie kann man dann sagen, dass sich der Orbit mit der Zeit ändert?!?
@Bjoern: „Wenn so ein Orbit also eigentlich die komplette Zeit schon abdeckt, wie kann man dann sagen, dass sich der Orbit mit der Zeit ändert?!? „
Ok – ich werd das nochmal präzisieren… 😉
@Bjoern: Ich hab oben folgenden Absatz eingefügt:
„Eine Dimensionskurve entsteht folgendermaßen: Ich nehme einen Phasenraumorbit der aus N Punkten besteht (z.B. N=1000) und bestimme dessen fraktale Dimension. Danach gehe ich einen Zeitschritt weiter und habe nun einen Phasenraumorbit mit N+1 Punkten und berechne wieder die fraktale Dimension, die nun einen anderen Wert annimmt. Danach bestimme ich noch einen Punkt des Phasenraumorbits und bekommen wieder einen neuen Wert für die fraktale Dimension – usw.“
Ist es jetzt klarer?
@Florian: Danke! Du betrachtest also nicht den kompletten Orbit auf einmal, sondern immer nur einen „Teilorbit“, der nach einer endlichen Zeit entstanden ist (im Pendelbeispiel: du betrachtest nicht von vornherein den kompletten Kreis, sondern erst einen kleinen Kreisbogen, dann einen größeren, usw.). Habe ich das jetzt richtig verstanden?
@Bjoern: Ich betrachte den Orbit quasi nicht auf einmal, sondern der Reihe nach. Punkt für Punkt. Ich fang mit N Punkten an, dann kommen N+1 Punkte, dann N+2 – usw. Man kanns auch so wie du mit den Kreisbögen beschreiben, das stimmt auch.
Du kannst auch meinen Artikel in CMDA lesen – da ists mathematisch genauer beschrieben.
Angenommen du hast eine Menge aus den Punkten {X_i | i=1…N} dann ist die zugehörige Korrelationsdimension D^N.
Eine Dimensionskurve eines Phasenraumorbits X_i = (X_1, X_2, …, X_N) ist dann gegeben durch :
D^i für jedes i aus [Nstart,N] mit Nstart > 1
(mit N=0 oder 1 anzufangen macht mathematisch keinen Sinn und praktischerweise sollte man ~100 Punkte habe um eine fraktale Dimension zu berechnen).
In den Bildern im Artikel ist dann im Prinzip immer i vs D^i aufgetragen.
Juhu. Das is doch mal was für Herrn Br. (von mir aus auch beide *g*).
So funktioniert Wissenschaft – und nicht durch Fabulieren und alte Sagen lesen.
Ehrlicherweise hab ich nur wenig wirklich verstanden, aber ich find die Geschichte mit Ableitungen, aus deren Ableitungen dann Ableitungen erstellt werden können, die mir etwas wichtiges über das Ursprungssystem aussagen, ziemlich cool.
Hätt ich doch bloß weiterstudiert. Kagge Faulheit und Geldgier. 🙂
(OT: hab gestern meine DA abgegeben)