Anzeige
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Komplexität steigern

  1. #11
    Registriert seit
    09.05.2006
    Ort
    Thüringen
    Beiträge
    750

    Standard

    Anzeige
    Zitat Zitat von Dgoe Beitrag anzeigen
    Hallo SRMeister
    Hallo Dgoe,
    danke für den Link. Ich habe mir das Video angeschaut und finde das sehr interessant.

    Hallo joeydee,
    Zitat Zitat von joeydee Beitrag anzeigen
    Stichworte für einen Anfang wären auf jeden fall "genetic algorithm" und dann als Grundlage für mögliche anpassbare Steuermechanismen vielleicht "neuronal network".
    Ich habe mich schon in mehreren Projekten mit den beiden Themen auseinandergesetzt. Ich hatte mal ein Programm geschrieben, welches mit genetic algorithm eine Funktion findet, wenn man beliebig viele Punkte vorgibt, so dass die Punkte Lösungen der Funktion darstellen. Das war ein ganz einfaches Programm aber man bekommt ein bisschen ein Gefühl dafür, wie so etwas funktionieren kann. Mit Neuronalen Netzen kombiniert mit G.A. hatte ich mal ein kleines Programm geschrieben, welches Aktien Kauf oder Verkaufs-Tipps geben kann und anhand historischer Aktienkurse lernt diese Signale korrekt zu geben. Das ist ja heute an den Börsen ein ganz großes Thema. Ich bin dann da gescheitert, als es darum ging, ein Interface zum Broker zu finden: Es gibt in Deutschland keinen Broker für Privat, der Automatisiertes Handeln erlauben würde. Wer an den Quellcodes interessiert ist, kann mir gern eine Nachricht schicken. Noch interessanter finde ich aber mein "Projekt Leben", worauf ich gleich eingehe.

    Zitat Zitat von joeydee Beitrag anzeigen
    Am Wichtigsten aber ist wohl erstmal eine Umgebung mit Ressourcen und Regeln (Physik), ohne die wird sich auch kein Verhalten und Komplexität ausbilden.
    Ich habe mich mal umgeschaut und mehrere fertige Lösungen gefunden. Besonders geeignet scheint mir "Bullet" zu sein: Eine Physik Engine, die schon in vielen kommerziellen Spielen Verwendung fand und relativ einfach aufgebaut ist.

    Zitat Zitat von joeydee Beitrag anzeigen
    Das zweite ist eine vollkommen parametrisierte BlackBox-Schaltung, die die Umwelt lesen und auf sie einwirken kann (im einfachsten Fall ein NN, wobei man die Sensoren und Motoren ebenso parametrisieren müsste)
    Da kommen wir dann zu den technischen Details wie das "Lebewesen" selbst aufgebaut sein soll. Ein Beispiel: Ich hatte wie gesagt mal ein "Projekt Leben" versucht. Da ging es mir darum, mithilfe von Lindenmayer-Systemen Pflanzenwachstum zu simulieren. Ich war soweit dass man sich mithilfe von OpenGL diese einfachen Pflanzen darstellen konnte.


    Zitat Zitat von joeydee Beitrag anzeigen
    und drittens muss es auf Grund der Physik irgendeinen Auslesemechanismus geben (Wirken kostet Energie, Konkurrenz, Erreichbarkeit von Ressourcen), damit es überhaupt einen Grund zum Optimieren der BlackBox gibt. Gegenbeispiel: Organismen in einer stets gleichmäßig gefüllten Ressourcensuppe haben keinen Grund sich zu bewegen oder zu entwickeln.
    Um mal bei meinem Beispiel mit den Pflanzen zu bleiben: Man müsste also mithilfe von Raytracing berechnen, wieviel Sonne jedes Blatt bekommt. Dann müssen auch noch die Nährstoffe in der Erde berücksichtigt werden. Letztendlich üben dann die Organismen gegenseitig Druck auf sich aus, da alle Ressourcen begrenzt vorhanden sind.

    Zitat Zitat von joeydee Beitrag anzeigen
    Viertens brauchst du noch eine Null-Erwartung für dich selbst.
    Was ich mir halt wünschen würde, also wie es im Idealfall sein sollte: Es entstehen verschiedene Arten und man kann das komplexe Zusammenspiel dazwischen verfolgen, also wie jede Art sich an seine Nische anpasst oder neue Nischen/Lösungen findet. Halt ein kleines Ökosystem
    Lustig wäre später dann, wenn man sein Ökosystem übers Internet an andere Ökosysteme irgendwie anschließen könnte, also dass ein Genaustausch stattfinden kann. Das wäre dann der Einfluss, den der User haben kann. Dass er vielleicht auch aus einer Datenbank sich Organismen aussuchen kann und in sein Ökosystem einsetzen kann oder so...
    Wie eingangs erwähnt bin ich ja momentan nur in der Ideenphase. Ob es Pflanzen oder Roboterartige sind, soviel Gedanken habe ich mir noch garnicht gemacht. Am besten wäre natürlich wenn aus einem Grundkonzept sich beides ergeben kann. Das ist halt mit den L-Systemen nicht so machbar.

    Grüße
    Geändert von SRMeister (15.12.2013 um 19:43 Uhr)
    Absence of evidence does not mean evidence of absence.

  2. #12
    Registriert seit
    03.06.2007
    Beiträge
    94

    Standard

    Hey, da hast du ja schon einige Erfahrung auf dem Gebiet sammeln können :-) Ich hatte bisher eher so auf dem Gebiet Bots und Steuerverhalten "geforscht", vor allem auch in schwerelosen 3D-Räumen (Hobbyprogrammierer, beruflich hab ich damit nichts zu tun, entsprechend selten sitze ich an sowas).
    Was mir noch ein wenig schleierhaft ist: wie ein Bot für neue Situationen dazulernen kann, statt umzulernen. Also irgendwie Situationen klassifizieren und später assoziieren.
    Und weiter, wie man am besten zeitliches Verhalten verwirklicht, also nicht auf einen bestimmten Input sofort einen Output generiert, sondern erstmal in einen zeitlichen Zusammenhang bringt und Situationen ggf. extrapoliert um einen günstigen Zeitpunkt für Reaktion(en) zu erlernen.
    Klar könnte man das direkt programmieren und z.B. vor ein NN vorschalten, oder mit mehreren NN auf verschiedenen Ebenen lösen. Aber das Entwickeln dieser Ebenen müsste eigentlich mit in die BlackBox und ebenfalls empirisch ermittelt werden.

    Mit "Physik" meinte ich nicht unbedingt ein fertiges Physikpaket, sodern allgemein die Naturgesetze der Simulation. Das kann auch nur sein: Wachstum braucht Energie, Licht liefert Energie. "Physik" kann auch auf höherer Ebene (fertige spezialisierte Zellen mit fest definierter Interaktionsmöglichkeit) oder abstrakter (zelluläre Automaten) definiert sein und beinhaltet natürlich je nach Interpretation der Simulation auch Chemie.
    In der Simulation ist "Physik" also die Summe aller Möglichkeiten und gleichzeitig die Grenze, unter welcher nichts mehr umgestaltet werden kann. Je tiefer diese in Richtung Naturgesetze liegt, desto freier kann sich die Simulation zwar entwickeln, desto wahrscheinlicher ist aber auch, dass sie sich zu gar nichts entwickelt. Je höher, desto enger und vorhersehbarer sind die Grenzen der Weiterentwicklung.

    Mit der Null-Erwartung meine ich vor allem: es kann sein dass eine Art eine "günstige" Lösung findet, ohne dass sie für unsere Maßstäbe sinnvoll, interessant oder nachvollziehbar scheint. Selbstausrottung ist so gesehen auch eine gültige Lösung, aber ich glaube nicht dass ein leerer Bildschirm akzeptabel wäre.

    L-Systeme sind ja eher eine aufgesetzte Schablone, aus Beobachtungen heraus abgeleitete Muster und Regeln, um dann an den Parametern zu drehen bis etwas Bekanntes, den ursprünglichen Beobachtungen (z.B. Pflanzen) ähnliches herauskommt.
    Es ist wie die Simulation eines Automotors mit einer einfachen Regel: trete aufs Gaspedal, und er läuft schneller. Gas*f=Drehzal. Mit Parametern/Leistungskurven kann man sich damit sicher näher an das Verhalten von Verbrennungsmotoren herantasten, aber spezifisches Verhalten wie Vorglühen eines Diesels oder abwürgen unter Last ergibt sich dadurch nicht von selbst, da muss man das Dazwischenliegende auf niedrigerer Ebene simulieren oder ein Extra-Paket dazwischenprogrammieren, das den gewollten Sonderfall abfängt.
    Die Erwartung steuert in diesen Fällen also eigentlich das Ergebnis, und Steigerung der Komplexität ist nur durch bewusstes Zuprogrammieren erreichbar. Die Physik dieser Simulationen wäre also denkbar hoch und eng angelegt.

    Wie gesagt, ich denke, mit ausreichend niedrig angesetzten komplexen "Natur"gesetzen und ausreichend Versuchen könnte auch eine einigermaßen (aus unserer beschränkten Sicht) interessante Simulation entstehen. Irgendwann. Nach Stunden? Jahren? Jahrmillionen? Oder auch gar nicht, siehe oben, Selbstausrottung als Extrembeispiel.

    Man muss also irgendwie einen Kombination schaffen aus genügend solchen bewusst programmierten "Extrapaketen" die sich so und nicht anders verhalten (überraschende Komplexität und Weiterentwicklung auf dieser Ebene ausgeschlossen) und einer lernwilligen Umgebung, die ausprobiert, wie diese Pakete am besten zu benutzen, kombinieren etc. sind.

    Mein Rat läuft daher also auf etwas ähnliches wie die Bramsticks hinaus, wobei man sich nach einiger spielerisch gesammelter Erfahrung mal Gedanken machen kann, ob man alle bis dahin benötigten spezialisierten Zellen zu einer "Stammzelle" verallgemeinern und parametrisieren kann um zu provozieren, dass sich solche Zellen von selbst (weiter)entwickeln und evtl. auch bisher nicht programmierte Spezialisierungen ausbilden. Die Physik also vorsichtig und kontrolliert von einer bewusst hohen auf eine niedrigere Ebene bringen.

  3. #13
    Registriert seit
    09.05.2006
    Ort
    Thüringen
    Beiträge
    750

    Standard

    Zitat Zitat von joeydee Beitrag anzeigen
    Was mir noch ein wenig schleierhaft ist: wie ein Bot für neue Situationen dazulernen kann, statt umzulernen. Also irgendwie Situationen klassifizieren und später assoziieren.
    Das bedeutet, der Bot hat nicht nur ein vorgegebenes NN, sondern kann das NN auch selbst "Trainieren"? Wenn du einen Bot selbst kreirst, ist das sicher nicht so einfach. Ich denke per Evolution wird das wohl so ablaufen, dass bei einfachen Organismen zunächst das komplette NN genetisch vorgegeben ist und nicht lernfähig ist. Ich denke da an Würmer, Instekten etc. Ich glaube nicht dass die großartig lernen können? Dann in der nächsten Stufe bilden sich irgendwie "frei programmierbare Neuronen" aber trotzdem bleibt ein Großteil des NN fest Verdrahtet (per Gen-Info). Das kann sich ja per Evolution selbst entwickeln, wenn man die Möglichkeit für beide Varianten gibt, der frei programmierbare Anteil aber energetisch ungünstiger also teurer ist.

    Zitat Zitat von joeydee Beitrag anzeigen
    Und weiter, wie man am besten zeitliches Verhalten verwirklicht, also nicht auf einen bestimmten Input sofort einen Output generiert, sondern erstmal in einen zeitlichen Zusammenhang bringt und Situationen ggf. extrapoliert um einen günstigen Zeitpunkt für Reaktion(en) zu erlernen.
    Wie gesagt, wenn man nicht vorgibt wie das NN konkret aufgebaut ist, dann kann sich sowas denke ich selbst entwickeln. Für die zeitliche Verschiebung wäre es nur notwendig, dass das NN nicht nur in eine Richtung verdrahtet ist, sondern dass sich auch rückwirkende Schleifen bilden können, so dass die dann als Zwischenspeicher dienen und den nächsten Schritt beeinflussen können.

    Zitat Zitat von joeydee Beitrag anzeigen
    Klar könnte man das direkt programmieren und z.B. vor ein NN vorschalten, oder mit mehreren NN auf verschiedenen Ebenen lösen. Aber das Entwickeln dieser Ebenen müsste eigentlich mit in die BlackBox und ebenfalls empirisch ermittelt werden.
    Genau und das Gute ist, man muss sich keine Gedanken machen sondern nur abwarten, wann es von selbst passiert


    Zitat Zitat von joeydee Beitrag anzeigen
    Je tiefer diese in Richtung Naturgesetze liegt, desto freier kann sich die Simulation zwar entwickeln, desto wahrscheinlicher ist aber auch, dass sie sich zu gar nichts entwickelt. Je höher, desto enger und vorhersehbarer sind die Grenzen der Weiterentwicklung.
    Bin da auch deiner Meinung. Natürlich wäre es toll, wenn man selbst im PC ein Quantenuniversum simulieren könnte. Das sollte also möglichst das angestrebte Ziel sein. Man muss also das Niveau soviel anheben, dass ein Kompromiss mit der Rechenleistung entsteht. Dabei ist also ständig zu hinterfragen, ob nicht zwei oder mehr angedachte Regeln nicht durch eine einzige, universelle Regel ersetzt werden kann, die dann zwar mehr Rechenaufwand bedeutet, aber den Freiheitsgrad erhöht.

    Zitat Zitat von joeydee Beitrag anzeigen
    L-Systeme sind ja eher eine aufgesetzte Schablone, aus Beobachtungen heraus abgeleitete Muster und Regeln, um dann an den Parametern zu drehen bis etwas Bekanntes, den ursprünglichen Beobachtungen (z.B. Pflanzen) ähnliches herauskommt.
    Ja das stimmt leider und deswegen bin ich mit diesem Ansatz auch nicht weiter gekommen. Trotzdem ist die Grundidee die dahinter steckt sehr brauchbar für das hier und deswegen will ich darüber noch etwas sagen. Das L-System besteht ja aus einfachen Regeln wie A->B und Anfangsbedingungen. Die Regeln stelle ich mir dabei als Gene vor und die Anfangsbedinungen als Samen.
    Zitat Zitat von joeydee Beitrag anzeigen
    Mein Rat läuft daher also auf etwas ähnliches wie die Bramsticks hinaus, wobei man sich nach einiger spielerisch gesammelter Erfahrung mal Gedanken machen kann, ob man alle bis dahin benötigten spezialisierten Zellen zu einer "Stammzelle" verallgemeinern und parametrisieren kann
    Die Bramsticks gefallen mir auch sehr, wobei da wohl noch etwas fehlt. So wie ich sehe sind wir bis hierher ziemlich einer Meinung und deswegen schlage ich vor, lass uns doch nun eine Stufe konkreter werden und über die mögliche Physik reden.

    1. Die Grundeinheiten/Zellen
    Wenn man die einfachen Regeln von LSystemen weiter verallgemeinert, kommt da meiner Ansicht nach ein Sprachkonzept heraus, welches hier brauchbar wäre. Diese Erweiterung ist in der Literatur als Parametrische LS beschrieben. Und obwohl da wohl immernoch einiges fehlt, gefällt mir der Ansatz. Die Regeln sind dann nämlich einfach die Regeln, die jeder Zelle mitteilen, wie sie sich verhalten soll, zb. "benutze 30% der verfügbaren Energie für Wachstum" oder "Leite 20% an Nachbarn X und 25% an Nachbarn Y weiter, speichere den Rest", oder "Sende Information X an Nachbarn Y", oder "bei überschreiten der gespeicherten Energiemenge über X, führe eine Teilung aus, die Tochterobjekte sollen so und so angeordnet sein".
    Genau aus diesen einfachen Regeln bildet sich dann aus kleinen Einheiten ein komplexer Organismus, traditionell Pflanzen. Das ist mit etwas Erweiterung aber genauso für Tiere relevant, da wäre dann eine Möglichkeit z.B. "Nutze X Menge Energie für die Fortbewegung" was auf Zellniveau nur bedeuten muss, entweder eine Streckung/Kontraktion oder ein Verdrehen. Also ganz einfache Möglichkeiten, für jede Zelle. Was der Organismus mit diesen Möglichkeiten anstellt, bleibt ihm überlassen. Insbesondere gibt es bei diesem Ansatz also eine dezentrale Informatiuns-u.-Energieverarbeitung. Das Verhalten des Organismus entsteht also aus dem Verhalten der einzelnen Zellen. Da kommen wir aber zum Problem, ob denn nun jede Zelle ein NN oder wenigstens ein Neuron haben soll, was eigentlich logischer und grundlegender wäre, oder ob der Organismus auf einer virtuellen Ebene ein NN enthalten soll, welches dann durch Eingangs- u. Ausgangsneuronen mit bestimmten Zellen des Organismus verknüpft ist. Das wäre dann der Bramsticks ansatz.

    2. Die Umgebung
    Leider glaube ich nicht, dass es möglich wäre, ein gutes Konzept zu finden, so dass man die Zellen aus 1. auch gleichzeitig als Umgebung verwendet. Man ist also glaube ich aus Rechenaufwands-gründen dazu gezwungen, hier eine weitere Ebene einzubauen. Die Ebene stellt Energie zur Verfügung sowie einen Grund auf dem sich alles abspielt, außerdem die von mir bereits erwähnte Physik-Simulation (zB eben Bullet). Die erachte ich als zwingend, da so ein Kontakt zwischen den Organismen und auch innerhalb einzelner Organismen zwischen den Zellen, gegeben ist.
    Ich will die Umgebung nicht zu komplex gestallten, wie zb Himmel mit Wolken, Tageszeiten usw.. Das bläht das Projekt nur unnötig auf.

    Edit: Bramsticks: damit meinte ich eigentlich Framsticks, siehe hier
    Geändert von SRMeister (18.12.2013 um 02:08 Uhr)
    Absence of evidence does not mean evidence of absence.

  4. #14
    Registriert seit
    24.02.2014
    Beiträge
    62

    Standard

    Anzeige
    Zitat Zitat von SRMeister Beitrag anzeigen
    Das Problem ist dann aber immernoch, dass man aufgrund der Einfachheit einen sehr großen Raum simulieren müsste um irgendwo etwas komplexes zu finden.
    Das ist aber in der Realität vermutlich ebenso. Überleg mal wie klein bereits die Elementarteilchen im Standardmodell sind. Ganz zu schweigen von Modellen wie der Loop-Quantengravitation, wo von Strukturen in der Größenordnung der Plancklänge ausgegangen wird.

    Wenn ich mich recht erinnere hat Stephen Wolfram sogar mal die These aufgestellt, dass das Universum selbst eine Art zellulärer Automat sein könnte - die Größenordnung der Zellen müsste sich dann aber vermutlich ebenfalls im Bereich der Plancklänge bewegen.

    Viele Grüße
    Wirbelwind

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
astronews.com 
Nachrichten Forschung | Raumfahrt | Sonnensystem | Teleskope | Amateurastronomie
Übersicht | Alle Schlagzeilen des Monats | Missionen | Archiv
Weitere Angebote Frag astronews.com | Forum | Bild des Tages | Newsletter
Kalender Sternenhimmel | Startrampe | Fernsehsendungen | Veranstaltungen
Nachschlagen AstroGlossar | AstroLinks
Info RSS-Feeds | Soziale Netzwerke | Flattr & freiwilliges Bezahlen | Werbung | Kontakt | Suche
Impressum | Nutzungsbedingungen | Datenschutzerklärung
Copyright Stefan Deiters und/oder Lieferanten 1999-2013. Alle Rechte vorbehalten.  W3C