Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Maintenant, nous avons tous entendu parler du jeu de mah-empâtage addictif appelé 2048. La semaine dernière, j'ai pris 2048 pour la première fois et - fidèle à ma nature - je commencé à concevoir une IA pour battre le jeu pour moi le lendemain . Il ne m'a pas fallu longtemps pour savoir qu'il ya déjà une assez bonne AIs là-bas, donc je pris le meilleur AI 2048 je pouvais trouver et a tiré plusieurs cas de celui-ci pour voir ce qu'il pourrait faire. À ma grande surprise, non seulement battu 2048 ... il a écrasé tous les records humain 2048 que je pouvais trouver.

Voici une vidéo des 20 premières secondes de l'AI hacking loin au jeu, et la fusion des tuiles empâtage à des vitesses surhumaines que nous voulons seulement nous pouvions égaler.

Comme un génie à plusieurs bras, l'IA a joué 1000 matchs de 2048 en même temps sans accroc. Certains jeux ont fini en quelques minutes en raison d'une série de malheureux fraie de tuiles au hasard, tandis que d'autres presque duré 4 heures et ont atteint des scores précédemment pensé impossible.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Le pire exemple a réalisé un score de 35600, mais même cette instance a réussi à construire la tuile et 2.048 battre le jeu. La plupart des cas ont fini avec un score d'environ 390 000 et une tuile 16384, mais le meilleur exemple construit une tuile 32768 et sont restés en vie assez longtemps pour atteindre un score de 839732.

Pour autant que je sache, c'est le score le plus élevé atteint en 2048 sans undos.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Peut-être encore plus impressionnant est la constance de l'IA bat 2048. L'AI a atteint la tuile 2.048 - et même la tuile 4096 - dans tous les jeux 1000, et a atteint la tuile 16384 dans une grande majorité d'entre eux. Dans un tiers des jeux, l'IA a atteint la tuile 32768 étonnante, mais il n'a pas été en mesure de faire beaucoup plus loin passé. (Bien qu'il soit. Théoriquement possible si vous êtes chanceux.)

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Pour le reste de ce post, je vais examiner le jeu où l'IA a atteint le meilleur score de 839732. Dans ce cas, l'IA a battu le jeu en seulement 973 se déplace, ce qui est la moyenne pour l'IA.

Ce qui est particulièrement curieux au sujet de la progression de l'IA est qu'il a tendance à atteindre la tuile X sur (X / 2) se déplace. Par exemple, l'AI a atteint la tuile 16384 dans environ 8 000 mouvements. À ce rythme, l'IA serait théoriquement atteindre la tuile 131072 (la plus grande tuile théoriquement) dans environ 65 500 mouvements - environ 2x le nombre de coups il a fini durable pour - si les pontes de tuiles au hasard ont joué en sa faveur.

2048 stratégie de l'AI

Pour obtenir une meilleure compréhension de la façon dont l'AI a réussi à accumuler un score élevé, j'ai analysé sa stratégie de jeu sur son jeu le plus prolifique. Ci-dessous, je vais décrire 4 conseils de jeu utiles que l'AI a adopté à battre 2048. Certains de ces conseils sont assez bien connus - et ont même été codés dans l'AI comme heuristiques - mais je me suis dit qu'il est bon de couvrir les bases.

En suivant ces conseils sera sans aucun doute vous aider à améliorer votre jeu et - espérons-le - a battu 2048. En fin de compte, cependant, votre survie vers la fin du jeu repose fortement sur les pontes de tuiles aléatoire de travail en votre faveur; une tuile mal placé peut épeler le sort malheureux de votre jeu.

Astuce n ° 1: Gardez votre tuile valeur la plus élevée dans un coin pour le jeu entier

L'une des stratégies plus anciennes que les joueurs ont découvert pour battre 2048 était de garder votre tuile valeur la plus élevée dans l'un des coins pour l'ensemble du jeu et construire lentement vers le haut. Certains auteurs ont même appelé ce un défaut de conception majeur de 2048, car il tend à rendre le jeu (relativement) facile à battre.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Il n'y a pas de surprise, alors, que l'AI a profité de ce défaut de conception à battre 2048. Dans ce jeu, l'IA est arrivé à choisir le coin supérieur gauche, mais tous les coins sont également viables. Choisissez un coin et de s'y tenir.

Astuce n ° 2: Gardez vos tuiles valeur la plus haute alignés

Une autre stratégie que début 2048 joueurs ont adopté était de maintenir une rangée de tuiles de plus en plus de façon monotone que vous construisez votre tuile principale. Je pris une capture d'écran ci-dessus de ma vidéo pour démontrer:

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Remarquez comment les carreaux sont bien alignés? La figure 64 est juste à côté de la 32; la figure 32 est juste à côté de la 16; et le 16 est juste à côté de (ce qui est sur le point de devenir) le 8. Lorsque cette ligne de 4 s est combiné en 16, cette configuration vous permet de compresser rapidement toute la ligne dans votre tuile suivante plus haut et recommencer.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

... et gardé la tuile 3e plus haute valeur juste à côté de la tuile 2e plus haute valeur dans la rangée supérieure. Etc. Vous remarquerez également que l'IA avait souvent la tuile 3e plus haute valeur juste sous la tuile valeur la plus élevée et que je suis encore à essayer de comprendre. Des pensées?

Astuce n ° 3: Gardez les carrés occupés

Au-dessus, je l'ai mentionné que malheureux fraie de tuiles aléatoires peuvent souvent signifier la fin de votre jeu. L'une des stratégies les plus intéressantes que l'IA semblait d'adopter était de garder la plupart des places occupées pour réduire le contrôle aléatoire et où les tuiles se reproduisent.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Pour la plupart du jeu, l'IA a maintenu 12-15 (sur 16) tuiles sur le plateau et a évité la fusion trop de tuiles à la fois. Bien que risquée, cette stratégie assure que les carreaux engendreront où vous voulez sur la carte.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Dans ce jeu, l'IA a gardé le coin inférieur droit de la carte ouverte de sorte que les tuiles de faible valeur engendrerait autour de là, où il serait alors fusionner avec des tuiles de faible valeur à proximité et déplacer la chaîne.

Astuce n ° 4: Maximiser le nombre de fusions possibles sur la carte

L'une des erreurs que les nouveaux joueurs 2048 ont tendance à faire est d'essayer de fusionner tout rapidement et laisser autant de places ouvertes que possible. Bien qu'une telle stratégie est intuitive sens - plus carrés ouverts signifie que vous êtes moins susceptible de s'engorgées - en se concentrant sur tout fusion immédiatement conduit effectivement à des jeux plus courts.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Dans son meilleur jeu, 2/3 des mouvements de l'IA fait a donné lieu à 2+ tuiles qui pourraient être fusionnées. À l'extrême, certains mouvements ont donné lieu à 6+ se confond de tuiles possibles, mais bien sûr pas toutes ces fusions pourraient être faites à la fois.

Essayez de jouer quelques jeux où vous gardez les carreaux alignés pour fusionner - mais ne les confond pas jusqu'à ce que vous devez - et voir si vous durer plus longtemps que d'habitude.

Avez-vous battre ce score élevé?

Partager:

Dr Randy Olson est un scientifique Senior Data à l'Université de Pennsylvanie, où il développe des algorithmes d'apprentissage automatique état de l'art en mettant l'accent sur les applications biomédicales.

Comment AI écrasé tous les dossiers de l'homme en 2048, le Dr

Je l'ai trouvé utile de garder la 3ème plus haute tuile dans la deuxième rangée première place que je peux garder la 3ème place sur la ligne supérieure d'une valeur élevée. Puis, quand je reçois le 3e plus haut (rang 2 colonne 1) égale à la 2e plus haut paver le 3ème place sur la ligne supérieure devient la valeur la plus élevée 2 sans avoir à recommencer. L'espoir qui fait sens. Je n'a jamais dépassé 100k, donc je ne peux pas vraiment comparer à cette AI haha

Comme quelqu'un ayant un intérêt dans l'IA, mais pas encore de connaissances pratiques sur la façon de faire un: Sweet! Maintenant faire battre de Super 2048!

Je triché et utilisé undos, m'a gardé 2 jours occupés pour se rendre à mon score d'environ 1,05 millions.

Mon ami a utilisé undo mais a obtenu le score le plus élevé possible.

ne sais pas exactement, mais je ne dispose que cette image de lui qui est vieux. Il a battu ce score IIRC. Le meilleur score est pas beaucoup plus grand que cela ..

Désolé, c'est l'image

Mais il est tout à fait improbable que cela nécessite l'obtention d'un 4 pas 2 dans certains endroits.

ne sais pas exactement, mais je ne dispose que cette image de lui qui est vieux. Il a battu ce score IIRC. Le meilleur score est pas beaucoup plus grand que cela.

Moi aussi triché, utilisé beaucoup de undos, même pour obtenir une tuile 4 désirée et a finalement obtenu 131072, 65536, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256128, 64, 32,16, 8, 4 sur la grille et un score de 3867416

Undos sont grands lorsque votre écran tactile agit comme si vous avez fait quelque chose, mais vous n'avez pas l'intention. Cela arrive plus souvent que des erreurs réelles. Je fais suivre une stratégie bien, qui en regardant vos captures d'écran pourrait être en partie le même que celui AI.
article cool si!

J'ai aussi vu un article quelque part (malheureusement ne peut pas trouver plus ...) sur une variante de 2048 où l'ordinateur serait délibérément essayer de mettre de nouvelles tuiles dans le pire endroit possible, au lieu de les placer au hasard. Il a fait le jeu beaucoup plus difficile à jouer. Je me demande combien plus difficile qui ferait pour l'IA.

Cela semble mal. Je suis sûr que personne ne serait pas très loin dans ce match. # 128578;

Depuis supprime le caractère aléatoire, l'AI pourrait être programmé pour prédire que créer rapidement et le meilleur jeu possible avec ces règles

Mais, si l'ordinateur savait où il allait, il ne serait plus la pire place possible. 2048CEPTION. lol

Il est juste une fonction de réduction au minimum en compétition contre une Maximizer. Il est toujours la pire place possible. (Pensez-y comme si l'ordinateur peut choisir une valeur carré [1 ou 7], [2 ou 6] ou [3 ou 4] points. Le premier ordinateur choisira le [3 ou 4] boîte parce qu'il connaît le deuxième ordinateur va maximiser sur les choix donnés.

Il est plus compliqué que ça dans un jeu multi-tour parce qu'il n'y a aucun moyen possible pour le joueur d'avoir assez de puissance de calcul pour connaître la valeur réelle de placer une tuile quelque part - ils doivent compter sur des heuristiques. Savoir où votre adversaire va placer leurs tuiles va permettre à votre programme de « lire avant » beaucoup plus spectaculaire et donc pourrait en fait améliorer ses performances.

Droite. Mon point est que « pire place possible » existe bel et bien, même si les joueurs savent ce que l'autre va choisir.

Je ne suis pas d'accord. Les ordinateurs sont maintenant assez rapide et 2048 est assez simple que les deux aurait assez de puissance de calcul pour « jouer » de façon optimale.

Steve Mould discute ce programme dans ses vidéos sur youtube.

2048 filles de Windows

Comme il est, le jeu est un joueur par rapport à un élément aléatoire. Un joueur tente de maximiser son score contre les rouleaux de la filière, pour ainsi dire.

Dans la version plus difficile, le frai de tuiles est pas aléatoire. Il essaie délibérément de vous salir vers le haut. Il est donc un joueur contre un autre joueur, pas un rouleau de la filière. Vous avez un joueur essayant de maximiser son score, et le joueur adverse en essayant de minimiser.

L'IA pour la 2048 normale utilise ce qu'on appelle l'optimisation expectimax, pour ce type de jeu. Là où un joueur tente de maximiser son score et le « autre joueur » (le spawn de tuiles au hasard) joue au hasard.

L'IA pour l'autre variante 2048 plus difficile utiliserait ce qu'on appelle l'optimisation Minimax où un joueur tente de maximiser le score, et l'autre tente de le minimiser.

Maintenant, voici la chose: les deux méthodes fonctionnent de manière similaire. Ils regardent un certain nombre de coups à l'avance, regardez la carte à ces positions et choisit le meilleur. Dans le cas de expectimax, le programme calcule la probabilité d'arriver à cette position du conseil, parce que tous les pontes de tuiles aléatoires sont également probables. Cependant, dans l'autre variante, tous les pontes de tuiles sont également probables. Ceux qui se révèlent mauvais pour vous sont plus susceptibles que ceux qui se traduisent par une bonne position pour vous. Cela signifie que le programme peut essayer de prédire où l'adversaire va apparaître la tuile (cette prédiction est impossible en temps normal 2048 parce que tous les pontes de tuiles sont également probables et sont aléatoires). L'algorithme minimax peut prendre en compte et dans certains cas, en déduire que certains mouvements sont pires que d'autres sans avoir à regarder même à eux. Ce type d'optimisation de Minimax est appelée taille alpha-bêta. Le programme obtient toujours exactement le même résultat que Minimax, mais minimax avec la taille alpha-bêta ressemble à beaucoup moins de mouvements que la Minimax ordinaire. Pendant ce temps, encore une fois, expectimax doit examiner tous les mouvements possibles ll du temps.

Ainsi, alors que je ne l'ai pas essayé, je hasarder une hypothèse que la variante plus difficile de 2048 serait effectivement plus facile pour un ordinateur, pas plus dur. Parce que puisqu'il doit examiner beaucoup moins positions du conseil d'administration, il peut regarder plus en avant se déplace aussi bien, à savoir « voir » plus loin dans l'avenir du jeu.

Pour ceux qui se intéresse: c'est ce que le jeu final ressemblerait. (Je ne calculait pas le score mais je pense que ce serait 8 chiffres.

J'ai suivi le même schéma quand j'étais accro au jeu, et pourrait régulièrement obtenir 4096 et 8192 occasionnels sans undos, quelques fois se 16K dans le coin. En haut à gauche plus haut, puis vers le bas qui serpente à travers la colonne de gauche, la deuxième colonne, et vers le bas le troisième. Une caractéristique clé est que vous devez garder les lignes remplies afin qu'ils ne créent pas de trous. Malheureusement, le jeu stupide jette de temps en temps dans un 4 au lieu d'un 2 qui salit le processus.

Le vrai talent: celui qui a écrit cet algorithme

Oui et c'est un point avec son propre point parce que l'intelligence algorithmique est beaucoup plus occupé ce qui est maintenant le siège AI, avant AI a montré.
l'intelligence algorithmiques est une des conditions initiales invariantes et c'est exactement ce que l'IA doit être pas être AI

George van den Driessche

« Ce qui est particulièrement curieux au sujet de la progression de l'IA est qu'il a tendance à atteindre la tuile X sur (X / 2) se déplace. »

Est-ce pas nécessairement le cas, parce que chaque mouvement une nouvelle tuile apparaît et la tuile ajoute 2 (ou parfois 4) le score total sur la carte, qui reste par ailleurs inchangée?

Ceci est la moindre chose curieuse à ce sujet!

Très intéressant. La distribution des scores semble avoir deux modes. Est-ce parce que le 500 000 points correspond à la chance vous avez besoin pour passer le seuil 32768. On peut presque repérer deux autres modes de la distribution, ils correspondent à d'autres puissance de 2 seuils?

D'une certaine façon, oui. La chance devient un problème car il y a plus de tuiles sur le plateau et qui arrive juste avant que le 32768 est créé, et le 65536 est presque créé

Je vais supposer que votre AI a un moyen de calculer un score pour une configuration et puis vérifie un certain arbre de profondeur, et trouver la fonction de score était le plus difficile, donc je vais faire quelques suggestions à ce sujet.

1. Mettre la deuxième tuile le plus de poids dans un deuxième coin (non diagonale par rapport à celui où le poids le plus élevé est), est presque aussi bon que de le mettre directement près du poids le plus élevé. Et son mieux sans aucun doute que de le mettre à la distance 2.

2. Je trouve tout à fait bénéfique de mettre un faible carreau (2 ou 4) dans le deuxième virage, dans certaines parties du jeu, par exemple, lors de la construction tuiles 2048 équivalent. Il protège à nouveau « glissement » de la tuile le plus de poids dans la deuxième rangée.

(Et je ne peux pas battre votre AI: mon meilleur est 16384 + 8192).

Je viens de faire un score 79456, avec un 4096, 2048, 1024, 512 et double 128. je l'avais assez propre jusqu'à ce que les derniers mouvements. Je ne l'ai jamais utilisé undos.

La stratégie ne se confond pas semble intéressante. La chose est que je joue très vite, donc je fais souvent des erreurs. J'essaie de ne jamais appuyer sur la touche jusqu'à, mais parfois je bloque toutes les lignes et de se coincer.

mon haut est 60732 avec toute undos.

Ce sera mon nouveau score personnel élevé (avec undo)

Articles Liés