05 recherche ia
TRANSCRIPT
Intelligence ArtificielleRsolution de problmes laide dalgorithmes de rechercheAlain BoucherInstitut de la Francophonie pour lInformatique (IFI, Vietnam) alain.boucher(arobas)auf.org Cours prpar pour l'Institut de Technologie du Cambodge (ITC)
Rsolution de problmes
Cours d'intelligence artificielle
2
1
Agent de rsolution de problmes
Actions Etat initial Test-solutionCours d'intelligence artificielle 3
Agent de rsolution de problmesCe sont des agents bass sur des objectifs. La solution d'un problme s'obtient sous la forme d'une squence d'actions qui mne aux tats-solutions souhaits. Pour cela il faut : exprimer l'objectif comme un sous-ensemble des tats possibles du monde, clairement spcifier quel est l'espace d'tats du problme : cest-dire quels sont les aspects du monde importants pour le problme rsoudre, clairement spcifier toutes les actions possibles.
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
Agent de rsolution de problmes1. Formulation dun but un ensemble dtats atteindre.
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
Espace d'tats, fonction successeur
Source : http://cui.unige.ch/DI/cours/IA/Cours d'intelligence artificielle 6
3
Etat initial
Cours d'intelligence artificielle
7
Test-solution
Cours d'intelligence artificielle
8
4
Dfinir un problme de rechercheEspace d'tats tat initial Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
Cours d'intelligence artificielle
9
Dfinir un problme de rechercheEspace d'tats chaque tat est une reprsentation abstraite de l'environnement l'espace d'tat est discret
tat initial Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
Cours d'intelligence artificielle
10
5
Dfinir un problme de rechercheEspace d'tats tat initial habituellement l'tat courant parfois un ou plusieurs tats hypothtiques
Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
Cours d'intelligence artificielle
11
Dfinir un problme de rechercheEspace d'tats tat initial Fonction "successeur" fonction : [ tat sous-ensemble d'tats ] une reprsentation abstraite des actions possibles
Test-solution (ou test de but) Cot du chemin (ou fonction-cot)
Cours d'intelligence artificielle
12
6
Dfinir un problme de rechercheEspace d'tats tat initial Fonction "successeur" Test-solution (ou test de but) habituellement une condition satisfaire parfois la description explicite d'un tat
Cot du chemin (ou fonction-cot)
Cours d'intelligence artificielle
13
Dfinir un problme de rechercheEspace d'tats tat initial Fonction "successeur" Test-solution (ou test de but) Cot du chemin (ou fonction-cot) fonction : [chemin nombre positif ] Habituellement : cot du chemin = somme des cots de ses tapes
Cours d'intelligence artificielle
14
7
Dfinir un espace d'tatsLe monde rel est excessivement complexe lespace dtats doit tre une abstraction de la ralit tat (abstrait) = ensemble d'tats rels oprateur (abstrait) = combinaison d'actions relles solution (abstraite) = ensemble de chemins-solutions dans le monde rel
Cours d'intelligence artificielle
15
Formulation dun problme
Cours d'intelligence artificielle
16
8
Exemple 1 : voyage en Roumanie
Cours d'intelligence artificielle
17
Exemple 1 : voyage en RoumanieOn est Arad et on veut aller Bucharest But : tre Bucharest Problme : tats : villes Actions : aller dune ville une autre Solution : Une squence de villes Exemple : Arad, Sibiu, Fagaras, Bucharest
Environnement trs simple statique, observable, discret et dterministeCours d'intelligence artificielle 18
9
Exemple 2 : laspirateurLe 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 aspirerCours d'intelligence artificielle 19
Exemple 2 : laspirateurLaspirateur 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
Environnement trs simple statique, observable, discret et dterministe
Cours d'intelligence artificielle
20
10
Formulation dun problmeUn problme est dfini par 4 lments : Etat initial ex: "tre Arad" Actions fonction successeur S(x) = ensemble de paires ex: S(Arad) = {< Arad Zerind, Zerind >, } Test de but explicite x = "tre Bucarest" implicite PasDePoussire(x) Fonction-cot (fonction additive) somme des distances, nombre d'oprateurs excuts,
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
Remarque : solution optimale pour puzzle-n est NP-difficileCours d'intelligence artificielle 23
Typologie des problmesTous les problmes qui peuvent tre dcrits par un ensemble fini d'tats, un ensemble fini d'actions, un sous-ensemble d'tats initiaux et finaux, une relation "successeur" dfinie sur l'ensemble des tats et des actions dans l'ensemble des tats, une fonction de cot positive.
Principalement les problmes dont la solution s'exprime en termes de chemin dans des graphes finis.
Cours d'intelligence artificielle
24
12
Reprsentation par arbre dun problme
Cours d'intelligence artificielle
25
Reprsentation par arbre dun problmeProblme gnral Reprsentation par arbre
Cours d'intelligence artificielle
26
13
Recherche de solutions dans un arbreSimuler lexploration de lespace dtats en gnrant des successeurs pour les tats dj explors. Nud de recherche tat : ltat dans lespace dtat. Nud parent : Le nud dans larbre de recherche qui a gnr ce nud. Action : Laction qui a t applique au parent pour gnrer ce nud. Cot du chemin : Le cot du chemin partir de ltat initial jusqu ce nud. g(n) Profondeur : Le nombre dtapes dans le chemin partir de ltat initial.Cours d'intelligence artificielle 27
Exemple graphe arbre
Cours d'intelligence artificielle
28
14
Exemple de recherche dans un graphe
Ide de base de la recherche dans un arbre : Exprimer toutes les possibilits Rechercher la meilleure possibilit en parcourant larbreSource : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 29
Exemple de recherche dans un graphe
Ide de base de la recherche dans un arbre : Exprimer toutes les possibilits Rechercher la meilleure possibilit en parcourant larbre
Cours d'intelligence artificielle
30
15
Exemple de recherche dans un graphe
Ide de base de la recherche dans un arbre : Exprimer toutes les possibilits Rechercher la meilleure possibilit en parcourant larbre
Problme de la stratgie de recherche ???Cours d'intelligence artificielle 31
Etats vs noeudsUn 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
NoeudenfantsCours d'intelligence artificielle 32
16
Etats vs noeuds
Source : http://cui.unige.ch/DI/cours/IA/Cours d'intelligence artificielle 33
Stratgies de rechercheDtermine 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
Cours d'intelligence artificielle
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
Evaluation des stratgiesCompltude Est-ce que lalgorithme garantit de trouver une solution sil y en a une ?
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
ComplexitElle 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
Cours d'intelligence artificielle
39
Stratgies de recherche aveugleLargeur dabord (Breath-first) Cot uniforme (Uniform-cost) Profondeur dabord (Depth-first) Profondeur limite (Depth-limited) Profondeur itratif (Iterative deepening)
Cours d'intelligence artificielle
40
20
Largeur dabordDveloppement de tous les noeuds au niveau i avant de dvelopper les nuds au niveau i + 1. Les nouveaux successeurs vont la fin. File :
Ordre de visite : ABCDEF-GCours d'intelligence artificielle 41
Largeur dabord1 2
3
4
Source : http://aima.cs.berkeley.edu/
Cours d'intelligence artificielle
42
21
Proprits de largeur dabordCompltude oui (si b est fini)
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
Cours d'intelligence artificielle
43
Proprits de largeur dabord
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/nudCours d'intelligence artificielle 44
22
Cot uniformeDveloppe 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
Cours d'intelligence artificielle
45
Exemple de cot uniforme
Cours d'intelligence artificielle
46
23
Profondeur dabordDveloppe le nud le plus profond. Implment laide dun pile. Les nouveaux nuds gnrs vont sur le dessus. Pile :
Ordre de visite : ABDHIEJK-CCours d'intelligence artificielle 47
Profondeur dabord1 2 3
4
5
6
Source : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 48
24
Proprits de profondeur dabordCompltude non si la profondeur est infinie, sil y a des cycles. oui si espaces finis acycliques. Complexit en temps : O(bm) Trs mauvais si m est plus grand que d
Complexit en espace : O(bm) linaire. Optimal : Non.
Cours d'intelligence artificielle
49
Profondeur limiteLalgorithme 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
Cours d'intelligence artificielle
50
25
Profondeur limiteCompltude : 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
Cours d'intelligence artificielle
51
Profondeur itrativeLe 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 inconnueCours d'intelligence artificielle 52
26
Profondeur itrativeLimite = 1
Source : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 53
Profondeur itrativeLimite = 2
Source : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 54
27
Profondeur itrativeLimite = 3
Source : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 55
Proprits profondeur itrativeCompltude : Oui Complexit en temps : O(bd) Complexit en espace : O(b*d) Optimal : presque, si le cot de chaque action est de 1.
Cours d'intelligence artificielle
56
28
Comparaison pour la recherche aveugleComparaison de 5 algorithmes selon les 4 critres d'valuation retenus avec:
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)
CritreCompltude Temps Espace Optimal
Profondeur Profondeur Profondeur dabord limite itrative Non Oui, si ld Oui
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
Cours d'intelligence artificielle
Recherche heuristique
Cours d'intelligence artificielle
58
29
Recherche heuristiqueLes 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 heuristiqueUne fonction heuristiqueH: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
Exemples de fonctions heuristiquesPuzzle-8
h(N) = nombre de plaquettes mal places = 6
h(N) = somme des distances (Manhattan) de chaque plaquette sa position finale =3+1+3+0+2+1+0+3 = 13Cours d'intelligence artificielle 61
Recherche meilleur-dabordCombinaison 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
Cours d'intelligence artificielle
62
31
Recherche meilleur-dabordIde : tendre le noeud le plus prometteur selon sa valeur heuristique. Cas particuliers de la recherche meilleur-dabord Recherche avare A*
Cours d'intelligence artificielle
63
Recherche avareStratgie 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 horizontalesCours d'intelligence artificielle 64
32
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
65
Exemple : voyage en Roumanie
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiquesSource : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 66
33
Exemple : voyage en Roumanie
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiquesCours d'intelligence artificielle 67
Exemple : voyage en Roumanie
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiquesCours d'intelligence artificielle 68
34
Exemple : voyage en Roumanie
h(N) = distance vol doiseau Les noeuds sont tiquetts avec leurs valeurs heuristiquesCours d'intelligence artificielle 69
Proprits recherche avareCompltude : Non, peut rester pris dans une boucle, est complet si espace de recherche fini et si vrification d'absence de boucle. Complexit en temps : O(bm) exponentielle Complexit en espace : O(bm) garde tous les noeuds en mmoire Optimal : Non Remarque : la performance de la recherche avare est fonction de la prcision de h(), avec une bonne fonction heuristique, les complexits en temps et en espace peuvent tre fortement rduites.Cours d'intelligence artificielle 70
35
Recherche avare - commentairesLa solution Arad > Sibiu > Fagaras > Bucarest
n'est pas optimale; elle est de 32 km plus longue que Arad > Sibiu > Rimnicu > Pitesti > Bucarest
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
Susceptible de faux dpart exemple: pour aller de Iasi Fagaras, la recherche avare considre Neamt avant Vaului, mme si cest une impasse.Cours d'intelligence artificielle 71
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
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
74
37
Exemple : voyage en Roumanie
Source : http://aima.cs.berkeley.edu/Cours d'intelligence artificielle 75
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
76
38
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
77
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
78
39
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
79
Exemple : voyage en Roumanie
Cours d'intelligence artificielle
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
Cours d'intelligence artificielle
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
Cours d'intelligence artificielle
82
41
Exemple : Puzzle-8Problme du puzzle-8 : total 9! = 362 880 tats possiblesh1(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 = 14Cours d'intelligence artificielle 83
42