Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Gemeinsamkeiten

geschrieben von Konrad 
In diesem Forum können zur Zeit keine Beiträge verfasst werden. Bitte versuche es später noch einmal.
Gemeinsamkeiten
20. July 2003 22:24
Hallo,

Richys Erweiterung von meinem Polstellenalgorythmus und die daraus resultierenden Bilder hat mich auf die Idee gebracht die Gemeinsamkeiten und die Unterschiede der Figuren Feigenbaum und Mandelbrot aufzuzeigen.

1. Gleichung
Feigenbaum: y = a * x * ( 1 - x )
Mandelbrot: y = x * x + c
beides sind quadratische Gleichungen

2. Rechenregeln
in beiden Fällen wird die Formel immer wieder auf sich selber angewandt, also x(n+1) = y(n)
Anmerkung1: Normalerweise verwendet man diskrete Zahlen, es ist aber auch möglich die Formeln direkt ineinander einzusetzen. Es entstehen dann aber sehr schnell Polynome sehr hoher Ordnung.
Anmerkung2: Es ist möglich die Iteration auch rückwärts laufen zu lassen. Eine solche Rückwärtsiteration ist der in diesem Forum entstandenen "Polstellenalgorythmus für die Verhulst Gleichung"

3. Startwerte
Es werden in beiden Fällen willkürliche Startwerte für x gewählt.
Es ist in diesem Forum bereits gezeigt worden, dass es spezielle Startwerte gibt, bei denen sich die Iteration völlig anders verhält. ( Diese Startwerte führen exakt zu einem abstossenden Fixpunkt, welcher dann den Endzustand der Itaration darstellt)
Es ist in diesem Forum auch gezeigt worden, dass für alle anderen Startwerte der Verlauf der Iteration vom Startwert abhängt, nicht aber der Endzustand nach unendlich vielen Iterationen.

4. Variablen
Feigenbaum: 1 < a < 4
Mandelbrot: c ist eine komplexe Zahl

5. Darstellung
Feigenbaum: Es werden über der Achse a die Ergebnisse mehrerer aufeinander folgender Iterationsschritte dargestellt.
Mandelbrot: In der komplexen Zahlenebene c wird farblich dargestellt, wie viele Schritte erforderlich sind bis die Iteration einen bestimmten Zahlenbereich verlassen hat.


Es wäre nun denkbar, die Feigenbaumformel auch auf komplexe Zahlen anzuwenden und genau so wie das Mandelbrötchen darzustellen.
Ebenfalls wäre vorstellbar bei der Darstellung der Mandelbrotmenge auf die vom Feigenbaum bekannten Phänomene einzugehen. Die bis anhin schwarzen Flächen des Mandelbrotes bekämen eine Struktur, wenn man klären würde ob die Iteration auf einen punkt zuläuft, zwischen verschiedenen Werten iteriert, oder eine chaotische Folge erzeugt.

folgenden Kriterien könnten für die Einfärbung verwendet werden:
- konvergiert auf einen Wert
- Oszilliert zwischen 2 / 4 / 8 / 3 / 5 / 6 etc. Werten
- Chaotisches Verhalten, aber Wertereich wird nicht verlassen.
- Verlässt den Wertebereich schnell
- Verlässt den Wertebereich langsam

Konrad
Re: Gemeinsamkeiten
23. July 2003 00:13
Hallo

noch kämpfe ich mit den Farben, aber es scheint tatsächlich einen Bereich im mandelbrötchen zu geben mit periodischen Attraktoren

Konrad
Re: Gemeinsamkeiten
23. July 2003 19:02
Hallo,

Also jetzt etwas aussagefähigere Farben

weiss = Wert tendiert gegen unendlich
schwarz = Wert bleibt stabil
grün = Wert wechselt zwischen zwei Endwerten
rot = Wert wiederholt sich in einem Zyklus von 3-8
gelb = Wert wiederholt sich in einem Zyklus von 9-16
blau = Wert wiederholt sich in einem Zyklus von 17-64
braun = Wert wiederholt sich nicht innnert 64 Iterationen.

Ob das nun eine bahnbrechende Errkenntnis ist, weiss ich nicht.

Konrad
Re: Gemeinsamkeiten
24. July 2003 13:28
Hallo,

noch ein Bild
gleiche Farben wie vor, aber die Punkte werden bei den Endwerten der Iteration gesetzt, nicht beim Variablenwert c. Diese Darstelling ist analog zum Feigenbäumchen, aber in einer Ebene eigentlich nicht darstellbar, die Punkte überschreiben sich leider mehrfach.

Zur Orientierung das Mandelbrötchen in Grau im Hintergrund

Konrad
Re: Gemeinsamkeiten
24. July 2003 15:34
hallo konrad
hey jetzt schlaegst Du aber mit den Grafiken zu. Die Idee auch in der Mandelbrotmenge peri0den farblich zu finden ist ja auch sinnvoller als irgendwelche Phantasiefarben. hmm die Juliamenge hat die selbe Formel zur Grundlage. Aber was war was ? Glaube c variieren war Juliamenge.
Hab mal gelesen, dass der Typ der Bilder vom charakter der Gleichungen abhaengt. Da hies es dann quadratischer Dialekt sinus Dialekt usw.
hmm aber unser Rueckwaertsrechnen ist ja Wurzel Dialekt. Komisch bin
mir aber sicher das Bild von mir zeigt ne Juliamenge. Wenn noch niemand auf die Idee mit dem Ruechwaertsrechnen gekommen ist, dann waere es wirklich was Neues, denn wie gesagt analytisch geht da ab Grad 6 nichts.
Finde es auch gut, dass das komplexe Rechnen in unserem Fall logisch aus der Aufgabe folgt, also nix kuenstliches ist. Aufgrund der Symetrie zur Horizontalen sind die Pole auch konjungiert Komplex.
(x-Ia)(x+Ia)=(x**2 - I**2*a**2)=x**2 + a**2. Das Polynom also wie es sein soll nicht komplex.

Wie gesagt die Schnitte mit der 45 Grad Linie waeren interessant. Wahrscheinlich aehnliche Bilder. Aber man muesste ax(1-x) so veraendern, dass p(k,x)-x erzeugt !!! wird ... oder p(k-x)-x+1. Ne Horizontale halt.
Dann koennte man Deinen Algo auch daruaf anwenden. Ich lese nochmal Deine Threats. Vielleicht krieg ich ne Idee :-)

Das erste Polstellenbild polstellen.gif von Dir gefaellt mir sehr gut. Das sind die reelen Pole wie im Feigenbaumdiagramm dargestellt oder ? Also von meinem Bild die Schnittpunkte mit der Horizontallen. reellen Achse.
Man sieht sehr schoen wie mit zunehmendem a immer mehr reelle Pole entstehen. Bin mir aber nicht sicher ob Du damit alle reellen erfasst, wenn
Du einfach abbrichst. Ich hab auch mal die Punkte mit Zahlen markiert, die
das " Vorzeichenmuster" darstellen. Vielleicht doch auch recht interessant.
Ah jetzt verstehe ich das auch mit dem Wassertropfen. Ist yoi fuer alle anderen abstossend ? Habe ich gar nicht so registriert.

Ciao
richy



Nachricht bearbeitet (24.07.03 15:57)
Re: Gemeinsamkeiten
03. August 2003 18:42
Hallo,

Untersuchungen zu der Mandelbrotfunktion z = z**2 + c m reellen Zahlenbereich

- Für c < 0,25 hat die Funktion 2 Schnittpunkte mit der 45 Grad Linie, diese liegen bei 0,5+(0,25-c)**0,5 und 0,5-(0,25-c)**0,5

- Es können für alle c < 0,25 mittels Polstellenalgo Punkte gefunden werden, welche während der Iteration auf direktem Wege zu diesen Schnittpunkten führen.

- Die Ableitung lautet z' = 2z. Rechnet man die Ableitung in den beiden Schnittpunkten aus, findet man beim grösseren Wert immer Werte über 1,0. Beim unteren Wert UND bei Werten für c zwischen -0,75 und 0.25 ist die Ableitung zwischen -1,0 und 1,0. Das heisst: Der untere Wert ist ein anziehender (Attraktor), der obere ein abstossender Punkt. Für c < -0,75 werden beide Fixpunkte abstossend.

- Wendet an die Mandelbrotfunktion auf sich selbst an erhält man im ersten Schritt z = z**4 + 2 * z**2 * c + c**2 + c. Diese Gleichung hat für c zwischen -0,75 und 0,25 zwei Schnittpunkte mit der 45 grad Linie. Für kleinere c gibt es zwei weitere Schnittpunkte. Bis zu einem noch zu bestimmenden Grenzwert von c sind diese die periodischen Attraktoren der Originalfunktion.

- Wie ich schon vermutet habe: Die Gleichung z = z**2 + c ergibt auch einen Feigenbaum, wenn man die Iterationsergebnisse in Abhängigkeit von c anzeigt. In der Grafik ist der Bereich für c von -2,0 bis -0,5 angezeigt. Die Stelle wo sich der Baum das erste Mal teilt (Bifurkationsstelle) liegt bei c = -0,75, was mich nicht überrascht.

PS: bei ungenügender Anzahl Vorlaufiterationen entstehen in Abhängigkeit vom Startwert die schon heftig diskutierten Ferrari Rippen.

Konrad
Re: Gemeinsamkeiten
03. August 2003 19:08
Hallo Richy,

Polstellen.gif zeigt die mittels meinem Algo gefundenen Fixpunkte. Diese sind aber nicht identisch mit den im Feigenbaumdiagramm angezeigten Iterationswerten.

Ich rechne Startwerte aus, welche nach einer endlichen Zahl von Iterationsschritten genau zur exakten Lösung führen.

Das Feigenbaumdiagramm hingegen zeigt die periodischen und chaotischen Attraktoren welche nach einer quasi unendlichen Anzahl Iterationen von allen anderen Startwerten aus erreicht werden.

Die Definition der Juliamenge lese ich mir besser erst einmal durch

Für a > 3 ist die exakte Lösung (yoi) ein abstossender Punkt, kann also durch Iteration von einem beliebigen Punkt aus nicht erreicht werden.

Es gibt unendlich viele reelle Pole, jede Rückwärtsiteration gibt mindestens zwei, maximal die bereits gefundene Anzahl, neue Pole aus.

Konrad
Re: Gemeinsamkeiten
04. August 2003 00:58
hallo

Nun auch noch das Verhalten der Gleichung y = a * x * ( 1 - x ) im komplexen Raum.

Startwert ist x.real=0,5 x.imag=0

dargestellt wird der Bereich für a.real von 0,4 bis 4,0

die roten Linien stehen bei a=1, a=2 und a=3

das ab a=3 ein Wechselspiel zweier Endwerte stattfindet ist ja wohlbekannt und hier durch grüne Farbe dargestellt.

Interessant und von mir noch nicht ergründet ist die totale Symmetrie der Figur bei a = 1

Konrad
Re: Gemeinsamkeiten
05. August 2003 13:37
Hallo Konrad
Hey klasse. Unsere Methoden kann man natuerlich auch auf die Mandelbrotgleichung anwenden. Ich muss das noch paar mal durchlesen
damit ich folgen kann. Und am Rechner ausprobieren. Aha bei Mandelbrot
hast Du das erst mal im reellen untersucht.
Das letzte Bild ist ja der Hammer. Erhaelt man das wenn man das, wenn man den Mandelbrotalgo fuer Verhulst benutzt ? Hab den Algo nie programmiert, weil das ja schon so viele gemacht haben. Das werde ich wohl aendern hehe.
Das Bild verh.gif habe ich so noch nirgends gesehen. Wieder mal ganz neue Ansatzpunkte. Kannst Du kurz den Programmcode skizzieren wie Du das Verhalten fuer die Faerbung detektierst ?

Ich versuche am Ball zu beleiben.
ciao
richy
Re: Gemeinsamkeiten
05. August 2003 17:48
Hallo,
zum Programm:
in einer ersten repeat until schleife werden die Vorlauf Iterationen gemacht. dabei ist aufzupassen, ob der Wert in sehr grosse Werte abhaut, wenn ja muss man abbrechen.

in einer zweiten auf maximal 64 Durchläufe beschränkten Schleife wird verglichen ob der Wert sich innerhalb dieser Durchläufe wiederholt. (Toleranz ist mittels cagleich Funktion eingebaut). Wenn ja wird anhand des Schleifenzählers die Farbe gesetzt (case of Anweisung) und die Schleife abgebrochen.

Konrad
Re: Gemeinsamkeiten
05. August 2003 17:50
Die .pas Datei am besten auf Platte speichern und mit Notepad öffnen.
Re: Gemeinsamkeiten
05. August 2003 20:04
Hallo Konrad
Vielen Dank fuer den Quellcode. Werde mal versuchen das auch in Java zu implementieren. Quellcode geht auch so anzuschauen. Aber stimmt mit Notepad ist besser.
Sitze gerade im Internetcafe. Also erst nochmal Deine anderen Threads lesen.
ciao
richy
Re: Gemeinsamkeiten
10. August 2003 15:42
Hallo,

habe mich nun noch etwas weiter mit dem Thema beschäftigt:

Darstellungsart Feigenbaum:
Auf der Achse der Variablen a werden die Iterationsergebnisse dargestellt. Der Startwert wird willkürlich gewählt

Darstellungsart Juliamenge:
In einer Ebene von komplexen Startwerten wird die Grenze zwischen Gefangenen- und Fluchtmenge für eine gewählte Variable c dargestellt.

Darstellungsart Mandelbrot:
In einer Ebene der komplexen Variablen c wird dargestellt, ob die zu c gehörige Juliamenge geschlossen oder offen ist. Dazu wird das Verhalten des kritischen Punktes untersucht.

Bei z=z*z+c ist der kritische Punkt bei z=0. Bei y=ax(1-x) ist der kritische Punkt bei 0,5. (der kritische Punkt ist mit dem scheitelpunkt identisch)

Somit ist der Grund gefunden, warum der Startwert bei verh.gif eben 0,5 sein musste. Ihr könnt es nicht wissen, aber andere Startwerte haben nur Müll ergeben.

Zu der Symmetrie habe ich ebenfalls neue Erkenntnisse: ich habe mal für a werte von -3 bis 5 den ( reellen ) Startwert 0,5 zweimal iteriert und beim Ergebniss die Kurvensteigung (mittels erster Anleitung) berechnet. Und siehe da: Die Steigung bei a= -3 ist gleich der von a=5, die Steigung von a=-1 ist gleich der von a=4 usw. Das die Iteration, wenn sie an eine Stelle gerät, die die gleiche Steigung hat wie eine andere Itaration an anderer Stelle, sich bei weiterer Iteration zu der anderen Iteration ähnlich verhält ist zwar unbewiesen, erscheint aber logisch.

Dann habe ich etwas über ein Kernquadrat gelesen. Für ein Kernquadrat nimmt man den weiter vom Scheitelpunkt entfernten Schnittpunkt mit der 45grad Linie geht horizontal rüber zum anderen Parabelast und runter zur 45 grad Linie und wiedr horizontal bis unter den Schnittpunkt. Kompiziert ? Das Kernquadrat der Verhulst Gleichung mit positivem a liegt bei 0/0 - 1/0 - 1/1 - 0/1.
Es gibt aber auch bei der Mandelbrotgleichung und bei der VerhulstGleichung mit negativem a Kernquadrate.

Wozu ist das Kernquadrat gut: Die Funktionskurve schneidet das Quadrat definitionsgemäss in zwei Ecken mit gleichem y-Wert. Verlässt die Kurve dazwischen das Qaudrat nicht, gibt es eine geschlossenen Juliamenge.
Für Reelle Zahlen:
bei y=ax(1-x) ist dies für -2<a<4 der Fall,
dies ist bei Verh.gif der nicht weisse Anteil auf der Achse der reellen Zahlen.
bei z=z*z+c ist dies für -2<c<0,25 der Fall
dies ist der Bereich der Mandelbrotmenge auf der Achse der reellen Zahlen.

Nun noch ein Wort zu Verh.gif
Hier habe ich a in den Bereich der komplexen Zahlen erweitert. Ob dies eine gute Idee ist, glaube ich aber nicht. Die Formeln werden nun so kompliziert, dass algebraische Lösungen nicht mehr möglich sind.
Hier die Lösung für yo, die Lösung der Funktion: yo = a * yo * ( 1 - yo) ( anderswo haben wir dies yoi genannt, das i lass ich aber lieber weg um
keinen Durcheinander zu bekommen, reell lautet die Lösung (a-1)/a )

yo = uo + jvo
a = b + jc
j * j = -1

uo = ( b^2 - b + c^2) / ( a^2 + b^2 )
vo = 1 / ( a^2 + b^2 )

Dies ist erst der Stamm des Binärbaumes, davon ausgehend müsste y1, die erste Verzweigungstelle und dann rekursiv weitere Knoten gefunden werden. Wer Lust hat.....

Konrad
Re: Gemeinsamkeiten
10. August 2003 15:47
Hallo,

... aber das habe ich ja schon, zumindest für a deren imaginärteil Null ist. Richys Polstellenalgo passt wunderbar. Und ich muss auch gar nicht die erste Verzeigung suchen, denn auch im Stammknoten finden sich zwei Lösungen, die eine ist wiederum der Stammknoten, die andere die erste Verzweigungstelle.

Und wenn ich das ins Polstellenalgo Prog reinbastle, sehe ich das ich im anderen Thread Mist verzapft habe.

yoi hat eben einen kompexen Anteil, auch wenn a keinen hat !!!!

Hi Richy, denk mal darüber nach, di musst Dein JAVA Prog vermutlich ändern.

Konrad
Re: Gemeinsamkeiten
10. August 2003 16:12
Halt Halt

ich war zu schnell, habe soeben mehrere Fehler in meinen Formeln entdeckt

richtig ist

yo = uo + jvo
a = b + jc
j * j = -1

uo = ( b^2 - b + c^2) / ( b^2 + c^2 )
vo = c / ( b^2 + c^2 )

und damit wird bei nicht vorhandenem imaginärteil von a unser yoi wie von uns erwartet.

yoi realteil = (a-1) / a und yoi imaginärteil = 0

Nochmals Sorry

Konrad
Re: Gemeinsamkeiten
11. August 2003 18:53
Hallo,

Hier eine allgemeine Lösung, welche gleichermassen für Feigenbaum wie auch für Mandelbrotgleichung und weitere quadratische Gleichungen gilt.

Die allgemeine quadratische Gleichung lautet:

y = ax^2 + bx + c

wobei a,b reelle Zahlen sind, also keinen Imaginäranteil haben, und y,x und c komplex sind

die Schnittpunkte mit der 45grad Linie können gebildet werden durch y=x
x = (1-b) / 2a +- sqrt( ( (1-b) / 2a )^2 - c/a )

Es ist die komplexe Wurzel zu ziehen.

Mit den beiden so gefundenen komplexen Wurzeln kann man in die Rückwärtsiteration einsteigen.

x(k-1) = -b / 2a +- sqrt( ( b / 2a)^2 - ( c - x(k) )/a )

Auch hier ist eine komplexe Wurzel zu ziehen und man erhält wieder zwei Resultate.

Hier eine Grafik für einen allgemeinen Fall, in diesem Fall eine offene Juliamenge
Darstellungseben ist immer die komplexe Ebene x
Anzahl der Iteration = 20 bedeutet 2^20 also 1Million Punkte berechnet.

Konrad
Re: Gemeinsamkeiten
11. August 2003 18:56
Hier eine Grafik, die eine Juliamenge des mandelbrötchens darstellt.

Für die Mandelbrotgleichung gilt
a=1
b=0
c= Punkt von dem die Juliamenge geeigt werden soll
Re: Gemeinsamkeiten
11. August 2003 18:58
Und hier Richys Polstellenbild bei 1 plus Wurzel 5

Für die Feigenbaum (Verhulst) Gleichung gilt

a = -b
c = 0
Re: Gemeinsamkeiten
11. August 2003 19:02
Zuletzt noch ein Bild bei a=-b = -3,7 also da wo das Feigenbäumchen im chaotischen Zustand ist.

Ich komme mehr und mehr zur Überzeugung dass unsere Pole einfach Juliamengen sind. Und mit diesem letzten Prog kann ich nun für jede quadratische Gleichung die Juliamenge mittels Polstellenalso finden.

Genial ? Leider dauert die Berechnung bei Iterationsangaben jenseits 30 eine Ewigkeit. Andere Algos sind da wesentlich hurtiger.

Konrad
Re: Gemeinsamkeiten
15. August 2003 13:56
Hallo Konrad
Hey das Bild offen.gif ist ja genial. Ich bin mir auch ziemlich sicher, dass der Rueckwaertsalgo Juliamengen liefert. Du hast ja auch in einem Thread eine Begruendung dafuer genannt. Ich muss deine Bilder unbedingt mal praktisch nachvollziehen. Zur Zeit halt so viele Musiktermine. Klar, dass der Algo fuer 2 hoch 30 Iterationen sehr lange braucht. Ich hatte mal empirisch festgestellt, dass das Durchlaufen einer zufaelligen Vorzeichenfolge auch schon den groessten Teil der Menge liefert. Man kann den Algo also auch ohne die exakte Vorzeichenbestimmung rechnen lassen. Also einfach bei jedem Schritt PLUS oder MINUS zufaellig per Randomfunktion auswaehlen. Das ist dann ein Zweig der 2 hoch 30 Zweige. Denke mal die meisten Zweige liefern soundso aehnliche Ergebnisse.
Man kann den Algo dann auch "ewig" laufen lassen. Ich denke so ist das dann einer der schnelssten (der schnellste?) Algos zur Erzeugung von Juliamengen. Pro Punkt nur eine Berechnung !
BTW: Man kann sich hier auch registrieren. Dann kannst Du Deine Threads auch hinterher bearbeiten und notfalls korrigieren. Finde ich ganz praktisch. Ich hoffe ich kann bald wieder tiefer in das Thema einsteigen.
ciao
viele Gruese aus dem sonnigen Ka
richy