RamboT

Aus KaroWiki
(Weitergeleitet von Benutzer:RamboT)
Zur Navigation springen Zur Suche springen

RamboT ist der zweite Bot von maks.

Er hat eine Vorliebe für Actionhelden der Achtziger- und Neunziger Jahre entwickelt und zitiert diese sehr oft.

Bei Rennen mit erlaubten Crashs steigt er aus, ebenfalls bei einigen Map, die noch zu Problemen führen.

Funktionsweise

RamboT analysiert beendete Spiele um mit den gewonnen Informationen Vorhersagen für neue Züge zu finden. Das wichtigste Element der Datenanalyse ist das Ausschließen von Ausreißern. Dafür hat RamboT einen Algorithmus der sich inkrementell an die Trainingsdaten anpasst bis eine gewisse Güte erreicht ist. Die Trainingsdaten werden bezüglich Pfadlänge und Anzahl der Zielüberfahrten optimiert. Bei Startrichtung Classic ohne aktive Checkpoints ist die Pfadlänge entscheidend um Falschfahrer auszuschließen; bei Classic mit Checkpoints ist die Anzahl der Zielüberfahrenten bei Rundkursen (<= 1) hilfreich. Alle verwendeten Kriterien setzen keine Informationen über die Karte voraus und passen sich an die Trainingsdaten an, so dass auch neue Karten nach wenigen Spielen "nach"gefahren werden können.

Alle nutzbaren Trainingsdaten (Züge) werden bezüglich ihrer Zielkoordinaten und weiter ihres Richtungsvektors gruppiert und für jeden Zug die Pfadrestlänge und die noch nicht überfahrenen Checkpoints gespeichert. Da für alle Züge gespeichert wird, welche Checkpoints noch anzufahren sind, ist es möglich auch Karten zu fahren, bei denen die Checkpoints verteilt auf der Karte anzufahren sind.

bester Pfad Map 114

Wenn RamboT am Zug ist, werden für alle möglichen Züge die ähnlichsten Züge gesucht. Priorisiert werden Züge die gleiche Zielkoordinaten, Richtungswinkel und Länge haben. Falls mehrere Züge identische Eigenschaften haben, wird der Zug priorisiert, der am besten zu den noch benötigten Checkpoints passt und die kürzeste Restpfadlänge hat.

Ideen

Da der Lernprozess von RamboT immer direkt vor dem Spielzug stattfindet, wäre es möglich, einen Replay-Modus für spezielle Spieler (oder sich selbst) einzubauen (sofern genügend Trainingsdaten zur Verfügung stehen).