Warum kann eine Maschine Mario übermenschlich spielen, aber kein Pokemon?

Ursprünglicher Autor: Shayaan Jagtap
  • Übersetzung
An der Schwelle zu unserem Oldtimer- Videospielturnier Game Overnight beschlossen wir, über Bots in Computerspielen zu sprechen.

Wahrscheinlich haben Sie gehört, dass die Fähigkeiten moderner Bots für Computerspiele die menschlichen Fähigkeiten übertreffen. Solche Bots können hart codiert sein und reagieren immer gleich auf die gleichen Eingabedatensätze. Ein anderer Ansatz für ihre Entwicklung ist, dass sie lernen und sich weiterentwickeln dürfen . Sie verhalten sich in denselben Situationen unterschiedlich, wenn sie versuchen, optimale Lösungen für die Probleme zu finden, mit denen sie konfrontiert sind.



Hier sind einige berühmte Beispiele für solche Bots:

  • AlphaZero ist ein Schachbot, der nach 24 Stunden Training der größte Spieler der Welt ist.
  • AlphaGo ist ein Programm, das Lee Sedol und Ke Jie in Go besiegt.
  • MarI / O ist ein Super Mario-Bot, der von sich aus lernt und versucht, die Spiellevel so schnell wie möglich zu beenden.

Schach, Los, Super Mario sind keine einfachen Spiele, Bots sind vernünftig ausgewählte Kombinationen von Algorithmen, man braucht viel Zeit, um sie zu erlernen.

Dieses Material widmet sich der Analyse des MarI / O-Bots und der Geschichte, warum der Ansatz, mit dem dieser Bot erstellt wurde, nicht dazu beiträgt, ein Programm zu schreiben, das in Pokemon gut funktioniert.

Was ist der Unterschied zwischen Mario und Pokemon?


Es gibt drei Hauptunterschiede zwischen den Spielen Mario und Pokemon, die den möglichen Erfolg von Bots bestimmen:

  1. Die Anzahl der Ziele
  2. Zweigverhältnis
  3. Widerspruch zwischen globaler und lokaler Optimierung

Vergleichen Sie das Spiel mit diesen Faktoren.

Anzahl der Ziele


Maschinen werden trainiert, indem sie eine bestimmte Zielfunktion optimieren. Dies kann die Maximierung der Belohnungsfunktion oder der Fitnessfunktion sein (beim Training mit Verstärkung und bei der Verwendung genetischer Algorithmen ), es kann die Verlustfunktion minimiert werden (beim Training mit einem Lehrer ). Wenn wir über die Anwendung auf das Spiel sprechen, sprechen wir auf jeden Fall über die Anzahl der maximal möglichen Punkte.

Das Mario-Spiel hat ein Ziel: das Ende des Levels erreichen. Einfach ausgedrückt: Je weiter wir im Spiel vorankommen, desto besser. Dieser Indikator drückt eine einzige Zielfunktion aus, und die Fähigkeiten des Modells können einfach und klar durch einen einzigen Indikator bewertet werden.

Der Zweck des Spiels Mario

Aber in Pokemon viele Ziele. Versuchen wir es herauszufinden. Vielleicht ist es das Ziel des Spiels, die vier Elite zu besiegen? Vielleicht ist dies die Erfassung aller Pokémon? Oder vielleicht - Sie müssen das stärkste Team trainieren? Es ist möglich, dass das Ziel des Spiels eine Kombination aller vorherigen Ziele oder sogar etwas völlig anderes ist. Es ist wahrscheinlich, dass in der Realität, wenn Sie diesen bestimmten Spieler fragen, sein Ziel als komplexe Kombination der vielen im Spiel verfügbaren Erfolge dargestellt wird.


Ziele des Spiels Pokemon Bei der

Analyse des Spiels müssen Sie nicht nur das endgültige Ziel bestimmen, sondern auch festlegen, wie der Fortschritt des Spiels genau aussieht, wie bestimmte Aktionen die Zielfunktion beeinflussen, je nach der Vielzahl der Aktionen, die dem Spieler in einem einzigen Spiel zur Verfügung stehen, die Zielfunktion beeinflussen. Moment der Zeit.

Streng genommen führt die Wahl der Handlungsoptionen in einer bestimmten Situation zum zweiten Indikator des Spielvergleichs.

Zweigverhältnis


Das Verzweigungsverhältnis ist in einfachen Worten ein Indikator, der die Anzahl der Optionen angibt, die in jedem Schritt des Spielablaufs verfügbar sind. Im Schach beträgt die durchschnittliche Verzweigungsrate 35. Go ist 250. Wenn ein Bot versucht, "in die Zukunft zu blicken", nachdem er alle Bewegungen, die er jetzt machen kann, berücksichtigt hat, dann alle Bewegungen, die er nach der aktuellen Bewegung ausführen kann und so weiter, jede dieser Ebenen bedeutet eine ernsthafte Zunahme der Komplexität der Aufgabe. Die Anzahl der Varianten mit diesem Ansatz wächst nämlich exponentiell und wird durch die Formel der Form (Verzweigungsverhältnis) (Anzahl der Ebenen) ausgedrückt.

In Mario kann sich ein Charakter nach links oder rechts bewegen, springen und einfach nichts tun. Die Anzahl der Optionen, die vom Bot bewertet werden müssen, ist gering. Je kleiner das Verzweigungsverhältnis ist, desto weiter kann ein Bot in die Zukunft blicken, und dies mit akzeptablen Rechenressourcen.

Aktionsoptionen in Mario

In Pokemon offene Spielwelt. Dies bedeutet, dass der Spieler zu jeder Zeit viele Optionen hat. In diesem Fall ist eine einfache Auflistung der möglichen Bewegungsrichtungen des Zeichens in diesem Fall nicht zur Berechnung des Verzweigungskoeffizienten geeignet. Stattdessen spielen bestimmte Aktionen, die in der Spielwelt von Bedeutung sind, die Rolle. Wird die nächste Aktion ein Kampf sein, ein Gespräch mit einer Spielfigur, ein Übergang zu einem anderen Bereich der Karte? Gleichzeitig wächst die Anzahl der Optionen, wenn Sie sich durch das Spiel bewegen.


Vereinfachte Darstellung der Charakteroptionen in Pokemon

Um einen Bot zu erstellen, der herausfinden kann, welche Entscheidungssequenz in dieser Situation zu treffen ist, muss dieser Bot seine kurzfristigen und langfristigen Ziele berücksichtigen, was zur nächsten Messung des Vergleichs von Mario- und Pokemon-Spielen führt .

Widerspruch zwischen globaler und lokaler Optimierung


Lokale und globale Optimierung kann sowohl räumlich als auch zeitlich betrachtet werden. Kurzfristige Ziele und der umgebende Raum des Charakters eines Spiels auf kleiner Fläche stehen im Zusammenhang mit der lokalen Optimierung. Langfristige Ziele und relativ große Spielräume (etwa eine „Stadt“ oder die gesamte Spielwelt) stehen im Zusammenhang mit der globalen Optimierung.

Wenn in Pokemon jede Kurve in ihre Bestandteile zerlegt wird, kann dies das Problem darstellen, das der Bot lösen muss, das aus sehr kleinen Fragmenten besteht. Lokale Optimierung, die beispielsweise erlaubt, von Punkt A zu Punkt B zu gelangen, wird keine Schwierigkeiten verursachen. Ein viel schwierigeres Problem ist die Wahl des Punktes B, der Bewegungsrichtung. Gierig Sie werden uns hier nicht weiterhelfen, da lokal optimale Lösungen nicht unbedingt zu global optimalen Ergebnissen führen.


Das Problem bei der Auswahl des nächsten Schrittes

Karten in Mario sind klein und unterscheiden sich in ihrer Linearität. Pokemon-Karten sind groß, komplex und nicht linear. Der Spieler, der sich durch das Spiel bewegt und immer wichtigere Ziele verfolgt, stellt sich ständig neuen Herausforderungen. Und die Aufgabe, die Verknüpfung lokaler Optimierungen mit globalen Zielen zu organisieren, ist nicht einfach. Zumindest sind die bestehenden Modelle noch nicht bereit, dieses Problem zu lösen.

Ergebnisse


Aus Sicht der Bots ist Pokemon kein Spiel. Bots zeichnen sich durch eine enge Spezialisierung aus, und der Bot, der dem Spieler hilft, sich auf der Karte zu bewegen, ist nutzlos, wenn der Spieler auf einen Spielcharakter stößt, mit dem Sie kämpfen möchten. Aus Sicht der Bots sind die Bewegung auf der Karte und die Schlacht völlig andere Aufgaben.


Bots sind hochspezialisierte Systeme:

Während eines Kampfes müssen Sie bei jedem Schritt aus Dutzenden von Optionen wählen. Sie müssen entscheiden, welche Aktion ausgeführt werden soll, welche Art von Pokemon Sie ausführen müssen, und Sie müssen wissen, wann Sie verschiedene Objekte verwenden. All dies ist an sich ein komplexes Optimierungsproblem. Hier ist das Material, in dem Sie die Entwicklung eines Kampfsimulators in Pokemon untersuchen. Der Artikel ist ein gut entwickelter, ziemlich komplizierter Artikel, aber das Problem der Objekte, der wichtigste Einflussfaktor auf den Ausgang der Schlacht, wird dort ebenfalls nicht berücksichtigt.

Als Ergebnis können wir sagen, dass wir uns darüber freuen müssen, dass wir Bots erstellen können, die unsere Spiele besser spielen als wir. Diese Spiele sind aus mathematischer Sicht komplex, aber ihre Ziele sind leicht zu bestimmen. Mit der Entwicklung der Technologie der künstlichen Intelligenz wird die Menschheit Maschinen schaffen können, die die immer wichtiger werdenden Probleme der realen Welt lösen können. Sie werden dies tun, indem sie diese Probleme untersuchen, bei denen es sich um komplexe Optimierungsprobleme handelt. Aber im Moment kann ich Ihnen versichern, dass es Aufgaben gibt, die wir besser lösen als Maschinen, einschließlich der Spiele, die viele von uns in der Kindheit gespielt haben. Zumindest sind die Dinge jetzt so.

Liebe Leserinnen und Leser! Wir laden Sie ein, an dem ersten in Russland stattfindenden Turnier des alten Schulvideospiels Game Overnight teilzunehmen. Das Turnier hat einen qualifizierenden Teil und den richtigen Kampf der Besten der Besten, der am 30. November im Museum der Sowjetischen Spielautomaten stattfinden wird. Wir warten auf das Turnier von 20 bis 15 Uhr, schaumige Drinks, Smart Admin, Dj Cucumber (Sergey Mezentsev) und RUVDS-Administrator DJ Unpushible werden ihm helfen, und wir werden auch neue Sub Zero Schneeburger von unseren Admins ausprobieren. Also, wie sie sagen, willkommen!


Jetzt auch beliebt: