La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

¿Por que estudiar búsquedas?

Presentaciones similares


Presentación del tema: "¿Por que estudiar búsquedas?"— Transcripción de la presentación:

1 ¿Por que estudiar búsquedas?
Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda. INTELIGENCIA ARTIFICIAL = REPRESENTACIÓN DE CONOCIMIENTO + BUSQUEDA Definición de problemas de búsqueda: Problemas de optimización. Problema de alcanzar algún objetivo. Formalización de los problemas de búsqueda. Ejemplos: El “traveling salesman problem” (TSP) El acertijo de los “8 tildes”

2 ¿Como resolver problemas de búsqueda?
Formalice el problema como una búsqueda en un espacio de estados: Identifique el estado inicial Identifique aquellas operaciones que nos permiten transformar un estado a otro. Identifique la condición de terminación El objetivo del proceso es llevar al sistema de su estado inicial a algún estado final aplicando alguna secuencia de operaciones.

3 Búsqueda en un espacio de estados
Considere la siguiente gráfica: Objetivo: encontrar una ruta desde S hasta G Estado Inicial: S Estado Final: G

4 Espacio de estados:

5 Depth-first search

6 Búsqueda por profundidad (Depth-First)
Conocimiento: no informada Completés: NO si existen ramas de profundidad infinita. Complejidad en memoria1: O(B·d) si los puntos de decisión serán recordados; O(d) de otro modo. Complejidad en tiempo1: O(B·d) Optimalidad: no necesita obtener la ruta más corta. Consejo sobre la implementación: Para evitar un ciclo infinito, no extienda (s0, s1, …, sk) a (s0, s1, …, sk , sk+1) si sk+1 se encuentra en (s0, s1, …, sk). Modelar el comportamiento utilizando recursividad o en su caso una pila. 1 B es el factor de “branching” y d es la profundidad máxima.

7 Búsqueda por profundidad
Número de soluciones: Más recomendable cuando sólo se requiera una solución, aunque puede obtener todas las soluciones. Optimalidad de la solución: Más adecuado para problemas que no requieran optimalidad en sus soluciones. Localización de las soluciones en el espacio de estados: No es importante. Densidad de la solución: Muy recomendable para problemas con muchas soluciones.

8 Breadth-first Search

9 Búsqueda por niveles (Breadth-First)
Conocimiento: no informada Completés: COMPLETA – aún en espacios de búsqueda infinitos. Dados suficientes recursos (tiempo y memoria), si existe una solución será encontrada. Complejidad en memoria1: O(Bd) Complejidad en tiempo1: O(Bd) Optimalidad: Siempre encuentra la ruta más corta (no necesariamente la óptima) entre el estado inicial y el final. Consejo sobre la implementación: Modelar el funcionamiento utilizando una cola. 1 B es el factor de “branching” y d es la profundidad a la cual se encuentra la solución.

10 Búsqueda por niveles Número de soluciones: Optimalidad de la solución:
No es importante, pero resulta más adecuado cuando sólo una solución es requerida, por razones de complejidad. Optimalidad de la solución: Muy adecuado para problemas que requieran optimalidad en sus soluciones, cuando la optimalidad se mide como el número de estados visitados desde el estado inicial. Localización de las soluciones en el espacio de estados: Cualquier lugar en el espacio de búsqueda; mas adecuado para problemas en que las soluciones se encuentren a distancia variable del estado inicial. No cae en ciclos.

11 Iterative Deepening Profundidad=2 Profundidad=1 Profundidad=3

12 Iterative Deepening Conocimiento: no informada Completés:
COMPLETA – aún en espacios de búsqueda infinitos Complejidad en memoria1: O(B·d) Complejidad en tiempo1: O(B·d) Optimalidad: Siempre encuentra la ruta más corta (no necesariamente la óptima) entre el estado inicial y el final. Consejo sobre la implementación: Definir utilizando recursividad o en su caso una pila. manejar un parámetro de profundidad. 1 B es el factor de “branching” y d es la profundidad máxima.

13 Iterative Deepening Número de soluciones: Optimalidad de la solución:
No es importante, pero resulta más adecuado cuando sólo una solución es requerida, por razones de complejidad. Optimalidad de la solución: Muy adecuado para problemas que requieran optimalidad en sus soluciones, cuando la optimalidad se mide como el número de estados visitados desde el estado inicial. Localización de las soluciones en el espacio de estados: Cualquier lugar en el espacio de búsqueda; mas adecuado para problemas en que las soluciones se encuentren a distancia variable del estado inicial. No cae en ciclos.

14 Ejercicios En el problema de los baldes de agua, se tiene un balde de 3 litros y uno de 4 litros. Inicialmente, ambos baldes se encuentran vacíos. Cada balde puede ser llenado con agua a partir de una llave, y podemos además deshacernos del agua no deseada vaciándola por una canaleta. El agua puede ser vaciada de un balde a otro. No existe ningún otro instrumento de medición. Deseamos encontrar una serie de operaciones que nos deje exactamente dos litros de agua en el balde de 4 litros. Formalice el problema como un problema de búsqueda en un espacio de estados: Represente el estado inicial como una estructura de datos Exprese la condición de terminación como una función de prueba sobre un estado. Nombre las operaciones sobre los estados y provea una descripción precisa de lo que cada operador cambia en la descripción del estado. Dibuje una gráfica de todos los distintos nodos de estado hasta el nivel 3 después del nodo inicial.

15 Ejercicios 2. .


Descargar ppt "¿Por que estudiar búsquedas?"

Presentaciones similares


Anuncios Google