Wie wichtig ist der Zufall in evolutionären Algorithmen?



  • Du verkennst etwas: Die komplette Simulation mit dem genetischen Algo ist ein großer Pseudozufallsgenerator. Der kann gigantiche Periedenlämgen haben, ohne daß Fremdzuzfall zugeführt werden muß.
    Mit "gigantisch" meine ich nicht nur 10 hoch (ganz viel), sondern sowas wie "Abschätzung unralistisch" auf http://de.wikipedia.org/wiki/Fleißiger_Biber



  • Das ist egal. Die nötigen Informationen liefert die Oberfläche der Fehlerfunktion auf denen die Individuen erzeugt werden. Solange dein Verfahren eine lokale Metrik auf dieser Fehleroberfläche schätzen kann (paradebeispiel CMA-ES), ist es egal, wie die Zufallszahlen aussehen. Wir haben zum Beispiel nach mehreren jahren gemerkt, dass unsere mehrdimensionale Gaussverteilung mit dem von uns verwendeten RNG spiralen auf der Oberfläche erzeugt. Guess what? hat tadellos funktioniert.



  • Ich hatte es so verstanden, dass der TE mit seinen evolutionären Algorithmen (nicht genetischen Algorithmen) eine hübsche Evolutionssimulation bauen will. Also er drückt auf Start und sieht schön viele kleine unterschiedliche Viecher sich entwickeln. Wäre natürlich blöd, wenn jede Simulation da den gleichen Ablauf hat. Eventuell habe ich das aber auch missverstanden.
    (Frage: gibt es bei der Evolution ein Optimum?)



  • ipsec schrieb:

    (Frage: gibt es bei der Evolution ein Optimum?)

    Das hängt wohl eher von deiner Fitnessfunktion ab. Es kann beliebig viele gleichwertige Minima in der Fehleroberfläche geben 😉

    Als Beispiel:
    sin(x) = 1

    Da hast du unendlich viele Lösungen für x...



  • Gut. Ich hätte wahrscheinlich nicht von evolutionären Algorithmen reden sollen.
    Worauf ich eigentlich hinaus wollte ist eine Simulation unseres Universums inklusive der Erde und aller Lebewesen.
    Also angenommen man hätte unendlich viel Speicher und Rechenleistung.
    Im Moment des Urknalls enthielt das Universum nur sehr wenig Information. Mit der Zeit wuchs aber die Entropie und damit auch der Informationsgehalt.
    Wollte man also die Entwicklung des Universums, angefangen beim Urknall, im Computer simulieren, müsste man der Simulation dann nicht ständig Information hinzufügen, um die Entropie weiter und weiter zu erhöhen?
    Verwendet man einen Seed von 20000 bits, dann könnte dieses "Universum" zwar 220000 verschiedene Endzustände annehmen, das ist aber doch ziemlich wenig. Das reale Universum hat 1080 Atome. Ich bin mir nicht sicher wie hoch die Anzahl der möglichen Zustände ist, aber es dürfte mehr als 101080^ sein.



  • DrZoidberg schrieb:

    Mit der Zeit wuchs aber die Entropie und damit auch der Informationsgehalt.

    Eventuell.

    a) Das Universum ist deterministisch, vorherbestimmt, zwangsläufig und so. Daher nimmt der Informationsgehalt gar nicht zu.

    b) Es ist nicht deterministisch, aber die Entwicklung ist zwangsläufig, zum Beispiel fällt alles wieder zurück in einen erneuten Urknall, dann ist zwischenzeitlich mal mehr Information da, aber die ist irrelevant und kurzlebig.

    c) Es ist nicht deterministisch und fehlerverstärkend (meine Vermutung). Dann schlägt sich jedes Bit aus dem seed nieder. Jede mögliche Bitfolge erzeugt ein eigenes unverwechselbares Universum. Wenn es Quantensprünge noch gäbe, konnte man wohl dort reinzufallen. Wieviele Quantensprungentscheidungen seit dem Urknall?

    Beim Suchen nach "komplexen" Lebewesen kommt es auf die Spielregeln an, wie die Guten ausgesucht werden und wie sie sie Schlechten verdrängen. Manchmal tentieren die Lösungen in die selbe Richtung. Vielleicht ist das Modell "Symmetrischer Zweibeiner mit Hirn oben" prinzipiell am stärksten und gewinnt in allen Universen. Dann hat der Zufall am Ende viel weniger Effekt. Die Welt wäre zwar stark zufällig im Detail (wenn ich nur mal an die Namen der ganzen Chinesen denke), aber da alle Welten zu "Symmetrischer Zweibeiner mit Hirn oben" konvergieren, ist es recht egal, wie stark der Zufall ist, wenn man nur einen Guten sucht.


  • Mod

    DrZoidberg schrieb:

    Gut. Ich hätte wahrscheinlich nicht von evolutionären Algorithmen reden sollen.
    Worauf ich eigentlich hinaus wollte ist eine Simulation unseres Universums inklusive der Erde und aller Lebewesen.
    Also angenommen man hätte unendlich viel Speicher und Rechenleistung.
    Im Moment des Urknalls enthielt das Universum nur sehr wenig Information. Mit der Zeit wuchs aber die Entropie und damit auch der Informationsgehalt.
    Wollte man also die Entwicklung des Universums, angefangen beim Urknall, im Computer simulieren, müsste man der Simulation dann nicht ständig Information hinzufügen, um die Entropie weiter und weiter zu erhöhen?
    Verwendet man einen Seed von 20000 bits, dann könnte dieses "Universum" zwar 220000 verschiedene Endzustände annehmen, das ist aber doch ziemlich wenig. Das reale Universum hat 1080 Atome. Ich bin mir nicht sicher wie hoch die Anzahl der möglichen Zustände ist, aber es dürfte mehr als 101080^ sein.

    Schön, das gibt dir die Anzahl der möglichen Universen die du mit deinem Computer simulieren kannst. Aber wo ziehst du die Verbindung mit der möglichen Komplexität der so entstehenden Universen?



  • Muss der Computer der das Universum simuliert auch simuliert werden?



  • DrZoidberg schrieb:

    Worauf ich eigentlich hinaus wollte ist eine Simulation unseres Universums inklusive der Erde und aller Lebewesen.

    Alle Information steckt in dem Programmcode deiner Simulation. Nichts kann da irgendwie Informationen hinzufügen. Das Einzige, was der PRNG da verändern kann ist, wie gut du die Informationen ausschöpfen kannst. Das wirkt sich aber nur dadurch aus, dass du mit einem PRNG niemals alle möglichen Universen erzeugen kannst. Aber das willst du ja auch nicht. 1 Universum wird dir für den Anfang sicherlich reichen ;).

    (vergiss niemals, dass egal welche Sequenz ein noch so schlechter PRNG erzeugt, diese Sequenz auch genau so von einem echten RNG erzeugt werden könnte)



  • otze schrieb:

    Alle Information steckt in dem Programmcode deiner Simulation. Nichts kann da irgendwie Informationen hinzufügen.

    Dessen war ich mir auch völlig sicher; bis Du es ausgesprochen hast. (Liegt nicht an Dir persönlich, ich bezweifle alles, was ich lese.)

    Ist das so? Kann man ein Programm schreiben, was so schlau wie ein Mensch ist? Nehmen wir das mal an. Ich bin der Meinung, daß die Menschheit derzeit Wissen schöpft. Ist das der Gegenbeweis, daß Programme niemals schlau werden? Das mag ich nicht glauben.


  • Mod

    Wenn Programme keine Information erzeugen könnten, dann wäre die ganze Computerei sinnlos. Aus einfachen Grundregeln kann (und wird in der Regel auch) komplexes Verhalten folgen. Das nennt man Emergenz und ist praktisch die Basis unseres ganzen Weltbildes, welches alles auf einfache Grundregeln zurückführen will und kann. Und da dieses Weltbild so gut funktioniert, ist da wohl auch was dran.

    Schönes Beispiel für Informatiker ist Langtons Ameise. Der Programmcode passt auf eine Bildschirmseite, aber das was rauskommt, darüber kann man ein halbes Buch schreiben.



  • Aber am Ende steckt alles bereits im Programm drin. Es kann nichts erzeugen, was nicht aus dem Programmcode herleitbar ist. Vielleicht war es uns beim Schreiben des Programms nicht klar, wie sich unser Code verhält, aber das ist eher einem Mangel von Informationen auf unserer Seite zu verdanken. Damit ist ein Programm, insbesondere eine Simulation nicht mehr als ein sehr effizienter Weg um einen bestimmten Typ von Information komprimeirt zu speichern.


  • Mod

    Trotzdem enthält das Ergebnis sehr viel mehr Information als das Programm selbst.



  • Wie kann das sein, wenn das Programm doch so viel kleiner ist?

    Bei einem zip-archiv sagt man doch am Ende auch nicht, dass der Entpackte Ordner am Ende mehr Informationen hat als das Archiv. Die Information belegt nur mehr Platz.

    Wo ist der konzeptionelle Unterschied?



  • SeppJ schrieb:

    Schönes Beispiel für Informatiker ist Langtons Ameise. Der Programmcode passt auf eine Bildschirmseite, aber das was rauskommt, darüber kann man ein halbes Buch schreiben.

    Ja, ist schön.
    Aber der Füller des halben Buches stopft Menschenwissen in das Buch und kein Ameisenwissen.
    Die Ameise allein macht nur ein flächig ausgedehnt unendliches Muster, denklich recht beschränkt und wird schnell langweilig, das genau kein Bit mehr Information trägt als ihr Programm. Tut man die Ameise mit echtem Zufall füttern, kann sie den Bildschirm mit der Zeit total verrauschen.

    Mhhm. Langsam kommt's.
    Nehme ich mal das GameOfLive. Da gibt es ja nette Anfangszustände, die zum Beispiel Primzahlen rausschießen oder "hello world" in ASCII schießen. Denkbar sind auch Anfangszustände, die den Koran schießen. Ach, lassen wir das Game weg. Ein Zufallsgenerator kann jedes erdenkliche Buch schreiben. Doch wage ich zu vermuten, daß mein Würfel im Monopoly-Karton nicht klug ist.

    Menschen machen derzeit spaßige Sachen, wie Terabytefestplatten unter Ausnutzung des Riesenmagnetwiderstands, bilden Organisationen wie die katholische Kirche oder die öffentlich-rechtlichen Sender.

    Hmm, vielleicht sind wir mit unserer physikalischen Standardtheorie mit dem Urknall auf so einem planlosen Weg wie die Ameise und in Wirklichkeit wurde wie Welt vor ca 6000 Jahren von Gott erschaffen. Vielleicht erzeugen wir gar kein Wissen, sondern nur Müll. Nur daß wir die Welt stark beeinflussen, muß ja nicht viel wertvoller sein, als daß die Ameise viele Felder schwarz macht.

    Muß darüber nachdenken. Nicht gut das. Emergenz. Fragwürdige Sache das.


  • Mod

    otze schrieb:

    Wie kann das sein, wenn das Programm doch so viel kleiner ist?

    Bei einem zip-archiv sagt man doch am Ende auch nicht, dass der Entpackte Ordner am Ende mehr Informationen hat als das Archiv. Die Information belegt nur mehr Platz.

    Wo ist der konzeptionelle Unterschied?

    Der Unterschied ist, wie volkard in einem Nebensatz sagte, aber wohl nicht ganz wahrgenommen hat, dass die Ameise nur geringes Ameisenwissen erzeugt, aber extrem viel Menschenwissen. Diese Information ist in den Mustern die hinterher rauskommen, die man erst auf einer höheren Betrachtungsebene sieht.



  • SeppJ schrieb:

    wie volkard in einem Nebensatz sagte, aber wohl nicht ganz wahrgenommen hat, dass die Ameise nur geringes Ameisenwissen erzeugt, aber extrem viel Menschenwissen

    Und das kapiere ich einfach nicht. Kannst mich hauen, aber es will nicht in meinen Kopf rein. Die Ameise läuft nur dumm rum, würde ich meinen. Ich erkenne das und lerne am Ende, daß ich nichts gelernt habe. Der Ameisenweg ist langweilig und irrelevant. Zeitverschwendung(?).

    Zwischenfrage: Ist es Dir völlig klar und einleuchtend, daß sie Menschenwissen erzeugt?
    Ein klares "Ja" von Dir würde mich beflügeln, weil Du für mich weit oben in der Glaubwürdigkeitsskala stehst.



  • SeppJ schrieb:

    Der Unterschied ist, wie volkard in einem Nebensatz sagte, aber wohl nicht ganz wahrgenommen hat, dass die Ameise nur geringes Ameisenwissen erzeugt, aber extrem viel Menschenwissen. Diese Information ist in den Mustern die hinterher rauskommen, die man erst auf einer höheren Betrachtungsebene sieht.

    Und wie bereits ich in einem nebensatz bermerkt habe, ist das keine Erzeugung von Information. Für den Mensch ist die Ameise nichts weiter als ein Buch.
    Am Ende eines Buchs ist der Mensch schlauer, weiß mehr, stellt vielleicht auch neue Fragen, aber es ist keine neue Information hinzu gekommen. Sie wurde nur ein weiteres mal aus dem Buch in den Mensch kopiert. Vielleicht bereitet das Buch die Information besonders auf, hat bunte Grafiken oder ein tolles Stichwortverzeichnis, aber am Ende war der Zeitpunkt an dem Information erzeugt wurde der Punkt an dem der Author sich hingesetzt hat und alles was er herausgefunden hat in dieses Buch schrieb.

    Ich weiß dass du darauf hinaus willst, dass eine Art Informationsgefälle existiert: Der Mensch weiß etwas nicht, aber sobald er das Ameisenmuster sieht, weiß er etwas mehr. Aber das lässt sich viel einfacher durch Informationskopie als durch Informationserzeugung beschreiben.

    zur Emergenz:
    Emergenz ist zwar ein netter Begriff, aber bedeutet für mich vor allem, dass der Mensch nur schwierig das Zusammenspiel verschiedener Regeln verstehen kann. Wie sich die Regeln der Ameise zueinander verhalten bleibt ihm verborgen, bis er das Muster sieht, aber am Ende hätte er all diese Effekte auch direkt aus den Regeln sehen können - er hat nur nicht genug Rechenkapazität.


  • Mod

    volkard schrieb:

    SeppJ schrieb:

    wie volkard in einem Nebensatz sagte, aber wohl nicht ganz wahrgenommen hat, dass die Ameise nur geringes Ameisenwissen erzeugt, aber extrem viel Menschenwissen

    Und das kapiere ich einfach nicht. Kannst mich hauen, aber es will nicht in meinen Kopf rein. Die Ameise läuft nur dumm rum, würde ich meinen. Ich erkenne das und lerne am Ende, daß ich nichts gelernt habe. Der Ameisenweg ist langweilig und irrelevant. Zeitverschwendung(?).

    Aber wir haben viel über das Ameisensystem gelernt, was absolut nicht offensichtlich war. Wir haben Muster im Chaos gefunden, wir können so etwas wie Phasenübergänge in der Bewegung sehen, und wir haben Theorien aufgestellt darüber wie die Ameise sich wohl unter anderen Bedingungen verhält (weil wir nicht alle Möglichkeiten per BruteForce durchprobieren können).

    Zwischenfrage: Ist es Dir völlig klar und einleuchtend, daß sie Menschenwissen erzeugt?
    Ein klares "Ja" von Dir würde mich beflügeln, weil Du für mich weit oben in der Glaubwürdigkeitsskala stehst.

    Hmm, bevor ich eine so klare Antwort gebe, muss ich noch einmal darüber nachdenken. Deine Zweifel haben mich nämlich verunsichert, denn du stehst auch bei mir sehr weit oben auf der Glaubwürdigkeitsskala.


  • Mod

    otze schrieb:

    zur Emergenz:
    Emergenz ist zwar ein netter Begriff, aber bedeutet für mich vor allem, dass der Mensch nur schwierig das Zusammenspiel verschiedener Regeln verstehen kann. Wie sich die Regeln der Ameise zueinander verhalten bleibt ihm verborgen, bis er das Muster sieht, aber am Ende hätte er all diese Effekte auch direkt aus den Regeln sehen können - er hat nur nicht genug Rechenkapazität.

    Das heißt es eben nicht. Du kannst alles über ein einzelnes Wassermolekül wissen. Trotzdem weißt du dann nicht, was eine Flüssigkeit ist oder was das besondere am Tripelpunkt ist. Diese Eigenschaften ergeben sich erst, wenn man viele Wassermoleküle zusammenpackt und sind in den Regeln für einzelne Wassermoleküle nicht enthalten. Diese Information erhältst du erst, wenn du die Grundregeln massenhaft anwendest. Das einzelne Wassermolekül ist weder flüssig, fest noch gasförmig.
    Trotzdem hast du keine neue Regel für das Einzelmolekül hinzufügen müssen, du hast aber die Regeln für die Phasen und Hydrodynamik als Gesetze in einem übergeordneten System erkannt.


Anmelden zum Antworten