La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Soluciones de problemas mediante búsqueda

Presentaciones similares


Presentación del tema: "Soluciones de problemas mediante búsqueda"— Transcripción de la presentación:

1 Soluciones de problemas mediante búsqueda
INTELIGENCIA ARTIFICIAL Soluciones de problemas mediante búsqueda Mg. Samuel Oporto Díaz Lima, 10 de octubre 2005

2 Mapa Conceptual del Curso
Inteligencia Artificial y Sistemas Expertos Inteligencia Artificial Conceptos Generales Conocimiento Agentes Planeación Lógica y Razonamiento Lógica Proposicional Lógica de Predicados Inferencia y Razonamiento Lenguaje Simbólico LISP Búsqueda Búsqueda Búsqueda Ciega Búsqueda Heurística

3 Tabla de Contenido Formulación de Problemas 3 Ejemplo de Problemas 14
Búsqueda de Soluciones 46 Estructura de Datos 56 Pilas Estrategias de Búsqueda 65 Bibliografía

4 Objetivos Exponer los conceptos necesarios para abordar un problema de búsqueda. Identificar los tipos de estrategía para realizar la búsqueda.

5 FORMULACION DE PROBLEMAS

6 Formulación de un problema
La formulación de un problema es el procesos que consiste en decidir qué acciones y estados habrán de considerarse y es el paso que sigue a la formulación de metas. Para el problema del viaje a través del Perú, se considera una estado el estar en una ciudad determinada, y como acción, el traslado de una ciudad a otra.

7 El Ambiente El agente descrito asume que el ambiente es:
Estático (formular y resolver el problema se hace sin poner atención a los cambios que podrían ocurrir en el ambiente). Observable (asume que el estado inicial es conocido). Discreto (se pueden enumerar “cursos alternativos de acción”). Determinístico (Las soluciones a los problemas son simples secuencias de acciones, no se pueden manejar eventos inesperados).

8 Problema Es un conjunto de información que el agente utiliza para decidir qué hacer. Elementos básicos para definir un problema son: Estado Inicial Operadores Prueba de Meta Costo de Ruta Estados Mundo

9 Ejemplo 5 4 6 1 8 7 3 2 Estado. Estado inicial: Estado meta:
Función de sucesor: Prueba de meta: Costo de ruta: Estado. Ubicación de cada número. Estado inicial: Cualquier estado. Estado meta: Cualquier estado. Función de sucesor: Mover el blanco a la izquierda, derecha, arriba o abajo. Prueba de meta: ¿Estoy en el estado meta? Costo de ruta: 1 por cada movimiento

10 1. Estado Inicial El estado inicial, es el estado que el agente sabe que se encuentra.

11 2. Operadores Los operadores son las posibles acciones que el agente puede emprender. La formulación mas común usa una función de sucesor. Dado un estado particular x, S(x) regresa un conjunto de pares ordenados <acción, sucesor> S(En(Piura))  {<Ir_a(Loreto), En(Loreto)>, <Ir_a(Ancahs), En(Ancash)}

12 Espacio de Estados La función sucesor, define el espacio de estados, que es el conjunto de todos los estados que pueden alcanzarse a partir del estado inicial, mediante una secuencia de operadores. Una ruta en el espacio de estados es una secuencia de acciones que permite pasar de un estado a otro.

13 3. Prueba de Meta La prueba de meta es la que el agente aplica a la descripción de un solo estado para decidir si se trata de un estado meta. A veces se compara el estado actual con un conjunto de estados meta, y otras, se busca una propiedad.

14 4. Costo de Ruta El costo de ruta es una función mediante la que se asigna un costo a una ruta determinada. El costo total es la suma de todos los costos de cada una de las acciones individuales a lo largo de una ruta. Se denota como g.

15 Solución Los cuatro elementos indicados (estado inicial, operadores, prueba de meta y función costo de ruta) serán las entradas al algoritmo de búsqueda. La salida producida por el algoritmo es la solución, es decir una ruta que va desde el estado inicial al estado que satisface la prueba de meta. estado inicial operadores prueba de meta función costo de ruta solución = buscar

16 EJEMPLO DE PROBLEMAS

17 Problema El verdadero arte de la solución de problemas consiste en saber qué decidir y qué es lo que servirá para describir estados y operadores y qué no. El proceso de eliminación de detalles de una representación se denomina abstracción.

18 Problemas El enfoque de solución de problemas se ha aplicado a una amplia gama de ambientes de trabajo. Estos se pueden clasificar en: Problemas de “juguete” Empleados para ejemplificar o ejercitar méto-dos para la solución de problemas. Su natura-leza permite describirlos de manera concisa y exacta. Problemas del mundo real Tienden a ser más difíciles, su solución es im-portante para alguien. Tienden a no tener una sola caracterización que goce de consenso

19 1. Mundo de la aspiradora En este mundo hay dos posibles ubicaciones.
En ellas puede o no haber mugre. El agente se encuentra en una de las dos Son tres las acciones posibles: A la izquierda, A la derecha y Aspirar. Se puede suponer que la eficiencia del aspirado es 100% La meta es eliminar toda la mugre.

20 1. Mundo de la aspiradora Estados:
El agente está en una de dos ubicaciones, cada una de las cuales puede o no contener mugre. Por lo tanto, puede haber 2 x 22 = 8 estados posibles del mundo.

21 1. Mundo de la aspiradora 1 2 3 4 5 6 7 8

22 1. Mundo de la aspiradora Estado inicial:
Cualquier estado puede ser designado como estado inicial. Operador: Genera los estados legales que resultan de intentar las tres acciones (izquierda, derecha y aspirar). Prueba de Meta: Revisa si las dos ubicaciones están limpias. Costo de ruta: Cada paso cuesta 1, así el costo de ruta es el número de pasos en la ruta.

23 1. Mundo de la aspiradora Diagrama de Estados

24 2. El juego de las ocho fichas
5 4 6 1 8 7 3 2 1 2 3 8 4 7 6 5 Estados: Ubicación de cada una de las ocho placas en los nueve cuadrados. Conviene incluir la ubicación del espacio vacío.

25 2. El juego de las ocho fichas
Estado inicial: Función de sucesor: Prueba de meta: Costo de ruta: Estado inicial: Cualquier estado puede ser designado como estado inicial. Cualquier meta dada puede ser alcanzada desde exactamente la mitad de los estados iniciales posibles. Función de sucesor: Esta genera los estados legales que resultan de intentar las cuatro acciones (el espacio vacío puede moverse a la izquierda, derecha, arriba y abajo). Prueba de meta: Verifica que el estado actual coincida con un estado predefinido previamente como estado final. Costo de ruta: Cada paso cuesta 1, el costo de la ruta corresponde a la longitud de la ruta.

26 2. El juego de las ocho fichas
Abstracciones: Se ignoran las ubicaciones intermedias cuando la ficha se está deslizando, si se tiene que sacudir el tablero cuando las piezas se atoran, o si se extraen las piezas con un cuchillo y se colocan de nuevo en orden. El juego de las ocho fichas pertenece a la familia de rompecabezas de piezas deslizantes, los cuales son a menudo usados como problemas de prueba para nuevos algoritmos de IA. Esta clase general es del tipo NP-completo. El juego de las ocho fichas tiene 9!/2 = 181,440 estados alcanzables y es fácilmente solucionado.

27 2. El juego de las ocho fichas

28 3. El problema de las ocho reinas
Colocar 8 reinas en un tablero de ajedrez de manera que ninguna de ellas esté en posibilidad de atacarse entre sí Estados: Cualquier disposición que tenga de 0 a 8 reinas en el tablero.

29 3. El problema de las ocho reinas
Estado inicial: ninguna reina en el tablero. Función de sucesor: añadir una reina a un cuadro vacío. Prueba de meta: 8 reinas en el tablero, ninguna con posibilidad de atacar. Costo de ruta: cero

30 3. El problema de las ocho reinas
Otras Formulaciones Formulación 2 Estados: Disposiciones de 0 a 8 reinas, sin que se pueda atacar ninguna de ellas Función de Sucesor: Poner una reina en la columna vacía del extremo izquierdo de manera que ninguna otra reina la pueda atacar. Formulación 3 Estados: Disposiciones de 8 reinas, una en cada columna. Función de sucesor: Cambiar las reinas que puedan ser atacadas a otro cuadro de la misma columna.

31 3. El problema de las ocho reinas
Algunas soluciones al problema

32 4. Criptoaritmética FORTY + TEN --------- SIXTY 2976 + 850 ---------
Las letras representan dígitos, el objetivo es determinar una sustitución de dígitos por letras de manera que la operación resultante sea correcta aritméticamente. Por lo general cada letra representa un dígito distinto. FORTY + TEN SIXTY 2976 + 850 31486 Estados: Un problema en la que una o algunas letras son reemplazadas con dígitos.

33 4. Criptoaritmética Estado inicial: Ninguna letra ha sido reemplazada por algún dígito. Función de sucesor: Reemplazar todas las veces que aparezca una letra con un dígito que no haya aparecido en el problema. Prueba de meta: Si en el problema sólo hay dígitos y representan una suma correcta Costo de la ruta: Cero. Todas las soluciones son igualmente válidas.

34 4. Criptoaritmética T W O + T W O F O U R S E N D + M O R E M O N E Y

35 5. Misioneros y Caníbales
3 misioneros y tres caníbales salen a pasear a la selva, y necesitan cruzar el río. Hay un bote, pero este sólo puede llevar a una o dos personas. Encuentre la manera de cruzar a todos, evitando que el número de caníbales sea superior al número de misioneros. ¿Cuáles son los Estados, Estado inicial, Función de Sucesor, Prueba de Meta, Costo de Ruta?

36 6. El problema de la jarra de agua
Supón que tienes 2 tarros, uno de 4 galones, y otro de 3. Y no tienen ninguna marca de medición en éstos. Hay una bomba que puede ser usada para llenar los tarros con agua. ¿Cómo se puede llenar con exactamente 2 galones de agua, el tarro de 4 galones? ¿Cuáles son los Estados, Estado inicial, Función de Sucesor, Prueba de Meta, Costo de Ruta?

37 a. Determinación de una ruta
Consiste en definir una ruta en función de la especificación de ubicaciones y las transiciones mediante los vínculos que relacionan una y otra ubicación. Los algoritmos que resuelven estos problemas se usan en ruteo de redes de cómputo, sistemas automatizados de asesores de viajes, sistemas para planificación de viajes aéreos, bonificaciones a viajeros frecuentes, etc.

38 a. Determinación de una ruta
Estados: Cada uno es representado por un aeropuerto y la hora actual. Estado inicial: Es especificado por el problema. Función de sucesor: Regresa los estados resultantes de tomar cualquier vuelo programado, que sale después de la hora actual, más el tiempo de vuelo entre aeropuertos, desde el aeropuerto actual a otro. Prueba de meta: Verifica si estamos en el destino a una hora pre-especificada. Costo de ruta: Depende del costo monetario, el tiempo de espera, el tiempo de vuelo, procedimientos de migración, calidad de asiento, hora del día, tipo de avión, bonificaciones por viajes frecuentes, etc.

39 b. Problema del agente viajero
“Visitar todas las ciudades importantes del Perú por lo menos una vez, comenzando y terminando en Piura” Este problema es un “Touring Problem”: requiere más información sobre el espacio de estados. Además de la ubicación del agente, un registro de las ciudades visitadas. La prueba de meta consistiría en verificar si el agente está en Piura y se han visitado todas las ciudades UNA SOLA VEZ. El objetivo es determinar cuál es el recorrido más corto, es un problema de complejidad NP. Los algoritmos que lo resuelven también se aplican para tareas tales como planeación de movimientos de taladros automáticos para circuitos impresos.

40 b. Problema del agente viajero

41 c. Distribución de componentes en circuitos VLSI
Es una de las tareas más complejas de diseño en la ingeniería actual. El objetivo es colocar los miles de compuertas del circuito integrado de tal manera que no se encimen y ocupando un mínimo de área y de longitud de conexiones, con el fin de obtener un máximo de velocidad.

42

43 d. Navegación de robots Es una generalización del problema de la determinación de ruta: en vez de hacerlo en un espacio discreto, ahora es continuo. Las acciones y estados posibles son (en principio) infinitos. Este problema puede ser bi o tridimensional.

44 d. Navegación de robots

45 e. Secuencia de ensamble
En este problema, la dificultad radica en determinar la secuencia adecuada para el ensamble de las partes de un objeto determinado. Si se elige un orden equivocado, algunas partes ya no se podrán agregar.

46 f. Robot Ensamblador Estados: Coordenadas reales y ángulos de las articulaciones, coordenadas del objeto a ensamblar Estado Inicial. Posición inicial del objeto a ensamblar Función sucesor: Movimientos continuos de las articulaciones del robot Prueba de Meta: Completar el ensamblado Costo de la ruta: Tiempo de ejecución

47 g. Búsqueda en Internet En años recientes se ha incrementado la demanda por robots de software que busquen en Internet por respuestas a preguntas, información relacionada, o para opciones de compra. Ésta es una buena aplicación para técnicas de búsqueda, porque es fácil conceptualizar la Internet como un grafo con nodos (páginas) conectadas por enlaces.

48 BÚSQUEDA DE SOLUCIONES

49 Búsqueda de Soluciones
Después de definir un problema e identificar una solución, se prosigue con la búsqueda de la solución. La búsqueda se hace en el espacio de estados, y la idea es mantener y ampliar un conjunto de secuencias de solución parciales. Se busca generar una secuencia de acciones para lograr el estado meta.

50 Generación de Secuencias de Acciones
Evaluar el estado inicial para determinar si es un estado meta. Al aplicar los operadores a un estado determinado, se genera un conjunto de estados. Al proceso anterior se le llama expansión del estado. La expansión genera uno o mas estados, si fuese uno se optaría por ella y se continuaría, pero si son varias, hay que escoger.

51 Búsqueda La búsqueda es escoger uno de los estados generados (una de las opciones). Si hay varios estados que se pueden expandir, la elección del que se expanderá primero se hace con una estrategia de búsqueda. Conviene concebir el proceso de búsqueda como la construcción de un árbol de búsqueda sobrepuesto al espacio de estados.

52 Árbol de Búsqueda La raíz del árbol de búsqueda es el nodo de búsqueda y corresponde al estado inicial Los nodos hoja del árbol de búsqueda o no tienen sucesores o no se han expandido, o al expandirlos generaron un conjunto vacío

53 Generación de secuencias de acciones
Estado inicial Piura

54 Generación de secuencias de acciones
Después de expandir Piura Piura Loreto Ancash

55 Generación de secuencias de acciones
Después de expandir Loreto Piura Loreto Ancash Ucayali

56 Generación de secuencias de acciones
Después de expandir Ancash Piura Loreto Ancash Ucayali Junin Lima Ucayali

57 Algoritmo General de Búsqueda
Función búsqueda(problema, estrategia) produce una solución, o falla inicializa el árbol de búsqueda empleando el estado inicial del problema ciclo hacer si no hay candidatos para la expansión, responder con falla escoger un nodo hoja para hacer la expansión, de conformidad con la estrategia si el nodo contiene un estado meta, responder con la solución respectiva o bien expanda el nodo y añada los nodos resultantes al árbol de búsqueda fin

58 ESTRUCTURAS DE DATOS

59 Estructuras de datos para los árboles de búsqueda
Un nodo es una estructura de datos con cinco componentes: El estado en el espacio de estados al que corresponda el nodo El nodo del árbol de búsqueda que generó este nodo (nodo padre) El operador que se aplicó al generar el nodo Cuántos nodos de la ruta hay desde la raíz hasta dicho nodo (profundidad) El costo de la ruta desde el estado inicial al nodo

60 Estructuras de datos Estado = 1 Nodo Padre = 0 Operador = null
Profundidad = 0 Costo de la Ruta = 0 Estado = 2 Nodo Padre = 1 Operador = OP1 Profundidad = 1 Costo de la Ruta = 1 Estado = 3 Nodo Padre = 1 Operador = OP1 Profundidad = 1 Costo de la Ruta = 1

61 Margen o Frontera El margen o frontera es el grupo de nodos que están en espera de ser expandidos.

62 PILAS

63 Listas de Espera o Pilas
Este grupo de nodos se puede implantar como una lista de espera, con operaciones como: Hacer-lista-espera (elementos) ¿Está vacía? (lista de espera) Quitar-primero (lista de espera) Poner-en-lista (elementos, lista de espera)

64 Lista FIFO Entrada Salida Primero en entrar, primero en salir

65 Lista LIFO Entrada Salida Último en entrar, primero en salir

66 Algoritmo General de Búsqueda
Función búsqueda-general (problema, Función-lista-de-espera) produce una solución, o falla nodos  Hacer-lista-de-espera (Hacer-nodo(Estado-inicial[problema])) ciclo hacer si nodos está vacío, contestar con falla nodo  Quitar-primero (nodos) si Prueba-Meta[problema] se aplica a Estado(nodo) y se tiene éxito, contestar con nodo nodos  Función-lista-de-espera(nodos, Expandir(nodo, Operadores[problema])) fin

67 ESTRATEGIAS DE BÚSQUEDA

68 Estrategias de Búsqueda
Búsqueda No Informada (Ciega) Búsqueda Informada (Heurística) Búsqueda preferente por amplitud Búsqueda de costo uniforme Búsqueda preferente por profundidad Búsqueda limitada por profundidad Búsqueda por profundización iterativa Búsqueda bidireccional Búsqueda avara Búsqueda A* Búsqueda A*PI Búsqueda A*SRM

69 Estrategias de Búsqueda
Las estrategias se evalúan de acuerdo a su: Completez. ¿La estrategia garantiza encontrar una solución, si ésta existe? Complejidad temporal. ¿Cuánto tiempo se necesitará para encontrar una solución? Complejidad espacial. ¿Cuánta memoria se necesita para efectuar la búsqueda? Optimalidad. ¿Con esta estrategia se encontrará una solución de la más alta calidad, si hay varias soluciones?

70 Bibliografía AIMA. Capítulo 3, primera edición.
AIMA. Chapter 3, second edition.

71 PREGUNTAS


Descargar ppt "Soluciones de problemas mediante búsqueda"

Presentaciones similares


Anuncios Google