8
votes

Quantum Tic-Tac-Toe Ai

Dans ma classe de structures de données, un projet dans lequel nous sommes obligés de créer un jeu de TIC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC-TAC dans lequel un joueur est confronté à un bot qui joue à gagner.

Le professeur a suggéré que nous utilisions un arbre de jeu dans notre AI. Cependant, comme d'habitude, je cherche quelque chose de plus difficile.

Quelqu'un peut-il suggérer une approche meilleure et plus avancée que je pouvais rechercher et mettre en œuvre?


Je ne cherche pas quelque chose de complètement ridicule qui rend le problème plus complexe. Plutôt, je cherche une approche avancée - comme à l'aide d'un algorithme A * plutôt que d'un BFS.


2 commentaires

Vous voulez contester, je suggère d'apprendre la PSO quantique (optimiseur de particules d'essaim).


Vous pouvez également donner une chance à Monte Carlo Arbre Search ...


4 Réponses :



4
votes

Il y a 2 parties pour évaluer un jeu basé sur le tour.

  1. L'arbre de jeu.
  2. une fonction utilitaire.

    L'arborescence de jeu vous permet de jouer des mouvements à l'avance pour voir où ils diront. Si le jeu est assez complexe pour que vous ne puissiez pas calculer toutes les possibilités ( http://en.wikipedia.org/wiki / Solved_game ), alors vous avez besoin d'un moyen de déterminer comment "bon" un scénario de conseil en particulier est. Une mauvaise fonction utilitaire pour les échecs peut simplement compter les valeurs de la pièce et ignorer la position.

    Vous avez également besoin d'un moyen efficace de traverser l'arbre de jeu. Lisez à propos de minimax, de taille alpha-bêta, de Negascout, etc.


2 commentaires

Ces suggestions ont été fournies par le professeur. Je me demande s'il y a quelque chose de plus et au-delà de cela, je pourrais mettre en œuvre.


Nettoyer le code, bonne conception, en utilisant les techniques discutées. Avez-vous déjà fait tout cela et voulez-vous faire plus?



13
votes

Votre désir d'apprendre de nouvelles choses (vous-même même) est bonne. Cependant, une solution compliquée est souvent Pas la meilleure solution .

Il y a une très bonne raison que votre professeur a suggéré d'utiliser un arbre de jeu pour l'AI. C'est suggéré parce que c'est le bon outil pour le travail. Il n'y a pas une meilleure approche que vous pouvez rechercher car c'est la meilleure approche.

Vous avez mentionné que vous êtes dans une classe de structures de données (qui est généralement une classe d'une première ou de deuxième année). Je suppose que le point de votre affectation est d'en savoir plus sur les structures de données d'arbres. Si vous voulez faire des choses plus compliquées, écrivez d'abord la version des arbres, puis de la recherche d'autres moyens de résoudre le même problème.


2 commentaires

+1 parce que maintenant j'ai la phrase à me dire à moi-même, "gants"


Je ne cherche pas une solution plus compliquée. Je cherche la meilleure solution. Dans le passé, mon professeur a donné des suggestions telles que «Utilisez BFS pour résoudre le problème», mais BFS n'est pas la solution optimale. Plutôt, a * était. Je cherche simplement la meilleure solution. Si un arbre de jeu est la meilleure solution, alors soyez-le.



2
votes

Je travaille actuellement sur ce problème spécifique: http: // www .rickb.com / quantum-tic-tac-toe

J'avais envisagé de faire quelque chose de plus avancé également, mais je suis juste en train de rester au bon algorithme de recherche Alpha-Beta. Mon problème principal consiste à atteindre un bon algorithme pour "marquer" chaque État du conseil d'administration. QTTT est beaucoup plus compliqué que la norme TIC TAC Toe, le nombre d'états à rechercher est exponentiellement plus grand. J'ai le standard TIC TAC Toe Toe Toe dans la mémoire que j'utilise pour rechercher rapidement le score de chaque état de la carte "classique", mais je dois ensuite faire marquer l'état de superposition. Le nombre d'états est si important que vous ne pouvez pas aller trop profond dans l'arbre, donc une fonction de notation appropriée pour tailler l'arbre tôt est un must.


1 commentaires

C'est tout ce dont vous avez besoin. Je ne savais vraiment rien à propos de l'entrée dans ce projet et je supposais que mon professeur était - comme généralement - nous donnant l'approche la plus facile.