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

Recherche non informée1 Résoudre des problèmes par la recherche dans lespace détats Chap. 3.

Présentations similaires


Présentation au sujet: "Recherche non informée1 Résoudre des problèmes par la recherche dans lespace détats Chap. 3."— Transcription de la présentation:

1 Recherche non informée1 Résoudre des problèmes par la recherche dans lespace détats Chap. 3

2 Recherche non informée2 Plan Agents pour résoudre des problèmes Types de problème Formulation de problème Problèmes exemples Algorithmes de recherche de base

3 Recherche non informée3 Agents pour résoudre des problèmes

4 Recherche non informée4 Exemple: Voyage en Roumanie En vacances en Roumanie; présentement à Arad. Lavion part demain de Bucharest Formuler le but : Être à Bucharest Formuler le problème : États: être à différentes villes actions: conduire entre les villes Trouver une solution: séquence de villes, e.g., Arad, Sibiu, Fagaras, Bucharest

5 Recherche non informée5 Exemple: Roumanie

6 Recherche non informée6 Types de problème Déterministe, complètement observable problème dun seul état Lagent sait exactement où il va, et la solution est une séquence Non-observable problème sans senseur (problème de conforme) Lagent na aucune idée où il se trouve, la solution est une séquence Non déterministe et/ou partiellement observable problème de contingence Les perçus fournissent de nouvelles informations sur létat courant Souvent mélange la recherche et lexécution Espace détats inconnu problème dexploration

7 Recherche non informée7 Exemple: Monde de laspirateur Seul état, commencer à #5. Solution?

8 Recherche non informée8 Exemple: Monde de laspirateur Seul état, commencer à #5. Solution? [Right, Suck]

9 Recherche non informée9 Exemple: Monde de laspirateur Seul état, commencer à #5. Solution? [Right, Suck] Sans senseur, commencer à {1,2,3,4,5,6,7,8} e.g., Right va à {2,4,6,8} Solution?

10 Recherche non informée10 Exemple: Monde de laspirateur Seul état, commencer à #5. Solution? [Right, Suck] Sans senseur, commencer à {1,2,3,4,5,6,7,8} e.g., Right va à {2,4,6,8} Solution? [Right,Suck,Left,Suck]

11 Recherche non informée11 Exemple: Monde de laspirateur Sans senseur, commencer à {1,2,3,4,5,6,7,8} e.g., Right va à {2,4,6,8} Solution? [Right,Suck,Left,Suck] Contingence Nondéterministe: Suck peut salir le tapis propre Partiellement observable: localisation, sale à lendroit courant. Perçu: [L, Clean], i.e., commencer à #5 ou#7 Solution?

12 Recherche non informée12 Exemple: Monde de laspirateur Sans senseur, commencer à {1,2,3,4,5,6,7,8} e.g., Right va à {2,4,6,8} Solution? [Right,Suck,Left,Suck] Contingence Nondéterministe: Suck peut salir le tapis propre Partiellement observable: localisation, sale à lendroit courant. Perçu: [L, Clean], i.e., commencer à #5 ou#7 Solution? [Right, if dirt then Suck]

13 Recherche non informée13 Formulation du problème à un seul état Un problème est défini par 4 éléments: 1. État initial e.g., être à Arad » (représenté par Arad) 2. Actions ou fonction de successeur S(x) = ensemble de paires daction-état e.g., S(Arad) = {, … } 3. Test de but, peut être explicite, e.g., x = être à Bucharest" implicite, e.g., Checkmate(x) 4. Coût de chemin (additive) e.g., somme de distances, nombre dactions exécutées, etc. c(x,a,y) est le coût détape, en supposant quil est 0 Une solution est une séquence dactions menant de létat initial à un état but

14 Recherche non informée14 Sélectionner un espace détats Le monde réel est trop complexe Un espace détats doit être plus abstrait (Abstrait) état = ensemble détats réels (Abstrait) action = combinaison complexe dactions réelles e.g., "Arad Zerind" représente un ensemble complexe de route, détours, pauses, etc. Pour garantir la faisabilité dans la réalité, chaque état réel être à Arad doit pouvoir aller à un certain état réel être à Zerind" (Abstrait) solution = Ensemble de chemins réels constituant une solution dans le monde réel Chaque action abstraite doit être plus facile que le problème originel

15 Recherche non informée15 Graphe despace détats états? actions? Test de but? Coût de chemin?

16 Recherche non informée16 Graphe despace détats états? indique la localisation de linspirateur et de saleté actions? Left, Right, Suck test de but? Pas de saleté dans toutes les localisations coût de chemin? 1 par action

17 Recherche non informée17 Exemple: The 8-puzzle états? actions? test de but? coût de chemin?

18 Recherche non informée18 Exemple: The 8-puzzle états? Localisation des tuiles actions? Bouger la case blanc vers gauche, droite, haut, bas Tests de but? = état de but (déjà donné) Coût de chemin? 1 par mouvement [Note: la solution optimale de famille de n-Puzzle est NP- difficile]

19 Espace pour 8-puzzle (un point de départ différent) Recherche non informée19

20 Recherche non informée20 Exemple: Robot assembleur états?: coordonnées et angles du robot, et de la pièce à assembler actions?: mouvements continus des joints du robot tests de but?: pièce assemblée complètement coût de chemin?: temps dexécution

21 Problème de 7 ponts de Königsberg (Kaliningrad en Russie) Faire le tour de la ville en prenant chaque pont une et une seule fois En 1735, Euler montra que cest impossible en utilisant la théorie de graphes et topologie. Recherche non informée21

22 Abstraction Recherche non informée22 Solution en théorie de graphes: Pour que ceci soit possible, chaque noeud doit avoir un degré pair.

23 Résoudre le problème avec recherche État: définit un état dans le voyage Position courante Point de départ Ponts visités But: position courante=point de départ Ponts visités = 7 ponts Actions: aller vers le prochain point relié par un pont si le pont nest pas déjà pris Coût: 1 par action (sans importance dans ce problème) Recherche non informée23

24 Résoudre le problème avec recherche Recherche non informée24

25 Recherche non informée25 Algorithmes de recherche dans larbre Idée de base: Offline: exploration simulée dans lespace détats en générant les états successeurs des états déjà explorés (a.k.a.~expansion/développement des états)

26 Recherche non informée26 Exemple de recherche dans larbre

27 Recherche non informée27 Exemple de recherche dans larbre

28 Recherche non informée28 Exemple de recherche dans larbre

29 Recherche non informée29 Implantation: recherche générale dans larbre

30 Quelques notions Frange (fringe): la frontière de lexploration = les noeuds candidats à considérer pour la prochaine étape Coût de chemin = ancien coût de chemin + nouvelle étape (additif) Recherche non informée30

31 Recherche non informée31 Implantation: état vs. noeud Un état est une représentation dune configuration physique Un noeud est une structure de données qui constitue une partie de larbre de recherche, y compris état, noeud parent, action, coût de chemin g(x), profondeur La fonction Expand crée de nouveaux noeuds, remplit des champs et utilise SuccessorFn du problème pour créer des états corespondants

32 Recherche non informée32 Stratégies de recherche Une stratégie de recherche est définie par lordre dexpansions (développements) de noeuds choisi Des stratégies sont évaluées selon: Complétude: est-ce quelle trouve toujours une solution si existe? Complexité en temps: nombre de noeuds générés Complexité en espace: nombre max. de noeuds en mémoire optimalité: est-ce quelle trouve toujours la solution la moins coûteuse (la plus courte)? Les complexités en temps et en espace sont mesurées en utilisant: b: facteur de branchement max. de larbre de recherche d: profondeur de la solution la moins coûteuse m: profondeur max. de larbre (peut être )

33 Recherche non informée33 Stratégies de recherche noninformées Stratégies de recherche non informées utilisent seulement des informations disponibles dans la définition du problème Utilisent la topologie de larbre Nutilisent pas des informations internes à létat (e.g. qualité de létat) Recherche en largeur dabord (Breadth-first search) Recherche de coût uniforme (Uniform-cost search) Recherche en profondeur dabord (Depth-first search) Recherche en profondeur limitée (Depth-limited search) Recherche en approfondissement itératif (Iterative deepening search) Différence: Comment les noeuds sont insérés et ordonnés dans la frange

34 Recherche non informée34 Recherche en largeur dabord Expansion du noeud le moins profond parmi les candidats Implantation: Frange (Fringe) est une queue FIFO queue, i.e., nouveaux sucesseurs sont mis à la fin

35 Recherche non informée35 Recherche en largeur dabord Expansion du noeud le moins profond parmi les candidats Implantation: Frange (Fringe) est une queue FIFO queue, i.e., nouveaux sucesseurs sont mis à la fin

36 Recherche non informée36 Recherche en largeur dabord Expansion du noeud le moins profond parmi les candidats Implantation: Frange (Fringe) est une queue FIFO queue, i.e., nouveaux sucesseurs sont mis à la fin

37 Recherche non informée37 Recherche en largeur dabord Expansion du noeud le moins profond parmi les candidats Implantation: Frange (Fringe) est une queue FIFO queue, i.e., nouveaux sucesseurs sont mis à la fin

38 Recherche non informée38 Propriétés de la recherche en largeur dabord Complète? Oui (si b est fini) Temps? 1+b+b 2 +b 3 +… +b d + b(b d -1) = O(b d+1 ) Espace? O(b d+1 ) (garde tous les noeuds en mémoire) Optimal? Oui (si coût = 1 par étape) Espace est le plus grand problème (plus que le temps)

39 Recherche non informée39 Recherche de coût uniforme Développer (expand) un noeud non-exploré le moins coûteux Implantation: frange = queue ordonnée par le coût de chemin Equivalent à largeur dabord si les coûts détape sont égaux Complète? Oui, si le coût détape ε Temps? # de noeuds avec g coût de la solutio optimale O(b ceiling(C*/ ε) ) où C * est le coût de la solution optimale Espace? # de noeuds avec g coût de la solutio optimale O(b ceiling(C*/ ε) ) Optimal? Oui – noeuds épandu dans lordre croissant de g(n)

40 Recherche non informée40 Recherche en profondeur dabord Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début

41 Recherche non informée41 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

42 Recherche non informée42 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

43 Recherche non informée43 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

44 Recherche non informée44 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

45 Recherche non informée45 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

46 Recherche non informée46 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

47 Recherche non informée47 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

48 Recherche non informée48 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

49 Recherche non informée49 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

50 Recherche non informée50 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

51 Recherche non informée51 Développer le noeud non exploré le plus profond Implantation: frange = queue LIFO, i.e., mettre les successeurs au début Recherche en profondeur dabord

52 Recherche non informée52 Propriétés de la recherche en prof. Complète? Non: échoue dans un espace avec profondeur infinie, avec boucles Modifier pour éviter de répéter les états sur le chemin complete dans un espace fini Temps? O(b m ): terrible si m est beaucoup plus grand que d Mais si les solutios sont denses, peut être plus rapide que largeur dabord Espace? O(bm), i.e., espace linéaire ! Optimal? Non

53 Une autre façon commune de définir les algorithmes Utiliser 2 listes Open: les candidats à explorés, ordonnés (frange) Closed: les noeuds déjà explorés Idée: Prendre le premier noeud de Open Développer le noeud (connaître les successeurs) Mettre le neoud dans Closed Insérer les successeurs dans Open À la fin (largeur dabord) Au début (profondeur dabord) Recherche non informée53

54 Exemple: largeur dabord open := [Start]; // Initialize closed := []; while open != [] { // While states remain remove the leftmost state from open, call it X; if X is a goal return success; // Success else { generate children of X; put X in closed; eliminate children of X on open or closed; // Avoid loops put remaining children on RIGHT END of open; // Queue } return failure; // Failure Recherche non informée54

55 Recherche non informée55 Recherche avec profondeur limitée = profondeur dabord avec la limite de profondeur l, i.e., nœuds à la profondeur l nont pas de successeurs Implantation récursive:

56 Recherche non informée56 Recherche en approfondissement itératif

57 Recherche non informée57 Recherche en approfondissement itératif l = 0

58 Recherche non informée58 Recherche en approfondissement itératif l = 1

59 Recherche non informée59 Recherche en approfondissement itératif l = 2

60 Recherche non informée60 Recherche en approfondissement itératif l = 3

61 Recherche non informée61 Nombre de noeuds générés à la limite de profondeur d avec le facteur de branchement b: N DLS = b 0 + b 1 + b 2 + … + b d-2 + b d-1 + b d Nombre de noeuds générés dans une recherche en approfondisement itératif à la profondeur d avec le facteur de branchement b: N IDS = (d+1)b 0 + d b^ 1 + (d-1)b^ 2 + … + 3b d-2 +2b d-1 + 1b d Pour b = 10, d = 5, N DLS = , , ,000 = 111,111 N IDS = , , ,000 = 123,456 Overhead = (123, ,111)/111,111 = 11% Recherche en approfondissement itératif

62 Recherche non informée62 Propriétés de la recherche en approfondissement itératif Complète? Oui Temps? (d+1)b 0 + d b 1 + (d-1)b 2 + … + b d = O(b d ) Espace? O(bd) Optimal? Oui, si le coût détape = 1

63 Recherche non informée63 Sommaire des algorithmes

64 Recherche non informée64 États répétés Échouer dans la détection des états répétés peut changer un problème linéaire en un problème exponentiel

65 Recherche non informée65 Recherche dans un graph Idée: Comparer avec les noeuds dans Closed pour éviter la répétition inutile Question: Est-ce quil y a des répétitions utiles? Comment gérer ça?

66 Lespace est un arbre ou un graphe? Problème de Königsberg Mais lespace détats nest pas le même graphe Les 3 états avec la position courante = rb1 sont différents Il est possible darrivr au même états par 2 chemins différents: i1,i1,[b2,b3] = i1,i1,[b3,b2] Recherche non informée66

67 Recherche bi-directionnelle Idée: explorer à partir de deux bouts et tenter de se rejoindre Pourquoi? Espace jusquà la profondeur d b d 2 espaces de profondeur d/2 = 2b d/2 2 prof. dabord? Au moins une des recherches fait une enveloppe complète (e.g. avec largeur dabord) Recherche non informée67

68 Recherche non informée68 Résumé La formulation du problème demande généralement une abstraction des détails dans le monde réel afin de définir un espace détats facile à explorer Forme de lespace détats peut être différente de la forme du problème (selon la définition détat) Une variété de stratégies de recherche non informées Chaque stratégie a ses propres propriétés (à choisir selon le problème/application) Algorithmes non informés = utilise seulement la topologie du graphe Recherche en approfondissement itératif utilise seulement un espace linéaire, et ne demande pas plus de temps que les autres algorithmes non informés

69 Exploration en ligne v.s. simulation en avance Jusquici, on suppose quon a certaines informations sur le problème en avance Espace détat Les successeurs Simulation en avance pour décider la solution Si on vous demande daller à un endroit dans une ville que vous ne connaissez pas, et sans carte, et que vous ne pouvez pas communiquer avec les gens locaux? Exploration en ligne Le chemin dexploration pour décider la solution = chemin de solution Problème différent: stratégie différente Recherche non informée69


Télécharger ppt "Recherche non informée1 Résoudre des problèmes par la recherche dans lespace détats Chap. 3."

Présentations similaires


Annonces Google