C'est bien tout ca, mais ca traite juste de l'aspec combinatoire du probleme. La resolution du probleme combinatoire est facile une fois que l'on a ecrit le probleme (surtout pour moi, c'est exactement mon boulot
). C'est ecrire le probleme qui est difficile.
Il y a la methode simple qui consist a explorer l'arbre de possible et prendre la meilleur solution (soit avec min/max soit avec alpha/beta, soit avec une Monte Carlo). Mais c'est un peu bourrin et il est peu probable que ca marche en temps raisonnable sur un telephone.
Le probleme principale de ces methodes est que pour chaque personnage le nombre de possibilite de mouvement est enorme. Prends un jeu comme shining force (ou ff tactics pour les plus jeunes), quand un personnage a un deplacement de 5, il a 50 cases de disponible. Dans chaque csa il peut consommer un de ces 4 objets, ou eventuellement attaquer ou ne rien faire. Pour chaque personnage tu as a peu pres 300 coups possibles. Apres tous les coups important comme les attaques ne sont pas deterministes: il y a un tirage aleatoire. Ce qui multiplie les possibles d'un facteur 10 facilement. Au final pour chaque coup, tu as entre 1000 et 5000 etat au tour d'apres. C'est 10 fois pire que le go. Et le go est connu pour ses IA minables. (Il a fallu attendre mogo pour avoir un truc raisonnable et ca pompe des ressource de ouf.)
Clairement, tu ne peux pas brute forcer le probleme. Il faut le modeliser pour le rendre plus simple, interdir certain coup qui ne sont pas important ou qui sont a faible valeure ajoute.