Home / LinuxUser / 2007 / 03 / Intelligenzbolzen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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: 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: 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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

905 Hits
Wertung: 65 Punkte (6 Stimmen)

Schlecht Gut

Infos zum Autor

Tim Schürmann

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter http://www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 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 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...