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

Algorithmes de recherche informés (heuristiques) Chap. 4.

Présentations similaires


Présentation au sujet: "Algorithmes de recherche informés (heuristiques) Chap. 4."— Transcription de la présentation:

1 Algorithmes de recherche informés (heuristiques) Chap. 4

2 Plan Best-first search Greedy best-first search A * search Heuristics Local search algorithms Hill-climbing search Simulated annealing search Local beam search Genetic algorithms

3 Rappel: Recherche dans larbre Une stratégie de recherche est définie par lordre dexpansions de noeuds choisi

4 Recherche meilleur-dabord Idée: utiliser une fonction dévaluation f(n) pour chaque nœud –estimer la « désirabilité » –selon les caractéristiques du nœud (état), et non seulement la topologie de lespace Expansion du nœud non exploré le plus désirable Implantation: Ordonner les nœuds dans la frange dans lordre décroissant de désirabilité Cas spéciaux: –Recherche meilleur dabord glouton –Recherche A *

5 Roumanie avec coût détape en km

6 Recherche meilleur-dabord vorace ( Greedy best-first search) Fonction dévaluation f(n) = h(n) (heuristique) = estimation du coût de n à but e.g., h SLD (n) = distance en ligne droite de n à Bucharest Recherche meilleur-dabord vorace développe le nœud qui paraît le plus proche du but Algorithme: –Tant que current goal & il y a des nœuds suivants: Sélectionner h(best_next), Aller à best_next

7 Recherche meilleur-dabord glouton - Exemple

8

9

10

11 Propriétés de la recherche meilleur-dabord glouton Complète? Non – peut être coincé dans un boucle, e.g., Iasi Neamt Iasi Neamt Temps? O(b m ), mais une bonne heuristique peut beaucoup améliorer ça Espace? O(b m ) – garde tous les nœuds en mémoire (potentiellement) Optimal? Non

12 Recherche A Idée: faire une estimation du chemin complet (du nœud initial jusquà un but) Fonction dévaluation f(n) = g(n) + h(n) –g(n) = coût jusquà présent pour atteindre n –h(n) = coût estimé de n à un but –f(n) = coût total du chemin passant par n à un but Cest une fonction plus complète que celle utilisé dans Meilleur-dabord glouton

13 Exemple rechrche A

14

15

16

17

18

19 Heuristiques admissibles Une heuristique h(n) est admissible si pour chaque noeud n, h(n) h * (n), où h * (n) est le vrai coût pour atteindre un but à partir de n. Une heuristique admissible ne surestime jamais le coût pour atteindre au but, i.e., elle est optimiste Exemple: h SLD (n) (ne surestime jamais la vraie distance en route) Théorème: Si h(n) est admissible, A utilisant TREE- SEARCH est optimal Un algorithme A admissible est un algorithme A*.

20 Optimalité de A * (proof) Supposons quun but non optimal G 2 a été généré et inséré dans la frange. Soit n un noeud non exploré dans la frange qui fait partie du chemin le plus court (optimal) menant au but optimal G. f(G 2 ) = g(G 2 )car h(G 2 ) = 0 g(G 2 ) > g(G) car G 2 est suboptimal f(G) = g(G)car h(G) = 0 f(G 2 ) > f(G)à partir de ci-dessus

21 Optimalité de A * (proof) Supposons quun but non optimal G 2 a été généré et inséré dans la frange. Soit n un nœud non exploré dans la frange qui fait partie du chemin le plus court (optimal) menant au but optimal G. f(G 2 )> f(G) à partir de ci-dessus h(n) h*(n)puisque h est admissible g(n) + h(n) g(n) + h * (n) f(n) f(G) Donc f(G 2 ) > f(n), et A * ne va jamais sélectionner à développer G 2 pour terminer lalgorithme

22 Heuristiques consistantes Une heuristique est consistante si pour chaque nœud n, chacun de ses successeurs n' générés par une action, h(n) c(n,a,n') + h(n') Si h est consistante, nous avons f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') g(n) + h(n) = f(n) i.e., f(n) est non-décroissante en suivant un chemin quelconque. Théorème: si h(n) est consistante, A* utilisant GRAPH-SEARCH est optimal

23 Optimalité de A * A * développe les noeuds dans lordre croissant de f Ajoute graduellement des "f-contours" de noeud f i < f i+1 : f augmente Un contour i encercle tous les noeuds avec f f i,

24 Propriétés de A* Complète? Oui (à moins quil y a un nombre infini de nœuds avec f f(G) ) Temps? Exponentiel Espace? Garde tous les nœuds en mémoire Optimal? Oui

25 Heuristiques admissibles E.g., Pour 8-puzzle: h 1 (n) = nombre de tuiles mal placés h 2 (n) = distance Manhattan totale (i.e., nb. de carrées pour arriver à la place désirée pour chaque tuile) h 1 (S) = ? h 2 (S) = ?

26 Heuristiques admissibles E.g., Pour 8-puzzle: h 1 (n) = nombre de tuiles mal placés h 2 (n) = distance Manhattan totale (i.e., nb. de carrées pour arriver à la place désirée pour chaque tuile) h 1 (S) = ? 8 h 2 (S) = ? = 18

27 Dominance Si h 2 (n) h 1 (n) pour tout n (supposons que les 2 sont admissibles) Alors h 2 domine h 1 h 2 est meilleure pour la recherche Coûts typiques de recherche (nb. moyen de nœuds explorés) : d=12IDS = 3,644,035 nodes A * (h 1 ) = 227 nœuds A * (h 2 ) = 73 nœuds d=24 IDS = trop de nœuds A * (h 1 ) = 39,135 nœuds A * (h 2 ) = 1,641 nœuds

28 Problèmes relaxés Un problème a généralement des contraintes sur les actions Si on enlève une ou plusieurs de ces contraintes, on a un problème relaxé Le coût pour une solution optimale du problème relaxé est admissible pour le problème original Si les règles du jeu de 8-puzzle sont relaxées pour quon puisse placer un tuile nimporte où, alors h 1 (n) donne la solution du chemin le plus court Si les règles sont relaxées pour quun tuile puisse bouger vers un carré adjacent, alors h 2 (n) donne le chemin le plus court

29 Fonctions heuristiques côut optimal réel heuristique 2 heuristique 1 0 (h0) h2 domine h1

30 F-contour h2h1h0

31 En pratique Tous les problèmes ne nécessitent pas toujours la solution optimale On se contente souvent dune solution « acceptable » –Difficulté de trouver une heuristique admissible « tractable » (temps, espace) –Le problème est assez petit et on na pas à le faire très souvent –… On utilise souvent un algorithme non optimal On peut aussi surestimer le coût parfois (non admissible), mais lestimation reste assez proche du réel

32 Fonctions heuristiques surestimation 2 coût optimal réel heuristique 1 0 (h0)

33 Des variantes Borne de mémoire autorisée –IDA* (iterative deepning A*): augmente graduellement f-cost et recommencer à partir du Start –SMA* (Simple Memory-bounded A*): sil ny a plus assez de mémoire pour insérer de nouveaux candidats, retirer les nœuds les moins intéressants et remplacer par leur parents si nécessaire

34 SMA* function SMA*(problem) returns a solution sequence inputs: problem, a problem static: Queue, a queue of nodes ordered by f-cost Queue MAKE-QUEUE({MAKE-NODE(INITIAL-STATE[problem])}) loop do if Queue is empty then return failure n deepest least-f-cost node in Queue if GOAL-TEST(n) then return success s NEXT-SUCCESSOR(n) if s is not a goal and is at maximum depth then f(s) else f(s) MAX(f(n),g(s)+h(s)) if all of ns successors have been generated then update ns f-cost and those of its ancestors if necessary if SUCCESSORS(n) all in memory then remove n from Queue if memory is full then delete shallowest, highest-f-cost node in Queue remove it from its parents successor list insert its parent on Queue if necessary insert s in Queue end

35 Simple Memory-bounded A* (SMA*) 24+0=24 A BG CD EF H J I K 0+12= = = = = =30 8+5= = =2424+5= A 12 A B 15 A BG H A G 18 13[15] A G 24[ ] I 15[15] 24 A BG A B C 15[24] f = g+h (Exemple avec une mémoire de 3 nœuds) A B D [24] 20[ ] Progress of SMA*. Each node is labeled with its current f-cost. Values in parentheses show the value of the best forgotten descendant. Algorithm can tell you when best solution found within memory constraint is optimal or not. = goal Search space

36 Algorithmes de recherche locale Dans beaucoup de problèmes doptimisation, le chemin pour arriver au but nest pas pertinente. Tout ce qui importe est létat solution lui-même. Espace détats = ensemble complet de configurations Trouver une configuration qui satisfait les contraintes e.g., n-reines Dans ce cas, on utilise des algorithmes de recherche locale Principe: Garder un seul état, et tenter de laméliorer

37 Exemple: n-reines Mettre n reines dans un échiquier n × n sans que les reines sattaquent départ état suivant …

38 Recherche Hill-climbing Comme grimper lEverest dans un brouillard épais avec amnésie

39 Hill-climbing Problème: Selon le point de départ, peut être coincé à un maximum local

40 Hill-climbing : problème de 8-reines h = nombre de paires de reines qui sattaquent h = 17 pour la configuration montrée

41 Hill-climbing : problème de 8-reines Un minimum local, avec h = 1

42 Recherche avec recuit simulé (Simulated annealing) Idée: échapper le maximum local en permettant daller à une moins bonne place, mais graduellement diminuer la probabilité (fréquence) de faire ceci

43 Propriétés du recuit simulé On peut prouver que: si T diminue suffisamment lentement, alors le recuit simulé va trouver loptimum global avec une probabilité proche de 1 –Plus T diminue lentement, plus cest probable de trouver la solution optimale –Et si T ne diminue pas? Largement utilisé pour corriger le problème de recherche locale (VLSI layout, airline scheduling, etc)

44 Simulated Annealing T= 100 – t*5 Probability > 0.9 Solution Quality The schedule determines the rate at which the temperature is lowered If the schedule lowers T slowly enough, the algorithm will find a global optimum High temperature T is characterized by a large portion of accepted uphill moves whereas at low temperature only downhill moves are accepted => If a suitable annealing schedule is chosen, simulated annealing has been found capable of finding a good solution, though this is not guaranteed to be the absolute minimum.

45 Recherche locale en faisceau (Beam search) Garder k états candidats plutôt quun seul Commencer avec k états aléatoires À chaque itération, tous les successeurs de k états sont générés Si un deux est un état but, arrêt; sinon sélectionner k meilleurs successeurs à partir de la liste et répéter le processus

46 Beam Search Overcomes storage complexity of Best-First-Search Maintains the k best nodes in the fringe of the search tree (sorted by the heuristic function) When k = 1, Beam search is equivalent to Hill- Climbing When k is infinite, Beam search is equivalent to Best- First-Search If you add a check to avoid repeated states, memory requirement remains high Incomplete, search may delete the path to the solution.

47 Search Performance Heuristic 1: Tiles out of place Heuristic 2: Manhattan distance => Choice of heuristic is critical to heuristic search algorithm performance. h1 = 7 h2 = = Square

48 Algorithmes génétiques Un successeur est généré en combinant les deux états parents Commencer avec k états générés aléatoirement (population) Un état esr représenté comme une chaîne sur un alphabet infini (souvent une chaîne de 0 et 1) Fonction dévaluation (fitness function). Valeur plus grande pour de meilleurs états Produire la prochaine génération détats avec les opérations de sélection, croisement et mutation –Sélection: choisir entre les 2 parent –Croisement: combiner les caractéristiques des parents –Mutation: modifier certaine caractéristique

49 Algorithme génétique

50 Algorithmes génétiques Fonction de Fitness : nb. de paires de reines qui ne sattaquent pas (min = 0, max = 8 × 7/2 = 28) Probabilité de sélection –24/( ) = 31% –23/( ) = 29% etc

51 Exemple de croisement

52 Résumé Informée = heuristique pour évaluer la qualité de nœud Qualité de lheuristique –Admissible optimale –Proche du coût réel Imaginer des heuristiques par relaxation du problème Définir des heuristiques selon lexpérience (pas nécessairement admissibles) 2 classes de problèmes –Trouver le chemin –Trouver la configuration finale (recherche locale) Recherche offline –Question: recherche online?


Télécharger ppt "Algorithmes de recherche informés (heuristiques) Chap. 4."

Présentations similaires


Annonces Google