Bonjour,
Je suis en train de développer une réussite et j'ai développé une option qui permet au programme de résoudre tout seul la réussite.
Mon problème est que le nombre de combinaisons semble tellement énorme, que le traitement est très très long...
J'ai fait une procédure récursive qui calcule toutes les positions des cartes et ça fonctionne pas mal.
Ensuite, j'ai fait une variante en multithreading qui permet de calculer plusieurs branches en parallèle, ça fonctionne encore mieux...
Comme je me retrouve avec un arbre à plusieures branches (comme aux échecs), je voudrais savoir quel est le meilleur algo à utiliser pour résoudre mon problème... J'ai souvent entendu parler de MiniMax et autres AlphaBeta, mais je ne sais pas le mettre en application ni déterminer si l'une de ces méthodes serait appropriée.
Merci pour vos lumières.
Cédric
Pour infos, le principe du jeu est le suivant :
- j'étale mes 52 cartes (mélangées) sur 4 lignes de 13 colonnes
- j'enlève les As pour me retrouver avec 4 trous
- pour jouer il suffit de combler l'un des trous avec une carte de valeur
supérieure (v+1) (et de même couleur) que la carte précédent le trou.
ex : j'ai un 3 de coeur suivi d'un trou, je peux donc y placer le 4 de coeur
- les 2 ne peuvent se placer qu'en colonne 1 (puisqu'il n'y a plus d'as) mais sur n'importe laquelle
- la partie est gagnée lorsque toutes les cartes sont ordonnées
- la partie est perdue lorsque tous les trous sont précédés de Rois
Partager