You are on page 1of 20

n de Problemas mediante Bu squeda Resolucio

Tema 3

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

Tema 3

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

Introducci on
Los agentes reejos 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

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, denir los estados objetivo y los factores que pueden inuir 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

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

ejemplo: hallar rutas en Ruman a (cont.)


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

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: 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 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 desconocido) ; 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??


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}, 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??

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

Tema 3

10

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 modican el estado (otra descripci on posible es una funci on sucesor S (x)) ambos denen 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 denido 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 a una ruta que lleve de Arad a Bucharest, p.e. Una soluci on ser 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

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
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 angulos de las articulaciones del robot piezas del objeto a ensamblar operadores??: movimientos continuos de las articulaciones del robot test de objetivo??: ensamblado completo on coste del camino??: tiempo de ejecuci

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

ejemplo de b usqueda general


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 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
parent

arbol de b usqueda: notar que estado = nodo del


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

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 denida por el orden en que se expanden los nodos Vamos a evaluar las estrategias seg un cuatro aspectos: on si existe una? Completitudgarantiza encontrar una soluci Complejidad temporalcu antos nodos deben expandirse? antos nodos deben almacenarse en Complejidad espacialcu memoria? Optimalidadgarantiza encontrar la mejor soluci on (la de menor coste) si existen varias? Las complejidades temporal y espacial se miden en t erminos de bm aximo factor de ramicaci on del arbol de b usqueda dprofundidad de la soluci on de menor coste mprofundidad 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

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 denici 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 nal de la cola, Enqueue-At-End
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 b usqueda primero en anchura: , si b es nito Completa?? S 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 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 a con costes de operador en km


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

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 b usqueda de coste uniforme: Completa?? S on optima Tiempo?? num. de nodos con g (n) coste de la soluci Espacio?? num. de nodos con g (n) coste de la soluci on optima , si se cumple que g (Sucesor(n)) g (n) Optima?? S 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

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
Arad

Zerind

Sibiu

Timisoara

Arad

Oradea

Zerind

Sibiu

Timisoara

notar que la b usqueda puede caer en caminos c clicos innitos ; necesita espacios de b usqueda nitos, 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 nitos 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

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 profundidad l no tiene sucesores Propiedades de la b usqueda limitada en profundidad: , si se cumple que l d Completa?? S 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 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 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


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 usqueda por profundizaci on iterativa l = 2


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 b usqueda por profundizaci on iterativa combina ventajas: como la b usqueda primero en anchura, es completa y o ptima 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

B usqueda bidireccional
= b usqueda simult anea que avanza desde el estado inicial y retrocede desde el objetivo

Start

Goal

Implementaci on: complicada! Ser a necesario: denir 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 eciente 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 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

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 innitos Evitar la repetici on de estados puede mejorar mucho la eciencia, sea el arbol de b usqueda innito o no Existen tres formas de tratar los estados repetidos: para no deshacer la u ltima operaci on, modicar Expand para que 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

You might also like