Artificial Life (A-Life) ist ein Zweig, oder besser gesagt, eine Anwendung von AI. Mit anderen Worten: Künstliche Intelligenz versucht, intelligente Eigenschaften künstlich zu verleihen, und A-Life versucht, diese Algorithmen in Lebenssimulationen einzusetzen.

A-Life kann organisch und nicht-organisch sein. Ohne zu spezifisch zu sein, umfasst A-Life als Thema alles von synthetischem Leben, das digital erzeugt wurde, bis hin zu Simulationen von lebensähnlichem Verhalten, das in der realen Welt beobachtet wurde.

Starke A-Life-Anhänger vertreten die Theorie, dass Wesen künstlich erschaffen werden können, die Verkörperungen des Lebens sind – mit anderen Worten, sie scheinen nicht nur lebendig zu sein, sie sind es tatsächlich. Der Gegenpol ist das schwache A-Life, dessen Befürworter behaupten, dass wir den Anschein von Leben nur simulieren können und dass das Ergebnis nicht wirklich lebendig ist.

Eine Möglichkeit, diese Simulation zu erreichen, besteht darin, die genetische Verarbeitung von lebenden Organismen zu kopieren, und in der Computerwelt wird dieses Forschungsgebiet genetische Algorithmen genannt.

Genetische Algorithmen

Genetische Algorithmen (GA) sind ein Gebiet, das sich damit beschäftigt, dass die Schritte zur Lösung eines Problems durch genetische Rekombination neu angeordnet werden können. Mit anderen Worten: Wir nehmen eine Population möglicher Lösungen, wenden jede einzelne an und messen dann ihre Erfolgsrate. Dann nehmen wir die erfolgreichsten und rekombinieren sie, um eine neue Population zu erzeugen, die nach darwinistischer Logik global gesehen ein wenig erfolgreicher sein sollte als die vorherige Population.

Anfängliche Populationen sind wahrscheinlich größtenteils aus ziemlich zufälligen Verhaltensweisen zusammengesetzt, was nicht unbedingt zu korrektem Verhalten beiträgt. Der Programmierer kann die Möglichkeit einschränken, dass komplette Algorithmen Kauderwelsch sind, indem er die Population mit bekannten Lösungen vorsät.

Die Skriptsprache, die zur Erstellung der Algorithmus-Darstellung verwendet wird, kann auch im Hinblick darauf erstellt werden, die Möglichkeit einzuschränken, dass Lösungen vorgeschlagen werden, die einfach nicht funktionieren oder die Regeln der Situation verletzen, in der sie angewendet werden.

Genetische Algorithmen und A-Life: Eine kurze Einführung in GA und GP im Kontext von Artificial Life
Genetische Algorithmen und A-Life: Eine kurze Einführung in GA und GP im Kontext von Artificial Life

Genetische Programmierung

Genetische Programmierung (GP) ist ein Zweig von GA, der sich damit beschäftigt, die beste Kombination von Parametern zu finden, die auf eine Lösung angewendet werden können, um das beste Ergebnis zu erzielen. Daher führen wir ähnliche Schritte wie GA durch, um progressive Populationen zu erzeugen, aber in jedem Fall führen wir denselben Lösungsalgorithmus aus, ändern aber jedes Mal die Daten.

In der Folge verringern wir die Möglichkeit, dass sich völlig ungeeignete Populationen in den Genpool einschleichen, reduzieren aber die Flexibilität, sich an verschiedene Situationen anzupassen.

Kombination und Mutation

Sowohl GA als auch GP basieren auf der Fähigkeit zu kombinieren und zu mutieren. Wenn wir davon ausgehen, dass eine Population aus Kindern besteht, von denen jedes 2 Elternteile hat, dann können wir die Repräsentation des genetischen Materials von jedem nehmen und es auf verschiedene Weise kombinieren.

Je nach der von der Skriptsprache und/oder den Daten erlaubten Darstellung können wir jeden genetischen String in Teile aufteilen und diese Teile neu kombinieren, um neue genetische Strings zu erzeugen. Wir können z. B. 4 Hälften nehmen und die Kopf- oder Schwanzteile vertauschen, um Kombinationsnachkommen zu erzeugen, oder wir können die 2 Strings in jeweils 4 Teile aufteilen und 2 Teile überkreuzen.

Es können auch Mutationen eingeführt werden, bei denen die genetischen Strings durch Hinzufügen von zufällig generierten Daten zum genetischen String optimiert werden. Dies kann zu einer schnelleren Evolution führen, solange geeignete Maßnahmen getroffen werden, um unerwünschte Nebeneffekte zu vermeiden, wie oben erwähnt.