Académique Documents
Professionnel Documents
Culture Documents
Rsolution de problmes
Une fois que l'espace d'tats, l'ensemble d'actions, les tatssolutions ont t identifis et spcifis, alors la squence d'actions menant de l'tat initial l'tat-objectif peut tre obtenu par une mthode de recherche.
Cours d'intelligence artificielle 4
2. Formulation du problme
les tats et les actions considrer.
3. Recherche de solution
examiner les diffrentes squences dactions menant un tat but et choisir la meilleure.
4. Excution
accomplir la squence dactions slectionne.
Cours d'intelligence artificielle 5
Source : http://cui.unige.ch/DI/cours/IA/
Cours d'intelligence artificielle 6
Etat initial
Test-solution
tat initial Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
10
Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
11
12
13
14
15
16
17
Exemple 2 : laspirateur
Le monde consiste en positions
pice gauche pice droite
Chaque pice peut tre poussireuse L'agent (aspirateur) est dans l'une des 2 pices Il y a au total 8 tats possibles 3 actions possibles:
aller gauche aller droite aspirer
Cours d'intelligence artificielle 19
Exemple 2 : laspirateur
Laspirateur est dans lune des deux pices But : liminer toute la poussire Problme : tats : les 8 tats possibles du problme Actions : se dplacer gauche, droite, aspirer Solution : tre dans ltat 7 ou 8
20
10
Une solution est une squence d'oprateurs menant de l'tat initial l'tat final.
Cours d'intelligence artificielle 21
Formulation : aspirateur
tats : entiers indiquant la position du robot et de la poussire (ignorer la quantit de poussire) actions : aller gauche (L), aller droite (R), aspirer (S), ne rien faire (NoOp) test de but : plus de poussire nulle part fonction-cot : chaque action cote 1 unit, (0 pour NoOp)
Cours d'intelligence artificielle 22
11
Formulation : puzzle-8
tats : numros des positions des plaquettes (ignorer les positions intermdiaires) actions : dplacer la case vide gauche (L), droite (R), en haut (U), en bas (D) test de but : tat courant = tat final fonction-cot : chaque dplacement de la case vide vaut 1, cot total = nombre total de dplacements de la case vide
Principalement les problmes dont la solution s'exprime en termes de chemin dans des graphes finis.
24
12
25
26
13
28
14
30
15
Etats vs noeuds
Un tat est (une reprsentation d')une configuration relle Un nud est un lment d'une structure de donnes constitutive d'un arbre de recherche ; il possde les champs suivants:
tat, parent, (enfants), profondeur, cot du chemin g(x) ces notions nexistent pas pour les tats
Etat
Noeud
enfants
Cours d'intelligence artificielle 32
16
Etats vs noeuds
Source : http://cui.unige.ch/DI/cours/IA/
Cours d'intelligence artificielle 33
Stratgies de recherche
Dtermine lordre de dveloppement des nuds. Stratgies aveugles n'exploitent aucune information contenue dans un nud donn Stratgies heuristiques exploitent certaines informations pour dterminer si un nud est plus prometteur qu'un autre
34
17
Exemple : puzzle-8
Source : http://cui.unige.ch/DI/cours/IA/
Cours d'intelligence artificielle 35
Exemple : puzzle-8
Source : http://cui.unige.ch/DI/cours/IA/
Cours d'intelligence artificielle 36
18
Optimalit
Est-ce que la stratgie trouve la solution optimale ?
Complexit de temps
Combien de temps a prend pour trouver une solution ?
Complexit despace
Quelle quantit de mmoire a-t-il besoin ?
Cours d'intelligence artificielle 37
Complexit
Elle est exprime en utilisant les quantits suivantes:
b : le facteur de branchement : le nombre maximum de successeurs un nud. d : la profondeur du nud but le moins profond. m : la longueur maximale dun chemin dans lespace dtats.
Complexit de temps : le nombre de nuds gnrs pendant la recherche. Complexit despace : le nombre maximum de nud en mmoire.
Cours d'intelligence artificielle 38
19
Recherche aveugle
39
40
20
Largeur dabord
Dveloppement de tous les noeuds au niveau i avant de dvelopper les nuds au niveau i + 1. Les nouveaux successeurs vont la fin. File :
Largeur dabord
1 2
Source : http://aima.cs.berkeley.edu/
42
21
Complexit de temps
1 + b + b2 + b3 + + bd + (bd+1 b) = O(bd+1)
Complexit despace
O(bd+1) (Garde tous les nuds en mmoire)
Optimal :
non en gnral oui si le cot des actions est le mme pour toutes les actions
43
Complexits en temps et en mmoire pour la recherche en largeur dans les conditions suivantes:
facteur de branchement b = 10 production de 1000 noeuds/seconde espace-mmoire de 100 octets/nud
Cours d'intelligence artificielle 44
22
Cot uniforme
Dveloppe le nud ayant le cot le plus bas. File trie selon le cot. quivalent largeur dabord si le cot des actions est toujours le mme. Compltude : oui Complexit en temps : O(bd) Complexit en espace : O(bd) Optimal : oui
45
46
23
Profondeur dabord
Dveloppe le nud le plus profond. Implment laide dun pile. Les nouveaux nuds gnrs vont sur le dessus. Pile :
Profondeur dabord
1 2 3
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 48
24
49
Profondeur limite
Lalgorithme de profondeur dabord, mais avec une limite de l sur la profondeur.
Les nuds de profondeur l nont pas de successeurs.
Exemple avec l=2
50
25
Profondeur limite
Compltude : oui, si l d Complexit en temps : O(bl) Complexit en espace : O(b*l) linaire Optimal : Non 3 possibilits :
solution chec absence de solution dans les limites de la recherche
51
Profondeur itrative
Le problme avec la recherche en profondeur limite est de fixer la bonne valeur de L. Profondeur itrative = rpter pour toutes les valeurs possibles de L = 0, 1, 2, combine les avantages de la recherche en largeur et en profondeur
presque optimal et complet comme la recherche en largeur conome en espace comme la recherche en profondeur
C'est l'algorithme de choix si l'espace de recherche est grand et si la profondeur de la solution est inconnue
Cours d'intelligence artificielle 52
26
Profondeur itrative
Limite = 1
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 53
Profondeur itrative
Limite = 2
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 54
27
Profondeur itrative
Limite = 3
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 55
56
28
b d m l
= facteur de branchement = profondeur de la solution = profondeur maximum de l'arbre de recherche = limite de la profondeur de recherche Largeur dabord Oui* Cot uniforme Oui* O(bd)
O(bd)
Critre
Compltude Temps Espace Optimal
O(bd+1) O(bd+1)
Oui*
O(bm) O(bm)
Non
O(bl) O(bl)
Non
O(bd) O(b*d)
Oui*
57
Oui
Recherche heuristique
58
29
Recherche heuristique
Les algorithmes de recherche aveugle n'exploitent aucune information concernant la structure de l'arbre de recherche ou la prsence potentielle de nuds-solution pour optimiser la recherche.
Recherche simple" travers l'espace jusqu' trouver une solution.
La plupart des problmes rels sont susceptibles de provoquer une explosion combinatoire du nombre d'tats possibles. Un algorithme de recherche heuristique utilise l'information disponible pour rendre le processus de recherche plus efficace. Une information heuristique est une rgle ou une mthode qui presque toujours amliore le processus de recherche.
Cours d'intelligence artificielle 59
Fonction heuristique
Une fonction heuristique
H:ER
fait correspondre un tat s E (espace dtats) un nombre h(s) R qui est (gnralement) une estimation du rapport cot/bnfice qu'il y a tendre le chemin courant en passant par s.
Contrainte : h(solution) = 0 Le nud A a 3 successeurs pour lesquels : h(s1) = 0.8 h(s2) = 2.0 h(s3) = 1.6 La poursuite de la recherche par s1 est heuristiquement la meilleure.
Cours d'intelligence artificielle 60
30
h(N) = somme des distances (Manhattan) de chaque plaquette sa position finale =3+1+3+0+2+1+0+3 = 13
Cours d'intelligence artificielle 61
Recherche meilleur-dabord
Combinaison entre recherche en profondeur et en largeur. En profondeur
Avantage : solution trouve sans avoir besoin de calculer tous les nuds
En largeur
Avantage : ne risque pas de rester pris dans une impasse"
L'algorithme recherche meilleur-dabord permet d'explorer les nuds dans l'ordre (croissant/dcroissant) de leurs valeurs heuristiques
62
31
Recherche meilleur-dabord
Ide : tendre le noeud le plus prometteur selon sa valeur heuristique. Cas particuliers de la recherche meilleur-dabord Recherche avare A*
63
Recherche avare
Stratgie la plus simple de recherche meilleur-dabord Fonction heuristique
h(n) = estimation du cot du nud n au but
Recherche avare = minimiser le cot estim pour atteindre le but Le nud qui semble tre le plus proche du but sera tendu en priorit Fonctions heuristiques classiques
distance vol d'oiseau distance Manhattan : dplacements limits aux directions verticales et horizontales
Cours d'intelligence artificielle 64
32
65
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiques
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 66
33
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiques
Cours d'intelligence artificielle 67
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiques
Cours d'intelligence artificielle 68
34
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiques
Cours d'intelligence artificielle 69
35
car lalgorithme ne considre pas la distance parcourue. Stratgie : toujours enlever le plus grand morceau du cot restant pour atteindre le but cest--dire minimiser le cot estim pour atteindre la solution
Relativement efficace, quoique pas toujours optimal
Algorithme A*
Recherche avare minimise le cot estim h(n) du nud n au but rduisant ainsi beaucoup le cot de la recherche,
mais il nest pas optimal et pas complet L'algorithme de recherche en cot uniforme minimise le cot g(n) depuis l'tat initial au nud n, il est optimal et complet, mais pas trs efficace. Ide : combiner les deux algorithmes et minimiser le cot total f(n) du chemin passant par le nud n f(n) = g(n) + h(n)
Cours d'intelligence artificielle 72
36
Algorithme A*
Thorme : si A* utilise une fonction heuristique admissible, cd qui ne surestime jamais le cot rel cest-dire si
n 0 h(n) h*(n) avec h*(n) cot rel de n au but
alors A* est optimal une fonction heuristique admissible est toujours optimiste! Exemple : hvol doiseau(n) de surestime jamais la distance relle.
Cours d'intelligence artificielle 73
74
37
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle 75
76
38
77
78
39
79
80
40
Optimalit de A*
A* tend les nuds dans l'ordre croissant des valeurs de f Tous les noeuds lintrieur du contour i ont des valeurs f < fi avec fi < fi+1
81
Proprits A*
Compltude : Oui, sauf si nombre infini de noeuds Complexit en temps : exponentielle Complexit en espace : garde tous les noeuds en mmoire Optimal : Oui
82
41
Exemple : Puzzle-8
Problme du puzzle-8 : total 9! = 362 880 tats possibles
h1(N) = nombre de plaquettes mal places h2(N) = somme des distances (Manhattan) de chaque plaquette sa position finale
h1(start) = 6 h2(start) = 4 + 0 + 3 + 3 + 1 + 0 + 2 + 1 = 14
Cours d'intelligence artificielle 83
42