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

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

Embed Size (px)

Citation preview

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

Mg. Samuel Oporto Díaz Lima, 10 de octubre 2005

Soluciones de problemas mediante búsqueda

INTELIGENCIA ARTIFICIAL

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

22 /69/69

Mapa Conceptual del CursoInteligencia Artificial y Sistemas Expertos

Lenguaje Simbólico

LISP

Búsqueda

Búsqueda Ciega

Búsqueda Heurística

Planeación

Lógica y Razonamiento

Lógica Proposicional

Lógica de Predicados

Inferencia y Razonamiento

Inteligencia Artificial

Conceptos Generales

Conocimiento

Agentes

Búsqueda

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

33 /69/69

Tabla de Contenido

1. Formulación de Problemas 3

2. Ejemplo de Problemas 14

3. Búsqueda de Soluciones46

4. Estructura de Datos 56

5. Pilas 60

6. Estrategias de Búsqueda65

7. Bibliografía 68

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

44 /69/69

Objetivos

• Exponer los conceptos necesarios para abordar un problema de búsqueda.

• Identificar los tipos de estrategía para realizar la búsqueda.

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

55 /69/69

FORMULACION DE PROBLEMAS

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

66 /69/69

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.

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

77 /69/69

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).

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

88 /69/69

Problema

• Es un conjunto de información que el agente utiliza para decidir qué hacer.

• Elementos básicos para definir un problema son:1. Estado Inicial

2. Operadores

3. Prueba de Meta

4. Costo de RutaEstados

Mundo

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

99 /69/69

• 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

• Estado.• Estado inicial:• Estado meta:• Función de sucesor:

• Prueba de meta:• Costo de ruta:

Ejemplo

5 4

6 1 8

7 3 2

1 2 3

8 4

7 6 5

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

1010 /69/69

1. Estado Inicial

• El estado inicial, es el estado que el agente sabe que se encuentra.

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

1111 /69/69

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)}

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

1212 /69/69

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.

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

1313 /69/69

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.

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

1414 /69/69

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.

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

1515 /69/69

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

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

1616 /69/69

EJEMPLO DE PROBLEMAS

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

1717 /69/69

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.

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

1818 /69/69

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 realTienden 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

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

1919 /69/69

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.

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

2020 /69/69

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.

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

1

3

5

7

2

4

6

8

1. Mundo de la aspiradora

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

2222 /69/69

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.

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

2323 /69/69

1. Mundo de la aspiradora

Diagrama de Estados

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

2424 /69/69

2. El juego de las ocho fichas

5 4

6 1 8

7 3 2

1 2 3

8 4

7 6 5

Estados:Estados:

Ubicación de cada una de las ocho placas en los Ubicación de cada una de las ocho placas en los nueve cuadrados. Conviene incluir la ubicación nueve cuadrados. Conviene incluir la ubicación del espacio vacío.del espacio vacío.

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

2525 /69/69

• 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.

• Estado inicial:

• Función de sucesor:

• Prueba de meta:

• Costo de ruta:

2. El juego de las ocho fichas

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

2626 /69/69

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.

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

2727 /69/69

2. El juego de las ocho fichas

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

2828 /69/69

3. El problema de las ocho reinas

Estados:

Cualquier disposición que tenga de 0 a 8 reinas en el tablero.

Colocar 8 reinas en un tablero de ajedrez de manera que ninguna de ellas esté en posibilidad de atacarse entre sí

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

2929 /69/69

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

3. El problema de las ocho reinas

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

3030 /69/69

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.

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

3131 /69/69

3. El problema de las ocho reinasAlgunas soluciones al problema

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

3232 /69/69

4. Criptoaritmética

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+ TEN---------SIXTY

2976+ 850+ 850---------31486

Estados:Un problema en la que una o algunas letras son reemplazadas con dígitos.

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

3333 /69/69

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.

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

3434 /69/69

4. Criptoaritmética

T W O+ T W OF O U R

S E N D+ M O R EM O N E Y

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

3535 /69/69

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?

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

3636 /69/69

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?

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

3737 /69/69

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.

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

3838 /69/69

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.

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

3939 /69/69

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.

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

4040 /69/69

b. Problema del agente viajero

http://users.ox.ac.uk/~quee0818/ts/ts.html

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

4141 /69/69

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.

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

4242 /69/69

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

4343 /69/69

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.

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

4444 /69/69

d. Navegación de robots

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

4545 /69/69

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.

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

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

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

4747 /69/69

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.

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

4848 /69/69

BÚSQUEDA DE SOLUCIONES

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

4949 /69/69

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.

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

5050 /69/69

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.

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

5151 /69/69

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.

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

5252 /69/69

Á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

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

5353 /69/69

Generación de secuencias de acciones

Estado inicial

Piura

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

5454 /69/69

Generación de secuencias de acciones

Después de expandir Piura

Piura

AncashLoreto

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

5555 /69/69

Generación de secuencias de acciones

Después de expandir Loreto

Piura

AncashLoreto

Ucayali

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

5656 /69/69

Generación de secuencias de acciones

Después de expandir Ancash

Piura

AncashLoreto

Ucayali UcayaliLimaJunin

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

5757 /69/69

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

problemaciclo 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úsquedafin

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

5858 /69/69

ESTRUCTURAS DE DATOS

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

5959 /69/69

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

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

6060 /69/69

Estructuras de datosEstado = 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

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

6161 /69/69

Margen o Frontera

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

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

6262 /69/69

PILAS

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

6363 /69/69

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)

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

6464 /69/69

Lista FIFO

Primero en entrar, primero en salir

Entrada Salida

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

6565 /69/69

Lista LIFO

Último en entrar, primero en salir

Entrada

Salida

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

6666 /69/69

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 hacersi nodos está vacío, contestar con fallanodo 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

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

6767 /69/69

ESTRATEGIAS DE BÚSQUEDA

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

6868 /69/69

Estrategias de Búsqueda

Búsqueda No Informada

(Ciega)

1. Búsqueda preferente por amplitud

2. Búsqueda de costo uniforme

3. Búsqueda preferente por profundidad

4. Búsqueda limitada por profundidad

5. Búsqueda por profundización iterativa

6. Búsqueda bidireccional

Búsqueda Informada

(Heurística)

1. Búsqueda avara2. Búsqueda A*3. Búsqueda A*PI4. Búsqueda A*SRM

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

6969 /69/69

Estrategias de BúsquedaLas 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?

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

7070 /69/69

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

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

7171 /69/69

PREGUNTAS