CSI 4506: Introduction à l’intelligence artificielle La recherche heuristique
Plan du Cours Recherche heuristique: description Un exemple: Le puzzle de taille 8 Recherche Best-First Définitions et terminologie Exemples
Recherche heuristique: Description Dans la recherche aveugle, on performe une exploration exhaustive des objets de l’espace de recherche: Aucune information n’est utilisée pour guider la recherche. Dans la recherche heuristique, on utilise de l’information sur la structure de l’espace de recherche. En particulier, on suppose l’existence d’une mesure sur les objets de l’espace qui nous permet d’estimer la distance d’un noeud à un noeud final. On utilise cette mesure pour comparer deux noeuds de façon à déterminer le noeud le plus prometteur qui devrait être exploré le premier.
Exemple: Le puzzle a 8 pièces Noeud de depart Noeud final 2 8 3 1 6 4 7 <Blanc> 5 1 2 3 8 <Blanc> 4 7 6 5 Mouvements légaux: Déplace le <blanc> vers: - le haut - la droite - le bas - la gauche Contraintes: Les mouvements en diagonal sont interdits
À Noter Certains mouvements sont stupides: Exemple: Glisser 5 dans l’espace vide Certains mouvements sont plus avisés: Exemple: Glisser 6 dans l’espace vide On peut utiliser une fonction d’évaluation pour guider la recherche.
Exemples de fonctions d’évaluation pour le puzzle a 8 pièces f1(n) = g(n) + W(n) f2(n) = g(n) + P(n) Meilleure estimation (vis a vis du nombre d’étapes avant le but) g(n) = profondeur du noeud n dans l’arbre de recherche W(n) = nombre de carrés mal placés dans ce noeud P(n) = somme des distances “manhattan” de chaque carré par rapport à leur destination finale [sans tenir compte des obstacles] g(n) est important puisque l’on cherche le chemin le plus court! Avec
Exemples de fonctions d’évaluation pour le puzzle a 8 pièces (Suite) 2 8 3 1 6 4 7 <> 5 1 2 3 8 <> 4 7 6 5 f1(n) = g(n) + W(n) = 0 + 4 = 4 f2(n) = g(n) + P(n) = 0 + 1 + 1 + 1 + 2 = 5 Une solution optimale prend 5 mouvements f2 est en effet une meilleure estimation que f1
Note Dans la vie réelle on utilise aussi l’heuristique: Exemple: Au supermarché, on choisit la queue la moins longue ou alors on choisit la queue dans laquelle les clients on le plus petit nombre d’objets dans leur panier. Avez-vous d’autres exemples?
Recherche Best-First (Voir exemple au tableau; On suppose qu’il n’y a pas de noeud final dans cet arbre) N = A n=A N = N= C->B n=C N = B N= G->F->B n=G N= F->B N= F->B n=F N= B N= B n=B N = N= E->D n=E N= D N= D n=D N= N= Ordre de la visite
Exemples sur le Puzzle a 8 pièces Voir diapositives: 2 problèmes différents 2 fonctions d’évaluation différentes
Notes Les résultats de la recherche dépendent du choix de la fonction d’évaluation L’utilisation d’une fonction d’évaluation qui sous-estime la promesse de certains noeuds peut amener un chemin à coût non minimal. Par ailleurs, l’utilisation d’une fonction d’évaluation qui surestime la promesse de certains noeuds peut amener a une expansion de trop de noeuds. Est-il possible d’obtenir des garanties sur nos fonctions d’évaluation?
Définitions et terminologie Algorithme A Admissibilité Algorithme A* Monotonicité Informativité a.k.a. puissance heuristique Tous ces termes seront définis et expliqués en cours. Veuillez lire attentivement les sections 4.0-4.2
Exemples (1) Question: Est-ce que la fonction W(n) du puzzle a 8 pièces est admissible? Réponse: Oui, car W(n) est une sous-estimation de h*(n) puisque les carrés qui ne sont pas à leur destination finale ont besoin d’au moins un mouvement, et probablement plus. Question: Est-ce que la fonction P(n) du puzzle a 8 pièces est admissible? Réponse: Oui, car P(n) est une sous-estimation de h*(n) puisque les carrés qui se trouvent à une distance “manhattan” d de leur destination finale ont besoin d’au moins d mouvements, et possiblement plus.
Exemples (2) Parfois de la puissance heuristique peut être gagné au dépends de l’admissibilité en utilisant une fonction h’ qui n’est pas plus petite que h. Ce pouvoir heuristique gagné peut nous permettre de résoudre des problèmes bien plus difficiles. Exemple: h’(n) = P(n) + 3 S(n) P(n) distance “manhattan” de la position finale S(n) score séquentiel obtenu en vérifiant les carrés non centraux un par un et en distribuant 2 à tous les carrés qui ne sont pas suivis de leurs successeur adéquat et 0 a tous les autres carrés. Un carré au milieu a un score de 1.