Inhalt

5. Alife & Komplexe Systeme

Alife versucht eine weitere Annäherung an die Erkundung des Mysteriums der Intelligenz. Es hat viele ähnliche Aspekte wie EC und Konnektionismus, verbindet diese Ideen aber auf einer übergeordneten Ebene. Alife betont die Entwicklung von Intelligenz durch auftretendes Verhalten komplexer adaptiver Systeme. Alife beleuchtet die sozialen bzw. Gruppenbasierten Aspekte der Intelligenz. Es versucht, Leben und Überleben zu verstehen. Mit dem Studium des Gruppenverhaltens von »Wesenheiten« versucht Alife, die Art und Weise der Intelligenz oder höhergeordneter Aktivität zu untersuchen, die von scheinbar einfachen Individuen ausgeht. Zellulare Automaten und Conway's Spiel des Lebens sind wahrscheinlich die bekanntesten Anwendungen auf diesem Gebiet. Komplexe Systeme (Complex Systems - CS) sind sehr ähnlich zu Alife im Hinblick auf die Art der Herangehensweise, nur etwas allgemeiner in der Definition (d. h., Alife ist ein Typ des Komplexen Systems). Normalerweise hat Software für Komplexe Systeme die Form eines Simulators.

5.1 Alife & CS Klassen-/Code-Bibliotheken

Das sind Klassen- oder Codebibliotheken, die in Programmen im Umfeld des Künstlichen Lebens verwendet werden können. Sie können nicht als lauffähige Anwendung betrieben werden, sondern sind als Werkzeuge zur Entwicklung eigener Programme gedacht.

AgentFarms

Agent Famrs ist ein System zur Modellierung und Simulation komplexer, multiagentenbasierter Systeme. Die Systeme können verwendet werden für:

Biome

Biome ist eine C++-Bibliothek, die auf individualbasierte/agentenbasierte Simulationen abzielt. Sie ist vergleichbar zu Swarm, EcoSim oder Simex, versucht aber, effizienter und weniger monolithisch zu sein, ohne das objektorientierte Design zu verletzen. Momentan gibt es ein ereignisgesteuertes Zeitplanungssystem, eine Mersenne-Twister-RNG auf C++-Basis, verschiedene allgemeine Analyseklassen, ein paar Qt-basierte GUI-Klassen, ein sehr einfaches Persistenz-/Datenbank-Framework (das auch zur Speicherung der Parameter verwendet wird) und viele andere nützliche kleine Dinge.

CAGE

CAGE ist eine allgemeine und komplette Simulationsumgebung für zellulare Automaten in Python. Es unterstützt sowohl 1D- als auch 2D-Automaten, eine Reihe vorkonfigurierter Regeln und das Konzept der »Agenten«, die sich unabhängig von der Abbildung bewegen können, um Agentenverhalten zu implementieren.

CASE

CASE (Cellular Automaton Simulation Environment) ist ein C++-Toolkit zur Visualisierung diskreter Modelle in zwei Dimensionen: sogenannte zellulare Automaten. Das Ziel dieses Projektes ist es, ein integriertes System zur Erzeugung verallgemeinerter zellularer Automaten zu erstellen, und zwar unter Verwendung der besten und standardisierten aktuellen Technologie.

EcoSim

In EcoSim wird ein Ökosystem sohl durch alle statischen und dynamischen Eigenschaften der Individuen bschrieben, die in das Sytsm eingebunden sind, als auch durch die Zeitänderungs-Eigenschaften der Umgebung. Die Individuen ändern ihren Status während des Zeitverlaufes oder durch externe bzw. interne Ereignisse. Die Umgebung wird auch über dynamische Objekte definiert, die sich ändern können. Das System unterstützt ad hoc-Analysen und die Animation der generierten Daten. Es ist eine C++-Klassenbibliothek, die entworfen wurde, um die Modellierung und Simulation ökologischer Systeme zu unterstützen.

Integrating Modelling Toolkit

Das Integrating Modelling Toolkit (IMT) ist eine allgemeine, umfassende und erweiterbare Menge von Abstraktionen, die die Definition und die Verwendung von interoperablen Modellkomponenten erlaubt. Die Modellierer erzeugen eine IMT- »Welt«, die aus IMT-»Agenten« besteht, die jeder für sich eine bestimmte Phase der Modellierungsaufgabe übernehmen. Der Kern der IMT- Agenten kann allgemeine, modulare und verteilte Modellkomponenten beschreiben. Dies geschieht entweder direkt zum IMT oder über eingebundene existierende Simulations-Toolkits, die für bestimmte Aufgaben spezialisiert sind, angefangen von einfachen Funktionsberechnungen in einer interpretierenden Sprache bis hin zu räumlichen expliziten Simulationen, Modellomptimierungen, GIS-Analysen, Visualisierung und erweiterten statistischen Auswertungen. IMT-Agenten wurden entworfen, um einfach zu »zusammenzukleben« in Simulationen auf höherer Ebene, die unterschiedliche Modellierungs-Paradigmen und Toolkits vereinigen. Das IMT kann von Nutzern und Entwicklern einfach über einen bequemen Plug-in-Mechanismus erweitert werden.

MAML

Die aktuelle Version von MAML ist im Grunde genommen eine Erweiterung von Objective-C (unter Verwendung der Swarm-Bibliotheken). Es besteht aus ein paar Makro-Schlüsselworten, die die allgemeine Struktur einer Simulation definieren. Der Rest muß mit reinem Swarm-Code aufgefüllt werden. Ein MAML-zu-Swarm-Compiler (xmc), der den Quellcode in eine Swarm-Anwendung compiliert, wurde ebenfalls entwickelt.

Swarm

Das Swarm Alife-Simulationskit. Swarm ist eine Simulationsumgebung, die die Entwicklung und das Experimentieren mit Simulationen unterstützt, die eine große Anzahl von Agenten erzeugen, die sich in einem dynamischen Umfeld bewegen und mit ihm interagieren. Swarm besteht aus einer Sammlung von Klassen und Bibliotheken, die in Objective-C geschrieben wurden. Es erlaubt eine große Flexibilität bei der Erzeugung von Simulationen und der Ergebnisanalyse. Swarm beinhaltet drei Demos und eine gute Dokumentation.

5.2 Alife & CS Software-Kits, Anwendungen etc.

Dies sind verschiedene Anwendungen, Software-Kits etc. für die Forschung auf dem Gebiet des Künstlichen Lebens. Die Benutzung ist unterschiedlich schwierig, da diese Software hauptsächlich für bestimmte Forschungsinteressen konzipiert wurde statt als einfach zu bedienendes kommerzielles Softwarepaket.

Achilles

Achilles ist eine Evolutionssimulation, die auf Larry Yaeger's PolyWorld basiert. Sie verwendet Hebb'sche Neurale Netzwerke und ein stark vereinfachtes physisches Modell, das virtuellen Organismen erlaubt, frei in einer simulierten Umgebung zu interagieren.

Avida

Das Computerprogramm Avida ist ein selbstadaptierendes genetisches System, das vorrangig für den Einsatz als Plattform in der Forschung auf dem Gebiet des Künstlichen Lebens konzipiert wurde. Das System basiert auf ähnlichen Konzepten wie das Tierra-Programm. D. h., es ist eine Population selbstreproduzierender Stränge mit einer Turing-kompletten genetischen Basis, die auf Poisson- verteilten Mutationen beruht. Die Population lehnt sich an die Kombination einer intrinsischen Fitness-Landschaft (Selbst-Reproduktion) und einer von außen auferlegten (extrinsischen) Fitness-Funktion an, die vom Forscher vorgegeben wurde. Bei der Untersuchung des Systems kann man die evolutionäre Anpassung beobachten, allgemeine Eigenschaften des lebenden Systems (wie z. B. Selbstorganisation) und andere Ergebnisse, die zur theoretischen oder evolutionären Biologoie und zu dynamischen Systemen gehören.

BugsX

Zeigt und entwickelt Biomorphs. Es ist ein Programm, das Biomorphs zeichnet, basierend auf parametrischen Plots von Fourier-Sinus- und Cosinusreihen. Mit BugsX kann man unter Verwendung des genetischen Algorithmus' experimentieren.

The Cellular Automata Simulation System

Das System besteht aus einem Compiler für die Sprache Cellang, eine Sprache zur Programmierung zellularer Automaten. Daneben gibt es noch die entsprechende Dokumentation, Betrachter und verschiedene Tools. Cellang hat innerhalb der letzten Jahre (1991-1995) mehrere Verbesserungen erfahren, mit den entsprechenden Erweiterungen des Compilers. PostScript-Versionen des Tutorials und eine Sprachreferenz sind für alle verfügbar, die detailliertere Informationen wünschen. Die bedeutendsten Merkmale von Cellang sind:

Creatures Docking Station

Dies ist eine freie Version des Creatures3 ALife-Spiels. Es hat weniger Spezies und eine kleine »Raumstations-«Welt, aber es kann sich über das Internet zu anderen Welten verbinden und (wenn man die Windows-Version des Spieles besitzt) zu seiner C3-Welt. Das Spiel an sich dreht sich um die Aufzucht und das Training von »Norns«, lebenden Kreaturen. Das Spiel hält eine gute Balance zwischen Unterhaltung und Wissenschaft.

dblife & dblifelib

dblife: Quellen für ein phantastisches Game of Life-Programm für X11 (und Curses). Es ist nicht dafür gedacht, unglaublich schnell zu sein (dafür verwendet man xlife :-). Aber es ist gedacht zum einfachen Ändern und Betrachten von Life-Objekten und hat einige mächtige Fähigkeiten. Das zugehörige dblifelib-Paket ist eine Bibliothek von Life- Objekten, die mit dem Programm genutzt werden können.

dblifelib:Dies ist eine Bibliothek interessanter Life-Objekte, einschließlich Oszillatoren, Raumschiffe, Puffer und anderer verrückter Dinge. Das entsprechende dblife-Paket enthält ein Life-Programm, das die Objekte dieser Bibliothek lesen kann.

Drone

Drone ist ein Werkzeug zur automatischen Ausführung von Stapeldateien eines Simulationsprogrammes. Es gestattet Wechsel über beliebige Parametersets ebenso wie den mehrfachen Start jedes Parametersets, mit eigenem Zufallsstart für jeden Lauf. Die Starts können entweder auf einem einzelnen Computer ausgeführt werden oder über das Internet auf verschiedenen entfernten Hosts. Drone ist in Expect geschrieben (eine Tcl-Erweiterung) und läuft unter Unix. Ursprünglich wurde es für die Verwendung mit dem Swarm agentenbasierten Simulations-System entwickelt, aber Drone kann auch mit jedem anderen Simulationsprogramm verwendet werden, das seine Parameter von der Kommandozeile liest oder aus einer Eingabedatei.

EcoLab

EcoLab ist ein System, das ein abstraktes ökologisches System implementiert. Es wurde als eine Sammlung von Tcl/Tk-Kommandos geschrieben, so daß die Modellparameter leicht durch Skriptänderungen angepaßt werden können. Das Modell selbst ist in C++ geschrieben.

Game Of Life (GOL)

GOL ist ein Simulator für Conways Spiel des Lebens (ein einfacher zellularer Automat) und andere Mengen einfacher Regeln. Der Schwerpunkt liegt hier auf Geschwindigkeit und Skalierbarkeit. Mit anderen Worten: man kann hiermit große und schnelle Simulationen erzeugen.

gant

Dieses Projekt ist eine ANSI C++-Implementierung der Generalisierten Langton- Ameise, die auf einem Torus lebt.

gLife

Dieses Programm ist ähnlich zu Conways »Spiel des Lebens«, aber dennoch ganz anders. Es verwendet Conways »Spiel des Lebens« und bildet es auf eine (menschliche) Gesellschaft ab. Das heißt, es gibt ein ganz anderes (und viel größeres) Regelset als im Originalspiel. Es müssen ganz neue Dinge aufgenommen werden wie z. B. das Terrain, das Alter, das Geschlecht, die Kultur, Bewegung usw.

Langton's Ant

Langtons Ameise ist ein Beispiel eines zellularen Automaten mit finiten Zuständen. Die Ameise (oder Ameisen) beginnen auf einem Raster. Jede Zelle ist entweder schwarz oder weiß. Wenn die Ameise auf einer schwarzen Zelle ist, dreht sie sich um 90 Grad nach rechts und läuft eine Einheit vorwärts. Wenn die Ameise auf einem weißen Quadrat ist, dreht sie sich um 90 Grad nach links und läuft eine Einheit vorwärts. Wenn die Ameise eín Quadrat verläßt, ändert es seine Farbe. Das Tolle an Langtons Ameise ist, daß, egal wo man beginnt, sie letztendlich eine »Straße« bildet, die eine Serie von 117 Schritten ist, die undefiniert wiederholt werden, wobei die Ameise jedesmal ein Pixel horizontal und vertikal versetzt wird.

LEE

LEE (Latent Energy Environments) ist sowohl ein Alife-Modell als auch ein Software-Werkzeug, das für Simulationen innerhalb des Systems dieses Modells verwendet werden kann. Wir hoffen, daß LEE hilft, einen weiten Themenbereich der theoretischen, behavioristischen und evolutionären Biologie zu verstehen. LEE besteht aus ca. 7.000 Zeilen C-Code und läuft sowohl unter Unix als auch auf Macintosh-Plattformen.

MATREM

Matrem ist ein lebenssimulierendes Computerprogramm. Es gehört zur noch jungen Wissenschaft des »Künstlichen Lebens«, die die Evolution und komplexe Systeme im allgemeinen durch Simulationen untersucht. Matrem ist auch ein Spiel, bei dem die Spieler miteinander um die Erzeugung der besten Lebensform wetteifern. Ihre Bemühungen sind die treibende Kraft hinter dem Programm.

POSES++

Das POSES++-Werkzeug unterstützt die Entwicklung und Simulation von Modellen. Bezüglich der Simulationstechniken sind die Modelle passende Reproduktionen realer oder geplanter Systeme für ihre simulative Untersuchung.

In allen industriellen Bereichen oder Branchen kann POSES++ jedes beliebige System modellieren, das auf diskretem und diskontinuierlichem Verhalten basiert. Auch kontinuierliche Systeme können meist wie diskrete Systeme behandelt werden, z. B. durch Quantifizierung und Stapelverarbeitung.

Tierra

Tierra wurde in C implementiert. Dieser Quellcode erzeugt einen virtuellen Computer nebst seinem Betriebssystem, dessen Architektur so entworfen wurde, daß die ausführbaren Maschinencodes entwicklungsfähig sind. Das bedeutet, daß der Maschinencode mutiert sein kann (durch zufälliges Kippen einzelner Bits) oder rekombiniert (durch Austauschen von Codesegmenten zwischen den Algorithmen). Der resultierende Code bleibt lauffähig genug, um über die Zeit hinweg für die natürliche (oder besser künstliche) Auswahl zu sorgen und den Code zu optimieren.

TIN

Dieses Programm simuliert einfache Lebensformen, die mit einigen Basisinstinkten und Fähigkeiten ausgestattet sind und in einer 2D-Umgebung aus einzelnen Zellen existieren. Durch Mutation können neue Generationen ihren Erfolg prüfen, und dadurch zu »guten Familienwerten« beitragen.

Das Gehirn eines TIN kann man sich als eine Sammlung von Prozessen vorstellen, die Impulse repräsentieren, sich auf eine bestimmte Art zu verhalten. Dies wiederum ist abhängig vom Status der Umgebung (z. B. Vorhandensein von Nahrung, Wänden, Nachbarn, Duftspuren). Diese Verhaltensprozesse sind zur Zeit implementiert: Essen, Bewegen, Paarung, Erholung, Verfolgung, Nahrungssuche, Tötung. Der Prozeß mit dem höchsten Impulswert übernimmt die Kontrolle, oder mit anderen Worten: der TIN wird entsprechend seinen dringendsten Bedürfnissen handeln.

XLIFE

Dieses Programm wird Muster für John Horton Conways Spiel des Lebens entwickeln. Es wird auch allgemeine zellulare Automaten mit orthogonaler Nachbarschaft mit bis zu 8 Zuständen behandeln (es ist möglich, das Programm für mehr Zustände zu recompilieren, das ist aber sehr speicherintensiv). Transitionsregeln und Beispielmuster werden für den 8-Zustands-Automat von E. F. Codd beigefügt, dazu den Wireworld Automaten und eine ganze Klasse des Spiels »Predigerdilemma«.

Xtoys

xtoys enthält eine Menge von Simualtoren für zellulare Automaten für X-Windows. Folgende Programme sind darin enthalten:


Inhalt