Evolutionäre Algorithmen - Projektideen?



  • Heyo,

    ich würd' gern ein Projekt machen zu evolutionären Algorithmen, am liebsten etwas Graphisches und biologisch Angehauchtes. Da dacht' ich zunächst an Zellen, die amöboide Fortbewegung natürlich erlernen sollen. Was sich mir dann jedoch bahnt, ist, dass ich zur Evaluation der Fitness Fluiddynamik betreiben muss, wovon ich leider gar nichts verstehe. Und selbst wenn ich externe Bibliotheken verwende und dann alles irgendwie zusammenflicke, dann ist die Auswertung der Kreaturen doch sehr rechenintensiv.
    Eine andere Idee war, dass Vierbeiner das Laufen lernen sollten. Das ist jedoch auch mit viel physikalischem Drumrum verbunden.

    Hat jemand vielleicht noch andere Ideen? Oder weiß wer 'ne Art, wie ich dieses physikalische Gefrickel schnell und einfach in C++ hinter mich bringen kann?

    LG 🙂



  • Das ist ganz schön ambitioniert. Ich persönlich habe nur im Studium was über evolutionäre Algorithmen gehört, aber noch nie wirklich einen implementiert. Wenn ich mich aber richtig erinnere, werden die hauptsächlich zur Lösung von Optimierungsproblemen eingesetzt.

    Physikalisches Gefrikel ist meiner Einschätzung nach nie wirklich einfach. Ich würde erstmal auf stark vereinfachte Annahmen setzen, bevor ich da tatsächlich an eine Simulation ran gehen würde.

    Als Beispiel für solche Annahmen:
    Fortbewegung von vier Beinern:
    - es müssen immer mindestens zwei Beine am Boden sein
    - Gewichtsverlagerungen vernachlässigen
    - etc.

    Als vielleicht einfachere Möglichkeit würde mir spontan Schwarmverhalten einfallen (Ameisen, Bienen, Fische). Wenn du dich da auf das reine Verhalten konzentrierst, kannst du die Physik in den Bewegungen des Einzelnen vernachlässigen, aber es trotzdem schön visualisieren.

    Edit: Was ich mit meinem Gedanken zu Optimierungsproblemen ansprechen wollte, ich würde mir an deiner Stelle erstmal ein recht "einfaches" rein mathematisch beschriebenes Optimierungsproblem suchen und versuchen das mit einem EA zu lösen.

    Edit 2-n: diverse Tippfehler



  • @darwin:
    Du erscheinst mir, als ob du dich mal im Bereich der KI ein wenig austoben möchtest.

    Wie wäre es mit einem kleinen Spieleagenten? Ein Computerprogramm, welches Tic-Tac-Toe gegen dich spielt.

    Gelingt dies, kannst du auf andere Spiele wechseln. Mühle, N-Dame Problem, Halma, Go, Schach... Durch so einen Suchraum zu iterieren und die verschiedenen Suchstrategien zu implementieren ist durchaus spannend.

    Oder du gehst hin, schnappst dir eine Bib wie OpenNN und baust ein Neuronales Netz zur Erkennung einer Zahl oder Buchstaben. Eingabe ist ein 16*16 Pixeln Bild und als Ausgabe ist die erkannte Zahl.



  • Es gibt genug Physik-Engines (Wikipedia: Physik-Engine). Als ich mit Neuronalen Netzen und Evolutionären Algorithmen rumprobiert habe, habe ich mich auf 2D beschränkt. Da hat die Berechnung im NN deutlich mehr Rechenzeit benötigt als die Physik-Simulation.


Log in to reply