Genetische Algorithmen stellen ja die Evolution im Computer nach: Ausgehend von einer Population von anfänglich sehr schlechten Lösungen für ein Problem, werden diese mittels Mutation und Selektion schrittweise verbessert.
Wer einen solchen Algorithmus einmal in Aktion sehen will, der kann das hier tun: In BoxCar2D fahren einfache Autos auf einer Hindernisstrecke. Sie bestehen aus einem Haufen Polygonen, an die an einigen Stellen Räder montiert werden. Am Anfang entstehen meist Konstruktionen, bei denen die Räder oben oder innen befestigt sind, aber nach einiger Zeit kommen die Autos in Gang. So sah es bei mir nach etwa einer Stunde aus:
Die Wagen werden danach bewertet, wie gut sie auf einer einfachen Hindernisstrecke zurechtkommen – je weiter sie kommen, desto größer ist die Fitness. Links im Bild seht ihr die Werte der aktuellen Population. Am Anfang muss man froh sein, wenn ein Wagen überhaupt von der Stelle kommt, aber dann setzen sich die besten Varianten durch. Bei mir ist der momentan häufigste Grundtyp eine Variante mit zwei großen und einem etwas kleineren Rad an einer ziemlich kleinen Rahmenkonstruktion, ebenfalls recht erfolgreich ist eine Konstruktion, die vor ein großes und hinten ein kleines Rad hat und aussieht wie ein Hochrad. Mal gucken, wie es in einer Stunde aussieht. Im Moment kann man leider noch keine “Bestengeschichte” angucken, um zu sehen, wie sich das optimale Design im Laufe der Zeit entwickelt – also einfach im eigenen Browserfenster öffnen und ab und zu gucken, wie es aussieht.
Wer oben im Fenster auf “The Algorithm” klickt, bekommt übrigens auch eine kurze Erläuterung, wie das ganze funktioniert, allerdings auf Englisch.
Via Pharyngula
Kommentare (46)