142519821 resolucion-de-problemas-mediante-busqueda-pdf

243 views

Published on

egweg34g34g34

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
243
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

142519821 resolucion-de-problemas-mediante-busqueda-pdf

  1. 1. Resoluci´on de Problemas mediante B´usqueda Tema 3 Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 1 Esquema ♦ Introducci´on ♦ Agentes para la resoluci´on de problemas ♦ Formulaci´on de problemas ♦ Problemas ejemplo ♦ B´usqueda de soluciones ♦ Estrategias b´asicas de b´usqueda - b´usqueda primero en anchura - b´usqueda de coste uniforme - b´usqueda primero en profundidad - b´usqueda limitada en profundidad - b´usqueda por profundizaci´on iterativa - b´usqueda bidireccional Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 2
  2. 2. Introducci´on Los agentes reflejos simples tienen muchas limitaciones Vamos a ver un tipo de agente basado en objetivos: agentes para la resoluci´on de problemas Los agentes para la resoluci´on de problemas funcionan buscando secuencias de acciones que conduzcan a estados deseados Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 3 Agentes para la resoluci´on de problemas Los agentes inteligentes deben actuar de forma que se maximice su medida del desempe˜no ; introducci´on de objetivos Los objetivos ayudan a dirigir el comportamiento del agente limitando las acciones que intenta realizar Las etapas de la resoluci´on de problemas con objetivos: 1. Formulaci´on de objetivos: a partir de la situaci´on actual, definir los estados objetivo y los factores que pueden influir en el grado de satisfacci´on de las distintas maneras de conseguirlo 2. Formulaci´on del problema: decidir qu´e acciones y estados considerar 3. B´usqueda: decidir qu´e hacer examinando diferentes secuencias de acciones que llevan a estados objetivo y escogiendo la mejor 4. Ejecuci´on: ejecutar las acciones recomendadas Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 4
  3. 3. ejemplo: hallar rutas en Ruman´ıa Estamos de vacaciones en Ruman´ıa, concretamente en Arad Nuestro vuelo sale ma˜nana de Bucharest Formulaci´on de objetivos: estar en Bucharest Formulaci´on del problema: estados: distintas ciudades acciones: conducir entre ciudades Encontrar soluci´on: secuencia de ciudades, p.e. Arad, Sibiu, Fagaras, Bucharest Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 5 ejemplo: hallar rutas en Ruman´ıa (cont.) Giurgiu Urziceni Hirsova Eforie Neamt Oradea Zerind Arad Timisoara Lugoj Mehadia Dobreta Craiova Sibiu Fagaras Pitesti Vaslui Iasi Rimnicu Vilcea Bucharest Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 6
  4. 4. La estructura de un agente simple para la resoluci´on de problemas: function SIMPLE-PROBLEM-SOLVING-AGENT(p) returns an action inputs: p, a percept static: s, an action sequence, initially empty state, some description of the current world state g, a goal, initially null problem, a problem formulation state   UPDATE-STATE(state,p) if s is empty then g   FORMULATE-GOAL(state) problem   FORMULATE-PROBLEM(state,g) s   SEARCH( problem) action   RECOMMENDATION(s,state) s   REMAINDER(s,state) return action Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 7 Formulaci´on de problemas Distintos tipos de problemas determinados por el conocimiento que el agente tiene de los efectos de sus acciones y del estado en que se encuentra Ejemplo : “mundo del aspirador” el mundo tiene dos posiciones. en las posiciones del mundo puede haber o no suciedad. el agente est´a en una u otra posici´on. las acciones que puede realizar el agente son: Left (izquierda), Right (derecha) y Suck (aspirar). el objetivo es limpiar toda la suciedad, que equivale al conjunto de estados {7, 8}. 1 2 3 4 5 6 7 8 Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 8
  5. 5. Tipos de problemas seg´un el conocimiento del agente: 1. Si conoce sus acciones y el estado actual (entorno determinista y accesible) ; problema de un solo estado (single-state problem) 2. Si conoce sus acciones pero no el estado actual (entorno determinista e inaccesible) ; problema de conjuntos de estados (multiple-state problem) 3. Si su conocimiento sobre acciones y estado actual es incompleto (entorno no determinista e inaccesible) ; problema de contingencia: utilizar la percepci´on durante la ejecuci´on calcular un ´arbol de acciones cuyas ramas tratan distintos casos 4. Si desconoce completamente sus acciones (espacio de estados descono- cido) ; problema de exploraci´on: experimentar y descubrir informaci´on sobre acciones y estados Los problemas de un solo estado y de conjuntos de estados se pueden resolver mediante las estrategias de b´usqueda de este tema Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 9 ejemplo: “mundo del aspirador” 1. Un solo estado: a partir de 5, Soluci´on?? 2. Conjuntos de estados: a partir de {1, 2, 3, 4, 5, 6, 7, 8} y usando p.e. Right resulta en {2, 4, 6, 8}, Soluci´on?? 3. Contingencia, a partir de 5 y con: Ley de Murphy: Suck puede ensuciar Sensor de posici´on y sensor local de suciedad Soluci´on?? 1 2 3 4 5 6 7 8 Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 10
  6. 6. Formulaci´on de problemas de un solo estado Un problema es el conjunto de informaci´on que el agente usa como entrada a su proceso de decisi´on, e incluye: • estado inicial • operadores: descripci´on de las acciones que puede realizar el agente en t´erminos de c´omo modifican el estado (otra descripci´on posible es una funci´on sucesor S(x)) → ambos definen el espacio de estados, o conjunto de estados a los que se puede llegar desde el estado inicial a trav´es de cualquier secuencia de operadores. Un camino en dicho espacio ser´a una secuencia de operadores. • test de objetivo: descripci´on de los estados objetivo, expl´ıcita o no • coste del camino: funci´on equivalente a la suma del coste de las acciones del camino (se suele denotar g(x)) Una soluci´on es un camino que conduce del estado inicial a un estado que satisface el test de objetivo Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 11 ejemplo: hallar rutas en Ruman´ıa El problema puede estar definido por: • estado inicial, p.e. “en Arad” • operadores, operadores que lleven de una ciudad a otra seg´un el mapa, p.e. Arad → Zerind, Arad → Sibiu, etc • test de objetivo, expl´ıcito, p.e. x = “en Bucharest” • coste del camino, n´umero de etapas del viaje Una soluci´on ser´ıa una ruta que lleve de Arad a Bucharest, p.e. Arad → Sibiu → Rimnicu Vilcea → Pitesti → Bucharest La formulaci´on de problemas de conjuntos de estados se realiza de manera similar Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 12
  7. 7. La elecci´on del espacio de estados (conjunto de estados y operadores) es fundamental para la resoluci´on de problemas El mundo real es muy complejo ; es necesario realizar una abstracci´on para omitir los detalles irrelevantes Mediante la abstracci´on del espacio de estados: estado = conjunto de estados reales operador = combinaci´on de acciones reales, p.e. Arad → Zerind representa una combinaci´on compleja de carreteras alternativas, desv´ıos, paradas, etc soluci´on = conjunto de caminos reales que son soluciones en el mundo real Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 13 Problemas ejemplo Los problemas reales pueden formularse como hemos visto despu´es de una etapa de an´alisis ejemplo: el puzzle de las 8 piezas Start State Goal State 2 45 6 7 8 1 2 3 4 67 81 23 45 6 7 81 23 45 6 7 8 5 estados??: posiciones de las piezas y del hueco operadores??: llevar el hueco a iquierda, derecha, arriba o abajo test de objetivo??: = goal state, el estado objetivo predefinido coste del camino??: 1 por movimiento Nota: la familia de problemas de los “puzzles de las n piezas” es NP-completa Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 14
  8. 8. ejemplo: espacio de estados del “mundo del aspirador” R L S S S S R L R L R L S SS S L L LL R R R R estados??: posiciones de la suciedad y del robot operadores??: Left, Right, Suck test de objetivo??: NoDirt(x) coste del camino??: 1 por operador Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 15 ejemplo: espacio de estados del “mundo del aspirador” (cont.) L R L R S L R S S S S R L S S L R R L R L Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 16
  9. 9. ejemplo: ensamblado con robots R RR P R R estados??: coordenadas reales de los ´angulos de las articulaciones del robot piezas del objeto a ensamblar operadores??: movimientos continuos de las articulaciones del robot test de objetivo??: ensamblado completo coste del camino??: tiempo de ejecuci´on Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 17 B´usqueda de soluciones La idea b´asica es explorar el espacio de estados a partir del estado inicial, a trav´es de secuencias parciales de soluciones: si el estado actual no es objetivo, consideraremos otros estados sucesores (expansi´on del estado), y as´ı sucesivamente Para decidir qu´e estado expandir y cu´ales dejar para su estudio posterior: estrategia de b´usqueda El proceso de b´usqueda la construcci´on de un ´arbol de b´usqueda: function GENERAL-SEARCH( problem,strategy) returns a solution, or failure initialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end notar que espacio de estados = ´arbol de b´usqueda Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 18
  10. 10. ejemplo de b´usqueda general Sibiu Bucharest Arad Oradea Rimnicu VilceaFagaras Zerind Sibiu Timisoara Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 19 La estructura de datos para los nodos del ´arbol de b´usqueda incluir´a: • estado del espacio de estados con el que se corresponde • nodo padre cuya expansi´on gener´o el nodo • operador que fu´e aplicado en la expansi´on • profundidad del nodo desde la ra´ız • coste del camino desde la ra´ız hasta el nodo notar que estado = nodo del ´arbol de b´usqueda: 1 23 45 6 7 81 23 45 6 7 8 State Node parent depth = 6 g = 6 children state La estructura de datos para el conjunto de nodos pendientes de expansi´on ser´a una cola Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 20
  11. 11. El algoritmo de b´usqueda general: function GENERAL-SEARCH( problem,QUEUING-FN) returns a solution, or failure nodes   MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop do if nodes is empty then return failure node   REMOVE-FRONT(nodes) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node nodes   QUEUING-FN(nodes,EXPAND(node,OPERATORS[problem])) end donde Expand crea nuevos nodos y asigna valores a sus campos, utilizando los operadores o la funci´on sucesor para generar los estados correspondientes Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 21 Estrategias b´asicas de b´usqueda Una estrategia queda definida por el orden en que se expanden los nodos Vamos a evaluar las estrategias seg´un cuatro aspectos: Completitud—¿garantiza encontrar una soluci´on si existe una? Complejidad temporal—¿cu´antos nodos deben expandirse? Complejidad espacial—¿cu´antos nodos deben almacenarse en memoria? Optimalidad—¿garantiza encontrar la mejor soluci´on (la de menor coste) si existen varias? Las complejidades temporal y espacial se miden en t´erminos de b—m´aximo factor de ramificaci´on del ´arbol de b´usqueda d—profundidad de la soluci´on de menor coste m—profundidad m´axima del espacio de estados (puede ser ∞) Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 22
  12. 12. Vamos a ver estrategias que se denominan de b´usqueda no informada (uninformed search) o de b´usqueda ciega porque s´olo usan la informaci´on de la definici´on del problema: - b´usqueda primero en anchura - b´usqueda de coste uniforme - b´usqueda primero en profundidad - b´usqueda limitada en profundidad - b´usqueda por profundizaci´on iterativa - b´usqueda bidireccional Contrastan con las estrategias de b´usqueda informada (informed search) o de b´usqueda heur´ıstica que utilizan informaci´on del coste del estado actual al objetivo Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 23 B´usqueda primero en anchura Expande primero los nodos no expandidos menos profundos Implementaci´on: QueueingFn = a˜nadir al final de la cola, Enqueue-At-End Arad Oradea Rimnicu VilceaFagaras Arad LugojArad Oradea Zerind Sibiu Timisoara Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 24
  13. 13. Propiedades de la b´usqueda primero en anchura: Completa?? S´ı, si b es finito Tiempo?? 1 + b + b2 + b3 + . . . + bd = O(bd ), o sea, exponencial con d Espacio?? O(bd ) (se deben almacenar todos los nodos en memoria) Optima?? S´ı, si el coste por operador es 1; no es ´optima en general El coste espacial es el mayor problema: Depth Nodes Time Memory 0 1 1 millisecond 100 bytes 2 111 .1 seconds 11 kilobytes 4 11,111 11 seconds 1 megabyte 6 106 18 minutes 111 megabytes 8 108 31 hours 11 gigabytes 10 1010 128 days 1 terabyte 12 1012 35 years 111 terabytes 14 1014 3500 years 11,111 terabytes Nota: se ha supuesto b=10, 1000 nodos/seg y 100 bytes/nodo. Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 25 ejemplo: mapa de Ruman´ıa con costes de operador en km Bucharest Giurgiu Urziceni Hirsova Eforie Neamt Oradea Zerind Arad Timisoara Lugoj Mehadia Dobreta Craiova Sibiu Fagaras Pitesti Rimnicu Vilcea Vaslui Iasi Straight−line distance to Bucharest 0 160 242 161 77 151 241 366 193 178 253 329 80 199 244 380 226 234 374 98 Giurgiu Urziceni Hirsova Eforie Neamt Oradea Zerind Arad Timisoara Lugoj Mehadia Dobreta Craiova Sibiu Fagaras Pitesti Vaslui Iasi Rimnicu Vilcea Bucharest 71 75 118 111 70 75 120 151 140 99 80 97 101 211 138 146 85 90 98 142 92 87 86 Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 26
  14. 14. B´usqueda de coste uniforme Expande primero los nodos no expandidos con menor coste de camino Implementaci´on: QueueingFn = insertar en la cola en orden de coste creciente Arad Lugoj 118 111 Arad Oradea 75 71 Zerind Sibiu Timisoara 75 140 118 Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 27 Propiedades de la b´usqueda de coste uniforme: Completa?? S´ı Tiempo?? num. de nodos con g(n) ≤ coste de la soluci´on ´optima Espacio?? num. de nodos con g(n) ≤ coste de la soluci´on ´optima Optima?? S´ı, si se cumple que g(Sucesor(n)) ≥ g(n) La b´usqueda primero en anchura es una b´usqueda de coste uniforme en la que g(n) = Profundidad(n) Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 28
  15. 15. B´usqueda primero en profundidad Expande primero los nodos no expandidos mas profundos Implementaci´on: QueueingFn = a˜nadir al principio de la cola, Enqueue-At-Front Zerind Sibiu Timisoara Arad Oradea Zerind Sibiu Timisoara Arad notar que la b´usqueda puede caer en caminos c´ıclicos infinitos ; necesita espacios de b´usqueda finitos, sin bucles (o evitar espacios repetidos) Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 29 Propiedades de la b´usqueda primero en profundidad: Completa?? No: falla en espacios de profundidad ∞, con bucles ; evitar espacios repetidos a lo largo de un camino: completa en espacios finitos Tiempo?? O(bm ): terrible si m es mucho mayor que d si hay muchas soluciones puede ser mucho mas r´apida que la b´usqueda primero en anchura Espacio?? O(bm), o sea, ¡lineal! Optima?? No Esta estrategia debe evitarse cuando el espacio de b´usqueda tiene una profundidad muy grande o incluso ∞ Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 30
  16. 16. B´usqueda limitada en profundidad = b´usqueda primero en profundidad con l´ımite de profundidad l Implementaci´on: como la b´usqueda primero en profundidad, excepto que los nodos de profun- didad l no tiene sucesores Propiedades de la b´usqueda limitada en profundidad: Completa?? S´ı, si se cumple que l ≥ d Tiempo?? O(bl ) Espacio?? O(bl) Optima?? No Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 31 B´usqueda por profundizaci´on iterativa Resuelve el problema de la elecci´on del l´ımite de profundidad l Implementaci´on: function ITERATIVE-DEEPENING-SEARCH( problem) returns a solution sequence inputs: problem, a problem for depth   0 to ¡ do if DEPTH-LIMITED-SEARCH(problem,depth) succeeds then return its result end return failure Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 32
  17. 17. B´usqueda por profundizaci´on iterativa l = 0 Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 33 B´usqueda por profundizaci´on iterativa l = 1 Zerind Sibiu Timisoara Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 34
  18. 18. B´usqueda por profundizaci´on iterativa l = 2 Arad LugojArad Oradea Rimnicu VilceaFagarasArad Oradea Zerind Sibiu Timisoara Arad Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 35 La b´usqueda por profundizaci´on iterativa combina ventajas: como la b´usqueda primero en anchura, es completa y ´optima como la b´usqueda primero en profundidad, requiere poca memoria expande los nodos como la b´usqueda primero en anchura, aunque algunos varias veces Sus propiedades: Completa?? S´ı Tiempo?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd ) Espacio?? O(bd) Optima?? S´ı, si el coste por operador es 1 Esta estrategia debe aplicarse a cuando el espacio de b´usqueda es grande y se desconoce la profundidad de la soluci´on Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 36
  19. 19. B´usqueda bidireccional = b´usqueda simult´anea que avanza desde el estado inicial y retrocede desde el objetivo GoalStart Implementaci´on: ¡complicada! Ser´a necesario: definir sucesores y tambi´en predecesores decidir c´omo enfocar las descripciones no expl´ıcitas de objetivos decidir qu´e tipo de b´usqueda realizar en cada direcci´on contar con un procedimiento eficiente para comprobar la existencia de nodos en la otra direcci´on de la b´usqueda Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 37 Propiedades de la b´usqueda bidireccional: Completa?? S´ı Tiempo?? O(2bd/2 ) = O(bd/2 ) Espacio?? O(2bd/2 ) = O(bd/2 ) Optima?? S´ı Comparaci´on de las estrategias b´asicas de b´usqueda Criterion Breadth- Uniform- Depth- Depth- Iterative Bidirectional First Cost First Limited Deepening (if applicable) Time bd bd bm bl bd bd/2 Space bd bd bm bl bd bd/2 Optimal? Yes Yes No No Yes Yes Complete? Yes Yes No Yes, if l   d Yes Yes Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 38
  20. 20. Implementaci´on: c´omo evitar estados repetidos En algunos problemas existe la posibilidad de expandir estados que ya han sido expandidos, son problemas con operadores “reversibles” ´arboles de b´usqueda infinitos Evitar la repetici´on de estados puede mejorar mucho la eficiencia, sea el ´arbol de b´usqueda infinito o no Existen tres formas de tratar los estados repetidos: para no deshacer la ´ultima operaci´on, modificar Expand para que no genere un sucesor con un estado igual al del padre para no obtener caminos con bucles, modificar Expand para que no genere un sucesor con un estado igual al de cualquiera de los ancestros modificar Expand para que no genere un sucesor con un estado ya explorado Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 39

×