05 recherche ia

Upload: bouallegue-mohamed

Post on 12-Jul-2015

192 views

Category:

Documents


0 download

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