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 2 - Solución
Búsqueda no informada
Curso 2011–2012
1. Selecciona la(s) respuesta(s) correcta(s) para las siguientes cuestiones:
1. Cuál o cuáles de las siguientes afirmaciones acerca de los algoritmos de búsqueda
no informada son ciertas:
(a) Los algoritmos de búsqueda no informada requieren de información heurı́stica para que sean óptimos.
(b) La búsqueda en amplitud es óptima y completa siempre y cuando el coste
de los operadores sea constante.
(c) La búsqueda en profundidad es óptima y completa siempre que el coste de
los operadores sea constante.
(d) La complejidad en espacio de la búsqueda en amplitud es mayor que en el
caso de la búsqueda en profundidad.
2. Cuál o cuáles de las siguientes afirmaciones acerca de los algoritmos de búsqueda
no informada son ciertas:
(a) La complejidad en tiempo del algoritmo de búsqueda en amplitud es directamente proporcional a la longitud de la lista abierta.
(b) La complejidad del algoritmo de búsqueda en amplitud es exponencial en
el peor caso, mientras que es logarı́tmica en el mejor de ellos.
(c) La complejidad en tiempo y en espacio del algoritmo de búsqueda en amplitud es exponencial en ambos casos.
(d) Los algoritmos de búsqueda en profundidad para operadores de coste distinto a uno pero constante son óptimos.
2. En una mesa se encuentran dos jarras, una con capacidad para 3 litros (llamada Tres,
y la otra con capacidad para 4 litros (llamada Cuatro). Inicialmente, Tres y Cuatro
están vacı́as. Cualquiera de ellas puede llenarse con el agua de un grifo G. Asimismo,
el contenido de las jarras se puede vaciar en una pila P. También es posible verter el
agua de una jarra en la otra. No se dipone de dispositivos de medición adicionales.
Se trata de encontrar una secuencia de operadores que deje exactamente dos litros
de agua en Cuatro.
(a) Modela este problema como un problema de búsqueda. Tendrás que definir, por
tanto, un estado inicial, el conjunto de estados meta, los operadores (especificando sus precondiciones y postcondiciones), ası́ como el coste de cada operador.
Solución:
Estado inicial : {C = 0, T = 0}
Estado final : {C = 2, T = }
Operadores
1. Op1: Llenar C de G(x,y)
Pre: {x < 4}
Post: {C = 4, T = y}
Página 1 de 3
Hoja de Problemas 2 - Solución
Búsqueda no informada
2. Op2: Llenar T de G(x,y)
Pre: {y < 3}
Post: {C = x, T = 3}
3. op3: VaciarCuatroEnP(x,y)
Pre: {x > 0}
Post: {C = 0, T = y}
4. op4: VaciarTresEnP(x,y)
Pre: {y > 0}
Post: {C = x, T = 0}
5. op5 LlenarCuatroDesdeTres(x,y)
Pre: {x > 0 ∧ x < 4 ∧ x + y ≥ 4}
Post: {C = 4, T = x + y − 4}
6. op6 LlenarTresDesdeCuatro(x,y)
Pre: {y > 0 ∧ y < 3 ∧ x + y ≥ 3}
Post: {C = x + y − 3, T = 3}
7. op7: VaciarTresEnCuatro(x,y)
Pre: {y > 0 ∧ x + y < 4}
Post: {C = x + y, T = x + y − 4}
8. op8: VaciarCuatroEnTres(x,y)
Pre: {x > 0 ∧ x + y < 3}
Post: {C = x + y − 3, T = 3}
(b) Caracteriza el conocimiento a priori del agente de resolución del problema correspondiente.
Solución:
El agente sabe a priori el estado inicial, el estado final, los operadores y su coste
(constante en este caso)
(c) Encuentra una solución al problema utilizando un algoritmo de búsqueda en
amplitud.
Solución:
Una solución podrı́a ser la siguiente:
{C = 0, T = 0} →op2 {C = 0, T = 3} →op7 {C = 3, T = 0} →op2 {C = 3, T =
3} →op5 {C = 4, T = 2} →op3 {C = 0, T = 2} →op8 {C = 0, T = 2}
3. El grafo que se muestra a continuación determina un problema de búsqueda. Cada
nodo representa un estado; los arcos modelan la aplicación de los operadores. Si A es
el estado inicial y K y E son los estados meta:
Página 2 de 3
Hoja de Problemas 2 - Solución
Búsqueda no informada
(a) Desarrolla el árbol de búsqueda en amplitud. Indica el orden en que se expanden
los nodos. ¿Cuál de los nodos meta se expande primero?
(b) La búsqueda en profundidad se diferencia de la búsqueda en amplitud en que al
expandir un nodo, los nodos hijo se insertan al inicio de la lista abierta. Resuelva
el problema usando este algoritmo.
(c) ¿Qué ventajas presenta un algoritmo de búsqueda en profundidad con respecto
a un algoritmo de búsqueda en amplitud?
(d) ¿Qué desventajas existen?
4. El problema de las bombillas consiste en apagar todas las bombillas del tablero, a
partir de una configuración inicial aleatoria. Para conseguir esto, es posible seleccionar un bombilla y mudar su estado, encendiéndola o apagándola. Si la bombilla
está encendida, se apagará y hará mudar de estado a todas las bombillas de la misma fila y columna. Si la bombilla está apagada, se encenderá y de la misma manera
hará mudar de estado a todas las bombillas de la misma fila y columna.
(a) Considere el estado inicial y final en figura. Aplique el algoritmo de búsqueda
en amplitud para resolver el problema. El orden de selección de las bombillas es
de arriba a abajo, y de izquierda a derecha.
(b) ¿Cuántos nodos expande el algoritmo?
Página 3 de 3
Descargar