Coleccion Problemas IA

Embed Size (px)

Citation preview

  • 8/12/2019 Coleccion Problemas IA

    1/134

    Intel.ligencia Artificial

    CURS 2013/2014 2Q

    COL.LECCIO DE PROBLEMES

    Departament de Llenguatges i Sistemes Informatics

    Enginyeria en Informatica

    Grau en Informatica

    cbea

  • 8/12/2019 Coleccion Problemas IA

    2/134

  • 8/12/2019 Coleccion Problemas IA

    3/134

    ndice general

    1. Representaci de Problemes de Cerca 1

    2. Cerca Heurstica 5

    3. Cerca Local 15

    4. Jocs 31

    5. Satisfacci de restriccions 41

    6. Representaci del Coneixement: Sistemes de producci 51

    7. Representaci del Coneixement: Frames/Ontologies 59

    8. Sistemes Basats en el coneixement: Enginyeria del Coneixement 73

    9. Sistemes Basats en el Coneixement: Raonament Aproximat 959.1. Redes Bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959.2. Lgica difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    10.Questions dexamen 10510.1. Bsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10510.2. Representacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    11.Planificaci 125

    1

  • 8/12/2019 Coleccion Problemas IA

    4/134

    2 NDICE GENERAL

    En lelaboraci de la col.lecci de problemes dIA han participat els professors:

    Ma Teresa Abad SorianoJavier Bjar AlonsoNria Castell Ario

    Luigi CeccaroniJuan Manuel Gimeno IllaLlus Mrquez VillodreHoracio Rodrguez HontoriaMiquel Snchez i MarrRamon Sangesa SolLus Jos Talavera MndezJordi Turmo BorrsJavier Vzquez Salceda

    Responsable de la publicaci: Javier Bjar ([email protected])

  • 8/12/2019 Coleccion Problemas IA

    5/134

    Esta obra est bajo una licenciaReconocimiento-NoComercial-CompartirIgual de Creative Commons.

    Para ver una copia de esta licencia, visitehttp://creativecommons.org/licenses/by-nc-sa/2.5/es/

    o envie una carta a

    Creative Commons,559 Nathan Abbott Way, Stanford,California 94305,USA.

  • 8/12/2019 Coleccion Problemas IA

    6/134

  • 8/12/2019 Coleccion Problemas IA

    7/134

    1. Representaci de Problemes de Cerca

    1. Tenemos un tablero de 3x3 casillas como el de la figura

    N N

    B B

    En cada esquina tenemos un caballo de ajedrez, dos caballos negros y dos blancos. Deseamos inter-cambiar los caballos negros con los blancos.

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir. Estima el tamao del espacio de estados.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidady funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).

    c) Importa el camino o slo el estado final?la solucin ha de ser ptima?

    2. Dispones de dos jarras de agua, una de 4 litros y otra de 3 litros. Tiene un grifo que te permite llenartotalmente las jarras de agua, necesitas obtener exactamente 2 litros en la jarra de cuatro litros

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir. Estima el tamao del espacio de estados.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad

    y funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).c) Importa el camino o slo el estado final?la solucin ha de ser ptima?

    3. Si recuerdas el procedimiento de validacin por resolucin en lgica de enunciados, puedes validarcualquier razonamiento a partir de la transformacin de sus premisas y la negacin de la conclusin aforma normal conjuntiva. El algoritmo mas sencillo (pero no muy eficiente) de validar un razonamientoes aplicar la regla de la resolucin (desempolva tus apuntes de ILO) sistemticamente entre las clusulashasta conseguir derivar una contradiccin.

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir. Estima el tamao del espacio de estados.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidady funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).

    c) Importa el camino o slo el estado final?la solucin ha de ser ptima?

    d) Piensa en el mecanismo de resolucin lineal y vuelve a responder a los apartados a y b

    4. Si piensas en el juego del tetris, este consiste en cubrir la mxima rea de un rectngulo de NxM sindejar huecos (o dejando los mnimos posibles) utilizando un conjunto ordenado de piezas con todaslas posibles formas construibles utilizando cuatro cuadrados (siete piezas distintas)

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir. Estima el tamao del espacio de estados.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidady funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).

    c) Importa el camino o slo el estado final?la solucin ha de ser ptima?

    1

  • 8/12/2019 Coleccion Problemas IA

    8/134

    2 Captulo 1. Representaci de Problemes de Cerca

    5. Continuando con el juego del tetris este utiliza como piezas todas las formas posibles usando cuatrocuadrados de manera que cada cuadrado tenga al menos un lado contiguo a otro cuadrado. Supn quequieres calcular todas las formas posibles que se pueden construir con N cuadrados.

    a) Plantalo como un problema de bsqueda en espacio de estados definiendo los estados y losoperadores necesarios para realizar la bsqueda (evidentemente no hay una nica manera de

    plantear el problema, define las que se te ocurran y evala sus diferencias)6. Dada una permutacin de nmeros de 1 a n queremos ordenarla utilizando el menor nmero de

    operaciones de inversin de un intervalo, donde una inversin de intervalo se define a partir de unpar de posiciones (i,j) y su efecto es invertir el orden en el que estn todos los nmeros entre esasposiciones.

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir. Estima el tamao del espacio de estados.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidady funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).

    7. Existen mltiples problemas clsicos sobre grafos que se pueden plantear como una bsqueda en espaciode estados. La gracia de estos problemas es que muchos problemas reales se pueden transformar a stos.Intenta plantear los siguientes:

    El viajante de comercio: Un viajante de comercio desea visitar un conjunto de ciudades partiendo deuna dada y acabando en sta, sin repetir ninguna y recorriendo el mnimo de distancia (se supone quedispone de un mapa que indica las conexiones entre ciudades y sus distancias)

    El k-viajante de comercio: Ahora el viajante quiere obtener k caminos de mnima longitud que co-miencen y terminen en una ciudad y que en los k caminos cada ciudad aparezca como mnimo en uncamino (es decir, entre los k caminos recorremos todas las ciudades)

    El Cartero chino: Un cartero (chino) desea poder repartir el correo por su zona en el mnimo tiempo

    posible, para ello necesita obtener un recorrido que pase por todas las calles al menos una vez (sesupone que tenemos el mapa de todas las calles de la zona) (tambin se puede plantear la mismavariante de k caminos)

    Mximo Clique: Un clique es un grafo en el que cada vrtice esta conectado con el resto de vrticesdel grafo (o sea que es un grafo completo). El problema consiste en encontrar para un grafo el mayorsubgrafo que sea un clique.

    Mnimo k-rbol de expansin mnima: Dado un grafo en el que cada arista tiene un peso se trata deencontrar el subgrafo sin ciclos (rbol) que contenga k aristas y que tenga el mnimo peso.

    Mnimo rbol de Steiner: Dado un grafo completo (todos los vrtices conectados con todos), dondecada arco tiene un peso, y un subconjunto de vrtices del grafo, obtener el grafo de coste mnimo

    que contenga el conjunto de vrtices (el grafo puede contener mas vrtices, la gracia es conectar unosvrtices especficos con el mnimo coste)

    Coloreado de grafos: Dado un grafo y k colores, asignar a cada vrtice del grafo un color de maneraque dos vrtices conectados no tengan el mismo color.

    a) Define que elementos forman el estado, el estado inicial y cual es estado final o que propiedadesha de cumplir, estima el tamao del espacio de estados. Piensa que puede haber diferentes formasde plantear el problema.

    b) Define las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidady funcin de transformacin), evala cual sera el factor de ramificacin (aproximadamente).

    8. Otros problemas tpicos que se pueden plantear como bsqueda en espacio de estados son los queinvolucran horarios, piensa en los siguientes problemas:

    Tienes que distribuir un conjunto de cursos de diferentes niveles (m cursos por cada nivel, n niveles)en un horario semanal (5 das) en un aula sabiendo que todos los cursos son de una hora, pero que no

  • 8/12/2019 Coleccion Problemas IA

    9/134

    3

    quieres que haya mas de k cursos de un nivel cada da Generaliza el problema suponiendo que tienesg grupos de cada curso y a aulas y no quieres que haya dos cursos iguales a la misma hora Supn quetienes que hacer tu horario cuatrimestral y dispones de m asignaturas, cada una de ellas con n gruposy quieres elegir un subconjunto k de ellas (k

  • 8/12/2019 Coleccion Problemas IA

    10/134

    4 Captulo 1. Representaci de Problemes de Cerca

  • 8/12/2019 Coleccion Problemas IA

    11/134

    2. Cerca Heurstica

    1. El problema del coloreado de grafos consiste en etiquetar con un color cada vrtice del grafo, de formaque no haya dos vrtices adyacentes con el mismo color. Este problema se puede resolver por mediode bsqueda.

    a) Describe los pasos que seguira un algoritmo A* para encontrar una solucin al coloreado delsiguiente grafo:

    {A,R}

    {V,R,A}

    {V}

    {A,V}v2

    v1

    v4

    v3

    en donde los vrtices son V1, V2, V3 y V4 y los colores posibles para cada vrtice se indican entrellaves (A:azul, R:rojo, V:verde). El estado inicial tiene todos los vrtices sin color asignado. Unestado S es sucesor de otro S si S contiene la asignacin de colores de S ms la asignacin de uncolor al vrtice ms pequeo sin colorear de S (es decir, los vrtices se instancian en el orden V1V4). La funcin heurstica es:

    h(s) = nmero de vrtices sin color en s + 2 nmero de vrtices adyacentes con el mismo coloren s

    b) Es admisible la funcin heurstica? Razona la respuesta.

    c) Sugiere otro algoritmo que solucione este problema de forma ms eficiente que A*

    2. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo H. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

    A

    B

    C

    D

    E

    F

    G

    H

    1

    1

    1

    2

    1

    2

    2

    11

    1

    2

    3

    2

    Nodo A B C D E F G Hh(nodo) 4 4 3 3 2 3 2 0

    3. Aplicar lalgoritme A* per a trobar un cam soluci del graf descrit a la taula:

    5

  • 8/12/2019 Coleccion Problemas IA

    12/134

    6 Captulo 2. Cerca Heurstica

    b c d e ha 10 4 3b 10 4c 12 2 12d 0e 2 4 4

    on els nodes de les files sn els nodes-pares i els nodes de les columnes els nodes-fills. El node a s liniciali el final s d. Cada casella de la taula indica el cost de larc que uneix els dos nodes corresponents.La darrera columna indica el valor de la funci heurstica (h).

    a) Mostrar larbre de cerca generat per lalgoritme, indicant lordre dexpansi dels nodes, reoper-tures de nodes tancats, etc. Quin s el cam trobat? Quin s el seu cost? s lptim?

    b) Es verifiquen les condicions dadmissibilitat? Justifiqueu la resposta.

    c) Fer el mateix amb lalgoritme IDA*.

    4. Disponemos de un casillero con cuatro monedas colocadas de la siguiente forma:

    A R A R

    El anverso de la moneda est representado por A y el reverso por R. Son posibles los siguientesmovimientos:

    Desplazamiento (coste=1): Una moneda puede ser desplazada a la casilla contigua si sta seencuentra vaca.

    Giro (coste=1): Cualquier moneda puede ser girada sin ninguna condicin adicional. Slo unacada vez.

    Salto (coste=2): Una moneda puede saltar sobre su vecina si a continuacin hay una casilla

    vaca, es decir, slo es posible saltar por encima de una moneda. Cuando una moneda salta, caerealizando un giro. Un ejemplo de salto (coste=2) es pasar del estado AR_RA al estado ARRR_

    Deseamos obtener la situacin final siguiente:

    R A R A

    Dada la funcin heurstica h(n) =p2 + p3 + p4 + p5 + dv

    donde pi vale 0 si la casilla icontiene la asignacin correcta respecto del estado final y vale 1 en casocontrario y dves la distancia del blanco respecto a la posicin final (casilla 1).

    Por ejemplo, h(estado inicial) = 1 + 4 = 5

    a) Resolver el problema aplicando A*. Indica claramente el orden de expansin de los nodos, eltratamiento de nodos duplicados, los valores de las funciones, el camino obtenido y su coste.

    b) El camino obtenido es de coste ptimo? El heurstico usado es admissible? Por qu?

    c) Resolver el problema aplicando IDA*. Indica claramente el proceso en cada nivel: orden de ex-pansin de los nodos, nodos duplicados... Se obtiene un camino de coste ptimo?

    5. Tenemos cinco monedas dispuestas de la siguiente forma:

    A R A R A

    El anverso de la moneda est representado por A y el reverso por R. Se considera un movimiento (decoste 1) el dar la vuelta a dos monedas contiguas.

    Deseamos obtener la situacin final siguiente:

  • 8/12/2019 Coleccion Problemas IA

    13/134

    7

    R R R A R

    Dada la funcin heurstica h(n) = nmero de monedas mal colocadas,

    a) Resolver el problema aplicando A*. Indica claramente el orden de expansin de los nodos, eltratamiento de nodos duplicados, los valores de las funciones, el camino obtenido y su coste.

    b) El camino obtenido es de coste ptimo? El heurstico usado es admisible? Por qu?

    c) Resolver el problema aplicando IDA*. Indica claramente el proceso en cada nivel: orden de ex-pansin de los nodos, nodos duplicados Se obtiene un camino de coste ptimo?

    6. Supn que tenemos un computador en el que varias instrucciones se pueden ejecutar a la vez. Launidad que ejecuta las instrucciones puede ejecutar en paralelo instrucciones de tres tipos: A, B y C.La instruccin A tarda 3 ciclos de reloj, la instruccin B tarda 2 ciclos y la instruccin C tarda 1 ciclo.Esta unidad es capaz de ejecutar en un paso tantas instrucciones como quepan dentro de una ventanade 3 ciclos de reloj, de manera que se puede utilizar para ejecutar a la vez varios procesos (hilos deejecucin). Por ejemplo, si tenemos estos 3 hilos de instrucciones H1(ABC) H2(BCA) H3(CCC) como

    estado inicial, la unidad podra ejecutar las instrucciones de la manera que aparecen en la tabla:

    1er paso

    A B CH1 H2 H3H1 H2 H3H1 H2

    Se ejecuta la instruccin A del primer hilo en paralelo con la Bdel segundo hilo, las dos primeras C del tercer hilo y finalmente laC del segundo hilo respetando as la precedencia de instruccionesdel segundo hilo.

    Estado actual: H1(BC), H2(A), H3(C)

    2o paso

    A B C

    H2 H1 H3H2 H1H2 H1

    Se ejecuta la instruccin A del segundo hilo en paralelo con laB del primer hilo, la tercera C del tercer hilo y finalmente la Cdel primer hilo respetando as la precedencia de instrucciones delprimer hilo.

    La secuencia de ejecucin sera: 1er paso : [(A,H1),(B,H2),(C,H3),(C,H3),(C,H2)],2o paso: [(A,H2),(B,H1),(C,H3),(C,H2)]

    La idea es secuenciar varios hilos en paralelo en tiempo de compilacin, de manera que el nmero depasos de ejecucin sea el mnimo. La bsqueda consiste en determinar qu conjunto de instruccionesy de que hilos se pueden ejecutar en cada paso de la unidad de ejecucin. En caso de que se puedaelegir entre varias instrucciones iguales en un paso, el orden de exploracin se seguir escogiendo la

    instruccin segn el orden de los hilos.Los hilos a compilar sern: H1(ABAC) H2 (CABA) H3(ACBA)

    a) Utiliza el algoritmo del A* para encontrar la secuencia de menos pasos para estos hilos de ejecucin(indica claramente el orden de expansin de los nodos). Considera que el coste de cada paso es1. Como heurstico para la bsqueda utiliza el siguiente:h1(n)= nmero de instrucciones del hilo con ms instrucciones pendientes

    b) El heurstico no es admisible Por qu? La solucin es ptima?

    c) Supn el heurstico:h2(n)= nmero de instrucciones A que quedan por ejecutarSera admisible este heurstico?

    d) Utiliza ahora el algoritmo del IDA* con este nuevo heurstico para hacer la exploracin (realizacada iteracin por separado indicando el orden de expansin de los nodos)

  • 8/12/2019 Coleccion Problemas IA

    14/134

    8 Captulo 2. Cerca Heurstica

    7. Dado el siguiente grafo donde cada arco indica su coste y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo O. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las repeticiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

    A

    B

    C

    D

    E

    F

    G

    H

    I

    J

    K

    L

    M

    N

    O

    2

    1

    2

    1

    1

    4

    2

    2

    1

    1

    1

    3

    1

    1

    3

    22

    3

    2

    11

    31

    1

    Nodo A B C D E F G H I J K L M N Oh(nodo) 6 5 6 6 3 5 5 4 8 3 2 1 5 1 0

    8. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo H. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste

    que aparezcan. Es la funcin heurstica admisible?

    A

    B

    C

    D

    E

    F

    G

    H

    2

    3

    1

    1

    2

    3

    1 21

    2

    1

    4

    1

    Nodo A B C D E F G H

    h(nodo) 6 4 3 3 2 3 2 0

    9. Deseamos hallar la ruta que ha de seguir un robot para recoger un conjunto de objetos en un ordenespecfico en una habitacin. La situacin es la que se presenta en la figura. El robot slo se puededesplazar en vertical y en horizontal. En cada movimiento slo se desplaza una casilla. Cada vez queel robot llega a la casilla donde hay un objeto lo recoge y lo lleva consigo.

    R

    O1

    O2

    O3

    N

    E

    S

    O

  • 8/12/2019 Coleccion Problemas IA

    15/134

    9

    a) Utiliza el algoritmo del A* para hallar el camino que permite al robot recoger los 3 objetos enorden usando la funcin heurstica:

    h1(n) =

    drj

    Donde drj es la distancia en movimientos del robot al objeto j. Considera que, cuando el robot

    recoge un objeto, su distancia pasa a ser 0 y que el objeto se mueve con el robot una vez recogido.Para hacer la expansin de los nodos utiliza el orden N-S-E-O tal como se indica en la figura.Indica el orden de expansin de los nodos. El camino encontrado es ptimo?

    b) Supn que el heurstico es:

    h2(n) =dr1+ d12+ d23

    Donde dr1 es la distancia en movimientos del robot al objeto O1, d12 es la distancia en pasosdel objeto O1 al objeto O2 y d23 es la distancia del objeto O2 al objeto O3. Utiliza de nuevo elalgoritmo del A* para hallar la solucin. Para hacer la expansin de los nodos utiliza el ordenN-S-E-O tal como se indica en la figura. Indica el orden de expansin de los nodos. El caminoencontrado es ptimo?

    c) Los heursticos usados son admisibles? Podemos afirmar que uno es ms informado que el otro?Razona las respuestas.

    d) Haz de nuevo la bsqueda utilizando el algoritmo del IDA* y el heursticoh1. Indica el orden deexpansin de los nodos. El camino encontrado es ptimo?

    10. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo H. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

    A

    B

    C

    D

    E

    F

    G

    H1

    2

    3

    1

    1

    2

    2

    1

    41

    2

    Nodo A B C D E F G Hh(nodo) 4 4 3 3 2 3 2 0

    11. Dado el siguiente grafo

    CD

    A

    E

    B

  • 8/12/2019 Coleccion Problemas IA

    16/134

    10 Captulo 2. Cerca Heurstica

    a) Buscar, aplicando A*, un recorrido que pase por todos los nodos empezando y acabando por elnodo A. Slo es posible pasar de un nodo X a un nodo Y si existe el arco X Y. Se permitepasar ms de una vez por el mismo nodo. En cada iteracin indica el orden de expansin de losnodos.Utiliza como funcin heurstica el nmero de nodos nuevos pendientes de visitar. Orden de gene-racin de sucesores: orden lexicogrfico.

    b) El camino encontrado es ptimo? Justifica formalmente la respuesta.c) Repite la bsqueda utilizando el algoritmo IDA

    12. Tenemos el siguiente rompecabezas con la configuracin de la figura

    N N N B B B

    y disponemos de una nica regla, dos fichas se pueden intercambiar si estn adyacentes, considerandoque los dos extremos son adyacentes (es un tablero circular).

    El objetivo es obtener la siguiente configuracin:

    B B N B N Na) Aplica el algoritmo A* para resolver el puzzle usando la siguiente funcin heurstica

    h(n)= nmero de posiciones diferentes entre el estado actual y la configuracin final.ORDEN: Al expandir los nodos considera los movimientos secuencialmente, empezando por el dems a la izquierda.Indica el orden de expansin de los nodos y la gestin de duplicados.

    b) Resuelve el mismo problema aplicando el algoritmo del IDA*. Indica el orden de expansin delos nodos y la gestin de duplicados.

    c) Es admisible el heurstico? Por qu?

    13. Un problema en gentica es averiguar si dos cadenas de ADN son similares o no. Para ello se intentanalinear los smbolos de las secuencias y asignar una puntuacin al alineamiento. El problema es quehay muchas maneras de alinear dos secuencias y slo interesa la mejor.

    Para simplificar el problema, vamos a suponer que tenemos secuencias con solamente dos smbolos:A y B. El alineamiento de dos secuencias se hace smbolo a smbolo de izquierda a derecha. Comoes posible que las dos secuencias sean de longitud diferente, se pueden introducir smbolos blancosdurante el alineamiento para compensarlo, de manera que al final del alineamiento las dos cadenastengan la misma longitud. Podemos haber introducido smbolos blancos en ambas cadenas.

    Tenemos dos operaciones:

    1) Crear un emparejamiento ente dos smbolos de la secuencia. El coste de esta operacin es cero silos dos smbolos coinciden y uno, si no coinciden.

    2) Aadir un blanco en una secuencia, de manera que avanzamos un smbolo en una de las secuenciasy la otra la alargamos con este blanco. El coste de esta operacin es dos.

    Por ejemplo, si tenemos las secuencias AABB y BAA, podramos alinear los dos primeros smbolos, demanera que estaramos en el estado (A|ABB, B|AA) con coste uno ya que los smbolos no coinciden (labarra vertical | indica hasta donde llega el alineamiento que llevamos), o podramos aadir un huecoen la primera secuencia, de manera que estaramos en el estado (_|AABB, B|AA), con coste dos.

    a) Aplicar el algoritmo A* para alinear las secuencias AB y BAAB , usando como funcin heursticah(n)= | longitud del trozo de la secuencia 1 por alinear - longitud del trozo de la secuencia 2 por

    alinear|Al expandir los nodos, en el caso de aadir blancos, primero se aadir a la primera secuenciay despus a la segunda. Indica el orden de expansin de los nodos y la gestin de duplicados, siprocede.

  • 8/12/2019 Coleccion Problemas IA

    17/134

    11

    b) Resuelve el mismo problema aplicando el algoritmo del IDA*. Indica el orden expansin de losnodos y la gestin de duplicados, si procede.

    c) Es admisible el heurstico? Por qu?

    14. Dado el siguiente grafo donde cada arco indica su coste y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo de

    A e IDA para encontrar el camino entre el nodo A y el nodo G. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

    A B

    C

    D E

    F G

    1

    21

    1

    3

    1

    2

    1

    2

    3

    Nodo A B C D E F Gh(nodo) 3 4 3 4 3 3 0

    15. Dada la siguiente configuracin inicial del tablero:

    N N B B

    donde hay dos piezas negras (N), dos blancas (B) y una posicin vaca, y teniendo en cuenta lassiguientes reglas:

    (i) Una pieza puede moverse a la posicin adyacente vaca con coste 1.

    (ii) Una pieza puede saltar per encima de otra (slo una) para colocarse en la posicin vaca con coste1. Si la pieza que salta es de distinto color que la saltada, esta ltima cambia de color.

    Queremos conseguir que todas las piezas del tablero sean negras. La posicin final de la casilla vacaes indiferente.

    a

    ) Muestra el rbol de bsqueda generado por el algoritmo A* indicando el orden de expansin delos nodos, el tratamiento de los duplicados, la solucin encontrada y el coste de la misma. Utilizacomo heurstico: h(n)= nmero de piezas blancas

    b) Justifica la admisibilidad o no del heurstico utilizado.

    c) Considera ahora el siguiente heurstico: h2(n)= nmero de piezas blancas - c donde c vale 1 siel espacio es adyacente a una pieza blanca y vale 0 en caso contrario. Justifica su admisibilidado no.

    d) Razona si h2(n)es ms informado que h(n).

    16. Dado el siguiente grafo donde cada arco indica su coste y la tabla que indica la estimacin del coste

    hhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo O. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

  • 8/12/2019 Coleccion Problemas IA

    18/134

    12 Captulo 2. Cerca Heurstica

    A

    B

    C

    D

    E

    F

    G

    H

    I

    J

    K

    L

    M

    N

    O

    2

    1

    1

    1

    4

    2

    2

    1

    1

    1

    3 3

    2

    2

    3

    2

    1

    1

    1

    3

    31

    1

    Nodo A B C D E F G H I J K L M N Oh(nodo) 6 5 6 6 3 5 5 4 8 3 2 1 5 1 0

    17. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del costehhasta la solucin, indica cual sera el rbol de bsqueda que se obtendra mediante el algoritmo deA e IDA para encontrar el camino entre el nodo A y el nodo H. Haz la generacin de los nodossiguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de costeque aparezcan. Es la funcin heurstica admisible?

    A

    B

    C

    D

    E

    F

    G

    H1

    1

    2

    2

    1

    2

    1

    1

    1 1

    1

    Nodo A B C D E F G Hh(nodo) 6 4 4 4 4 3 3 0

    18. Dado el rbol de bsqueda que aparece en la figura indica cual sera el recorrido que hara el algoritmoA* e IDA* la funcin heurstica es admisible?

    En el rbol la funcin heurstica esta descompuesta en la g y la h. Cuando en un nodo aparecen dosvalores el orden corresponde a la rama por la que se ha llegado al nodo.

    A

    B C D E

    G H IF

    J LK M

    O P

    R

    0+6

    3+4

    5+2

    6+0

    5+2

    5+3|4+3

    N

    6+2

    3+4 3+5|2+5

    1+52+5 2+6 1+5

    3+5|2+53+5

    4+43+4

  • 8/12/2019 Coleccion Problemas IA

    19/134

    13

    19. Dado el rbol de bsqueda que aparece en la figura indica cual sera el recorrido que hara el algoritmoA* e IDA* la funcin heurstica es admisible?

    En el rbol la funcin heurstica esta descompuesta en la g y la h. Cuando en un nodo aparecen dosvalores el orden corresponde a la rama por la que se ha llegado al nodo.

    A

    D

    H

    E

    C

    I

    F

    J

    L

    N

    7+0

    6+1

    4+3

    5+1

    4+2

    3+3

    1+5

    3+3|2+3

    0+6

    6+1

    7+1

    4+2

    B

    2+4

    3+3

    G

    5+2

    K

    M

    O

    20. Dado el rbol de bsqueda que aparece en la figura indica cual sera el recorrido que hara el algoritmo

    A* e IDA* la funcin heurstica es admisible?En el rbol la funcin heurstica esta descompuesta en la g y la h. Cuando en un nodo aparecen dosvalores el orden corresponde a la rama por la que se ha llegado al nodo.

    B

    E

    I

    F G

    DC

    H

    KJ

    L

    M

    5+2

    2+4

    1+52+4

    4+2

    4+35+2

    7+0

    A

    0+6

    2+3

    3+3|2+3|3+33+3

    6+2

  • 8/12/2019 Coleccion Problemas IA

    20/134

    14 Captulo 2. Cerca Heurstica

  • 8/12/2019 Coleccion Problemas IA

    21/134

    3. Cerca Local

    1. Existen problemas en los que dado el tamao de su espacio de bsqueda es imposible plantearseencontrar la solucin ptima. Para este tipo de problemas se han diseado algoritmos de bsquedalocal (hill-climbing, simulated annealing, algoritmos genticos)

    Estos son ejemplos de este tipo de problemas:

    a) El viajante de comercio:Un viajante de comercio desea visitar un conjunto de ciudades partiendo de una dada y acabandoen sta, sin repetir ninguna y recorriendo el mnimo de distancia (se supone que se dispone de unmapa que indica las conexiones entre ciudades y sus distancias)

    b) Mnimo k-rbol de expansin mnima:

    Dado un grafo en el que cada arista tiene un peso, se trata de encontrar el subgrafo sin ciclos(rbol) que contenga k aristas y que tenga el mnimo peso

    c) Mnimo rbol de Steiner:Dado un grafo completo (todos los vrtices estn conectados con todos), donde cada arco tieneun peso, y un subconjunto de vrtices del grafo, obtener el grafo de coste mnimo que contengael conjunto de vrtices (el grafo puede contener mas vrtices, la gracia es conectar unos vrticesespecficos con el mnimo coste)

    d) Bin packing en una dimensin:Disponemos de un conjunto de contenedores y un conjunto de paquetes que colocar en ellos. Loscontenedores son todos iguales y se pueden llenar hasta cierta altura. Los paquetes tienen las

    mismas dimensiones en su base que los contenedores, pero diferentes alturas, siempre por debajode la altura de los contenedores. El problema consiste en: dado un conjunto de paquetes sabercual es el mnimo conjunto de contenedores necesario para transportarlos.

    e) Knapsack problem:Tambin conocido como el problema de la mochila. Dado un conjunto de objetos con ciertovolumen y cierto valor y un contenedor con una capacidad fija, hallar el conjunto de objetos quenos debemos llevar para maximizar la ganancia.

    f) Weighted max-cut:Dado un grafo con pesos en los arcos, partirlo en dos grafos de manera que se maximice la sumatotal de los arcos de los dos subgrafos

    Responde para cada problema los siguientes apartados:

    Determina que elementos forman el estado y estima el tamao del espacio de bsqueda

    Dado que los algoritmos que se pueden utilizar suelen partir de una solucin, busca mtodos conlos que se puede encontrar la solucin de partida (no tiene por que ser buena)

    Define lo necesario para solucionar el problema mediante el algoritmo de hill-climbing (funcinheurstica, operadores de cambio de estado)

    Define lo necesario para solucionar el problema mediante algoritmos genticos (representacin delestado, funcin de calidad, operadores de cruce y mutacin)

    2. Una empresa de transporte martimo desea decidir la configuracin de la carga de su prximo barco.La empresa recibe un conjunto de peticiones de envo de entre las que escoger. Cada peticin va dentrode un tipo contenedor que est fijado por el tamao, el peso del envo y las caractersticas de la carga.Existen solamente Ktipos de contenedor.

    15

  • 8/12/2019 Coleccion Problemas IA

    22/134

    16 Captulo 3. Cerca Local

    Los contenedores son propiedad de la empresa y su uso tiene un coste asociado que depende del tipode contenedor. Cada peticin tiene asociada un precio de transporte.

    Existen diferentes restricciones para la carga: la suma total de pesos de los contenedores no ha desobrepasar la capacidad de carga del barco Pmax, ni ha de ser inferior a cierto valor Pmin. Cadacontenedor tiene un peso asociado que depende de la carga que contiene. Las posibilidades de colocarlos contenedores en el barco tambin imponen que haya un mnimo de Cmincontenedores y un mximode Cmaxcontenedores de cada tipo.El objetivo es encontrar la combinacin de peticiones que den el mximo precio de transporte y tenganel coste ms pequeo dentro de las restricciones impuestas.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentarla solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial el barco vacoy como operadores aadir y quitar contenedores del barco. Queremos usar como funcin de

    evaluacin de las soluciones lo siguiente:

    h(n) =Ncont

    i=0

    PrecioiNcont

    i=0

    Costei

    Donde Ncont es el nmero de contenedores que hay en una solucin, Precioi es el precio detransporte del contenedor ide la solucin y Costei es el coste de un contenedor ide la solucin.

    b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial escoger al azarCmincontenedores de cada tipo. Como operador utilizamos intercambiar un contenedor del barcopor otro que no est en l. Queremos usar como funcin de evaluacin de las soluciones lo siguiente:

    h(n) =Ncont

    i=0

    Precioi

    Costei

    c) Se plantea utilizar algoritmos genticos donde la representacin de la solucin es una tira de bitscon tantos bits como peticiones haya, donde cada bit significa si la peticin est o no en el barco.Para generar la poblacin inicial usamos la misma tcnica que en el apartado anterior. Usamos losoperadores habituales de cruce y mutacin y como funcin de evaluacin usamos la del apartadoanterior pero haciendo que valga cero si la solucin incumple las restricciones del problema.

    3. Debido a la crisis y el aumento del precio del cobre, en los ltimos aos se ha vuelto habitual elrobo de cableado de cobre, tanto en gran escala (alumbrado de calles, vas del AVE) como a pequeaescala (en casas de campo, en explotaciones agrcolas, en polgonos industriales). Esto ha disparado lademanda de cable elctrico de baja tensin de diferentes longitudes, segn lo grande del tramo robado.Los fabricantes de cable elctrico no suelen hacer cables bajo demanda de la longitud indicada, sinoque suelen producir siempre una nica longitud fija de cable de corte (l) que se empaca y almacenaen rulos, y luego se sirven los pedidos cortando el cable de corte en tramos de cable de la longitudsolicitada (ningn tramo de cable solicitado ser de mayor que l).

    Para reducir la cantidad y longitud de los tramos cortos de cable que no le sirven a nadie, nos hanpedido hacer un sistema que, dado un conjunto de pares (id_solicitud, longitud) obtenido al juntartodos los pedidos recibidos en un da, nos diga como hemos de cortar los cables de corte que fabricamosen tramos de cable de manera que desperdiciemos la menor cantidad de material.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comentar cada apartadoindicando si los elementos de la propuesta son correctos, eficientes en coste, mejor/peor que otrasalternativas propuestas o si hay alternativas mejores. Justifica tus respuestas.

  • 8/12/2019 Coleccion Problemas IA

    23/134

    17

    a) Se plantea aplicar Hill-climbing usando como solucin inicial asignar en orden creciente de longi-tud tramos de cable solicitados a cables de corte; cuando la suma de las longitudes de los tramosasignados a un cable superan su longitud se pasa al siguiente cable de corte. Como operadoresse usan mover un tramo solicitado de un cable de corte a otro y quitar un cable de corte que notiene tramos asignados. Como funcin heurstica se usa la suma de las longitudes de los cables decorte que forman parte de la solucin.

    b) Se plantea aplicar Hill-climbing usando como solucin inicial ir asignando al azar tramos solicita-dos a cables de corte; cuando la suma de las longitudes de los tramos asignados a un cable de cortesuperan su longitud se pasa al siguiente cable de corte. Como operadores se usan intercambiardos tramos solicitados entre dos cables de corte siempre que no se supere la longitud de ningunode los cables a cortar, y quitar un cable de corte que no tiene tramos asignados. Como funcinheurstica se usa la diferencia entre la longitud total de los tramos solicitados y la longitud totalde los cables de corte que forman parte de la solucin.

    c) Se plantea utilizar algoritmos genticos. Para la representacin de una solucin se decide asignarun nmero a cada tramo solicitado que se corresponder con el cable de corte que tiene asignado(este valor ir de 1 al nmero de tramos solicitados). Con la codificacin en binario de la conca-

    tenacin de estos nmeros en un orden especfico tenemos la codificacin de una solucin. Comomecanismo para generar la poblacin inicial se utiliza escoger al azar el cable de corte asignado acada tramo solicitado dentro de los valores [1, num tramos solicitados]. Como operadores gen-ticos se usan los operadores de cruce y mutacin habituales. La funcin heurstica ser el nmerode cables a cortar distintos que hay en la codificacin de la solucin.

    4. Despus de los incendios del verano se nos plantea el problema de repoblar las reas afectadas. Dadaun rea concreta de cierto nmero de hectreas decidimos volver a repoblarla, para ello dividimos elrea en una cuadrcula de N My nos planteamos cuanto plantar en cada rea.

    Podemos decidir un factor de repoblacin para cada elemento de la cuadrcula (F r(i)) que va de 0 a3 (0 significa ninguna repoblacin, 1 significa plantar Arboles, ..., 3 significa plantar 3 Arboles).

    Disponemos un mximo de K A rboles para plantar, pero no queremos plantar menos de I Arboles.

    Adems queremos minimizar el riesgo de incendio del rea. Este es una funcin del factor de repoblacinde un elemento de la cuadrcula y todos los elementos adyacentes, de la siguiente manera:

    R(i) =

    j adyacente a i

    F r(i) F r(j)

    El objetivo es encontrar una solucin que plante el mximo nmero de rboles (entre los lmites I Ay K A) y con el mnimo riesgo de incendio.

    Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsquedalocal. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementosnecesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otrasalternativas posibles. Justifica tus respuestas.

    a) Usar Hill Climbing. Para ello generamos una solucin inicial en la que todas las reas tienenfactor de repoblacin 0. Los operadores son aumentar o disminuir el factor de repoblacin de unrea. La funcin heurstica que queremos optimizar es:

    h(n) =MN

    i=1

    R(i) MN

    i=1

    F r(i)

    b) Usar Hill Climbing. Para ello generamos una solucin inicial en la que asignamos secuencialmentefactor de repoblacin 1 a cada elemento de la cuadrcula hasta llegar a la cantidad mnima de

  • 8/12/2019 Coleccion Problemas IA

    24/134

    18 Captulo 3. Cerca Local

    rboles que hemos de plantar. Los operadores son aumentar el factor de repoblacin siempre queeste no sea 3 o disminuir el factor de repoblacin de un rea siempre que no sea 0. La funcinheurstica que queremos optimizar es:

    h(n) = (MN

    i=1F r(i) K)

    1

    MNi=1 R(i)

    c) Usar algoritmos genticos. Para representar una solucin generamos una tira de 2 M Nbits(con 2 bits codificamos el factor de repoblacin). Como solucin inicial utilizamos la misma que enel apartado anterior. Como operadores utilizamos los operadores habituales de cruce y mutacin.La funcin heurstica que queremos optimizar es:

    h(n) =MN

    i=1

    R(i) MN

    i=1

    F r(i)

    5. Una empresa chocolatera desea comercializar una nueva caja de bombones que cumpla cierto conjuntode caractersticas: el precio ha de ser el mnimo posible, el beneficio que se obtenga ha de ser el mximoposible, ha de tener un peso limitado (no ms de 500 g, ni menos de 400 g) y ha de estar compuesta deuna combinacin de los diferentes tipos de bombones que fabrica, estos pertenecen a Ktipos diferentes,cada uno de ellos con un precio, un peso y un beneficio por bombn diferentes. La caja ha de contenerno ms de Ny no menos de Mbombones de cada tipo.

    Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsquedalocal. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementosnecesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otrasalternativas posibles. Justifica tus respuestas.

    a) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial llenar la caja debombones de un solo tipo hasta llegar al peso mnimo y como operadores aadir un bombnsin pasar del peso mximo y cambiar un bombn por otro de un tipo distinto. La funcin deevaluacin es la suma del precio de los bombones multiplicada por la suma de los beneficios.

    b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial asignar un nmeroaleatorio de bombones de cada tipo dentro del rango [M,N]. Como operadores tenemos cambiarun bombn de un tipo por otro de otro tipo siempre que se mantengan las cantidades mximasy mnimas por tipo y no se violen las restricciones de peso. Se plantea utilizar como funcin deevaluacin de las soluciones la suma del beneficio de los bombones de cada tipo que pasa de Munidades dividida por la suma de precios de los bombones de cada tipo que pasa de Munidades.

    c) Se plantea utilizar algoritmos genticos donde la representacin de la solucin es la concatenacinde Kgrupos de Nbits cada uno, donde cada bit determina si el bombn est o no en la caja.

    Las soluciones iniciales se obtienen llenando la caja con Mbombones de cada tipo. Se usan losoperadores habituales de cruce y mutacin. La funcin de evaluacin es la suma de los preciospenalizando la solucin con el valor + cuando el peso est por encima o por debajo de loslmites de peso o se violan los lmites de nmero de bombones por tipo.

    6. Se han descubierto A fuentes de contaminacin en un parque natural y se quieren colocar B (dondeB < A) aparatos de descontaminacin para mejorar la situacin. Para ello se dispone de un mapa delparque que indica la posicin de la estacin de trenes donde se han almacenado todos los aparatos y delos A lugares donde se necesita colocar los aparatos de descontaminacin. Adems tambin se disponedel nivel de contaminacin que hay alrededor de cada fuente, de un mapa de los desplazamientos(dirigidos) posibles de los aparatos en el territorio y del coste de cada desplazamiento. Cada aparato

    puede eliminar por completo la contaminacin de una fuente, independientemente de su nivel.El objetivo es colocar los aparatos de manera que se minimice la contaminacin total en el parque y elcoste del recorrido (suma de desplazamientos) que harn los aparatos en el sentido estacin fuentede contaminacin.

  • 8/12/2019 Coleccion Problemas IA

    25/134

    19

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica). Hay que comentar lasolucin que se propone respecto a si es correcta, es eficiente, y es mejor o peor en comparacin conotras alternativas. Y hay que justificar todas las respuestas.

    a) Se plantea solucionar el problema mediante Hill-Climbing, partiendo de una solucin inicial sin

    ningn aparato y con un operador que coloca un aparato en una fuente de contaminacin deter-minada, controlando que el nmero de los aparatos colocados sea como mximo B.

    b) Se plantea solucionarlo mediante Hill-Climbing, partiendo de una solucin inicial con B apa-ratos colocados aleatoriamente, y utilizando como funcin heurstica la suma de los costes dedesplazamiento de la estacin a cada una de las B fuentes.

    c) Se plantea solucionarlo mediante Hill-Climbing, partiendo de una solucin inicial con B aparatoscolocados aleatoriamente, y utilizando como funcin heurstica la suma de los costes mnimos delos recorridos estacin fuente de contaminacin multiplicada por la suma de los niveles decontaminacin en correspondientes a los B aparatos.

    d) Se plantea solucionarlo mediante Hill-Climbing, partiendo de una solucin inicial alcanzada colo-

    cando los B aparatos ordenadamente segn el coste mnimo estacin fuente de contaminaciny empezando con el que tiene coste menor. Se plantea como operador mover un aparato a cual-quier fuente cuyo producto de coste mnimo estacin fuente por nivel de contaminacinsea menor que el actual.

    e) Se plantea solucionarlo mediante algoritmos genticos: se usan individuos de A bits y comopoblacin inicial se generan n individuos donde en cada uno hay exactamente B bits a 1. Lafuncin de idoneidad es la suma de los costes mnimos estacin fuente de contaminacin msla contaminacin total residual del parque multiplicada por una constante. Como operadores seusan los habituales de cruce y mutacin.

    7. Los propietarios del hotel Bienestar trabajan habitualmente con N tour-operadores para los cuales

    deben reservar siempre un conjunto de habitaciones. A principios de ao, cada operador realiza supeticin de habitaciones para todo el ao. Las peticiones son consideradas como el nmero mximo areservar, pero los propietarios saben que no tienen habitaciones suficientes para cubrir todas las peti-ciones de todos los tour-operadores. Por esta razn, internamente tienen definido un nmero mnimoa asignar a cada tour-operador. Este nmero les permite mantener las buenas relaciones. A partir deaqu asignarn a los tour-operadores un nmero de habitaciones que estar entre el mnimo interno yla peticin real recibida.

    Para asignar las habitaciones, los propietarios tienen varias restricciones a respetar. Por un lado, hayun nmero mnimo de habitaciones que queda siempre bajo la gestin directa del hotel. Por otrolado, se quiere maximizar los beneficios obtenidos de las habitaciones reservadas a los tour-operadores,

    teniendo en cuenta que los beneficios Bi son distintos dependiendo del tour-operador y el beneficiopor habitacin gestionada por el hotel es BH. Adicionalmente, se quiere maximizar la calidad de laocupacin para lo cual tienen asignado a cada tour-operador un ndice Qique cuantifica la calidad delos turistas que suelen venir a travs del operador en cuestin. Este ndice se asociar a cada habitacinreservada para ese operador. El propio hotel tiene tambin un ndice QH.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comentar cada apartadoindicando si los elementos de la propuesta son correctos, eficientes en coste, mejor/peor que otrasalternativas propuestas o si hay alternativas mejores. Justifica tus respuestas.

    a) Se plantea aplicar Hill-climbing usando como solucin inicial asignar el mnimo de habitaciones a

    cada tour-operador. Se define como operador asignar una habitacin a alguien distinto del que latiene asignada (tour-operador/hotel), siempre y cuando el nuevo tour-operador tenga mejor Qyse respeten todos mnimos. Se plantea como funcin de evaluacin la suma total de los beneficiosobtenidos de cada habitacin.

  • 8/12/2019 Coleccion Problemas IA

    26/134

    20 Captulo 3. Cerca Local

    b) Se plantea aplicar Hill-climbing usando como solucin inicial asignar el mnimo de habitaciones acada tour-operador y del conjunto de habitaciones no asignadas apartar el mnimo para el hotely asignar el resto al tour-operador que nos da mayor beneficio. Se define como operador asignaruna habitacin a un tour-operador distinto del que la tiene asignada. Se plantea como funcin deevaluacin la suma total de los beneficios obtenidos por habitacin ms la suma del ndice Q decada una de ellas.

    c) Se plantea usar algoritmos genticos donde la representacin de la solucin es una tira de bitsdonde hay (N+ 1) secuencias bits. Para cada tour-operador y el hotel tenemos asociadas unasecuencia de bits que representa el nmero de habitaciones asignadas. Cada secuencia de bitsha de ser suficiente para codificar en binario el nmero total de habitaciones del hotel. Comosolucin inicial se asigna el mnimo de habitaciones a cada tour-operador y el resto al hotel. Losoperadores a usar son los habituales de cruce y mutacin. Se propone como funcin de evaluacin:

    h(n) =N

    i=1

    num_habitacionesiBi

    Qi+ num_habitacionesH

    BH

    QH

    La funcin valdr infinito cuando no se cumplan los mnimos.

    8. La International Telecomunications Union (ITU) es un agencia de Naciones Unidas que regula el usode las tecnologas de la telecomunicacin y entre otras cosas coopera en la asignacin de rbitas parasatlites. El incremento del uso de satlites de todo tipo ha llevado a buscar mtodos automticospara asignar posiciones en rbitas que mantengan la seguridad de los satlites y la calidad de sufuncionamiento.

    Para solucionar el problema, se ha dividido la rbita geosincrnica en regiones donde se asignarn lasposiciones orbitales de los satlites. Obviamente, una regin del espacio tiene un volumen. Se quiereresolver el problema para cada regin.

    Hay Sdiversos tipos de satlites especializados que se desean poner en rbita (televisin, telefona,cientficos, militares, ...). Para cada satlite se tienen dos informaciones, el espacio de seguridad (volu-men necesario para que el satlite pueda navegar con el mnimo riesgo de colisin y pueda alimentarsus paneles solares) y el coste de alquiler de la rbita que cobra la ITU al dueo del satlite (esteprecio depende de cada satlite y no es una funcin del espacio de seguridad).

    Las restricciones que tiene la ITU son que la suma del volumen que han de ocupar los espacios deseguridad de los satlites ha de cubrir como mnimo 1/3 del volumen de la regin si se quieren cubrirlas necesidades existentes, pero no puede superar los 2/3 si no se quieren tener problemas con otroslanzamientos que deben atravesar la rbita geosincrnica o con la basura espacial. Tambin se hade cubrir un cupo mnimo mi para cada tipo de satlites. El objetivo del problema es maximizar laganancia que obtiene la ITU con el alquiler de rbitas.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios

    para plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentarla solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Se plantea usar Hill-climbing, como solucin inicial consideramos que asignamos aleatoriamenteal menos la mnima cantidad de satlites para cubrir la cuota de cada tipo hasta ocupar 1/3 delvolumen de la regin. Disponemos del operador aadir-satlite() que comprueba el posibleexceso de ocupacin en la regin y del operador quitar-satlite()que comprueba la posibleinfra-ocupacin de la regin. Como heurstica usamos la suma para todos los satlites en lasolucin del producto entre el espacio de seguridad del satlite y el coste de alquiler del satlite.

    b) Se plantea usar Hill-climbing, como solucin inicial ordenamos los satlites descendentemente por

    el coste del alquiler y vamos aadiendo los satlites en ese orden hasta llenar 2/3 del volumen.Como operador utilizamos cambiar un satlite de un tipo por otro del mismo tipo que no estya en la solucin. Como funcin heurstica usamos la suma del espacio de seguridad de todos lossatlites en la solucin multiplicado por la suma del coste del alquiler de todos los satlites.

  • 8/12/2019 Coleccion Problemas IA

    27/134

    21

    c) Se plantea usar algoritmos genticos. Un individuo es una tira de bits cuya longitud es el nmerototal de satlites que tenemos. Si el bit est a 1 significa que el satlite est en la solucin y siest a 0 es que no lo est. La poblacin inicial se genera creando individuos que tengan a 1 losbits de los mi satlites con mayor coste de alquiler de cada tipo. Como operadores se usan loshabituales de cruce y mutacin. Como funcin heurstica usamos la suma del coste de alquiler detodos los satlites en la solucin.

    9. Tenemos una pequea flota de Ccamiones que utilizamos para repartir mercancas y cada da tenemosque determinar qu ruta ha de seguir cada camin para abastecer un conjunto de ciudades por todo elpas. El objetivo es que todos los camiones acaben la jornada aproximadamente a la misma hora, porlo que el nmero de kilometros que ha de recorrer cada camin ha de ser muy parecido, y que recorranen total el mnimo nmero de kilmetros.

    Disponemos de un mapa de carreteras que nos dice la distancia en kilmetros entre cada ciudad dondehemos de dejar nuestra mercanca, suponemos que todos los camiones parten de la misma ciudad yhan de volver a ella al final del da, cargan al principio de la jornada todo lo que han de repartir, hande pasar slo una vez por cada ciudad.

    Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsquedalocal. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementosnecesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otrasalternativas posibles. Justifica tus respuestas.

    a) Usar Hill Climbing. Como solucin inicial asignamos al azar a cada camin un nmero aproxima-damente igual de ciudades, recorrindolas en orden tambin al azar. Como operadores usamos elintercambiar dos ciudades entre los recorridos de dos camiones e intercambiar las posiciones dedos ciudades en el recorrido de un camin. La funcin heurstica es la siguiente:

    h(n) =

    Ci=1

    LRiCj=1 LRj

    1

    C

    donde LRi es la longitud del recorrido del camin i.

    b) Usar Hill Climbing. Como solucin inicial asignamos todas las ciudades a un camin, estableciendoel recorrido inicial mediante una estrategia avariciosa de manera que intentemos minimizarlo.Como operadores usamos el mover una ciudad del recorrido de un camin a otro e intercambiarlas posiciones de dos ciudades en el recorrido de un camin. La funcin heurstica es la siguiente:

    h(n) =C

    i=1

    LRi

    c) Usar Hill climbing. Como solucin inicial escogemos las C ciudades ms cercanas a la ciudadorigen como la primera ciudad a visitar por cada camin, como segunda ciudad en el recorrido decada camin escogemos la ms cercana a la primera que no est ya asignada, y as sucesivamentehasta asignar todas las ciudades. Como operadores usamos el mover una ciudad del recorridode un camin a otro, intercambiar las posiciones de dos ciudades en el recorrido de un camine intercambiar dos ciudades entre los recorridos de dos camiones. La funcin heurstica es lasiguiente:

    h(n) = C (C 1)

    2

    Ci=1

    Cj=i+1

    LRi

    LRj

    d) Usar algoritmos genticos. Donde cada ciudad est representada por tantos bits como sean ne-cesarios para codificar el valor C, la tira de bits contiene concatenados los bits de todas lasciudades, es decir, representamos en la tira de bits el nmero del camin que ha de recorrerla.Como operadores utilizamos los operadores habituales de cruce y mutacin.

  • 8/12/2019 Coleccion Problemas IA

    28/134

    22 Captulo 3. Cerca Local

    10. La sala de cine Lo nunca visto desea realizar una planificacin estratgica de las pelculas a proyectardurante un ao (52 semanas) siguiendo varios criterios comerciales. Cada pelcula tiene asociada variasinformaciones relevantes para este problema: tipo (infantil/adulto), previsin de beneficio semanal,ndice de calidad. La programacin anual debe contener al menos un 15 % de pelculas infantiles y un40 % de pelculas para adultos. Se desea maximizar el beneficio anual de proyeccin de pelculas, perosin dejar de lado la calidad. Por este motivo, el ndice global de calidad no debe ser inferior a una

    cota predeterminada (Q). En el caso de que una pelcula deba proyectarse ms de una semana, dichassemanas debern ser consecutivas. Las estrategias comerciales exigen que una pelcula no se proyectems de 8 semanas.

    Teniendo en cuenta el escenario descrito, comenta brevemente las diversas propuestas que se describenen los apartados siguientes. Valora si son correctas o no, si son eficientes o no, si son mejores o peoresque otras alternativas. Justifica tus respuestas.

    a) Usar un Hill-climbing. Como estado inicial asignamos aleatoriamente una pelcula distinta acada una de las 52 semanas. Como operador usamos Asignar-pelcula (ttulo, num-semana), quesustituye la pelcula asignada una semana por otra nueva o por alguna de las ya asignadas a otrassemanas.

    b) Usar un Hill-climbing. Como estado inicial asignamos dos pelculas infantiles (4 semanas ca-da una) y seis pelculas para adultos (4 semanas cada una), el resto de las semanas se asignaaleatoriamente. Como operador usamos el mismo del apartado a.

    c) Usar un Hill-climbing. Partimos del mismo estado inicial del apartado b con el control adicionalde que el ndice de calidad no sea inferior a Q. Al operador de asignacin le aadimos comocondiciones de aplicabilidad que mantenga las proporciones mnimas de pelculas infantiles ypara adultos, que ninguna pelcula supere las 8 semanas y que se respete la cota inferior Q.Como funcin heurstica usaremos h1(n): la suma de la previsin de beneficio semanal para cadapelcula proyectada multiplicada por el nmero de semanas asignado.

    d) Usar un Hill-climbing. Como heurstico usaremos h2(n): h1(n) + suma del ndice de calidad decada pelcula proyectada multiplicado por el nmero de semanas asignado.

    e) Usar algoritmos genticos. Cada individuo se representa mediante 52 tiras de bits. La longitudde la tira de bits es suficiente para codificar el nmero de identificacin de todas las pelculas.Como poblacin inicial se generan n individuos con los criterios de estado inicial descritos en b yc. Como funcin de fitness usamos h3(n): h1(n) + (suma del ndice de calidad de cada pelculaproyectada multiplicado por el nmero de semanas asignado - Q). Como operadores usamos eloperador de cruce habitual, pero trabajando siempre con tiras completas de bits (la identificacinde una pelcula), es decir, un punto de cruce nunca parte el identificador de una pelcula.

    11. El alcalde de Megacity piensa que en unas cuantas dcadas tendr dinero para hacer una nueva lnea

    de metro que pueda servir a zonas que an no cubre la red actual. Para realizar el proyecto losingenieros de la ciudad han determinado L potenciales lugares donde construir las estaciones de metroy han determinado a partir de proyecciones estadsticas el nmero de usuarios diarios que usara cadaestacin potencial. La lnea de metro solo ha de tener Eestaciones a escoger entre las Lpotenciales.El objetivo es determinar qu Eestaciones escoger y el orden en el que se han de conectar de maneraque se sirva al mayor nmero de personas y el recorrido total de la lnea sea el menor posible.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentarla solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Usar Hill climbing. Como solucin inicial elegimos una solucin sin estaciones. Como operadores debsqueda usamos aadir-estacin, que aade una estacin al final del recorrido de la solucine intercambiar-estaciones que intercambia dos estaciones dentro del recorrido. La funcinheurstica es:

  • 8/12/2019 Coleccion Problemas IA

    29/134

    23

    h(n) =E1i=1

    dist(Ei, Ei+1) +E

    i=1

    Personas(Ei)

    b) Usar Hill climbing. Escogemos una estacin al azar, usamos esta estacin como referencia yescogemos como siguiente estacin la ms cercana a esta, pasamos a tomar como referencia estanueva estacin y buscamos la ms cercana que no est en la solucin, repetimos lo mismo hastatenerEestaciones. Como operadores de bsqueda usamos el cambiar-estacinque intercambiauna estacin de la solucin por otra que no est en la solucin e intercambiar-estacionesqueintercambia dos estaciones dentro del recorrido. La funcin heurstica es:

    h(n) =

    E1i=1 dist(Ei, Ei+1)Ei=1 Personas(Ei)

    c) Usar algoritmos genticos. Le damos a cada lugar un nmero del 1 al L, la codificacin de lasolucin se realiza considerando que tenemos una tira de bits de longitud Elog2(L), dondeconcatenamos los identificadores de los lugares que hay en la solucin, el orden en el que aparecen

    en la codificacin es el orden del recorrido. Para generar la poblacin inicial se escogenElugares alazar de losLy se colocan al azar en la solucin. Como operadores genticos usamos los operadoreshabituales de cruce y mutacin. La funcin heurstica es:

    h(n) = E1i=1

    dist(Ei, Ei+1) + (1 ) (E

    i=1

    P ersonas(Ei))

    Dondees un valor entre 0 y 1 que permite dar ms o menos importancia a cada criterio.

    12. Una empresa de distribucin de electricidad necesita calcular cada da qu centrales de produccin hade tener en marcha para abastecer la demanda de sus clientes. La empresa dispone de Ccentrales deproduccin elctrica ubicadas en diferentes puntos de la geografa, con una capacidad de produccinCAi cada una. El coste diario de tener en marcha cada central es COi.

    El contrato que tiene la empresa con cada uno de sus CLclientes indica la cantidad de electricidad(Ei) que se les debe suministrar cada da. La distancia entre los clientes y las centrales (dij) suponeuna prdida en la eficiencia del suministro, esta prdida se calcula como un factor fijo Pmultiplicadopor esa distancia.

    El objetivo es determinar el conjunto de centrales que se han de tener en marcha y a qu clienteshan de servir, de manera que se minimice el coste de tenerlas en marcha y la prdida debida a ladistancia, teniendo en cuenta que la cantidad de electricidad que reciben los clientes de una central noha de sobrepasar su capacidad de produccin y que se ha de servir toda la demanda de los clientes.Asumiremos que los valores asignados al problema siempre permiten hallar una solucin.

    Una posible solucin a este problema se puede obtener mediante el uso de algoritmos de bsquedalocal. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementosnecesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otrasalternativas posibles. Justifica tus respuestas.

    a) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial asignar a cadacliente al azar una central. Como operadores se utiliza el mover un cliente de una central a otrae intercambiar dos clientes entre dos centrales. La funcin heurstica es la siguiente:

    h(n) =C

    i=1

    (COi marcha(i))

    C

    i=1

    CL

    j=1

    asig(i, j) dij

    donde asig(i, j)es una funcin que retorna uno si el cliente iesta asignado a la central j y ceroen otro caso y marcha(i)retorna uno si la central tiene clientes asignados y cero si no.

  • 8/12/2019 Coleccion Problemas IA

    30/134

    24 Captulo 3. Cerca Local

    b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial un algoritmo ava-ricioso que ordena ascendentemente las centrales segn su coste y los clientes segn su demanda,y va asignando clientes a las centrales segn ese orden. Cuando se sobrepasa la capacidad de unacentral se pasa a la siguiente. El operador utilizado es intercambiar dos clientes entre dos centralessiempre que no se supere la capacidad de suministro de alguna de ellas. La funcin heurstica es:

    h(n) =

    Ci=1

    COi

    C

    i=1

    CL

    j=1

    P asig(i, j) di,j

    c) Se plantea utilizar algoritmos genticos donde la representacin de la solucin es una tira de bits.Esta est compuesta por la concatenacin de Cgrupos de C Lbits, donde cada grupo representala asignacin o no de cada cliente a la central como un 1 o un 0. Las poblacin inicial la obtenemosmediante el mismo mecanismo que en el apartado anterior. Se utilizan los operadores habitualesde cruce y mutacin. La funcin heurstica es:

    h(n) = C

    i=1

    COi marcha(i)+P

    C

    i=1

    CL

    j=1

    asig(i, j) di,j

    13. El comit local de la federacin de ajedrez necesita establecer un calendario para la competicin anual.En una competicin hay Cdiferentes categoras dependiendo de la edad y del nivel de los jugadores.En cada categora participan un nmero Jc de jugadores, lo cual significa un nmero Rc de rondaseliminatorias (obviamentelog2(Jc)). La competicin ha de durar un mximo de 15 das, para cada dade competicin se disponen de Ffranjas horarias, en una franja solo se puede jugar una partida deajedrez. Obviamente se han de jugar todas las partidas de la competicin.

    El calendario ha de cumplir un conjunto de restricciones:

    El nmero de das necesarios para realizar la competicin ha de ser el mnimo posible.

    El conjunto de rondas correspondientes a cada categora se ha de celebrar en el mnimo nmerode das posible.

    En un da se pueden jugar como mximo Ppartidas de una categora.

    Entre dos partidas de una misma categora en un mismo da debe haber como mnimo dos franjashorarias de separacin y como mximo cinco.

    Debe haber como mnimo un da de separacin entre dos rondas de una categora.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos nece-sarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta, eficiente o mejor/peor respecto a otras

    alternativas posibles. Justifica tus respuestas.

    a) Usar Hill-climbing. Como solucin inicial se utiliza el calendario vaco. Como operadores usamosasignar y desasignar una partida de una ronda de una categora a una franja de un da. Comofuncin heurstica usamos el nmero de das total en los que hay partidas asignadas ms la sumadel nmero de das que ocupan las rondas de una categora.

    b) Usar Hill-climbing. Como solucin inicial se usa el calendario resultante de aadir de manerasecuencial las competiciones de cada ronda de la primera categora manteniendo una distanciade cinco franjas horarias entre cada partida, sin superar las Ppartidas diarias y manteniendoun da de separacin entre cada ronda. Con el mismo procedimiento se van introduciendo lascompeticiones del resto de categoras. Como operadores utilizamos mover una partida a una

    franja no ocupada e intercambiar dos partidas. Como funcin heurstica usamos el nmero dedas total en los que hay partidas asignadas, ms la suma del nmero de das que ocupan lasrondas de una categora, ms una constante por el nmero de franjas que separan en un da laspartidas de una misma ronda y categora.

  • 8/12/2019 Coleccion Problemas IA

    31/134

    25

    c) Usar Algoritmos Genticos. Asignamos a cada partida a jugar un cdigo binario con la longitudnecesaria para representarlas todas, aadimos a la codificacin un cdigo con todos los bits acero. Representamos un calendario como una cadena de bits de longitud igual al producto de Ffranjas por 15 das por el nmero de bits necesarios para representar las partidas. Si una franjano tiene una partida asignada contendr la codificacin a cero, si no tendr el cdigo de unapartida.

    Para generar la poblacin inicial usamos el mtodo del segundo apartado cambiando el orden enel que escogemos las categoras. Como operadores genticos usamos solamente el de cruce por unpunto, donde el punto de cruce no puede estar en medio de la codificacin de una partida. Comofuncin heurstica minimizamos el nmero de franjas vacas entre dos partidas consecutivas.

    14. Una de las labores de los equipos de comunicaciones en una red es distribuir el flujo de paquetesque le llegan entre los diferentes equipos con los que estn conectados, optimizando la calidad de sudistribucin.

    Una posible estrategia de distribucin de paquetes sera decidir a priori cuantos de los paquetes quese reciben en cierto momento se envan por cada conexin, sin preocuparnos exactamente de a dondedeben ir.

    Un equipo de comunicaciones recibe cierto nmero de paquetes (P) por segundo que tiene que dis-tribuir entre sus conexiones de salida. Para cada una de las Nconexiones de salida, se conocen tresinformaciones, su capacidad en nmero de paquetes por segundo, el tiempo de retraso que introducela conexin (tiempo medio adicional que aade el nodo de salida al tiempo de llegada a destino decada paquete) y el nmero medio de saltos que har cada paquete hasta llegar a su destino.

    Deseamos calcular el nmero de paquetes que debemos enviar por cada conexin de salida para opti-mizar la distribucin de paquetes de manera que el retraso y nmero medio de saltos de los paquetessea el mnimo posible. Evidentemente se han de enviar todos los paquetes que llegan.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentar

    la solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Se plantea solucionarlo mediante Hill-Climbing usando como solucin inicial el repartir los paque-tes a partes iguales entre todas las conexiones. Como operador utilizamos mover cierta cantidadde paquetes de una conexin a otra. Como funcin heurstica usamos el sumatorio para todas lasconexiones con paquetes asignados del producto entre el retraso de la conexin y el nmero desaltos.

    b) Se plantea solucionarlo mediante Hill-Climbing tomando como solucin inicial el repartir los pa-quetes entre las conexiones asignando aleatoriamente a una conexin el mximo de su capacidad,repitiendo el proceso hasta haber repartido todos los paquetes. Como operador se utilizara mo-

    ver cualquiera de los paquetes de una conexin a otra siempre que la operacin sea vlida. Comofuncin heurstica usamos el sumatorio para todas las conexiones con paquetes asignados delproducto entre el nmero de paquetes y el retraso de la conexin ms el sumatorio para todaslas conexiones con paquetes asignados del producto entre el nmero de paquetes y el nmero desaltos.

    c) Se plantea solucionarlo mediante algoritmos genticos donde la representacin del problema esuna tira de bits compuesta por la concatenacin de la representacin en binario del nmero depaquetes asignados a cada conexin (evidentemente usando el mismo nmero de bits para cadaconexin). Como solucin inicial ordenamos las conexiones por su retraso y asignamos paquetesen ese orden llenando la capacidad de cada conexin hasta haber asignado todos los paquetes.Usamos los operadores de cruce y mutacin habituales. Usamos como funcin heurstica la suma

    del producto entre el nmero de paquetes asignados a cada conexin y el retraso de la conexin.

    15. El ministerio de ciencia y tecnologa desea saber como hacer la asignacin de ayudas a proyectos deinvestigacin de las Cconvocatorias de este ao. Cada convocatoria de ayudas tiene un presupuesto

  • 8/12/2019 Coleccion Problemas IA

    32/134

    26 Captulo 3. Cerca Local

    a repartir entre las peticiones aceptadas. A estas convocatorias los grupos de investigacin puedenpresentar peticiones (la misma peticin puede presentarse a hasta tres convocatorias distintas, perosolo se puede conceder una vez). Una peticin tiene un presupuesto solicitado y el ministerio le asignauna prioridad entre 1 y 3 dependiendo del historial del grupo investigador. Hay un total de Ppeticiones.

    El ministerio quiere asignar la mayor cantidad de dinero posible, pero haciendo que globalmente laproporcin de grupos con concesiones de ayuda cumpla las siguientes restricciones: como mximo el30% de concesiones ha de ser para los grupos de prioridad 2 y como mximo el 10% para los deprioridad 3. Obviamente la suma de los presupuestos solicitados de las peticiones asignadas a unaconvocatoria no puede superar el presupuesto de la convocatoria.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentarla solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Usar Hill-climbing, tomando como solucin inicial la solucin vaca, como operadores tenemosasignar una peticin a una convocatoria y desasignar una peticin de una convocatoria. Como

    funcin heurstica usamos:

    h(n) =

    convj

    peticonvj

    Presupuesto(peti)

    convj

    P resupuesto(convj)

    donde peti convj significa que la peticin i ha sido concedida en la convocatoria j.

    b) Usar Hill-climbing. Para hallar la solucin inicial recorremos todas las convocatorias y asignamostantas peticiones de prioridad 1 solicitadas a esa convocatoria como podamos, sin exceder supresupuesto. Como operadores utilizamos asignar una peticin a una convocatoria, respetandolas restricciones de mximos de peticiones concedidas por prioridad, y mover una peticin de unaconvocatoria a otra. Como funcin heurstica usamos:

    h(n) =

    convj

    peticonvj

    Presupuesto(peti)convj

    P resupuesto(convj)

    c) Usar algoritmos genticos. Codificamos el problema con C Pbits donde cada grupo de P bitscorresponde a una convocatoria de manera que un uno significa que la peticin ha sido concedidaen esa convocatoria. Las soluciones iniciales las generamos utilizando el mtodo del apartadoanterior. Como operadores genticos usamos los operadores habituales de cruce y mutacin. Comofuncin heurstica usamos:

    h(n) =

    convj

    P resupuesto(convj ) peticonvj

    Presupuesto(peti)

    16. Tenemos que planificar la topologa de interconexin de un conjunto de routers que estn distribuidospor el campus nord, de manera que podamos canalizar todo su trfico hacia el equipo de comunicacionesque lo reenva a internet. Para cada router sabemos su localizacin en el campus (supondremos quetenemos un sistema de coordenadas en el que podemos situar cada router) y el ancho de bandadel trfico directo que debe distribuir (el que no le llega de otros routers). Tambin conocemos lascoordenadas del equipo de comunicaciones. Cada router puede estar conectado a otro router o alequipo de comunicaciones exterior directamente (la topologa ha de ser un rbol). Disponemos de trestipos de router (tipos A, B y C) capaces de distribuir hasta cierto ancho de banda mximo cada uno.

    Para distribuir el trfico directo hay suficiente con un router de tipo A. El coste de cada router esproporcional al tipo (el tipo B cuesta el doble que el A y el C el doble que el B). Para conectar cadarouter necesitamos instalar un cable de cierta longitud (supondremos que es la distancia eucldea entrelas coordenadas de los dos equipos conectados) el coste de este cable es proporcional a la longitud y se

  • 8/12/2019 Coleccion Problemas IA

    33/134

    27

    multiplica por el coste del tipo del router que enva por ese cable. El coste del equipo de comunicacionesexterior es fijo y no lo tendremos en cuenta.

    El objetivo es decidir el tipo de los routers dependiendo del ancho de banda que deben soportar y laforma de interconectarlos, de manera que se que minimice el coste de la instalacin.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios

    para plantear la bsqueda (solucin inicial, operadores, funcin heurstica). Hay que comentar lasolucin que se propone respecto a si es correcta, es eficiente, y es mejor o peor en comparacin conotras alternativas. Y hay que justificar todas las respuestas.

    a) Usar Hill climbing. Como solucin inicial conectamos directamente todos los routers al equipo decomunicaciones exterior. Como operadores usamos conectar un router a otro y desconectar unrouter de otro. La funcin heurstica es la suma de los costes de los routers.

    b) Usar Hill climbing. Como solucin inicial calculamos el rbol de expansin mnima de los routersy el equipo exterior y asignamos a cada router el tipo C. Como operador usamos cambiar laconexin de un router o equipo exterior a otro. La funcin heurstica es la suma de los costes delcableado.

    c) Usar Hill climbing. Como solucin inicial conectamos cada router con el router ms cercano yconectamos aleatoriamente uno de los routers al equipo exterior, asignamos a cada router el tipoA. Como operador usamos cambiar la conexin de un router a otro router o equipo exterior porotra distinta si no superamos su capacidad y cambiar el tipo del router. La funcin heurstica esla suma de los costes del cableado ms el coste de los routers.

    d) Usamos algoritmos genticos. Supondremos que los routers y el equipo exterior estn numeradosconsecutivamente, supondremos que para codificar ese nmero hacen falta nbits, la codificacines una tira r nde bits, donde r es el nmero de routers, cada grupo de nbits corresponden aun router siguiendo el orden de la numeracin. Como operadores usamos los operadores de crucey mutacin habituales. La funcin heurstica la suma de los costes de cada cable dividido por elcoste del router que enva por l.

    17. Se ha de celebrar un concurso nacional de canto coral que reune a varias corales no profesionales. Conel objetivo de reducir el desembolso que han de realizar los miembros de las corales, la organizacinha solicitado y ha obtenido el patrocinio de una empresa para sufragar los costes de alojamiento delos participantes. Para llevar mejor el control del gasto en alojamiento, los organizadores del eventohan de planificar las reservas de alojamiento de los 950 asistentes en los hostales de la zona. Disponende una lista de hostales y para cada uno de ellos saben:

    A qu distancia se encuentra del lugar de la celebracin del concurso,

    Cuantas camas tiene disponibles.

    El precio de la cama por noche.

    Su problema es encontrar una asignacin de las 950 personas a hostales de modo que no se supere eltope de camas disponibles en cada hostal, se minimice la suma de las distancias recorridas por todos losasistentes y se minimice la cantidad de dinero que la organizacin va a dedicar al pago del alojamiento.Se puede suponer que slo hay que planificar una noche, que en cada hostal todas las camas cuestanlo mismo y que solo hemos de asignar personas a hostales (la asignacin de personas a camas dentrodel hostal la gestionar el propio hostal con los clientes por orden de llegada).

    Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsquedalocal. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementosnecesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muybrevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras

    alternativas posibles. Justifica tus respuestas.

    a) Usar Hill Climbing. Como solucin inicial se distribuyen aleatoriamente todas las personas entrelos hostales. Como operador se utiliza mover un grupo de personas de un hostal a otro, moviendo

  • 8/12/2019 Coleccion Problemas IA

    34/134

    28 Captulo 3. Cerca Local

    tantas como quepan en el hostal destino. La funcin heurstica es la suma de las distanciasrecorridas por todas las personas multiplicada por una constante D ms la suma de los preciosde las camas multiplicada por una constante P.

    b) Usar Hill climbing. Como solucin inicial se utiliza una estrategia avariciosa poniendo a las per-sonas en los hostales con el cociente precio/distancia ms bajo. Como operador se utiliza moverun grupo de personas de un hostal a otro, moviendo tantas como quepan en el hostal destino. La

    funcin heurstica es la suma, para todas las personas, del producto entre la distancia recorridapor una persona y el precio de su cama.

    c) Usar algoritmos genticos. Representaremos la solucin como una tira de bits donde asignamosa cada hostal tantos bits como se necesiten para representar el nmero mximo de personas quecaben. Utilizamos los operadores habituales de cruce y mutacin. La funcin heurstica es la sumade las distancias de todos los hostales que tienen alguna persona asignada, dividida por la sumade los precios de las camas de todas las personas.

    18. El canal musical de televisin clsica XL Recordingsdesea realizar una planificacin del contenido atransmitir durante un da. Se ha decidido que durante un da se pueden emitir 200 vdeos y quieren

    poder determinar qu vdeos han de emitirse y en qu orden. La cadena dispone de una videoteca conVvdeos de entre los que elegir.

    Para cada vdeo conocemos los ingresos por publicidad que genera su emisin y la popularidad delgrupo musical del vdeo (valor de 1 a 5).

    El objetivo de la cadena es maximizar los ingresos por publicidad, evitando que el nmero de vdeos concierto valor de popularidad sea superior al 40 %. Para no aburrir a la gente, no debemos emitir ningnvdeo mas de una vez, tampoco debemos poner demasiado juntos los vdeos de la misma popularidad.

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica). Hay que comentar lasolucin que se propone respecto a si es correcta, es eficiente, y es mejor o peor en comparacin con

    otras alternativas. Y hay que justificar todas las respuestas.

    a) Usar Hill climbing. Como solucin inicial elegimos 40 vdeos de cada popularidad y los colocamosaleatoriamente en la secuencia de emisin. Como operador intercambiar el orden de emisin dedos vdeos. Como funcin heurstica usamos

    h(n) =200i=1

    IngresosP ublicidadi

    Donde IngresosP ublicidadi es la cantidad que se ingresa por publicidad con el vdeo i.

    b) Usar Hill climbing. Como solucin inicial elegimos los 200 vdeos que generan mayores ingresos

    por publicidad. Como operadores usamos cambiar un vdeo de la solucin por otro que no esteemitido e intercambiar el orden de emisin de dos vdeos.

    c) Usar Hill climbing. Usamos como operador cambiar un vdeo de la solucin por otro que no esteemitido, como funcin heurstica:

    h(n) =200i=1

    f(IngresosPublicidadi)

    donde f(IngresosP ublicidadi)vale 0 si el porcentaje de vdeos de la misma popularidad que elvdeo isupera el 40% o IngresosP ublicidadi en caso contrario.

    d) Usar algoritmos genticos. Supondremos que hacen falta bbits para codificar el identificador deun vdeo. Representamos cada individuo como una tira de 200 bbits. Como poblacin inicial,generar n individuos escogiendo 200 vdeos aleatoriamente. Como operadores utilizamos solamenteel operador de cruce.

  • 8/12/2019 Coleccion Problemas IA

    35/134

    29

    19. La conocida cadena de supermercados Mercahomadesea expandirse a otras ciudades. El problemaque se le plantea es decidir qu locales son los ms adecuados para instalar sus supermercados. Paraello disponemos de un mapa de la ciudad que nos indica L posibles locales donde podemos colocarun total de Ssupermercados (obviamente L S). Adems tambin disponemos de una estimacinde la poblacin que hay en una rea de 500 m2 alrededor de cada local en el que se puede ubicar unsupermercado.

    El objetivo es colocar todos los supermercados de manera que se maximice la poblacin que vivealrededor de cada supermercado y la suma de las distancias entre ellos (obviamente disponemos deuna tabla con sus distancias).

    En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesariospara plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentarla solucin que se propone respecto a si es correcta, es eficiente, o es mejor o peor respecto a otrasalternativas posibles. Justifica tu respuesta.

    a) Se plantea solucionarlo mediante Hill-Climbing. Como solucin inicial se parte de la solucin vaca.Como operadores se usa el colocar un supermercado en un local vaco y quitar un supermercadode un local. Como funcin heurstica se usa la suma de las distancias de los locales de cada

    uno de los S supermercados al resto, dividido por la suma de la poblacin alrededor de cadasupermercado.

    b) Se plantea solucionarlo mediante Hill-Climbing utilizando como solucin inicial el colocar aleato-riamente los Ssupermercados y usando como operadores de bsqueda mover un supermercadoal local vaco ms cercano respecto a su posicin actual. Como funcin heurstica se usa la sumade las distancias de los locales de cada uno de los Ssupermercados al resto ms la suma de lapoblacin alrededor de cada supermercado.

    c) Se plantea resolverlo mediante algoritmos genticos. Para representar el problema utilizamos unatira deL bits y como poblacin inicial generamos aleatoriamente n individuos donde en cada unohay exactamente Sbits a 1. La funcin heurstica es la suma de distancias de cada supermercado

    al resto ms una constante por la suma de la poblacin alrededor de cada local. Como operadoresusamos un operador de cruce que intercambia aleatoriamente la mitad de los bits de cada individuode la pareja cruzada y un operador de mutacin que intercambia aleatoriamente dos posicionesde la tira de bits cumpliendo que en una sea un bit a 1 y en la otra un bit a 0.

    20. Parques y Jardines ha de decidir qu plantas va a colocar en un parque de XHa. En el almacntienenKplantas distintas y de cada planta se sabe la superficie que ocupa (s) su coste (c) la duracinesperada de vida (v) y su temporada de auge (t). Los valores para la temporada de auge son: TT, PV,OI. Se trata de escoger un subconjunto C(con C K) de plantas diferentes que quepa en el parquede modo que se maximice la su