Anda di halaman 1dari 71

INTELIGENCIA ARTIFICIAL

Soluciones de problemas
mediante búsqueda

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


Mapa Conceptual del Curso
Inteligencia
Artificial y
Sistemas
Expertos

Conceptos Lógica y Lenguaje


Búsqueda
Generales Razonamiento Simbólico

Inteligencia Lógica
LISP Búsqueda
Artificial Proposicional

Lógica de Búsqueda
Conocimiento Ciega
Predicados

Inferencia y Búsqueda
Agentes Heurística
Razonamiento

Planeación

2 /69
Tabla de Contenido
1. Formulación de Problemas 3
2. Ejemplo de Problemas 14
3. Búsqueda de Soluciones 46
4. Estructura de Datos 56
5. Pilas 60
6. Estrategias de Búsqueda 65
7. Bibliografía 68

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

4 /69
FORMULACION DE
PROBLEMAS

5 /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.

6 /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).
7 /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
Estados
4. Costo de Ruta

Mundo

8 /69
Ejemplo
5 4 1 2 3

6 1 8 8 4

7 3 2 7 6 5

• 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
9 /69
1. Estado Inicial
• El estado inicial, es el estado que el agente
sabe que se encuentra.

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

11 /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.

12 /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.

13 /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.

14 /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
solución = buscar
prueba de meta
función costo de ruta
15 /69
EJEMPLO DE PROBLEMAS

16 /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.

17 /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 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
18 /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.

19 /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.
20 /69
1. Mundo de la aspiradora

1 2

3 4

5 6

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

22 /69
1. Mundo de la aspiradora
Diagrama de Estados

23 /69
2. El juego de las ocho fichas

5 4 1 2 3

6 1 8 8 4

7 3 2 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.
24 /69
2. El juego de las ocho fichas
• 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
Costo de ruta:a la longitud de la ruta.

25 /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.
26 /69
2. El juego de las ocho fichas

27 /69
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.
28 /69
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

29 /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.

30 /69
3. El problema de las ocho reinas
Algunas soluciones al problema

31 /69
4. Criptoaritmética
Las letras representan dígitos,
FORTY 2976 el objetivo es determinar una
sustitución de dígitos por
+ TEN + 850 letras de manera que la
+ TEN + 850 operación resultante sea
correcta aritméticamente. Por
--------- --------- lo general cada letra
SIXTY 31486 representa un dígito distinto.

Estados:
Un problema en la que una o algunas letras
son reemplazadas con dígitos.
32 /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.

33 /69
4. Criptoaritmética

T W O S E N D
+ T W O + M O R E
F O U R M O N E Y

34 /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?

35 /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?

36 /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.

37 /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.

38 /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.

39 /69
b. Problema del agente viajero

http://users.ox.ac.uk/~quee0818/ts/ts.html
40 /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.

41 /69
42 /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.

43 /69
d. Navegación de robots

44 /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.

45 /69
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
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.

47 /69
BÚSQUEDA DE SOLUCIONES

48 /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.

49 /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.

50 /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.

51 /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

52 /69
Generación de secuencias de acciones
Estado inicial

Piura

53 /69
Generación de secuencias de acciones
Después de expandir Piura

Piura

Loreto Ancash

54 /69
Generación de secuencias de acciones
Después de expandir Loreto

Piura

Loreto Ancash

Ucayali

55 /69
Generación de secuencias de acciones
Después de expandir Ancash

Piura

Loreto Ancash

Ucayali Junin Lima Ucayali

56 /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 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

57 /69
ESTRUCTURAS DE DATOS

58 /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

59 /69
Estructuras de datos
Estado = 1
Nodo Padre = 0
Operador = null
Profundidad = 0
Costo de la Ruta = 0

Estado = 2 Estado = 3
Nodo Padre = 1 Nodo Padre = 1
Operador = OP1 Operador = OP1
Profundidad = 1 Profundidad = 1
Costo de la Ruta = 1 Costo de la Ruta = 1
60 /69
Margen o Frontera
• El margen o frontera es el grupo de nodos que
están en espera de ser expandidos.

61 /69
PILAS

62 /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)

63 /69
Lista FIFO

Entrada Salida

Primero en entrar, primero en salir

64 /69
Lista LIFO
Entrada

Salida

Último en entrar, primero en salir

65 /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 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

66 /69
ESTRATEGIAS DE BÚSQUEDA

67 /69
Estrategias de Búsqueda
Búsqueda No Informada Búsqueda Informada
(Ciega) (Heurística)

1. Búsqueda preferente por 1. Búsqueda avara


amplitud 2. Búsqueda A*
2. Búsqueda de costo 3. Búsqueda A*PI
uniforme 4. Búsqueda A*SRM
3. Búsqueda preferente por
profundidad
4. Búsqueda limitada por
profundidad
5. Búsqueda por
profundización iterativa
6. Búsqueda bidireccional

68 /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?
69 /69
Bibliografía
• AIMA. Capítulo 3, primera edición.
• AIMA. Chapter 3, second edition.

70 /69
PREGUNTAS

71 /69

Anda mungkin juga menyukai