Universidad Rey Juan Carlos Curso 2011–2012 Inteligencia Artificial Ingenier´ıa Inform´

Anuncio
Universidad Rey Juan Carlos
Inteligencia Artificial
Ingenierı́a Informática
Hoja de Problemas 3
Búsqueda Heurı́stica (I)
Curso 2011–2012
1. Contesta a las siguientes preguntas:
(a) ¿Cuál es el objetivo de una función heurı́stica aplicada a la búsqueda en el
espacio de estados?
(b) ¿Cuál es la definición de heurı́stica consistente?
(c) ¿Cuál es la definición de heurı́stica optimista?
(d) ¿Una función heurı́stica consistente es también optimista?
(e) ¿Qué condiciones garantizan que el algoritmo A∗ sea óptimo?
2. Dado el siguiente problema de búsqueda:
Figura 1: Red 2D regular e infinita, Estado inicial (0, 0), Estado final: (x, y) x, y ∈ Z,
Movimiento entre estados directamente conectados a coste 1
Por un genérico nodo (u, v), ¿cuáles de las siguientes funciones heurı́sticas son optimistas?
(a) h∗ ((u, v)) = |u − x| + |v − y|
(b) h∗ ((u, v)) = |u − x| ∗ |v − y|
(c) h∗ ((u, v)) = 2 ∗ min(|u − x|, |v − y|)
(d) h∗ ((u, v)) = |u| + |x| + |v| + |y|
(e) h∗ ((u, v)) =
q
(|u − x|2 + |v − y|2 )
3. El juego de los “cuadrados latinos 3 x 3” consiste en lo siguiente:
Tenemos un tablero 3 x 3 que inicialmente está vacı́o
En cada posición colocamos un número del 1 al 9, ninguno de los cuales puede
repetirse
Página 1 de 5
Hoja de Problemas 3
Búsqueda Heurı́stica (I)
El objetivo es tener un número en cada posición del tablero, tal que la suma de
las diferentes filas, columnas y diagonales de siempre el mismo valor: 15
Suponga la configuración descrita en la figura, donde tenemos seis posiciones ocupadas, 3 libres y sólo una fila y una columna cumplen que la suma de sus números es
15
2
7
9
5 3
1
De acuerdo con las reglas del juego, se puede poner un número de los que faltan
(4, 6, 8) en cualquiera de los huecos libres.
(a) Modelice el juego de los “cuadrados latinos 3 x 3” como un espacio de estados,
indicando el conjunto de posibles estados, estado inicial y final, ası́ como la
función expandir que representa los operadores aplicables en cada estado (el
orden en el que se añaden los números es irrelevante). Suponga que cada operador
tiene coste uno.
(b) Suponga la siguiente función heurı́stica:
h∗ (n) = número de filas en n que no suman 15 +
número de columnas en n que no suman 15 +
número de diagonales en n que no suman 15.
Desarrolle el árbol de búsqueda generado por el algoritmo A∗ con esta función
heurı́stica suponiendo que el estado inicial es el que muestra la figura. Señale
claramente los valores de g, h∗ y f ∗ de cada nodo del árbol, e indique el orden
de expansión. Asimismo, exponga el estado de la lista abierta en cada paso del
algoritmo.
(c) ¿La función heurı́stica h∗ es optimista y/o consistente?
4. Las recientes lluvias han provocado daños en la infraestructura de un municipio que
deben ser reparados con urgencia. Concretamente, hay N obras por realizar y se ha
pedido presupuesto a M empresas constructoras para cada una de las obras. El coste
de encargar cada obra a cada empresa viene dado por una tabla como la siguiente,
donde Ci,j indica el coste de encargar a la empresa Ei la obra Oj
EmpresaE1
EmpresaE2
...
EmpresaEM
Obra O1
C1,1
C2,1
Obra O2
C1,2
C2,2
CM,1
CM,2
... Obra ON
C1,N
C2,N
CM,N
El Ayuntamiento ha decidido asignar una sola obra por empresa. El problema consiste
en decidir qué obra se asignará a cada empresa, de modo que se minimice el coste
total. Los técnicos deciden utilizar el algoritmo A∗ para resolver el problema.
(a) Defina una representación “eficiente” del problema, especificando el conjunto de
posibles estados, estado inicial, estados finales, ası́ como operador(es) y su coste.
Página 2 de 5
Hoja de Problemas 3
Búsqueda Heurı́stica (I)
(b) Defina una “buena” función heurı́stica h∗ optimista para el problema general.
¿Es su función h∗ también consistente?
(c) Considere el siguiente caso particular (los costes se expresan en millones de
Euros)
EmpresaE1
EmpresaE2
EmpresaE3
EmpresaE4
Obra O1
2
5
6
10
Obra O2
3
5
5
8
Obra O3
2
4
4
6
Obra O4
4
5
3
6
Desarrolle el árbol de búsqueda que genera el algoritmo A∗ (puede suponer el
“mejor caso”). Indique el orden en el que se expanden los nodos, los valores
de g, h∗ y f ∗ para cada nodo del árbol de búsqueda, y la evolución de la lista
abierta.
5. El grafo que se muestra en la figura describe un problema de búsqueda. Suponga que
A es el estado inicial y que F y E son estados meta. Los arcos están etiquetados con
el coste real de los operadores.
h∗ es una función heurı́stica, cuyos valores son
Página 3 de 5
Hoja de Problemas 3
Búsqueda Heurı́stica (I)
h∗
A 8
B 6
C 6
D 5
E 0
F 0
(a) Desarrolle el árbol de búsqueda que genera el algoritmo A∗ . Indique el orden en
que se expanden los nodos. ¿Cuál de los nodos meta se encuentra primero?
(b) ¿La función heurı́stica es consistente y/o optimista? Argumente su respuesta.
6. Considere el problema de búsqueda del ejercicio precedente. Suponga que A es el
estado inicial y que F y E son estados meta.
(a) Asigne los valores del coste real de los operadores y de la función heurı́stica h∗ ,
de modo que ésta resulte ser optimista y no consistente
(b) Desarrolle el árbol de búsqueda que genera el algoritmo A∗ . ¿Es el algoritmo A∗
óptimo en este caso?
7. Considera el siguiente juego. En un tablero de hielo 9x6 (9 casillas de ancho, 6 casillas
de alto), hay un pingüino, unos bloques de hielo, unos obstáculos, y un agujero. El
pingüino y los bloques de hielo se pueden mover, mientras que los obstáculos y el
agujero son fijos. En cada movimiento el pingüino o un bloque de hielo se deslizarán
en la dirección del movimiento hasta o bien encontrar un obstáculo o bien llegar al
fin del tablero (figura 2). Por lo tanto, el pingüino o un bloque de hielo pasará por
encima del agujero (sin caer dentro), si justo detrás del agujero no hay nada que lo
Página 4 de 5
Hoja de Problemas 3
Búsqueda Heurı́stica (I)
Figura 2:
Figura 3:
pare (un obstáculo, otro bloque de hielo, el pingüino mismo, como en figura 2). El
objetivo del juego es enviar el pingüino dentro del agujero con el mı́nimo nÃo mero de
movimientos posible. Para ello se pueden mover (en las 4 direcciones) tanto el propio
pingüino, como los bloques de hielo.
(a) Modelar el problema como un problema de búsqueda, formalizando el estado, las
acciones con sus precondiciones y efectos, la función de coste y el estado meta.
(b) Resolver el problema, a partir del estado inicial en figura 3, utilizando el algoritmo A∗ y filtrando todos los estados repetidos. Indica el orden de expansión de los
nodos, ası́ como los valores de f ∗ para cada nodo. Utiliza como función heurı́stica h∗ la distancia de Manhattan del pingüino respecto al agujero + la distancia
de Manhattan de cada bloque respecto al agujero (si el pingüino está dentro del
agujero, entonces h∗ = 0). ¿Es la solución encontrada por el algoritmo óptima?
¿Es la heurı́stica h∗ optimista?
Página 5 de 5
Descargar