Automates
Intelligents s'enrichit du logiciel
Alexandria.
Double-cliquez sur chaque mot de cette page et s'afficheront
alors définitions, synonymes et expressions constituées
de ce mot. Une fenêtre déroulante permet aussi
d'accéder à la définition du mot dans une
autre langue.
27 octobre 2003
Interview
réalisé par Christophe Jacquemin
Axel
Buendia
Chercheur en intelligence artificielle
concepteur du système SpirOps
Axel Buendia,
jeune chercheur âgé de 29 ans, est titulaire
d'une thèse en intelligence artificielle menée
sous la direction de Jean-Claude
Heudin.
Il est le concepteur de SpirOps,
système innovant breveté destiné à
introduire beaucoup plus facilement qu'à présent
l'intelligence artificielle au niveau des jeux vidéos.
Automates
Intelligents (AI) : Axel Buendia, vous êtes le concepteur
du système SpirOps*, vraiment innovant, destiné à
introduire beaucoup plus facilement qu'à présent l'intelligence
artificielle au niveau des jeux vidéos.
Quelle est votre formation, et d'où vous vient cette passion
pour l'intelligence artificielle ? Axel Buendia (A.B) : Je suis d'abord passé par l'EPITA
(Ecole pour l'Informatique et les techniques avancées(1)),
école dans laquelle j'ai fait ma prépa, puis la spécialité
"Sciences Cognitives et Informatique Avancée (SCIA),
et donc intéressé par l'intelligence artificielle
et toutes ses applications. A l'époque, je voyais passer
devant moi de grands ouvrages comme "Le traitement automatique
des données pour tous les milieux industriels" ou encore
"Les outils d'aides à la décision" et, d'un
aute côté, des secteurs un peu porteurs qui semblaient
émerger, comme celui du jeu vidéo. J'ai pensé
que l'on pouvait combiner les deux...
AI
: Cette passion pour l'intelligence artificielle vous-est-t-elle
venue durant vos études ou date-t-elle de bien avant ? A.B
: Cela me vient de ma plus
tendre jeunesse, avec la lecture des romans de science-fiction...
J'ai eu la chance de pouvoir bénéficier d'un ordinateur
dès l'âge de 12 ans. Les premiers programmes que j'ai
pu créer pendant mon adolescence étaient des espèces
d'interfaces entre les machines et l'homme, un peu plus autonomes.
AI
: C'était de la programmation en BASIC ? A.B
: Oui. Après, j'ai
commencé à programmer en assembleur sur un AMIGA,
et puis ensuite en PASCAL..
AI
: Revenons à l'EPITA. Ce n'est pas une école vraiment
spécialisée en intelligence artificielle... Alors
pourquoi avoir fait ce choix ? A.B
: Au début, je ne
souhaitais pas enchaîner directement sur un DEA et une thèse
en intelligence artificielle. Cela m'est venu plus tard. J'avais
plusieurs projets, mais finalement aucun de vraiment abouti. Alors
j'ai pensé que le DEA et la thèse me permettraient
de formaliser un projet concret pour ensuite monter une société.
AI
: Vous aviez déjà ce projet durant vos études
à l'EPITA ? A.B
: Oui. Et dans le domaine
que je connaissais le mieux, celui de l'intelligence artificielle
(IA), car j'avais lu beaucpup de livres sur le sujet. Et pour le
choix du marché et du type de produit, je me suis orienté
vers le jeu vidéo puisque j'ai toujours beaucoup joué.
C'est un milieu qui à l'époque - en 1997, durant mes
études à l'EPITA - avait d'énormes demandes
en termes d'IA, qui n'étaient pas encore formalisées...
On sentait que déjà existait dans ce domaine une lacune...
Et pour mieux formaliser mon projet, je me suis lancé dans
le DEA de Paris VI "Intelligence Artificielle, Reconnaissance
des Formes et Applications" (IARFA)(2),
DEA destiné à la recherche universitaire
et à l'industrie. Expérience très enrichissante
pour moi, car elle m'a permis de passer du monde de l'industrie
à celui de la recherche.
AI
: Quelles différences y voyez-vous ? A.B
: Ce n'est pas du tout le
même genre de travail, ni la même méthode. Dans
le monde de l'industrie, on parle beaucoup de formalisation de projet,
d'écriture de dossier complet. Il y a beaucoup de discussions
sur la forme, le suivi. A mon avis, dans l'industrie, ce n'est pas
vraiment les moyens techniques que l'on va trouver pour arriver
à aboutir dans le projet qui sont importants. C'est plus
le temps que l'on va mettre pour le faire et les ressources que
l'on va employer pour cela. Alors que dans la recherche, on s'attaque
aux autres questions, qui ne sont pas traitée par l'industrie.
Du genre : "je n'ai pas les moyens techniques pour arriver
à ce que je demande ; je m'intéresse alors à
ces moyens techniques, aux outils conceptuels". Et alors, dans
ce cas, il est beaucoup plus complexe de mettre une date limite
et des coûts ressource pour ce genre de travail. Recherche
et industrie sont complémentaires.
Grâce à ce passage monde industriel/monde recherche,
j'ai appris que ce n'est pas une technologie particulière
qui permet de résoudre un problème. C'est avant tout
une catégorie de problèmes. Ceci me paraît très
important parce que l'un des grands écueils dans lequel nous
tombons tous, c'est qu'au départ on définit un problème,
on essaie de trouver une solution à ce problème, donc
on part sur une ou plusieurs technologies. Ensuite, une fois que
l'on a cerné la technologie, le problème évolue
-c'est long une thèse -, et on ne remet pas toujours en cause
ce que l'on a fait. On reste enfermé dans les technologies
que l'on a trouvées au départ. Finalement, les recherches
deviennent plus une exploration de la technologie que la solution
réelle à un problème concret.
AI
: Quel a été le thème de votre mémoire
de DEA ? A.B
: Il s'agissait d'un stage
que j'ai effectué chez Cryo, société conceptrice
de jeux vidéos... De toutes façons, en sortant de
l'EPITA, j'avais fait mon choix : ce serait jeux vidéos ou
bases de données... Cela dit, j'en avais un peu souper des
bases de données. Alors j'ai préféré
le jeu vidéo et, plus précisément, le comportemental.
Après mes études à l'EPITA, j'avais donc monté
un petit dossier que j'ai envoyé à plusieurs sociétés
de jeu vidéo en expliquant ce que j'étais prêt
à faire chez elles. Et finalement, Cryo m'a pris en stage
pour développer (c'était mon idée) un outil
permettant de concevoir leur IA facilement. Les technologies d'intelligence
artificielle sont le plus souvent issues de la recherche fondamentale,
et n'ont pas été spécifiquement créées
pour la production des jeux vidéo. Cela créé
une espèce de barrière entre la technologie et celui
qui veut l'utiliser. Ce qui fait que beaucoup de technologies tombent
dans l'oubli, alors qu'il ne manque souvent pas grand chose... Je
pense que c'est l'EPITA qui m'a donné ce côté
industriel, savoir qu'il ne sert à rien d'inventer quelque
chose si personne ne peut jamais l'utiliser.
AI
: Et qu'avez-vous tiré de ce passage chez Cryo car, en fait,
tout ceci était votre idée... A.B
: Cela m'a permis d'être
confronté directement aux personnes qui utilisaient le système.
Et c'est très important. Car souvent dans la recherche, on
n'est pas assez mis en présence des industriels qui vont
utiliser le système que vous avez conçu. Parfois même,
les chercheurs n'ont d'ailleurs aucune idée de l'application
industrielle de leurs recherches. C'est la recherche fondamentale
qui permet de faire évoluer les connaissances générales,
donc qui est très importante. Mais il y a un autre pan, qui
est l'intermédiaire entre la recherche fondamentale et l'industrie,
qui consiste à se concentrer sur ce que la recherche fondamentale
peut apporter à l'industrie. Et parfois, même si un
article démontre que telle ou telle molécule est susceptible
de ramener en théorie tel ou tel résultat, les recherches
qui en suivent pour industrialiser le produit sont aussi complexes
et longues que les recherches qui ont permis de découvrir
les propriétés de la molécule.
Donc, pour en revenir à Cryo,
je me suis dit qu'il fallait que je trouve un moyen pour être
bien compris. Par exemple, en IA pure et dure, on aimerait que les
systèmes soient complètement autonomes, auto-adaptatifs,
auto-réflexifs - c'est-à-dire qu'ils sont capables
de créer des modèles d'eux-mêmes et de ce qui
les entoure... Mais simplement évoquer le mot "d'adaptatifs"
aux industriels leur fait très peur. Il faut savoir que dans
le milieu du jeu vidéo, le produit que l'on va proposer va
arriver dans les mains de gens qui ne l'ont pas conçu au
départ et il est important que les concepteurs de jeux vidéos
puissent anticiper le comportement qu'ils peuvent en espérer.
AI
: Sachant que le plaisir du joueur est très dépendant
du comportement du jeu... Axel Buendia
(A.B) : Oui
et donc il est très important que la société
qui conçoit le jeu puisse elle-même, à tous
les niveaux, en avoir une bonne idée. Alors, si on parle
de "comportements adaptatifs complexes" - qui sont très
intéressants du point de vue de la recherche - on peut aboutir
dans le jeu vidéo à des comportements qui surprennent
le joueur, mais dans le mauvais sens du terme (culs de sac...) gâchant
son plaisir.
Alors, grande méfiance des industriels. Je me suis senti
brimé car au départ j'avais des idées pour
la réalisation d'une architecture vraiment complexe. Je me
suis alors dit qu'il fallait surtout faire simple.
Le deuxième point très
important pour les réalisateurs de jeux sont les ressources
utilisées par le système. Souvent dans la recherche,
le domaine que l'on étudie est au centre de l'expérience
que l'on mène donc tout le reste doit s'adapter autour de
cela. Mais dans le jeu vidéo c'est ici le dernier élément
pris en compte, qui arrive après l'affichage, le son, la
gestion du jeu... Alors il est difficile de leur dire : pour que
le comportement du jeu soit époustouflant en matière
d'IA, je veux 50% du temps machine et 50% de la mémoire...
Pourtant ce sont des problèmes qui, pour leur résolution,
sont en général très coûteux en termes
de temps machine et d'utilisation de mémoire... Et là
aussi, gros choc des cultures !
Troisième
choc culturel : je me suis rendu compte qu'entre le moment où
on avait l'idée du jeu et le moment où il sortait
dans le commerce, il y avait vraiment un temps très long.
Et j'ai voulu comprendre quels étaient les éléments
qui pouvaient intervenir. Le jeu vidéo, un peu comme le cinéma,
implique un très grand nombre de corps de métiers
issus de cultures très différentes. Il y a un monde
entre l'artiste qui va concevoir les textures et le programmeur
de moteur 3D, entre le musicien qui va réaliser la musique
du jeu et le game designer qui conçoit le jeu au départ.
Et je pense que tout ceci contribue à dresser une barrière
technologique et culturelle entre tous ces mondes. Lorsqu'un game
designer arrive par exemple avec une idée précise
de ce qu'il veut voir dans le jeu et que le programmeur lui répond
que ce n'est pas possible, il n'y a pas vraiment de dialogue qui
puisse s'instaurer. L'un ne sait pas pourquoi ce n'est pas possible
et l'autre ne peut le lui expliquer que par des propos techniques.
Alors le premier ne saura pas ce qu'il faut modifier dans son design
pour que cela marche. Bien sûr, ici, c'est le cas le pire
que je présente... Parfois il existe des équipes plus
cohérentes.
Donc dans ce principe, j'ai pensé
qu'il était important de créer un mécanisme
qui permette de communiquer et, parmi ces différents niveaux
de communication, pour l'IA, on a le game designer (celui qui va
concevoir le jeu), le scripteur (celui qui utilise les outils de
production) et le programmeur qui va écrire réellement
l'IA et les outils. Mais ici, l'IA a besoin d'une bonne partie du
jeu, fonctionnelle, pour pouvoir être testée. Donc
elle est souvent abordée tardivement dans le jeu. Si les
game designers ne commencent pas à penser tout de suite à
ce que vont être les problèmes de l'IA, elle est abordée
au mieux comme unité de production et donc on aboutit à
des surprises. Ce qui fait l'intelligence d'une créature,
c'est avant tout ce qu'elle arrive à percevoir dans le jeu...
AI
: Avant de rentrer plus dans le détail de ce que vous avez
conçu, revenons pour le non initié à des choses
plus terre-à-terre concernant le jeu vidéo. Depuis
quand est-il apparu ? Peut-on y voir des classifications par rapport
à l'IA ? A.B
: Le monde du jeu vidéo,
industrie actuellement florissante, date en fait de l'apparition
des ordinateurs personnels. Le décrire simplement est assez
difficile, du fait de sa variété. Disons que c'est
un univers qui peut-être très simple, impliquant au
moins une entité à travers de laquelle un joueur va
pouvoir interagir avec cet univers. Ce qui fait le plaisir du joueur,
c'est entre autres la richesse de ces interactions et ce qu'il peut
en retirer.
Disons qu'on distingue des grandes catégories de jeux :
- des jeux d'arcade purs, dans lesquels les autres personnages que
l'on rencontre - et qui sont animés par l'ordinateur - sont
très simples. Les décisions qu'ils prennent sont totalement
pré-déterminées,
- des jeux d'action un peu plus complexes dans lesquels les entités
que l'on affronte - ou avec lesquelles on coopère - sont
capables de prendre des décisions, c'est-à-dire par
exemple décider elles-mêmes si elles vont aller à
droite ou à gauche, vous tirer dessus ou se cacher... Là,
on parle déjà d'intelligence artificielle. En fait,
on parle d'IA à partir du moment où l'ordinateur va
prendre une décision,
- des jeux de stratégie, domaine où
l'IA est omniprésente. On peut par exemple citer les échecs,
- enfin, des jeux d'aventure, où les modes d'interaction
avec les autres personnages sont souvent plus complexes. Il peut
y avoir un système de dialogue qui est mis en place. Les
dialogues sont très riches en terme d'interaction, donc en
général font plaisir au joueur, mais sont très
difficiles à mettre en oeuvre en terme dIA et de technologie,
et donc pas si courant que cela.
A l'heure actuelle, la majorité
des interactions qu'un joueur établit avec les entités
dans un jeu sont plutôt des interactions d'opposition et de
destruction.
AI
: Avec votre système SpirOps, dont nous allons parler plus
longuement dans la suite de cette interview, il y aurait beaucoup
plus d'intelligence artificielle dans les jeux, car celle-ci serait
intégrée dès le départ dans la conception... A.B
: Je pense qu'il y a plusieurs
niveaux. D'abord, les outils - comme tous les outils d'ailleurs
- peuvent rendre abordables certaines technologies qui ne l'étaient
pas forcément au départ. Ils peuvent permettre à
des gens d'utiliser des fonctionnalités d'intelligence artificielle
auxquelles ils n'avaient pas encore eu l'habitude. Et donc cela
pourrait permettre d'améliorer l'intelligence des jeux.
AI
: A votre avis, quels sont les jeux les plus aboutis actuellement
en termes d'IA et de technologies? Axel Buendia
(A.B) :
C'est difficile de répondre à cette question car contrairement
aux chercheurs, les industriels ne disent pas grand chose sur les
technologies utilisées dans leurs jeux. Disons que si l'on
regarde les avis sur ce sujet sur le web, une des réponses
qui reviendra le plus souvent sera certainement le jeu Créatures
consistant à élever des êtres appelés
Norns qui réagissent comme des êtres vivants(3).
En termes de technologie, il s'agit
de plusieurs hiérarchies de réseaux de neurones imbriqués
entre eux, et qui évoluent génétiquement. C'est
donc quelque chose de très complexe, qui d'ailleurs a été
fait au départ par un laboratoire. Il y a eu un certain engouement
pour Créatures bien que le jeu n'ait pas été
un hit planétaire. En termes d'interaction, ce qui était
important c'est qu'on peut ici apprendre des mots aux créatures.
Il ne s'agit pas vraiment d'un dialogue, mais il est possible par
exemple de désigner des objets et de les présenter
au Norn, qu'il arrive ensuite à retenir.
Dans
le même genre, on trouve le jeu Black and White(4),
réalisé plus récemment : là, on voit
la créature qui bouge en fonction de son historique. Quand
elle fait des choses "méchantes", elle devient
physquement méchante. C'est très intéressant
de voir ce genre de technologies en oeuvre.
On peut également citer Les
Sims(5)
qui, à mon avis, est plutôt issu de l'ingénierie
informatique que des technologies récentes issues de la recherche.
Les créateurs du jeu ont réussi à décrire
un monde avec 4 ou 5 dimensions - dans lesquelles entrent par exemple
le repos, l'amusement - et où tous les objets sont décrits
en fonction de ces 4 ou 5 dimensions. L'intelligence artificielle
derrière ce jeu n'est donc pas si complexe que ce qu'on pourrait
croire. Mais les résultats visuels sont exceptionnels. Dans
ce monde du jeu vidéo, il faut bien avoir en tête que
l'intelligence ne se trouve pas dans la manière dont on a
programmé l'IA mais dans l'oeil de celui qui est en train
de jouer. Si le joueur a l'impression que la créature est
intelligente, peu importe par quel moyen on y est arrivé.
Le système SpirOps
AI
: Revenons à votre parcours. Après votre passage chez
Cryo, pour votre stage de DEA, vous décidez ensuite de faire
une thèse, avec la ferme intention d'affiner votre système
et de monter une société... A.B
: Oui. Jean-Claude Heudin,
qui dirige le laboratoire de recherche de l'Institut International
du Multimédia(6)
s'est tout de suite intéressé à
mon sujet et m'a proposé d'être mon directeur de thèse.
Mon idée, déjà évoquée un peu
plus haut, est de rendre accessible aux créateurs de jeux
vidéos la conception des comportements des créatures
grâce à SpirOps. En matière de conception des
comportements, il faut savoir en effet qu'actuellement la stratégie
la plus répandue consiste à élaborer les situations
auxquelles le personnage est confronté et dire : "si
ceci arrive, alors faire cela". Prenons un exemple : lors du
jeu, votre personnage effectue une patrouille. Alors on dira : "s'il
rencontre un ennemi, alors il lui tire dessus". Mais le problème
est que si le personnage rencontre un ennemi, celui-ci peut-être
potentiellement supérieur... donc là, il vaut mieux
faire demi-tour et aller chercher des collègues. Et puis,
même s'il n'est pas supérieur mais que notre personnage
ait été préalablement blessé... alors
là aussi, il vaut mieux fuir. Donc il y a un ensemble de
situations, grossissant au fur et à mesure qu'on étudie
le problème, ce qui fait que l'on a du mal à trouver
des solutions qui fonctionnent pour toutes les situations. Finalement
on se perd dans un dédale de situations inextricable. Alors
plutôt que d'avoir un schéma "Situations qui impliquent
un certain nombre de problématiques qui impliquent des solutions",
mon système SpirOps saute les situations pour envisager simplement
les problématiques auxquelles est confronté le personnage
et quelles solutions on apporte pour chacune des problématiques.
AI
: Si je comprends bien, dans votre système, on ne conçoit
pas la solution par rapport à une situation donnée
? A.B
: Oui . On conçoit
pour chaque problématique du personnage - par exemple détruire
les ennemis qui infiltreraient une certaine zone, avertir ses collègues
en cas d'infiltration, survivre... - des solutions simples pour
ces ensembles de sous-problèmes, indépendamment les
unes des autres. Le concepteur n'a pas à se soucier des interférences
qu'il pourrait y avoir entre tous ces sous-problèmes. C'est
SpirOps qui gère toutes les interactions entre ses sous-problèmes.
La stratégie utilisée ici est vraiment "diviser
pour régner". Le but est que le concepteur, comme on
dit, ne se prenne pas la tête.
AI
: Oui mais pour que cela soit utilisable, il faut que votre système
puisse s'interfacer avec des jeux -ou des environnements de jeux-
déjà créés... A.B
: Oui. Et pour cela SpirOps,
en plus de ces sous-problèmes qui sont appelés "centres
d'intérêt", utilise deux métaphores simples
qui sont les actuateurs - les actions que peut entreprendre le personnage
- et les percepteurs - les informations que peut récupérer
le personnage dans son environnement.
Les actions représentent en fait les solutions possibles
du problème - ceci va nous permettre de définir quelles
sont les solutions. Les percepteurs représentent toutes les
informations que le personnage pourra utiliser dans son raisonnement.
Ils sont très importants car si certaines perceptions ne
sont pas présentes, certains raisonnements ne pourront pas
être présents non plus.
AI
: D'où l'importance - comme vous l'évoquiez déjà
plus haut - que l'on se pose déjà au tout début
de la production la question de savoir quelles sont les informations
dont aura besoin l'IA pour que ces informations soient présentes
au moment où l'on va l'implémenter dans le jeu... A.B
: Exactement.
Une fois que l'on a déterminé les centres d'intérêt,
les informations dont on va avoir besoin et les solutions que l'on
veut en sortie -les actions que va entreprendre le personnage -,
il est important de calculer les solutions. Pour cela le procédé
utilise des fonctions mathématiques assez simples qui permettent
de combiner les entrées, le résultat d'autres fonctions
mathématiques, pour calculer la motivation pour chaque centre
d'intérêt, l'opportunité pour chaque action
et les paramètres des actions...
AI
: Pouvez-vous détailler un peu ces trois points... A.B
: La motivation pour chaque
centre d'intérêt représente l'intérêt
que porte la créature à tel problème à
tel moment. Si par exemple la créature n'a pas faim, c'est
totalement inutile qu'elle aille chercher de la nourriture.
L'opportunité pour chaque action auquel le centre d'intérêt
peut envoyer des ordres représente le fait de savoir si c'est
valable, c'est-à-dire est-ce que j'ai quelque chose dans
cet environnement qui est valable pour ce centre d'intérêt
et pour cette action.
Pour les paramètres des actions, je mets ce mot paramètres
au pluriel parce qu'aujourd'hui il ne s'agit pas simplement de choisir
une action parmi plusieurs, mais plutôt de choisir des actions
avec en plus un ensemble de paramètres. De plus en plus,
on veut que les créatures se comportent différemment
selon des éléments de sa personnalité, de ses
émotions, de son état. Donc, il ne s'agit pas dire
: "Je vais aller chercher la pomme" mais "je vais
aller vite chercher la pomme parce que j'ai très faim"
ou "je vais aller prudemment chercher la pomme car je sais
qu'il y a un ennemi qui rode dans les parages"... Ce sont des
détails importants, qui donnent vie et qui sont très
intéressants et très importants pour le jeu...
Et
donc, grâce à ce système, la conception dans
SpirOps revient finalement à créer des centres d'intérêt
puis des actions possibles pour le personnage, regarder de quelles
informations on va avoir besoin pour calculer les motivations des
centres d'intérêt et les opportunités des centres
d'intérêt pour les différents actuateurs. La
conception est donc grandement simplifiée par rapport à
un schéma "situations-problèmes". Une
autre chose importante est que, dans le calcul de la motivation
et des paramètres, on peut tenir compte de facteurs internes
à la créature qui sont sa personnalité, ses
émotions. On va donc pouvoir créer des modèles
de pensée qui sont identiques pour plusieurs créatures
et qui vont aboutir à des comportements différents
parce que les données en entrée qui correspondent
à leur personnalité sont différentes. Donc
la prise de décision finale sera différente bien que
les modèles de pensée au départ soient les
mêmes. C'est donc un système très économe
en termes de développement, et donc de coût de réalisation.
De plus, la définition des centres d'intérêt,
de la motivation, est totalement accessible à des game designers.
A vec ce système de conception, on voit bien que l'on
favorise très tôt l'intervention de la définition
de l'IA dans la production des game designers et donc de ce qu'elle
va être dans le jeu.
Exemple de conception
d'un modèle décisionnel simple
AI
: Votre système marche-t-il avec tous les milieux ?
Je pense par exemple à la mémoire disponible, au temps
machine alloué durant le jeu pour faire les calculs relatifs
à l'IA, temps qui souvent est très faible car passant
après celui employé pour la gestion des images... A.B
: Vous avez raison de souligner
ce point. SpirOps s'adapte automatiquement au temps machine alloué.
Le système va trier les centres d'intérêt en
fonction de leur motivation : plus le personnage a envie de faire
quelque chose et plus cela va être traité tôt
dans le temps. Et si le système est interrompu, il aura quand
même traité préalablement les centres d'intérêt
les plus importants et donc il aura une solution correcte au problème.
De plus, s'il reprend son raisonnement plus tard, il sera capable
d'adapter la solution en fonction des autres sous-problèmes
ayant pu être alors
traités
et donc d'affiner la solution de départ. On obtient donc
des décisions qui sont correctes, même dans un temps
très court alloué.
Mon système est très économe
en temps machine, mais il l'est également en temps mémoire,
c'est-à-dire qu'un modèle créé pour
une créature peut être partagé par plusieurs
autres et donc être alloué une seule fois en mémoire.
Toutes les créatures vont partager le même modèle.
Le système est par ailleurs conçu pour être
multiplateforme et extensible. Vous pouvez créer vos propres
fonctions, aussi complexes que vous le désirez : mettre par
un exemple un réseau de neurones dans une fonction, un système
expert, de la logique flou ou tout ce que vous voulez. Tout est
envisageable.
AI
: Oui mais qu'apportent les fonctionnalités de votre système
en matière d'IA, que ne possèdent pas les autres jeux
? A.B
:Mon
système apporte un ensemble de comportements cohérents
qui tient compte de tous les sous-problèmes. On a beau rajouter
de nouveaux sous-problèmes, on arrive à traiter l'ensemble.
Le système génère des comportements stables,
sans oscillations.
Le système génère
aussi des comportements adaptatifs. On a vu tout à l'heure
que cela faisait peur aux concepteurs de jeux. Mais d'un autre côté,
ils le souhaitent pour leurs jeux : ils aimeraient bien que le jeu
s'adapte au joueur, c'est-à-dire que chaque joueur ait une
expérience différente. Dès lors, la solution
que propose SpirOps est une adaptation très contrôlée
et surtout très localisée : le concepteur va décider
de ce qui va évoluer. Il n'y a pas de modification incontrôlée.
En fait ce sont les fonctions mathématiques du traitement
dont on a déjà parlé qui vont pouvoir utiliser
des paramètres internes qui vont évoluer au cours
du temps. Et donc le traitement va évoluer, donc le résultat
où il est utilisé va évoluer, donc la prise
de décision peut évoluer, le calcul des paramètres
peut évoluer, etc.
Un
des autres points forts est que le système propose une adaptation
dynamique en fonction de ce que voit la créature et de son
vécu. L'adaptation est un sous-problème : la créature
va regarder son environnement et porter des jugements sur ses actions
précédentes et, en fonction de ces jugements, va permettre
à des autres fonctions de s'adapter correctement. Enfin,
plus complexe encore, les créatures sont capables de modéliser
leur environnement : cela peut-être utilisé par exemple
pour de la navigation, de la cartographie et aussi pour créer
des graphes conceptuels, conceptualiser des conversations. Conceptualiser
aussi des enchaînements de situations : on pourrait déterminer,
en fonction de ses actions, dans quel état va ensuite se
trouver l'environnement. Par exemple, si j'appuie sur ce bouton,
cela va ouvrir la porte, et je sais qu'il y a des "méchants"
derrière... Toutes ces informations sont utilisées
pour anticiper, pour avoir un raisonnement anticipatif, ce qui est
communément appelé "de la planification dynamique".
La créature est capable de décider en fonction de
son vécu. Elle peut décider en temps réel,
monter des plans... Et ceci peut donc être utilisé
dans les jeux vidéos pour tout ce qui est raisonnement sur
le terrain, raisonnement stratégique, modélisation
de l'adversaire...
AI
: On voit tout de suite des applications pour le secteur militaire... A.B
:Oui,
bien sûr...
AI
: SpirOps a fait l'objet d'un brevet... A.B:Oui,
j'ai déposé un brevet fin juin 2003.
De
la difficulté de se faire connaître, et reconnaître...
AI
: Quels sont
vos projets ? A.B:Je
souhaiterais créer une entreprise qui puisse distribuer mon
système, sous licence, voire vendre le brevet puisque je
ne me leurre pas trop sur les capacités de distribution :
c'est difficile à mettre en oeuvre, ce n'est pas ma spécialité.
Pour valider ma technologie, je comprends bien qu'il faille que
je développe une activité économique au moyen
d'une licence, pour que j'aie quelques références.
Mais le but à moyen terme, disons dans trois à quatre
ans, c'est de vendre le brevet...
AI
: Oui, mais en faisant cela, ce sont encore les Américains
qui vont en récupérer les bénéfices... A.B:
Ou le Japon.
AI
: Et pourquoi pas les Français ou les Européens ? A.B:
Il y a des éditeurs
de jeux vidéos en France qui s'en sortent pas mal mais il
y a eu une vague de nettoyage par le vide dans les studios de production...
AI
: Et pourquoi ne pas les contacter tout simplement et concevoir
avec eux un jeu innovant mettant en pratique tout ce que votre système
peut construire en matière d'IA, prouvant ainsi l'incontournabilité
de votre système ? A.B:
C'est ce que
je compte faire : contacter des studios puisque mon produit n'a
pas encore fait ses preuves...
AI
: Pourquoi ? A.B:
Simplement parce que les
sociétés ne donnent pas les codes sources de leurs
jeux et donc ce n'est pas possible pour moi d'adapter un produit
existant en reprenant tout ou partie d'un jeu pour démontrer
la supériorité qu'apporte SpirOps.
Seuls
quelques studios proposent pour certains de leurs jeux le code source
nécessaire à l'intégration de SpirOps. Par
exemple, une partie du code de
Quake III est
en libre accès. Oh, pas une grosse partie, mais suffisamment
pour avoir pu brancher mon IA sur ce jeu et faire des tests, ce
qui est très intéressant pour moi.
Exemple d'application de SpirOps
sur l'environnement du jeu Quake III
L'expérience présentée
ici utilise l'environnement Quake III (jeu inspiré
des combats de gladiateurs). Elle met en oeuvre les capacités
modélisatrices de SpirOps. Le bot, guidé par
un modèle décisionnel simple, élabore
un modèle du niveau dans lequel il se trouve au fur
et à mesure de son exploration. Il mémorise
ainsi un taux de présence des bonus de vie et d'armes
pour chaque nouvel espace mémorisé.
Le bot explore le niveau. La commande viewmem (voir code
en haut de l'image) permet d'afficher le modèle déjà
créé : l'ensemble des localisations mémorisées
et leurs taux respectifs (H pour vie et W pour armement).
Les localisations subordonnées sont en fait liées
par un lien désignant une provenance possible.
AI
: Alors, comment faire valider vos concepts ? A.B:
Il
y a deux aspects autour de la validation de mes concepts. Le premier
est déjà de valider que l'IA marche bien. Pour cela,
je peux faire des expériences moi-même.
Le second est que l'IA n'est pas perçue par tous les studios
de la même façon. Les studios ont des problématiques
particulières. Ceux qui font des jeux d'action ont certaines
problématiques, ceux qui font des jeux de stratégie
en ont d'autres. Donc proposer simplement une démonstration
de mon système ne leur suffirait pas. Il faudrait plusieurs
démonstrations différentes. Mais alors, cela veut
dire créer un jeu... Donc c'est long, il faut une équipe,
cela coûte cher... Un autre gros désavantage de faire
moi-même une démo de mon système est que cela
ne valide pas que d'autres personnes soient capables de l'utiliser
facilement, alors qu'il a été pensé pour cela.
Pour toutes ces
raisons, je n'ai pas encore fait trop de démonstration du
système pour l'instant...
AI
: Et pourtant, nous l'avons vu, ce système est d'une utilisation
simple... A.B:
La seule façon
de le constater, c'est de s'en servir. C'est pour cela que plutôt
que de faire des démonstrations, j'essaie d'aller voir les
studios en leur disant : "Je suis prêt à coopérer
avec vous bénévolement. Essayer mon système
et concevons ensemble un nouveau jeu...
AI
: Puisse Automates Intelligents contribuer ici à mieux faire
connaître votre système SpirOps et avoir convaincu
les industriels du secteur qui nous lisent... A.B:Merci