Professional Documents
Culture Documents
Les stratgies de recherche de chemin dans les graphes : algorithme A* & Co.
Fabrice LAURI
Plan
Introduction !inition" t#pes et proprits des graphes et arbres Algorithmes de recherche non in!orms Algorithmes de recherche in!orms $a%ec heuristi&ue' (euristi&ues et !onctions heuristi&ues admissibles )*emple : recherche du plus court chemin dans un lab#rinthe
Introduction
En Intelligence Artificielle, la rsolution d'un probl e re!ient gnrale ent " 1# reprsenter ce probl e sous la for e d'un grap$e, c%%d " dfinir le probl e co e une rec$erc$e dans un espace d'tats, sac$ant &ue " un noeud ' un tat du probl e un arc ' une transition entre deu( tats 2# e(plorer ce grap$e pour trou!er une solution " d'un c$e in " Profondeur d'abord, Largeur d'abord )ec$erc$e d'un c$e in opti al " A*, Branch & Bound, etc. dans un arbre de *eu " Alpha-Beta, MiniMax )*emples " *eu( +go, c$ecs, da es#, pu,,les +ta&uin, - reines, probl e des cruc$es#, planification dans un en!ironne ent, etc.
dter ination de l'tat initial et de l'ensemble des tats !inau*. /a rsolution d'un probl e ne concerne &u'un seul tat initial et !entuelle ent plusieurs tats finau(. 1es tats initiau( diffrents i pli&uent des instances diffrentes d'un 2 e probl e. dter ination des oprateurs, pour faire passer d'un tat un autre. 3n oprateur est gnrale ent constitus de deu( parties " une partie gauc$e, &ui reprsente la condition respecter, selon la disposition actuelle des pices sur l'c$i&uier, une partie droite, &ui dcrit l'action raliser, par e(e ple le dplace ent raliser sur l'c$i&uier.
dter ination de l'tat initial et de l'ensemble des tats !inau*. /a rsolution d'un probl e ne concerne &u'un seul tat initial et !entuelle ent plusieurs tats finau(. 1es tats initiau( diffrents i pli&uent des instances diffrentes d'un 2 e probl e. dter ination des oprateurs, pour faire passer d'un tat un autre. 3n oprateur est gnrale ent constitus de deu( parties " une partie gauc$e, &ui reprsente la condition respecter, selon la disposition actuelle des pices sur l'c$i&uier, une partie droite, &ui dcrit l'action raliser, par e(e ple le dplace ent raliser sur l'c$i&uier.
dter ination de l'tat initial et de l'ensemble des tats !inau*. /a rsolution d'un probl e ne concerne &u'un seul tat initial et !entuelle ent plusieurs tats finau(. 1es tats initiau( diffrents i pli&uent des instances diffrentes d'un 2 e probl e. dter ination des oprateurs, pour faire passer d'un tat un autre. 3n oprateur est gnrale ent constitus de deu( parties " une partie gauc$e, &ui reprsente la condition respecter, selon la disposition actuelle des pices sur l'c$i&uier, une partie droite, &ui dcrit l'action raliser, par e(e ple le dplace ent raliser sur l'c$i&uier.
)*emple : le ta&uin
,uestions :
Co
Co
Rsolution de probl+me
6ouer au( c$ecs re!ient donc " Co encer a!ec un tat initial 3tiliser un ense ble de rgles pour passer d'un tat un autre Essa7er d'atteindre un tat appartenant l'ense ble des tats finau( gagnants. 8rou!er une solution un probl e particulier re!ient " dfinir les rgles &ui font passer d'un tat un autre tat dans l'espace " ce sont les r+gles de production e(plorer l'espace d'tats pour trou!er un c$e in de l'tat courant l'tat but " application des r+gles et stratgie de recherche.
)eprsentation planaire de 9
Multi%grap$e
Facteur de branchement d.un noeud ' no bre de dcision possibles +fils# partir de ce noeud.
egr d.un noeud ' le no bre d'ar2tes incidentes a!ec ce noeud. >n note d+!# le degr du noeud !. Attention " une boucle sur un so et est co pte deu( fois.
a(i u
de tous ses so
ets.
>n ne c$ange pas une c$aAne en in!ersant l'ordre des l ents dans la suite correspondante. Ainsi les c$aAnes +!1, e0, !0, e4, !4# et +!4, e4, !0, e0, !1# sont identi&ues. >n appelle distance entre deu( so petite c$aAne les reliant. ets la longueur de la plus
>n appelle dia tre d'un grap$e la plus longue des distances entre deu( so ets.
1ans ce grap$e, +!1, e1, !2, e2, !0# est une c$aAne si ple et l entaire.
1. 9 est un arbre, 2. 9 est sans c7cles et conne(e, 0. 9 est sans c7cles et co porte n%1 ar2tes, 4. 9 est conne(e et co porte n%1 ar2tes, ?. C$a&ue paire ;u,!< de so ets distincts est relie par une seule c$aAne si ple +et le grap$e est sans boucles#. 3n arbre
)space de recherche
C$a&ue stratgieBalgorit$ e de rec$erc$e est caractris par l'espace de rec$erc$e &u'il e(plore. !inition d.un espace de recherche : 3n espace de rec$erc$e est l'ense ble des c$e ins possibles d'un grap$e d'tats. Principes des algorithmes : Ces algorit$ es procdent par e(pansions successi!es de l'espace de rec$erc$e. Une tape d.e*pansion < c$oisir l'e(tr it n d'un c$e in de l'espace de rec$erc$e et tendre ce c$e in en gnrant des +ou tous les# successeurs du noeud n.
=tratgies de recherche
,ualits d.une stratgie de recherche : pro!o&uer une odification, sans gnrer de boucle s7st ati&ue efficace Plusieurs stratgies de recherche de chemins : un c$e in +&uelcon&ue# trou!er " Largeur d'abord, Profondeur d'abord Meilleur d'abord un c$e in optimal trou!er " Approche British Museum Algorithme A* un c$e in dans un arbre de *eu Algorithme Alpha-Beta Algorithme MiniMax
Comment > A liorer la rec$erc$e en " E(plorant d'abord les solutions partielles pro etteuses Mettant l'cart les solutions partielles au!aises
Algorithme A* $125'
AK rec$erc$e le plus court c$e in dans un grap$e pour aller au noeud E en partant d'un noeud =. Il utilise pour cela une heuristi&ue $+ ( #, &ui donne une esti ation de ce &u'il reste parcourir pour arri!er au noeud but en partant du noeud (. A c$a&ue noeud ( est associe une !aleur f+ ( # ' g+ ( # M $+ ( #, oL g+ ( # reprsente le coNt du c$e in pour arri!er *us&u' (. /es noeuds sont !isits selon la !aleur f+ ( #, en pri!ilgiant les noeuds ( pour les&uels f+ ( # est la plus petite. Remar&ues : =i l'$euristi&ue $ est ad issible, alors AK trou!e tou*ours le c$e in opti al. =i l'$euristi&ue est consistante, alors AK a en outre une co ple(it linaire. Best- irst !earch est une spcialisation de AK, lors&ue g+ ( # ' C.
escription :
Algorithme A* $525'
"pen O ;s<P #losed O QP g$s% O CP f$s% O h$s% 8ant &ue >pen R Q Gaire E(traire de "pen l'l ent x tel &ue f$x% est ini ale Insrer x dans #losed =i x & Alors Gini " =olution trou!e =inon Iour tout ' successeur de x Gaire =i ' #losed "pen >u g$'% S g$x%(c$x,'% Alors g$'% O g$x% M c$x,'% f$'% O g$'% M h$'% pre+'# O x InsrerB)e placer ' dans "pen Gin=i GinIour Gin=i Gin8ant5ue
Proprits de A*
Complet " s'il e(iste une solution, AK la retourne 7ptimal " la pre ire solution est la ad issible et consistante eilleure si l'$euristi&ue est
7ptimalement e!!icace " aucun autre algorit$ e opti al ne peut trou!er la solution en d!eloppant oins d'tats
4ais :
Comple*it e*ponentielle " /e no bre d'tats tendus est e(po% nentiel en la taille de la solution
G ' ?,2
G ' ?,C
G ' ?,2
G ' ?,C
G ' ?,2
G ' @,2
G ' ?,@
G ' @,2
G ' @,2
G ' @,1
G ' @,2
G ' X,C
G ' X,-
G ' X,C
G ' X,-
G ' X,C
G ' X,-
G ' X,C
G ' X,-
G ' X,C