Вы находитесь на странице: 1из 22

Inteligencia g Artificial

Tema 2 q Bsquedas Ivan Olmos Pineda

Contenido
Estructura General de un PSA Formulacin de un PSA Algoritmos de Bsqueda de Soluciones Aplicaciones

BUAP

Inteligencia Artificial

Introduccin
Agentes
Como actan para alcanzar la meta
Secuencia de acciones para alcanzarla Agentes para la solucin de problemas

Problema, se define como:


Una meta Conjunto de medios que permiten alcanzarla

Bsqueda
Procedimiento de exploracin para determinar que es lo que se puede obtener
BUAP Inteligencia Artificial 3

Introduccin
Formulacin de metas
Una U meta es un conjunto d estados d l mundo t j t de t d del d A travs de las acciones, un agente pasa de un estado a otro

Acciones
Causantes de la transicin de un estado a otro El agente tiene que determinar que acciones permiten obtener el estado de la meta
BUAP Inteligencia Artificial 4

Formulacin de un Problema
Proceso que consiste en decidir que acciones y estados habrn de considerarse Qu condiciones son necesarias?
Qu sucede si no hay forma de discernir que camino nos lleva a la meta? Qu decisin tomar en tal situacin?

BUAP

Inteligencia Artificial

Bsquedas
En trminos generales, cuando un agente tiene ante si diversas opciones cuyo valor ignora, stas se tienen que evaluar de alguna forma
Evaluar las diversas secuencias de acciones que le conducen a estados cuyo valor se conoce Bsquedas

BUAP

Inteligencia Artificial

Bsquedas
Algoritmo de bsqueda
Entrada: E t d un problema bl Salida: solucin que adopta la forma de una secuencia de acciones

Una vez encontrada una solucin, se procede a ejecutar las acciones

BUAP

Inteligencia Artificial

Bsquedas

BUAP

Inteligencia Artificial

Agentes que Resuelven Problemas


Formular: decidir que acciones y estados debern considerarse Buscar: proceso para hallar las secuencias de acciones que conduzcan a una meta Ejecutar: fase donde se llevan a cabo las acciones que conducen a la meta
BUAP Inteligencia Artificial 9

Agentes que Resuelven Problemas


funcin AGENTE-SENCILLO-RESOLVENTE-PROBLEMAS(percepcin) devuelve una accin entradas: percepcin, una percepcin esttico: sec, una secuencia de acciones, vaca inicialmente estado, una descripcin del estado actual del mundo objetivo, un objetivo inicialmente nulo problema, una formulacin del problema estado ACTUALIZAR-ESTADO(estado, percepcin) si sec est vaca entonces hacer objetivo FORMULAR OBJETIVO(estado) problema FORMULAR-PROBLEMA(estado, objetivo) (p ) sec BSQUEDA(problema) accin PRIMERO(secuencia) sec RESTO(secuencia) devolver accin

BUAP

Inteligencia Artificial

10

Ejemplo
Imagine un agente en la ciudad de Arad, Rumana, d s uta do disfrutando de u viaje de vacaciones. Maana sa e un aje acac o es a a a sale un vuelo a Bucarest. Formulacin del objetivo: estar en Bucarest Formulacin del problema: estados: varias ciudades acciones: conducir entre l ciudades i d i t las i d d Encontrar solucin: secuencia de ciudades, por ejemplo, Arad, Sibiu, Fagaras, Bucarest.
BUAP Inteligencia Artificial 11

Ejemplo

BUAP

Inteligencia Artificial

12

Ejemplo de una Aspiradora


Estado simple, estado inicial 5. Solucin?

BUAP

Inteligencia Artificial

13

Ejemplo de una Aspiradora


Estado simple, estado inicial 5. Solucin? [Derecha, Aspirar] Estado mltiple, estado inicial {1, 2, 3, 4, 5, 6, 7, 8} Por ejemplo, Derecha produce {2, 4, 6, 8}. Solucin?

BUAP

Inteligencia Artificial

14

Ejemplo de una Aspiradora


Estado simple, estado inicial 5. Solucin? [Derecha, Aspirar] Conformado, estado inicial {1, 2, 3, 4, 5, 6, 7, 8} Por ejemplo, Derecha produce {2, 4, 6, 8}. Solucin? [Derecha, Aspirar, Izquierda, Aspirar] Contingencia, estado inicial 5. Ley de Murphy: Aspirar a veces deposita suciedad en la alfombra. Sensores locales: suciedad, slo en el lugar. Solucin?

BUAP

Inteligencia Artificial

15

Ejemplo de una Aspiradora


Estado simple, estado inicial 5. Solucin? [Derecha, Aspirar] Conformado, Conformado estado inicial {1, 2, 3, 4, 5, 6, 7, 8} Por ejemplo, Derecha produce {2, 4, 6, 8}. Solucin? [Derecha, Aspirar, Izquierda, Aspirar] Contingencia, estado inicial 5. Ley de Murphy: Aspirar a veces deposita suciedad en la alfombra. alfombra Sensores locales: suciedad, slo en el lugar. Solucin? [Derecha, si suciedad entonces Aspirar]
BUAP Inteligencia Artificial 16

Problemas Bien Definidos


Un problema se define por cuatro elementos: estado inicial por ejemplo, Estoy en Arad funcin sucesor S(x) = conjunto de pares accin-estado por ejemplo, S(Arad) = {<Arad Zerind, Zerind>,...} Prueba de meta, descripcin para decidir si se trata de un edo meta explcito, por ejemplo, x = en Bucarest implcito, por ejemplo, en ajedrez, el estado jaque mate costo del camino, se asignan costos a una ruta por ejemplo, suma de distancias, nmero de acciones ejemplo distancias ejecutadas, etc. Una solucin es una secuencia de acciones que parten desde un estado inicial hasta alcanzar un estado objetivo.

BUAP

Inteligencia Artificial

17

Costos
Mediante una ruta se conectan los conjuntos de estados
La solucin es una ruta que conduce a estados meta Espacio de conjunto de estados

cul es el mejor camino?


Permite encontrar una solucin? (decisin) Es una buena solucin? (optimizacin) Cul es el costo de bsqueda correspondiente al tiempo y memoria necesarios para encontrar la solucin?

BUAP

Inteligencia Artificial

18

Costos
Costo total

C.T. = Costo del Camino + Costo de la Bsqueda

BUAP

Inteligencia Artificial

19

Ejemplo: Espacio de Estados Aspiradora

Estados? Acciones? Prueba de meta? Costo del camino?

BUAP

Inteligencia Artificial

20

Ejemplo: Espacio de Estados Aspiradora

Estados? Suciedad completa y localizaciones de robot (ignorar cantidades de suciedad) Acciones? Izquierda, Derecha, Aspirar, NoOp Prueba de meta? No suciedad Costo del camino? 1 por accin (0 por NoOp)

BUAP

Inteligencia Artificial

21

Ejemplo: el 8-puzzle

Estados? E d ? Acciones? Prueba de meta? Costo del camino?

BUAP

Inteligencia Artificial

22

Ejemplo: el 8-puzzle

Estados? L E t d ? Localizaciones completas d l piezas (i li i l t de las i (ignorar l posiciones i t las i i intermedias) di ) Acciones? Mover el negro a la izquierda, derecha, arriba, abajo (ignorar los atascos, etc.) Prueba de meta? = estado objetivo (proporcionado) Costo del camino? 1 por movimiento [Nota: solucin ptima de la familia del n-puzzle es NP-C]

BUAP

Inteligencia Artificial

23

Bsquedas rboles
Idea general: Explorar las diferentes ramas de un rbol, rbol con el objetivo de encontrar un camino desde la raz a una hoja que represente un estado final

funcin BSQUEDA-RBOLES(problema,estrategia) devuelve una solucin o fallo inicializa el rbol de bsqueda usando el estado inicial del problema Hacer ciclo si no hay candidatos para expandir entonces devolver fallo escoger, de acuerdo a la estrategia, un nodo hoja para expandir si el nodo contiene un estado objetivo entonces devolver la correspondiente solucin en otro caso expandir el nodo y aadir los nodos resultado al rbol de bsqueda

BUAP

Inteligencia Artificial

24

Bsquedas en rboles
Bsqueda a lo ancho Bsqueda en Profundidad primero Bsqueda ancho-profundo Bsqueda en profundidad limitada

BUAP

Inteligencia Artificial

25

Bsqueda primero en anchura


Se expande primero el nodo raz, a continuacin, se expanden todos los sucesores del nodo raz, despus sus sucesores, etc. Implementacin: Usa una estructura FIFO, es decir, los nuevos sucesores van al final.

BUAP

Inteligencia Artificial

26

Bsqueda primero en anchura


Se expande primero el nodo raz, a continuacin, se expanden todos los sucesores del nodo raz, despus sus sucesores, etc. Implementacin: Usa una estructura FIFO, es decir, los nuevos sucesores van al final.

BUAP

Inteligencia Artificial

27

Bsqueda primero en anchura


Se expande primero el nodo raz, a continuacin, se expanden todos los sucesores del nodo raz, despus sus sucesores, etc. Implementacin: Usa una estructura FIFO, es decir, los nuevos sucesores van al final.

BUAP

Inteligencia Artificial

28

Bsqueda primero en anchura


Se expande primero el nodo raz, a continuacin, se expanden todos los sucesores del nodo raz, despus sus sucesores, etc. Implementacin: Usa una estructura FIFO, es decir, los nuevos sucesores van al final.

BUAP

Inteligencia Artificial

29

Propiedades de la bsqueda primero en anchura


Completa? S b: factor d b f t de ramificacin. ifi i d: profundidad de solucin. Tiempo? 1+b+b2+b3+ +bd + b(bd-1) = O(bd+1) Espacio? O(bd+1) (mantiene todos los nodos en la memoria)
BUAP Inteligencia Artificial 30

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

31

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

32

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

33

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

34

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

35

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

36

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

37

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

38

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

39

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

40

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

41

Bsqueda primero en profundidad


Se expande el nodo no expandido ms profundo. Implementacin: Usa una estructura LIFO, es decir, los sucesores se ponen delante. Suponiendo M como nodo objetivo.

BUAP

Inteligencia Artificial

42

Propiedades de la bsqueda primero en profundidad


Completa? Si
Completa en espacios finitos.

Tiempo? O(bm): terrible si m es mucho mayor que d. m: mxima profundidad.


Pero si las soluciones son densas, puede ser mucho ms rpida que la bsqueda primero en anchura.

Espacio? O(bm) es decir espacio lineal O(bm), decir, lineal.

BUAP

Inteligencia Artificial

43

Actividad
Implementar un programa que determine la ruta ms corta entre un par de ciudades
Entrada: Mapa (conjunto de ciudades, conjunto de carreteras que unen a ciudades, distancia entre las ciudades), Origen, Destino Salida: Secuencia de ciudades a visitar (desde el origen hasta el destino). En caso de no existir un camino, reportarlo. reportarlo

BUAP

Inteligencia Artificial

44