Sunteți pe pagina 1din 44

RESOLUCIN DE PROBLEMAS MEDIANTE BSQUEDAS

-Bsqueda No Informada (A Ciegas)

Agente Resolvente-Problemas
Los agentes reactivos, ya estudiados, basan sus acciones en la aplicacin directa desde los estados a las acciones. No pueden funcionar bien en entornos en los que la aplicacin sea demasiado grande para almacenarla. Estudiaremos los agentes basados en objetivos ( metas), tambin llamado Agente ResolventeProblemas

Agente Resolvente-Problemas
Deciden qu hacer para encontrar secuencia de acciones que conduzcan a los estados deseables. -Formulacin del Objetivo -Formulacin del Problema -Bsqueda -Solucin

-Ejecucin

Formulacin del Objetivo


Los objetivos ayudan a organizar el comportamiento, limitando las metas que debe alcanzar el agente. Ejemplo: Agente que est de viaje por una ciudad A. Los objetivos podran ser muchos: Tomar fotos, conocer lugares turisticos, conocer a los pobladores, etc, con lo cual las decisiones en cada momento son muy complejas. Ahora, supongamos que tiene un pasaje no reembolsable para viajar desde la ciudad B al da siguiente, entonces todas las acciones que no alcancen a B, se pueden rechazar, y el objetivo sera muy simple: Llegar a B ( Estar en B)

Formulacin del Problema


Es el proceso de decidir qu acciones y estados hay que considerar para alcanzar el objetivo formulado. Por ejemplo: Las acciones podra ser, viajar de una ciudad grande a otra, tomar las rutas mas cortas, etc. En este caso los estados seran el estar en una determinada ciudad.

Formulacin del Problema (cont)


Supongamos que: -Hay tres caminos que salen de A (a C, D y E), pero ninguno directo a B. Habran dos posibilidades: 1) El agente no conoce la geografa del lugar, as que tendra que tomar cualquiera de las rutas ya que no sabra cual de las acciones es la mejor. En este caso el agente no conoce lo suficiente los estados que resultan de tomar una accin. 2) El agente tiene un mapa que le brinda informacin sobre los estados en que podra estar, as como las acciones que podra tomar.

Bsqueda
Ejecutando secuencias de pasos puede encontrar un camino de A a B, y tomar las acciones que correspondan en cada momento. De esta manera alcanzara su objetivo (Llegar a B) Un agente decide qu hacer en cada estado examinando las diferentes secuencias posibles de acciones que le conducen a otros estados, para entonces escoger una secuencia. Hallar esta secuencia es la Bsqueda.

Solucin
Es la secuencia de acciones que devuelve un algoritmo de Bsqueda.

El algoritmo de Bsqueda recibe como entrada un Problema y devuelve la Solucin para alcanzar el Objetivo. Una vez que tenemos la solucin, se procede a ejecutar las acciones, fase llamada Ejecucin
Agente Resolvente-Problemas
<< Formular, Buscar, Ejecutar >>

Esquema general de un Agente Resolvente-Problemas funcin Agente R-P(percepcin) retorna Acciones Estados <- OBT_ESTADOS(percepcin) Objetivo <- FORM_OBJETIVO(Estados) Espacio_busqueda <- FORM_PROBLEMA(Estados, Objetivo) plan <- BUSQUEDA (Espacio_busqueda, Objetivo)

Acciones <- BUSQUEDA(Plan, estados)


retornar Acciones

Definicin formal del Problema:


-Estado Inicial (en el que comienza el agente) -Posibles acciones disponibles por el agente. Se describen mediante una funcin Sucesor Sucesor(X) es un conjunto de pares <accin,Y> X y Y son estados. -Espacio de estados: El estado inicial y su Sucesor definen el espacio de estados del problema (todos los estados alcanzables desde el estado inicial). Se representa mediante un Grafo, en el que los nodos son los estados y los arcos las acciones. -Camino: Secuencia de estados conectados por una secuencia de acciones -Test Objetivo: Determina si un estado es Objetivo

Definicin formal del Problema: (cont)


-Costo del camino: Se asigna un costo numrico a cada camino. El agente R-P elige una funcin costo que refleje una medida de rendimiento. Por ejemplo, para el caso de las ciudades podra ser la distancia en kilmetros. Supondremos que el costo del camino se calcula sumando los costos individuales de las acciones a lo largo del camino: c( a, x, y ) Costo Individual de la accin a la cual nos lleva del estado x al y.

-Solucin ptima: La solucin cuyo costo del camino es el mnimo entre todas las posibles soluciones.

Oradea 71 Neamt

Zerind

87 151 Iasi

75 Arad 140

Sibiu 99 118 80 Timisoara


Rimnicu Vilcea

Fagaras

92

Vaslui

211 111 Lugoj 70 Mehadia 75 Dobreta 120 Craiova Giurgiu 138 Bucharest 90 97 Pitesti

142

146
101

98 85 Urziceni

Hirsova

86

Eforie

El juego de las ocho fichas (tablero de 3x3 y 8 fichas (1 al 8). Una celda vaca. Estados: La descripcin de un estado especifica la ubicacin de cada una de las ocho fichas en una de las nueve celdas. Tambin se incluye la posicin del espacio vaco. Estado inicial: Cualquiera. Acciones: El espacio vaco puede moverse a la izquierda, a la derecha, arriba o abajo. Test de Objetivo: El estado debe coincidir con la configuracin de la derecha (mostrada en la figura) Costo del camino: Cada paso cuesta 1, as que el costo de la ruta corresponde a la longitud de la ruta.

Mundo de la Aspiradora (Hay solo dos localizaciones. La aspiradora sabe donde est y si hay suciedad no en ese lugar)

Estados: El agente est en una de las dos localizaciones, cada una de las cuales puede estar sucia no (en total 2 x 22 estados). Estado inicial: Cualquiera Acciones: Desplazarse a la izquierda , a la derecha y limpiar ( aspirar). Test de Objetivo: No hay suciedad en ninguna de las celdas. Costo del camino: Cada accin cuesta 1.

Construir el Grafo. Acciones: I (Mover a la Izquierda) D (Mover a la Derecha) L (Limpiar) Estados: Estarn descritos por tres valores Posicin de la aspiradora (0: Izq, 1: Der) Suciedad en la izquierda (0:No, 1: S) Suciedad en la derecha (0:No, 1:S)
Representa el estado: 0-0-1

Objetivo: Cualquiera de los estados: 0-0-0 1-0-0

Cmo escoger los estados y las acciones?


Se requiere de un proceso de la eliminacin de detalles de una representacin que se denomina Abstraccin. Se debe abstraer tanto en la descripcin del estado como en las acciones. El verdadero arte de la solucin de problemas consiste en saber decidir que es lo servir para describir los estados y acciones y qu no.

Bsqueda de Soluciones:
Veremos algunas tcnicas que utilizan el rbol de bsqueda, obtenido a partir del estado inicial y la funcin sucesor -Nodo de Bsqueda (raz del rbol, estado inicial) -Expandir: Proceso de aplicar la funcin sucesor -Generar: Al expandir se generan nuevos estados -Estrategia de bsqueda: El proceso de elegir cul ser el siguiente estado a Expandir

Cada nodo del rbol de Bsqueda:


Es una estructura de datos que contiene:
-Estado (estado del espacio de estados que se corresponde con el nodo) -Nodo Padre (el nodo en el rbol que ha generado a ese nodo) -Accin (la accin que se aplica al padre para generar el nodo) -Costo del camino (el costo del camino desde el estado inicial al nodo, denotado por g(n) ) -Profundidad (longitud del camino desde el estado inicial al nodo)

Estrategias de bsquedas:
No Informadas a Ciegas: Significa que no se tiene informacin adicional acerca de los estados. La nica informacin es la que proporciona la formulacin del problema. Slo generan sucesores y distinguen si han llegado al objetivo no.

Informadas Heursticas: Estrategias en las que se sabe, cuando un estado no es objetivo, si es mas prometedor que otro.

Estrategias de Bsquedas No Informadas (A ciegas):

Bsqueda Primero en Anchura Bsqueda de Costo Uniforme Bsqueda Primero en Profundidad Bsqueda Primero en Profundidad con Profundidad Iterativa Bsqueda Bidireccional

Estrategias de Bsquedas Informadas (Heursticas):

Bsqueda Primero el Mejor


Bsqueda A*

Criterios para evaluar las estrategias:


Complejidad en tiempo Cunto tiempo se necesitara para encontrar una solucin? Complejidad en espacio Cunta memoria se necesita para efectuar la bsqueda? Optimizacin Con esta estrategia se encontrar una Solucin ptima?

Algoritmo General de Bsqueda utilizando rboles


-Utiliza el concepto de Frontera (Todos los nodos del rbol que han sido generados, pero no expandidos. Al comienzo, antes de aplicar por primera vez la funcin Sucesor, la frontera contiene nicamente a la raz del rbol. -La estrategia de bsqueda consistir entonces en determinar, de la frontera, cul ser el siguiente nodo a expandir

Algoritmo General
funcion Busqueda_Arbol(problema) retorna Solucin Crear(frontera) ; lista vacia InsertarUno(frontera, NodoInicial(ESTADOINICIAL(problema))) repetir si Vacia?(frontera) retornar Solucin Vaca nodo <- EliminarPrimero(frontera) si TEST_OBJETIVO(problema,nodo.Estado) es Verdadero retornar SOLUCIN(nodo) InsertarTodos(frontera,Expandir(nodo, problema))

Funcin Expandir
funcion Expandir(nodo, problema) retorna Conjunto de Nodos Crear(conjunto) ; vacio sucesores <- SUCESOR(problema,nodo.Estado) para cada <accion,resultado> en sucesores hacer n <- nuevo nodo n.Estado <- resultado n.Padre <- nodo n.Accion <- accion n.CostoCamino <- nodo.CostoCamino + CostoIndividual(nodo.estado,accion,n.estado) n.Profundidad <- n.Profundidad + 1 adicionar(n,conjunto) retornar conjunto

Bsqueda Primero en Anchura

Es una estrategia de bsqueda sencilla. Se expande primero el nodo raz, y luego todos los nodos sucesores de ste; a continuacin todos los sucesores de stos ltimos y as sucesivamente. En general, se expanden todos los nodos de una misma profundidad, antes de expandir cualquier nodo del prximo nivel.

Bsqueda Primero en Anchura (cont) Se puede implementar, mediante el Algoritmo General, considerando la Lista, como una Cola (cuyas operaciones de Insercin y Eliminacin funcionan en forma FIFO (primero en entrar, primero en salir). De esta manera todos los nodos que se van generando a travs de la expansin se van colocando al final de la Cola, garantizando esto que los nodos de un mismo nivel profundidad se expandan antes que los de un nivel ms bajo mayor profundidad. Este tipo de bsqueda permitir siempre encontrar primero el estado objetivo ms prximo. Esta estrategia en general no es buena debido a la cantidad de tiempo y memoria necesaria para realizar una bsqueda.

Bsqueda de Costo Uniforme

En lugar de expandir el nodo ms superficial, expande aquel que tiene menor costo en su camino. Mediante esta estrategia se puede encontrar la solucin ms barata siempre y cuando se satisfaga un requisito muy sencillo costo de la ruta nunca debe ir disminuyendo conforme avanzamos por la ruta. Notar que si todos los costos son iguales a 1, la estrategia se comporta similar a la de Primero en Anchura.

Bsqueda de Costo Uniforme (cont) Se puede implementar, mediante el Algoritmo General, considerando la Lista como una Cola de Prioridad, cuyo criterio para obtener el Primero (Eliminar) de la Cola sera el de menor Costo

Bsqueda de Costo Uniforme (cont)

Bsqueda de Costo Uniforme (cont)

Bsqueda de Costo Uniforme (cont)

Bsqueda de Costo Uniforme (cont)

Bsqueda de Costo Uniforme (cont)

Bsqueda de Costo Uniforme (cont)

Bsqueda Primero en Profundidad Esta bsqueda se centra en expandir un nico camino desde la raz. Siempre se expande el nodo ms profundo en la frontera actual. En el caso de llegar a un callejn sin salida se retrocede hasta el nodo ms cercano (siguiendo al nodo padre) donde se puede tomar una rama alternativa para poder seguir avanzando.

Bsqueda Primero en Profundidad (cont) Se puede implementar, mediante el Algoritmo General, considerando la Lista, como una Pila (cuyas operaciones funcionan en forma LIFO (ltimo en entrar, primero en salir). De esta manera el siguiente nodo a expandir siempre ser el ltimo que se haya colocado en la pila de ese nivel, garantizando esto que la expansin vaya aumentando en la profundidad de los nodos. Es comn aplicar esta estrategia mediante una algoritmo recursivo que recorra el rbol en Pre-Orden Tiene modestos requisitos de memoria. Slo necesita almacenar un camino, junto con los hermanos restantes no expandidos en cada nodo.

Bsqueda Primero en Profundidad con Profundidad Iterativa Combina la estrategia de Primero en Profundidad con la de Profundidad Limitada, comenzando con Lmite igual a 0, aumentndolo de 1 en 1 hasta encontrar el objetivo.
Combina las ventajas de las dos estrategias.

Bsqueda Bidireccional La idea es ejecutar dos bsquedas simultneas: una hacia delante, desde el estado inicial y otra hacia atrs, desde el estado objetivo La bsqueda termina cuando las dos bsquedas se encuentren (las bsqueda deben comprobar, antes de la expansin, si los nodos de sus fronteras coinciden)

Ejercicios: -La aspiradora, comenzando en el estado en que la aspiradora est a la izquierda y ambas celdas estn sucias. Aplicar el Algoritmos de : Bsqueda Primero en Anchura y Busqueda primero en profundidad. -Ciudades, comenzado en Arab, para llegar a Bucharest . Aplicar el Algoritmos de : Bsqueda de Costo Uniforme

S-ar putea să vă placă și