Vous êtes sur la page 1sur 19

Alexandre Sabouni

Veille technologique :
L'intelligence artificielle dans
les jeux vido
Ce document a t ralis dans le cadre du BS S!" de la #romotion $%&'(
!l est en effet intgr dans le #ortfolio ) #rsenter lors de l'#reuve *+(
!l a t ralis sur un th,me li aux com#tences en #rogrammation acquises lors de ma formation(
Sommaire :
!ntroduction((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&
! - horie ) #ro#os du jeu
./finitions((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#($
.*x#lications((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#($
.L'quilibre de 0ash(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(1
.*xem#le : le dilemme du #risonnier((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#('.2
!! - 3thodes algorithmiques de base
A4 Les arbres de recherche
.Algorithme du 3in3ax((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(+
.Al#ha.beta(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(5
.6onction d'valuation((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(7
B4 Le #athfinding
.L'algorithme de /ij8stra((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(9
.L:algorithme A;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&%
.Autres solutions(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&&
.Le cas des jeux en 1/((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&$
!!! - L'a##rentissage automatique
.<rsentation(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&$
.Les diffrentes mthodes d'a##rentissage(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&$
.L:a##rentissage su#ervis((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&1
.L'a##rentissage #ar renforcement(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&'
Conclusion(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#(&+
!ntroduction
L'intelligence artificielle concerne aujourd'hui de nombreux domaines comme la robotique
=excution d'une action en fonction d'un vnement #ro#re ) l'environnement qui entoure la
machine4> la banque =s?st,mes d'valuation de risque li ) l'octroi d'un crdit4> le militaire =drones>
aide ) la dcision @4 etc(
Ce#endant elle a toujours occu# une #lace de choix dans le jeu vido( *n effet elle #ermet de
simuler un com#ortement dit A intelligent B #our rem#lacer la #rsence d'un joueur A humain B(
L'!A #ermet de donner vie ) un ou #lusieurs <0Cs =<ersonnage=s4 0on Coueur=s44 et Bots
=abrviation du terme anglais A Dobots B qui dsigne #rinci#alement un ennemi contrEl #ar
l'ordinateur4(
Ce qui diffrencie l'!A d'un jeu ) celle d'un robot #ar exem#le est que cette derni,re a #our but
#remier de re#roduire le com#ortement d'un Ftre humain alors que celle du jeu dis#ose de nombreux
lments dont le joueur ne dis#ose #as =dtails de la carte> dis#osition des objets et #arfois mFme
des joueurs sans contact visuel etc @4(
<our rgler cette sensation d'infriorit =et donc #ermettre au jeu d'Ftre divertissant4 il est ncessaire
de brider les ca#acits des Bots qui #euvent Ftre im#ossible ) viter =comme leur vise #arfaite dans
des 6<Ss ou A 6irst <erson Shooter B4(
Guelques dates cls :
1951 : Ce sont les #remi,res !A #our les jeux de /ames et d'*checs dont /ee# Blue #our
les checs qui s'incline d'abord en &9++ contre Has#arov =maItre au jeu d:Jchecs4 mais
#rend le dessus lors de la revanche de &9+5(
1970s : Les #remiers jeux vido avec une !A =Chasse> Star re8=&95$4> @4 qui utilisaient
des Stored <atterns #our im#lmenter les !A des ennemis( L'utilisation des micro#rocesseurs
a #ermis une augmentation du nombre de mouvement(
Fin 70s jusqu'au dbut des 90s : C'est l'Kge d'or du jeu vido d'arcade( S#ace !nvaders
#ro#ose ainsi diffrents niveaux de difficult( <acman int,gre les #attern #our les jeux de
lab?rinthe avec des #ersonnalits distinctes #our chaque ennemi( Harate Cham# introduit le
#attern des jeux de combat en &97'(
1990s : L'mergence de nouveaux genres de jeux vido a conduit ) l'utilisation d'outils #lus
so#histiqus tels que les stratgies en tem#s rel qui requraient la #rise en com#te de
nombreux objets> des informations incom#l,tes> la recherche de chemin> l'conomie du
nombre de calculs etc @
L'!A a longtem#s t dlaisse au #rofit des gra#hismes> qui incitent #lus l'acheteur lambda du
grand #ublic( /sormais elle revient tr,s souvent comme re#roche dans un jeu ce qui a amen les
dvelo##eurs ) travailler un #eu #lus cet as#ect au #rofit du sentiment d'immersion des joueurs(
Certains jeux restent dans les mmoires comme rfrences en la mati,re :
. Cratures =&9974 : ce jeu est cl,bre #our Ftre le #remier ) utiliser l:a##rentissage automatique lors
d:une simulation interactive( A l:aide des rseaux de neurones> les cratures a##rennent divers
com#ortements( !ls #euvent ainsi interagir avec leur environnement(
. 6(e(a(r( =$%%24 : l'!A du jeu utilise un #lanificateur #our la #remi,re fois : les <0Cs sont ca#ables de
trouver une couverture derri,re des tables> ouvrir des #ortes> #asser ) travers des fenFtres(((
<age &L&5
! - horie ) #ro#os du jeu
./finitions
/ans cette #remi,re #artie> nous allons tablir une #rsentation de la thorie des jeux sur laquelle
nous nous a##uierons dans la suite de la veille( *t #our cause> la thorie des jeux est ) la base de
nombreux algorithmes utiliss> entre autre> dans les jeux vido( 0ous aborderons> en #articulier> le
conce#t de solution en s:a##u?ant sur l:exem#le de l:quilibre de 0ash(
La thorie des jeux a #our but de dcrire le com#ortement d:un individu =ou d:un agent de faMon
#lus gnrale4 lors d:un jeu en #artant du #rinci#e qu:il souhaite gagner( Cette thorie vise donc )
tablir les stratgies o#timales ) l:aide de diverses modlisations> et d:tablir A l:quilibre du jeu B(
*lle est utilise dans de nombreux domaines : l:conomie> la #olitique ou encore la biologie( "n
trouve une autre a##lication> de faMon #lus vidente> dans le domaine de l:intelligence artificielle(
.*x#lications
Afin d:illustrer ces dfinitions> nous #rendrons l:exem#le du jeu <ierre.6euille.Ciseaux =<6C4(
"n a##elle utilit une valuation de l:intrFt d:un cou# #our un joueur( /ans <6C> l:utilit #our le
gain d:une manche #eut Ftre value ) &> % #our l:galit et .& #our la dfaite(
<our a##liquer la thorie des jeux> il est ncessaire de catgoriser les jeux selon de nombreux
crit,res :
. Ceux simultans =les joueurs jouent en mFme tem#s comme dans <6C4 ou squentiels =le jeu
d:checs> ou <6C si l:un des deux joueurs triche4
. Ceux coopratifs ou non si les joueurs ont la #ossibilit de s:entraider
. Ceux finis ou non si les joueurs ont un nombre fini de stratgies =<6C4
. Ceux somme nulle> si les intrFts des joueurs sont directement o##oss =<6C> checs ou #o8er4>
ou somme non nulle si les deux joueurs #euvent trouver un intrFt commun
. Ceux rptition =<6C4 : la stratgie ) suivre varie considrablement si les joueurs ont une
mmoire des #arties #rcdentes
. Ceux information complte si les joueurs connaissent : les actions #ossibles> celles des autres
<age $L&5
!l existe #lusieurs mthodes de modlisation de jeux :
. La forme stratgique ou normale! : re#rsentation sous forme d:une matrice :
. La forme e"tensi#e : re#rsentation sous forme d'un arbre :
*nfin> on #arle de stratgie pure lorsque la stratgie est purement dterministe( /ans <6C> la
stratgie #ure consisterait en la r#tition du mFme cou# tout au long de la #artie( Nne stratgie
mixte fait intervenir la notion de hasard O on choisit> ) chaque tour> une stratgie #ure de mani,re
alatoire(
.L'quilibre de 0ash
L:quilibre de 0ash re#ose sur le choix> ) chaque tour et #our chaque joueur> de la meilleure
r#onse( <ar consquent> la stratgie de chaque joueur est tablie et aucun d:entre eux n:a intrFt )
en sortir(
Le thor,me de 0ash sti#ule que> #armi toutes les stratgies #ossibles> il existe un quilibre #armi
les stratgies mixtes( /ans l:exem#le de <6C> l:quilibre de 0ash est de jouer un cou# au hasard
avec qui#robabilit &L1(
<age 1L&5
.*xem#le : le dilemme du #risonnier
Afin d:? voir #lus clair et de montrer une a##lication de toute cette thorie =tr,s sim#lifie #ar
ailleurs4> #renons l:exem#le du dilemme du #risonnier> qui est un jeu ) deux A joueurs B(
$gle du dilemme du prisonnier %
Les deux joueurs sont des #risonniers enferms dans des cellules s#ares( !l leur est #ossible de
dnoncer leur ancien coll,gue dans le but d:obtenir un all,gement de leur #eine(
Voici les diffrents cas de figure :
. Si les deux joueurs se taisent> ils co#ent tous deux d:un an de #rison(
. Si l:un des deux seulement ra##orte> il est libre alors que l:autre co#e de $% ans de #rison(
. Si les deux se dnoncent =cas le #lus #robable #our des re#ris de justice4> ils sont condamns ) 2
ans de #rison(
<our illustrer les dfinitions nonces en dbut d:article> nous #ouvons dire que ce jeu est
simultan> coo#ratif> fini et ) somme non nulle( /e #lus> il devient intressant lorsqu:il est jou
avec r#tition O dans ce cas.l)> il est ) information com#l,te(
!l est intressant de constater que> suivant les #eines ado#tes> les ractions #euvent changer du tout
au tout(
<our rsumer> nous obtenons cette matrice des gains :
<age 'L&5
Les stratgies #euvent Ftre diverses( out d:abord> de mani,re intuitive> on #eut considrer qu:il
existe #lusieurs sortes de joueur : les altruistes> ceux qui vont viter de dnoncer si #ossible> les
rancuniers qui ne dnonceront que #ar vengeance> et enfin les A balances B(
Leur quilibre de jeu variera sans doute en fonction de leur caract,re(
Comme nous l:avons vu #rcdemment avec le <6C> il est #ossible de dterminer des quilibres de
mani,re #lus calculatoire(
*ssa?ons de dterminer l:quilibre du jeu ) #artir du thor,me de 0ash(
out d:abord> dans le cas d:une #artie en une manche =0P&4> on #eut su##oser que la sagesse
im#oserait aux #risonniers de dnoncer au vue du ra##ort 2ansL$%ans(
<our les #arties avec mmoire des #rcdents cou#s> il existe deux cas de figure :
; Si le nombre de manche 0 est connu : l:quilibre de 0ash est A dnoncer B(
"n commence #ar s:intresser au dernier cou#( Comme il n:? aura #as de sanction au cou# suivant>
on #eut #enser qu:il est #lus intressant de dnoncer =comme #our 0P&4( /e ce fait> au cou#
#rcdent> on #eut antici#er une trahison de l:adversaire et dnoncer( Ce schma se r#,te jusqu:au
#remier cou#( "n #eut remarquer que l:quilibre de 0ash est en fait le mFme #our une #artie )
r#tition que #our une #artie en une manche(
; *n revanche> si 0 est inconnu> aucun quilibre n:est tabli> le jeu est alors #lus intressant(
<our conclure> il semble #rfrable #our un #risonnier de vendre son homologue #our ce jeu de
valeur Q
*n ralit> il n:existe #as de stratgie o#timale #our ce #robl,me( /e nombreuses stratgies #lus
com#lexes les unes que les autres ont t dvelo##es( <ar exem#le> la stratgie A it for tat B =A Ril
#our Ril B4 vise ) re#roduire le cou# #rcdent de l:adversaire( Au final> entre toutes les stratgies>
l:altruisme semble quand mFme #a?er(
"n retrouve des utilisations de cet exem#le dans de nombreux domaines( Ce cas de figure est
semblable ) la situation suivante : deux concurrents se battent #our obtenir le march O dans la
#lu#art des cas> l:un des deux va descendre ses #rix #our augmenter ses #arts de march mais va
rduire ses bnfices> l:autre en fera de mFme #our le rattra#er et les deux finiront #ar ? #erdre(
<age 2L&5
!! - 3thodes algorithmiques de base
/ans cette #artie> nous allons #rsenter des algorithmes classiques utiliss dans les jeux( 0ous
#arlerons d:abord des arbres de recherches> qui constituent une branche de la thorie des jeux que
nous venons d:introduire( !ls trouvent une a##lication dans les jeux de #lateau =So> *checs> etc(4(
*nsuite> nous nous attaquerons au #robl,me de recherche d:un chemin =A <athfinding B4 et nous
#rsenterons les algorithmes qui #ermettent de le rsoudre( Les diffrents algorithmes que nous
allons #rsenter restent couramment utiliss dans les im#lmentations d:!A et constituent souvent
des solutions #rivilgies(
A4 Les arbres de recherche
La #rsentation qui va suivre est directement lie ) la #artie concernant la thorie des jeux #uisque
les arbres de recherche sont une des faMons les #lus classiques de re#rsenter les dcisions #ossibles
des joueurs(
<our ra##el> en thorie des jeux> on a##elle cette visualisation des #ossibilits la forme extensive(

Comme nous l:avons dj) voqu> les arbres de recherches s:ada#tent tout #articuli,rement aux
jeux A classiques B =jeux de #lateau se jouant au A tour #ar tour B4 : checs> dames> cartes> etc(
Le #rinci#e de l:!A est sim#le :
&( *lle recherche les squences de cou# jouable d:une certaine longueur
$( *lle value la #osition rsultante de la squence
1( *lle choisit le cou# o#timal
<our ex#liquer les algorithmes utiliss dans ces jeux> nous allons #rendre le cas #articulier du jeu
d:chec(
.Algorithme du 3in3ax
<our une #osition donne des #i,ces sur l:chiquier> on va construire un arbre qui contient les
squences =d:une certaine longueur4 de cou# jouables( A #artir de l)> on value ) l:aide d:une
fonction d:valuation les #ositions rsultantes de chaque squence( "n obtient l:arbre suivant :
<age +L&5
"n consid,re ici une squence avec deux cou#s( <lus la valeur de la ligne C est haute> #lus la
#osition est intressante #our l:!A( <ar consquent> l:adversaire n:a #as intrFt ) les choisir( Cet
algorithme se base donc sur une h?#oth,se fondamentale : l:adversaire joue #our gagner et va donc
maximiser son score> c:est.).dire minimiser le score de l:!A( "n rem#lit de cette mani,re la ligne B
=en choisissant la valeur minimale de chaque sous arbre4 :
<our finir> on choisit la valeur maximale de la ligne B : 2( "n obtient> avec cet exem#le basique>
l:ide directrice de l:algorithme 3in3ax : maximiser le minimum que #eut nous offrir l:adversaire(
Le #rinci#al inconvnient de cette technique vient du fait que l:on ex#lore l:arbre dans son
intgralit alors que certaines branches #ourraient Ftre limines d,s le dbut =sachant que chaque
nRud a de l:ordre de 12 fils4(
Ce #robl,me est corrig #ar l:algorithme Al#ha.beta(
.Al#ha.beta
Le #rinci#e du 3in3ax est conserv( "n l:amliore ce#endant en liminant les squences
inintressantes(
<age 5L&5
!ci> #ar exem#le> on limine la branche verte #our la raison suivante : la valeur A $ B de la case
#rcdente est infrieure la valeur A 2 B de la branche bleue O tant dj) infrieure> il n:? a aucune
raison de continuer d:es#rer une stratgie #lus intressante dans ce sous arbre(
.6onction d'valuation
Le r&le de cette fonction est de compare deu" positions' La difficult de dvelo##er une !A
#erformante re#ose en grande #artie sur la construction d'une fonction d'valuation #ertinente et
#erformante( La difficult rside dans le fait que le nombre de possibilit est norme'
Les algorithmes #rcdents fournissent un grand nombre de #ositions(
Si la fonction d'valuation rclame tro# de calculs> cela risque de ncessiter des ressources
mmoires colossales'
Nne autre difficult rside dans le (calibrage( de la fonction =dfinir la gra#it ou l)intr*t d:une
#osition4( Nne #osition n:a?ant #as la mFme valeur au cours de la #artie(
Voici une fonction =#artielle4 #ermettant le dvelo##ement d'une !A correcte :
Chaque pice se voit attribuer une valeur. On somme les valeurs des diffrentes pices de
lIA pour obtenir la force de l'IA (mme opration pour ladversaire. Ces !randeurs ne
tiennent nanmoins pas compte des positions des pices et notamment du contr"le ou de
l'occupation du centre de l'chiquier # Afin de prendre en compte ces lments$ des
bonus%malus viennent moduler la force. &ar e'emple une position dans laquelle une pice
ma(eure (pas les pions ni le roi serait immobilise donnera un malus. )andis que le fait de
positionn un fou sur une dia!onale ouverte donnera un bonus. *!alement dans le but de
privil!ier la +one centrale de l'chiquier$ on peut attribuer une valeur , chaque case de
telle fa-on que$ plus en s'loi!ne du centre$ plus la valeur diminue. Au final$ l'valuation est
donne par la force de l'IA moins la force de l'adversaire auquel on a(oute les bonus et
soustrait les malus.
/e #lus> dans le but de dmarrer efficacement la #artie> l'ordinateur doit Ftre dot d'un stoc8
d'ouverture de telle mani,re que> si une #osition enregistre est reconnue> alors l'ordinateur #ourra
lui associer le meilleur cou# ) jouer(
*nfin> #our terminer efficacement la fin de #artie> il faut constater la com#lexit stratgique due au
fait que les #i,ces sont sur un T#lateau #lus ouvertT et oU il n'est #as rare que les squences de cou#
#ermettant le gain d#assent la #rofondeur de l'arbre(
Actuellement> la solution utilise consiste en des tables qui anal?sent toutes les configurations avec
cinq #i,ces majeures ou moins( !l ne reste #lus qu') im#lmenter une anal?se rtrograde #our
trouver la meilleure solution(
+ependant> ces stratgies ncessite un tem#s de calcul tr,s im#ortant li au nombre de cou#s lev(
Cela les rend ada#tables #our seulement quelques com#osantes des !A( *lle sera utiliser #our un
seul t?#e de game#la? du jeu> #ar exem#le une #hase de conquFte de territoire(
<age 7L&5
B4 Le #athfinding
0ous allons maintenant nous intresser ) un #robl,me tr,s courant dans les !A des jeux vido : la
recherche de chemin =ou A #athfinding B4( Le #robl,me est sim#le> comment se d#lacer d:un #oint
A ) un #oint B avec> si #ossible> le A meilleur B itinraire V
L:efficacit de l:algorithme utilis est #rimordiale au niveau de la jouabilit et du ralisme(
Combien de fois a.t.on vu des <0Cs traverser un mur ou bien rester bloqus #ar une caisse V
Le #athfinding constitue donc un #an fondamental de l:!A dans les jeux vido(
Le #athfinding trouve des a##lications dans de nombreux domaines autres que les jeux vido
=robotique> routage internet> etc(4( /e nombreux algorithmes #ermettent de rsoudre ce #robl,me et
tous ont des #articularits en mati,re de #rcision et de ra#idit( L:univers du jeu vido est
extrFmement contraignant> ce qui limite les algorithmes utilisables( *n effet> les solutions doivent
utiliser un minimum de ressources et Ftre les #lus ra#ides #ossibles> au dtriment #arfois de la
#rcision( <ar ailleurs> il faut #arfois #rendre en com#te des contraintes additionnelles telles que la
gestion d:un grou#e d:unit> ou le fait que l:environnement soit volutif(
Les algorithmes les #lus utiliss sont sans aucun doute celui de /ij8stra et l:algorithme A;( 3Fme
si ceux.ci trouvent une a##lication idale dans les jeux en $/> nous verrons #ar la suite qu:ils sont
galement tr,s utiliss dans les jeux en 1/ en com#lment d:autres mthodes(
.L'algorithme de /ij8stra
La thorie ex#liquant cet algorithme tant asseW com#lexe> nous allons essa?er de le sim#lifier et de
donner les ides directrices(
out d:abord> cet algorithme demande des notions de base en thorie des gra#hes(
<age 9L&5
Nn gra#he se com#ose de nRuds =ici des villes4> et d:arFtes =les jointures entre diffrents nRuds4>
ces derni,res tant affectes d'un #oids =ici le nombre de 8ilom,tres s#arant chaque ville l'une de
l'autre4(
,rincipe : il s:agit de trouver le chemin a?ant le #oids le #lus faible =somme des #oids des arFtes
qui le com#osent4 entre $ nRuds s& et s$(
$solution : on cherche ) construire une succession de sous gra#he S: de S tel que tout sommet s
de S: ait une distance minimale avec s& dans S(
Voici l:algorithme que l:on #eut suivre :
. "n initialise le #remier sous.gra#he ) s& seul( Les autres sommets sont dits A non.marqus
B =on affecte la valeur XY ) leur #oids4(
. ant qu:il existe un sommet non marqu :
o "n choisit le sommet non marqu a de #lus faible #oids <=a4>
o "n le marque>
o <our chaque sommet b voisin de a> on lui attribue le #oids <=b4 P min=<=b4> <=a4 X
dist=a>b44(
L:algorithme se termine quand S: devient un arbre couvrant =contenant s& et s$4 ou que tous les
nRuds d:intrFt =nRuds qui ont #lus d:un voisin4 sont dans S:(
.L:algorithme A;
L:algorithme A; est de loin le #lus utilis dans les jeux vido car il r#ond bien aux contraintes
im#oses #ar ceux.ci(
!l constitue une amlioration de l:algorithme de /ij8stra( "n dit de cet algorithme qu:il est A
inform B> ce qui signifie qu:il utilise une fonction =dite A heuristique B4 qui estime la distance )
l:arrive( Contrairement ) l:algorithme de /ij8stra =dit A aveugle B4> A; oriente sa recherche au lieu
d:ex#lorer toutes les Wones( Le gain de tem#s est consquent(
La question rside donc dans la faMon de calculer la distance heuristique #our orienter au mieux
l:algorithme( La fonction heuristique value d:abord les sommets #roches de l:arrive ou du d#art
=#lus #roche du raisonnement humain4( La fonction heuristique est une caractristique de la
recherche A gloutonne B( !l existe deux #rinci#ales heuristiques de distance dans les jeux vido : la
distance euclidienne =vol d:oiseau4 et la distance de 3anhattan =jeux se droulant sur un damier4(
<age &%L&5
/ij8stra et A; retourne un chemin o#timal contrairement ) la recherche gloutonne( Ce#endant>
/ij8stra ex#lore beaucou# tro# de cases(
.Autres solutions
A; est satisfaisant #our la #lu#art des jeux( Ce#endant> avec les contraintes toujours #lus
im#ortantes im#oses dans les jeux vido =destruction de terrain #ar exem#le4> d:autres algorithmes
ont t dvelo##(
Voici une courte descri#tion des #rinci#aux algorithmes :
. /; #ermet de redfinir le chemin si l:!A rencontre un obstacle
. !/A; n:ex#lore qu:un seul chemin ) la fois =ce qui #ermet une conomie d:nergie4> il
arrive ce#endant que certains sommets soient revisits #lusieurs fois
. Z<A; tabli une hirarchie entre les diffrentes Wones d:une carte
htt#:LLqiao(github(comL<ath6inding(jsLvisualL : ce site #ermet de tester les diffrents algorithmes et
fonctions heuristiques avec divers #rocds de rsolution(
.Le cas des jeux en 1/
Ces algorithmes sont tr,s ada#ts aux gra#hes abstraits> mais on se voit mal #ro#oser au joueur une
carte sous forme de gra#he vu dans l:exem#le de /ij8stra =cf( ci.dessus4(
<lus la rsolution des cartes est im#ortante> #lus l:abstraction inhrente aux diffrents algorithmes
vu #rcdemment semblent com#romettante #our les ada#ter au #athfinding( La question est donc la
suivante : comment ada#ter ces techniques aux cartes en 1/ V
!l existe deux #rinci#ales mthodes :
. Le s?st,me des -a.points : on #laque un chiquier sur la carte et chaque case constitue un
sommet du gra#he( "n a##lique alors les mthodes vues #rcdemment(
. Le mes/ de na#igation : on fabrique un gra#he ) #artir de #ol?gones( Les #ersonnages
#euvent se d#lacer ) l:intrieur de ceux.ci( Les #ol?gones doivent Ftre de taille
suffisamment faible #our ? utiliser la mthode A;(
<age &&L&5
!!! - L'a##rentissage automatique
/ans cette #artie> nous allons #rsenter l)apprentissage automatique #uis nous montrerons
comment ils #euvent Ftre intgrs dans une !A de jeux vido #ar le biais de l)apprentissage par
renforcement ou des rseau" de neurones(
.<rsentation
Au cours des derni,res dcennies> de nombreux #rogr,s ont t fait dans le domaine de l:!A(
<ourtant> il est toujours im#ossible> mFme #our la meilleure machine> de s:ada#ter ) son
environnement #h?sique et social comme le ferait un enfant d:un an(
La diffrence est vidente : lorsqu:un ordinateur est #rogramm #our raliser des tKches #rdfinies>
un bb ne s:im#ose aucune contrainte dans sa technique d:a##rentissage et dcide lui.mFme de son
terrain d:ex#loration(
!l maItrise donc les situations d:a##rentissage et dvelo##e ses #ro#res re#rsentations du milieu
dans lequel il vit( Cette sim#le anal?se est ) la base d:une rflexion d:Alan uring =3athmaticien4
qui aurait d[ guider les recherches en mati,re d:!A des 2% derni,res annes : #lutEt que d:essa?er de
re#roduire le fonctionnement du cerveau d:un adulte> nous devrions commencer #ar tudier la
mthode d:a##rentissage em#lo?e #ar les enfants(
Cette ide est mise en #ratique dans l:un des cham#s d:tude de l:intelligence artificielle :
l)apprentissage automatique( Cette disci#line scientifique vise ) concevoir des #rogrammes
ca#ables de s:amliorer au cours du tem#s> en fonction de leurs ex#riences #asses( !l est ainsi
#ossible d:anal?ser des s?st,mes com#lexes ) travers l:anal?se de donnes em#iriques(
"n #eut galement intgrer la notion de A valeur s?mbolique B qui vise ) attribuer ) un
com#ortement une certaine valeur numrique =une #robabilit #ar exem#le4( Ainsi> l) oU des
algorithmes A classiques B auraient des difficults #our rsoudre un #robl,me> l:a##rentissage
#ermettra de grer un grand nombre d:entres et de rgler le #robl,me d:ex#losion combinatoire(
C:est le cas> #ar exem#le> lorsque l:on cre une machine sans connaItre l:environnement dans lequel
elle va voluer( Cette disci#line trouve une a##lication dans de nombreux domaines : la
#rogrammation de s?st,mes intgrant une #erce#tion de leur environnement> de moteurs de
recherches> dans la bio.informatique> dans l:anal?se financi,re ou encore dans le monde des jeux
vido(
.Les diffrentes mthodes d'a##rentissage
3aintenant> la question est la suivante : un enseignant tente tant bien que mal d:a##rendre une
leMon ) un l,ve avec #our contrainte un langage commun limit =on #eut su##oser que ce langage
est l:objectif de la leMon4> comment #eut.il lui transfrer son savoir V
A #riori> il existe #lusieurs mthodes d:a##rentissage :
. L:a##rentissage #ar imitation : l:enseignant montre l:exem#le ) l:l,ve qui tente de
l:imiter>
. L:a##rentissage #ar renforcement : l:tudiant tente de raliser l:action de mani,re
intuitive> et l:enseignant effectue un A feedbac8 B sur sa #restation =nous verrons cet
exem#le #lus en dtail ultrieurement4>
. L:a##rentissage #ar correction : en mFme tem#s que l:tudiant ralise l:action>
l:enseignant corrige en tem#s rel(
<age &$L&5
A #artir de cette rflexion> on dfinit de nombreuses classes d:algorithme d:a##rentissage dont voici
les #rinci#aux :
. A##rentissage par c0ur =on associe deux lments dans une mmoire4>
. <ar analogie =on tablit des corres#ondances entre deux re#rsentations diffrentes4>
. <ar renforcement =s?st,me de rcom#enseL#unition suite ) une action4>
. <ar classification1catgorisation =vise ) trier les diffrentes donnes4>
. A##rentissage super#is1non super#is( 0ous dvelo##erons cet exem#le #ar la suite afin
de mieux intgrer les #roblmatiques lies ) l:a##rentissage automatique(
.L:a##rentissage su#ervis
L:a##rentissage su#ervis est une catgorie d:algorithme #ar a##rentissage qui vise ) #roduire des
r,gles en s:a##u?ant sur une base de donnes d:a##rentissage =souvent des rsultats d:ex#riences
#rcdentes4(
/ans la #lu#art des catgories d:algorithmes vues dans la #artie #rcdente> la #remi,re ta#e est
celle de la classification durant laquelle on A tiquette B chaque donne en l'associant ) une classe(
C:est le cas de l:a##rentissage su#ervis(
/ans un #remier tem#s> un A oracle B =#ersonne a#te ) tiqueter les exem#les4 gn,re un ensemble
de cou#les entre.sortie : c:est la p/ase d)apprentissage(
*nsuite> dans une #hase de test> le s?st,me tente de #rdire la sortie connaissant l:entre(
"n retrouve ce com#ortement lors de diagnostics mdicaux( Ceux.ci s:a##uient sur une
classification de cou#le s?m#tEmes - maladie qui est utilise dans le but de trouver une maladie
=sortie4 associe ) des s?m#tEmes =entre4(
Voici un schma rsumant l:a##rentissage su#ervis :
Cette catgorie d:algorithme s:o##ose ) l:a##rentissage non su#ervis> dans lequel la machine ne
dis#ose #as d:tiquettes mais seulement d:exem#le( Le nombre de classe est alors inconnu> et c:est
) l:algorithme de dterminer la structure des donnes(
<age &1L&5
.L'a##rentissage #ar renforcement
0ous allons maintenant #rsenter un exem#le d:a##rentissage automatique : l)apprentissage par
renforcement(
0ous #rendrons notamment le cas #articulier des F,2 =6irst <erson Shooters4 car ils ncessitent une
!A #articuli,rement raliste et efficace( /ans ce genre de jeu> le niveau du <0C doit Ftre #roche de
celui du joueur et ceux.ci doivent rsoudre des #robl,mes divers et varis dans des tem#s de calcul
#articuli,rement contraignant(
L'ide #rinci#ale de l:a##rentissage #ar renforcement est de dfinir des dpendances entre les
#ariables dcri#ant l)tat du problme( Ces d#endances assurant la recherche d:une solution(
Ces techniques restent limites car il est ncessaire de fournir manuellement une descri#tion de la
tKche ) accom#lir> o#ration difficilement ralisable dans le cadre d:un #robl,me com#lexe( /ans
certains jeux de tir> on utilise le s?st,me de classeur qui est un exem#le d:utilisation de
l:a##rentissage #ar renforcement(
Le s.stme de classeur %
Ce s?st,me est bas sur un ensemble de rgles que l:on a##elle classeur( Chacune d:entre elles est
associe ) un poids( *lles #oss,dent deux as#ects : une #artie A condition B et une #artie A action B(
L'a##rentissage consiste ) excuter un algorithme gntique qui va #roduire d'autres classeurs avec
des r,gles diffrentes(
Voici un schma ex#licatif :
3n e"emple % +ounter 2tri4e %
0ous allons maintenant #rsenter une mthode d:a##rentissage #ar renforcement #our les
#robl,mes de grande taille( Celle.ci est ada#te de mani,re tr,s intressante dans le 6<S Counter.
Stri8e(
<age &'L&5
Voici un rsum du jeu :
. /eux qui#es s:o##osent : celle des terroristes =les mchants4 qui ont #our objectif de
#oser une bombe ) un certain em#lacement> et celle des anti.terroristes =les gentils4 qui
veulent les en em#Fcher(
. Au cours de la #artie> un joueur #eut donc se d#lacer> slectionner une arme> tirer>
ramasser des munitions> la bombe ou des armes laisses au sol #ar d:autres joueurs et lancer
des grenades(
. La victoire est attribue aux terroristes si la bombe ex#lose ou s:ils dciment l:qui#e
adverse( Si le tem#s est coul> si la bombe est dsamorce ou encore si les terroristes ont
tous t bala?s> les anti.terroristes sont victorieux(
<our a##liquer la mthode de l:a##rentissage #ar renforcement> il est ncessaire de dfinir des
rcom#enses #our les <0C> en voici un exem#le :
&4 .& lorsque le <0C est tu O
$4 X&% lorsque le <0C tue un adversaire O
14X& lorsque la bombe est #ose(
La seconde ta#e consiste ) tablir l'ensemble des tats #ossibles> ce qui se fera #ar le biais de
variables alatoires(
Chaque variable alatoire corres#ond ) une #erce#tion de l:agent =ici le <0C4 de son environnement(
Voici une #ro#osition:
SiteA et SiteB dsignent res#ectivement les sites de la bombe A et B> Site et SiteC les #oints de
d#art des terroristes et des anti.terroristes
Nn ra#ide calcul montre que> #our un terroriste> les #erce#tions assurent '7% tats #ossibles
=seulement 7% #our les anti.terroristes4> ce qui #ermet de couvrir de nombreuses situations du jeu(

*nsuite> on tablit les actions #ossibles> celles.ci #ermettent de #asser d'un tat ) un autre(
<age &2L&5
Voici une #ro#osition:
"n a##lique alors l:algorithme suivant : on initialise le classeur avec un certain nombre de r,gles
=disons cent r,gles4(
"n #ourra les choisir de mani,re alatoire ou bien assurer une liste de r,gles issue du Tbon sensT(
*n #ratique il est #rfrable d'utiliser la mthode alatoire #our des raisons #ratiques> le nombre de
r,gles tant tro# im#ortant #our que l'on #uisse associer ) chaque r,gle une dfinition rationnelle(
/ans notre cas> com#te tenu des choix effectus #our tablir l'tat du s?st,me> les r,gles #euvent
s'crire> #our un terroriste : \a> b> c> d> e> f> g .] #^ avec a> b> c> d> e> f> g qui #euvent #rendre six
valeurs distinctes corres#ondant au cas siteA> siteB> siteC> site> ailleurs ou indiffrent O et # dsigne
l'une des six actions #ossibles(
A chaque r,gle> on associe un #oids #ris alatoirement( !l est ) noter que le nombre de r,gles que
l'on souhaite dfinir est directement li aux #erformances de l'ordinateur( <lus on a de r,gles>
meilleure sera l'anal?se de la situation et> #ar suite> meilleure sera la r#onse du <0C> mais cela
ncessitera un tem#s de calcul #lus im#ortant(
Conclusion
Nn objectif #our les annes ) venir est d:augmenter encore l)immersion du joueur en donnant )
l:!A une animation faciale et comportementale #lus aboutie( Aujourd:hui> les jeux vido se
concentrent encore beaucou# tro# sur l:as#ect gra#hique et dlaissent la #artie !A( !ls s:a##uient le
#lus souvent sur des cratures ) l:intellect limit =Wombies et autres #ons4 afin de justifier des
attitudes #rimaires( Cette solution risque d:atteindre ses limites aussi bien #our le joueur que #our le
dvelo##eur( /e #lus> les gra#hismes ne #euvent #as ternellement s:amliorer> et les tudes
devraient maintenant se tourner vers l:!A( Aussi> nous allons sans doute vers des <0Cs #lus
travaills> ca#ables de re#roduire des mimiques du comportement /umain =mouvements>
ex#ressions faciales> etc(4(
<ar ailleurs> l:augmentation des ca#acits mmoire et de la #uissance des #rocesseurs #ermettra
sans doute de dvelo##er des algorithmes jusque.l) considrs trop gourmands #our Ftre
im#lments(
*nfin> de #lus en #lus de jeux utilisent les #rogr,s raliss dans le domaine de l)intelligence
artificielle en t/ologie =tude com#ortementale des animaux4( "n #ense> #ar exem#le> )
0intendogs de 0intendo(
Ce#endant> la question des technologies utilises #our l:avenir des !A est toujours ouverte( 0ous
sommes encore tr,s loin du m?the de l:agent re#roduisant le caract,re alatoire et sur#renant de la
ralit( 0ous vous conseillons de lire les #enses de ,eter 5ol.neu" et 2te#e 6rand> deux
#rcurseurs en la mati,re(
<age &+L&5
,eter 5ol.neu" ex#lique qu:il ? a une #art de #restidigitation dans l:!A( "n se moque de savoir
comment l:!A est faite> c:est le regard du joueur qui im#orte( !l #arle ainsi de A smo8e and mirrors B
en revendiquant l:utilisation de miroirs et de fume #our camoufler les dfauts de l:!A(
Selon 2te#e 6rand> les mthodes utilises actuellement #our im#lmenter les !A des jeux vido
sont sim#les mais sont loignes de toute considration scientifique( !l serait #rfrable de s:ins#irer
de la biologie comme il l:a fait dans son jeu Creatures> mFme si ces mthodes semblent tro#
com#lexes #our la #lu#art des jeux(
Les ides de ces deux #ersonnalits conduisent ) une mFme conclusion concernant ces !A )
caract,re scientifiques : elles conduisent trop sou#ent des rsultats impr#isibles7 mais ce
caractre impr#isible ne constitue8t8il pas l)essence m*me de l)intr*t d)un jeu #ido V
Steve Srand _ <eter 3ol?neux
<age &5L&5

Vous aimerez peut-être aussi