Aller au contenu

Codage IA jeu abalone en Python


nellie.piat

Messages recommandés

Nouveau, Posté(e)
nellie.piat Nouveau 1 message
Baby Forumeur‚
Posté(e)

bonjour,

Dans le cadre de nos études en classe préparatoire, nous devons coder en python un jeu et crée une intelligence artificielle. Nous avons choisi le jeu Abalone. Cependant nous devons coder l'IA mais ne savons absolument pas cu tout comment s'y prendre. Notre professeure nous a déconseillé d'utiliser le négamax car prend trop de temps et assez complique à mettre en place pour abalone. J'ai ainsi regardé et trouvé l'algorithme Dariush Monte Carlo. Néanmoins nous n'arrivons pas à déterminer la structure du code et l'ensemble des possibilités (il y a trop de déplacements possibles!) 

Si quelqu'un peut nous aider.

Cordialement 

 

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, Le prendre au sérieux, nuit gravement à la santé, Posté(e)
azad2B Membre 5 932 messages
Le prendre au sérieux, nuit gravement à la santé,
Posté(e)

Bon courage : même en pseudo code, je baisse les bras. Trop riche à mon avis. Je crois qu'une première approche serait de faire appel à quelqu'un qui serait un spécialiste de ce jeu (que je ne connaissais d'ailleurs pas). Avec son aide, une vision plus simplifiée du plateau émergerait peut-être...

Lien à poster
Partager sur d’autres sites

Invité korvo
Invités, Posté(e)
Invité korvo
Invité korvo Invités 0 message
Posté(e)

ça dépend de ce que vous voulez faire, quel genre d'ia, généralement quand on parle python et Ia les premières bibliothèques qui viennent à l'esprit c'est pytorche et tensorflow. Si t'as besoin de bons tutos, je te conseille la chaine Machine Lernia https://www.youtube.com/channel/UCmpptkXu8iIFe6kfDK5o7VQ

 

 

Lien à poster
Partager sur d’autres sites

Membre, Le prendre au sérieux, nuit gravement à la santé, Posté(e)
azad2B Membre 5 932 messages
Le prendre au sérieux, nuit gravement à la santé,
Posté(e)

Hello @korvo Connais-tu ce jeu "Abalone" ? Les règles sont très simples, trop peut-être parce que quand on voit le plateau, on déchante un peu. Il faut une sacré habitude du jeu pour voir comment il comment il va évoluer.

Et quelques soient la richesse des bibliothèques que tu cites, il me semble que l'élaboration de l'algorithme ne soit pas très simple. Et sans lui .... rien à attendre 

Lien à poster
Partager sur d’autres sites

Membre, Explorateur de Nuages, 47ans Posté(e)
Pheldwyn Membre 25 236 messages
47ans‚ Explorateur de Nuages,
Posté(e)
Il y a 2 heures, nellie.piat a dit :

l'ensemble des possibilités (il y a trop de déplacements possibles!) 

 

Oui, clairement c'est ce qui m'est venu à l'esprit en premier ... entre pousser avec deux boules ou trois boules, revenir en arrière, faire des déplacements latéraux .... y'a pas à dire, vous n'avez pas choisi le plus simple :rofl:

Bon, je n'y connais rien en IA. J'avais juste implémenté une fois un min-max pour un othello (mais plus facile à évaluer un plateau de jeu ... encore que).

Je viens de regarder le concept du Monte-Carlo, c'est pas idiot (du moins si j'ai compris le principe) ... mais vu la possibilité qu'il y a à chaque coup, même faire jouer les coups suivants aléatoirement ça va demander de pouvoir évaluer à chaque fois tous les coups disponibles rapidement.

 

Bref, j'ai l'impression que c'est davantage cela le noeud de votre problème : comment déterminer efficacement tous les coups possibles.

Lien à poster
Partager sur d’autres sites

Membre, Explorateur de Nuages, 47ans Posté(e)
Pheldwyn Membre 25 236 messages
47ans‚ Explorateur de Nuages,
Posté(e)

Tiens j'ai trouvé ce projet sur github, où il donne des pistes pour l'évaluation d'un plateau:

https://github.com/nsalleron/Abalone

Peut-etre ne faut-il pas développer un arbre pour chaque possibilité de mouvement, mais commencer par lister toutes les combinaisons offensives (et celles à notre encontre) et partir de ces combinaisons pour l'heuristique.

 

Mais si votre prof a déconseillé negamax, a-t-elle déconseillé un alpha-beta ?

Lien à poster
Partager sur d’autres sites

Invité korvo
Invités, Posté(e)
Invité korvo
Invité korvo Invités 0 message
Posté(e)
Il y a 2 heures, azad2B a dit :

Bon courage : même en pseudo code, je baisse les bras. Trop riche à mon avis. Je crois qu'une première approche serait de faire appel à quelqu'un qui serait un spécialiste de ce jeu (que je ne connaissais d'ailleurs pas). Avec son aide, une vision plus simplifiée du plateau émergerait peut-être...

Non je connais pas ce jeu, les bibliothèques que j'ai cité ne sont pas faciles à prendre en main non plus, comme le projet est dans un cadre scolaire je pense pas qu'ils seront nécessaires, l’intelligence artificielle ne veut pas dire forcément des réseaux de neurones, peut être qu'il a besoin d'un algorithme plus simple : K-means, Montecarlo...ou alors un algorithme évolutionniste

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×