20-09-2008, 11:07 PM
Hello,
Bon tout d'abord pour programmer une bonne IA, il y a une chose inévitable, il faut être un bon joueur dans le jeu concerné...
Pour un programme qui apprend, personnellement je n'en ai jamais vu. Je suis assez dubitatif sur l'efficacité de ces algorithmes. Si quelqu'un à un exemple d'algorithme du genre qui marche sur un jeu de stratégie, je serais curieux de voir comment ça fonctionne.
Bon alors il y a plusieurs façon de coder une IA :
Soit un algorithme glouton, genre je joue à Othello, je choisis parmis tous les coups immédiats celui qui retourne le plus de pion à l'adversaire... En général c'est pas top (l'adversaire peut les re-retourner le tour d'après si ils sont mal placés)
Soit un algorithme du genre min-max. C'est une recherche arborescente. Il faut avoir une fonction d'évaluation, et la recherche tente de la maximiser quand c'est ton tour, et de la minimiser quand c'est au tour de l'adversaire... On obtient une sorte d'arbre, mais le problème si le jeu est combinatoire, ça devient vite assez lent si on veut avoir un horizon de vue de plusieurs niveaux... C'est ce genre d'algorithme qui est utilisé pour les échecs. Et le problème se pose pour certains jeux, quelle fonction d'évaluation choisir ??
Pour le GO, il y a quelques années les algorithmes étaient assez mauvais (genre 1er ou 2è dan pour les meilleurs). Mais maintenant, de nouveaux algos sont apparus, et ils tendent à devenir aussi forts que ceux des échecs.... Il faudrait que je me renseigne pour savoir comment ils marchent...
En plus dans ton jeu, il y a les pouvoirs qui compliquent tout... Dur de prendre en compte ce genre de truc dans l'IA.
En espérant t'avoir aidé un peu. Si j'ai des idées je reviens poster.
Bon tout d'abord pour programmer une bonne IA, il y a une chose inévitable, il faut être un bon joueur dans le jeu concerné...
Pour un programme qui apprend, personnellement je n'en ai jamais vu. Je suis assez dubitatif sur l'efficacité de ces algorithmes. Si quelqu'un à un exemple d'algorithme du genre qui marche sur un jeu de stratégie, je serais curieux de voir comment ça fonctionne.
Bon alors il y a plusieurs façon de coder une IA :
Soit un algorithme glouton, genre je joue à Othello, je choisis parmis tous les coups immédiats celui qui retourne le plus de pion à l'adversaire... En général c'est pas top (l'adversaire peut les re-retourner le tour d'après si ils sont mal placés)
Soit un algorithme du genre min-max. C'est une recherche arborescente. Il faut avoir une fonction d'évaluation, et la recherche tente de la maximiser quand c'est ton tour, et de la minimiser quand c'est au tour de l'adversaire... On obtient une sorte d'arbre, mais le problème si le jeu est combinatoire, ça devient vite assez lent si on veut avoir un horizon de vue de plusieurs niveaux... C'est ce genre d'algorithme qui est utilisé pour les échecs. Et le problème se pose pour certains jeux, quelle fonction d'évaluation choisir ??
Pour le GO, il y a quelques années les algorithmes étaient assez mauvais (genre 1er ou 2è dan pour les meilleurs). Mais maintenant, de nouveaux algos sont apparus, et ils tendent à devenir aussi forts que ceux des échecs.... Il faudrait que je me renseigne pour savoir comment ils marchent...
En plus dans ton jeu, il y a les pouvoirs qui compliquent tout... Dur de prendre en compte ce genre de truc dans l'IA.
En espérant t'avoir aidé un peu. Si j'ai des idées je reviens poster.