Ejercicios IA 2014-2 Env

9
UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013 Hoja de Problemas Tema 4 Búsqueda heurística avanzada Pág. 1 / 9 Ejercicio 1: Conteste a las siguientes preguntas: (a) ¿Cómo funciona una heurística con aprendizaje? Solución: Una heurística con aprendizaje empieza con h * (n) = 0 para todos los nodos n, y cada vez que se realiza una búsqueda, en cada paso usa el coste real de un paso para mejorar el valor de h * . (b) ¿Cuál es la desventaja principal de una heurística con aprendizaje? Solución: Hay que almacenar los valores h * de todos los nodos en una tabla, y por eso necesita una gran cantidad de memoria. (c) ¿Qué significa que una función heurística optimista h 1 * es más informada que otra función heurística optimista h 2 * ? Solución: h 1 * es más informada que h 2 * si para todo nodo n se cumple que h 1 * (n) >= h 2 * (n) (d) Si hay dos funciones heurísticas optimistas para el algoritmo A * , ¿por qué es preferible utilizar la más informada? Solución: Porque A * con la función heurística más informada expande un número de nodos menor o igual al número de nodos que expandiría con la menos informada. (e) ¿A qué búsqueda es equivalente el algoritmo A * si se utiliza como heurística la función h * (n)=0 para todo n? Solución: Es equivalente a la búsqueda de coste uniforme, ya que f * (n) = g(n) + h * (n) si h * (n) = 0 implica que f * (n) = g(n) que es la función utilizada por la búsqueda de coste uniforme.

description

investigacion operativa 2

Transcript of Ejercicios IA 2014-2 Env

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 1 / 9

    Ejercicio 1:

    Conteste a las siguientes preguntas:

    (a) Cmo funciona una heurstica con aprendizaje?

    Solucin: Una heurstica con aprendizaje empieza con h*(n) = 0 para todos los nodos n, y cada vez que se realiza una bsqueda, en cada paso usa el coste real de un paso para mejorar el valor de h*.

    (b) Cul es la desventaja principal de una heurstica con aprendizaje?

    Solucin: Hay que almacenar los valores h* de todos los nodos en una tabla, y por eso necesita una gran cantidad de memoria.

    (c) Qu significa que una funcin heurstica optimista h1* es ms informada que otra funcin heurstica optimista h2*?

    Solucin: h1* es ms informada que h2* si para todo nodo n se cumple que h1*(n) >= h2*(n)

    (d) Si hay dos funciones heursticas optimistas para el algoritmo A*, por qu es preferible utilizar la ms informada?

    Solucin: Porque A* con la funcin heurstica ms informada expande un nmero de nodos menor o igual al nmero de nodos que expandira con la menos informada.

    (e) A qu bsqueda es equivalente el algoritmo A* si se utiliza como heurstica la funcin h*(n)=0 para todo n?

    Solucin: Es equivalente a la bsqueda de coste uniforme, ya que f*(n) = g(n) + h*(n) si h*(n) = 0 implica que f*(n) = g(n) que es la funcin utilizada por la bsqueda de coste uniforme.

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 2 / 9

    Ejercicio 2: Considere el 8-puzzle cuyo estado inicial y estado meta se muestran en la siguiente figura:

    Desarrolle el rbol de bsqueda que expande el algoritmo A* utilizando las siguientes heursticas. Evite ciclos generales, indique el orden de expansin de los estados y muestre en cada paso los valores de h*, g, y f *. Cuando puede elegir entre varios nodos para ser expandidos, asuma el peor caso.

    a) ha*(n) = nmero de piezas descolocados en n respecto al estado meta

    b) hc*(n) = suma de las distancias de Manhattan de las piezas en n respecto al estado meta

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 3 / 9

    Solucin a:

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 4 / 9

    Solucin b:

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 5 / 9

    Ejercicio 3: Considere el problema el laberinto que se presenta en la siguiente figura. El agente A tiene el objetivo de encontrar la salida S. Las nicas acciones de las que el agente dispone son los movimientos (derecha, arriba, abajo, e izquierda) del cuadrado en el que se encuentra el agente en un momento dado a un cuadrado adyacente. Sin embargo, cada una de estas acciones slo es posible si en la direccin correspondiente no existe una barrera ni se saldra del tablero. Cada accin tiene un coste de una unidad. De antemano, el agente conoce el mapa del laberinto y la posicin de la salida, pero no las posiciones de las barreras. Adems el agente es capaz de identificar en cada momento su propia posicin en el mapa.

    a) Define una funcin heurstica h* para este problema. Es su funcin h* optimista y/o consistente? Justifique brevemente su propuesta!

    b) Suponiendo la posicin inicial del agente que se indica en la figura arriba, aplique la bsqueda A* con su funcin heurstica h* a este problema. Desarrolle el rbol de bsqueda suponiendo que no se evitan estados repetidos. Indique el orden en el que se expanden los nodos, as como los valores de g, h* y f * para cada nodo del rbol de bsqueda. (Si al expandir un nodo hay que elegir aleatoriamente entre varios, expanda preferiblemente primero un nodo que est ms cerca de un nodo meta.)

    c) Suponga el siguiente estado inicial:

    Suponga que el agente no tiene ninguna informacin heurstica inicial respecto a las distancias de las distintas posiciones en el tablero haca la salida. Aplique la bsqueda A* con el aprendizaje de la funcin heurstica h* a este problema. Desarrolle el rbol de bsqueda suponiendo que no se evitan estados repetidos. Indique el orden en el que se expanden los nodos, as como los valores de g, h * y f * para cada nodo del rbol de bsqueda. Adems, anote los valores de la funcin heurstica h* de cada nodo en una tabla de tal modo que se aprecian los cambios de estos valores a lo largo de la ejecucin del algoritmo. (Si al expandir un nodo hay que elegir aleatoriamente entre varios, expanda preferiblemente primero el nodo que est ms cerca de un nodo meta.)

    A S

    AS

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 6 / 9

    Solucin 3a) Una funcin heurstica evidente es la que mide la distancia mnima del agente hasta la salida (en nmero mnimo de cuadrados que tendra que recorrer) sin tener en cuenta las barreras. Para el estado de la figura primero el valor de h* sera 4. Esta funcin es optimista, ya que en el caso real (incluidas las barreras) el nmero de cuadrados a recorrer hasta la salida sera siempre igual o mayor que el valor de h*. Respecto a la consistencia, una funcin h* es consistente sii para todo nodo ni y todo hijo nj de ni se cumple que h*(ni) h*(nj) c(ni,nj). Esta condicin se cumple para la funcin elegida como se ve a continuacin: - para todo nodo ni y todo hijo nj de ni se cumple que c(ni,nj)=1 , ya que cada operacin vale una

    unidad - para todo nodo ni y todo hijo nj de ni se cumple que h*(ni) h*(nj){1,-1} (eso es as porque

    para cualquier dos estados adyacentes, uno es siempre una unidad ms cerca de la salida que el otro)

    - por tanto para todo nodo ni y todo hijo nj de ni se cumple necesariamente la condicin h*(ni) h*(nj) c(ni,nj), por lo que h* es consistente.

    Solucin 3b)

    A S

    AS A S

    A SA S

    A

    S

    A SA

    SA SA

    S

    A

    S

    A

    S

    AS

    A

    S

    AS

    f*=0+1=1

    f*=1+2=3 f*=1+2=3

    f*=2+1=3

    f*=3+2=5 f*=3+2=5 f*=3+2=5 f*=3+2=5

    f*=2+3=5 f*=2+1=3

    f*=3+4=7

    f*=3+2=5

    f*=4+3=7

    f*=4+1=5

    f*=5+0=5

    AS

    f*=3+2=5

    1

    2

    3

    4

    56

    7

    8

    9

    f*= el primer valor es g(n) y el segundo h*(n) El orden de expansin de los nodos est dada en los crculos.

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 7 / 9

    Solucin 3c)

    f*=0+0=0

    Valores de h* (inicialmente 0): A S A S AS

    AS

    AS

    AS

    A

    S

    A

    S

    A

    S

    0,2 0,1 0 0,2 0,1,2,2 0,1 0,1 0,1 0,1

    AS

    1

    f*=1+0=1A

    S2

    f*=1+0=1

    A S

    3

    f*=2+1=3

    AS

    8

    f*=2+0=2A

    S5

    f*=2+0=2A

    S4

    f*=2+1=3

    AS

    9

    f*=2+0=2

    A S

    6

    f*=3+0=3

    AS 10

    f*=3+1=4A

    S

    f*=3+1=4A

    S

    f*=3+0=3

    AS 7

    f*=3+1=4A S

    f*=3+1=4A S

    f*=3+1=4A

    S

    f*=4+1=5A

    S

    f*=4+1=5A

    S

    f*=4+0=4

    AS

    f*=3+1=4A S

    f*=3+1=4A

    S

    11

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 8 / 9

    Ejercicio 4: En juego de los cuadrados latinos se parte de un tablero 3 3 vaco. En cada posicin vamos colocamos nmeros del 1 al 9, ninguno de los cuales puede repetirse. El objetivo es tener el tablero completo, es decir, un nmero en cada posicin del mismo, y es necesario que el valor de la suma de las filas, columnas y diagonales sea siempre el mismo valor: 15. Un ejemplo en el cual tenemos el tablero completo, se han utilizado todos los nmeros pero no se consigue el objetivo indicado est en la siguiente figura. En este ejemplo slo una diagonal y la ltima fila cumplen que la suma de sus nmeros es 15.

    a) Defina una representacin eficiente para el juego de los cuadrados latinos 33, especificando el conjunto de estados, el estado inicial, y las operaciones permitidos en cada estado.

    b) Considere el estado inicial que se muestra a continuacin donde tenemos seis posiciones ocupadas, tres libres, y slo una diagonal cumple que la suma de sus nmeros es 15. Cada paso tiene coste uno.

    Asimismo, considere la siguiente funcin heurstica definida para cualquier estado n del tablero:

    h*(n) = el nmero de filas + el nmero de columnas + el nmero de diagonales en el estado n que no cumplen que la suma de sus nmeros es 15.

    Por ejemplo, el valor de h* de la configuracin de la primera figura es 6, mientras que el valor de h* para la configuracin de la segunda figura es 7. Desarrolle el rbol de bsqueda que genera el algoritmo A* para este problema. Indique el orden en el que se expanden los nodos, los valores de g, h * y f * para cada nodo del rbol de bsqueda, y la evolucin de la lista abierta.

    c) La funcin h* es optimista y/o consistente? El algoritmo A* encuentra siempre la solucin de menor coste? Razone brevemente sus respuestas.

    1 9 27 5 68 4 3

    2 4 5 36 1

  • UNIVERSIDAD REY JUAN CARLOS CURSO 2012-2013

    Hoja de Problemas Tema 4 Bsqueda heurstica avanzada

    Pg. 9 / 9

    Solucin: a) Sea N = {1,2,3,4,5,6,7,8,9} y T = {_} N un conjunto de smbolos. El conjunto de estados S

    viene dado por todos los vectores de longitud 9 sobre T en los que no se repite ningn nmero: _.,:9 iji vvvNjiTvS El estado inicial es s0=(_,_,_,_,_,_,_,_,_). El orden en el que se aaden nmeros al tablero es irrelevante, por lo que en cada estado decidimos utilizar slo el menor de los nmeros no usados hasta el momento. Sea n el nmero mnimo no utilizado en un estado s isnNiNnn .:min El conjunto de sucesores de un estado s se genera aadiendo n en cada hueco del tablero 2121*21 _.,:)( ssssnssTssSssexpandir

    b)

    c) La funcin heurstica no es optimista, como se ve en el apartado b a travs del nodo E: h*(E)=2

    > h (E)=1. Puesto que no es optimista, tampoco es consistente. Sin embargo, todas las soluciones tienen el mismo coste (si se parte del tablero vaco, el coste de cualquier solucin es 9) por lo que, trivialmente, el algoritmo A* es ptimo para el juego de los cuadrados latinos.

    25

    4

    63

    1

    25

    4

    63

    1

    25

    4

    63

    1

    25

    4

    63

    1

    77

    7

    25

    4

    63

    1

    25

    4

    63

    17 7

    8

    8

    25

    4

    63

    17

    8

    9

    f * = 0+7 = 7A

    B C D

    E F

    G

    f * = 1+7 = 8 f * = 1+7 = 8

    f * = 1+5 = 6

    f * = 2+2 = 4

    f * = 2+5 = 7

    f * = 3+0 = 3

    Abierta1. (A,7)2. (C,6), (B,8), (D,8)3. (E,4), (F,7) , (B,8), (D,8)4. (G,3), (F,7) , (B,8), (D,8)

    25

    4

    63

    1

    25

    4

    63

    1

    25

    4

    63

    1

    25

    4

    63

    1

    77

    7

    25

    4

    63

    1

    25

    4

    63

    17 7

    8

    8

    25

    4

    63

    17

    8

    9

    f * = 0+7 = 7A

    B C D

    E F

    G

    f * = 1+7 = 8 f * = 1+7 = 8

    f * = 1+5 = 6

    f * = 2+2 = 4

    f * = 2+5 = 7

    f * = 3+0 = 3

    Abierta1. (A,7)2. (C,6), (B,8), (D,8)3. (E,4), (F,7) , (B,8), (D,8)4. (G,3), (F,7) , (B,8), (D,8)