Système utilitaire
From Wikipedia, the free encyclopedia
Dans l'intelligence artificielle des jeux vidéo, un système d'utilité, ou IA utilitaire, est une méthode simple, mais efficace pour modéliser les comportements des personnages non-joueurs . En utilisant des nombres, des formules et des scores pour évaluer l'intérêt relatif des actions possibles, on attribue une utilité à chaque action. Un comportement peut alors être sélectionné en fonction de son score d'utilité le plus élevé, ou en utilisant ces scores pour initialiser la distribution de probabilité d'une sélection aléatoire pondérée. Ainsi, le personnage choisit le comportement le plus adapté à la situation donnée, selon la définition mathématique de ces comportements.
Le concept d'utilité existe depuis des siècles, principalement dans des domaines fortement dépendants des mathématiques comme l'économie . Cependant, il a également été utilisé en psychologie, en sociologie et même en biologie . De ce fait, et compte tenu de la nécessité inhérente de convertir les concepts en termes mathématiques pour la programmation informatique, son utilisation s'est imposée naturellement comme moyen de concevoir et d'exprimer les comportements des personnages de jeux vidéo.
Naturellement, chaque architecture d'IA présente ses avantages et ses inconvénients. L'un des atouts de l'IA utilitaire réside dans sa conception moins « manuelle » que celle de nombreuses autres architectures d'IA de jeu. Si les comportements d'un système utilitaire sont souvent créés individuellement (et manuellement), leurs interactions et priorités ne sont pas prédéfinies. Par exemple, les arbres de comportement (AC) exigent du concepteur qu'il spécifie les priorités séquentiellement afin de déterminer si une action doit être effectuée. Ce n'est que si ce comportement (ou cette branche de l'arbre) n'est PAS exécuté que le système d'arbre de comportement passe au comportement suivant.
En comparaison, dans de nombreux systèmes utilitaires, les comportements s'organisent automatiquement par priorité selon les scores générés par la modélisation mathématique définissant chaque comportement. De ce fait, le développeur n'a pas besoin de déterminer précisément la place du nouveau comportement dans le schéma global, qui peut comprendre des milliers de « nœuds » comportementaux. L'accent est plutôt mis sur la définition des raisons spécifiques pour lesquelles le comportement en question serait bénéfique (c'est-à-dire son « utilité »). Le système de décision attribue ensuite un score à chaque comportement en fonction du contexte et sélectionne le plus pertinent. Bien qu'il faille veiller au respect des normes afin que l'attribution des scores repose sur des principes identiques ou similaires, la complexité du traitement de dizaines, voire de centaines, de comportements différents est déchargée du concepteur et confiée à l'exécution du système.
