Wie AI zerquetscht alle menschlichen Aufzeichnungen in 2048, Dr.
Inzwischen haben wir alle die süchtig Kachel-Maischen Spiel gehört genannt 2048. Letzte Woche habe ich bis 2048 zum ersten Mal gepflückt und - getreu meiner Natur - ich begann eine KI entwerfen das Spiel für mich am nächsten Tag zu schlagen . Es dauerte nicht lange, um herauszufinden, dass es bereits einige ziemlich gute KIs gibt, so nahm ich die beste 2048 AI bis ich finden konnte und mehrere Instanzen davon gefeuert, um zu sehen, was es tun könnte. Zu meiner großen Überraschung, es schlug nicht nur 2048 ... es jeden Menschen Rekord in 2048 zerquetscht, die ich finden konnte.
Unten ist ein Video der ersten 20 Sekunden der KI im Spiel hacken, Maischen und Zusammenführen von Fliesen an menschlichen Geschwindigkeiten, die wir wollen, nur konnten wir übereinstimmen.
Wie ein mehrarmige Genie, spielte die KI 1000 Spiele von 2048 gleichzeitig ohne Probleme. Einige Spiele endete in wenigen Minuten auf Grund einer Reihe von unglücklichen Zufalls Kachel Spawns, während andere fast 4 Stunden dauerte und erreichte Noten vorher für unmöglich gehalten.

Das schlimmste Beispiel erreichte eine Punktzahl von 35.600, aber auch das Beispiel gelungen, den 2.048 Ziegel zu bauen und das Spiel zu schlagen. Die meisten Fälle endeten mit einem Ergebnis um 390.000 und 16.384 Fliesen, aber das beste Beispiel baute einen 32.768 Ziegel und blieb lange genug am Leben eine Punktzahl von 839.732 zu erreichen.
Soweit ich weiß, ist dies die höchste Punktzahl ohne undos in 2048 erreicht.

Vielleicht noch beeindruckender ist, wie konsequent die KI schlagen 2048. Die KI erreichte die 2.048-Fliese - und sogar die 4.096-Fliese - in allen 1.000 Spielen und erreichte die 16.384 Kachel in einer großen Mehrheit von ihnen. In 1/3 der Spiele, erreichte die KI erstaunlich die 32.768 Fliesen, obwohl es nicht in der Lage war es viel weiter Vergangenheit, das zu machen. (Obwohl es theoretisch möglich. Wenn Sie Glück haben.)

Für den Rest von diesem Post, werde ich auf dem Spiel werden, wo die KI die hohe Punktzahl von 839.732 erreicht. In diesem Fall schlagen die KI das Spiel in nur 973 bewegt, die für die AI über dem Durchschnitt liegt.
Was ist besonders neugierig auf die Progression der KI ist, dass es Kachel X zu erreichen in etwa (X / 2) bewegt tendiert. So erreichte der KI die 16.384 Fliese in etwa 8000 bewegt. Bei diesem Tempo würde die KI theoretisch erreicht die 131.072 Fliese (die theoretisch größte Kachel) in etwa 65.500 bewegt - etwa 2x die Anzahl von Zügen für landeten nachhaltig - wenn der Zufall Kachel laicht in ihren Gunsten ausgespielt.
Die 2048 KI-Strategie
Um ein besseres Verständnis davon, wie die KI verwalten eine so hohe Punktzahl, Rack, analysierte ich seine Spielstrategie auf seinem torreichsten Spiel. Im Folgenden werde ich 4 nützliche Spieltipps skizzieren, die die 2048. Einige dieser Tipps angenommen AI ziemlich gut bekannt sind, zu schlagen - und wurden sogar in die AI als Heuristik codiert - aber ich dachte, es ist gut, die Grundlagen zu decken.
die folgenden Tipps werden Sie zweifellos helfen, Ihr Spiel zu verbessern und - hoffentlich - schlug 2048. Letztlich aber Ihr Überleben gegen Ende des Spiels stark auf der Zufall Kachel Spawns setzt in Ihren Gunsten ausarbeitet; eine schlecht platziert Fliese kann das Schicksal des Spiels buchstabieren.
Tipp 1: Halten Sie Ihre höchsten Wert Fliese in einer Ecke für das gesamte Spiel
Eines der frühesten Strategien, die Spieler für den Sieg gegen 2048 entdeckt wurde, Ihre höchsten Wert Fliese in einer der Ecken für das gesamte Spiel zu halten und ihn langsam aufzubauen. Einige Autoren auch dies einen großen Design-Fehler von 2048 genannt, weil es dazu neigt, zu schlagen das Spiel (relativ) leicht zu machen.

Es ist kein Wunder, dass die KI Vorteil dieser Konstruktionsfehler 2048. In diesem Spiel zu schlagen war, geschah die KI die linke obere Ecke wählen, aber alle Ecken sind gleichermaßen rentabel. Wählen Sie eine Ecke und auch daran halten.
Tipp # 2: Halten Sie Ihren höchsten Wert Fliesen ausgekleidet
Eine weitere frühe Strategie, die 2048 Spieler angenommen wurde eine Reihe von monoton steigenden Fliesen zu erhalten, wie Sie Ihre Haupt-Fliese zu bauen. Ich nahm einen Screenshot von meinem Video oben zu zeigen:

Beachten Sie, wie die Fliesen sind schön aufgereiht? Die 64 ist direkt neben der 32; die 32 ist direkt neben der 16; und die 16 ist direkt neben (was ist geworden) der 8. Wenn diese Linie von 4s in einem 16 kombiniert wird, diese Konfiguration können Sie schnell die gesamte Zeile in die nächsthöhere Kachel komprimieren und wieder von vorn anfangen.


... und hielt die dritten höchsten Wert Kachel direkt neben die zweiten höchsten Wert Fliese in der oberen Reihe. Und so weiter. Sie werden auch bemerken, dass die KI hatte oft das 3. höchsten Wert Fliese knapp unter dem höchsten Wert Fliese als auch, was ich noch zu verstehen, ich versuche. Irgendwelche Gedanken?
Tipp # 3: Halten Sie die Plätze besetzt
Oben erwähnte ich, dass unglückliche Zufall Kachel Spawns oft das Ende des Spiels buchstabieren kann. Eines der interessantesten Strategien, die die KI schien, war zu übernehmen die meisten der Plätze besetzt zu halten Zufälligkeit und Kontrolle zu reduzieren, wo die Fliesen laichen.

Für die meisten des Spiels behielt die AI 12-15 (von 16) auf dem Brett Fliesen und vermieden zu viele Fliesen auf einmal zu verschmelzen. Während riskant, sorgt für diese Strategie, dass Fliesen spawnen, wo man sich auf dem Brett werden soll.

Bei diesem Spiel hielt die KI die rechte untere Ecke des Brettes offen, so dass die Low-Wert Fliesen würden um dort laichen, die sie dann mit in der Nähe von geringem Wert Fliesen und bewegen die Kette zusammenführen würde.
Tipp 4: die Anzahl der möglichen verschmilzt auf dem Brett Maximieren
Einer der Fehler, dass neuere 2048 Spieler zu machen neigen dazu, ist zu versuchen, alles schnell zu verschmelzen und so viele Plätze offen wie möglich verlassen. Während eine solche Strategie intuitiv Sinn macht - mehr offene Quadrate bedeutet, sind Sie weniger wahrscheinlich, dass festgefahrene zu erhalten - wobei der Schwerpunkt auf sofort verschmelzenden alles tatsächlich zu kürzeren Spiele führt.

In seinem besten Spiel, 2/3 der Züge führte die KI gemacht in 2+ möglich Fliesen, die zusammengefügt werden können. Im Extremfall führte einige Züge in 6+ möglich Fliese verschmilzt, aber natürlich nicht alle diese verschmilzt konnte auf einmal gemacht werden.
Probieren Sie ein paar Spiele zu spielen, wo Sie Fliesen halten aufgereiht zu verschmelzen - aber kombiniere sie nicht, bis Sie zu haben - und sehen Sie, wenn Sie länger als üblich dauern.
Hast Du diesen Highscore schlagen?
Teile das:
Dr. Randy Olson ist Senior Scientist Daten an der University of Pennsylvania, wo er entwickelt state-of-the-art Algorithmen für maschinelles Lernen mit Schwerpunkt auf biomedizinische Anwendungen.

Ich habe es gefunden nützlich, um die 3. höchste Fliese in der zweiten Reihe ersten Stelle zu halten, so kann ich einen hohen Wert den 3. Platz in der oberen Reihe halten. Dann, wenn ich die 3. höchste (Zeile 2 Spalte 1) gleich die 2. höchste Fliese der 3. Platz in der oberen Reihe bekommen wird, den 2. höchsten Wert ohne von vorne beginnen zu müssen. Hoffe, das macht Sinn. Ich habe es nie über 100k, so kann ich nicht wirklich, dass AI vergleichen haha
Als jemand mit einem Interesse an AI, aber kein praktisches Wissen noch auf, wie man machen: Sweet! Jetzt Super-2048 macht es zu schlagen!
Ich betrogen und benutzt undos, hielt mich beschäftigt 2 Tage meine Punktzahl von etwa 1,05 M zu erhalten.
Mein Freund verwendet Undo aber bekam die höchstmögliche Punktzahl.
nicht genau, aber ich habe dieses Bild von ihm nur die alt ist. Er schlug diese Partitur IIRC. Das beste Ergebnis ist nicht viel größer ist als großer dies ..
Sorry, das ist das Bild,
Aber es ist ziemlich unwahrscheinlich, da bedarf es ein immer 4 keine 2 in bestimmten Orten.
nicht genau, aber ich habe dieses Bild von ihm nur die alt ist. Er schlug diese Partitur IIRC. Das beste Ergebnis ist nicht viel groß größer als diese.
Auch ich betrogen, verwenden viele undos, auch eine gewünschte 4 Kachel zu erhalten und bekam schließlich 131072, 65536, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256128, 64, 32,16, 8, 4 auf dem Gitter und eine Punktzahl von 3867416
Undos sind groß, wenn Sie den Touchscreen fungiert als wenn man etwas getan hat, aber Sie haben nicht die Absicht, zu. Das passiert öfter als echter Fehler. Ich mache zwar eine Strategie verfolgen, die auf Ihren Bildschirm-Aufnahmen, indem man zum Teil als die KI einer gleich sein könnte.
Cooler Artikel though!
Ich habe auch einen Artikel irgendwo (leider nicht finden kann es mehr ...) um eine Variante von 2048, wo der Computer neue Fliesen im ungünstigsten Stelle setzen würde absichtlich versuchen zu sehen, anstatt sie nach dem Zufall zu platzieren. Es machte das Spiel sehr viel schwieriger zu spielen. Ich frage mich, wie viel härter, dass es für die KI machen würde.
Das klingt böse. Ich bin mir ziemlich sicher, dass niemand würde in diesem Spiel sehr weit. # 128578;
Da dies die Zufälligkeit entfernt, könnte die KI zu vorhergesagt, dass programmiert werden und schnell das bestmögliche Spiel mit diesen Regeln erstellen
Aber, wenn der Computer weiß, wo es würde, wäre es nicht mehr das denkbar schlechteste Platz. 2048CEPTION. lol
Es ist nur eine Minimierungsfunktion gegen einen maximier konkurrieren. Es ist immer noch der schlechteste Platz. (Denken Sie darüber nach, wie wenn der Computer einen Platz im Wert wählen kann [1 oder 7], [2 oder 6] oder [3 oder 4] Punkte. Der erste Computer wird die [3 oder 4] box wählen, weil er den zweiten Computer weiß, wird aus den gegebenen Möglichkeiten zu maximieren.
Es ist komplizierter als in einem Mehrrunden-Spiel, weil es keine Möglichkeit für beide Spieler ist genug Rechenleistung zu haben, den wahren Wert des Vergebens eine Kachel irgendwo zu wissen - sie haben auf Heuristiken verlassen. Zu wissen, wo Ihre Gegner ihre Fliesen platzieren werden wird Ihr Programm zu „liest vorwärts“ viel mehr dramatisch zu ermöglichen und so in der Tat könnte seine Leistung verbessern.
Recht. Mein Punkt war, dass ein „schlimmstmögliche Platz“ tatsächlich existiert, auch wenn die Spieler wissen, was der andere wählt.
Ich bin nicht einverstanden. Computer sind jetzt schnell genug und 2048 ist einfach genug, dass beide genug Rechenleistung haben würden optimal zu „spielen“.
Steve Mould beschreibt dieses Programm in seinen Videos auf youtube.
2048 Windows-Mädchen
Wie es ist, ist das Spiel ein Spieler im Vergleich zu einem Zufallselement. Ein Spieler versucht, seine Punktzahl gegen Rollen der Matrize zu maximieren, so zu sprechen.
In der schwierigeren Version ist die Fliese Laich nicht zufällig. Es wird versucht, absichtlich zu verwirren Sie. So ist es ein Spieler gegen einen anderen Spieler, nicht eine Rolle der Düse. Sie haben einen Spieler versucht, seine Punktzahl zu maximieren, und der gegnerische Spieler versucht, es zu minimieren.
Die KI für die normalen 2048 verwendet, was expectimax Optimierung genannt wird, für diese Art von Spiel. Wo ein Spieler versucht, seine Punktzahl und die „anderen Spieler“ (der Zufall Kachel Laich) spielt zufällig zu maximieren.
Die KI für die andere schwierige 2048 Variante verwenden würde, was Minimax-Optimierung, wo ein Spieler genannt wird versucht, die Punktzahl zu maximieren, und der andere versucht, es zu minimieren.
Hier ist das Ding: beide Methoden in einer ähnlichen Art und Weise arbeiten. Beide sehen eine bestimmte Anzahl von Zügen voraus, Blick auf die Platine an diesen Positionen und nimmt das Beste. Im Fall von expectimax berechnet das Programm die Wahrscheinlichkeit, an dieser Platine Position ankommen, weil alle Zufalls Kachel Spawns gleich wahrscheinlich sind. Doch in der anderen Variante sind nicht alle Ziegel Spawns sind gleich wahrscheinlich. Diejenigen, die für Sie entpuppen schlecht sind eher als diejenigen, die für Sie in einer guten Position zur Folge haben. Das bedeutet, dass das Programm versuchen, vorherzusagen, wo der Gegner die Fliese (diese Prognose ist unmöglich in normalen 2048, da alle Ziegel Spawns gleich wahrscheinlich sind und zufällig sind) spawnen. Der Minimax-Algorithmus kann dies berücksichtigen und in einigen Fällen ableiten, dass bestimmte Bewegungen sind schlechter als andere, ohne dass auch sie betrachten. Diese Art der Optimierung von Minimax ist Alpha-Beta-Suche bezeichnet. Das Programm wird immer noch genau das gleiche Ergebnis wie Minimax, aber Minimax mit Alpha-Beta Beschneidung betrachtet deutlich weniger bewegt als die Ebene Minimax. Inzwischen wieder expectimax hat überhaupt möglich bewegt, die Zeit würde suchen.
So, während ich es nicht versucht habe, würde ich ahne, dass die härtere Variante von 2048 tatsächlich für einen Computer einfacher wäre, nicht härter. Denn da es deutlich weniger Vorstandspositionen prüfen hat, kann es mehr bewegt nach vorne schauen, wie gut, das heißt „sehen“, weiter in die Zukunft des Spiels.
Für diejenigen, die interessiert: das ist, was das ultimative Spiel aussehen würde. (Ich habe berechnen keine Partitur, aber ich denke, es wäre 8 Ziffern lang sein.
Ich folgte das gleiche Muster, wenn ich auf das Spiel süchtig war und regelmäßig 4096 und gelegentliche 8192 ohne undos bekommen konnte, ein paar Mal bekommen 16K bis in der Ecke. Höchste in oben links, dann nach unten durch Schlängeln der Spalte ganz links, bis die zweite Kolonne und zurück in den dritten. Ein wesentliches Merkmal ist, dass Sie die Zeilen halten müssen gefüllt, so dass sie keine Löcher schaffen. Leider ist das dumme Spiel wirft gelegentlich in einem 4 eher als 2, die den Prozess vermasselt.
Die eigentliche Begabung: Wer diesen Algorithmus geschrieben
Ja, und das ist ein Punkt mit einem eigenen Punkt, weil algorithmische Intelligenz viel mehr ist, was belegte, was jetzt der KI Sitz ist, bevor AI auftauchte.
Algorithmische Intelligenz ist eine unveränderlichen Anfangsbedingungen und das ist genau das, was AI nicht sein muss, sein AI
George van den Driessche
„Was ist besonders neugierig auf die Progression der KI ist, dass es dazu neigt, in etwa (X / 2) bewegt Kachel X zu erreichen.“
Ist das nicht unbedingt der Fall, weil jeder eine neue Kachel bewegen erscheint und die Fliese fügt 2 (oder gelegentlich 4) mit dem Gesamtscore auf der Platine, die ansonsten unverändert bleibt?
Dies ist die am wenigsten Merkwürdige an sie!
Sehr interessant. Die Partituren scheint zwei Modi zu haben. Ist das, weil die 500.000 Punktzahl in die 32.768 Schwelle entsprechen Sie etwas Glück brauchen zu passieren. Wir können fast zwei andere Modi in der Verteilung vor Ort, nicht entsprechen sie andere Potenz von 2 Schwellenwerte?
In gewisser Weise, ja. Glück wird zu einem Problem, da es mehr Steine auf dem Brett und das passiert kurz vor den 32.768 erstellt wird, und die 65.536 fast erstellt
Ich nehme an, Ihre AI irgendwie hat einen Score für eine Konfiguration und überprüft dann einen gewissen Tiefen Baum, und das Finden die Score-Funktion war der schwierigste Teil zu berechnen, so dass ich einige Vorschläge darüber machen.
1. die zweithöchste Gewicht Fliese in einer zweiten Ecke Putting (nicht diagonal zu dem, in dem das höchste Gewicht ist), ist fast so gut, wie es direkt in der Nähe der höchsten zuzunehmen. Und sein auf jeden Fall besser, als es in der Entfernung 2 setzen.
2. Ich finde es sehr vorteilhaft, eine niedrigen Kacheln zu setzen (2 oder 4) in der zweiten Ecke, in bestimmten Teilen des Spiels, sagt sie, beim Bau 2048-äquivalent Fliesen. Es schützt wieder „Schlupf“ der höchsten Gewicht Fliese in der zweiten Reihe.
(Und ich kann Ihre AI nicht schlagen: mein Bestes 16384 + 8192).
Ich habe gerade einen 79.456-Score getan, mit einem 4096, 2048, 1024, 512 und 128 Doppeln ich es sauber, bis die letzten paar Züge recht hatte. Ich habe noch nie verwendet undos.
Die nicht verbinden Strategie klingt interessant. Die Sache ist, dass ich sehr schnell spielen, so dass ich oft Fehler machen. Ich versuche, nie Taste nach oben drücken, aber manchmal blockieren wir alle Zeilen und steckt.
mein hoch ist 60732 ohne jede undos.
Dies wird meine neue persönliche Highscore (mit Undo) seinen