La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Intelligence Artificielle ACADEMIE NAVALE DE MANZEL BOURGUIBA Version Janvier 2008 Dr. Inès BENJAAFAR Ou

Présentations similaires


Présentation au sujet: "1 Intelligence Artificielle ACADEMIE NAVALE DE MANZEL BOURGUIBA Version Janvier 2008 Dr. Inès BENJAAFAR Ou"— Transcription de la présentation:

1 1 Intelligence Artificielle ACADEMIE NAVALE DE MANZEL BOURGUIBA Version Janvier 2008 Dr. Inès BENJAAFAR Ou

2 2 Recherche Heuristique dans les Graphes d’Etats Chapitre 5

3 3 Plan du chapitre V V.1 Introduction V.2 Stratégies de recherche aveugle Recherche en profondeur Recherche en largeur V.3 Stratégies de recherche heuristique Recherche en profondeur Ordonnée Recherche du meilleur Premier … Recherche Heuristique A*

4 4 V.1 Introduction !  Les Algorithmes de recherche constituent l’une des approches les plus puissantes pour la résolution en IA  Les algorithmes de recherche sont un mécanisme générl de résolution de problèmes qui :  Se déroule dans un espace appelé espace d’états  Explore systématiquement toutes les alternatives  Trouve la séquence d’étapes menant à la solution

5 5 V.1 Introduction !  Les différentes méthodes de recherche sont évaluées selon les critères suivants :  Complétude : est ce que la méthode garantit de trouver une solution si elle existe?  Optimalité : est ce que la méthode trouve la meilleure solution s’il en existe plusieurs?  Complexité en temps : Combien de nœuds faut-il produire pour trouver la solution?  Complexité en espace : nombre maximum de nœuds à conserver en mémoire pour trouver la solution?

6 6 V.1 Introduction !  Les méthodes de recherche différent les unes des autres selon l’ordre dans lequel les nœuds sont étendus, On distingue :  Les Stratégies Aveugles, qui n’exploitent aucune information contenue dans un nœud donné  Les Stratégies Heuristiques qui exploitent certaines informations pour déterminer si un nœud est plus prometteur qu’un autre

7 7 V.1 Introduction !  Exemple : Problème de recherche de chemin  Il s’agit de trouver un chemin dans un réseau de villes reliées par des routes. Le chemin doit commencer à la ville source S et se terminer à la ville but G (voir figure)  La difficulté de la recherche d’un chemin se mesure à deux niveaux :  la découverte d’un chemin (le plus court ou quelconque)  le parcours effectif de ce chemin

8 8 V.1 Introduction !  Exemple : Problème de recherche de chemin  Deux solutions sont possibles :  Si le parcours entre S et G est fréquent alors il est préférable de trouver un chemin optimal  Si le parcours se fait une seule fois et si le réseau est complexe, on peut se satisfaire du premier chemin rencontré  Dans un premier temps, on considère la recherche d’un chemin quelconque, on présente ensuite la recherche de chemins optimaux!

9 9 V.2 Stratégies de recherche aveugles  Recherche en profondeur (depth first search)  Elle descend directement au fond de l’arbre de recherche  On sélectionne à chaque nœud rencontré pour continuer la descente à partir de cette possibilité jusqu’à atteindre le but ou une feuille  Dans le cas d’impasse (une feuille différente du but), on reprend la recherche à partir de l’ancêtre le plus proche dont au moins un fils n’a pas été exploré  Les possibilités sont testées de gauche à droite  La première action dans le parcours de l’arbre est de poursuivre les branches les plus à gauche

10 10 V.2 Stratégies de recherche aveugles  Procedure de Recherche en profondeur 1.Empiler la racine 2.Jusqu’à ce que la pile soit vide ou que le nœud but soit atteint, si le sommet de la pile est égal au nœud but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon dépiler le premier élément et empiler ses fils, s’il en a, depuis celui le plus à droite jusqu’à celui le plus à gauche 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

11 11 V.2 Stratégies de recherche aveugles  Remarques 1.L’algorithme peut dans un cas défavorable, nous obliger à parcourir l’intégralité de l’espace d’état avant de trouver la polution (au pire des cas) 2.Un inconvénient de la recherche en profondeur : au lieu de correspondre à une impasse directe, on explore plusieurs niveaux de l’arbre avant de rencontrer le cas d’impasse

12 12 V.2 Stratégies de recherche aveugles  Recherche en Largeur  Elle descend uniformément dans l’arbre de recherche  La recherche en largeur cherche le but souhaité parmi tous les nœuds d’un niveau donné avant de consulter leurs fils  On ne peut pas développer un nœud de niveau n si on n’a pas développer tous les nœuds de niveau n-1  L’arbre de recherche en largeur correspondant à l’exemple 1 est donné par la figre suivante :

13 13 V.2 Stratégies de recherche aveugles  Procedure de Recherche en Largeur 1.Mettre la racine en tête de la file 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier élément de la file est égal au nœud but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon le retirer de la file et placer ses fils, s’il en a, depuis celui le plus à droite jusqu’à celui le plus à gauche 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

14 14 V.2 Stratégies de recherche aveugles  Remarques 1.La procédure recherche en largeur ressemble à celle de la recherche en profondeur, la seule différence réside dans l’endroit d’insertion de nouveaux éléments. Ceci se traduit pr le fait qu’on utilise une file plutôt qu’une pile 2. Lorsque la recherche en profondeur s’avère inéfficace, une recherche en largeur peut donner des résultats plus surs 3.Ce type de recherche est très couteux lorsque tous les chemins mènent au but, à des profondeurs pratiquement identiques

15 15 V.3 Stratégies de recherche Heuristiques  Les algorithmes de recherche aveugle n’exploitent aucune information concernant la structure de l’arbre de recherche ou la présence potentielle de nœuds-solution pour optimiser la recherche  La majorité des problèmes réels sont susceptibles de provoquer une explosion combinatoire du nombre d’états possibles  Un algorithme de recherche heuristique qui utilise l’information disponible pour rendre le processus de recherche plus efficace s’avère une nécessité  Une information heuristique est une règle ou une méthode qui presque tjrs améliore le processus d la recherche

16 16 V.3 Stratégies de recherche Heuristiques  Recherche en profondeur Ordonnée (Hill climbing)  On peut améliorer l’efficacité d’une recherche si l’on dispose d’un moyen d’examiner en premier les choix les plus prometteur  On procède comme pour la recherche en profondeur, mais on ordonne les choix selon une mesure heuristique de la distance restante à parcourir depuis un nœud  Plus la mesure heuristique est fine, plus l’efficacité de l’algorithme est supérieure à la simple recherche en profondeur  Un exemple de mesure heuristique de la distance restante à parcourir est la distance euclidiènne (distance à vol d’oiseau)

17 17 V.3 Stratégies de recherche Heuristiques  Procedure de Recherche en Profondeur Ordonnée 1.Empiler la racine 2.Jusqu’à ce que la pile soit vide ou que le nœud but soit atteint, si le sommet de la pile est égal au nœud but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon dépiler le premier élément et empiler ses fils, s’il en a, dans l’ordre décroissant de leur distance au but 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

18 18 V.3 Stratégies de recherche Heuristiques  Remarque : 1.Cette procédure peut mener à une solution qui présente un optimum local et non pas global. La solution sera diférente de la solution globale au problème

19 19 V.3 Stratégies de recherche Heuristiques  Recherche du meilleur premier (best first search)  Cette recherche est un compromis entre une recherche en largeur et une recherche en profondeur en utilisant une fonction heuristique pour guider la génération des noeuds  Le mecanisme de cette recherche est le suivant : on développe à chaque étape le meilleur noeud non encore développé, quelque soit l’endroit où il se situe dans l’arbre partiel developpé et on recommence le processus  La recherche du meilleur premier nécessite comme dans la recherche en profondeur ordonné un tri, mais cette fois toute la file devra être triée

20 20 V.3 Stratégies de recherche Heuristiques  Procedure du meilleur premier 1.Mettre la racine en tête de la file 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier élément de la file est égal au nœud but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon le retirer de la file et placer ses fils, s’il en a, et trier la file entière par ordre croissant des distances calculées au but 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

21 21 V.3 Stratégies de recherche Heuristiques  Remarque : 1.Les chemins trouvés par la procédure du meilleur premier sont souvent meilleurs que ceux trouvés par les autres méthodes, parce qu’on poursuit toujours la recherche à partir du nœud qui semble être le plus proche du but

22 22 V.3 Stratégies de recherche Heuristiques  Procedure du British Museum (énumération explicite)  Une technique (la plus simple pour trouver le chemin le plus court consiste à rechercher tous les chemins possibles puis à conserver le chemin le plus court  British Museum : musée réputé par la complexité de ramification de ses galeries avant de trouver celle qqui l’interesse  Pour trouver tous les chemins possibles on peut utiliserr ou bien la recherche en largeur ou bien la recherche en profondeur mais avec une legère modification :la recherche ne s’arrête pas dès qu’on trouve le premier chemin conduisant au but  L’utilisation d’une telle procédure est acceptable tant que la largeur et la profondeur de l’arbre restent raisonnables

23 23 V.3 Stratégies de recherche Heuristiques  Branch and Bound (méthode de séparation et évaluation)  Ce type de recherche heuristique fournit une méthode moins couteuse pour trouver les chemins optimaux  L’idée de base étant de développer le chemin partiel à moindre coût  Ainsi, on développe le nœud situé à la fin du plus court chemin partiel ouvert à ce stade  Si on prend un exemple simple de carte routière figure suivante :  ….

24 24 V.3 Stratégies de recherche Heuristiques  Procedure Branch and Bound 1.Initialement, la file des chemins partiels contient le chemin de longeur nulle contenant la racine 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier chemin de la file atteint le but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon Le défiler Former les nouveaux chemins obtenus en prolongeant d’un niveau le chemin supprimé Enfiler ces nouveaux chemins Trier la file par cout de chemin croissant (distance totale du chemin parcuru) 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

25 25 V.3 Stratégies de recherche Heuristiques  Branch and Bound et estimation minorante  l’efficacité du branch and bound peut être améliorée si o utilise en plus de la longeur du chemin déjà parcouru une estimation des distances restantes à parcourir  Si on peut se fier à la distance restante à parcourir en lui ajoutant la distance connue du chemin déjà parcouru, on aura une bonne estimation de la longueur totale du chemin  E(longueur totale du chemin) = distance déjà parcourue + E(distance restante)  Ainsi on développe le chemin dont la longueur estimée est la plus courte jusqu’à ce qu’on trouve un autre chemin de longueur estimée plus courte

26 26 V.3 Stratégies de recherche Heuristiques  Branch and Bound et estimation minorante  Si les estimations sont parfaites, cette recherche trouve le chemin optimal, mais en général, les estimations ne sont pas parfaites et une mauvaise sur évaluation du véritable chemin optimal peut nous en faire dévier  Une sous estimation ne peut pas risquer de faire manquer le chemin optimal  Une sous estimation de la distance restante conduit à une sous estimation d la longueur totale du chemin  Si dans ce type de recherche heuristique on garantit l’utilisation d’une heuristique minorante alors on est sur d’atteindre le chemin optimal

27 27 V.3 Stratégies de recherche Heuristiques  Procedure Branch and Bound avec heuristique minorante 1.Initialement, la file des chemins partiels contient le chemin de longeur nulle contenant la racine 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier chemin de la file atteint le but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon Le défiler Former les nouveaux chemins obtenus en prolongeant d’un niveau le chemin supprimé Enfiler ces nouveaux chemins Trier la file par coût de chemin croissant ( somme de distance déjà parcourue et d’une estimation minorante de la distance restante à parcourir) 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

28 28 V.3 Stratégies de recherche Heuristiques  Remarques : 1.L’heuristique minorante garantit l’obtention de la solution optimale 2.L’approche est plus efficace d’autant mieux que les estimations minorantes sont plus proches des distances réelles, car dans ce cas il devient impossible de sortir du droit chemin

29 29 V.3 Stratégies de recherche Heuristiques  Recherche heuristique par programmation dynamique  Il existe une autre façon d’améliorer la recherche heuristique, Il s’agit de supprimer les chemins redondants  voir exemple..

30 30 V.3 Stratégies de recherche Heuristiques  Procedure recherche heuristique par programmation dynamique 1.Initialement, la file des chemins partiels contient le chemin de longeur nulle contenant la racine 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier chemin de la file atteint le but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon Le défiler Former les nouveaux chemins obtenus en prolongeant d’un niveau le chemin supprimé Enfiler ces nouveaux chemins Trier la file par coût de chemin croissant (distance totale du chemin parcouru ) Si deux chemins ou plus atteignent le même nœud, ne conserver que celui ayant la longueur minimale 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

31 31 V.3 Stratégies de recherche Heuristiques  Recherche heuristique A*  La recherche heuristique A* est une recherche heuristique avec estimation de la distance restante combinée avec le principe de la programmation dynamique  Cet algorithme apparait avec de nombreuses variantes dans la littérature, on l’expose dans ce chapitre sous une formulation simple

32 32 V.3 Stratégies de recherche Heuristiques  Procedure A* 1.Initialement, la file des chemins partiels contient le chemin de longeur nulle contenant la racine 2.Jusqu’à ce que la file soit vide ou que le nœud but soit atteint, si le premier chemin de la file atteint le but : 2.1 Si oui ne rien faire à cette étape 2.2 Sinon Le défiler Former les nouveaux chemins obtenus en prolongeant d’un niveau le chemin supprimé Enfiler ces nouveaux chemins Coût de chaque chemin (f) = distance déjà parcourue (g) + estimation minorante de la distance restante à parcourir (h) Trier la file par coûts (f) croissants Si deux chemins ou plus atteignent le même nœud, ne conserver que celui ayant la longueur minimale 3. La recherche aboutit si le nœud but a été atteint et échoue sinon

33 33  H. Farreny et M. Ghallab, Eléments d’Intelligence Artificielle, Edition HERMES, 1987  J.-G. Ganascia, L’intelligence Artificielle, Coll. DOMINOS, Flammarion, 1993  J.-G. Ganascia, L’âme machine, Seuil, 1990  M. Ginsberg, Essentials of Artificial Intelligence, Morgan Kaufmann, 1997  J.-L. Laurière, Intelligence Artificielle : résolution de problèmes par l’homme et la machine, Eyrolles, 1987  Russel and Norvig, Artificial Intelligence a Modern Approach, Prentice Hall Series in Artificial Intelligence, 1995 Bibliographie !


Télécharger ppt "1 Intelligence Artificielle ACADEMIE NAVALE DE MANZEL BOURGUIBA Version Janvier 2008 Dr. Inès BENJAAFAR Ou"

Présentations similaires


Annonces Google