Return to search

Programmation et apprentissage bayésien de comportements pour personnages synthétiques -- application aux personnages de jeux vidéos

Nous nous intéressons à l'acquisition de comportements par des personnages autonomes (bots) évoluant dans des mondes virtuels, en prenant comme exemple les jeux vidéos. Deux objectifs essentiels sont poursuivis :<br>- réduire le temps et la difficulté de programmation pour le développeur, qui doit peupler un monde virtuel de nombreux personnages autonomes ;<br>- offrir au joueur une nouvelle possibilité : apprendre à des bots comment jouer. Alors que les environnements virtuels sont complexes, et que les comportements des bots doivent être riches, le défi est d'offrir des méthodes simples de programmation et d'apprentissage. Celles- ci doivent de plus se plier à des contraintes importantes sur la mémoire et le temps de calcul disponibles. Nous commençons par présenter les méthodes actuelles de programmation de tels personnages par une étude de cas avec Unreal Tournament, un jeu de combat à la première personne. Dans ce jeu, les comportements s'appuient sur un langage de programmation spécialisé pour la description de machines d'états finis. Cette méthodologie est caractérisée par une grande flexibilité, une faible formalisation et une grande complexité. Elle se prête difficilement à l'apprentissage. Nous proposons une méthode alternative de construction de comportements basée sur la programmation bayésienne, un formalisme de description de modèles probabilistes. D'une part, cette méthode permet de maîtriser la complexité de programmation de comportements composés. D'autre, part elle sépare clairement le travail de programmation de celui d'ajustement d'un comportement : ce dernier peut être fait par un non-informaticien. Techniquement cette méthode repose essentiellement sur deux innovations :<br>- Une technique générique de définition de tâches élémentaires, appelée fusion par cohé- rence améliorée. Elle permet de fusionner un nombre important de consignes exprimées comme des tableaux de valeurs définissant des distributions de probabilités. Chacune de ces consignes peut être soit prescriptive (que faire) soit proscriptive (que ne pas faire).<br>- Une technique de mise en séquence de ces tâches élémentaires, qui permet de construire le comportement complet du personnage à partir des tâches élémentaires précédentes, appelée programmation inverse. Elle repose sur un modèle de Markov caché spécialisé, qui peut lui aussi être vu comme une machine d'états finis mais dont la spécification est plus condensée qu'avec un langage de programmation classique. 4 Contrairement à l'approche classique, cette méthode de construction de comportement permet facilement l'apprentissage par démonstration. Un bot apprend son comportement en observant un humain qui joue. Les tâches élémentaires, comme les séquences, peuvent ainsi être apprises. Pour les tâches élémentaires, l'identification des paramètres se fait directement. Pour les séquences, il est nécessaire reconnaître les « intentions » du joueur (les tâches élémentaires) à partir des actions de son avatar. Cela est rendu possible en utilisant soit une méthode de reconnaissance à base d'heuristiques spécifiques, soit une méthode de reconnaissance bayésienne basée sur l'algorithme de Baum-Welch incrémental.

Identiferoai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00366235
Date06 April 2007
CreatorsLe Hy, Ronan
Source SetsCCSD theses-EN-ligne, France
LanguageFrench
Detected LanguageFrench
TypePhD thesis

Page generated in 0.0021 seconds