29.08.1999

DIGITAL LIFE

Bildquelle: Photodisc

Computer-Bakterien entwickeln robuste Software

Digitale Bakterien in einer elektronischen Petrischale haben das Interesse von Microsoft geweckt. Sie schaffen nämlich nach kurzer Zeit das, womit der Softwarehersteller seine liebe Mühe hat: stabil zu sein. Unter Bedingungen, die auf Darwins Evolutionstheorie basieren, trachten die kurzen Programmsequenzen danach, sich zu vermehren und möglichst robust zu werden.

Das Avida Artificial Life Project des California Institute of Technology und der Michigan State University will mit einer Software, die einem digitalen Ökosystem gleicht, den Prinzipien einfacher lebender Systeme auf den Grund gehen. Anstatt mit Bakterien in einer Petrischale experimentieren die Forscher jedoch mit kurzen Sequenzen von Computerinstruktionen, die sich selbst vermehren und mit einem Grundstock an logischen Befehlen ausgerüstet um Prozessorzeit und Speicherplatz kämpfen.

Avida ist ein Computerprogramm, das die Grundbedingungen für evolutionäre Prozesse bereitstellt. Kleine sich selbst vermehrende "Organismen" leben in einem "Ökosystem" und müssen ab und zu mit Veränderungen in ihrer Umgebung und mit "Mutationen" in ihrer Programmstruktur zurechtkommen. Alles digital versteht sich.

Microsoft unterstützt das Projekt mit 50.000 Dollar, um die Robustheit von Computersprachen zu erforschen.

Robust gegen Software-Bugs

Im Gegensatz zu Software sind lebende Organismen sehr robust gegenüber äußeren und inneren Veränderungen. Selbst zahlreiche Mutationen führen oft noch nicht zum "Absturz" eines Organismus.

Die Avida-Software hat nun selbst generierte Programmsequenzen hervorgebracht, die viel von der Robustheit lebender Systeme in sich tragen und erstaunlich widerstandsfähig gegen Mutationen, d.h. Veränderungen in der Programmstruktur, sind. Solche "Software-Bugs" stellen ein großes Problem bei der Optimierung von Programmen dar.

Stabil durch Konkurrenz

Ein Versuchsdurchgang dauert zwischen zwei und acht Stunden oder 5.000 bis 20.000 Generationen. Am Anfang steht ein einzelner Organismus in der Mitte der digitalen Petrischale. Er lebt von Zahlen, die er in 80 verschiedenen Rechenschritten verarbeiten kann. Er vermehrt sich schnell und sein Programmcode wird immer länger.

Programme "wachsen lassen"

Auch wenn das Hauptziel des Avida Projektes darin liegt, den Prinzipien einfacher Lebensformen und der Evolution auf den Grund zu gehen, könnten die Erkenntnisse aus der Arbeit mit kurzen selbst organisierenden Programmsequenzen robustere Computersprachen nach sich ziehen.