Documente Academic
Documente Profesional
Documente Cultură
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
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)
-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
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
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
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.
Bsqueda Primero en Anchura Bsqueda de Costo Uniforme Bsqueda Primero en Profundidad Bsqueda Primero en Profundidad con Profundidad Iterativa Bsqueda Bidireccional
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
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.
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 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