Une question me 'turlupine' dans la tête depuis quelques jours,suite à la lecture d'un article:
Comment crée -t-on une AI pour un jeu? et pourquoi est-ce difficile d'avoir une bonne AI?
8)
"La guerre n'est que la simple continuation de la politique par d'autres moyens" - Carl von Clausewitz -
Au printemps, je vais quelquefois m'asseoir à la lisière d'un champ fleuri.
Lorsqu'une belle jeune fille m'apporte une coupe de vin , je ne pense guère à mon salut.
Si j'avais cette préoccupation, je vaudrais moins qu'un chien
Une IA n'est rien de moins qu'un programme, programme qui peut etre completement différent selon les jeux. Ainsi une IA d'echec ne fait que calculer tous les coups possibles dans son horizon (horizon qui peut varier d'un demi-coup à quelques dizaines de demi-coups), et qui choisit donc la voie qu'elle considère selon sa programmation comme la meilleure (généralement celle qui lui permet d'obtenir un avantage matériel, l'IA echiquienne est plutot matérialiste). C'est pourquoi une IA de jeu d'echec est une excellente tacticienne (rien ne lui échappe dans son horizon), mais une pietre stratège (ne voit rien sur le long terme, ne comprend pas les avantages positionnels).
Kentoc'h mervel eget bezañ saotret
"Celui qui croit qu'une croissance exponentielle
peut continuer indéfiniment dans un monde fini
est un fou, ou un économiste."
Pour rajouter une vision stratégique à l'IA d'échec on l'a dotée de banque de parties jouées précédemment. Elle a ainsi un fil rouge stratégique qui vient en partie combler son manque de vision à long terme.
La principale différence entre une IA d'échec et une IA d'un jeu de stratégie, même simple, c'est l'espace de recherche, à savoir le nombre de possibilités de coups que tu as sur un tour, puis deux, puis trois etc. Entre les 64 cases et 32 pieces d'un jeu d'échec, dont une par tour peut bouger, et les 250+ cases ou regions, 100-1000 unités et mouvements simultanés des pièces, il n'y a rien à voir. Différence de complexité donc.
Pour les échecs, entre la simplicité relative de la "simulation" + la puissance de calcul que l'on accepte d'y mettre + le fait que de nombreuses études réellement scientifiques ont été réalisées, on est arrivé à des programmes meilleurs que l'homme désormais. A noter que même si l'espace de recherche est relativement faible par rapport à un jeu de stratégie, il est cependant suffisament vaste pour qu'on cherche de toutes façons à faire autre chose que de la recherche exhaustive de tous les coups: il y a mise en place d'algorithmes d'évaluations et prédictions bien sûr. Tu ne recherches donc pas le meilleur coup parmi la totalité des coups que tu aurais analysé, mais tu obtiens cependant le meilleur sans avoir tout recherché. On appel cela une heuristique, trouver une solution sans devoir parcourir toutes les solutions.
Pour les wargames, tout est encore à l'état embryonnaire, chacun est dans son coin ou presque, n'a que peu de moyens. Il y a bien eu des tentatives de rationalisation de tout cela, comme MASA et leur DirectIA, un module qui voulait se vendre, mais apparement ca n'a pas eu le succés escompté. Cela tient surtout au fait qu'au niveau rendement économique, il n'est pas rentable dans les jeux de développer l'IA. Triste constat mais c'est comme cela. Il faudrait qu'un acteur majeur de l'industrie PC le veuille, Microsoft par exemple, proposant des produits presques clefs en main la dessus, qui permettrait aux développeurs de développer une IA comme on utilise DirectX, comme une boite à outils. Bien sur la difficulté c'est que les jeux ont des besoins différents, donc de toutes façons ce que l'on obtiendrait, au mieux, ce sont des outils pour les jeux grands publics, FPS et peut etre RTS.
Ca nous amène donc directement à l'IA des jeux de stratégies. Le seul travail sérieux et soutenu qui je pense existe en ce moment, c'est l'IA de Dave O'Connors, soit celle de Conquest of the Aegean et opus précedents. Ca ne veut pas dire que c'est la seule d'intêret, mais en tout cas elle propose de trés bon résultats. Malheureusement pour DoC, ces jeux n'ont pas le succés escomptés et restent confidentiels. Ils sont trés longs à développer, et apparement le fait d'être trop réalistes (pour beaucoup de joueurs devoir déléguer trop de chose n'est pas ce qu'ils cherchent, même si réaliste) ne plait pas assez. Résultat, le monsieur ne travail plus qu'en temps masqué sur son prochain jeu, et travail de jour pour le dpt de la défense Australien.
Tout ceci me fait dire qu'en fait, une IA médiocre ou à peine passable (j'espère que celle d'ageod mérite le 2e terme et pas le 1er) est largement suffisant pour 90% des gens. C'est cynique mais réaliste. Est-ce que cela veut dire qu'il n'y aura jamais de bonne IA dans un jeu qui marche bien? Pas forcément, mais ca sera avant tout motivé par l'intêret personnel de l'équipe qui la développe, et pas parce que cela rapporte au niveau ventes (en ce qui me concerne c'est le cas, j'aime à croire que l'IA des jeux ageod sera de mieux en mieux mais parce que cette situation de mauvaise IA m'irrite profondément et que quelque part c'est un défi à relever).
Pour en revenir à nos moutons, une IA dans un jeu de stratégie se trouve confrontée à devoir gérer sur le long terme des stratégies qui fonctionnent par cascade, donc que l'on ne peut déduire facilement l'une de l'autre. A mon avis c'est pas pour dans dix ans que vous verrez une IA Allemande comprendre d'elle même qu'un des moyens de prendre l'Egypte, c'est d'arriver à convaincre Franco de prendre Gibraltar (on pourrait partir sur une réflexion à base de la prise de Malte bien sûr), ce qui verrouille la méditerranée et permet un support correct d'une DAK renforçée. La desssus, je pense qu'on va rester sur des gros scripts d'actions qui serviront de déclencheurs.
Au niveau d'en dessous (une IA à mon avis est forcément hiérarchique sur un jeu de stratégie, ie elle fonctionne par couche de réflexion), il y a la stratégie opérationnelle. Ici le challenge est de créer des mécanismes coopératifs entre les forces ou les zones d'actions. Autre challenge, il faut que l'IA ne soit pas que réactive, mais préemptive, ou alors que sa réactivité dépasse le niveau du réflexe de base. On me bombarde Ploesti, je ne me contente pas de réparer et de rajouter de la Flak. Je regarde si je ne pourrais pas lançer des paras pour prendre la Crète, qui était la base des bombardiers stratégiques. Ici encore, on se heurte au problème de l'espace de recherche et du nombre de possibilités à envisager. Il faut donc bosser, des centaines voire milliers d'heures pour donner à l'IA différentes pistes de réflexions, mais assez larges cependant pour qu'elles soient un tant soit peu génériques. C'est l'approche système expert, mais pas via des règles on/off qui donne des tests alambiqués (qu'on appel du code spaghetti au final), mais plus par pondération numérique. Je donne x point si cette condition est remplie, je donne y si celle ci l'est, etc. On a au final, pour une situation donnée une valeur d'intêret: c'est la valeur de 'fitness' de l'algorithme.
Tout ceci n'est qu'une façon de voir l'IA. On peut la traiter autrement, mais c'est de cette façon que je m'y attèle. Il y a des méthodes plus scientifiques, comme les réseaux neuronaux ou les algorithmes génétiques, qui sont des moyens de trouver des solutions par calcul non exhaustif, encore une fois: des heuristiques.
Hé Pocus ! un sujet qui te tiens à coeur ...super ta réponse.
C'est un point rarement abordé dans les revues 'jeux' ou du moins,on reste souvent aux commentaires AI mauvais ...AI passable....
Apparemment,il existe plusieurs types ou genre de AI
Y a t-il un moyen de savoir quel type de AI équipe tel jeu?
"La guerre n'est que la simple continuation de la politique par d'autres moyens" - Carl von Clausewitz -
Au printemps, je vais quelquefois m'asseoir à la lisière d'un champ fleuri.
Lorsqu'une belle jeune fille m'apporte une coupe de vin , je ne pense guère à mon salut.
Si j'avais cette préoccupation, je vaudrais moins qu'un chien
Tiens un sujet à propos de ma grand mère, flateur çà !
«Ma femme est tellement molle, que pour la mettre au lit j'ai besoin d'une truelle !» (Pierre Doris)
--------------------------------------------------------------------------------------------------------------------