Está en la página 1de 20

Resolucion de Problemas mediante Busqueda

Tema 3

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

Esquema
Introduccin o Agentes para la resolucin de problemas o Formulacin de problemas o Problemas ejemplo Bsqueda de soluciones u Estrategias bsicas de bsqueda a u - bsqueda primero en anchura u - bsqueda de coste uniforme u - bsqueda primero en profundidad u - bsqueda limitada en profundidad u - bsqueda por profundizacin iterativa u o - bsqueda bidireccional u

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

Introduccin o
Los agentes reejos simples tienen muchas limitaciones Vamos a ver un tipo de agente basado en objetivos: agentes para la resolucin de problemas o Los agentes para la resolucin de problemas funcionan buscando secuencias o 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

Agentes para la resolucin de problemas o


Los agentes inteligentes deben actuar de forma que se maximice su medida del desempeo ; introduccin de objetivos n o Los objetivos ayudan a dirigir el comportamiento del agente limitando las acciones que intenta realizar Las etapas de la resolucin de problemas con objetivos: o 1. Formulacin de objetivos: a partir de la situacin actual, denir los estados o o objetivo y los factores que pueden inuir en el grado de satisfaccin o de las distintas maneras de conseguirlo 2. Formulacin del problema: decidir qu acciones y estados considerar o e 3. Bsqueda: decidir qu hacer examinando diferentes secuencias de acciones u e que llevan a estados objetivo y escogiendo la mejor 4. Ejecucin: ejecutar las acciones recomendadas o

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

ejemplo: hallar rutas en Ruman a Estamos de vacaciones en Ruman concretamente en Arad a, Nuestro vuelo sale maana de Bucharest n Formulacin de objetivos: o estar en Bucharest Formulacin del problema: o estados: distintas ciudades acciones: conducir entre ciudades Encontrar solucin: o 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

ejemplo: hallar rutas en Ruman (cont.) a


Oradea Neamt Zerind Iasi Arad Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea

Lugoj

Pitesti Hirsova

Mehadia

Urziceni Bucharest

Dobreta Craiova Giurgiu Eforie

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

La estructura de un agente simple para la resolucin de problemas: o


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

Formulacin de problemas o
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 en una u otra posicin. a o las acciones que puede realizar el agente son: Lef t (izquierda), Right (derecha) y Suck (aspirar). el objetivo es limpiar toda la suciedad, que equivale al conjunto de estados {7, 8}.
1 2

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

Tipos de problemas segn el conocimiento del agente: u 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 percepcin durante la ejecucin o o calcular un rbol de acciones cuyas ramas tratan distintos casos a 4. Si desconoce completamente sus acciones (espacio de estados desconocido) ; problema de exploracin: o experimentar y descubrir informacin sobre acciones y estados o Los problemas de un solo estado y de conjuntos de estados se pueden resolver mediante las estrategias de bsqueda de este tema u
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, Solucin?? o


1 2

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}, Solucin?? o 3. Contingencia, a partir de 5 y con: Ley de Murphy: Suck puede ensuciar Sensor de posicin y sensor local de suciedad o Solucin?? o

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

10

Formulacin de problemas de un solo estado o


Un problema es el conjunto de informacin que el agente usa como entrada o a su proceso de decisin, e incluye: o estado inicial operadores: descripcin de las acciones que puede realizar el agente o en trminos de cmo modican el estado (otra descripcin posible es una e o o funcin sucesor S(x)) o ambos denen el espacio de estados, o conjunto de estados a los que se puede llegar desde el estado inicial a travs de cualquier secuencia de e operadores. Un camino en dicho espacio ser una secuencia de operadores. a test de objetivo: descripcin de los estados objetivo, expl o cita o no coste del camino: funcin equivalente a la suma del coste de las acciones o del camino (se suele denotar g(x)) Una solucin es un camino que conduce del estado inicial a un estado que o 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 denido por: estado inicial, p.e. en Arad operadores, operadores que lleven de una ciudad a otra segn el mapa, u p.e. Arad Zerind, Arad Sibiu, etc test de objetivo, expl cito, p.e. x = en Bucharest coste del camino, nmero de etapas del viaje u a Una solucin ser una ruta que lleve de Arad a Bucharest, p.e. o Arad Sibiu Rimnicu Vilcea Pitesti Bucharest La formulacin de problemas de conjuntos de estados se realiza de manera o similar

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

12

La eleccin del espacio de estados (conjunto de estados y operadores) es o fundamental para la resolucin de problemas o El mundo real es muy complejo ; es necesario realizar una abstraccin o para omitir los detalles irrelevantes Mediante la abstraccin del espacio de estados: o estado = conjunto de estados reales operador = combinacin de acciones reales, p.e. Arad Zerind o representa una combinacin compleja de carreteras alternativas, o desv paradas, etc os, solucin = o 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 despus de una e etapa de anlisis a ejemplo: el puzzle de las 8 piezas
5 6 7 4 1 3
Start State

5 1 8 8 2 2 6 8 7

4 2

3 8 4

6
Goal State

2 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 predenido 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

ejemplo: espacio de estados del mundo del aspirador


R L L S R L L S S R L L S S R S S R L L S R R R

estados??: posiciones de la suciedad y del robot operadores??: Lef t, Right, Suck test de objetivo??: N oDirt(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 L S

R L

L R

S R L

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

16

ejemplo: ensamblado con robots


P R R R R

estados??: coordenadas reales de los ngulos de las articulaciones del robot a piezas del objeto a ensamblar operadores??: movimientos continuos de las articulaciones del robot test de objetivo??: ensamblado completo o coste del camino??: tiempo de ejecucin

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

17

B squeda de soluciones u
La idea bsica es explorar el espacio de estados a partir del estado inicial, a a travs de secuencias parciales de soluciones: e si el estado actual no es objetivo, consideraremos otros estados sucesores (expansin del estado), y as sucesivamente o Para decidir qu estado expandir y cules dejar para su estudio posterior: e a estrategia de bsqueda u El proceso de bsqueda u la construccin de un rbol de bsqueda: o a u

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 = rbol de bsqueda a u


Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 18

ejemplo de b squeda general u


Arad

Zerind

Sibiu

Timisoara

Arad

Oradea

Fagaras

Rimnicu Vilcea

Sibiu

Bucharest

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 rbol de bsqueda incluir: a u a estado del espacio de estados con el que se corresponde nodo padre cuya expansin gener el nodo o o operador que fu aplicado en la expansin e o profundidad del nodo desde la ra z coste del camino desde la ra hasta el nodo z
parent

a u notar que estado = nodo del rbol de bsqueda:


depth = 6 g=6
6 7 1 3 8 8 2 2

State

Node

state

children

La estructura de datos para el conjunto de nodos pendientes de expansin o ser una cola a
Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 20

El algoritmo de bsqueda general: u


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 funcin sucesor para generar los estados correspondientes o

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

21

Estrategias bsicas de b squeda a u


Una estrategia queda denida por el orden en que se expanden los nodos Vamos a evaluar las estrategias segn cuatro aspectos: u o Completitudgarantiza encontrar una solucin si existe una? Complejidad temporalcuntos nodos deben expandirse? a a Complejidad espacialcuntos nodos deben almacenarse en memoria? Optimalidadgarantiza encontrar la mejor solucin (la de menor o coste) si existen varias? Las complejidades temporal y espacial se miden en trminos de e bmximo factor de ramicacin del rbol de bsqueda a o a u dprofundidad de la solucin de menor coste o mprofundidad mxima del espacio de estados (puede ser ) a

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

22

Vamos a ver estrategias que se denominan de bsqueda no informada u (uninformed search) o de bsqueda ciega porque slo usan la informacin u o o de la denicin del problema: o - bsqueda primero en anchura u - bsqueda de coste uniforme u - bsqueda primero en profundidad u - bsqueda limitada en profundidad u - bsqueda por profundizacin iterativa u o - bsqueda bidireccional u Contrastan con las estrategias de bsqueda informada (informed search) u o de bsqueda heurstica que utilizan informacin del coste del estado actual u o al objetivo

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

23

B squeda primero en anchura u


Expande primero los nodos no expandidos menos profundos Implementacin: o QueueingFn = aadir al nal de la cola, Enqueue-At-End n
Arad

Zerind

Sibiu

Timisoara

Arad

Oradea

Arad

Oradea

Fagaras

Rimnicu Vilcea

Arad

Lugoj

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

24

Propiedades de la bsqueda primero en anchura: u , Completa?? S si b es nito 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 ptima en general , o El coste espacial es el mayor problema:
Depth 0 2 4 6 8 10 12 14 Nodes 1 111 11,111 106 108 1010 1012 1014 1 .1 11 18 31 128 35 3500 Time millisecond seconds seconds minutes hours days years years Memory 100 11 1 111 11 1 111 11,111 bytes kilobytes megabyte megabytes gigabytes terabyte terabytes 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 con costes de operador en km a


71
Oradea Neamt

75
Arad

Zerind

151

87
Iasi

140
Sibiu

92 99
Fagaras Vaslui Rimnicu Vilcea

118 80
Timisoara

111 70

Lugoj

97 146

Pitesti

211

142 98

Mehadia

101 138

85

Hirsova

Urziceni

75
Dobreta

86
Bucharest

120
Craiova

90
Giurgiu Eforie

Straightline distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

26

B squeda de coste uniforme u


Expande primero los nodos no expandidos con menor coste de camino Implementacin: o QueueingFn = insertar en la cola en orden de coste creciente
Arad

75 Zerind

140 Sibiu

118 Timisoara

75 Arad Oradea

71

118 Arad

111

Lugoj

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

27

Propiedades de la bsqueda de coste uniforme: u Completa?? S o o Tiempo?? num. de nodos con g(n) coste de la solucin ptima Espacio?? num. de nodos con g(n) coste de la solucin ptima o o , Optima?? S si se cumple que g(Sucesor(n)) g(n) La bsqueda primero en anchura es una bsqueda de coste uniforme en la u u 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

B squeda primero en profundidad u


Expande primero los nodos no expandidos mas profundos Implementacin: o QueueingFn = aadir al principio de la cola, Enqueue-At-Front n
Arad

Zerind

Sibiu

Timisoara

Arad

Oradea

Zerind

Sibiu

Timisoara

notar que la bsqueda puede caer en caminos c u clicos innitos ; necesita espacios de bsqueda nitos, sin bucles (o evitar espacios repetidos) u
Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998) Tema 3 29

Propiedades de la bsqueda primero en profundidad: u Completa?? No: falla en espacios de profundidad , con bucles ; evitar espacios repetidos a lo largo de un camino: completa en espacios nitos Tiempo?? O(bm): terrible si m es mucho mayor que d si hay muchas soluciones puede ser mucho mas rpida que la bsqueda a u primero en anchura Espacio?? O(bm), o sea, lineal! Optima?? No Esta estrategia debe evitarse cuando el espacio de bsqueda tiene una u 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

B squeda limitada en profundidad u


= bsqueda primero en profundidad con l u mite de profundidad l Implementacin: o como la bsqueda primero en profundidad, excepto que los nodos de profunu didad l no tiene sucesores Propiedades de la bsqueda limitada en profundidad: u , 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 squeda por profundizacin iterativa u o


Resuelve el problema de la eleccin del l o mite de profundidad l Implementacin: o
function ITERATIVE-DEEPENING-SEARCH( problem) returns a solution sequence inputs: problem, a problem 0 to do for depth 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

B squeda por profundizacin iterativa l = 0 u o


Arad

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

33

B squeda por profundizacin iterativa l = 1 u o


Arad

Zerind

Sibiu

Timisoara

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

34

B squeda por profundizacin iterativa l = 2 u o


Arad

Zerind

Sibiu

Timisoara

Arad

Oradea

Arad

Oradea

Fagaras

Rimnicu Vilcea

Arad

Lugoj

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

35

La bsqueda por profundizacin iterativa combina ventajas: u o como la bsqueda primero en anchura, es completa y optima u como la bsqueda primero en profundidad, requiere poca memoria u expande los nodos como la bsqueda primero en anchura, aunque u 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 bsqueda es u grande y se desconoce la profundidad de la solucin o

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

36

B squeda bidireccional u
= bsqueda simultnea que avanza desde el estado inicial y retrocede desde u a el objetivo

Start

Goal

Implementacin: complicada! Ser necesario: o a denir sucesores y tambin predecesores e decidir cmo enfocar las descripciones no expl o citas de objetivos decidir qu tipo de bsqueda realizar en cada direccin e u o contar con un procedimiento eciente para comprobar la existencia de nodos en la otra direccin de la bsqueda o u

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

37

Propiedades de la bsqueda bidireccional: u Completa?? S Tiempo?? O(2bd/2) = O(bd/2) Espacio?? O(2bd/2) = O(bd/2) Optima?? S

Comparacin de las estrategias bsicas de bsqueda o a u


Criterion Time Space Optimal? Complete? BreadthFirst bd bd Yes Yes UniformCost bd bd Yes Yes DepthFirst bm bm No No DepthLimited bl bl No Yes, if l Iterative Deepening bd bd Yes Yes Bidirectional (if applicable) bd/2 bd/2 Yes Yes

Transparencias IA (F29) M.Marcos, 1999 (a partir de AIMA Slides c S.Russell & P.Norvig, 1998)

Tema 3

38

Implementacin: cmo evitar estados repetidos o o


En algunos problemas existe la posibilidad de expandir estados que ya han sido expandidos, son problemas con operadores reversibles rboles de bsqueda innitos a u Evitar la repeticin de estados puede mejorar mucho la eciencia, sea el rbol o a de bsqueda innito o no u Existen tres formas de tratar los estados repetidos: para no deshacer la ultima operacin, modicar Expand para que o no genere un sucesor con un estado igual al del padre para no obtener caminos con bucles, modicar Expand para que no genere un sucesor con un estado igual al de cualquiera de los ancestros modicar 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

También podría gustarte