Freitag, 29. März 2024

Archiv


Digitale Selektion

Bereits in den 60er-Jahren kamen Programmierer auf die Idee, die Evolutionsgesetze Charles Darwins auf eine neue Art Software anzuwenden - die evolutionären Algorithmen. Was sich damit heute anfangen lässt, wurde nun auf der Fachkonferenz "GECCO" in Amsterdam diskutiert.

Von Frank Grotelüschen | 09.07.2013
    Den Kampf ums Dasein überleben nur die Fittesten. Denn die Natur lässt nur diejenigen bestehen, die sich ihrer Umwelt anpassen, in einem stetigen Prozess der Evolution. So sind die Tier- und Pflanzenarten entstanden, auch der Mensch. Das sind vereinfacht gesagt die Erkenntnisse von Charles Darwin. Informatiker wie Mark Harman vom University College London übertragen sie auf die Welt der Technik. Nicht Lebewesen in freier Wildbahn, sondern kleine Programme im Rechner kämpfen hier ums Überleben – Programme, die zum Beispiel den Bauplan für eine Motor-Einspritzdüse enthalten.

    "Meist beginnen wir die Simulation mit einem Zufalls-Set aus Entwürfen. Wie in der Natur können sich diese Entwürfe paaren und Nachkommen erzeugen, und manche dieser Nachkommen sind fitter als ihre Eltern. Im Laufe der Generationen können sich dann ein oder zwei besonders gute Entwürfe entwickeln, zum Beispiel Düsen, die eine besonders hohe Kraftstoffverdichtung liefern. Sie haben in unserem Programm eine bessere Chance, viele Nachkommen zu erzeugen und sich fortzupflanzen."

    Die Selektionskriterien geben die Fachleute vor. Das kann etwa der Wirkungsgrad einer Düse sein: Düsen mit gutem Wirkungsgrad überleben, Düsen mit schlechtem sterben aus und werden vom Computer aussortiert. Mit etwas Glück spuckt der Rechner dann einige hundert Generationen später den Plan für eine neue, optimierte Düsenform aus, auf die ein Ingenieur womöglich nie gekommen wäre.

    "Der Vorteil dieser evolutionären Algorithmen: Die guten Sachen tauchen ganz von selbst auf. Wir wissen gar nicht genau, wie sie zustande kommen, wir stellen einfach nur fest, dass sie überlegen sind. Den Rest erledigt die Evolution für uns."

    Doch die Methode hat auch ihre Grenzen: Je nach Komplexität des Problems können die Computersimulationen dauern, zum Teil sind es Wochen, sagt Mark Harman.

    "Die Evolution brauchte Jahrmilliarden, bis sich der Mensch aus den Bakterien entwickeln konnte. Solange können wir auf unsere Lösungen natürlich nicht warten. Deshalb ist es bei unseren Simulationen meist sinnvoll, bereits eine gute Ausgangsposition vorzugeben. Bildlich gesprochen beginnt unsere Evolution nicht bei den Bakterien, sondern bei den Affen."

    Hier ist der Grips des Programmierers gefragt: Gibt er zuwenig vor, könnte die digitale Evolution viel zu lange dauern. Sind die Vorgaben dagegen zu detailliert, entwickelt sich womöglich gar keine Evolution. Bei den Ingenieuren hat sich das Verfahren bereits etabliert, sagt Harman – besonders, wenn es um Optimierungsprobleme geht. In ein paar Jahren könnten die evolutionären Algorithmen auch für Software-Hersteller interessant sein.

    "Eine Idee, die ich äußerst spannend finde, ist, dass solche Algorithmen von selbst Softwareprobleme aufspüren und beheben können – und zwar während das entsprechende Programm läuft. Zwar steckt diese Sache noch im Forschungsstadium. Doch ich rechne damit, dass sie in ein paar Jahren zum Einsatz kommt."

    Die Vision: Nachts an der Steckdose würde das Smartphone selbstständig prüfen, ob sich das neue Update fürs Betriebssystem mit den installierten Apps verträgt. Wenn nicht, würde das Telefon entweder Alarm schlagen oder sogar die Betriebssoftware automatisch an die Apps anpassen, so dass es keinen Ärger gibt.