Home / LinuxUser / 2007 / 03 / Intelligenzbolzen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher

Intelligenzbolzen

Strategiespiel NERO

01.03.2007 Im ungewöhnlichen Strategiespiel Neuro-Evolving Robotic Operatives, kurz NERO, machen Sie aus einer Horde extrem dummer Roboter eine schlagkräftige Mechano-Armee.

Langsam taumeln die kleinen Kreaturen im großen Sandkasten umher. Immer wieder rennen sie planlos gegen die aufgestellten Mauern oder stoßen mit ihren eigenen Kollegen zusammen. Während einige von ihnen sterben, steht die nächste Generation schon in den Startlöchern. Zuckerbrot und Peitsche sorgen für schnelle Lernerfolge. Die intelligentesten der Kreaturen erreichen irgendwann die gegnerische Konkurrenz. Ab hier beginnt ein harter Überlebenskampf, aus dem nur der Stärkste als Sieger hervorgeht.

Was wie ein Auszug aus einem Biologiebuch klingt, beschreibt in Wahrheit ein waschechtes Computerspiel. In NERO [1] trainieren Sie die künstliche Intelligenz einer kleinen Roboterarmee. Durch ein geschickt aufgebautes Trainingsgelände sowie entsprechende Belohnungen und Strafen erlernen die eigentlich dummen Teammitglieder eine gezielte Angriffsstrategie. Steht diese, stellen Sie ein Team aus den bislang besten Robotern zusammen, das anschließend seine Leistungsfähigkeit im Kampf gegen ein anderes Team beweisen muss.

Abbildung 1

Abbildung 1: Der Startbildschirm von NERO gewährt auch Zugang zu zwei hervorragenden Tutorials, die beim Einstieg in die Bedienung helfen.

Diese ungewöhnliche Spielidee entstammt ursprünglich einem Forschungsprojekt der Universität in Austin, Texas. Die Basis bildet eine dort entwickelte, spezielle maschinelle Lerntechnik (mehr dazu im Kasten "Hirnforschung"). Mit deren Hilfe lernen die Roboter tatsächlich aufgrund von guten und schlechten Erfahrungen und verbessern so Schritt für Schritt ihre Fähigkeiten und Angriffsstrategien. Die direkte Kontrolle der Roboter in den Kämpfen bleibt dem Spieler verwehrt: Der Reiz des Spiels liegt in der Trainingsphase.

Hirnforschung

Jeder Roboter besitzt in NERO ein eigenes Gehirn. Ähnlich wie das menschliche Pendant besteht es aus einer Menge von simulierten Nervenzellen, die untereinander Informationen austauschen. Ein solches künstliches Gehirn bezeichnet man als neuronales Netzwerk (Artificial Neural Network). Grob vereinfacht verändert NERO während des Trainings die Verdrahtung der simulierten Gehirnzellen mit Hilfe eines komplexen Regelwerks. Auf diese Weise lernen die Roboter und passen ihr Verhalten der Umgebung an.

Nach einer fest definierten Zeit sterben die Robots. NERO prüft nun, welche von ihnen sich im Hinblick auf die vorgegebenen Ziele am geschicktesten (vorgegeben durch positive und negative Sanktionen) verhalten haben. Die Software kombiniert die besten künstlichen Gehirne miteinander und pflanzt das Ergebnis einem der neugeborenen Roboter ein. Durch diese Strategie siebt NERO die weniger erfolgreichen Einheiten aus, ganz so wie es Darwin in seiner Evolutionstheorie beschreibt ("survival of the fittest", der am besten Angepasste überlebt).

Das komplette, in NERO verwendete Verfahren hört auf den kryptischen Namen "real-time NeuroEvolution of Augmenting Topologies" (kurz rtNEAT) und wurde maßgeblich von Ken Stanley an der Universität von Austin entwickelt. Wer etwas tiefer in die komplexe Materie eintauchen möchte, findet unter [2] genügend Material.

Installation

Die Entwickler bieten NERO ausschließlich in einer bereits fertig ausführbaren Fassung an. Es genügt somit, die Linux-Version unter [1] herunterzuladen und in ein Verzeichnis der Wahl zu entpacken. Tippen Sie ./nero.bin in ein Terminalfenster, um das Spiel zu starten.

Lassen Sie sich dabei nicht durch den etwas unglücklichen Verzeichnisnamen nero_101_ubuntu irritieren – NERO läuft auch unter anderen, modernen Linux-Distributionen. Allerdings versagt zur Zeit die Bibliothek libSDL-1.2.so.0 von Debian Unstable. Erscheint beim Start von NERO eine Fehlermeldung, die den Text X11_KeyToUnicode enthält, ersetzen Sie diese Bibliothek durch eine ältere Version (siehe Kasten "LibSDL-Problem").

Eine weitere Hürde kann ein fehlender oder falscher Grafikkartentreiber sein. Während des Spielverlaufs stellt NERO allerdings eher Anforderungen an den Prozessor als an die Grafikkarte. Ruckelt also die Bildschirmausgabe, verursacht diesen Fehler nicht unbedingt ein falsch konfigurierter Treiber.

LibSDL-Problem

Um an die ältere Version libSDL-1.2.so.0.7.2 von Ubuntu Dapper Drake zu kommen, laden Sie das Paket libsdl1.2debian-all vom LibDSL-Mirror [3] herunter und entpacken es über den Befehl:

sudo dpkg-deb --extract libsdl1.2debian-all_1.2.9-0.0ubuntu2_i386.deb

Kopieren Sie die libSDL-1.2.so.0.7.2 in das Verzeichnis /usr/lib und löschen Sie zunächst über sudo rm libSDL-1.2.so.0 den Link zur neueren SDL-Bibliothek. Dann setzen Sie einen neuen Link zur älteren Version der LibSDL über das Kommando:

sudo ln -s /usr/lib/libSDL-1.2.so.0.7.2 /usr/lib/libSDL-1.2.so.0

Nun sollte Nero funktionieren. Treten Probleme mit anderen Programmen auf, machen Sie die Verlinkung rückgängig.

Rekrutierung

Nach dem Spielstart gilt es zunächst, eine Roboterarmee auszubilden (Train Soldiers, Abbildung 1). Dazu wählen Sie als erstes ein passendes Trainingsgelände (unter Select an Arena). Für den Anfang empfiehlt sich ein leerer Sandkasten (Virtual Sandbox), die noch extrem dummen Blechbüchsen nicht gleich mit einem verwinkelten Labyrinth zu überfordern.

Am unteren Bildschirmrand taucht nun die Kontrollleiste auf. Mit ihrer Hilfe bestücken Sie den Sandkasten und regeln die Belohnungen und Strafen. Zunächst postieren Sie ein Angriffsziel auf dem Feld. Dazu wählen Sie aus dem linken Kasten zunächst einen statischen Pappkamerad (Static Enemy) als Trainingspartner aus. Ihn platzieren Sie über den Eintrag Add Enemy aus dem Kontextmenü der rechten Maustaste irgendwo auf dem Spielfeld (Abbildung 2).

Abbildung 2

Abbildung 2: Im Trainingsmodus platzieren Sie als erstes einen Gegner. In diesem Fall handelt es sich nur um eine Attrappe ( Static Enemy), wie das untere Kontrollfenster zeigt.

Jetzt bringen Sie die eigenen Roboter ins Spiel. Dazu klicken Sie auf der freien Fläche wieder mit der rechten Maustaste und wählen Launch Team. NERO wirft jetzt kontinuierlich neue Einheiten in den Sandkasten. Wie lange jede von diesen dort vor sich hin lernt, bestimmt der unterste Schieberegler im rechten Kontrollkasten (Lifetime Slider). Sobald diese Zeit abläuft, sterben die Roboter und lösen sich in Luft auf. Deren bis dato gelernten Fähigkeiten gehen aber nicht verloren, sondern wechseln über komplexe Mechanismen auf die Neugeburten über, die eine unsichtbare Hand aufs Spielfeld wirft.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

1470 Hits
Wertung: 77 Punkte (9 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...