17 Busqueda no informada

Download Report

Transcript 17 Busqueda no informada

Agentes de resoluciones d
problemas
Parte I
• Un agente puede adoptar una meta o un
propósito para satisfacer.
Agentes
• La metas sirven para organizar el
comportamiento limitando los objetivos que
el agente trata de lograr, por lo tanto las
acciones que necesita considerar.
Formulación de meta
• La formulación de la meta, basada en una
situación actual y en la medida del
desempeño del agente es el primer paso de la
resolución de un problema
• La tarea del agente es encontrar la manera de
actuar, ahora y en el futuro, para que pueda
alcanzar unas serie de metas.
El agente necesita considerar que tipos de
acciones y estados necesita considerar.
En otras palabras nosotros (humanos)
decidiremos por ellos
Formulación del problema
• El proceso de decidir que acciones y estados
debe considerar, dado una meta se le conoce
como formulación del problema.
Búsqueda
• El proceso de explorar una secuencia de
acciones que nos lleve a una meta se llama
búsqueda.
Un algoritmo de búsqueda
• Un algoritmo de búsqueda toma un problema
como entrada y devuelve una solución como
salida en la forma de una secuencia en acción
• Una ves que una solución ha sido hallada, las
acciones que se recomiendan son llevadas a
cabo. A esto se le llama la fase de ejecución.
Parte II
Ejemplo
• En el ajedrez la meta es llamada jaque mate
– Done el rey del oponente esta bajo ataque y no
tiene escape
Meta principal-(terminate sara_connor)
Submetas -> Sara Connor 1
Submetas -> Sara Connor 2
Buscando soluciones
• Habiendo formulado algunos problemas,
ahora necesitamos resolverlos.
• Una solución es una secuencia de acción.
• Así que algoritmos de búsqueda trabajan
considerando varias secuencias de acción.
• Las posibles secuencias de acción empiezan en
un árbol de búsqueda con el nodo inicio en la
raíz y sus brazos son acciones y los nodos
corresponden a los estados.
• Después necesitaremos considerar varias
acciones. A esto le llamamos expandir el
estado actual, que es aplicar cada acción
(valida) al estado actual.
• De este modo generaremos u nuevo conjunto
de estados.
• La esencia de la búsqueda es seguir una ruta
y poner las otras opciones de lado para mas
tarde. En caso de que la primera opción no
nos lleve a la solucion.
• Hoja nodo es un nodo que ya no tiene hijo en
el árbol.
• Las hojas nodo susceptibles de poder
agregarse hijos se llaman fronteras.
• Rutas redundantes
• MetroPoli->CIC->ESCOM
• MetroPoli->ESCOM
• Una búsqueda de Árbol debe recordar las
rutas que ha tomado.
• Para hacer esto un algoritmo tiene un
estructura de datos llamada conjunto
explorado (también llamada lista cerrada), que
recuerda cada nodo explorado.
Infraestructura de los algoritmos de
los algoritmo de búsqueda
• N.Estado: el estado en el espacio de estado al
cual corresponde el nodo
• N.Padre: El nodo en la búsqueda de árbol al
que corresponde el nodo
• N.Accion: La acción que es aplicada al padre
para general el nodo.
• N.Costo_de_Ruta: El costo de la ruta desde el
nodo inicial hasta el nodo.
Midiendo el desempeño de un
problema
• Completitud: El algoritmo garantiza llegar a
una solución cuando hay una.
• Optimización: encuentra una solución optima.
• Complejidad de tiempo: ¿Cuanto tarda en
llegar a una solución?
• Complejidad de espacio de memoria: ¿Cuanta
memoria necesita para realizar la búsqueda?
Búsqueda No-Informada
• Búsqueda ciega
• Lo único que hace es generar sucesores y
distinguir un estado meta de un estado nometa
• Todas las búsquedas son distinguidas en el
orden n que se expanden los nodos.
Breadth first search -Búsqueda por
amplitud
• Esta es una estrategia de búsqueda simple, en
el que el nodo raíz es expandido primero,
luego todos su sucesores son expandidos y
luego los sucesores de los sucesores.
Depth-first search- Búsqueda de
profundidad
• Siempre expande el nodo mas profundo. La
búsqueda procede en el nivel mas profundo
del árbol de búsqueda, donde los nodos no
tiene sucesores.
• Es como una búsqueda a la inversa
• La búsqueda es completa por que
eventualmente expandirá cada nodo.
Búsqueda de profundidad limitada
• Para evitar una búsqueda en un árbol de
búsqueda infinito, se predetermina un limite
de profundidad.
• El inconveniente de este es que provoca una
búsqueda incompleta.
Búsqueda de profundidad creciente de
manera iterativa
• Similar al anterior, solo que si aun no se ha
llegado a la meta crecerá de manera iterativa
hasta llegar a esta meta o se cumpla una
restricción de profundidad.