You are on page 1of 12

Agentes para la solución de problemas (Metas), basado en metas, tiene algoritmos de búsqueda, el esqueleto es: • • • • Formulación del Problema Formulación

de Metas Búsqueda (Algoritmos) para llegar del Estado Inicial al estado de meta Solución

Conocimiento y tipos de problemas Considere el siguiente ejemplo: El mundo de la aspiradora. En este mundo hay dos posibles ubicaciones en ellas puede o no puede haber mugre y el agente se encuentra en una de las dos. El mundo puede asumir 8 posibles estados. Son tres las acciones que el agente puede emprende en el mundo de la aspiradora. La meta es eliminar toda la mugre.

Problemas bien definidos y soluciones • Problema: Un problema en realidad es un conjunto de información que el agente utiliza para decidir lo que va a hacer. • Estado inicial: Es donde el agente sabe que allí es en el que se encuentra. • Operador: Denota la descripción de una acción que nos servirá para alcanzar un estado. Espacio de estado: Es el conjunto de todos los estados que pueden alcanzarse a partir del estado inicial mediante cualquier secuencia de acciones. Ruta: Es cualquier secuencia de acciones que me permiten pasar de un estado a otro.

Prueba de meta.- Se aplica a la descripción de un solo estado para saber si se trata de un estado meta. Costo de ruta.- Es una función mediante la cual se asigna un costo a un ruta determinada. Solución.- Es la salida producida por un algoritmo de búsqueda, es decir, una ruta que va del estado inicial al estado que satisface la prueba de meta. Espacio de conjunto de estado.- Si mediante un operador relaciono un conjunto de estados según los resultados obtenidos, yo estoy construyendo un espacio denominado espacio de conjunto de estados.

El espacio del conjunto de espacios del mundo de la aspiradora simplificado, sin sensores. Dentro de las cajas de línea punteada hay un conjunto de estados. En un punto determinado, el agente está dentro de un conjunto de estados, pero ignora en cuál. El conjunto del estado inicial (total ignorancia) está en la caja superior del centro. Las acciones se representan por arcos identificados. Por claridad se han omitido los autobucles.

Buena parte de los esfuerzos invertidos en el área de la búsqueda han quedado en la determinación de la estrategia de búsqueda adecuada para un problema. Se utiliza para hallar una solución "sin información". o o o o o o Búsqueda Búsqueda Búsqueda Búsqueda Búsqueda Búsqueda preferente por amplitud(anchura) de costo uniforme preferente por profundidad limitada por profundidad por profundización iterativa birideccional

Para explicar mejor las estrategias imaginemos un problema sencillo como : "Ir en auto de Arad a Bucarest utilizando las carreteras del mapa de Rumania"

Búsqueda preferente por amplitud(anchura) Primero se expande el nodo más superficial del árbol de búsqueda. Es un método completo, óptimo para operadores de costo unitario. Su complejidad espacio-temporal es O(bd). En muchos casos, la complejidad espacial impide que sea práctico. Debo expandir la profundidad (d) antes de expandir la profundidad siguiente (d+1) empezando por la izquierda. d = profundidad nodo raíz = estado inicial

Búsqueda de costo uniforme Primero se expande el nodo hoja de menor costo. Es un método completo y, a diferencia de la búsqueda preferente por amplitud, es óptimo incluso si el costo de cada uno de los operadores es distinto. Su complejidad espacio-temporal es la misma que la de la búsqueda preferente por amplitud. Siempre se tiene un costo o unidades. Los costos deben ser positivos, caso contrario no se aplica esta búsqueda. Tómese el caso del problema de la determinación de ruta que radica en ir de S a G.

Respuesta: S-B-G

Búsqueda preferente por profundidad Primero se expande el nodo más profundo del árbol de búsqueda. No es un método completamente óptimo; su complejidad temporal O(bm) y su complejidad espacial es O(bm), en donde m es la profundidad máxima. Los árboles de búsqueda cuya profundidad es muy grande o infinita, invalidan la utilidad de este método. Sólo si la búsqueda conduce a un callejón sin salida (un nodo sin meta que no tiene expansión), se revierte la búsqueda y se expanden los nodos de niveles menos profundos.

Búsqueda limitada por profundidad Se pone un límite a la búsqueda preferente por profundidad. Si el límite fuera igual a la profundidad del estado meta más superficial, se reduce al mínimo la complejidad espaciotemporal.

Búsqueda por profundización iterativa Se emplea la búsqueda con límite de profundidad, pero los límites van aumentando hasta encontrar una meta. Es completa y óptima; su complejidad temporal es O(bd) y su complejidad espacial es O(bd).

Búsqueda bidireccional Ayuda a reducir notablemente la complejidad temporal, aunque no siempre pueda utilizársele. La cantidad de memoria que necesita puede hacerla poco práctica. Es básicamente, una búsqueda simultánea que avanza a partir del estado inicial y que retrocede a partir de la meta y que se detiene cuando ambas búsquedas se encuentran en algún punto intermedio.

Búsqueda heurística En casi todos los espacios de estado, existe información que permite guiar los procesos de búsqueda, normalmente esa información no es perfecta, es decir no es un algoritmo que permite conocer de forma precisa cual es el mejor camino para obtener la solución. Este tipo de información no perfecta que ayuda a resolver problemas a un espacio de estado, pero que no siempre acierta con el mejor camino se denomina heurística. Cuando se dispone de este tipo de información las técnicas de búsqueda se pueden ver muy beneficiadas de su utilización. Técnica de escalada La técnica de escalada es la evolución de la técnica de profundidad en la que cada nodo se dispone en una forma de evaluar cómo está de cerca o de lejos la solución. La forma más común de evaluar es la función de evaluación.

f(nodo)= # de casillas bien colocadas (maximizo) f’(nodo)= # de casillas mal colocadas (minimizo) Como ejemplo del juego 8-puzzle se puede definir una función de evaluación que fuera igual: f(nodo)= # de casillas bien colocadas (máximo) Que devuelven un número que representa como está de cerca un determinado estado de la solución, cuanto mayor sea el número se estará cerca de la solución. Por tanto si se tiene que elegir entre varios estados se debería escoger aquel, que tendría un valor mayor de esta función, es decir es una función que se debe maximizar.

procedimiento escalada (estado inicial estado final)
1. 2.

3.

N = estado inicial; Exito = Falso. Hasta que Exito. o Generar los sucesos de N o Si algún sucesor es estado final entonces o Exito = Verdadero. o Si No o Evaluar cada nodo como la función de evaluación o N = mejor sucesor Si Éxito entonces 0. Solución = camino desde nodo del estado-inicial al nodo N por los punteros. Si No
o

Solución = Fracaso.

La técnica de escalada exagera los problemas de la profundidad en el sentido de que no asegura de que se alcance la solución óptima relacionada con esto; existen dos problemas que ocurren a menudo cuando se utiliza escalada: 1. Puede haber máximo o mínimos locales esto ocurre por ejemplo cuando la función de evaluación elegida es maximizante y todos los sucesores de un determinado nodo tienen menor valor que el valor del nodo. 2. Altiplanicies: Es un caso parecido al anterior y sucede cuando los mejores sucesores de un nodo tienen igual valor que el nodo. Las soluciones que se pueden adoptar son: - Retroceder - Dar mas de un paso

Retroceder: A la lista de razones a la que se debe retroceder que provienen a la técnica de profundidad se le añade cuando ocurra cualquier caso de los anteriores. Dar más de un paso: En lugar de retroceder se generan todos los sucesores de los sucesores del nodo en cuestión y aún así no hay ningún sucesor de los sucesores que sea mejor que el nodo, se puede expandir un nivel mas, hasta que se obtenga un valor mayor / menor que el nodo. Búsqueda Avara Es cuando se reduce al mínimo el costo estimado para alcanzar una meta, h(n). Aunque por lo general, el tiempo de búsqueda disminuye en comparación con lo necesario cuando se emplea un algoritmo que no cuenta con información, el de la búsqueda ávara no es un algoritmo óptimo y completo. Para un mejor entendimiento de esta búsqueda se aplicará en distancia de ciudades de Arad – Bucharest:

También considere el siguiente cuadro:

Se escoge la ruta con menor distancia de acuerdo al cuadro anterior:

Método de búsqueda asterisco (A*) La reducción al mínimo de f(n)= g(n) + h(n) combina las ventajas de la búsqueda por costo uniforme y la búsqueda ávara. Cuando se repiten los estados que se manejan y se garantiza que h(n) nunca haga una sobreestimación, existe una búsqueda asterisco. g(n) = Costo de la ruta de partida al nodo n h(n) = Costo de la ruta mas barata que va de n a la meta f(n) = Costo estimado de la solución mas barata pasando por n f(n)= g(n) + h(n) Si aplicáramos el método Asterisco obtendríamos:

En donde g(n) = ruta inicial hasta n y h(n) = unidad establecida en el cuadro de Distancias en línea recta a Bucarest.