Está en la página 1de 129

` Intel.

ligencia Articial

` Enginyeria en Informatica ` Grau en Informatica

DE PROBLEMES COL.LECCIO

` Departament de Llenguatges i Sistemes Informatics

CURS 2013/2014 1Q

cbea

ndice general

1. Representaci de Problemes de Cerca 2. Cerca Heurstica 3. Cerca Local 4. Jocs 5. Satisfacci de restriccions 6. Representaci del Coneixement: Sistemes de producci 7. Representaci del Coneixement: Frames/Ontologies 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement

1 5 15 33 43 53 61 75

9. Sistemes Basats en el Coneixement: Raonament Aproximat 95 9.1. Redes Bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.2. Lgica difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 10.Questions dexamen 105 10.1. Bsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 10.2. Representacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

2 En lelaboraci de la col.lecci de problemes dIA han participat els professors: Ma Teresa Abad Soriano Javier Bjar Alonso Nria Castell Ario Luigi Ceccaroni Juan Manuel Gimeno Illa Llus Mrquez Villodre Horacio Rodrguez Hontoria Miquel Snchez i Marr Ramon Sangesa Sol Lus Jos Talavera Mndez Jordi Turmo Borrs Javier Vzquez Salceda Responsable de la publicaci: Javier Bjar (bejar@lsi.upc.edu)

NDICE GENERAL

Esta obra est bajo una licencia Reconocimiento-NoComercial-CompartirIgual de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/es/ o envie una carta a

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

1. Representaci de Problemes de Cerca

1. Tenemos un tablero de 3x3 casillas como el de la gura N B N B

En cada esquina tenemos un caballo de ajedrez, dos caballos negros y dos blancos. Deseamos intercambiar los caballos negros con los blancos. a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir. Estima el tamao del espacio de estados. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). c ) Importa el camino o slo el estado nal?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 llenar totalmente las jarras de agua, necesitas obtener exactamente 2 litros en la jarra de cuatro litros a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir. Estima el tamao del espacio de estados. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). c ) Importa el camino o slo el estado nal?la solucin ha de ser ptima? 3. Si recuerdas el procedimiento de validacin por resolucin en lgica de enunciados, puedes validar cualquier razonamiento a partir de la transformacin de sus premisas y la negacin de la conclusin a forma normal conjuntiva. El algoritmo mas sencillo (pero no muy eciente) de validar un razonamiento es aplicar la regla de la resolucin (desempolva tus apuntes de ILO) sistemticamente entre las clusulas hasta conseguir derivar una contradiccin. a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir. Estima el tamao del espacio de estados. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). c ) Importa el camino o slo el estado nal?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 sin dejar huecos (o dejando los mnimos posibles) utilizando un conjunto ordenado de piezas con todas las posibles formas construibles utilizando cuatro cuadrados (siete piezas distintas) a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir. Estima el tamao del espacio de estados. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). c ) Importa el camino o slo el estado nal?la solucin ha de ser ptima? 1

Captulo 1. Representaci de Problemes de Cerca 5. Continuando con el juego del tetris este utiliza como piezas todas las formas posibles usando cuatro cuadrados de manera que cada cuadrado tenga al menos un lado contiguo a otro cuadrado. Supn que quieres calcular todas las formas posibles que se pueden construir con N cuadrados. a ) Plantalo como un problema de bsqueda en espacio de estados deniendo los estados y los operadores necesarios para realizar la bsqueda (evidentemente no hay una nica manera de plantear el problema, dene 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 dene a partir de un par de posiciones (i,j) y su efecto es invertir el orden en el que estn todos los nmeros entre esas posiciones. a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir. Estima el tamao del espacio de estados. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). 7. Existen mltiples problemas clsicos sobre grafos que se pueden plantear como una bsqueda en espacio de 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 de una dada y acabando en sta, sin repetir ninguna y recorriendo el mnimo de distancia (se supone que dispone 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 comiencen y terminen en una ciudad y que en los k caminos cada ciudad aparezca como mnimo en un camino (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 (se supone que tenemos el mapa de todas las calles de la zona) (tambin se puede plantear la misma variante de k caminos) Mximo Clique: Un clique es un grafo en el que cada vrtice esta conectado con el resto de vrtices del grafo (o sea que es un grafo completo). El problema consiste en encontrar para un grafo el mayor subgrafo que sea un clique. 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. Mnimo rbol de Steiner: Dado un grafo completo (todos los vrtices conectados con todos), donde cada 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 unos vrtices especcos con el mnimo coste) Coloreado de grafos: Dado un grafo y k colores, asignar a cada vrtice del grafo un color de manera que dos vrtices conectados no tengan el mismo color. a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir, estima el tamao del espacio de estados. Piensa que puede haber diferentes formas de plantear el problema. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). 8. Otros problemas tpicos que se pueden plantear como bsqueda en espacio de estados son los que involucran 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

3 quieres que haya mas de k cursos de un nivel cada da Generaliza el problema suponiendo que tienes g grupos de cada curso y a aulas y no quieres que haya dos cursos iguales a la misma hora Supn que tienes que hacer tu horario cuatrimestral y dispones de m asignaturas, cada una de ellas con n grupos y quieres elegir un subconjunto k de ellas (k<m) sin que se solapen sus horarios a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir, estima el tamao del espacio de estados. Piensa que puede haber diferentes formas de plantear el problema. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente). 9. El problema del club de golf. Tenemos un club de golf con 32 jugadores, todos ellos juegan una vez a la semana en grupos de 4 personas. Queremos obtener los emparejamientos para el mayor numero de semanas de manera que un jugador no este en el mismo grupo que otro jugador mas de una vez. a ) Dene que elementos forman el estado, el estado inicial y cual es estado nal o que propiedades ha de cumplir, estima el tamao del espacio de estados. Piensa que puede haber diferentes formas de plantear el problema. b) Dene las caractersticas de los operadores para realizar la bsqueda (condiciones de aplicabilidad y funcin de transformacin), evala cual sera el factor de ramicacin (aproximadamente).

Captulo 1. Representaci de Problemes de Cerca

2. Cerca Heurstica

1. El problema del coloreado de grafos consiste en etiquetar con un color cada vrtice del grafo, de forma que no haya dos vrtices adyacentes con el mismo color. Este problema se puede resolver por medio de bsqueda. a ) Describe los pasos que seguira un algoritmo A* para encontrar una solucin al coloreado del siguiente grafo:
v1 {A,R}

{A,V}

v2

v4

{V,R,A}

v3

{V}

en donde los vrtices son V1, V2, V3 y V4 y los colores posibles para cada vrtice se indican entre llaves (A:azul, R:rojo, V:verde). El estado inicial tiene todos los vrtices sin color asignado. Un estado S es sucesor de otro S si S contiene la asignacin de colores de S ms la asignacin de un color al vrtice ms pequeo sin colorear de S (es decir, los vrtices se instancian en el orden V1 V4). La funcin heurstica es: h(s) = nmero de vrtices sin color en s + 2 nmero de vrtices adyacentes con el mismo color en s b) Es admisible la funcin heurstica? Razona la respuesta. c ) Sugiere otro algoritmo que solucione este problema de forma ms eciente que A* 2. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del coste h hasta 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 H. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible?

B 1 A 1 C 1 1 2 2 D 1 2

E 1 1 2 F 3 G 2 H

Nodo h(nodo)

A 4

B 4

C 3

D 3

E 2

F 3

G 2

H 0

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

6 b 10 c 4 d 10 12 2 4 e h 3 4 12 0 4

Captulo 2. Cerca Heurstica

a b c d e

on els nodes de les les sn els nodes-pares i els nodes de les columnes els nodes-lls. El node a s linicial i el nal 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, reopertures de nodes tancats, etc. Quin s el cam trobat? Quin s el seu cost? s lptim? b) Es veriquen les condicions dadmissibilitat? Justiqueu 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 siguientes movimientos: Desplazamiento (coste=1): Una moneda puede ser desplazada a la casilla contigua si sta se encuentra vaca. Giro (coste=1): Cualquier moneda puede ser girada sin ninguna condicin adicional. Slo una cada 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, cae realizando un giro. Un ejemplo de salto (coste=2) es pasar del estado AR_RA al estado ARRR_ Deseamos obtener la situacin nal siguiente: R A R A

Dada la funcin heurstica h(n) = p2 + p3 + p4 + p5 + dv donde pi vale 0 si la casilla i contiene la asignacin correcta respecto del estado nal y vale 1 en caso contrario y dv es la distancia del blanco respecto a la posicin nal (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, el tratamiento 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 expansin 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 (de coste 1) el dar la vuelta a dos monedas contiguas. Deseamos obtener la situacin nal siguiente:

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, el tratamiento 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 expansin 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. La unidad 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 ventana de 3 ciclos de reloj, de manera que se puede utilizar para ejecutar a la vez varios procesos (hilos de ejecucin). 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: A H1 H1 H1 B H2 H2 C H3 H3 H2

1er paso

Se ejecuta la instruccin A del primer hilo en paralelo con la B del segundo hilo, las dos primeras C del tercer hilo y nalmente la C del segundo hilo respetando as la precedencia de instrucciones del segundo hilo.

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

2o paso

Se ejecuta la instruccin A del segundo hilo en paralelo con la B del primer hilo, la tercera C del tercer hilo y nalmente la C del primer hilo respetando as la precedencia de instrucciones del primer 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 de pasos de ejecucin sea el mnimo. La bsqueda consiste en determinar qu conjunto de instrucciones y de que hilos se pueden ejecutar en cada paso de la unidad de ejecucin. En caso de que se pueda elegir 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 es 1. 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 ejecutar Sera admisible este heurstico? d ) Utiliza ahora el algoritmo del IDA* con este nuevo heurstico para hacer la exploracin (realiza cada iteracin por separado indicando el orden de expansin de los nodos)

Captulo 2. Cerca Heurstica 7. Dado el siguiente grafo donde cada arco indica su coste y la tabla que indica la estimacin del coste h hasta 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 O. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las repeticiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible? 1 B 2 1 1 A 2 C 2 2 D 1 H Nodo h(nodo) A 6 B 5 C 6 D 6 E 3 F 5 G 5 H 4 I 8 G 2 2 L J 3 K 2 L 1 1 O M 5 N 1 O 0 4 F 1 1 3 K 3 N 1 1 1 J 1 2 M E 3 1 I 3

8. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del coste h hasta 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 H. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible? B 2 A 3 C Nodo h(nodo) A 6 B 4 1 2 3 1 1 E 1 F D 3 E 2 4 1 2 D 2 G 1 H G 2 H 0

C 3

F 3

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

N R O O1 O3 E O2 S

9 a ) Utiliza el algoritmo del A* para hallar el camino que permite al robot recoger los 3 objetos en orden 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 gura. 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 pasos del objeto O1 al objeto O2 y d23 es la distancia del objeto O2 al objeto O3. Utiliza de nuevo el algoritmo del A* para hallar la solucin. Para hacer la expansin de los nodos utiliza el orden N-S-E-O tal como se indica en la gura. Indica el orden de expansin de los nodos. El camino encontrado es ptimo? c ) Los heursticos usados son admisibles? Podemos armar que uno es ms informado que el otro? Razona las respuestas. d ) Haz de nuevo la bsqueda utilizando el algoritmo del IDA* y el heurstico h1 . Indica el orden de expansin 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 coste h hasta 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 H. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible? 2 1 2 1 C 1 F 4 G 2

B 1 A 2 3 D 1

Nodo h(nodo) 11. Dado el siguiente grafo

A 4

B 4

C 3

D 3

E 2

F 3

G 2

H 0

10

Captulo 2. Cerca Heurstica a ) Buscar, aplicando A*, un recorrido que pase por todos los nodos empezando y acabando por el nodo A. Slo es posible pasar de un nodo X a un nodo Y si existe el arco X Y. Se permite pasar ms de una vez por el mismo nodo. En cada iteracin indica el orden de expansin de los nodos. Utiliza como funcin heurstica el nmero de nodos nuevos pendientes de visitar. Orden de generacin de sucesores: orden lexicogrco. b) El camino encontrado es ptimo? Justica formalmente la respuesta. c ) Repite la bsqueda utilizando el algoritmo IDA

12. Tenemos el siguiente rompecabezas con la conguracin de la gura N N N B B B

y disponemos de una nica regla, dos chas se pueden intercambiar si estn adyacentes, considerando que los dos extremos son adyacentes (es un tablero circular). El objetivo es obtener la siguiente conguracin: B B N B N N

a ) 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 conguracin nal. ORDEN: Al expandir los nodos considera los movimientos secuencialmente, empezando por el de ms 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 de los 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 intentan alinear los smbolos de las secuencias y asignar una puntuacin al alineamiento. El problema es que hay muchas maneras de alinear dos secuencias y slo interesa la mejor. Para simplicar 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. Como es posible que las dos secuencias sean de longitud diferente, se pueden introducir smbolos blancos durante el alineamiento para compensarlo, de manera que al nal del alineamiento las dos cadenas tengan 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 si los 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 secuencias y 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, de manera que estaramos en el estado (A|ABB, B|AA) con coste uno ya que los smbolos no coinciden (la barra vertical | indica hasta donde llega el alineamiento que llevamos), o podramos aadir un hueco en 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 heurstica h(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 secuencia y despus a la segunda. Indica el orden de expansin de los nodos y la gestin de duplicados, si procede.

11 b) Resuelve el mismo problema aplicando el algoritmo del IDA*. Indica el orden expansin de los nodos 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 coste h hasta 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 nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible? 1 1 1 3 1 1 2

B 2 C

E 2 F 3 G

Nodo h(nodo)

A 3

B 4

C 3

D 4

E 3

F 3

G 0

15. Dada la siguiente conguracin inicial del tablero: N N B B

donde hay dos piezas negras (N), dos blancas (B) y una posicin vaca, y teniendo en cuenta las siguientes 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 coste 1. 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 nal de la casilla vaca es indiferente. a ) Muestra el rbol de bsqueda generado por el algoritmo A* indicando el orden de expansin de los nodos, el tratamiento de los duplicados, la solucin encontrada y el coste de la misma. Utiliza como heurstico: h(n) = nmero de piezas blancas b) Justica la admisibilidad o no del heurstico utilizado. c ) Considera ahora el siguiente heurstico: h2 (n) = nmero de piezas blancas - c donde c vale 1 si el espacio es adyacente a una pieza blanca y vale 0 en caso contrario. Justica su admisibilidad o 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 h hasta 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 O. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible?

12 1 1 E 1 C Nodo h(nodo) 4 2 F B 5 C 6 D 6 1 1 I E 3 F 5 G 5 2 1 H 2 3 K I 8 J 3 K 2

Captulo 2. Cerca Heurstica

B 2 A

G 3 3 2 J 1 1 2 1

L 1 M 3 N M 5 N 1 O 0 3 1 O

A 6

H 4

L 1

17. Dado el siguiente grafo, donde cada arco indica su coste, y la tabla que indica la estimacin del coste h hasta 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 H. Haz la generacin de los nodos siguiendo el orden alfabtico e indica claramente las reexpansiones de los nodos y los cambios de coste que aparezcan. Es la funcin heurstica admisible? 2 B 1 A 1 C Nodo h(nodo) A 6 B 4 1 2 2 E 1 1 F D 4 E 4 F 3 G 3 H 0 1 G D 1 1

C 4

18. Dado el rbol de bsqueda que aparece en la gura 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 dos valores el orden corresponde a la rama por la que se ha llegado al nodo.
0+6

2+5

1+5

2+6

1+5

3+4

3+5|2+5

3+5

3+5|2+5

5+3|4+3

3+4

4+4

3+4

6+2

5+2

5+2

6+0

13 19. Dado el rbol de bsqueda que aparece en la gura 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 dos valores el orden corresponde a la rama por la que se ha llegado al nodo.
0+6

2+4

1+5

3+3

3+3|2+3

3+3

5+2

4+2

4+3

4+2

6+1

5+1

7+1

6+1

7+0

20. Dado el rbol de bsqueda que aparece en la gura 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 dos valores el orden corresponde a la rama por la que se ha llegado al nodo.
0+6

2+4

2+3

1+5

4+2

3+3

3+3|2+3|3+3

2+4

5+2

4+3

5+2

6+2 7+0

14

Captulo 2. Cerca Heurstica

3. Cerca Local

1. Existen problemas en los que dado el tamao de su espacio de bsqueda es imposible plantearse encontrar la solucin ptima. Para este tipo de problemas se han diseado algoritmos de bsqueda local (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 acabando en sta, sin repetir ninguna y recorriendo el mnimo de distancia (se supone que se dispone de un mapa 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 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 unos vrtices especcos 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. Los contenedores 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 debajo de la altura de los contenedores. El problema consiste en: dado un conjunto de paquetes saber cual 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 cierto volumen y cierto valor y un contenedor con una capacidad ja, hallar el conjunto de objetos que nos 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 suma total 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 con los que se puede encontrar la solucin de partida (no tiene por que ser buena) Dene lo necesario para solucionar el problema mediante el algoritmo de hill-climbing (funcin heurstica, operadores de cambio de estado) Dene lo necesario para solucionar el problema mediante algoritmos genticos (representacin del estado, funcin de calidad, operadores de cruce y mutacin) 2. Una empresa de transporte martimo desea decidir la conguracin de la carga de su prximo barco. La empresa recibe un conjunto de peticiones de envo de entre las que escoger. Cada peticin va dentro de un tipo contenedor que est jado por el tamao, el peso del envo y las caractersticas de la carga. Existen solamente K tipos de contenedor. 15

16

Captulo 3. Cerca Local Los contenedores son propiedad de la empresa y su uso tiene un coste asociado que depende del tipo de 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 de sobrepasar la capacidad de carga del barco Pmax , ni ha de ser inferior a cierto valor Pmin . Cada contenedor tiene un peso asociado que depende de la carga que contiene. Las posibilidades de colocar los contenedores en el barco tambin imponen que haya un mnimo de Cmin contenedores y un mximo de Cmax contenedores de cada tipo. El objetivo es encontrar la combinacin de peticiones que den el mximo precio de transporte y tengan el coste ms pequeo dentro de las restricciones impuestas. 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 comentar la solucin que se propone respecto a si es correcta, es eciente, o es mejor o peor respecto a otras alternativas posibles. Justica tu respuesta. a ) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial el barco vaco y como operadores aadir y quitar contenedores del barco. Queremos usar como funcin de evaluacin de las soluciones lo siguiente:
N cont N cont

h(n) =
i=0

P recioi
i=0

Costei

Donde N cont es el nmero de contenedores que hay en una solucin, P recioi es el precio de transporte del contenedor i de la solucin y Costei es el coste de un contenedor i de la solucin. b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial escoger al azar Cmin contenedores de cada tipo. Como operador utilizamos intercambiar un contenedor del barco por otro que no est en l. Queremos usar como funcin de evaluacin de las soluciones lo siguiente:
N cont

h(n) =
i=0

P recioi Costei

c ) Se plantea utilizar algoritmos genticos donde la representacin de la solucin es una tira de bits con tantos bits como peticiones haya, donde cada bit signica si la peticin est o no en el barco. Para generar la poblacin inicial usamos la misma tcnica que en el apartado anterior. Usamos los operadores habituales de cruce y mutacin y como funcin de evaluacin usamos la del apartado anterior pero haciendo que valga cero si la solucin incumple las restricciones del problema. 3. Un elemento necesario para construir edicios son las varillas metlicas para el hormign armado. Cuando se realiza una gran construccin hacen falta un gran nmero de varillas de diferentes longitudes. A partir de los planos de construccin se pueden calcular cuantas varillas van a ser necesarias y de qu longitudes. En la fabricacin de varillas metlicas el proceso ms sencillo es tener mquinas que hacen varillas de una longitud ja (l) y luego tener mquinas para cortar esas varillas para adaptarse a los pedidos (ninguna varilla del pedido ser de longitud mayor que l). El problema que nos planteamos es, dado un pedido que nos indica un conjunto de longitudes y para cada longitud cuantas varillas son necesarias, obtener como debemos cortar las varillas que fabricamos de manera que desperdiciemos la menor cantidad posible de material. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comentar cada apartado indicando si los elementos de la propuesta son correctos, ecientes en coste, mejor/peor que otras alternativas propuestas o si hay alternativas mejores. Justica tus respuestas. a ) Se plantea aplicar Hill-climbing usando como solucin inicial asignar en orden creciente de longitud varillas del pedido a varillas a cortar, cuando la suma de las longitudes de las varillas asignadas

17 a una varilla superan su longitud se pasa a la siguiente varilla a cortar. Como operadores se usan mover una varilla del pedido de una varilla de corte a otra y quitar una varilla de corte que no tiene varillas de pedido asignadas. Como funcin heurstica se usa la suma de las longitudes de las varillas a cortar. b) Se plantea aplicar Hill-climbing usando como solucin inicial ir asignando al azar varillas del pedido a varillas a cortar, cuando la suma de las longitudes de las varillas asignadas a una varilla superan su longitud se pasa a la siguiente varilla a cortar. Como operadores se usan intercambiar dos varillas de pedido entre dos varillas a cortar siempre que no se supere la longitud de ninguna de las varillas a cortar y quitar una varilla de corte que no tiene varillas de pedido asignadas. Como funcin heurstica se usa la diferencia entre la longitud total de las varillas del pedido y la longitud total de las varillas a cortar con varillas asignadas. c ) Se plantea utilizar algoritmos genticos. Para la representacin de una solucin se decide asignar un nmero a cada varilla del pedido que se corresponder con la varilla a cortar que tiene asignada, este valor ir de 1 al nmero de varillas que hay en el pedido. Con la codicacin en binario de la concatenacin de estos nmeros en un orden especco tenemos la codicacin de una solucin. Como mecanismo para generar la poblacin inicial se utiliza escoger al azar la varilla a cortar asignada a cada varilla del pedido dentro de los valores [1, num varillas pedido]. Como operadores genticos se usan los operadores de cruce y mutacin habituales. La funcin heurstica ser el nmero de varillas a cortar distintas que hay en la codicacin de la solucin. 4. Despus de los incendios del verano se nos plantea el problema de repoblar las reas afectadas. Dada un rea concreta de cierto nmero de hectreas decidimos volver a repoblarla, para ello dividimos el rea en una cuadrcula de N M y 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 a 3 (0 signica ninguna repoblacin, 1 signica plantar A rboles, ..., 3 signica plantar 3 A rboles). Disponemos un mximo de K A rboles para plantar, pero no queremos plantar menos de I A rboles. Adems queremos minimizar el riesgo de incendio del rea. Este es una funcin del factor de repoblacin de 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 A y K A ) y con el mnimo riesgo de incendio. Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Usar Hill Climbing. Para ello generamos una solucin inicial en la que todas las reas tienen factor de repoblacin 0. Los operadores son aumentar o disminuir el factor de repoblacin de un rea. La funcin heurstica que queremos optimizar es:
M N M N

h (n) =
i=1

R(i)
i=1

F r(i)

b) Usar Hill Climbing. Para ello generamos una solucin inicial en la que asignamos secuencialmente factor de repoblacin 1 a cada elemento de la cuadrcula hasta llegar a la cantidad mnima de rboles que hemos de plantar. Los operadores son aumentar el factor de repoblacin siempre que este no sea 3 o disminuir el factor de repoblacin de un rea siempre que no sea 0. La funcin heurstica que queremos optimizar es:

18

Captulo 3. Cerca Local

M N

h (n) = (
i=1

F r(i) K )

1
M N i=1

R(i)

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

h (n) =
i=1

R(i)
i=1

F r(i)

5. Una empresa chocolatera desea comercializar una nueva caja de bombones que cumpla cierto conjunto de caractersticas: el precio ha de ser el mnimo posible, el benecio que se obtenga ha de ser el mximo posible, ha de tener un peso limitado (no ms de 500 g, ni menos de 400 g) y ha de estar compuesta de una combinacin de los diferentes tipos de bombones que fabrica, estos pertenecen a K tipos diferentes, cada uno de ellos con un precio, un peso y un benecio por bombn diferentes. La caja ha de contener no ms de N y no menos de M bombones de cada tipo. Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial llenar la caja de bombones de un solo tipo hasta llegar al peso mnimo y como operadores aadir un bombn sin pasar del peso mximo y cambiar un bombn por otro de un tipo distinto. La funcin de evaluacin es la suma del precio de los bombones multiplicada por la suma de los benecios. b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial asignar un nmero aleatorio de bombones de cada tipo dentro del rango [M,N]. Como operadores tenemos cambiar un bombn de un tipo por otro de otro tipo siempre que se mantengan las cantidades mximas y mnimas por tipo y no se violen las restricciones de peso. Se plantea utilizar como funcin de evaluacin de las soluciones la suma del benecio de los bombones de cada tipo que pasa de M unidades dividida por la suma de precios de los bombones de cada tipo que pasa de M unidades. c ) Se plantea utilizar algoritmos genticos donde la representacin de la solucin es la concatenacin de K grupos de N bits cada uno, donde cada bit determina si el bombn est o no en la caja. Las soluciones iniciales se obtienen llenando la caja con M bombones de cada tipo. Se usan los operadores habituales de cruce y mutacin. La funcin de evaluacin es la suma de los precios penalizando la solucin con el valor + cuando el peso est por encima o por debajo de los lmites 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 (donde B < A) aparatos de descontaminacin para mejorar la situacin. Para ello se dispone de un mapa del parque que indica la posicin de la estacin de trenes donde se han almacenado todos los aparatos y de los A lugares donde se necesita colocar los aparatos de descontaminacin. Adems tambin se dispone del 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 el coste del recorrido (suma de desplazamientos) que harn los aparatos en el sentido estacin fuente de contaminacin.

19 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 la solucin que se propone respecto a si es correcta, es eciente, y es mejor o peor en comparacin con otras alternativas. Y hay que justicar 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 determinada, 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 aparatos colocados aleatoriamente, y utilizando como funcin heurstica la suma de los costes de desplazamiento de la estacin a cada una de las B fuentes. c ) Se plantea solucionarlo mediante Hill-Climbing, partiendo de una solucin inicial con B aparatos colocados aleatoriamente, y utilizando como funcin heurstica la suma de los costes mnimos de los recorridos estacin fuente de contaminacin multiplicada por la suma de los niveles de contaminacin en correspondientes a los B aparatos. d ) Se plantea solucionarlo mediante Hill-Climbing, partiendo de una solucin inicial alcanzada colocando los B aparatos ordenadamente segn el coste mnimo estacin fuente de contaminacin y empezando con el que tiene coste menor. Se plantea como operador mover un aparato a cualquier fuente cuyo producto de coste mnimo estacin fuente por nivel de contaminacin sea menor que el actual. e ) Se plantea solucionarlo mediante algoritmos genticos: se usan individuos de A bits y como poblacin inicial se generan n individuos donde en cada uno hay exactamente B bits a 1. La funcin de idoneidad es la suma de los costes mnimos estacin fuente de contaminacin ms la contaminacin total residual del parque multiplicada por una constante. Como operadores se usan 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 su peticin de habitaciones para todo el ao. Las peticiones son consideradas como el nmero mximo a reservar, pero los propietarios saben que no tienen habitaciones sucientes para cubrir todas las peticiones de todos los tour-operadores. Por esta razn, internamente tienen denido un nmero mnimo a asignar a cada tour-operador. Este nmero les permite mantener las buenas relaciones. A partir de aqu asignarn a los tour-operadores un nmero de habitaciones que estar entre el mnimo interno y la peticin real recibida. Para asignar las habitaciones, los propietarios tienen varias restricciones a respetar. Por un lado, hay un nmero mnimo de habitaciones que queda siempre bajo la gestin directa del hotel. Por otro lado, se quiere maximizar los benecios obtenidos de las habitaciones reservadas a los tour-operadores, teniendo en cuenta que los benecios Bi son distintos dependiendo del tour-operador y el benecio por habitacin gestionada por el hotel es BH . Adicionalmente, se quiere maximizar la calidad de la ocupacin para lo cual tienen asignado a cada tour-operador un ndice Qi que cuantica la calidad de los turistas que suelen venir a travs del operador en cuestin. Este ndice se asociar a cada habitacin reservada para ese operador. El propio hotel tiene tambin un ndice QH . En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comentar cada apartado indicando si los elementos de la propuesta son correctos, ecientes en coste, mejor/peor que otras alternativas propuestas o si hay alternativas mejores. Justica tus respuestas. a ) Se plantea aplicar Hill-climbing usando como solucin inicial asignar el mnimo de habitaciones a cada tour-operador. Se dene como operador asignar una habitacin a alguien distinto del que la tiene asignada (tour-operador/hotel), siempre y cuando el nuevo tour-operador tenga mejor Q y se respeten todos mnimos. Se plantea como funcin de evaluacin la suma total de los benecios obtenidos de cada habitacin.

20

Captulo 3. Cerca Local b) Se plantea aplicar Hill-climbing usando como solucin inicial asignar el mnimo de habitaciones a cada tour-operador y del conjunto de habitaciones no asignadas apartar el mnimo para el hotel y asignar el resto al tour-operador que nos da mayor benecio. Se dene como operador asignar una habitacin a un tour-operador distinto del que la tiene asignada. Se plantea como funcin de evaluacin la suma total de los benecios obtenidos por habitacin ms la suma del ndice Q de cada una de ellas. c ) Se plantea usar algoritmos genticos donde la representacin de la solucin es una tira de bits donde hay (N + 1) secuencias bits. Para cada tour-operador y el hotel tenemos asociadas una secuencia de bits que representa el nmero de habitaciones asignadas. Cada secuencia de bits ha de ser suciente para codicar en binario el nmero total de habitaciones del hotel. Como solucin inicial se asigna el mnimo de habitaciones a cada tour-operador y el resto al hotel. Los operadores a usar son los habituales de cruce y mutacin. Se propone como funcin de evaluacin:
N

h(n) =
i=1

num_habitacionesi

Bi BH + num_habitacionesH Qi QH

La funcin valdr innito cuando no se cumplan los mnimos. 8. Una compaa de telecomunicaciones debe distribuir un conjunto de antenas de comunicaciones A = {a1 , a2 , ..., an }, para ello tiene que ubicar un conjunto de R arrays de antenas en la ciudad. Cada una de las n antenas viene descrita por una potencia P (ai ) {1M w, 2M w, 5M w}, y su respectivo ancho de banda B (ai ) {5M bps, 15M bps, 30M bps}, o sea, tenemos antenas de 3 tipos diferentes. En el conjunto de antenas A tenemos un nmero no determinado de antenas de cada tipo. Cada array de antenas est compuesto por tres mstiles con una distancia de 2 metros entre cada mstil, en cada mstil podemos ubicar secuencialmente 3 antenas, cada antena est separada un metro de la siguiente, o sea, nos caben 9 antenas por array y las posiciones estn numeradas del 1 al 9. En un array de antenas no podemos colocar ms de 5 antenas del mismo tipo. 1. La compaa quiere la mayor eciencia en la gestin de los arrays de antenas. El ancho de banda total necesario AB es menor que el ancho de banda de la suma de las antenas, por lo tanto quiere que el nmero arrays de antenas realmente usado sea el menor posible, pero superando el ancho de banda mnimo AB . 2. Queremos que cada array est a su mxima ocupacin respetando la restriccin de que no puede haber ms de 5 antenas de cada tipo en un array. 3. El ancho de banda efectivo de un array de antenas depende de las interferencias que hay entre antenas, queremos minimizar las interferencias totales entre las antenas. Podemos calcular el total de interferencias entre antenas de un array como: I (arrayk ) =
ai ,aj arrayk

P (ai )P (aj ) d(ai , aj )

donde d(ai , aj ) es la distancia eucldea entre dos antenas del mstil. Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Usar Hill-climbing. Como solucin inicial se colocan al azar todas las antenas que quepan en los R arrays. Como operadores se utilizan aadir_antena(antena,array,posicin), aplicable si la posicin est libre y quitar_antena(array,posicin), aplicable si hay una antena en la posicin. Como funcin heurstica optimizamos:

21

h1 (n) = (
arrayi aj arrayi

B (aj ) AB ) +
arrayi

I (arrayi )

b) Usar Hill-climbing. Como solucin inicial se ordenan las antenas segn su ancho de banda, se ordenan arbitrariamente los arrays y se van recorriendo iterativamente llenndolos completamente con antenas respetando que no haya mas de 5 antenas del mismo tipo y hasta sobrepasar el ancho de banda mnimo AB . Como operador se utiliza intercambiar_antenas(arrayO, arrayD, posO, posD), los arrays pueden ser el mismo (cambiamos dos antenas dentro de un array), para realizar el intercambio debe haber antenas en las posiciones indicadas. Como funcin heurstica optimizamos: h2 (n) =
arrayi

I (arrayi ) |array |

siendo |array | el nmero de arrays que tienen antenas. c ) Usar Algoritmos Genticos. Asignamos nmeros consecutivos a todas las posiciones de los arrays de antenas, de manera que tenemos las posiciones numeradas de 1 al R 9. Con la representacin en binario de este nmero construimos una tira de bits concatenando las posiciones donde est ubicada cada una de las n antenas de las que disponemos. Como solucin inicial colocamos tres antenas de cada tipo en cada array hasta superar el ancho de banda AB . Como operadores utilizamos los operadores habituales de cruce y mutacin. Como funcin heurstica optimizamos: h3 (n) =
arrayi

I (arrayi )
arrayi aj arrayi

B (aj )

9. Tenemos una pequea ota de C camiones que utilizamos para repartir mercancas y cada da tenemos que determinar qu ruta ha de seguir cada camin para abastecer un conjunto de ciudades por todo el pas. El objetivo es que todos los camiones acaben la jornada aproximadamente a la misma hora, por lo que el nmero de kilometros que ha de recorrer cada camin ha de ser muy parecido, y que recorran en total el mnimo nmero de kilmetros. Disponemos de un mapa de carreteras que nos dice la distancia en kilmetros entre cada ciudad donde hemos de dejar nuestra mercanca, suponemos que todos los camiones parten de la misma ciudad y han de volver a ella al nal del da, cargan al principio de la jornada todo lo que han de repartir, han de pasar slo una vez por cada ciudad. Una posible solucin a ste problema se puede obtener mediante el uso de algoritmos de bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Usar Hill Climbing. Como solucin inicial asignamos al azar a cada camin un nmero aproximadamente igual de ciudades, recorrindolas en orden tambin al azar. Como operadores usamos el intercambiar dos ciudades entre los recorridos de dos camiones e intercambiar las posiciones de dos ciudades en el recorrido de un camin. La funcin heurstica es la siguiente:
C

h(n) =
i=1

LRi C j =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, estableciendo el recorrido inicial mediante una estrategia avariciosa de manera que intentemos minimizarlo.

22

Captulo 3. Cerca Local Como operadores usamos el mover una ciudad del recorrido de un camin a otro e intercambiar las posiciones de dos ciudades en el recorrido de un camin. La funcin heurstica es la siguiente:
C

h(n) =
i=1

LRi

c ) Usar Hill climbing. Como solucin inicial escogemos las C ciudades ms cercanas a la ciudad origen como la primera ciudad a visitar por cada camin, como segunda ciudad en el recorrido de cada camin escogemos la ms cercana a la primera que no est ya asignada, y as sucesivamente hasta asignar todas las ciudades. Como operadores usamos el mover una ciudad del recorrido de un camin a otro, intercambiar las posiciones de dos ciudades en el recorrido de un camin e intercambiar dos ciudades entre los recorridos de dos camiones. La funcin heurstica es la siguiente: h(n) =
C C C (C 1) LRi 2 LRj i=1 j =i+1

d ) Usar algoritmos genticos. Donde cada ciudad est representada por tantos bits como sean necesarios para codicar el valor C , la tira de bits contiene concatenados los bits de todas las ciudades, 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. 10. La sala de cine Lo nunca visto desea realizar una planicacin estratgica de las pelculas a proyectar durante un ao (52 semanas) siguiendo varios criterios comerciales. Cada pelcula tiene asociada varias informaciones relevantes para este problema: tipo (infantil/adulto), previsin de benecio semanal, ndice de calidad. La programacin anual debe contener al menos un 15 % de pelculas infantiles y un 40 % de pelculas para adultos. Se desea maximizar el benecio anual de proyeccin de pelculas, pero sin 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, dichas semanas debern ser consecutivas. Las estrategias comerciales exigen que una pelcula no se proyecte ms de 8 semanas. Teniendo en cuenta el escenario descrito, comenta brevemente las diversas propuestas que se describen en los apartados siguientes. Valora si son correctas o no, si son ecientes o no, si son mejores o peores que otras alternativas. Justica tus respuestas. a ) Usar un Hill-climbing. Como estado inicial asignamos aleatoriamente una pelcula distinta a cada una de las 52 semanas. Como operador usamos Asignar-pelcula (ttulo, num-semana), que sustituye la pelcula asignada una semana por otra nueva o por alguna de las ya asignadas a otras semanas. b) Usar un Hill-climbing. Como estado inicial asignamos dos pelculas infantiles (4 semanas cada una) y seis pelculas para adultos (4 semanas cada una), el resto de las semanas se asigna aleatoriamente. Como operador usamos el mismo del apartado a. c ) Usar un Hill-climbing. Partimos del mismo estado inicial del apartado b con el control adicional de que el ndice de calidad no sea inferior a Q. Al operador de asignacin le aadimos como condiciones de aplicabilidad que mantenga las proporciones mnimas de pelculas infantiles y para 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 benecio semanal para cada pelcula 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 de cada pelcula proyectada multiplicado por el nmero de semanas asignado. e ) Usar algoritmos genticos. Cada individuo se representa mediante 52 tiras de bits. La longitud de la tira de bits es suciente para codicar el nmero de identicacin de todas las pelculas. Como poblacin inicial se generan n individuos con los criterios de estado inicial descritos en b y

23 c. Como funcin de tness usamos h3(n): h1(n) + (suma del ndice de calidad de cada pelcula proyectada multiplicado por el nmero de semanas asignado - Q). Como operadores usamos el operador de cruce habitual, pero trabajando siempre con tiras completas de bits (la identicacin de una pelcula), es decir, un punto de cruce nunca parte el identicador 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 los ingenieros de la ciudad han determinado L potenciales lugares donde construir las estaciones de metro y han determinado a partir de proyecciones estadsticas el nmero de usuarios diarios que usara cada estacin potencial. La lnea de metro solo ha de tener E estaciones a escoger entre las L potenciales. El objetivo es determinar qu E estaciones escoger y el orden en el que se han de conectar de manera que 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 necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentar la solucin que se propone respecto a si es correcta, es eciente, o es mejor o peor respecto a otras alternativas posibles. Justica tu respuesta. a ) Usar Hill climbing. Como solucin inicial elegimos una solucin sin estaciones. Como operadores de bsqueda usamos aadir-estacin, que aade una estacin al nal del recorrido de la solucin e intercambiar-estaciones que intercambia dos estaciones dentro del recorrido. La funcin heurstica es:
E 1 E

h(n) =
i=1

dist(Ei , Ei+1 ) +
i=1

P ersonas(Ei )

b) Usar Hill climbing. Escogemos una estacin al azar, usamos esta estacin como referencia y escogemos como siguiente estacin la ms cercana a esta, pasamos a tomar como referencia esta nueva estacin y buscamos la ms cercana que no est en la solucin, repetimos lo mismo hasta tener E estaciones. Como operadores de bsqueda usamos el cambiar-estacin que intercambia una estacin de la solucin por otra que no est en la solucin e intercambiar-estaciones que intercambia dos estaciones dentro del recorrido. La funcin heurstica es: h(n) =
E 1 i=1 dist(Ei , Ei+1 ) E i=1 P ersonas(Ei )

c ) Usar algoritmos genticos. Le damos a cada lugar un nmero del 1 al L, la codicacin de la solucin se realiza considerando que tenemos una tira de bits de longitud E log2 (L), donde concatenamos los identicadores de los lugares que hay en la solucin, el orden en el que aparecen en la codicacin es el orden del recorrido. Para generar la poblacin inicial se escogen E lugares al azar de los L y se colocan al azar en la solucin. Como operadores genticos usamos los operadores habituales de cruce y mutacin. La funcin heurstica es:
E 1 E

h(n) =
i=1

dist(Ei , Ei+1 ) + (1 ) (
i=1

P ersonas(Ei ))

Donde es 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 ha de tener en marcha para abastecer la demanda de sus clientes. La empresa dispone de C centrales de produccin elctrica ubicadas en diferentes puntos de la geografa, con una capacidad de produccin CAi cada una. El coste diario de tener en marcha cada central es COi . El contrato que tiene la empresa con cada uno de sus CL clientes indica la cantidad de electricidad (Ei ) que se les debe suministrar cada da. La distancia entre los clientes y las centrales (dij ) supone

24

Captulo 3. Cerca Local una prdida en la eciencia del suministro, esta prdida se calcula como un factor jo P multiplicado por esa distancia. El objetivo es determinar el conjunto de centrales que se han de tener en marcha y a qu clientes han de servir, de manera que se minimice el coste de tenerlas en marcha y la prdida debida a la distancia, teniendo en cuenta que la cantidad de electricidad que reciben los clientes de una central no ha 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 bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial asignar a cada cliente al azar una central. Como operadores se utiliza el mover un cliente de una central a otra e intercambiar dos clientes entre dos centrales. La funcin heurstica es la siguiente:
C C CL

h(n) =
i=1

(COi marcha(i))
i=1 j =1

asig (i, j ) dij

donde asig (i, j ) es una funcin que retorna uno si el cliente i esta asignado a la central j y cero en otro caso y marcha(i) retorna uno si la central tiene clientes asignados y cero si no. b) Se plantea solucionarlo mediante Hill-climbing utilizando como solucin inicial un algoritmo avaricioso 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 una central se pasa a la siguiente. El operador utilizado es intercambiar dos clientes entre dos centrales siempre que no se supere la capacidad de suministro de alguna de ellas. La funcin heurstica es:
C

C CL i=1 j =1

h(n) =
i=1

COi

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 C grupos de CL bits, donde cada grupo representa la asignacin o no de cada cliente a la central como un 1 o un 0. Las poblacin inicial la obtenemos mediante el mismo mecanismo que en el apartado anterior. Se utilizan los operadores habituales de cruce y mutacin. La funcin heurstica es:
C

C CL i=1 j =1

h(n) =
i=1

COi marcha(i) + P

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 C diferentes categoras dependiendo de la edad y del nivel de los jugadores. En cada categora participan un nmero Jc de jugadores, lo cual signica un nmero Rc de rondas eliminatorias (obviamente log2 (Jc )). La competicin ha de durar un mximo de 15 das, para cada da de competicin se disponen de F franjas horarias, en una franja solo se puede jugar una partida de ajedrez. 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 nmero de das posible.

25 En un da se pueden jugar como mximo P partidas de una categora. Entre dos partidas de una misma categora en un mismo da debe haber como mnimo dos franjas horarias 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 necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica,...). Comenta muy brevemente la solucin que se propone respecto a si es correcta, eciente o mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Usar Hill-climbing. Como solucin inicial se utiliza el calendario vaco. Como operadores usamos asignar y desasignar una partida de una ronda de una categora a una franja de un da. Como funcin heurstica usamos el nmero de das total en los que hay partidas asignadas ms la suma del 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 manera secuencial las competiciones de cada ronda de la primera categora manteniendo una distancia de cinco franjas horarias entre cada partida, sin superar las P partidas diarias y manteniendo un da de separacin entre cada ronda. Con el mismo procedimiento se van introduciendo las competiciones 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 de das total en los que hay partidas asignadas, ms la suma del nmero de das que ocupan las rondas de una categora, ms una constante por el nmero de franjas que separan en un da las partidas de una misma ronda y categora. c ) Usar Algoritmos Genticos. Asignamos a cada partida a jugar un cdigo binario con la longitud necesaria para representarlas todas, aadimos a la codicacin un cdigo con todos los bits a cero. Representamos un calendario como una cadena de bits de longitud igual al producto de F franjas por 15 das por el nmero de bits necesarios para representar las partidas. Si una franja no tiene una partida asignada contendr la codicacin a cero, si no tendr el cdigo de una partida. Para generar la poblacin inicial usamos el mtodo del segundo apartado cambiando el orden en el que escogemos las categoras. Como operadores genticos usamos solamente el de cruce por un punto, donde el punto de cruce no puede estar en medio de la codicacin de una partida. Como funcin 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 ujo de paquetes que le llegan entre los diferentes equipos con los que estn conectados, optimizando la calidad de su distribucin. Una posible estrategia de distribucin de paquetes sera decidir a priori cuantos de los paquetes que se reciben en cierto momento se envan por cada conexin, sin preocuparnos exactamente de a donde deben ir. Un equipo de comunicaciones recibe cierto nmero de paquetes (P ) por segundo que tiene que distribuir entre sus conexiones de salida. Para cada una de las N conexiones de salida, se conocen tres informaciones, su capacidad en nmero de paquetes por segundo, el tiempo de retraso que introduce la conexin (tiempo medio adicional que aade el nodo de salida al tiempo de llegada a destino de cada 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 optimizar la distribucin de paquetes de manera que el retraso y nmero medio de saltos de los paquetes sea 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 necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica, ...). El objetivo es comentar la solucin que se propone respecto a si es correcta, es eciente, o es mejor o peor respecto a otras alternativas posibles. Justica tu respuesta.

26

Captulo 3. Cerca Local a ) Se plantea solucionarlo mediante Hill-Climbing usando como solucin inicial el repartir los paquetes a partes iguales entre todas las conexiones. Como operador utilizamos mover cierta cantidad de paquetes de una conexin a otra. Como funcin heurstica usamos el sumatorio para todas las conexiones con paquetes asignados del producto entre el retraso de la conexin y el nmero de saltos. b) Se plantea solucionarlo mediante Hill-Climbing tomando como solucin inicial el repartir los paquetes 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 mover cualquiera de los paquetes de una conexin a otra siempre que la operacin sea vlida. Como funcin heurstica usamos el sumatorio para todas las conexiones con paquetes asignados del producto entre el nmero de paquetes y el retraso de la conexin ms el sumatorio para todas las conexiones con paquetes asignados del producto entre el nmero de paquetes y el nmero de saltos. c ) Se plantea solucionarlo mediante algoritmos genticos donde la representacin del problema es una tira de bits compuesta por la concatenacin de la representacin en binario del nmero de paquetes asignados a cada conexin (evidentemente usando el mismo nmero de bits para cada conexin). Como solucin inicial ordenamos las conexiones por su retraso y asignamos paquetes en 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 de investigacin de las C convocatorias de este ao. Cada convocatoria de ayudas tiene un presupuesto a repartir entre las peticiones aceptadas. A estas convocatorias los grupos de investigacin pueden presentar peticiones (la misma peticin puede presentarse a hasta tres convocatorias distintas, pero solo se puede conceder una vez). Una peticin tiene un presupuesto solicitado y el ministerio le asigna una prioridad entre 1 y 3 dependiendo del historial del grupo investigador. Hay un total de P peticiones. El ministerio quiere asignar la mayor cantidad de dinero posible, pero haciendo que globalmente la proporcin de grupos con concesiones de ayuda cumpla las siguientes restricciones: como mximo el 30 % de concesiones ha de ser para los grupos de prioridad 2 y como mximo el 10 % para los de prioridad 3. Obviamente la suma de los presupuestos solicitados de las peticiones asignadas a una convocatoria no puede superar el presupuesto de la convocatoria. 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 comentar la solucin que se propone respecto a si es correcta, es eciente, o es mejor o peor respecto a otras alternativas posibles. Justica tu respuesta. a ) Usar Hill-climbing, tomando como solucin inicial la solucin vaca, como operadores tenemos asignar una peticin a una convocatoria y desasignar una peticin de una convocatoria. Como funcin heurstica usamos: h(n) =
convj peti convj

P resupuesto(peti )
convj

P resupuesto(convj )

donde peti convj signica 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 asignamos tantas peticiones de prioridad 1 solicitadas a esa convocatoria como podamos, sin exceder su presupuesto. Como operadores utilizamos asignar una peticin a una convocatoria, respetando las restricciones de mximos de peticiones concedidas por prioridad, y mover una peticin de una convocatoria a otra. Como funcin heurstica usamos: h(n) =
convj peti convj convj

P resupuesto(peti )

P resupuesto(convj )

27 c ) Usar algoritmos genticos. Codicamos el problema con C P bits donde cada grupo de P bits corresponde a una convocatoria de manera que un uno signica que la peticin ha sido concedida en esa convocatoria. Las soluciones iniciales las generamos utilizando el mtodo del apartado anterior. Como operadores genticos usamos los operadores habituales de cruce y mutacin. Como funcin heurstica usamos:

h(n) =
convj

P resupuesto(convj )
peti convj

P resupuesto(peti )

16. Tenemos que planicar la topologa de interconexin de un conjunto de routers que estn distribuidos por el campus nord, de manera que podamos canalizar todo su trco hacia el equipo de comunicaciones que lo reenva a internet. Para cada router sabemos su localizacin en el campus (supondremos que tenemos un sistema de coordenadas en el que podemos situar cada router) y el ancho de banda del trco directo que debe distribuir (el que no le llega de otros routers). Tambin conocemos las coordenadas del equipo de comunicaciones. Cada router puede estar conectado a otro router o al equipo de comunicaciones exterior directamente (la topologa ha de ser un rbol). Disponemos de tres tipos de router (tipos A, B y C) capaces de distribuir hasta cierto ancho de banda mximo cada uno. Para distribuir el trco directo hay suciente con un router de tipo A. El coste de cada router es proporcional al tipo (el tipo B cuesta el doble que el A y el C el doble que el B). Para conectar cada router necesitamos instalar un cable de cierta longitud (supondremos que es la distancia eucldea entre las coordenadas de los dos equipos conectados) el coste de este cable es proporcional a la longitud y se multiplica por el coste del tipo del router que enva por ese cable. El coste del equipo de comunicaciones exterior es jo y no lo tendremos en cuenta. El objetivo es decidir el tipo de los routers dependiendo del ancho de banda que deben soportar y la forma 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 la solucin que se propone respecto a si es correcta, es eciente, y es mejor o peor en comparacin con otras alternativas. Y hay que justicar todas las respuestas. a ) Usar Hill climbing. Como solucin inicial conectamos directamente todos los routers al equipo de comunicaciones exterior. Como operadores usamos conectar un router a otro y desconectar un router 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 routers y el equipo exterior y asignamos a cada router el tipo C. Como operador usamos cambiar la conexin de un router o equipo exterior a otro. La funcin heurstica es la suma de los costes del cableado. c ) Usar Hill climbing. Como solucin inicial conectamos cada router con el router ms cercano y conectamos aleatoriamente uno de los routers al equipo exterior, asignamos a cada router el tipo A. Como operador usamos cambiar la conexin de un router a otro router o equipo exterior por otra distinta si no superamos su capacidad y cambiar el tipo del router. La funcin heurstica es la 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 numerados consecutivamente, supondremos que para codicar ese nmero hacen falta n bits, la codicacin es una tira r n de bits, donde r es el nmero de routers, cada grupo de n bits corresponden a un router siguiendo el orden de la numeracin. Como operadores usamos los operadores de cruce y mutacin habituales. La funcin heurstica la suma de los costes de cada cable dividido por el coste del router que enva por l. 17. Una empresa del mundo del espectculo gestiona los contratos de N grupos musicales que se dedican a actuar en las estas de los pueblos. Cada grupo musical tiene una tarifa por actuacin, de la que una parte se la queda el grupo y otra la empresa. Por otro lado, los municipios celebran sus estas

28

Captulo 3. Cerca Local patronales en unas ciertas fechas y dedican una parte de su presupuesto festivo, X euros, a pagar las actuaciones de los grupos musicales. El problema es organizar las giras de los grupos de modo que se cubran las peticiones de los pueblos, en total P actuaciones (puede haber ms de una actuacin en un pueblo en das consecutivos), sin pasarse del presupuesto municipal, se maximice la recaudacin de la empresa y se minimicen los kilmetros que al cabo de la temporada ha de realizar cada grupo. Adems, el mismo grupo no puede actuar ms de un da en el mismo pueblo y cuando acaban en un pueblo, se van al siguiente en el que tienen actuacin. 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 la solucin que se propone respecto a si es correcta, es eciente, y es mejor o peor en comparacin con otras alternativas. Y hay que justicar todas las respuestas. a ) Se propone usar Hill-Climbing. La solucin de partida coloca, en orden creciente de fecha, un grupo diferente en cada una de las fechas previstas de actuacin y cada grupo se asigna una sola vez. El operador disponible es poner_grupo y la funcin heurstica es: h (n) = Kilometros_recorridos(grupoi ) grupoi Dinero_recaudado_empresa(grupoi )
grupoi

b) Se propone usar Hill-Climbing. La solucin de partida se calcula de la siguiente manera: se ordenan los grupos en orden decreciente de benecio para la empresa y se empiezan a asignar siguiendo ese orden a cada una de las fechas disponibles. Si cuando ya se han colocado todos los grupos una vez todava quedan fechas sin cubrir, se repite el proceso las veces que sea necesario. Se respeta que el mismo grupo no acte ms de una vez en el mismo pueblo. El operador es intercambiar_grupo siempre y cuando no suponga que se supera el presupuesto del municipio y se respete una nica actuacin por grupo en el mismo pueblo. La funcin heurstica es:

h (n) =
grupoi

Kilometros_recorridos(grupoi )
grupoi

Dinero_recaudado_empresa(grupoi )100

c ) Usar Algoritmos Genticos. Se asigna un identicador binario de longitud b a cada uno de los grupos, la solucin se representa como una tira de P b bits. La solucin de partida se calcula de la siguiente forma: Se ordenan los grupos en orden decreciente de benecio, se toma el primer grupo y se le asigna la primera fecha libre sin pasarse del presupuesto del municipio, luego se busca la siguiente fecha libre en la que pueda actuar el mismo grupo, y tal que suponga un desplazamiento mnimo para el grupo y que no supere el presupuesto del municipio, se le asigna el grupo y se repite el proceso hasta que no queden ms fechas posibles para ese primer grupo. Se repite exactamente el mismo proceso para los grupos sucesivos hasta que ya no queden fechas por cubrir o no haya ms grupos. Como operadores genticos se utiliza solamente el operador de cruce, donde los puntos de cruce no pueden ser dentro de la identicacin de un grupo. El heurstico es el siguiente:

h (n) =
grupoi

Kilometros_recorridos(grupoi )

Dinero_cobrado(grupoi ) Dinero_recaudado_empresa(grupoi )

18. El canal musical de televisin clsica XL Recordings desea realizar una planicacin del contenido a transmitir 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 con V vdeos de entre los que elegir. Para cada vdeo conocemos los ingresos por publicidad que genera su emisin y la popularidad del grupo musical del vdeo (valor de 1 a 5).

29 El objetivo de la cadena es maximizar los ingresos por publicidad, evitando que el nmero de vdeos con cierto valor de popularidad sea superior al 40 %. Para no aburrir a la gente, no debemos emitir ningn vdeo 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 necesarios para plantear la bsqueda (solucin inicial, operadores, funcin heurstica). Hay que comentar la solucin que se propone respecto a si es correcta, es eciente, y es mejor o peor en comparacin con otras alternativas. Y hay que justicar todas las respuestas. a ) Usar Hill climbing. Como solucin inicial elegimos 40 vdeos de cada popularidad y los colocamos aleatoriamente en la secuencia de emisin. Como operador intercambiar el orden de emisin de dos vdeos. Como funcin heurstica usamos
200

h(n) =
i=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 este emitido 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 este emitido, como funcin heurstica:
200

h(n) =
i=1

f (IngresosP ublicidadi )

donde f (IngresosP ublicidadi ) vale 0 si el porcentaje de vdeos de la misma popularidad que el vdeo i supera el 40 % o IngresosP ublicidadi en caso contrario. d ) Usar algoritmos genticos. Supondremos que hacen falta b bits para codicar el identicador de un vdeo. Representamos cada individuo como una tira de 200 b bits. Como poblacin inicial, generar n individuos escogiendo 200 vdeos aleatoriamente. Como operadores utilizamos solamente el operador de cruce. 19. La conocida cadena de supermercados Mercahoma desea expandirse a otras ciudades. El problema que se le plantea es decidir qu locales son los ms adecuados para instalar sus supermercados. Para ello disponemos de un mapa de la ciudad que nos indica L posibles locales donde podemos colocar un total de S supermercados (obviamente L S ). Adems tambin disponemos de una estimacin de la poblacin que hay en una rea de 500 m2 alrededor de cada local en el que se puede ubicar un supermercado. El objetivo es colocar todos los supermercados de manera que se maximice la poblacin que vive alrededor de cada supermercado y la suma de las distancias entre ellos (obviamente disponemos de una tabla con sus distancias). 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 comentar la solucin que se propone respecto a si es correcta, es eciente, o es mejor o peor respecto a otras alternativas posibles. Justica 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 supermercado de 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 cada supermercado.

30

Captulo 3. Cerca Local b) Se plantea solucionarlo mediante Hill-Climbing utilizando como solucin inicial el colocar aleatoriamente los S supermercados y usando como operadores de bsqueda mover un supermercado al local vaco ms cercano respecto a su posicin actual. Como funcin heurstica se usa la suma de las distancias de los locales de cada uno de los S supermercados al resto ms la suma de la poblacin alrededor de cada supermercado. c ) Se plantea resolverlo mediante algoritmos genticos. Para representar el problema utilizamos una tira de L bits y como poblacin inicial generamos aleatoriamente n individuos donde en cada uno hay exactamente S bits 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 operadores usamos un operador de cruce que intercambia aleatoriamente la mitad de los bits de cada individuo de la pareja cruzada y un operador de mutacin que intercambia aleatoriamente dos posiciones de 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 X Ha. En el almacn tienen K plantas distintas y de cada planta se sabe la supercie que ocupa (s) su coste (c) la duracin esperada 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 parque de modo que se maximice la supercie que ocupan, se minimice el coste, la vida esperada del conjunto sea mayor de T aos y se garantice la siguiente composicin: de las de temporada=PV ha de haber un 30 % de las X Ha como mnimo, de las de temporada=OI ha de haber un 20 % como mnimo y de las de temporada=TT ha de haber un 10 % como mnimo. La duracin esperada de la vida del conjunto (vec) se calcula sumando la vida esperada de cada planta y dividiendo el resultado entre el nmero de plantas involucradas j , con j = |C |, es decir: vec =
j i=1 vi

Una posible solucin a este problema se puede obtener mediante el uso de algoritmos de bsqueda local. En los siguientes apartados se proponen diferentes alternativas para algunos de los elementos necesarios para plantear la bsqueda (solucin inicial, operadores, ...). Recuerda que el objetivo es minimizar el valor de la funcin heurstica. Comenta muy brevemente la solucin propuesta respecto a si es correcta y si es mejor/peor respecto a otras alternativas posibles. Justica tus respuestas. a ) Se propone usar Hill-Climbing. La solucin de partida contiene la planta que cubre la mayor supercie de todas. El operador disponible es poner_planta y la funcin heurstica es
j j

h(n) =
i=1

si
i=1

ci

b) Se propone usar Hill-Climbing. La solucin inicial se obtiene escogiendo plantas secuencialmente hasta que no quepan ms. Los operadores de cambio de estado son: quitar_planta, siempre y cuando la planta a quitar haga que se cubra el porcentaje mnimo para la temporada de esa planta, y aadir_planta, siempre y cuando la supercie total ocupada no supere X Ha. La funcin heurstica es
j

h(n) = (
i=1

ci ) (T vec) si

c ) Se propone usar Hill-Climbing. La solucin inicial se construye de la siguiente manera: se forman 3 grupos de plantas, uno por temporada de auge, y se ordena cada grupo en orden creciente de precio. Sobre cada grupo ordenado, se van tomando plantas hasta que se cubre el porcentaje

31 mnimo de supercie para cada una de las temporadas. Finalmente, se agrupan las plantas no colocadas de los 3 grupos y se van poniendo en la solucin las ms baratas hasta que no quepan ms. El operador de transformacin es sustituir_una_por_otra que quita una planta de la solucin y coloca en su lugar otra que no estaba. Para aplicarlo se ha de cumplir que la solucin resultante siempre cubra los mnimos de temporada y la supercie total que ocupe no supere X Ha. La funcin heurstica es:
j

h(n) = (
i=1

si ) + (T vec) ci

d ) Se propone usar un algoritmo gentico. Un individuo es una tira de K bits, y cada bit identica a una planta. Cada uno de los individuos de la poblacin de partida es una codicacin binaria de las diferentes soluciones iniciales que se pueden obtener aplicando el algoritmo propuesto en el apartado c). Como operadores utilizamos los habituales de cruce y mutacin. La funcin de tness vale si la supercie ocupada es mayor que X y en el resto de casos es
j

h(n) = (T vec) (X
i=1

ci ) si

32

Captulo 3. Cerca Local

4. Jocs

1. La gura segent mostra larbre dun determinat joc, generat ns a una profunditat mxima de 4. Els nmeros que acompanyen als nodes del nivell 4 indiquen el valor de la funci davaluaci esttica per cadascun dells.
a

12

3 12 11 10 8 6

6 12 10 8

Contesta les segents qestions: a ) Seguint el mtode del Minimax, quin seria el valor assignat a cada node de larbre? b) Aplica el mtode Minimax amb poda Alfa-Beta, usant els valors donats a la gura. Mostra el procs seguit, indicant quines sn les branques podades i els valors assignats progressivament als nodes (tant els provisionals com el nal). 2. Donat aquest arbre on els nodes que mostren un nmero corresponen a lavaluaci esttica de lestat corresponent a

b 6 8 g 0 7 d 5 7

c e 8 h 7 8 f i 5 4

a ) Apliqueu la poda alfa-beta. Primer desquerra a dreta, i desprs de dreta a esquerra b) Com canvia el nombre de camins podats? Perqu? c ) Sota quines condicions es podrien ordenar els nodes abans de comenar la poda alfa-beta? 3. Aplica el minimax amb poda alfa-beta al segent arbre. Per a cada node explicita levoluci dels valors alfa i beta. Indica clarament les podes i si es tracta duna poda alfa o beta. 33

34

Captulo 4. Jocs

2 6

1 6

4. La siguiente gura muestra el rbol de bsqueda de profundidad 4 para un determinado juego para el jugador MAX. Los valores de los nodos terminales indican el valor de la funcin de evaluacin para la posicin obtenida en dicho nodo.

5 6 7

3 4

2 3 4

10

a ) Utiliza el algoritmo Mnimax para decidir qu jugada debe escoger MAX, indicando claramente los valores de la funcin de evaluacin propagados a cada nodo. b) Repite la exploracin del apartado anterior utilizando la poda alfa-beta. Indica claramente la evolucin de los valores de alfa y beta y los nodos que se podan. c ) Crees que modicando el orden de generacin de nodos podra podarse un mayor nmero de nodos? Justica brevemente la respuesta. 5. Donada la segent posici del joc de dames en un tauler de 4 per 4 on nosaltres juguem amb les peces rodones i toca jugar al contrari.
3 4

1 2

Indica quina seria la valoraci que min-max donaria a la jugada del contrari consistent en avanar la pea 3 cap a lesquerra (en relaci a la nostra posici davant el tauler), tenint en compte que: la valoraci de cada posici es fa sumant peces prpies i restant peces contrries, en base als segents valors individuals de les peces: 1 pea = 1 punt, 1 dama = 5 punts noms cal cercar ns a una fondria de 4 jugades (a comptar des de la posici del dibuix). Cal que: utilitzis lalgorisme min-max amb poda alfa-beta generis els successors dun estat seleccionant : primer les peces etiquetades amb un nombre mes baix

35 primer el moviment cap a lesquerra (en relaci a la nostra posici davant el tauler). dibuixis larbre generat indicant, per cada node, lordre de visita, el valor min-max calculat, levoluci dels valors de alfa i beta i els valors propagats a daltres nodes. Nota per a aquells que NO saben jugar a dames: Moviment: Una pea es pot moure a qualsevol de les caselles adjacents, diagonals del davant (en relaci a la posici prpia davant del tauler). Una pea pot matar una pea contrria si aquesta est al davant i pot saltar pel damunt en diagonal (o sigui la posici on va a parar est lliure). Coronaci: Una pea esdev dama si es situa en una casella de la darrera la (en relaci a la posici prpia davant del tauler). Moviment de dama: Una dama es pot desplaar en qualsevol sentit de qualsevol diagonal i en un nombre no restringit de caselles. 6. Supongamos la siguiente posicin en un juego de damas en un tablero 4 x 4. Las piezas propias son 1 y 2, las del contrario son 3 y 4. Acabo de jugar y la posicin es:
4 3 2 1

Valorar la posicin utilizando min-max con profundidad de bsqueda 4 (dos jugadas del contrario y dos propias) a partir de la posicin del dibujo. La valoracin de una posicin se obtiene sumando los puntos de las pieza propias y restando las del adversario. Cada pieza vale 1 punto. Al coronar las piezas se convierten en damas y valen 5 puntos. El orden de generacin de los sucesores es: la pieza 1 (3) tiene prioridad sobre la 2 (4) Si una pieza tiene ms de un movimiento, tiene prioridad el de menor abscisa. NO se aplicar la regla de la "bufada". Se pide: a ) Utilizar el algoritmo min-max SIN poda dibujando el rbol e indicando para cada nodo el orden de visita y el valor de la posicin. b) Hacer lo mismo con el algoritmo min-max CON poda alfa-beta indicando adems la evolucin de los valores alfa/beta. c ) Comparar los resultados, ha habido ahorro en el nmero de nodos visitados? Nota per a aquells que NO saben jugar a dames veure regles al problema 5. 7. Supongamos la siguiente posicin en un juego de damas en un tablero 4 x 4. Las piezas propias son 1 y 2, las del contrario son 3 y 4. Acabo de jugar y la posicin es:
4 3 1 2

36

Captulo 4. Jocs Valorar la posicin utilizando min-max con profundidad de bsqueda 4 (dos jugadas del contrario y dos propias) a partir de la posicin del dibujo. La valoracin de una posicin se obtiene sumando los puntos de las piezas propias y restando las del adversario. Cada pieza vale 1 punto. Al coronar las piezas se convierten en damas y valen 5 puntos. El orden de generacin de los sucesores es: la pieza que pueda comer. Si hubiera ms de una, el orden sera (1, 2) o (3, 4) la pieza 1 (3) tiene prioridad sobre la 2 (4) Si una pieza tiene ms de un movimiento, tiene prioridad el de menor abscisa. NO se aplicar la regla de la "bufada". Se pide: a ) Aplicar el algoritmo min-max SIN poda, dibujando el rbol e indicando para cada nodo el orden de visita y el valor de la posicin. b) Hacer lo mismo con el algoritmo min-max CON poda alfa-beta indicando adems la evolucin de los valores alfa/beta. c ) Comparar los resultados, ha habido ahorro en el nmero de nodos visitados? Nota per a aquells que NO saben jugar a dames veure regles al problema 5. 8. Tenemos el tablero que aparece en la gura, en la que el jugador MAX tiene las chas marcadas como X y el min las chas marcadas como O. La nica cha que pueden mover los jugadores es la marcada como +. Esta cha se puede mover hacia la derecha y hacia la izquierda y tiene el efecto de cambiarse con la cha que ocupa la posicin a la que se desplaza y cambiar el signo de esa cha y de la que pasa a ser su contigua. Por ejemplo, en la conguracin XOXO+XOXO, si desplazamos la cha + hacia la derecha obtenemos la conguracin XOXOO+XXO. El objetivo de cada jugador es tener 5 chas del mismo tipo seguidas. X O X O + X O X O

Para la evaluacin de las conguraciones utilizaremos la siguiente funcin: f(n)= Suma de los tamaos de los grupos de X mayores que 1 - Suma de los tamaos de los grupos de O mayores que 1. Consideraremos que si la cha + est entre dos chas iguales, stas no forman un grupo. Por ejemplo la evaluacin de la conguracin XOXOO+XXO sera (2 - 2) = 0, la evaluacin de la conguracin XOOOXO+OO sera (0 - 3 - 2) = -5. a ) Utiliza el algoritmo minimax con poda alfa-beta para evaluar el primer movimiento que debera hacer el jugador MAX, haz la exploracin hasta el nivel 4 (dos jugadas de MAX y dos de MIN). Aplica siempre el mismo orden: primero el movimiento hacia la izquierda y despus el movimiento hacia la derecha. Para cada nodo muestra claramente la evolucin de los valores alfa y beta. Cul es el movimiento que debera escoger MAX? b) Cuntos nodos nos ahorramos respecto al uso del algoritmo sin poda? 9. El juego del Othelo se juega en un tablero de NxN como el de la gura y consiste en cubrir todo el tablero con chas, colocndolas alternativamente, de manera que gane el que ms chas de su color consiga. Las reglas del juego son las siguientes: Para colocar una cha hay que tener en esa la, columna o diagonal otra cha propia que encierre chas contrarias con la que colocamos. Al colocar la cha, todas las chas de color contrario que queden atrapadas entre dos chas propias cambian su color al nuestro. El tablero comienza con las chas que aparecen en la gura.

37

N B

B N B

a ) Utiliza el algoritmo de minimax con poda alfa-beta para averiguar qu movimiento deberan hacer las blancas desde la posicin inicial. Explora hasta profundidad 2 (un movimiento de las blancas y otro de las negras). Para la evaluacin de los estados utiliza la siguiente tabla para asignar valor a cada cha, el valor de un estado se obtiene sumando los valores de las chas propias y restando las del contrario. 4 2 2 4 2 1 1 2 2 1 1 2 4 2 2 4

Orden de generacin de sucesores: Para expandir los nodos supn que el tablero est numerado desde la esquina superior izquierda siguiendo el orden por las. Expande los nodos siguiendo el orden de esta numeracin. b) Utiliza el algoritmo MiniMax con poda alfa-beta para averiguar qu movimiento deberan hacer las negras desde la posicin escogida por las blancas en el apartado anterior (en caso de empate escoge el primer movimiento que desarrollaste). Explora hasta profundidad 2 (un movimiento de las negras y otro de las blancas). Para la evaluacin de las posiciones utiliza la tabla anterior. 10. Tenemos un tablero de 2x2 casillas. A cada casilla le asignamos un valor booleano (cierto/falso). El juego consiste en lo siguiente: dos jugadores se turnan en seleccionar una casilla del tablero. La casilla seleccionada queda eliminada de la partida y modica el valor de la otra casilla de la misma la y el valor de la otra casilla de la misma columna. A la casilla de la misma la se le asigna el resultado de hacer la O lgica entre el valor que contiene y el de la casilla seleccionada. A la casilla de la misma columna se le asigna el resultado de hacer la Y lgica entre el valor que contiene y el de la casilla seleccionada. El juego termina cuando slo queda una casilla. Empezando moviendo nosotros, ganamos la partida si la ltima casilla sin seleccionar tiene valor Falso y perdemos si queda con valor Cierto. A partir del siguiente tablero: C F F C

a ) Aplica el algoritmo MiniMax para decidir qu casilla debemos seleccionar primero. b) Repite la exploracin aplicando poda alfa-beta. Orden de generacin de sucesores: empieza por la casilla de la esquina superior izquierda y sigue el sentido de las agujas del reloj. 11. El juego del reversi se juega en un tablero de NxN como el de la gura y consiste en cubrir todo el tablero con chas, colocndolas alternativamente, de manera que gane el que ms chas de su color consiga. Las reglas del juego son las siguientes: Para colocar una cha hay que tener en esa la, columna o diagonal otra cha propia que encierre chas contrarias con la que colocamos. Al colocar la cha, todas las chas de color contrario que queden atrapadas entre dos chas propias cambian su color al nuestro. El tablero comienza con las chas que aparecen en la gura.

N B

B N

38

Captulo 4. Jocs a ) Utiliza el algoritmo de minimax con poda alfa-beta para averiguar qu movimiento deberan hacer las blancas desde la posicin inicial. Explora hasta profundidad 2 (un movimiento de las blancas y otro de las negras). Para la evaluacin de los estados utiliza la siguiente tabla para asignar valor a cada cha, el valor de un estado se obtiene sumando los valores de las chas propias y restando las del contrario. 4 2 2 4 2 1 1 2 2 1 1 2 4 2 2 4

Orden de generacin de sucesores: Para expandir los nodos supn que el tablero est numerado desde la esquina superior izquierda siguiendo el orden por las. Expande los nodos siguiendo el orden de esta numeracin. b) Utiliza el algoritmo MiniMax con poda alfa-beta para averiguar qu movimiento deberan hacer las negras desde la posicin escogida por las blancas en el apartado anterior (en caso de empate escoge el primer movimiento que desarrollaste). Explora hasta profundidad 2 (un movimiento de las negras y otro de las blancas). Para la evaluacin de las posiciones utiliza la tabla anterior. 12. Tenemos el juego que muestra la gura, que consiste en lo siguiente: 1 2 1 2 2 1 2 1

Cada jugador posee una mitad del tablero, el jugador MAX tiene la mitad superior y el jugador MIN la mitad inferior. Cada jugador escoge en cada turno una de las celdas de su mitad. Cuando se escoge una celda, sta pasa su valor a sus celdas adyacentes de la siguiente manera: 2 puntos (o 1 si la celda slo contiene 1) pasan a la celda inferior en el caso de MAX o superior en el caso de MIN, el resto de puntos que queden se reparten, primero un punto a la celda de la izquierda y despus un punto a la celda de la derecha, si aun quedan puntos, uno pasa a la celda superior en el caso de MAX o inferior en el caso de MIN. Los puntos que queden se mantienen en la celda elegida. Si se reparten todos los puntos la celda queda con un valor de 0. Se gana cuando se consigue que en la zona del contrario la suma de los valores de las celdas sea igual o superior a 9. a ) Aplicar el algoritmo minimax con poda alfa-beta dos niveles (una jugada de MAX y otra de MIN) para averiguar cual sera la jugada de MAX a partir de la posicin inicial. Para evaluar las posiciones se ha de utilizar la siguiente funcin: Vposicin= VMAX - VMIN VMAX= suma de valores de la zona MIN - suma de diferencias de la zona MAX (valor de celda mayor de 2 - 2) VMIN= suma de valores de la zona MAX - suma de diferencias de la zona MIN (valor de celda mayor de 2 - 2) Por ejemplo: 0 3 1 2 2 3 0 1

VMAX= 4 - (1+1)= 2, VMIN= 8 - 0= 8, Vposicin= - 6 Para elegir el orden de expansin de los nodos, comenzar por la celda de mayor valor. En caso de empate se escoge la que est ms cerca de la mitad y, en caso de nuevo empate, de izquierda a derecha.

39 b) A partir de la jugada elegida por MAX, hacer una nueva bsqueda para averiguar cual ser la respuesta de MIN. 13. El siguiente juego sobre un tablero 3x4 empieza con las chas X en la la 1 y con las chas O en la la 4. Un jugador gana cuando consigue colocar todas sus chas en la la del contrincante. Dada la siguiente situacin del juego, donde le toca jugar al contrincante (chas O), 1 X X O 2 3

1 2 3 4 teniendo en cuenta que:

O O

Las chas X avanzan slo hacia abajo, ya sea en diagonal o en vertical. Las chas O slo avanzan hacia arriba, de la misma manera. Las chas slo pueden avanzar una posicin en cada turno y siempre a una posicin libre. Sin embargo, una cha puede saltar sobre una o dos chas contrarias contiguas. y aplicando los movimientos ESTRICTAMENTE en el siguiente orden. Seleccin de chas: mover primero la cha ms cercana al objetivo que est ms a la izquierda, seleccionar la segunda con el mismo criterio y luego mover la tercera. Orden de seleccin de movimientos: 1) Saltar. 2) Mover a diagonal izquierda. 3) Mover en vertical. 4) Mover a diagonal derecha. a ) Aplicar el algoritmo minimax con una profundidad mxima 2 para obtener la valoracin de la conguracin de la gura. Utiliza la siguiente funcin de evaluacin de estados: FAE = V(O) V(X) donde V(*) es el nmero de movimientos posibles para las chas *. Si no hay posibilidad de movimientos para esas chas, el valor de V(*) ser . b) Aplicar el algoritmo minimax bajo las mismas circunstancias para el mismo propsito. c ) Cuntos nodos se han podado? d ) Existe algn orden de aplicacin de movimientos diferente al exigido que podra provocar ms podas? 14. El siguiente juego sobre un tablero de 3x4 empieza con las chas A en la la 1 y con las chas B en la la 4. Un jugador gana cuando consigue colocar todas sus chas en la la del contrincante. Dada la siguiente situacin del juego, donde el contrincante acaba de jugar (chas B), 1 A A 2 B 3 A B B

1 2 3 4 teniendo en cuenta que:

Las chas A avanzan slo hacia abajo, ya sea en diagonal o en vertical. Las chas B slo avanzan hacia arriba, de la misma manera. Las chas slo pueden avanzar una posicin en cada turno y siempre a una posicin libre. Sin embargo, una cha puede saltar una o dos chas contrarias contiguas.

40

Captulo 4. Jocs y aplicando los movimientos ESTRICTAMENTE en el siguiente orden. Seleccin de chas: mover primero la cha ms cercana al objetivo que est ms a la izquierda, seleccionar la segunda con el mismo criterio y luego mover la tercera. Orden de seleccin de movimientos: 1) Saltar. 2) Mover a diagonal izquierda. 3) Mover en vertical. 4) Mover a diagonal derecha. a ) Aplicar el algoritmo minimax con una profundidad mxima 2 para obtener la siguiente jugada a realizar. Utiliza la siguiente funcin de evaluacin de estados: FAE = V(B) - V(A) donde V(*) es el nmero de movimientos posibles para las chas *. Si no hay posibilidad de movimientos para esas chas, el valor de V(*) ser . b) Aplicar el algoritmo minimax bajo las mismas circunstancias para el mismo propsito. Qu jugada te recomienda ahora? c ) Cuntos nodos se han podado? d ) Existe algn orden de aplicacin de movimientos diferente al exigido que podra provocar ms podas?

15. Tenemos el juego que muestra la gura, que consiste en lo siguiente: 1111+1111 la nica pieza mvil es el + y se puede mover a la derecha o a la izquierda, el efecto que tiene es intercambiarse con el nmero de la direccin a la que se desplaza y sumar a todas las posiciones que estn en el lado del movimiento el nmero con el que se intercambia. Por ejemplo: 1111+1111 (Desplazamos + a la izquierda) 222+11111 (Desplazamos + a la izquierda) 44+211111 Tomando como referencia todo el tablero y no importando donde est el +, el jugador MAX posee los cuatro nmeros de la izquierda y el MIN los cuatro nmeros de la derecha. Gana el jugador que consigue que sus nmeros sumen ms de 50. Aplicar el algoritmo minimax con poda alfa-beta explorando cuatro niveles (dos jugadas de MAX y otras dos de MIN) para averiguar cual sera la jugada de MAX a partir de la posicin inicial. Para evaluar las posiciones se ha de utilizar la siguiente funcin: Vposicin = Suma de los nmeros de MAX - suma de los nmeros de MIN El orden de expansin es primero los movimientos de la izquierda y despus los de la derecha. 16. Una persona est jugando al Conecta-4 en su ordenador. Desde el punto de vista de la mquina, su contrincante es la persona. El juego consta de un tablero de 4 pilas (columnas) de altura 4 (las). Cada jugador dispone de 8 chas (X para el ordenador y O para la persona). En cada turno de un jugador, ste puede colocar una de sus chas en una de las 4 pilas siempre y cuando la pila contenga menos de 4 chas. Una vez colocada una cha, sta no se puede volver a mover. Un jugador gana cuando consigue que 4 de sus chas queden alineadas en horizontal, en vertical o en diagonal. Suponiendo el siguiente estado del juego en el que le toca jugar al ordenador (X):

O X X 1

O 2

O X 3

X O 4

a ) a Cul sera el movimiento que hara la mquina si el juego estuviera implementado con un algoritmo minimax de profundidad 2? Representa los pasos seguidos por dicho algoritmo suponiendo que se est utilizando la siguiente FAE: FAE = posibles alineaciones para el ordenador - posibles alineaciones para la persona

41 donde una posible alineacin signica la existencia de una posibilidad de llegar a conseguir una alineacin en lo que queda de juego. Por ejemplo, en el estado dibujado, la persona (O) tiene 4 posibles alineaciones (una en diagonal, una vertical y dos horizontales) mientras que el ordenador (X) tiene dos posibilidades (una en diagonal y una horizontal). ORDEN ESTRICTO: Considera las posibles jugadas recorriendo las columnas de izquierda a derecha. b) Cul sera dicho movimiento si la implementacin incorporase podas Representa los pasos seguidos por dicho algoritmo de forma separada del apartado (a). Para ello etiqueta con letras maysculas (A, ... , Z, AA, ...) cada estado del apartado (a) y utilzalas aqu. Cuntos nodos se han podado? 17. El juego del Nim se juega a partir de varias las de palillos de las cuales un jugador puede retirar, en un turno, el nmero que desee de palillos pero de una nica la. El jugador que retira el ltimo palillo pierde. Podemos representar la conguracin de las las mediante secuencias de enteros. Por ejemplo, (1, 3, 5) indica que hay tres las con uno, tres y cinco palillos respectivamente. Se pide: a ) A partir de la conguracin (1, 2, 2), utiliza el algoritmo minimax para averiguar qu movimiento deberamos realizar primero. b) Repite la exploracin utilizando la poda alfa-beta. Qu movimiento nos aconseja? Cuntos nodos se han podado? Orden de generacin de sucesores: de izquierda a derecha segn el orden indicado en la secuencia de enteros y aplicando todos los movimientos posibles para cada la antes de pasar a la siguiente. Dentro de cada la, se comenzar por retirar un palillo, luego dos, y as sucesivamente. Si el estado resultante de la aplicacin de un movimiento es una permutacin de otro estado hermano anterior, no hay que incluirlo en el rbol (por ejemplo, de (1,2,2) se puede pasar a (1,1,2) y tambin a (1,2,1), pero este ltimo no se incluir en el rbol). Estados nales: En el rbol, son estados nales tanto los estados con cero palillos como los estados con un palillo ya que en ambos casos podemos marcar quien es el ganador. 18. Tenemos el tablero que aparece en la gura, en la que el jugador MAX tiene las chas marcadas como A y el MIN las chas marcadas como B. Los jugadores pueden mover sus chas y las del contrario. Los movimientos posibles son dos: desplazamiento de una cha a la casilla libre contigua salto de una cha sobre otra contraria (slo una) cambiando de signo la cha contraria, siempre y cuando la siguiente casilla est libre. Ejemplo: ABA_BAB A_BBBAB Restriccin: una jugada de desplazamiento no es vlida si simplemente est deshaciendo la jugada anterior. Por ejemplo, si un jugador pasa de AB_BBAB al estado ABB_BAB, el otro jugador no puede volver a pasar a AB_BBAB. El objetivo de cada jugador es tener 4 chas del mismo tipo estrictamente consecutivas. A B A B A B

Para la evaluacin de las conguraciones utilizaremos la siguiente funcin: f(n) = tamao del mayor grupo de As consecutivas - tamao del mayor grupo de Bs consecutivas. Ejemplos: f(ABA_BAB) = 1 - 1 = 0 f(ABB_BAB) = 1 - 2 = -1

42

Captulo 4. Jocs a ) Utiliza el algoritmo minimax con poda alfa-beta para evaluar cual debera ser el primer movimiento del jugador MAX. Haz la exploracin hasta el nivel 3 (dos jugadas de MAX y una de MIN). Aplica siempre el mismo orden: movimientos posibles recorriendo el tablero de izquierda a derecha. Para cada nodo muestra claramente la evolucin de los valores alfa y beta. Cul es el movimiento que debera escoger MAX? b) Cuntos nodos nos ahorramos respecto al uso del algoritmo sin poda?

5. Satisfacci de restriccions

1. Una empresa de alquiler de vehculos dispone de una ota con las siguientes caractersticas: Marca Ford Citroen Mercedes Citroen Seat Opel Mercedes BMW Citroen Seat Color Blanco Azul Gris Verde Rojo Blanco Rojo Negro Gris Azul Precio/da 30 euros 35 euros 60 euros 30 euros 35 euros 35 euros 35 euros 60 euros 40 euros 40 euros

Coche1 Coche2 Coche3 Coche4 Coche5 Coche6 Coche7 Coche8 Coche9 Coche10

La empresa ha recibido la siguiente serie de peticiones que ha de intentar satisfacer: Precio/da <= 40 euros <= 30 euros <= 60 euros <= 40 euros <= 60 euros Color NO Azul Azul O Blanco NO Gris y NO Negro NO Rojo y NO Azul Blanco

Peticin1 Peticin2 Peticin3 Peticin4 Peticin5

Tenemos la restriccin adicional de que no puede haber dos coches de la misma marca. Considera las peticiones como variables, en el mismo orden en que guran, y los coches de la ota como valores, tambin en el mismo orden en que se listan. a ) Aplica forward-checking para resolver el problema. Desarrolla el proceso hasta el punto en el que encuentres una solucin. Indica en cada paso slo los dominios que se modican. b) Aplica backtracking cronolgico hasta el segundo backtracking a la variable peticin 1. 2. El director de la coral infantil "Veus suaus" tiene que decidir el orden de colocacin de los ocho cantores. Debe distribuirlos en dos las (A, B) de forma que en cada la queden en orden decreciente de altura, colocando el ms alto a la izquierda (posicin 1). Adems, la altura de cada ni@ de la la trasera (A) debe ser superior o igual a la del que tenga delante. Finalmente, no quiere colocar dos herman@s seguid@s en la misma la ni un@ delante del otr@. La relacin de ni@s y sus alturas es la siguiente: Nombre Esteva Blanco Pedro Costa Ana Costa Juan Costa Oriol Pi Mara Ruiz Rosa Snchez Carla Snchez 43 Altura 1,40 1,60 1,50 1,30 1,40 1,60 1,50 1,30

(EB) (PC) (AC) (JC) (OP) (MR) (RS) (CS)

44

Captulo 5. Satisfacci de restriccions Considera como variables las posiciones de izquierda a derecha en las las (A1, A2, A3, A4, B1, B2, B3, B4) y como valores las iniciales de los nombres de los cantores. El orden de recorrido de las variables es el indicado entre parntesis. El orden de recorrido de los valores es el de la lista anterior. a ) Aplica forward-checking para resolver este problema. Desarrolla el proceso hasta el punto en el que hay que realizar el primer backtracking a B1. b) Aplica bsqueda en profundidad y backtracking cronolgico hasta el primer backtracking a A2. 3. Deseamos utilizar la tcnica de satisfaccin de restricciones para resolver el problema de comprobar si un grafo est contenido en otro. Dados los dos grafos siguientes:
3 B

Deseamos saber si el primer grafo est contenido en el segundo. Para resolver el problema debemos asignar a cada nodo del primer grafo un nodo del segundo grafo de manera que las conexiones entre los nodos del primer grafo se respeten en el segundo grafo. a ) Dene los dominios de cada variable (nodos del primer grafo) y aplica las restricciones que creas posibles en cada variable para reducir el nmero de valores posibles (las que sean evidentes por las caractersticas del problema, no apliques arco consistencia). b) Resolver el problema aplicando el algoritmo del forward checking c ) Resolver el problema aplicando el algoritmo de backtracking cronolgico hasta que la variable 1 tome el valor C d ) Si tomamos como variables los nodos del segundo grafo cuales seran los valores de los dominios de estas variables? 4. Dado un vector de cinco posiciones se desea obtener una asignacin de letras tal que no haya dos letras consecutivas iguales y que el conjunto sea capica. Los valores posibles para la posicin 1 son A,B,C,D,E. Los valores posibles para las posiciones 2 y 3 son A,B,C. Los valores posibles para la posicin 4 son C,D,E. Los valores posibles para la posicin 5 son B,C,D,E. Ejemplos de asignaciones vlidas: E-C-A-C-E D-C-B-C-D

a ) Resolver el problema mediante backtracking cronolgico. b) Resolver el problema mediante forward checking. 5. Como cada ao, los protagonistas de los ms famosos culebrones se reunen para celebrar la realizacin de 100 nuevos captulos de su teleserie. Lamentablemente la rivalidad entre ellos es tal que algunos no se pueden sentar al lado de otros durante la cena de celebracin. Nuestros protagonistas son: Carlos Miguel, David Miguel, Carlos David, Juan Miguel, Pedro Miguel, Juan Luis y Juan Carlos. Las restricciones son tales que un Carlos no se puede sentar junto a un Pedro, ni un Juan se puede sentar al lado de otro Juan.

45 a ) Utiliza el algoritmo de forward checking para dar una solucin a la ubicacin de estos 7 personajes en una mesa circular (cada comensal slo tiene dos vecinos, uno a la derecha y otro a la izquierda). Usa para la exploracin de los valores el orden en el que estn en el enunciado. b) Resuelve el mismo problema aplicando el algoritmo de backtracking cronolgico. 6. Deseamos resolver el crucigrama de la gura colocando las siguientes palabras: ROLLO, SALVO, SOLAR, ROCAS, OCIOS, SILOS. a ) Para resolverlo aplica el algoritmo de forward checking utilizando las posiciones para las palabras como variables y las palabras como valores utilizando la numeracin para las variables que se indica la gura y explorando las palabras en el orden en que se dan en el enunciado. b) Resuelve ahora el problema aplicando el backtracking cronolgico.

2 1 4 3

5 6
NOTA: las palabras horizontales se colocan de izquierda a derecha y las palabras verticales de arriba a abajo. No hay palabras escritas al revs. 7. Una petita empresa ha de comprar telfons mbils pels seus directius. Han estat mirant preus de companyies telefniques i es troben amb la segent informaci: Companyia MultiStaf (MS) AguaTel (AT) FunkyTel (FT) TopeVisin (TV) Tarifa 5000 6000 4500 3500

Aquesta petita companyia t cinc executius i vol assignar-los un telfon mbil a cadascun sota les segents restriccions: No pot haver-hi ms de dos executius amb la mateixa companyia. El cost total de lassignaci de companyies a executius no ha de superar les 21.000 ptes. Es demana: a ) Resoldre completament el problema aplicant forward checking. b) Desenvolupar laplicaci del backtracking cronolgic ns al punt en que el backtracking ens porta a revisar la primera assignaci feta a la segona variable. NOTA: Per ambds apartats considereu que els executius es representen per E1, E2, E3, E4 i E5. Els valors possibles sn MS, AT, FT, TV i cal considerar-los sempre en aquest ordre.

46

Captulo 5. Satisfacci de restriccions 8. La compaa de aviacin Air Vostrum debe realizar habitualmente la tarea de congurar la tripulacin de los vuelos. El problema actual consiste en organizar parejas de comandante y piloto para cubrir cuatro vuelos: Pars, Roma, Beijing y Tokio. El personal disponible es: Comandantes C1 Prez C2 Benitez C3 Almansa C4 Morales Pilotos P1 Asensio P2 Martn P3 Marn P4 Casales

45 43 40 47

aos aos aos aos

32 35 38 40

aos aos aos aos

Las normas de la compaa, para vuelos fuera de Europa, impiden que la suma de edades del comandante y el piloto exceda de 75 aos. Adicionalmente, los comandantes son muy supersticiosos y no admiten que su piloto tenga como inicial de apellido la misma que ellos. Aplica el algoritmo de forward checking para congurar las cuatro tripulaciones necesarias. Explicita los valores posibles de cada variable en cada paso. Utiliza variables y valores en el orden en que aparecen en el enunciado. 9. El senyors Grfol tenen el problema habitual de cada Nadal i que consisteix en comprar regals per als seus nebots/nebodes. Han de comprar regals per als germans Joan i Maria, per als germans Pere, Ana i Oriol i per en Ramon i en Xavier, ambds lls nics. Han decidit que compraran dos jocs iguals descacs, docs jocs iguals dexperiments de qumica i tres llibres didctics iguals. Per a repartir aquests regals entre els nebots han de tenir en compte que, per raons bvies, no poden donar el mateix regal entre germans, que ni el Joan ni el Xavier poden tenir el mateix regal que lOriol i que el Ramon no pot tenir el mateix regal que lAna. NOTA: Utilitza els noms dels nebots en lordre en que apareixen a lenunciat. Els regals sidentiquen per E1, E2, Q1, Q2, L1, L2, L3 i tamb cal respectar aquest ordre. a ) Dibuixa el graf de restriccions entre les variables. b) Resol el problema aplicant forward checking. Indica clarament a linici i a cada pas el domini de les variables. c ) Inicia el procs de resoluci aplicant cerca en profunditat i backtracking cronolgic. Desenvolupa el procs ns al moment en que es produeix el segon backtracking cap a Oriol. d ) Creus que el backtracking cronolgic trobar la soluci? Justica la resposta. 10. Una empresa de telefona mvil quiere colocar seis antenas en una ciudad cuyas posibles ubicaciones estn reejadas por este grafo:
1 2

Donde cada arco indica que existe visin directa entre dos posiciones. Las antenas tienen las caractersticas siguientes: Antena A B C D E F Frecuencia 20 GHz 1.8 GHz 20 GHz 1.8 GHz 20 GHz 1.8 GHz Potencia 1 Mw 2 Mw 3 Mw 1 Mw 1 Mw 2 Mw

47 Las restricciones de colocacin de las antenas son las siguientes: No se pueden colocar dos antenas consecutivas de la misma frecuencia No puede haber dos antenas con visibilidad directa cuya suma de potencia sea superior a 4 Mw a ) Considerando las posiciones de las antenas como variables y las antenas como los dominios de estas variables, utiliza el algoritmo del forward checking para buscar una solucin a la colocacin de las antenas usando para la exploracin el orden en el que aparecen las posiciones y las antenas en el enunciado. Desarrolla el algoritmo hasta el primer backtracking a la primera variable. b) Desarrolla el algoritmo de bactracking cronolgico hasta el punto en que deba realizarse el primer backtracking. Para cada asignacin que falle indica brevemente el motivo. 11. El responsable del peridico "Noticias frescas" debe confeccionar la primera pgina de la edicin de maana que consta de cuatro posiciones tal como se ve en la gura Noticias Frescas 8-junio-2002 P1 P2

P3

P4

Dispone de siete noticias con las siguientes caractersticas: mbito Nacional Nacional Internacional Nacional Nacional Internacional Internacional Tema Poltica Sucesos Poltica Deportes Poltica Sociedad Sucesos

N1: N2: N3: N4: N5: N6: N7:

Las normas de redaccin del peridico imponen las siguientes restricciones: Una noticia internacional slo puede estar en una posicin inferior (P3 o P4) si la de justo encima es tambin internacional. Slo puede haber dos noticias del mismo tema si estn en diagonal. Una noticia de poltica y otra de sucesos no pueden estar en la misma horizontal. Considerando las variables P1..P4 y los valores N1..N7 y respetando el orden numrico, se pide: a ) resolver el problema de la confeccin de la primera pgina aplicando forward-checking b) resolver el mismo problema mediante backtracking cronolgico. 12. Dos cadenas de televisin desean coordinar sus franjas horarias de manera que el telespectador tenga ms donde elegir. Supondremos que cada cadena divide su horario en cuatro franjas, y que en cada franja podemos tener uno de estos tres tipos de programa: Ftbol, Concurso o Pelcula. Tenemos como restricciones: No puede haber simultneamente el mismo tipo de programa en las dos cadenas. No puede haber en una misma cadena dos programas seguidos del mismo tipo.

48

Captulo 5. Satisfacci de restriccions No puede haber en total ms de dos partidos de ftbol o concursos. Utilizando las franjas horarias como variables y siguiendo el orden: Fr1.1, Fr1.2, Fr1.3, Fr1.4, Fr2.1, Fr2.2, Fr2.3, Fr2.4 (donde el primer nmero es la cadena y el segundo la franja horaria) y usando para los valores posibles el orden ftbol, concurso, pelcula, utiliza el algoritmo de forward checking para encontrar una solucin a este problema.

13. Deseamos construir un circuito ubicando los componentes de manera que las distancias que los componentes permitan su correcto funcionamiento. El circuito sobre el que queremos trabajar es una cuadrcula de 3x3, de manera que cada componente tiene asignado unas coordenadas. Tenemos que ubicar 4 componentes (A,B,C,D), las restricciones entre ellos son: La distancia entre el componente A y B ha de ser mayor o igual a 2 La distancia entre el componente A y C ha de ser 1 La distancia entre el componente B y C ha de ser 2 La distancia entre el componente B y D ha de ser 1 La distancia entre el componente C y D ha de ser 1 Para calcular la distancia entre dos componentes se usa la funcin: d(a,b)=|ax-bx|+|ay-by|-1, donde ax es el valor de la coordenada x del componente a, ay es el valor de la coordenada y del componente a, dem para el componente b Considera los componentes como variables y las componentes como los valores de estas variables. Como orden de exploracin, empieza por la esquina superior izquierda y sigue el orden de izquierda a derecha y de arriba a abajo. a ) Utiliza el algoritmo de forward checking para explorar el problema hasta llegar al tercer valor de la variable A b) Utiliza el algoritmo de backtracking cronolgico para explorar el problema hasta el primer backtracking a la variable B c ) Se puede simplicar el primer problema eliminando valores del dominio de las variables propagando las restricciones? Porqu? d ) Se puede aprovechar alguna caracterstica del problema para simplicarlo y probar menos valores en la bsqueda? e ) En muchas ocasiones se pueden intercambiar variables y valores en los problemas de satisfaccin de restricciones. Cules seran los dominios de valores si usramos como variables las posiciones en lugar de los componentes? 14. Tenim les segents peces dun trencaclosques:
A B C D E F

Les 12 peces han de formar la segent imatge:

Fent servir les segents posicions del trencaclosques com a variables i les peces com a valors (poden efectuar-se rotacions sobre les peces, excepte per la C i la I) :

49 1 10 9 2 11 8 3 12 7 4 5 6

el domini de cada variable queda inicialment restringit, donades les caracterstiques del puzzle. a ) Utilitza backtracking cronolgic per completar el trencaclosques. b) Fes-ho ara amb forward checking. NOTA: En ambdos casos, feu servir lordre numeric per les variables i lordre alfabtic pels valors. Deixa clar quins son els passos donats !! 15. Una empresa de consultora tiene que organizar el trabajo de tres proyectos durante tres das y dispone de cuatro consultores para llevarlos a cabo. Cada consultor puede dedicar un conjunto de horas a cada proyecto, este conjunto de horas est dividido en fracciones (un consultor slo tiene dos fracciones de dedicacin al da), las horas de cada consultor en cada fraccin de dedicacin son las siguientes: Consultor C1 C2 C3 C4 Existen las siguientes restricciones de asignacin: Un consultor no puede trabajar dos das seguidos en el mismo proyecto Un consultor slo puede dedicar dos fracciones de dedicacin al da El nmero total de horas dedicadas a un proyecto ha de ser inferior o igual a 8 Todos los das ha de haber algn consultor asignado a un proyecto Utilizar los proyectos combinados con los das como variables, asignando valores para todos los proyectos para el primer da, para el segundo da y para el tercer da (P1d1, P2d1, P3d1, P1d2, ...), usa los consultores como valores (C1-C4) a ) Resolver el problema aplicando forward checking. En cada paso indica solamente las variables en las que hay algn cambio en su dominio. b) Describe que otras maneras hay de escoger variables y valores para hacer la exploracin y que ventajas o inconvenientes tienen. 16. El club de nataci Dons mulars ha dinscriure per a les properes competicions dos equips de relleus (A i B). Els nedadors a inscriure (amb les seves corresponents edats) sn: Manel(10), Oriol(10), Adri(11), Enric(11), Xavier(12), Pere(12), Joan(13) i Ramon(13). Cada equip est format per quatre nedadors. Lentrenador ha de tenir en compte les segents restriccions: La suma dedats de cada equip no pot ser superior a 46. No poden haver-hi en el mateix equip dos nedadors de 10 anys. No poden haver-hi en el mateix equip dos nedadors de 13 anys. El Pere i el Joan no poden estar en el mateix equip. En Xavier i lAdri no poden estar en el mateix equip. Considera els nedadors com les variables del problema i tracta-les en lordre en que apareixen els noms a lenunciat. Disponibilidad 2.5 4 3 1.5

50

Captulo 5. Satisfacci de restriccions a ) Representa les restriccions de la 2 a la 5 mitjanant un graf. b) Resol el problema aplicant forward checking. Indica a cada pas noms els dominis que es modiquen. Quan correspongui, indica breument per qu cal assignar un nou valor o fer backtracking. c ) Resol el problema aplicant cerca en profunditat amb backtracking cronolgic.

17. Dado el siguiente grafo de restricciones donde cada restriccin es una condicin de desigualdad y los siguientes dominios para las variables: A={1,2,3} B={1,2} C={2,3} D={2,3} E={1,2,3}

Haz la ejecucin del backtracking cronolgico hasta el primer backtracking a la variable A y del forward checking hasta encontrar la primera solucin 18. Dado el siguiente grafo de restricciones donde cada restriccin es una condicin de desigualdad y los siguientes dominios para las variables: A={1,2} B={2,3} C={1,3} D={2,3} E={1,3}

Haz la ejecucin del forward checking hasta encontrar la primera solucin 19. Dado el siguiente grafo de restricciones donde cada restriccin es una condicin de desigualdad y los siguientes dominios para las variables:

51 A={1,2} B={2,3} C={1,2} D={1,2,3} E={1,2,3} E

Haz la ejecucin del forward checking hasta encontrar la primera solucin 20. Dado el siguiente grafo de restricciones donde cada restriccin es una condicin de desigualdad y los siguientes dominios para las variables: A={1,2} B={1,3} C={1,2} D={1,3} E={1,2}

Haz la ejecucin del forward checking hasta encontrar la primera solucin

52

Captulo 5. Satisfacci de restriccions

6. Representaci del Coneixement: Sistemes de producci

1. Utilitzant les regles i fets que apareixen a continuaci, mostreu com un sistema de producci amb encadenament cap enrera (seguint una estratgia seqencial en la selecci tant de fets i regles com dobjectius), intentaria demostrar R(a). Base F1. F2. F3. F4. de hechos P(b) F5. U(b) F6. Q(c,d) P(a) Base R1. R2. R3. R4. de reglas P(x) P(y) S(x,y) R(y) U(x) T(y) Q(x,y) Q(x,y) S(y,x) S(z,x) S(z,y) Q(x,y)

S(d,b) Q(a,c)

2. Donades les segents bases de regles i de fets: Base F1. F2. F3. de hechos P(b) F4. S(a,b) F5. Q(a,c) Base R1. R2. R3. de reglas S(x,y) Q(y,x) Q(x,z) Q(z,y) S(x,y) P(x) P(y) Q(x,y) R(x)

P(c) Q(a,d)

a ) Seguint encadenament cap endavant, mostreu com un sistema de producci amb estratgia seqencial en la selecci de les regles arribaria a R(c). b) Fer el mateix considerant que el criteri de resoluci de conictes escull la regla amb ms condicions. 3. Considera la siguiente base de hechos (donde cada hecho viene acompaado por el momento de su creacin) y la siguiente base de reglas: Base H1. H2. H3 de hechos A(e) H4. D(e) H5. A(n) H6. Base R1. R2. R3. de reglas A(x) A(y) C(x,y) L(x,y) L(x,y) L(y,z) L(x,z) D(x) P(y) C(x,y)

P(n) A(s) C(n,s)

a ) Considera el objetivo L(e,s) y comprueba si es deducible aplicando razonamiento hacia atrs. Utiliza la estrategia de resolucin de conictos: 1o ) subobjetivo ms reciente, 2o ) primer subobjetivo por la izquierda, 3o ) regla ms especca 4o ) hechos en secuencia. Indica claramente para cada iteracin el conjunto conicto, la seleccin realizada y el resultado de la aplicacin de la regla. b) Considera ahora el objetivo L(n,e) y comprueba si es deducible aplicando razonamiento hacia delante. Utiliza la estrategia de resolucin de conictos: 1o ) regla ms general, 2o ) instanciacin ms antigua, 3o ) hecho ms antiguo en la primera condicin. Indica claramente en cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. Una estrategia distinta dara mejores resultados? 4. Tenemos la siguiente base de reglas y la siguiente base de hechos: Base H1. H2. H3. de hechos P(a) P(b) R(a) Base R1. R2. R3. R4. 53 de reglas P(x) R(y) Q(x,y) Q(x,y) Q(y,x) P(x) P(y) R(y) Q(x,y) R(y) P(x)

54

Captulo 6. Representaci del Coneixement: Sistemes de producci a ) Realiza los 4 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) primera regla en secuencia 2) instanciacin con hechos ms antiguos 3) condicin de ms a la izquierda con hecho ms antiguo. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla b) Realiza los 4 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) regla ms especca 2) instanciacin con hechos ms recientes 3) condicin de ms a la izquierda con hecho ms reciente. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla c ) Realiza los 4 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) regla ms general 2) instanciacin con hechos ms antiguos 3) condicin de ms a la izquierda con hecho ms antiguo. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla d ) Realiza los 10 primeros pasos del razonamiento hacia atrs para resolver el objetivo Q(b,c) utilizando como estrategia de resolucin de conictos 1) Objetivos en secuencia 2) reglas en secuencia 3) hechos ms recientes. Especica claramente para cada iteracin el objetivo, el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla 5. Tenemos la siguiente base de reglas y la siguiente base de hechos: Base H1. H2. H3. H4. de hechos P(a,c) Q(c) R(d) P(c,d) Base R1. R2. R3. R4. R5. de reglas P(x,y) R(y) Q(x) Q(x) R(x) Q(x) P(x,y) Q(x) P(x,y) R(y) P(x,y) P(y,z) R(y)

a ) Realiza los 5 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) primera regla en secuencia 2) instanciacin con hechos ms recientes 3) condicin de mas a la izquierda con hecho ms antiguo. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla b) Realiza los 5 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) regla ms especca 2) instanciacin con hechos ms antiguos 3) condicin de mas a la izquierda con hecho ms antiguo 4) primera regla en secuencia. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla c ) Realiza los 5 primeros pasos del razonamiento hacia delante con la estrategia de resolucin de conictos 1) regla ms general 2) instanciacin con hechos ms recientes 3) condicin de mas a la izquierda con hecho ms recientes 4) primera regla en secuencia. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla d ) Realiza la traza del razonamiento hacia atrs para intentar resolver el objetivo R(b) utilizando como estrategia de resolucin de conictos 1) objetivos en secuencia 2) hechos mas recientes 3) regla ms general 4) primera regla en secuencia. Especica claramente para cada iteracin el objetivo, el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla 6. Dados la siguiente base de hechos (cada hecho viene precedido por el tiempo en que ha sido establecido) y base de reglas: Base H1. H2. H3. H4. de hechos P(a) Q(c) R(10) P(c) Base R1. R2. R3. R4. de reglas P(a) Q(e) Q(b) P(c) R(x) (x < 15 ) (y = x - 5) R(y) Q(b) R(x) (x < 5 ) S(e) Q(x) Q(e)

55 a ) Dado el objetivo S(e) y suponiendo un mecanismo de razonamiento hacia delante con estrategia de resolucin de conictos: 1o ) regla ms especca y 2o ) instanciacin ms reciente, 1) Indica las 3 primeras iteraciones en la aplicacin de las reglas, mostrando para cada una de ellas el conjunto de conictos, la seleccin realizada y el resultado de la aplicacin. 2) Si detectas algn problema, propn alguna solucin. b) Dado el objetivo R(0) y suponiendo un mecanismo de encadenamiento hacia atrs con estrategia de resolucin de conictos: 1o ) regla ms especca, 2o ) subobjetivo ms simple y 3o ) hechos ms antiguos, 1) Indica las 3 primeras iteraciones mostrando para cada una de ellas el conjunto de conictos, la seleccin realizada y el resultado de la aplicacin. 2) Qu pasara si el objetivo fuera R(20)? 7. Suposeu que tenim la segent de fets (fets precedits per lidenticador temporal del moment de creaci) i Base de regles: Base F1. F2. F3. F4. de hechos P(a) Q(c) S(a) P(c) Base R1. R2. R3. R4. de reglas P(x) C(x,y) S(x) S(x) C(x,y) R(x) S(x) C(y,x) P(x) C(x,y)

a ) Donat lobjectiu C(a,x) i suposant estratgia de raonament cap endavant amb els criteris de resoluci de conictes: 1er.) regla ms especca i 2n.) instanciaci ms recent, mostra les quatre primeres iteracions daplicaci de les regles. Mostra explcitament cadascun dels conjunts de conictes que hi ha, la regla nalment seleccionada a cada pas i el resultat daplicar-la. b) Donat lobjectiu ( C(x,b) R(a) ) i suposant estratgia de raonament cap enrera amb criteris de resoluci de conictes: 1er.) suobjectiu (predicat) amb menys parmetres i 2n.) ordre seqencial de les regles, mostra les cinc primeres iteracions daplicaci de les regles. Mostra explcitament cadascun dels conjunts de conictes que hi ha, els subojectius pendents a cada iteraci, la regla nalment seleccionada a cada pas i el resultat daplicar-la. 8. Es frecuente encontrar en las secciones de pasatiempos de los peridicos cosas como "dado un nmero, normalmente alto, cmo puede expresarse a travs de una expresin aritmtica sobre un conjunto de nmeros bsico?". Este ejercicio se basa en la misma idea: Considerse el siguiente conjunto de hechos y reglas: Base H1. H2. H3. de hechos par(0) num(1) num(17) Base R1. R2. R3. R4. R5. R6. R7. de reglas par(x) par(x+2) par(x) x>0 par(x-2) num(x) num(y) num(x+y) num(x) num(y) num(x*x) num(x) par(x) num(x/2) num(x) num(x*x) num(x) num(y) x > y num(x-y)

Suponemos que los valores que pueden recibir las variables son nmeros naturales menores que 100. El objetivo es num(9). Se pide: a ) Considerar un sistema de razonamiento dirigido por hechos en el que la resolucin de conictos se lleve a cabo de acuerdo a los siguientes criterios: 1) Tendr prioridad la regla ms compleja.

56

Captulo 6. Representaci del Coneixement: Sistemes de producci 2) A igualdad de a) tendr prioridad la instanciacin con hechos ms antiguos en sus premisas, considerando las condiciones de las premisas de izquierda a derecha. 3) A igualdad de b) tendr prioridad la primera regla en secuencia. Efectuar las 3 primeras iteraciones del proceso detallando en cada iteracin explcitamente y completamente el conjunto de conicto, la regla escogida y el resultado de su aplicacin. b) Se ha llegado a la solucin? En caso contrario, a la vista de como se van aplicando las reglas, realizar una estimacin razonada de en cuntas iteraciones se llegara a la solucin (obviamente sin necesidad de efectuar la traza de las iteraciones). c ) Suponiendo que el coste de aplicacin de cada regla fuera 1, se llegara a una solucin ptima (de coste mnimo)? d ) Considerar ahora un sistema de razonamiento dirigido por objetivos en el que la resolucin de conictos se lleve a cabo de acuerdo a los siguientes criterios: 1) El primer objetivo en secuencia 2) La regla ms simple 3) La ltima regla en secuencia Efectuar las 3 primeras iteraciones del proceso detallando en cada iteracin explcitamente el conjunto de conicto, el objetivo a resolver, la regla escogida y el resultado de su aplicacin. e ) Se ha llegado a la solucin? En caso contrario, justicar si continuando el procedimiento se llegara a una solucin ptima. Qu conclusiones se pueden extraer de las dos estrategias presentadas? Qu estrategia se podra utilizar para garantizar que la solucin obtenida fuera ptima? 9. Dadas las siguientes bases de hechos y de conocimientos aritmticos: Base H1. H2. H3. H4. H5. de hechos num(13) num(4) num(2) divexacta(4,2) divexacta(2,2) Base R1. R2. R3. R4. R5. R6. R7. de reglas num(x) num(y) divexacta(x,y) mltiplo(x,y) num(x) divexacta(x,2) par(x) num(x) no divexacta(x,2) impar(x) par(x) (x > 2) par(x-2) par(x) par(x+2) num(x) mltiplo(x,2) par(x) par(x) impar(y) impar(x+y)

Divexacta(x,y) expresa que x dividido por y da resto cero. Mltiplo(x,y) expresa que x es mltiplo de y. a ) Aplica razonamiento hacia delante y realiza las cinco primeras iteraciones. En cada iteracin indica el conjunto conicto, la seleccin realizada y el resultado de la aplicacin de la regla. Estrategia de resolucin de conictos: 1) Regla con ms condiciones, 2) Instanciacin ms reciente, 3) Instanciacin con hecho ms antiguo que satisfaga la primera condicin. b) Considera el objetivo impar(17) y comprueba si es deducible aplicando razonamiento hacia atrs. Expresa claramente, ya sea mediante rbol o por pasos, para cada iteracin el conjunto conicto, la seleccin realizada y el resultado. Aplica una estrategia secuencial para la seleccin de subobjetivos y como estrategia de resolucin de conictos aplica: 1o ) seleccin secuencial de reglas, 2o ) preferencia a hechos ms recientes. 10. Dadas las siguientes bases de hechos y de conocimientos relativos a personas y concesiones de crditos bancarios:

57 Base H1. H2. H3. H4. H5. H6. H7. Base R1. R2. R3. R4. R5. R6. de Hechos cliente(P) cliente(Q) cliente(R) pariente(Q,R) rico(Q) trabajador(P) especial(R)

H8. H9. H10. H11. H12. H13. H14.

salario(P,100.000) posee(R,C1) valor(C1,600.000) trabajador(S) salario(S,200.000) posee(S,C2) valor(C2,1.000.000)

de reglas cliente(x) rico(x) crdito(x,y) cliente(x) pariente(x,y) rico(y) rico(x) pariente(x,y) pariente(y,x) cliente(x) posee(x,y) valor(y,z) (z>t) crdito(x,t) cliente(x) trabajador(x) salario(x,y) (y3 > z) crdito(x,z) cliente(x) especial(x) crdito(x,y) crdito(x , 2y)

a ) Considera el objetivo crdito (R,2.000.000) y comprueba si es deducible aplicando razonamiento hacia atrs. Expresa claramente, ya sea mediante rbol o por pasos, para cada iteracin el conjunto conicto, la seleccin realizada y el resultado. Para la seleccin de subobjetivos da preferencia al subobjetivo ms simple (menos argumentos), y como estrategia de resolucin de conictos aplica: 1o ) preferencia a la regla con ms condiciones, 2o ) primera regla en secuencia. b) La regla 6 desea expresar que a los clientes especiales se les puede conceder el doble de crdito que a un cliente no especial que tenga las mismas caractersticas. Crees que est bien diseada y su funcionamiento se ajustar a esta denicin. c ) Considera ahora la siguiente base de reglas: Base R1. R2. R3. R4. R5. de reglas cliente(x) rico(x) crdito(x,y) cliente(x) pariente(x,y) rico(y) rico(x) pariente(x,y) pariente(y,x) cliente(x) posee(x,y) valor(y,z) crdito(x,z) cliente(x) trabajador(x) salario(x,y) crdito(x,3y)

Aplica razonamiento hacia delante para saber el crdito mximo para las cuatro personas (P,Q,R,S). En cada iteracin indica el conjunto conicto, la seleccin realizada y el resultado de la aplicacin de la regla. Estrategia de resolucin de conictos: 1) Regla con ms condiciones, 2) Instanciacin ms antigua. 11. Considera la siguiente base de hechos (donde cada hecho viene acompaado por el momento de su creacin) y la siguiente base de reglas: Base H1. H2. H3. H4. H5. H6. de hechos P(a,b) E(a,b) E(b,c) C(a) C(b) C(c) Base R1. R2. R3. R4. R5. R6. de reglas P(x,y) P(y,x) P(x,y) H(x,y) C(x) V(x) H(x,y) S(x,y) V(x) E(x,y) S(x,y) M(x,y) S(x,y)

a ) Resuelve el objetivo S(b,a) suponiendo el mecanismo de inferencia dirigido por hechos y una estrategia de resolucin de conictos con los criterios: 1o ) regla ms especca, 2o ) primera regla en secuencia, 3o ) instanciacin con hechos ms antiguos. Indica en cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin.

58

Captulo 6. Representaci del Coneixement: Sistemes de producci b) Considera ahora el objetivo S(a,c). Suponiendo el mecanismo de inferencia dirigido por objetivos y una estrategia de resolucin de conictos con los criterios: 1o ) subobjetivo ms simple (menos parmetros), 2o ) regla ms especca, 3o ) primera regla en secuencia, realiza las iteraciones necesarias. Indica en cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin

12. Dadas las siguientes bases de hechos y conocimiento donde los hechos estn ordenados por antigedad, x, y son variables y a, b, c son constantes:

Base H1. H2. H3. H4. H5. H6. H7.

de hechos T(b,c) P(a) Q(b,c) T(c,b) P(c) Q(a,a) Q(a,b)

Base R1. R2. R3. R4. R5. R6. R7.

de reglas T(c,x) Q(x,c) U(a) R(c,x) T(b,x) S(a) P(x) P(x) U(y) R(x,y) S(x) R(x,b) P(x) Q(a,x) S(x) S(x) P(x) U(x) R(x,c) U(y) Q(x,y)

a ) Considera el objetivo R(c,b) y comprueba si es deducible aplicando razonamiento hacia atrs. Utiliza las estrategias de resolucin de conictos: 1o ) subobjetivo con menos parmetros, 2o ) el subobjetivo ms reciente, 3o ) la regla ms general y 4o ) la primera regla en orden secuencial. Especica claramente para cada iteracin el conjunto conicto, la seleccin realizada y el resultado de la aplicacin de la regla. b) Considera ahora el objetivo R(a,b) y aplica razonamiento hacia delante para intentar demostrarlo. Utiliza las estrategias de resolucin de conictos: 1o ) la regla ms especca, 2o ) la primera regla en orden secuencial y 3o ) la instanciacin con hechos ms recientes. Especica claramente para cada iteracin el conjunto conicto, la seleccin realizada y el resultado de la aplicacin de la regla. Es ptima la solucin? En caso de que no, sugiere una estrategia/s de resolucin de conictos alternativa para que lo sea. 13. Dados los siguientes conjuntos de reglas de produccin y hechos:

Base H1. H2. H3. H4. H5. H6.

de hechos U(b,c) P(a,f) P(f,f) P(b,a) U(f,c) R(a,h)

Base R1. R2. R3. R4. R5. R6. R7.

de reglas U(x,c) S(x,e) P(x,f) S(x,e) S(x,e) U(x,h) Q(x,e) S(x,e) U(x,c) Q(x,b) ? Q(x,e) U(x,c) R(x,d) P(b,x) R(x,h) U(x,h) R(x,d) U(x,c)

a ) Considera el objetivo Q(a,e) y comprueba si es demostrable aplicando razonamiento hacia atrs. Usa las estrategias de resolucin de conictos 1) el subobjetivo ms reciente, 2) la regla ms especca y 3) la primera regla en orden secuencial. b) Muestra las cinco primeras iteraciones resultantes de aplicar razonamiento hacia delante. Utiliza las estrategias de resolucin de conictos 1) la regla ms simple y 2) la instanciacin con hechos ms recientes, 3) la primera regla en orden secuencial. 14. Donats els segents conjunts de regles de producci i fets:

59 Base F1. F2. F3. F4. F5. F6. F7. de hechos Q(d,b) Q(a,a) P(a,b,d) R(a,d) P(a,c,d) R(a,c) S(a,b) Base R1. R2. R3. R4. R5. R6. de reglas Q(x,y) S(x,y) P(x,y,z) Q(z,a) S(z,y) R(x,y) Q(y,x) R(y,z) S(x,z) R(x,y) S(x,y) P(x,d,y) R(x,y) S(x,t) Q(y,b) P(x,t,z) R(x,y) P(x,z,y) Q(x,z)

a ) Veure si el fet s(a,c) es deduble per raonament cap enrera aplicant la seqent estratgia de sel.lecci de regles, fets i objectius: 1) objectius en ordre seqencial dels ms recentment creats, 2) regla ms especca, 3) regla en ordre seqencial, 4) fets en ordre seqencial. b) Realitzar les 5 primeres iteracions de raonament cap endavant aplicant la segent estratgia de sel.lecci: 1) regla ms especca, 2) instanciaci ms recent (comparaci feta per ordre de predicats). 15. Considera la siguiente base de hechos (donde cada hecho viene acompaado por el momento de su creacin) y la siguiente base de reglas: Base H1. H2. H3. H4. H5. de hechos P(a,b) P(b,c) Q(b) T(c) S(b) Base R1. R2. R3. R4. de reglas T(x) P(x,y) S(x) R(x,y) P(y,x) P(x,y) S(y) R(y,x) P(x,y) Q(x) R(x,y)

a ) Comprueba si el objetivo R(a,c) se puede obtener suponiendo un mecanismo de inferencia dirigido por los hechos y una estrategia de resolucin de conictos con los criterios: 1) regla mas general, 2) instanciacin con hechos globalmente mas recientes. Indica en cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin. b) Considera ahora el objetivo R(c,a) S(c). Suponiendo un mecanismo de inferencia dirigido por los objetivos y una estrategia de resolucin de conicto con los criterios: 1) Subobjetivo mas complejo (mas parmetros), 2) Primera regla en secuencia. Realiza las iteraciones necesarias. Indica en cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin. 16. Tenemos la siguiente base de reglas y la siguiente base de hechos: Base H1. H2. H3. de hechos R(a) R(b) Q(b) Base R1. R2. R3. R4. de reglas R(x) R(y) P(x,y) R(x) P(x,x) P(x,y) Q(x) R(x) P(x,y) R(y) Q(y)

a ) Realiza los 3 primeros pasos del razonamiento hacia adelante con la estrategia de resolucin de conictos 1) primera regla en secuencia, 2) instanciacin con hechos mas recientes. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. b) Realiza los 3 primeros pasos del razonamiento hacia adelante con la estrategia de resolucin de conictos 1) regla mas general, 2) instanciacin con hechos mas recientes. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. c ) Realiza los 3 primeros pasos del razonamiento hacia adelante con la estrategia de resolucin de conictos 1) regla mas especca, 2) instanciacin con hechos mas antiguos. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla.

60

Captulo 6. Representaci del Coneixement: Sistemes de producci d ) Utiliza el razonamiento hacia atrs para resolver el objetivo Q(c) utilizando como estrategia de resolucin de conictos 1) objetivos en secuencia 2) reglas en secuencia 3) hechos en secuencia. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla.

17. Considera la siguiente base de hechos (donde cada hecho viene acompaado de su momento de creacin) y de reglas: Base de hechos H1. R(a) H2. Q(b) Base de reglas R1. P(x,y) Q(x) P(x,x) R2. Q(x) Q(y) P(x,y)

R3. R4.

P(x,y) Q(y) R(x) Q(y) Q(x)

a ) Realiza los 4 primeros pasos del razonamiento hacia adelante con la estrategia de resolucin de conictos 1) primera regla en secuencia 2) instanciacin con hechos mas recientes 3) condicin de mas a la izquierda con hecho mas reciente. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. b) Realiza los 4 primeros pasos del razonamiento hacia adelante con la estrategia de resolucin de conictos 1) regla mas especca 2) hechos mas antiguos 3) condicin de mas a la izquierda con hecho mas antiguo. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. c ) Utiliza el razonamiento hacia atrs para resolver el objetivo P(b,a) utilizando como estrategia de resolucin de conictos 1) objetivos en secuencia 2) reglas en secuencia 3) hechos en secuencia. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. d ) Utiliza el razonamiento hacia atrs para resolver el objetivo Q(c) utilizando como estrategia de resolucin de conictos 1) objetivos en secuencia 2) reglas en secuencia 3) hechos en secuencia. Especica claramente para cada iteracin el conjunto de conicto, la seleccin realizada y el resultado de la aplicacin de la regla. 18. Considera la siguiente base de hechos, en la que cada hecho viene acompaado de su momento de creacin, y la de reglas: Base de hechos H1. Q(b) H2. R(a) Base de reglas R1. Q(x) Q(y) P(x,y) R2. Q(x) P(x,x)

R3. R4.

Q(y) P(x,y) Q(x) R(x) Q(x)

a ) Aplica 5 iteraciones de razonamiento hacia delante con la estrategia de resolucin de conictos 1. primera regla en secuencia, 2. instanciacin con hechos ms antiguos y 3. condicin de ms a la izquierda con hecho ms antiguo. b) Realiza 5 iteraciones de razonamiento hacia delante con la estrategia de resolucin de conictos 1. regla ms general, 2. instanciacin con hechos ms recientes y 3. condicin de ms a la izquierda con hecho ms reciente. c ) Aplica razonamiento hacia atrs para resolver el objetivo P(b,a) y usa como estrategia de resolucin de conictos 1. objetivos en secuencia, 2. reglas en secuencia, 3. hechos en secuencia. En cada uno de los apartados anteriores especica, para cada iteracin, el conjunto conicto, la seleccin realizada y por qu, y el resultado de la aplicacin de la regla seleccionada.

7. Representaci del Coneixement: Frames/Ontologies

1. El Consorci de Biblioteques de Catalunya ha decidido mejorar su sistema de gestin de bibliotecas y usuarios y quiere representar la informacin que maneja utilizando un esquema de representacin del conocimiento. El Consorci agrupa a todo tipo de bibliotecas tanto privadas, como pblicas (universitarias y municipales). Estas bibliotecas pueden tener documentos de cualquier tipo (genricas) o estar dedicadas a documentos tcnicos y cientcos (cientco/tcnicas) o estar especializadas en ciertos tipos de documentos (libros antiguos, poesa medieval, documentos histricos, ...) Los usuarios de estas bibliotecas pueden ser especialistas, estudiantes y pblico en general, teniendo usuarios tanto espordicos como habituales. Los tipos de documentos que contienen las bibliotecas pueden ser tanto libros, como documentos audiovisuales (videos, CDs, DVDs, cintas de audio,...), con temticas diversas, como por ejemplo cientco/tcnica, literatura, arte, divulgacin,... a ) Propn una representacin estructurada del dominio mediante frames. Especica al menos tres atributos para cada uno de los conceptos principales. Especica completamente el slot ao de publicacin en documento y aforo (plazas disponibles) en biblioteca. b) Dene la relacin prstamo entre usuario y documento, representando que cierto documento est prestado en este momento a un usuario, la relacin fondo entre documento y biblioteca, representado que cierto documento pertenece al fondo bibliogrco de una biblioteca, y la relacin socio entre usuario y biblioteca, representando que cierto usuario es socio de una biblioteca. Completa la denicin de la relacin prstamo de manera que nadie pueda tener prestado un libro de una biblioteca de la que no sea socio. c ) Dene el slot en prstamo que permita saber el nmero de libros que una biblioteca tiene prestados a sus socios. Dene el slot muy usado en documento que sea cierto si el documento ha sido prestado ms de 100 veces. Aade a la representacin lo que necesites para denir estos slots. d ) Dene la relacin referencia entre documentos, representando que un documento cita a otro documento como referencia. Dene un slot referencias que nos d la lista de ttulos de todos los documentos que referencia un documento. Podramos heredar el slot ttulo de los documentos? e ) De qu manera podramos deducir la siguiente de informacin de la representacin? (no implementes nada, slo explica detalladamente la forma en que se hara, que aadiras a la representacin,...) 1) 2) 3) 4) 5) Usuarios de una biblioteca que tienen prestados libros publicados antes de cierto ao Tiempo que lleva prestado un libro a un usuario Nmero de documentos que citan a un documento Libros que nunca se han prestado Usuarios de cierto tipo que son usuarios de una biblioteca

2. Desde hace un tiempo internet ha visto una iniciativa de web colaborativa donde mltiples personas aportan su opinin sobre un tema. Esta iniciativa se ha bautizado como WikiWiki (termino que viene del Hawaiano y signica rpido). Dentro de esta losofa de contenidos colaborativos ha aparecido la iniciativa WikiPedia (www.wikipedia.org), una enciclopedia multiidioma gratuita creada con colaboraciones de todos los usuarios de internet. Pretendemos organizar la creacin de la WikiPedia registrando la informacin bsica para su funcionamiento. La WikiPedia esta a cargo de diferentes personas entre las que tenemos a los autores, que 61

62

Captulo 7. Representaci del Coneixement: Frames/Ontologies son los que escriben los contenidos, los revisores, que son los que comprueban que los contenidos introducidos sean correctos y los mantenedores, que son los que se encargan de que la infraestructura que soporta la enciclopedia funcione correctamente. Autores y revisores son capaces de realizar su labor en diferentes idiomas. El elemento principal de la enciclopedia es el artculo, que puede ser corto (menos de 1000 caracteres) o largo (mas de 1000 caracteres). Cada artculo se identica por un ttulo y un idioma, y puede tener diferentes versiones marcadas por la fecha en que se ha modicado. Para poder acceder fcilmente a sus contenidos, la enciclopedia esta organizada por temas y subtemas: matemticas (lgebra, anlisis, estadstica, ...), ciencias naturales (fsica, qumica, biologa, ...), ciencias sociales (historia, sociologa, poltica, ...), ciencias aplicadas (arquitectura, informtica, agricultura, ...), arte (pintura, escultura, literatura, ...). Cada tema tiene asociado su codicacin en la clasicacin de la UNESCO (cdigo de 6 cifras). Un artculo puede estar clasicado en varios temas. a ) Propn una representacin estructurada del dominio. Asigna por lo menos tres atributos a cada uno de los conceptos principales. Caracteriza los slots idioma y cdigo UNESCO. b) Dene la relacin escribe entre autor y artculo, representando que un autor ha escrito el texto de un artculo. Completa la denicin de manera que se de a la fecha de modicacin del artculo la fecha actual. Dene la relacin con_tema entre artculo y tema, representando que un artculo es de cierto tema. Dene la relacin revisa entre revisor y artculo, representando que un revisor ha revisado un artculo. Completa la denicin de manera que un revisor no revise artculos en un idioma que no conoce y que no revise artculos de los que es el autor. c ) Dene un mtodo a_revisar en artculo que retorne la lista de artculos que necesitan completar su revisin. Consideramos que la revisin de un articulo est completa si, siendo corto lo ha revisado por lo menos una persona y siendo largo lo han revisado por lo menos 5 personas. Es heredable este mtodo? Porqu? d ) Dene el slot experto_en en el frame autor como un demon que de la lista de los cdigos UNESCO de los temas de los artculos de los que es autor. Se podra usar la herencia de algn modo? Si se puede explica cmo, si no se puede explica porqu. e ) De que manera podramos deducir la siguiente informacin? (no implementes nada, slo explica detalladamente la forma en que se hara (slot, mtodo, demon, relacin, ...), que aadiras a la representacin, ...) 1) 2) 3) 4) Nmero de artculos de determinado tema que tiene la enciclopedia Fechas de las versiones anteriores de un artculo y sus autores Artculos de cierto tipo que no han sido revisados por nadie Autores que tambin son revisores

3. LIRC (Internet Relay Chat) s una de les possibilitats que internet ofereix per tal de relacionar gent de diverses parts del Mn. Els components bsics sn els anomenats canals, en els que la gent entra i pot parlar (b, teclejar i llegir) amb tota la resta de gent que hi ha al canal. Dins de les moltes coses que hi ha al mn de lIRC existeixen unes coses anomenades bots que no sn res ms que programes que es dediquen a tasques variades. El nostre objectiu s dissenyar un sistema de representaci estructurada del coneixement per tal de possibilitar la construcci dun bot intelligent. Per tal de fer-ho, a continuaci es descriur de forma molt simplicada, quins coneixements bsics sobre lIRC ha de disposar el bot: Com en la gran majora de coses dinternet, hi ha dos tipos de mquines: els servidors i els clients (identicats per ladrea IP, un nom de mquina, sistema operatiu, etc.). Qui proveeix els recursos per utilitzar lIRC sn els servidors (dels quals s necessari saber el(s) nmero(s) de port(s) que permeten). Els servidors dIRC sagrupen en xarxes (p.e. Undernet, Dalnet, Hispanet, ....) de les quals, a part del nom, s interessant saber la plana web que tenen, les adreces electrniques dels responsables, etc. A cadascuna de les xarxes es formen diversos canals que sidentiquen amb un nom. De canals hi ha de dos tipus: els enregistrats i els no-enregistrats. En un canal enregistrat

63 hi ha una persona que s el manager del canal, vries que en sn administrados i daltres que en sn operadors. En els canals no-enregistrats, qui mana s el primer que es connecta (quan tafegeixes a un canal no enregistrat i abans dit canal estava buit, ets automticament el responsable del mateix). Els ordinadors clients sn els que utilitzem des de casa (o des daltres llocs que no esmentar) per tal de connectar-nos a lIRC. Cada usuari es connecta des del seu ordinador i sidentica dins de lIRC amb un nom, anomenat nick. Dun usuari normalment tamb s interessant conixer ladrea de mail, el nom real, etc. Cada usuari, via el seu ordinador es connecta a un servidor duna xarxa concreta i, una vegada connectat, por accedir a tots el canals de la xarxa (els canals pertanyen a la xarxa i no als servidors que formen part de la mateixa). Es demana: a ) Dissenyar un sistema de representaci estructurada del coneixement i indicar, per cada concepte, els atributs que el caracteritzen (no cal denir completament cada atribut). b) Caracteritzar completament les relacions entre servidor i xarxa, entre client i usuari, entre client i servidor i entre servidor i usuari. c ) Ladrea IP dun usuari coincideix amb la del client que est utilitzant. Denir completament lslot IP i modiqueu el que calgui per a que dita deducci pugui realitzar-se. d ) Denir un demon que implementi la funci /server que s la que utilitza un usuari per tal de connectar-se a un servidor. Dit demon ha de comprovar que no hi hagi cap altre usuari amb el mateix nick a la xarxa a la que pertany el servidor. e ) Denir un demon que implementi la funci /list tal que permeti, per a cada usuari, saber els noms dels canals als quals pot accedir en un moment donat. 4. El membres del grup de recerca TALP de la UPC estan posant en marxa un sistema automtic dinformaci telefnica sobre el servei de trens. Per a desenvolupar aquest projecte es necessita representar el coneixement del domini. En concret, volem representar informaci sobre les lnies (origen, dest, longitud, etc. ) i els diferents tipus de lnies (rodalies, regionals, grans-lnies -nacionals, internacionals-), sobre els trens (nom, composici/categoria, serveis, etc.) i els diferents tipus de trens (tramvia, intercity, rpid, exprs, Talgo, Euromed), sobre els punts daturada (estacions i baixadors) i les persones que treballen a lempresa (maquinistes, revisors, taquillers, cambrers,...). Es demana: a ) Proposa un sistema de representaci estructurada del coneixement per aquest domini indicant els diferents conceptes aix com les relacions taxonmiques entre ells. Indica dos o tres atributs per a cada concepte. Caracteritza completament un atribut tipus-lnia del frame lnia. b) Caracteritza la relaci que permeti connectar un tren amb la lnia on dona servei. Aquesta relaci ha de permetre inferir el tipus de lnia per a cada tren en servei. Qu passaria si fs possible que un tren dons servei a ms duna lnia?. Revisa la caracteritzaci de tipus-lnia. c ) Caracteritza la relaci c.1) entre lnia i punt daturada per on passa i la relaci c.2) entre tren i punt daturada on para. El procs ser sempre primer denir una lnia i desprs assignar-hi trens, per tant a la relaci c.2) cal denir un demon que doni un missatge derror en cas de que estiguem connectant un tren amb un punt daturada que no pertany a la lnia on el tren dona servei. d ) Deneix un mtode amb un parmetre que ens permeti saber el nom dels trens dun determinat tipus que paren en un punt daturada concret i per cadascun daquests trens el tipus de lnia i lorigen i el dest de la mateixa. Situa adequadament aquest mtode. e ) Caracteritza la relaci entre maquinista i tren que condueix. Aprotant tot el que tens denit ns ara, caracteritza la relaci entre maquinista i punt daturada. 5. Els propietaris de lagncia de viatges Ms enll han decidit reorganitzar tota la informaci de la que disposen per tal de tenir-la ms integrada. Duna banda, volen mantenir informaci de les empreses amb qui treballen (Majoristes turstics, cadenes hoteleres, empreses de lloguer dautocars, empreses de lloguer de guies, etc.), sobre algunes de les persones lligades a aquestes empreses (conductors, guies,

64

Captulo 7. Representaci del Coneixement: Frames/Ontologies etc.), sobre els treballadors de la prpia agncia i sobre els clients (agrupats per "importants, normals, pesats, a-evitar"). A ms dinformaci sobre empreses i persones, volen disposar de tota la informaci lligada a cadascuna de les propostes de viatge que fan els majoristes. Cada proposta es caracteritza per un origen i una destinaci, un preu, unes dates, potser per un itinerari, etc. Les propostes es classiquen en propostes normals, de promoci i ofertons. Lagncia disposar dinformaci particular sobre hotels (bviament agrupats segons la seva categoria) com ara adrea, nmeros de telfon i fax, capacitat, serveis disponibles, etc. per tal de poder valorar les propostes de viatge segons els hotels proposats. Tamb disposar dinformaci particular sobre transportistes (aeris -IBERIA, AIR FRANCE, SWIS AIR....-, ferroviaris -RENFE, SNCF,...-, de carretera -JULIA, ATSA, ENATCAR,...-, etc.) per la mateixa ra. a ) Proposa un sistema de representaci basat en frames adequat al domini proposat. Assigna dos o tres atributs a cada frame proposat. Caracteritza latribut "de-prestigi" aplicable a les cadenes hoteleres. Caracteritza com a mnim les segents relacions: entre cadena hotelera i hotel, entre proposta i majorista, entre proposta i hotel i entre proposta i transportista. b) Afegeix el que calgui per tal de que el sistema pugui deduir si un hotel s de prestigi o no a partir de la cadena hotelera a la qual pertany. El que proposes funciona correctament quan un hotel passa a ser propietat duna cadena hotelera diferent? c ) Les propostes sempre estan relacionades com a mnim amb un hotel, com a mnim amb un transportista, ocasionalment amb conductors i ocasionalment amb guies. Deneix un atribut a proposta de viatge amb un demon que permeti etiquetar la proposta com "de-risc" o no. Una proposta s de risc si algun dels hotels est qualicat dinformal o si algun del transportistes est qualicat com no-able o si algun dels conductors assignats (si nhi ha) est qualicat com non-grato o si algun dels guies assignats (si nhi ha) est qualicat com non-grato. Afegeix les relacions i atributs que et siguin necessaris. d ) Deneix un mtode que tingui com a parmetre un string indicant un tipus de proposta (normal, promoci, ofertn) i que generi un llistat de totes les propostes daquest tipus indicant per a cadascuna: destinaci, preu, nom del majorista, nom del/s hotel/s i nom del/s transportista/es. Sita adequadament aquest mtode. s heretable? 6. Los gerentes del hospital de San Agapito han decidido renovar su sistema de informacin y pasarse a algo ms moderno. El hospital que gestionan consta de diferentes servicios sanitarios como son las salas (de urgencias, de pediatra, UCI, maternidad), la farmacia, los laboratorios, etc... Todos ellos estn ubicados en alguna planta del hospital, con unos horarios, etc. Entre el personal que trabaja en el hospital tienen mdicos (pediatras, estomatlogos, cirujanos, etc.), asistentes sanitarios, farmacuticos, celadores, etc. Adems, como es lgico, el hospital tiene pacientes, los cuales tienen tambin un historial clnico identicado por su DNI que contiene informacin sobre sus diferentes ingresos y, en particular, la enfermedad por la cual est ingresado actualmente. Se pide: a ) Proponer un sistema de representacin estructurada del conocimiento para este dominio, indicando los diferentes conceptos as como las relaciones taxonmicas entre ellos. Indica dos o tres atributos para cada concepto. Caracteriza completamente el atributo DNI del frame persona. b) Caracteriza la relacin entre mdico y la sala donde da servicio. Esta relacin ha de permitir inferir la ubicacin del mdico a partir del lugar en que est ubicada la sala. Qu pasara si un mdico pudiera dar servicio en diferentes salas? c ) Caracteriza la relacin entre paciente y sala en la que est ingresado y la relacin entre paciente e historial. Caracteriza la relacin entre mdico y paciente que visita. Dene un demon que compruebe si la enfermedad actual del paciente es compatible con la especialidad del doctor que le atiende (ej. Que un paciente ingresado por una enfermedad cardaca no sea atendido por un traumatlogo o por un urlogo). Dene los nuevos atributos que te sean necesarios. d ) A partir de las relaciones ya denidas, caracteriza la relacin entre historial clnico y mdico que escribe en l. Sera razonable denir por composicin la relacin entre paciente y mdico usando como frame intermedio la sala?

65 e ) Dene un mtodo que reciba como parmetro el nombre de una sala y que permita saber el nombre de los pacientes ingresados en esa sala y el de todos los mdicos que han escrito en el historial clnico de esos pacientes. Sita adecuadamente este mtodo. 7. El holding MegaServeis, S.L. s una agrupaci dempreses de serveis de tota mena: empreses de serveis de missatgeria, empreses de serveis dinformtica, empreses de serveis de traducci, etc. El conjunt de persones que treballen per al holding de manera xa o per contracte temporal es molt ampli i de profesions diverses: administratius, missatgers, traductors, programadors,... Cada empresa t una problemtica segons els tipus de serveis que ofereix. Ens xarem en les empreses de traducci. Les empreses de traducci reben encrrecs de documents a traduir. Aquests documents poden ser de temtica diversa: cientc-tcnics (llibres de text, manuals, articles,...), literaris (novel.les, assaigs,...), ocials (reglaments, butlletins,...), etc. A cada document li assignen dues persones diferents: un traductor i un revisor, amds experts en les llengues font i dest de la traducci. Per aquesta ra han de mantenir informaci de persones contractables amb indicaci de les llenges que dominen. Els documents poden tenir tres estats possibles: rebut, assignat, acabat. Es demana: a ) Proposar a la gerncia de MegaServeis un sistema de representaci estructurada del coneixement que permeti gestionar els diferents tipus dempreses i, en particular, tot el que es descriu per a les empreses de serveis de traducci. Assigna dos o tres atributs a cada concepte. b) Caracteritza les relacions entre document i traductor al qual est assignat i entre document i revisor assignat. Aquestes relacions han de tenir un demon que avisi en cas de que el traductor/revisor no sigui expert en alguna de les dues llenges (font i dest) que sapliquen al document. c ) Cada document acabat t assignat un valor (1..5) que correspon al grau de satisfacci de lempresa amb la traducci realitzada. Es deneix el nivell de qualitat dun traductor com la nota mitjana de tots els documents que ha traduit (independentment de la llengua). Deneix un atribut amb demon per tal de gestionar automticament aquest nivell de qualitat per a cada traductor. Fora possible deduir el nivell de qualitat dun traductor per mecanismes dherncia? d ) Caracteritza la relaci entre document i empresa de serveis de traducci que reb lencarrec. A partir de les relacions denides ns ara, deneix una relaci entre traductor i empresa de serveis. e ) Deneix un mtode amb un parmetre que ens permeti llistar el ttol de tots els documents dun determinat tipus que shan encarregat a una empresa. Cada document ha danar acompanyat de la segent informaci: llengua origen, llengua dest, nom del traductor i nom del revisor. Sita adequadament aquest mtode. 8. El ministerio de telecomunicaciones, deseoso de poder manejar de manera sencilla y eciente la informacin correspondiente a todos los medios de comunicacin que emiten su seal al aire, quiere usar un sistema de frames para organizarla. La informacin que se desea organizar es la siguiente: Actualmente dos tipos de medios informativos emiten su informacin al espacio radioelctrico, emisoras de radio y de televisin. Los programas que emiten se pueden clasicar esencialmente en dos, los programas de entretenimiento (variedades, concursos, cine, series, ...) y los programas de informacin (informativos, debates, reportajes, ...). Estos programas estn asignados a las diferentes franjas horarias que forman la parrilla de emisin. Las diferentes franjas horarias estan clasicadas segun el pblico al que van dirigidos los programas (prime-time, infantil-juvenil, noctmbulos, ...) Cada emisora tiene su personal, que podramos dividir en el personal tcnico, que se encarga de que todo funcione correctamente (tcnicos de sonido, cmaras, regidores, ...) y el personal no tcnico, que es el que da la cara en los programas (presentadores, corresponsales, humoristas, etc.). a ) Propn una representacin estructurada del dominio, asignando entre uno y tres atributos a los conceptos que aparecen. Dene el atributo pas de corresponsala, correspondiente a un corresponsal y el atributo ranking de un programa que indique su posicin en los ndices de audiencia segn su tipo de programa.

66

Captulo 7. Representaci del Coneixement: Frames/Ontologies b) Dene las relaciones entre personal y medio, entre personal y programa, entre medio y programa. Un de ellas debe ser compuesta. c ) Dene un slot estrella en presentador, booleano, que sea cierto si el presentador est en un programa que se emite en la franja de prime-time. Aade lo que creas necesario. d ) Queremos aadir a los medios un slot ranking que nos indique su posicin en funcin del ranking de sus programas informativos. Usando nicamente las relaciones que hemos denido podemos usar herencia? Justica la respuesta. e ) Implementa un mtodo parrilla, que nos liste para una determinada franja horaria el ttulo de los programas que emite un medio informativo, junto al nombre de las personas que intervienen en l. Dnde deberemos colocar este mtodo? 9. La SGAE (Sociedad General de Autores de Espaa) quiere mantener informacin sobre el mundo discogrco para poder gestionar de una manera mas eciente sus asuntos. Para ello ha decidido que la informacin que ha de organizar es la siguiente: El mundo discogrco esta formado por msicos, que pueden dividirse en solistas, grupos musicales, orquestas (que a su vez pueden ser sinfnicas, meldicas, municipales, ...). Estos msicos son contratados en exclusiva por discogrcas de las que hay multinacionales e independientes. Estas discogrcas producen los discos de los msicos que se pueden organizar en diferentes gneros (msica rock, pop, meldica, clsica, tnica, new age, popular, etc). Estas discogrcas a su vez organizan actuaciones para sus msicos, que pueden ser giras o actuaciones puntuales. Se pide: a ) Propn una representacin estructurada del dominio. Asigna al menos tres atributos para cada uno de los conceptos principales. Especica completamente el atributo gnero en el frame msico que represente el gnero musical del msico y el atributo de prestigio en el frame discogrca. b) Caracteriza la relacin contratado entre msico y discogrca, la relacin graba entre msico y disco, y la relacin produce entre discogrca y disco. c ) Caracteriza el atributo cach (dinero en el que se valora la actuacin del msico) en el frame msico de forma que se actualice segn el mximo dinero que le han pagado en una actuacin, dene lo que sea necesario. Si hay ms de una manera de solucionar el problema, indica cual te parece la mejor. d ) Queremos denir un atributo de prestigio en el frame msico a partir de la compaa discogrca que le tiene contratado, podemos usar herencia? Ahora queremos denir un atributo de platino que nos diga si un msico ha recibido un disco de platino si alguno de los discos que ha grabado son discos de platino. Podemos usar herencia en este caso? e ) A veces las discogrcas lanzan al mercado discos que recopilan composiciones de varios msicos. Dene el mtodo potpurr que retorne la lista de los ttulos de todos los discos de este tipo (discos grabados por varios msicos) que han sido producidos por las compaas discogrcas, acompaando cada ttulo de los nombres de los msicos que lo han grabado y el gnero de cada uno de ellos. Sita adecuadamente este mtodo.

10. Una empresa logstica est interesada en organizar la informacin de todos sus envos, por lo que se plantea hacer una representacin de la informacin que interviene en su negocio. La empresa se encarga de realizar envos que pueden ser de paquetes (grandes y pequeos) o correo. Los envos los realizan clientes que pueden ser empresas o particulares. Para realizar la recogida y entrega de los envos utiliza vehculos (camiones, o furgonetas). El almacenaje de los envos est organizado en centros de distribucin, que es donde se recogen todos los envos para ser trasladados a los centros de reparto, que es desde donde se realizan las entregas. El traslado de los envos puede realizarse a otros centros de distribucin con los que tiene conexin de manera que un envo puede pasar por varios centros de distribucin hasta llegar al centro de reparto. a ) Propn una representacin estructurada del dominio. Especica al menos tres atributos para cada uno de los conceptos principales. Especica completamente el atributo destino en el frame envo, capacidad de almacn en almacn y tara en vehculo.

67 b) Dene la relacin enva entre envo y cliente, la relacin asignado entre vehculo y almacn, la relacin almacena entre envo y almacn y la relacin recibe entre envo y cliente. c ) Dene la relacin conecta entre almacenes. Dene el atributo hotpotato de forma que indique, para un almacn, el nombre del almacn que tiene mayor espacio libre de entre los que est conectado. Dene la relacin recoge entre vehculo y envo de manera que compruebe que el peso de los paquetes que ha recogido no superen su tara. En ambos casos, dene todo lo que sea necesario. d ) Queremos que el envo herede la ubicacin del almacn que lo tiene almacenado, dene lo necesario para que esto sea posible. Se puede hacer mediante herencia? Sirve la herencia si un paquete es trasladado a otro almacn? Caracteriza el slot ubicacin. e ) Dene el mtodo reparto que, para un centro de reparto, haga un listado de los envos de un determinado tipo, indicando el nombre del cliente que ha de recibirlo y la matrcula del vehculo que lo ha de recoger. Ubica adecuadamente el mtodo. Dene lo que creas necesario para que se pueda implementar el mtodo Es heredable este mtodo? 11. Una gran cadena de distribucin de ordenadores nos ha encargado que diseemos para ella una representacin del conocimiento que usa su organizacin de manera que pueda construir un sistema que lo utilice. Esta cadena est organizada en tipos de departamentos que pueden estar ubicados en las diferentes tiendas que tiene. Tenemos los departamentos de ventas, servicio post venta, almacn, y departamento de montaje. Las tiendas estn organizadas en sucursales (slo tienen departamento de ventas), centros de atencin (slo tienen servicio post venta), centros de montaje (slo tienen almacn y departamento de montaje) y grandes centros (slo tienen departamento de ventas y servicio post venta). Los ordenadores que vende la cadena se clasican en porttiles y de sobremesa, stos a su vez se clasican en cuatro categoras: servidores, estaciones grcas, SOHO y hogar. Esta cadena tiene dos tipos de clientes: las grandes empresas y los pequeos clientes, que incluyen las pyme, los profesionales liberales y los particulares. a ) Propn una representacin estructurada del dominio. Especica al menos tres atributos para cada uno de los conceptos principales. Especica completamente el atributo nmero de empleados en departamento y potencia en ordenador. b) Dene la relacin vende entre departamento de venta y cliente, la relacin encarga entre departamento de venta y de montaje, la relacin monta entre departamento de montaje y ordenador y la relacin elige entre cliente y ordenador. c ) Dene la relacin ubicado entre departamento y tienda, esta relacin ha de comprobar que el tipo de tienda acoge a los departamentos correctos. Dene la relacin almacena entre almacn y ordenador de manera que no se exceda la capacidad de almacenaje del almacn y que el ordenador se almacene en el mismo centro de montaje en el que el ordenador es montado. Dene lo que sea necesario. d ) Queremos que las tiendas hereden el slot nmero de empleados de los departamentos que tiene ubicados dene lo necesario para que esto sea posible. Es la herencia la mejor solucin? e ) Dene el mtodo pedidos que liste los ordenadores de un determinado tipo vendidos, indicando los nombres de los clientes a los que se han vendido y el centro de montaje en el que se ha encargado el montaje de cada ordenador. Ubica adecuadamente el mtodo. Dene lo que creas necesario para que se pueda implementar el mtodo Es heredable este mtodo? 12. El Institut Catal de la Salut (ICS) desea organizar toda la informacin relativa a sus competencias. Por un lado, desea representar la informacin de los centros: ambulatorios y hospitales. Existen tres tipos de ambulatorios: centro de asistencia primaria (CAP), centro de especialistas (CE) i centro no reconvertido (CNR). Algunos ambulatorios disponen de un servicio de urgencias y otros no. Los hospitales propios pueden ser generales o comarcales. Los hospitales concertados son hospitales privados con convenio de asistencia con el ICS.

68

Captulo 7. Representaci del Coneixement: Frames/Ontologies Tambin desea representar informacin sobre personas tanto de sus trabajadores (mdicos, asistentes sociales, ayudantes sanitarios, administrativos, ...) como de los usuarios de la institucin. Igualmente necesita representar informacin geogrca: pueblos, ciudades, comarcas, ... a ) Propn una representacin estructurada del dominio. Especica al menos tres atributos para cada uno de los conceptos principales. Especica completamente el atributo especialidades de los CE, el atributo especialidad de mdico y el atributo booleano privado de hospital. b) Dene la relacin referente de hospital respecto de los ambulatorios de los cuales es referencia, las relaciones de pertenencia entre pueblo/ciudad y comarca y entre hospital comarcal y comarca y la relacin de habitante entre persona y pueblo/ ciudad. A partir de todo esto, dene la relacin de adscripcin entre pueblo y hospital comarcal y la de ingreso-por-defecto entre habitante y hospital comarcal. c ) Dene la relacin de asignado entre mdico y centro/s donde trabaja de forma que se compruebe para los CE que se est asignando un mdico cuya especialidad es una de las disponibles en el CE. d ) Se desea que el atributo privado para un mdico se inera del hospital en el cual trabaja, pero no todos los mdicos trabajan en un hospital. Qu modicaciones debes hacer para que esto sea posible? Sirven los mecanismos de herencia? e ) Dene el mtodo especialistas que liste, para un ambulatorio dado, todos los mdicos de una cierta especialidad que trabajan en el hospital de referencia del ambulatorio. Para cada mdico se desea obtener su nombre, su nmero de colegiado y sus horarios de visita. Ubica adecuadamente el mtodo. Dene lo que creas necesario para que se pueda implementar el mtodo Es heredable este mtodo?

13. Dado el complicado panorama de la solicitud de fondos para la investigacin, el ministerio de ciencia y tecnologa ha decidido poner a disposicin de todos los investigadores la informacin relativa a los proyectos de investigacin y las concesiones de ayudas de los diferentes organismos mundiales. Existen diferentes organismos nanciadores que conceden ayuda econmica para el desarrollo de proyectos de investigacin, entre estos tenemos organismos transnacionales como por ejemplo la Unin Europea u organizaciones dependientes de Naciones Unidas (UNESCO, UNICEF, ACNUR, ...), Organismos gubernamentales (NSF, CNRS, CICyT, CIRIT, ...) o Fundaciones privadas (Empresas, organizaciones sin nimo de lucro, ...). Estas organismos nanciadores conceden ayudas a la investigacin en proyectos de diferente temtica, como por ejemplo tecnologas de la informacin y de la comunicacin (Inteligencia Articial, Redes de comunicaciones, Sociedad de la Informacin,...), fsica (Altas energas, materiales, astrofsica, ...), salud (lucha contra el cncer, creacin de vacunas, ...), humanidades (historia, poltica, ...), etc. Son los diferentes grupos de investigacin que trabajan para diferentes organismos cientcos (centros de investigacin transnacionales (CERN, ...), universidades (publicas y privadas) y centros de I+D de la industria) los que proponen, en solitario o coordinadamente entre varios grupos, proyectos a los organismos nanciadores. Se pide: a ) Propn una representacin estructurada del dominio. Asigna al menos tres atributos para cada uno de los conceptos principales. Especica completamente el atributo ubicacin para los organismos cientcos y el atributo nmero de investigadores para los grupos de investigacin. b) Dene la relacin evala entre organismo nanciador y proyecto de investigacin, la relacin propone entre grupo de investigacin y proyecto, y la relacin nancia entre organismos nanciadores y grupos de investigacin. c ) Dene tambin la relacin concede entre organismo nanciador y proyecto de investigacin de manera que compruebe que, si el organismo que concede la nanciacin es un organismo transnacional, el proyecto est propuesto por al menos tres grupos de investigacin de distintas nacionalidades. Se trata de una relacin compuesta? Dene en organismo nanciador el slot presupuesto comprometido que calcule el dinero total que ya ha concedido (indica las diferentes maneras de realizar el clculo).

69 d ) Queremos que los grupos de investigacin hereden el atributo ubicacin del organismo cientco para el que trabajan, dene todo lo necesario para que esto sea posible. e ) Dene el mtodo proyectos nanciados que haga una lista de todos los proyectos concedidos por un organismo nanciador, indicando el cdigo de proyecto, el dinero aportado y el nombre y nmero de componentes de los grupos de investigacin que participan. Ubica adecuadamente el mtodo. 14. Una gran multinacional desea organizar la informacin de su negocio mediante un sistema de representacin del conocimiento. Por una parte, existe informacin sobre clientes, los cuales pueden ser empresas privadas, empresas pblicas o particulares (personas a ttulo individual), y empleados (auditores, consultores, nancieros). Por otro lado, esta multinacional ofrece dos tipos diferentes de producto, servicios y banca. Entre los servicios ofrece consultora (informtica, legal,... ) y auditora (nanciera, medioambiental,...). La banca incluye prstamos (personales, hipotecas) e inversiones en renta ja y variable (en bolsa, fondos de inversin,... ). Cada empleado tiene asignada una zona donde acta. Los clientes particulares tienen asociado un grado de abilidad entre 0 y 1 segn su solvencia. a ) Propn un sistema de representacin estructurada del conocimiento que permita gestionar todos los conceptos expuestos. Indica dos o tres atributos para cada concepto. Caracteriza el atributo zona de empleado. b) Un empleado puede realizar ofertas o ventas de productos. Caracteriza ambas relaciones entre empleado y producto. Incluye un demon que avise en caso de que un empleado que no sea nanciero pretenda vender un producto que sea de banca. c ) Cada empleado contacta con varios clientes para ofrecer productos. La empresa desea tener una medida del valor potencial de un cliente segn las ofertas que ha recibido. Dene un slot valor potencial que calcule el valor de un cliente a partir del nmero de ofertas que le han hecho. d ) Dene la relacin entre cliente y productos que compra. A partir de las relaciones denidas hasta ahora, caracteriza la relacin entre empleado y cliente. Es posible deducir la zona de un cliente a partir de la de un empleado por mecanismos de herencia? En caso armativo, modica la representacin adecuadamente. e ) Dene un mtodo que permita listar la abilidad media de los clientes particulares que han adquirido prstamos personales. Sita este mtodo adecuadamente. 15. Una empresa de parkings intel.ligents ens ha encarregat la modernitzaci del control automatic de cada un dels seus parkings, de manera que des duna cnsola externa, el client pugui demanar que li sigui aparcat o retornat el seu vehicle, entre altres serveis automtics. El director de lempresa ens informa que els parkings estan destinats a diversos tipus de vehicles: cotxes, furgonetes, motos i bicicletes. Per optimitzar lespai, els parkings disposen de places grans, mitjanes i petites. Cada una delles es localitza en un parking mitjanant un identicador. Una de les tasques que han de controlar els parkings es la gesti automtica de locupaci de les places. Per aquest motiu, han de coneixer quines places lliures estan destinades a la venda i quines al lloguer. Sespera que aquestes places passin a ser privades o contractades (mensualment o ocasionalment). Una vegada sha ocupat una plaa, sha de coneixer quin ser el preu de manteniment/lloguer que haur de pagar el seu ocupant per mes/hora. A ms a ms, cada parking ofereixen diferents tipus de serveis automatitzats als client, cada un dells a diferent preu: rentar, encerar, passar laspiradora, inar les rodes, etc. No obstant, degut a les limitacions dels robots, aquests serveis poden no haver estat realitzats satisfactoriament en opini dels clients. Amb motiu de millorar-los, el parking ha de coneixer si algn dels tipus de serveis es defectus. Com que el director de lempresa es molt exigent, un tipus de servei es considerat defectus si ha rebut alguna queixa. Es demana: a ) Representar el coneixement necessari per a aquesta aplicaci mitjanant frames. Assigna tres atributs a cadascun dels conceptes principals. Especicar totalment el slot preu. b) Especicar totalment les relacions entre plaa i parking, entre vehicle i plaa, i entre servei i vehicle. Especicar, tamb, la relaci entre servei i parking a partir de les anteriors.

70

Captulo 7. Representaci del Coneixement: Frames/Ontologies c ) Especicar el que sigui necessari perqu els parkings puguin comptabilitzar el total de gastos de cada vehicle ns el dia actual (plaa privada o llogada mensualment) o lhora actual (plaa llogada ocasionalment). Shaura de tenir en compte que el preu duna plaa es multiplica per 2 si es mitjana y per 3 si es gran. d ) Es vol controlar si un parking presenta algn defecte en els seus serveis. Quin mecanisme seria el ms adient? Perqu? e ) Especicar un metode amb un parmetre que imprimeixi la factura no desglosada dun vehicle (matricula, nom del propietari, total dels gastos). Especicar, tamb, un mtode que llisti totes les factures no desglosades dun parking. On els localitzaries? Son heretables ?

16. Una gran empresa multinacional desea organizar la informacin relativa a la gestin de los recursos informticos de su organizacin. La descripcin de su problemtica es la siguiente: La empresa cuenta con personal que utiliza y mantiene los diferentes recursos, este personal se puede clasicar en: usuarios (expertos o noveles), administradores de sistemas y personal de mantenimiento. El personal est organizado en departamentos (contabilidad, recursos humanos, investigacin y desarrollo, marketing, informtica, direccin), cada departamento tiene una ubicacin. Para organizar el parque informtico se piensa en contemplar una clasicacin segn el sistema operativo de la mquina (Windows, Unix, Mac/OS) y segn el uso que se hace (workstation, servidor, omtica). Estas mquinas proveen diferentes servicios, como por ejemplo servicios de Internet (servicio de web, de ftp) servicio de base de datos, servicio de almacenamiento, ... a ) Propn una representacin estructurada del dominio. Especica al menos tres atributos para cada uno de los conceptos principales y caracteriza completamente tres de ellos b) Las mquinas de la empresa se pueden asignar directamente a usuarios o a departamentos, en ambos casos el uso de la maquina es en exclusiva, caracteriza esta relacin. En el caso de mquinas asignadas a departamentos, estas pueden ser usadas por muchos usuarios, pero solo del departamento o solamente por el usuario asignado si esta asignada a un usuario en concreto, caracteriza esta relacin Que se le debe aadir a esta relacin para que sea coherente con la semntica que se pretende? Aade lo que sea necesario a la representacin para que se compruebe que una maquina no est asignada simultneamente a una persona y a un departamento. c ) Las mquinas estn ubicadas en el departamento en el que estn asignadas o en el departamento al que pertenece la persona que la tiene asignada. Aade a la representacin y/o modica lo necesario para que esta informacin se pueda obtener mediante el mecanismo de herencia. d ) Los servidores son proveedores de los diferentes servicios descritos, que son instalados por el personal de administracin. Aade lo necesario a la representacin para que se pueda obtener para una mquina especca la lista de las personas que han instalado los diferentes servicios que provee esa mquina. que diferencia habra respecto de usar un demon o un mtodo? y si quisiramos slo la informacin de un tipo de servicio concreto? e ) Supongamos que queremos obtener de la representacin un listado de todos los usuarios de cierto tipo que tienen una mquina con cierto sistema operativo, que le deberamos aadir a la representacin para que fuera posible? Caracteriza y/o programa el slot, demon o mtodo que sea necesario. 17. El Ministerio de Ciencia y Tecnologa desea organizar toda la informacin relativa a los proyectos de investigacin que nancia. El Ministerio distingue entre dos tipos de proyectos: investigacin orientada e investigacin no orientada. Los primeros, a su vez, se dividen en proyectos de investigacin bsica y proyectos de investigacin aplicada. En el caso de la investigacin aplicada hay dos modalidades: con participacin opcional de empresas y con participacin obligatoria de empresas. Los proyectos tienen un cdigo de identicacin, un ttulo, un presupuesto, unos objetivos, etc. Los proyectos pueden ser presentados por un nico grupo de investigacin (proyecto simple) o por varios (proyecto coordinado). Los proyectos coordinados constan de varios proyectos simples (los subproyectos), cada uno con un grupo de investigacin como responsable. Adems, uno de estos grupos ser el coordinador del proyecto coordinado.

71 Los participantes pueden ser Empresas y grupos de investigacin pertenecientes a Universidades, Centros pblicos/privados de investigacin, Centros pblicos/privados de I+D. Las empresas siempre tienen que participar en proyectos en colaboracin con grupos de investigacin. Las empresas no pueden actuar como coordinador de proyecto, salvo en el caso de los proyectos de investigacin aplicada con participacin obligatoria de empresas donde el coordinador ha de ser forzosamente una empresa. Cada grupo de investigacin cuenta con un investigador principal y varios investigadores colaboradores. Cada empresa cuenta con un representante y varias personas adscritas. Cada grupo y cada empresa tienen un cdigo de identicacin. a ) Propn una representacin estructurada del dominio. Asigna al menos tres atributos a cada uno de los conceptos principales. Caracteriza las relaciones entre proyecto coordinado y subproyectos, entre proyecto simple y participante responsable, entre proyecto coordinado y participante coordinador y entre persona y grupo de investigacin al que pertenece. Caracteriza completamente el slot cdigo de identicacin. b) Incorpora lo que sea necesario a las relaciones entre proyecto y participante responsable/coordinador que compruebe que el responsable HA de ser una empresa para el caso de proyectos de investigacin aplicada con participacin obligatoria de empresas y NO ha de serlo en cualquier otro caso. c ) Un proyecto de cualquier tipo se considera de alto nivel si el participante responsable lo es. Puedes establecer mediante mecanismos de herencia esta inferencia? En caso armativo, propnlos. En caso negativo, propn otro mecanismo para poder realizar la inferencia. d ) Un proyecto coordinado se considera conictivo si el nmero de participantes es superior a seis o bien si al menos tres de los participantes son empresas, sea cual sea el nmero total de participantes. Establece el mecanismo adecuado que permita consultar si un proyecto coordinado es conictivo o no. e ) Disea un mtodo con un parmetro que permita listar todos los proyectos de investigacin orientada que sean de un determinado tipo de los tres posibles. Por cada proyecto, hay que mostrar su cdigo, ttulo, presupuesto, participante responsable/coordinador, investigador principal (o representante) y, en el caso de los coordinados, la identicacin de todos los grupos/empresas participantes. Aade lo que sea necesario. Sita adecuadamente este mtodo. Es heredable? 18. La empresa de alquiler de vehculos Los mas guays desea incorporar un sistema de gestin del conocimiento para incrementar sus benecios. De momento quiere mantener informacin sobre sus vehculos en sus tres categoras: turismos (de ciudad, familiar, para grupos), furgonetas (con o sin conductor) y autocares (grande, minibs). La empresa tiene muchas sucursales, la mayora son de ciudad y algunas son especiales (por ejemplo, las ubicadas en aeropuertos). Tambin dispone de muchos empleados: directores de sucursal, personal administrativo, conductores, ... Dentro de la informacin a mantener es importante incluir la referida a los clientes, ya sea habituales o espordicos, para realizar campaas de promocin, estudios de mercado, ... Se pide: a ) Propn una representacin estructurada del conocimiento adecuada para este dominio. Asigna dos o tres atributos a cada frame principal y al menos uno a los dems. b) Caracteriza las siguientes relaciones: entre empleado y sucursal donde trabaja, entre vehculo y sucursal al que pertenece, entre vehculo y sucursal donde est fsicamente, entre cliente y vehculo que alquila. Un vehculo no es alquilable si su estado es en-taller. Aade lo necesario para que el sistema controle esta incidencia. c ) Cuando se alquila una furgoneta con conductor, debe expresarse esta informacin mediante una relacin, caracterzala. cmo caracterizaras la relacin entre cliente que la alquila y el conductor? d ) Los vehculos son especiales si pertenecen a sucursales especiales. Establece el mecanismo adecuado para que el sistema pueda inferirlo. e ) Una sucursal esta en-crisis si el 40 % o ms de sus coches estn en-taller. Establece el mecanismo adecuado para consultar el estado de una sucursal.

72

Captulo 7. Representaci del Coneixement: Frames/Ontologies f ) Dene un mtodo que permita listar todos los vehculos de una sucursal, indicando para cada uno de ellos el tipo (T,F,A), la matricula, su estado y el cdigo de identicacin de la sucursal donde est localizado o, alternativamente, el nombre de la persona que lo tiene alquilado. Dnde se ubica este mtodo? es heredable?

19. Una compaa de telefona dispone de una cartera de productos y de diferentes modalidades de contrato para ofertrselas a sus clientes. En concreto los productos que ofrece son telefona_ja, telefona_mvil, ADSL (con diferentes anchos de banda) e internet_mvil y las modalidades de contrato son: slo_consumo, mnimo+ %consumo y tarifa_plana (todo el da, slo en una franja horaria determinada y hay varias franjas horarias preestablecidas). Los clientes de la empresa en cuestin son particulares, autnomos y empresas y pueden contratar ms de un producto y con modalidades de contrato distintas. a ) Representa una red de frames que describa los conceptos ms relevantes que maneja la empresa. Aade 3 slots a los frames ms destacados. b) Dene completamente las relaciones que creas necesarias para que se pueda saber qu modalidades de contrato tienen los clientes, qu productos han contratado y qu modalidad de contrato tiene cada uno de los productos contratados. Es necesario que un cliente tenga contratada telefona_mvil para que pueda contratar internet_mvil. Fijado un cliente, un producto contratado por l no puede tener asociada ms de una modalidad de contrato activa (puede tener otras pero ya inactivas). Un cliente no puede cambiar la modalidad de contrato de un producto si no ha cumplido el periodo mnimo de permanencia de su modalidad de contrato anterior. Si se dan las condiciones para cambiar, entonces la modalidad de contrato anterior pasa a estar inactiva. Aade todo lo necesario para que se controle la satisfaccin de todas las restricciones anteriores. Para simplicar el problema podis suponer que pese a que varios clientes pueden tener contratado el mismo producto, a efectos prcticos podemos considerarlos como productos concretos diferentes, es decir, como instancias distintas del mismo producto. c ) Cuando ms de un 80 % de los clientes que tienen contratado el mismo tipo de producto comparten una modalidad de contrato dada, la empresa considera que esa modalidad tiene la categora de estrella. Dene lo necesario para averiguar si una modalidad es estrella para un producto y, en caso armativo, se listen todos los clientes que la tengan contratada. d ) El grado de satisfaccin de un cliente es una funcin que depende del nmero de cambios de modalidad de contrato y del tiempo de permanencia en cada uno de ellos. Describe, sin necesidad de implementar, el procedimiento que usaras para conocer el grado de satisfaccin de un cliente tiene sentido plantear la posibilidad de que una modalidad de contrato herede el grado de satisfaccin de los clientes que tengan esa modalidad de contrato? 20. Dado el inters que ha suscitado el mercado inmobiliario, el ministerio de hacienda ha decidido crear un sistema inteligente que le permita mantenerlo controlado. Para ello necesita representar el conocimiento que interviene. El mercado inmobiliario est compuesto por usuarios que tienen diferentes roles, nos encontramos con vendedores (que pueden ser promotoras, agencias inmobiliarias, particulares) y con compradores (que pueden ser agencias inmobiliarias, particulares, empresas). Los inmuebles que se pueden comprar y vender pueden ser viviendas (pisos, casas unifamiliares), locales, edicios, naves industriales, etc. Para la adquisicin de estos inmuebles por lo general hay que pedir crditos hipotecarios a inters jo o variable. Estos son concedidos por entidades nancieras, tanto bancos como cajas de ahorros. Se pide: a ) Propn una representacin estructurada del conocimiento adecuada para este dominio. Asigna dos o tres atributos a cada frame principal y al menos uno a los dems. Dene completamente los slots precio de venta en inmueble e inters en crdito hipotecario Hace falta un slot diferente para los diferentes tipos de crditos? b) Caracteriza la relacin solicita entre comprador y crdito hipotecario, la relacin estudia entre entidad nanciera y crdito hipotecario, la relacin concede entre entidad nanciera y crdito

73 hipotecario y la relacin hipotecado entre inmueble y crdito hipotecario. Aade y dene lo necesario para que no se pueda conceder un crdito que suponga ms del 80 % del valor del inmueble que se va a adquirir (explica todas las decisiones que tomes). c ) Cuando se adquiere un inmueble se ha de comprobar que ste no tenga alguna hipoteca pendiente. Aade y dene lo necesario para que no se pueda adquirir un inmueble si su poseedor tiene concedido un crdito que hipoteca el inmueble. d ) Dene el slot potentado que sea cierto cuando un particular posee inmuebles no hipotecados con un valor mayor a 3 millones de euros. e ) Un comprador se puede desgravar parte de lo que paga de hipoteca si sta supone ms de un 50 % del valor de compra de la vivienda. Dene un mtodo que permita a hacienda saber qu compradores pueden tener desgravacin, la entidad que ha concedido la hipoteca y la direccin del inmueble. Dnde se ubica el mtodo? Es heredable?

74

Captulo 7. Representaci del Coneixement: Frames/Ontologies

8. Sistemes Basats en el coneixement: Enginyeria del Coneixement

1. Para los siguientes problemas indica si son problemas de sntesis o de anlisis justicando tu respuesta: Determinar la mejor ubicacin para un hospital dentro de una ciudad dadas un conjunto de posibles ubicaciones y sus caractersticas. Determinar la mejor forma de asignar los horarios del personal de ambulancias de una red de hospitales para que se puedan atender un mnimo de urgencias optimizando los desplazamientos de las ambulancias. Determinar para una lista de operaciones quirrgicas a realizar y una lista de mdicos y personal de quirfano, en qu orden se han de realizar las operaciones y qu personal ha de intervenir, dadas las restricciones de horarios de quirfanos y la urgencia de las intervenciones. 2. El departamento de planicacin urbana de la ciudad de Urbpolis ha decidido utilizar un SBC para la planicacin de los diferentes elementos de la ciudad. Para este departamento la ciudad est compuesta por unidades urbanas de tres tipos distintos. El primer tipo son las unidades comerciales que pueden corresponder a comercios mayoristas o comercios minoristas. El segundo tipo son las unidades de servicio al ciudadano tales como colegios pblicos, bibliotecas, zonas verdes, polideportivos, hospitales, centros de asistencia primaria, plazas pblicas, farmacias y ocinas de servicios pblicos. Finalmente, el tercer tipo son las unidades residenciales que pueden corresponder a viviendas unifamiliares, edicios de pisos y manzanas de viviendas. Las unidades urbanas se pueden ubicar en espacios. Hay espacios de dos tipos. El primero son los solares que pueden clasicarse en bloques (capacidad para un solo edicio), manzanas (capacidad para varios edicios) y grandes reas (capacidad para grandes instalaciones). El segundo tipo son los locales. El departamento de planicacin tiene la informacin de todos los espacios que existen en la ciudad. Tambin dispone de la informacin de qu espacios estn vacantes en la actualidad y qu unidades urbanas se han asignado a los espacios ya ocupados. A cada espacio solo se le puede asociar una unidad urbana. Las unidades urbanas se encuentran dentro de barrios, que es la divisin ms na en la que el ayuntamiento agrupa las zonas de la ciudad. El barrio tiene informacin sobre su poblacin, incluyendo su distribucin por edades (nios, adultos, ancianos). Los barrios a su vez estn agrupados en distritos. Otro elemento de la ciudad son las vas. Estas se pueden clasicar en grandes vas, avenidas, vas uidas y vas comunes. Todo espacio tiene una serie de vas con las que est relacionado (aquellas que lo bordean y/o cruzan). Cada va tiene informacin de la cantidad de coches por minuto que la recorren. Estas vas estarn relacionadas tambin con barrios y distritos. A) Preguntas de Ontologas/Frames a ) Propn una representacin estructurada del dominio descrito e identica los atributos ms relevantes. b) Dene todas las relaciones de usuario que consideres necesarias y, en particular, especica ubicado_en entre unidad urbana y espacio, situado_en entre espacio y barrio, relacionado_con entre espacio y va. c ) Propn e implementa un mecanismo adecuado para obtener el total de la poblacin infantil en la ciudad. d ) Dene todo lo necesario para determinar a qu distrito pertenece una unidad urbana y a qu barrios pertenece una va Es posible asociar nmeros de distrito a barrios y vas usando el mecanismo de herencia? Justica tu respuesta. 75

76

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement e ) Dene lo necesario para obtener un listado de todos los espacios vacantes de la ciudad y de todos los ocupados indicando qu uso se les ha asignado. f ) Dene lo necesario para obtener la relacin de todas las unidades urbanas de un tipo dado ubicadas en un distrito. B) Preguntas de IC a ) El primer objetivo del departamento de planicacin es hacer una clasicacin de los espacios vacantes de manera que se pueda tener un catlogo que indique qu tipos de usos son adecuados para cada una de ellos. Suponemos que a cada espacio solo se le puede asociar una unidad urbana. Por el conocimiento de los ingenieros urbansticos, se sabe que las unidades comerciales solo pueden ser ubicadas en locales. Lo mismo sucede con las ocinas de servicios pblicos y farmacias que solo pueden ubicarse en locales. Las bibliotecas se pueden colocar en locales si la poblacin del barrio no es muy grande o ya existen otras bibliotecas en el barrio. En caso contrario se ubican en bloques. Respecto a las unidades residenciales, las viviendas unifamiliares y los edicios de pisos solo se pueden ubicar en bloques y las manzanas de viviendas solo se pueden ubicar en manzanas. Para el resto unidades de servicio al ciudadano, los colegios, centros de asistencia primaria y plazas solo pueden ubicarse en manzanas y los polideportivos y parques solo pueden hacerlo en grandes reas. Para decidir el uso de un espacio se tienen en cuenta adems otras caractersticas de la zona donde est ubicado ese espacio. Por ejemplo, se tiene en cuenta la densidad de poblacin del barrio (alta, media, baja ) globalmente o por tipos de poblacin. Tambin se estima la densidad del trco del barrio (alta, media, baja ) respecto al nmero de vas que pasan por l y su densidad. Tambin se tienen en cuenta las diferentes proximidades (al lado, cerca, media, lejos ) de las unidades urbanas ya ubicadas en los espacios, tanto a nivel de barrio como a nivel de distrito. Finalmente tambin se tienen en cuenta el tipo de vas con las que est relacionado el espacio y la densidad de su trco. Por ejemplo, los colegios se deben ubicar en zonas de alta densidad de poblacin infantil, donde haya al menos cerca bibliotecas y zonas verdes como mximo a media distancia del colegio. La densidad del trco de las vas cercanas ha de ser baja. Todo colegio debe estar a distancia media o lejos de cualquier otro colegio. Los centros de asistencia primaria deben ubicarse preferiblemente en zonas de alta densidad de poblacin infantil y/o anciana, cerca de alguna farmacia, con una densidad de trco alrededor media, cerca de alguna va uida y a una distancia lejos de otros centros de asistencia primaria. El problema que se plantea es un problema de anlisis y se puede resolver mediante clasicacin heurstica. Determina cmo se ubicaran los pasos de resolucin de este problema en cada una de las fases de esta metodologa. Da diferentes ejemplos de reglas para cada una de las fases que muestren como se llegara a asociar un colegio a un espacio. b) Una alternativa para representar el conocimiento de los ingenieros y las normas urbansticas que permite obtener una propuesta de usos de los espacios vacantes son las redes bayesianas. Como ya se ha mencionado en el apartado anterior, en una manzana podra por ejemplo ubicarse una manzana de viviendas, un colegio, una plaza o un centro de asistencia primaria. Adicionalmente las evidencias recolectadas pueden hacer que alguno de los usos tenga ms fuerza que otros. La red bayesiana permitira representar el proceso de asignacin de unidades y sus pesos. Comenta cmo modelaras el problema con una red bayesiana (qu escogeras como nodos, qu valores tendran y qu dependencias habra entre los nodos) y da un ejemplo simple de red bayesiana para ilustrarlo. c ) Determinar los posibles usos de cada uno de los espacios solo es el primer paso del proceso que sigue el departamento de planicacin. El siguiente paso es encontrar la mejor forma de ocuparlos. En el caso particular de las unidades de inters ciudadano, se ha de tener en cuenta las unidades

77 urbanas de ese tipo ya existentes, las diferentes restricciones de ubicacin que impone el propio departamento y los recursos de que se disponen. La ciudad determina que debe haber al menos un centro de atencin primaria por barrio, pero no ms de diez por distrito. Los centros de atencin primaria han de estar lo ms lejos posible entre si dentro del barrio. Debe haber al menos dos farmacias cercanas a cada centro de atencin primaria, pero las farmacias del barrio deben estar a una distancia media entre ellas. Debe haber al menos un hospital por distrito y deben estar a distancia media de los centros de atencin primaria. Debe haber un colegio en un barrio por cada 300 nios, pero ste debe estar a una distancia media de otros colegios del barrio y debe estar cerca de al menos dos bibliotecas y al menos tres plazas en el barrio. Debe haber a distancia media del colegio al menos una zona verde y un polideportivo en el barrio. El barrio debe tener al menos una zona verde y un polideportivo pero las reas verdes y polideportivos de cada barrio deben estar a distancia lejana ente s. Cada barrio debe tener al menos 5 plazas que deben estar a distancia media entre s pero no ms de 30 por distrito. No debe haber grandes vas cerca de colegios, zonas verdes o polideportivos. Las ocinas de atencin ciudadana deben estar cerca entre si en el barrio y no debe haber ms de 5 por barrio. Debe haber como mnimo una biblioteca por barrio y debe estar cerca de alguna ocina de atencin ciudadana. Este problema se puede plantear como un problema de satisfaccin de restricciones. Explica cmo se puede resolver con este enfoque. Identica las variables adecuadas, sus dominios, los diferentes tipos de restricciones entre variables que se necesitan y la estructura de la red de restricciones. Justica tus respuestas. 3. El siguiente problema es un problema de anlisis: Una labor de los equipos mdicos de urgencias en situaciones de emergencia es determinar la prioridad con la que se ha de tratar a los pacientes. Este proceso es denominado triage. Los mdicos estn entrenados para analizar el estado del paciente y clasicarlo en tres grupos: Situacin vital, grave pero no vital y heridas menores. Para realizar esta clasicacin se utilizan diferentes criterios, pero podramos reducirlos a tres: cardiovasculares, traumatismos y respiratorios. Cada uno de estos incluye toda una serie de sintomas, como por ejemplo, paro cardaco, arritmias, tensin arterial, ... para los cardiovasculares, hemorragias, heridas abiertas, cortes, fracturas, ... para traumatismos, obstruccin de vas, perforacin pulmonar, colapso pulmonar, ritmo respiratorio, ... para respiratorios Explica cmo lo resolveras usando clasicacin heurstica. Da algn ejemplo de regla para cada una de las fases de esta metodologa. 4. La FIB desea construir un sistema de recomendacin capaz de proponer un conjunto de asignaturas de las que matricularse que se ajuste a las preferencias del alumno, su historial acadmico y sus restricciones (horarias, de perl profesional, de dedicacin, ...) La FIB dispone para cada alumno de su expediente acadmico, que guarda cada convocatoria de examen a la que se ha presentado, con la asignatura, el cuatrimestre, el horario en el que se realiz y su calicacin. Para cada asignatura tiene su nmero de crditos ECTS, su distribucin segn teora, problemas y laboratorio y la carga de horas total de trabajo por cada uno de estos conceptos. Tambin se tiene si es obligatoria, optativa o de libre eleccin, si es de proyecto, el curso en el que esta ubicada en el plan de estudios, sus prerrequistos, los temas en los que puede ubicarse, si tiene horarios de maana y tarde o solo de maana o de tarde. Como informacin adicional se tiene tambin el nmero de personas matriculadas el cuatrimestre anterior y el porcentaje de aprobados. Los temas estn clasicados segn si son generales (programacin, ingeniera de software, bases de datos, redes, arquitectura de computadores, matemticas, fsica, ... ), especializados (lenguajes de programacin, inteligencia articial, clculo numrico, grcos, investigacin operativa, tratamiento de datos, geometra computacional, lgica, ...) o no informticos (ldicas, culturales, divulgacin cientca,

78

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement ...). Para cada tema especializado se sabe qu otros temas le son anes, por ejemplo, la gente interesada en inteligencia articial puede interesarse por el tratamiento de datos o la lgica, o la gente interesada en los grcos puede interesarle la geometra computacional. Se dispone tambin de los perles profesionales denidos por la facultad y los temas especializados que estn incluidos en cada uno. Los alumnos pueden indicar algunas de una serie de restricciones como son el nmero mximo de asignaturas a matricularse, nmero mximo de horas de dedicacin esperadas, nmero mximo de horas de dedicacin a prcticas de laboratorio aceptable, tipo de horarios (indiferente, solo maana o solo tarde), temas especializados en los que puede estar interesado, inters por completar un perl, dicultad global aceptable de las asignaturas (todas fciles, todas difciles, equilibrado), ... Como el alumno no tiene por que introducir todas estas restricciones, se pueden complementar/obtener mediante un proceso de anlisis y razonamiento sobre el expediente del alumno (nmero de asignaturas matriculadas por curso, temas de las asignaturas cursadas, cumplimiento de perles, xito en las asignaturas segn su dicultad, ...), la normativa acadmica de la facultad (nmero mximo de asignaturas/crditos que pueden matricularse, ...), recomendaciones de sentido comn en este dominio (cubrir el perl ms completo, no matricularse de muchas asignaturas de proyecto, tener el mismo tipo de horario que el cuatrimestre pasado, ...). El sistema debe generar varias recomendaciones de matricula cada una con un conjunto de propuestas de asignatura. Estas deben respetar las restricciones indicadas por el alumno y las que haya obtenido el sistema del anlisis de su expediente. a ) Identica y enumera qu conceptos forman los datos de entrada y la solucin del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos mas relevantes y sus relaciones, tanto las taxonmicas, como las no taxonmicas que creas que son necesarias. b) Hemos identicado dos problemas. El primero ser un problema de anlisis que deber determinar para cada asignatura si se le puede recomendar o no a un alumno segn sus caractersticas. Para una asignatura recomendable distinguiremos tres grados (alto, bajo, medio) dependiendo de lo bien que consideramos que encaja con las caractersticas/necesidades del alumno. Para hacer la asociacin entre alumno y asignatura hemos determinado un conjunto de caractersticas que hemos de abstraer de la informacin del alumno con una serie de valores, por ejemplo: Dicultad que puede asumir (alta, media), volumen de trabajo que puede asumir (alto, medio, bajo), intereses temticos (lista de temas), perl principal (nombre de perl), inters en perl (ninguno, medio, alto), tiempo de dedicacin (alto, medio, bajo), ... Ubica los pasos necesarios para resolver el problema en las fases de la metodologa de clasicacin heurstica y da ejemplos ilustrativos de reglas para cada fase. Crees que se podra hacer la fase de asociacin heurstica mediante redes bayesianas? qu se necesitara? modicara la forma de determinar los grados de recomendacin de una asignatura? c ) El segundo problema es la construccin de las recomendaciones de matricula. Es un problema de sntesis que podramos resolver mediante proponer y aplicar. Dene un conjunto de operadores que permitan resolver el problema indicando qu haran, las restricciones globales y especcas que deberan tener en cuenta para aplicarse y los criterios de evaluacin que determinan la bondad de cada operador y de la solucin. 5. La huelga de guionistas en EEUU ha abierto la puerta a los guiones generados por ordenador, asi que se nos ha planteado la posibilidad de disear un SBC capaz de generar el esquema del guin de episodios de series de televisin. Una serie tiene personajes, unos sern los protagonistas y otros los personajes secundarios. Cada personaje tendr una serie de caractersticas, como por ejemplo una personalidad, una clase social, si es bueno o malo, ... Tendremos un conjunto de temticas sobre las que podremos generar guiones como por ejemplo cienciaccin, accin, drama familiar, comedia de situacin, ...

79 El esquema del guin lo basaremos en secuencias ordenadas de estados por los que pasar cada personaje. Estos estados podrn ser emocionales (triste, alegre, enamorado, enfadado, ...) o fsicos (peligro, hambre, herido, muerto, viaje). Esta secuencia de estados la determinaremos a partir del tipo de serie que queramos crear y las caractersticas de los personajes principales que intervienen. El esquema propiamente dicho del guin ser una secuencia ordenada de escenas. Estas escenas las clasicaremos en dramticas (por ejemplo un rescate), humorsticas (un personaje le gasta una broma a otro), accin (una pelea), cotidianas (una familia desayunando), ... Una escena tendr una duracin asociada. Cada escena estar asociada al conjunto de estados necesarios para aplicarla. Una escena tambin tendr asociados unos roles que indican qu personajes han de intervenir en la escena, los roles pueden ser por ejemplo iniciador, participante, receptor, ... Cada personaje estar asociado a una escena a travs de un rol. El objetivo del SBC es crear el guin un episodio con una duracin lo mas cercana posible a una dada, pero siempre inferior. Como datos de entrada nos indicarn qu personajes principales aparecen, cuales son sus caractersticas, la temtica de la serie y detalles sobre la ambientacin, como por ejemplo la poca, el lugar, ... El episodio se compondr de una serie de escenas y los personajes que intervienen en cada una de ellas. Todos los personajes principales tendrn que aparecer en algn momento y tendremos que determinar qu personajes secundarios hacen falta, con la restriccin de que deberemos aadir el mnimo posible ya que los actores son caros. a ) Identica todos los conceptos que forman parte del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos mas relevantes y las relaciones tanto taxonmicas como no taxonmicas que creas que son necesarias. b) Hemos decidido que el primer subproblema a resolver es el determinar los estados por los que pasar cada personaje. Para hacer mas sencillo el problema hemos escogido un conjunto nito de secuencias de estados tpicas y una serie de caractersticas propias que las describen. Lo que queremos es asignar una de ellas a cada personaje principal dependiendo de la informacin de entrada del problema. Estas secuencias se podra renar con algunas caractersticas especcas de los personajes o de la serie. Por ejemplo, podramos denir la secuencia torbellino emocional genrico que correspondera a la secuencia de estados (triste, enamorado, alegre, engaado, (triste o vengativo)) que podramos describir por las caractersticas (soporta estrs = si, fortaleza emocional = si, fortaleza fsica = indenida, aspecto fsico = normal), donde se poda denir la eleccin sobre el ltimo estado dependiendo por ejemplo de si el personaje es bueno o malo. Este planteamiento encaja con el mtodo de clasicacin heurstica. Explica lo que se debera hacer en cada una de las fases de esta metodologa para resolver el problema tal como se ha explicado. Pon ejemplos sencillos de reglas para cada fase. c ) El segundo subproblema consiste en construir la secuencia de escenas que encajen lo mejor posible con los estados por los que han de pasar los personajes principales (los estados que no se puedan encajar deberan corresponder a personajes secundarios) y determinar los personajes necesarios para cada escena. ste es un problema de sntesis que podramos resolver mediante proponer y aplicar. Dene un conjunto de operadores que permitan resolver el problema, indicando que haran, las restricciones globales y especcas que deberan tenerse en cuenta para aplicarse y los criterios de evaluacin que determinan la bondad de cada operador. 6. Una compaa area desea organizar las asignaciones de puestos que han de desempear sus empleados de manera que se puedan cubrir todos los puestos que necesitan para atender los vuelos de la compaa que llegan y salen de un aeropuerto concreto. El personal de que dispone la compaa se puede clasicar en personal de vuelo y personal de tierra. Para el personal de vuelo hay puestos de piloto y auxiliar de vuelo. Para el personal de tierra hay puestos en facturacin de equipajes, venta de billetes, atencin al cliente, embarque y reclamacin de equipajes. Cualquier persona del personal de tierra puede ocupar cualquiera de los puestos posibles.

80

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Por razones evidentes no ocurre lo mismo con el personal de vuelo. Para el personal de tierra cada puesto se asigna a una persona durante una semana en cualquiera de los tres horarios de trabajo (maana, tarde y noche). El personal de vuelo es mvil, ya que se desplaza en los vuelos y por lo tanto slo puede ser asignado a un nuevo vuelo cuando ha regresado del ultimo. Los puestos de tierra estn asignados a las diferentes terminales del aeropuerto. En cada terminal hay facturacin de equipajes, embarque y atencin al cliente, pero solo hay venta de billetes y reclamacin de equipajes en una terminal. Para poder hacer la asignacin de personal nos har falta cierta informacin para cada persona como por ejemplo cual fue el ltimo puesto que ocup, cundo lo hizo, en qu horario, etc. La compaa ha de cubrir un nmero especco de puestos, tanto para vuelos como en tierra. Esta asignacin deber cumplir tambin ciertas restricciones, como por ejemplo que el personal de tierra no pase ms de dos semanas en el mismo puesto, salvo si est en reclamacin de equipajes, puesto en el que nadie puede estar ms de una semana seguida en un mes. Tampoco puede pasar una persona ms de un mes en el mismo horario. El personal de vuelo no puede realizar ms de un vuelo internacional al mes y no debe ser asignado a ms de 7 vuelos al mes. El objetivo es construir un sistema capaz de obtener una asignacin de personas a puestos en el aeropuerto durante un mes para cada uno de los horarios cumpliendo las restricciones comentadas. a ) Identica qu conceptos, caractersticas, objetivos y soluciones forman el problema. Representa grcamente los conceptos que has identicado mediante una red de frames y sus relaciones taxonmicas. Incluye en cada concepto al menos dos atributos que sean necesarios para su descripcin. Describe completamente mediante el lenguaje de representacin de frames vista en clase al menos tres relaciones entre los conceptos que has representado. Indica qu demons podran ser necesarios en la representacin y qu comprobaran (no hace falta que los implementes). b) El problema que se pretende resolver es un problema de anlisis o de sntesis? Porqu? c ) Si lo implementramos mediante un sistema de produccin que tipo de razonamiento te parecera el ms adecuado para resolverlo? Porqu? d ) Como descompondras la solucin del problema? Identica y especica los subproblemas a resolver y como se encadenaran para construir la solucin. Indica si los subproblemas se corresponden con alguna de las metodologas de resolucin de problemas que conoces. Escribe para cada problema que identiques algn ejemplo de las reglas de produccin que haran falta para resolverlo. 7. La compaa de traslados Move-a-ton quiere desarrollar una herramienta capaz de asesorar a sus clientes respecto a cual es la forma ms adecuada de trasladar sus pertenencias de su lugar actual al destino del traslado. Esta compaa es capaz de realizar diferentes tipos de traslados de contenido desde diferentes tipos de ubicaciones, ya sean viviendas, tanto pisos como casas unifamiliares, como ocinas, ya sea un planta de ocinas o un edicio completo de ocinas. El lugar de traslado se compone de habitculos, que se pueden clasicar, si son de viviendas, en dormitorio, saln, cocina y bao, o si son de ocinas en ocina, sala de reuniones, habitacin de material y habitacin multiusos. Respecto a la ubicacin del traslado, es importante saber si tiene ascensor o solo hay un acceso de escaleras. Tambin son importantes los accesos al lugar, por ejemplo saber si est junto a una calle con poco traco, o si no se puede cargar delante del edicio sin cortar el trco. Respecto a las cosas a trasladar, se puede estimar el volumen a partir del nmero de habitculos que tiene el lugar y las caractersticas y nmero de los objetos que contienen (muebles desmontables, muebles no desmontables, objetos de pequeo tamao, objetos voluminosos, objetos frgiles). Los muebles no desmontables y los objetos voluminosos no se pueden empaquetar y se debe indicar su peso y su dimensin ms larga. Los muebles desmontables y los objetos pequeos se pueden empaquetar y se conoce el volumen aproximado que ocupan empaquetados. Para los objetos frgiles se indica si se pueden empaquetar o no (indicando el volumen en el caso de que sean empaquetables) y si hace falta personal especializado para trasladarlos.

81 La empresa dispone de diferentes medios de traslado (camiones grandes, furgonetas, contenedores de tren) y personal para realizar el traslado (empaquetadores, cargadores, desmontadores, personal especializado). Un traslado se compone de un conjunto de medios de traslado y el personal necesario. A) Preguntas de Frames a ) Propn una representacin estructurada del dominio descrito e identica los atributos ms relevantes. Dene completamente el atributo empaquetable? en objeto, indica si las subclases tienen alguna particularidad respecto a este slot. b) Dene las relaciones formado_por entre ubicaciones y habitculos, la relacin contiene entre habitculo y objeto y la relacin traslada entre personal y ubicacin. c ) Dene el slot gra? en ubicacin que sea cierto si hay un objeto no empaquetable que tiene una dimensin mayor de 3 metros o un peso mayor a 100 Kg. d ) Implementa un mtodo que calcule el volumen total de todos los objetos empaquetables en una ubicacin. Donde habra que ubicar este mtodo? e ) Podramos denir el slot empaquetable? en habitculo de manera que utilizara herencia para que fuera cierto si todos los objetos que hay en el habitculo son empaquetables? Si no se puede, dene lo que sea necesario para tener ese slot con la semntica indicada. B) Preguntas de SBCs a ) Para poder obtener la recomendacin del traslado el usuario indica tambin cual es la distancia al lugar del traslado, cual es el tiempo mximo de carga y descarga de los objetos a trasladar (en horas) y el precio mximo que quiere pagar por el traslado. A partir de esta informacin y de las caractersticas de los objetos que hay que trasladar, el tipo de ubicacin y las caractersticas de los accesos se quiere obtener una solucin que indique si el traslado debe hacerse mediante camiones grandes y/o furgonetas y cuntas hacen falta de cada tipo, si se ha de utilizar tambin el tren y el tipo de personal que es necesario y el nmero aproximado de personas de cada tipo. Se ha determinado que este es un problema de anlisis y para solucionarlo se han de abstraer ciertas caractersticas de los datos del problema. Hay caractersticas que son sencillas de abstraer, como por ejemplo el tipo de traslado: local (menos de 10 Km), regional (menos de 100 Km) o larga distancia; o el presupuesto: bajo (menos de 1000 euros), medio (menos de 3000 euros) o alto; o la duracin del traslado: corta (menos de 5 horas), media (menos de 10 horas), larga. Otras requieren cierto razonamiento, como la complejidad del traslado: sencilla en la que la mayor parte de los objetos se pueden empaquetar, no hay que desmontar muchos muebles y no hay objetos voluminosos y frgiles, normal en la que hay que hacer bastante desmontaje, hay algunos objetos voluminosos pero no se necesitan gras y hay algunos objetos frgiles y difcil en la que se necesitan gras y hay bastantes objetos frgiles; el volumen del traslado: pequeo si el nmero de habitculos es inferior a 5 y no hay objetos voluminosos o muebles no desmontables, medio si es una casa unifamiliar o una planta de ocinas y hay pocos objetos no desmontables, grande si es una planta de ocinas y hay bastantes objetos no desmontables, extremo si es un edicio de ocinas o hay una gran cantidad de objetos no desmontables; la accesibilidad del traslado: accesible si se pueden ubicar los medios de traslado cerca de la ubicacin y hay ascensor, medianamente accesible si hay ascensor, pero no caben todos los objetos voluminosos, poco accesible si no se pueden ubicar los medios de traslado cerca de la ubicacin y el ascensor no se puede utilizar para la mayor parte de los objetos voluminosos. A partir de estas caractersticas podemos decidir qu tipo de medios de traslado necesitamos y los tipos de personal, por ejemplo para un traslado de volumen grande harn falta camiones, si el traslado es de larga distancia y de volumen grande har falta usar el tren, si la ubicacin es poco accesible es mejor usar furgonetas, ... Si la complejidad del traslado es difcil y es de volumen grande harn falta empaquetadores, cargadores y desmontadores, si el volumen es pequeo con cargadores podra haber suciente, ...

82

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement El nmero especco de medios de traslado y personal de cada tipo se puede obtener tambin razonando a partir de las caractersticas denidas, por ejemplo a mayor volumen ms personal ser necesario, a ms objetos frgiles o voluminosos ms cargadores y personal especializado har falta, si la duracin del traslado ha de ser corta se habr de incrementar el personal, ... El problema que se plantea es un problema de anlisis y se puede resolver mediante clasicacin heurstica. Determina cmo se ubicaran los pasos de resolucin de este problema en cada una de las fases de esta metodologa. Da diferentes ejemplos de reglas relevantes para cada una de las fases. b) La parte de asociacin heurstica se podra resolver mediante el formalismo de redes bayesianas. Las caractersticas de una solucin se podran denir de manera que se obtuvieran una serie de valores a partir de los cuales se pudiera hacer mejor la especializacin. Por ejemplo se podra denir la necesidad de camiones grandes o furgonetas en tres valores ninguno o uno, dos o tres y ms de tres, y las necesidades de los diferentes tipos de personal (empaquetadores, cargadores, desmontadores, personal especializado) en ninguno, hasta 5 personas, hasta 10 personas y ms de 10 personas. Comenta cmo modelaras el problema con una red bayesiana (qu escogeras como nodos, qu valores tendran y qu dependencias habra entre los nodos) y da un ejemplo simple de red bayesiana para un subconjunto de las variables para ilustrarlo. Qu ventajas tendra resolver la asociacin heurstica de esta manera? 8. El restaurant Aprota-ho s un restaurant de prestigi internacional. Sha guanyat el seu prestigi perqu elabora els seus plats tenint en compte les preferncies del client i els ingredients dels que disposa. Aix doncs, els mens resultants sn al gust del client. el xef t en compte si el client prefereix la carn crua o cuita, si li a grada el peix, si s vegetari, si li agraden les verdures poc cuites, si li agraden les amanides, si prefereix les amanides a linici o al nal, si li agrada la barreja entre dol i salat, etc. Tamb t en compte els ingredients dels que disposa: ous, pollastre, conill, enciam, endvies, col, patates, llobarro, rap, calamars, tomquet, ceba, alls, etc. Amb tota aquesta informaci, elabora els plats i confecciona el men ms adient per al client. El xef pertany a la nova fornada de cuiners tecncrates, i est fora convenut de que es pot informatitzar el procs delaboraci dels plats i confecci del men. Encara ms, creu que podra ser til un sistema expert, segons el que va apendre en un curs de postgrau en Intelligencia Articial que va fer a la UPC. Responeu a les segents qestions: a ) Identica qu conceptes forman les dades dentrada del problema. Representa grcament aquests conceptes mitjanant una xarxa de frames inclouent els atributs mes relevants i les relacions, tant les taxonmiques como les no taxonmiques que creguis que son necessaries. b) Identica els conceptes que forman la soluci del problema. Representa grcament aquests conceptes mitjanant una xarxa de frames i les relacions, tant les taxonmiques, como les no taxonmiques, que creguis que son necessaries. c ) Com descompondries el problema en subproblemes? Identica i especica els subproblemes a resoldre i com sencadenarien per construir la soluci. d ) Indica per cada subproblema que has identicat si es un problema danlisis o de sntesi. Justicaho. e ) Quin tipus de raonament et sembla mes adequat para cada subproblema? Justica-ho. 9. A muchas empresas de consultora les encantara tener un sistema experto capaz de realizar los informes que muchas empresas les solicitan sobre cmo informatizarse. No se trata de un problema sencillo, pues hay que tener en cuenta bastantes factores sobre las necesidades de la empresa, su actividad, su presupuesto, etc. Soluciones informticas hay muchas dependiendo de esos factores, pero por lo general se suele acotar bastante a partir de la experiencia y de las soluciones ms o menos precocinadas que ya existen en el mercado (Muchas veces las propias consultoras tienen bastante delidad a una serie de productos que ya han recomendado con xito).

83 El problema consiste en analizar el dominio propuesto (decidir las necesidades informticas de una empresa) y reexionar en cmo se debera construir un SBC que fuera capaz de evaluar la informacin que viene de la empresa y aconsejar la solucin informtica que necesitan a grandes rasgos, sin entrar en detalles concretos. Informacin que se podra tener en cuenta sobre una empresa es por ejemplo: actividad, necesidad de relacionarse con otras empresas, tamao de la empresa, necesidad de comunicacin interna, comparticin de recursos, presupuesto del que disponen, proyeccin de futuro. Todas estas caractersticas y restricciones apuntarn a soluciones informticas parciales que deberan coordinarse: nmero de ordenadores, potencia de estos, necesidad de servidor de cheros, tipo de red, comunicaciones externas. Por ejemplo, si al sistema se le presenta una empresa con un tamao medio (unos 50 empleados) que se dedica a la venta de material de construccin que tiene un presupuesto razonable, con una previsin de crecimiento grande, que deseara mantener control de sus actividades (stock, ventas, proveedores, clientes), que desea tambin una comunicacin gil con sus proveedores que tambin estn informatizados, pero que las tareas burocrticas (cartas, facturas, pedidos a proveedores, redaccin de contratos) las desarrollan pocas personas ya que la mayora de su plantilla son representantes, se le podra presentar una solucin basada en un ordenador central para todo el control del negocio con una capacidad de almacenamiento grande al que se pudieran conectar terminales y un nmero no muy grande de ordenadores de sobremesa para las labores burocrticas con impresoras, un nmero de ordenadores porttiles para los representantes con capacidad para conectarse a la central y un sistema de comunicaciones que permita conectarse a los representantes y realizar pedidos electrnicos a los proveedores. La necesidad de comunicaciones internas no existira. La posibilidad de ampliacin de la capacidad de la mquina central y de comunicacin externa debera asegurarse para no comprometer un probable crecimiento del negocio. Una vez reexionado sobre el problema planteado hay que responder a estas preguntas, justicando las decisiones que se toman: a ) Identica qu conceptos forman los datos de entrada del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos ms relevantes y las relaciones, tanto las taxonmicas como las no taxonmicas que creas que son necesarias. b) Identica los conceptos que forman la solucin del problema. Representa grcamente estos conceptos mediante una red de frames y las relaciones, tanto las taxonmicas, como las no taxonmicas, que creas que son necesarias. c ) Cmo descompondras el problema en subproblemas? Identica y especica los subproblemas a resolver y cmo se encadenaran para construir la solucin. d ) Indica para cada subproblema que has identicado si es un problema de anlisis o de sntesis. Justifcalo. e ) Qu tipo de razonamiento te parece ms adecuado para cada subproblema? Justifcalo. 10. El elegir una tarifa de telefona mvil es una tarea realmente complicada dado el gran nmero de diferentes tarifas que las compaas ofrecen. Para facilitarlo la asociacin de consumidores quiere desarrollar un sistema que permita recomendar la ms adecuada a cada usuario. Para desarrollar el sistema hemos determinado que podemos caracterizar a un usuario a partir de una serie de informaciones sobre su uso mensual del mvil, como por ejemplo cuantas llamadas son a amigos y familiares, cuantas son por trabajo y cual es ms o menos la duracin de cada tipo, cuantas llamadas hace en horario de maana, tarde y noche, cuantas llamadas hace en das laborables y cuantas en n de semana, cuantos mensajes enva, a cuantas compaas diferentes son sus llamadas, cuantas tarifas diferentes de mvil ha tenido en los ltimos tres aos, ... A partir de esta informacin se puede elaborar un perl de las caractersticas del usuario basndonos en un conjunto de atributos: perl particular (bajo, medio, alto), perl laboral (bajo, medio, alto), uso (bajo, moderado, alto, intensivo), tipo de llamada (contacto, conversacin), mensajera (bajo, medio, alto), exibilidad horaria (baja, media, alta), destinos (uno, cualquiera), delidad (alta, baja).

84

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Las diferentes tarifas de mvil tambin se pueden describir mediante una serie de caractersticas que nos permitirn identicar mejor que conjunto de tarifas son las ms adecuadas para el usuario. Una tarifa puede ser descrita por su cuota mensual (ninguna, baja, media, alta), la exigencia de un consumo mnimo (no, bajo, medio, alto), el coste de establecimiento de llamada (ninguno, bajo, medio, alto), el coste de la llamada por minuto al operador (ninguno, bajo, medio, alto), el coste por minuto a otros operadores (ninguno, bajo, medio, alto), descuento por volumen de llamadas (si, no), minutos de llamada incluidos en la cuota mensual (medio, alto, muy alto), exibilidad de horario con coste reducido (ninguna, baja, media, alta), nmero mximo de destinos (bajo, medio, alto), coste de los mensajes (bajo, medio, alto), exigencia de permanencia (alta, media, baja). A partir del perl del usuario podemos asociar los valores de las caractersticas de la tarifa ms adecuada, por ejemplo, si el perl particular del usuario es alto y hace un uso alto, puede convenirle una tarifa que tenga una exigencia de consumo mnimo alta y que tenga una cuota mensual media. Si el perl particular es alto y los tipos de llamadas son de contacto y con una exibilidad horaria baja puede convenirle una tarifa con ninguna cuota mensual y una exigencia de consumo baja. Si el uso es intensivo necesitar una exibilidad de horario alta y con un nmero de destinos alto. Si la delidad del usuario es alta y su uso es bajo podr tener una tarifa con una exigencia de permanencia alta. Una vez determinados los valores de las caractersticas de la tarifa ms adecuada se puede identicar la tarifa concreta a partir de los valores concretos de consumo del usuario y los precios especcos de las tarifas de las compaas. a ) El problema que se plantea es un problema de anlisis y se puede resolver mediante clasicacin heurstica. Determina cmo se ubicaran los pasos de resolucin de este problema en cada una de las fases de esta metodologa. Da diferentes ejemplos de reglas relevantes para cada una de las fases. b) La parte de asociacin heurstica se podra resolver mediante el formalismo de redes bayesianas. Comenta cmo modelaras esta parte del problema con una red bayesiana (qu escogeras como nodos, qu valores tendran y qu dependencias habra entre los nodos) y da un ejemplo simple de red bayesiana para un subconjunto de las variables para ilustrarlo. c ) Una forma alternativa de solucionar el problema podra ser mediante razonamiento basado en casos. Dene qu sera un caso en este problema y su solucin asociada y explica brevemente qu se hara en cada una de las fases del ciclo de razonamiento basado en casos (recuperacin, reuso, revisin y retencin)

11. La consultoria informtica VADEMIRACLE S.A. ha rebut lencrrec de la Conselleria dIndstria de dissenyar un sistema informtic intel ligent que permeti facilitar la selecci i posterior compra dautombils nous per als ciutadans, dins la campanya de foment de la renovaci del parc automobilstic i del consum. Aquest sistema dajut a la presa de decisions sinstalar en diversos locals de la Generalitat arreu del pas. El sistema ha de tenir en compte les necessitats, gustos, pressupost, etc., de les persones, i recomanar-els-hi el/s cotxe/s que millor sadequen a les seves demandes. El/s cotxe/s recomenats seran models determinats de les diferents marques automobilstiques disponibles, amb totes les seves caracterstiques ben determinades (potncia, nombre de portes, tipus dequipament, etc.) i havent tingut en compte els equipaments opcionals desitjats. Responeu a les segents qestions [4 punts]: a ) Identica qu conceptes forman les dades dentrada del problema. Representa grcament aquests conceptes mitjanant una xarxa de frames inclouent els atributs mes relevants i les relacions, tant les taxonmiques como les no taxonmiques que creguis que son necessaries. b) Identica els conceptes que forman la soluci del problema. Representa grcament aquests conceptes mitjanant una xarxa de frames i les relacions, tant les taxonmiques, como les no taxonmiquess, que creguis que son necessaries. c ) Com descompondries el problema en subproblemes? Identica i especica els subproblemes a resoldre i com sencadenarien per construir la soluci. d ) Indica per cada subproblema que has identicat si es un problema danlisis o de sntesi. Justicaho.

85 e ) Quin tipus de raonament et sembla mes adequat para cada subproblema? Justica-ho. 12. Muchos alcaldes estan deseosos de satisfacer a sus ciudadanos instalando un parque de atracciones en su ciudad para que puedan disfrutar de ellos en sus momentos de ocio. Dada esta necesidad nos hemos decidido a hacer un sistema capaz de disear el parque mas adecuado para una ciudad a partir de sus caractersticas y el pblico potencial que puede atraer. De esta manera, nos podemos jar en diferentes informaciones que nos pueden indicar qu tipo de atracciones, qu tamao debera tener el parque, qu tipo de ubicacin es ms adecuada en la ciudad (si es que hay un sitio adecuado). Hay que tener en cuenta que el tipo de atracciones que podemos incluir depender mucho del pblico potencial de la ciudad, por ejemplo puede inuir la distribucin por edades, el nmero de parejas con hijos pequeos, los otros equipamientos que pueda haber en la ciudad. Tambin puede inuir el nivel de turismo de la ciudad, la cercana de otras poblaciones grandes, ... Analizando esta informacin nos podemos hacer una idea de cuantas atracciones hacen falta, de que tipo (infantiles, juveniles, adultos, todos los pblicos, ..) y qu otros equipamientos nos hacen falta (tiendas de souvenirs, de palomitas, de perritos, ...) Otra cosa interesante (en este caso para nosotros) es una vez decididas que atracciones son interesantes en el parque, saber cmo ponerlas para maximizar el nmero de atracciones que visita la gente. Por ejemplo, si la montaa rusa est la primera y la gente se sube primero a ella posiblemente se le quiten las ganas de subir a otra atraccin o si las atracciones infantiles estn muy dispersas solo se subirn a las primeras, o si el tiempo que se pasa en las primeras atracciones es muy corto la gente se ir antes porque ya ha subido en muchas, ... A partir de tener en cuenta estas restricciones podremos tener una idea de cmo colocar las diferentes atracciones y otros equipamientos en el parque a la hora de construirlo. Una vez reexionado sobre el problema planteado hay que responder a estas preguntas, justicando las decisiones que se toman: a ) Identica qu conceptos forman los datos de entrada del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos ms relevantes y las relaciones, tanto las taxonmicas como las no taxonmicas que creas que son necesarias. b) Identica los conceptos que forman la solucin del problema. Representa grcamente estos conceptos mediante una red de frames y las relaciones, tanto las taxonmicas, como las no taxonmicas, que creas que son necesarias. c ) Cmo descompondras el problema en subproblemas? Identica y especica los subproblemas a resolver y cmo se encadenaran para construir la solucin. d ) Indica para cada subproblema que has identicado si es un problema de anlisis o de sntesis. Justifcalo. e ) Qu tipo de razonamiento te parece ms adecuado para cada subproblema? Justifcalo. 13. Los ingenieros de Nontiendo estn deseosos de alcanzar a la competencia con su nueva consola Nontiendo gi y estn pensado crear el programa gi feet que permitir a cualquier usuario alcanzar la forma fsica que desea. El programa evaluar el perl del usuario a partir de la informacin que pueda recolectar, como por ejemplo todas las actividades fsicas que realiza en el trabajo (sentado, de pie, desplazamientos a pie, movimientos repetitivos, levantamiento de peso, esfuerzos musculares, ...), actividades fuera del trabajo (estticas (televisin, lectura, ...), tareas domsticas (planchar, barrer, fregar, colada, ...), desplazamientos (compra a pie, paseos, paseo de mascotas, ...)). De estas actividades nos interesa su frecuencia y duracin. Tambin obtendr informacin sobre su salud como por ejemplo el peso, la edad, la presin sangunea, problemas msculo-esquelticos (dolor de espalda, articulaciones, cervicales, ...) , dieta (consumo de fruta, abuso de sal, picar entre horas, ...).

86

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Aparte de esta informacin se necesitarn saber los objetivos del programa que se ha de crear, como por ejemplo mantenimiento, ponerse en forma, rebajar peso, musculacin, exibilidad, equilibrio, ... As como del tiempo diario del que se dispone para el entrenamiento (al menos 30 minutos). El sistema posee un conjunto de ejercicios encaminados a los diferentes objetivos que puede desear el usuario (cada ejercicio puede tener varios objetivos). Estos ejercicios tienen un conjunto de caractersticas y restricciones como por ejemplo el nmero de caloras que se queman por cantidad de tiempo, duracin (mnima, mxima), nmero de repeticiones (mnimas, mximas), los grupos musculares que se ejercitan, si estn contraindicados para alguna condicin del usuario (presin alta, problemas musculares, ...), si no estn indicados para ciertas edades. Tambin tenemos informacin sobre los ejercicios que combinan mejor con cada ejercicio. La dicultad de los ejercicios (moderada, normal, difcil) puede estar ligada al propio ejercicio, al nmero de repeticiones que se realizan o a la condicin fsica del usuario (hacer 5 abdominales puede ser fcil para un usuario con una condicin fsica normal y sin sobrepeso, pero difcil para alguien con sobrepeso). El sistema debe generar un programa de entrenamiento para una semana, creando para cada da una secuencia de ejercicios adecuada al tiempo del que se dispone. Los ejercicios deben elegirse segn las restricciones fsicas/mdicas del usuario. Estos ejercicios deben ir encaminados principalmente al objetivo que ha indicado el usuario, incrementando su dicultad gradualmente dependiendo de las condiciones de partida del usuario. Debe haber un mnimo de ejercicios diferentes en cada sesin y durante la semana. a ) Identica qu conceptos forman los datos de entrada del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos mas relevantes y sus relaciones, tanto las taxonmicas, como las no taxonmicas que creas que son necesarias. Algn atributo del concepto ejercicio necesitara un demon? Cul? Qu hara? b) Identica los conceptos que forman la solucin del problema. Representa grcamente estos conceptos mediante una red de frames y sus relaciones, tanto las taxonmicas como las relaciones no taxonmicas que creas que son necesarias. c ) Hemos identicado dos problemas. El primero consistir en clasicar al usuario en un conjunto de perles bsicos a partir de analizar la informacin que nos da, por ejemplo tendramos el joven sano activo, el joven sedentario, el adulto sano sedentario, el adulto con sobrepeso, ... Evidentemente se trata de un problema de anlisis que se puede resolver mediante clasicacin heurstica. Describe cmo encajaran las diferentes fases en la resolucin de este problema indicando ejemplos de reglas de abstraccin de datos y de asociacin heurstica. Se podra hacer la fase de asociacin heurstica mediante el formalismo de redes bayesianas? Justica tu respuesta. d ) El segundo problema es la construccin del programa de entrenamiento. Es un problema de sntesis que podramos resolver mediante proponer y aplicar. Dene un conjunto de operadores que permitan resolver el problema indicando qu haran, las restricciones globales y especcas que deberan tener en cuenta para aplicarse y los criterios de evaluacin que determinan la bondad de cada operador.

14. La manera habitual de poner precio a bienes cuyo valor no es objetivo es la tasacin. Este tipo de valoracin es la que se utiliza por ejemplo para las viviendas. Existen muchos sistemas de tasacin, pero habitualmente se basan en un conjunto de caractersticas cualitativas que se obtienen de la valoracin de las caractersticas de la vivienda y su ubicacin. Supondremos que queremos usar cuatro caractersticas para tasar una vivienda: El entorno, con una valoracin de 1 a 5, que tendra en cuenta el nmero y tipo de los equipamientos de la zona del inmueble, los servicios de la zona (hospitales, colegios, reas comerciales, parques infantiles, ...), las comunicaciones de la zona (transporte pblico, vas rpidas, ...), la zona en la que est ubicada (centro, periferia, zona turstica, zona de nueva construccin, ...), ... La calidad del edicio, con una valoracin de 1 a 5, que tendra en cuenta su antigedad, el tipo de construccin, la supercie de su planta, su altura, la existencia de elementos de accesibilidad (rampas, barandillas, ascensor, anchura de la entrada, de los rellanos, ...), el nmero de vecinos, la anchura de la calle, la existencia de aparcamiento en el edicio, los gastos de la comunidad, ...

87 La calidad de la vivienda, con una valoracin de 1 a 5, que tendra en cuenta su supercie, su supercie habitable, la relacin entre la anchura y la longitud, si necesita reformas, la calidad de los acabados, el tiempo que lleva deshabitada, ... La habitabilidad/funcionalidades con una valoracin de 1 a 5, que tendra en cuenta el nmero de habitaciones, el nmero de baos, la existencia de balcones y terrazas, la altura del piso, elementos extra (suelo de madera, calefaccin, trasteros, armarios empotrados, ...), ... A partir de estas caractersticas queremos determinar si la vivienda se ha de tasar a precio de mercado, por debajo del precio de mercado o por encima del precio de mercado. El precio de mercado se obtiene a partir del precio medio del m2 de la zona. Para determinar la variacin respecto al precio de mercado, usaremos las caractersticas particulares de la vivienda para cuanticar la variacin del precio. Por ejemplo, en el caso de que se clasique la vivienda por debajo del precio de mercado, si la vivienda se ha de reformar el precio de mercado se rebajara en un 20 %, o si hay pocos servicios en el entorno se rebajara un 5 %. En el caso de que se clasique la vivienda por encima del precio de mercado, si la vivienda tiene muchos elementos extra de habitabilidad como suelo de madera, o calefaccin se le aadirn 3000 euros por cada elemento extra, o si el edicio tiene elementos de accesibilidad, como por ejemplo rampas, se aadirn 2000 euros al precio. a ) El problema descrito es un problema de anlisis, Explica cmo lo resolveras usando clasicacin heurstica. Da algn ejemplo de regla para cada una de las fases de esta metodologa. b) Asignar un inmueble a partir de las caractersticas abstractas a solo una de las tres categoras de tasacin usando reglas puede ser poco realista. Una vivienda puede tener caractersticas buenas y malas a la vez. Las redes bayesianas permitiran obtener una clasicacin de un inmueble mas acorde con esta idea? Si tu respuesta es armativa explica cmo podra hacerse. c ) Una forma alternativa de solucionar el problema sera utilizar el razonamiento basado en casos. En lugar de plantear el problema de la tasacin como un razonamiento a partir de las caractersticas de los inmuebles tendramos ejemplos de inmuebles ya clasicados, incluyendo la variacin del precio de tasacin. Explica como se resolvera el problema con esta metodologa: que seran los casos, como se describiran, que sera una solucin en un caso, como se recuperaran los casos, y como se obtendra la solucin de un nuevo caso a partir de los casos recuperados. 15. En esta poca de navidad es tpico regalar una cesta con productos navideos. Existen muchas empresas que permiten a los clientes confeccionar su propio lote de regalos. Podramos utilizar un SBC para dar una orientacin sobre cual debera ser el contenido de la cesta dependiendo de un conjunto de caractersticas. Los usuarios de este sistema sern clientes corporativos, de los que podemos obtener informacin sobre si es una empresa pequea, mediana, grande o multinacional (cuanto mas grande es la empresa ms puede invertir en el regalo). Tenemos tambin informacin sobre cuantas cestas habr que elaborar (dependiendo del volumen se pueden poner ms productos por un mismo precio) y cual es el rango de precios unitario, tacao (menos de 20 euros), normal (hasta 40 euros), generoso (hasta 60 euros), soborno (mas de 60 euros). Sobre los destinatarios del regalo sabemos si se trata de clientes (a los clientes se les suele tratar mejor), teniendo con estos una relacin solo comercial o adems personal, o empleados, siendo estos personal administrativo, mandos intermedios o directivos (todos sabemos como funciona esto). Tambin tenemos cierta informacin sobre las preferencias y restricciones de los destinatarios sobre tipos de productos en general o en particular. Como diseadores hemos decidido utilizar estas caractersticas abstractas como base de la recomendacin: Cantidad, que mide el volumen aproximado de productos que debera tener la cesta. Se evaluara como pocos (entre 5 y 8 productos), medio (entre 9 y 12 productos), muchos (entre 13 y 18 productos), generoso (hasta 25 productos).

88

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Calidad, que mide la calidad media de los productos de la cesta. Se evaluara como equilibrado (todos los productos de una calidad similar), algo bueno (algn producto de mejor calidad que el resto), algo muy bueno (algn producto de calidad excepcional). Variedad, que mide la cantidad de productos diferentes que habr en la cesta. Se evaluara como baja (productos de dos categoras), media (productos de cuatro categoras) y alta (productos de todas las categoras). Comida/Bebida, mide la diferencia entre los productos de beber y comer en la cesta. Se evaluara como igual, ms de comer y ms de beber. A partir de evaluar estos criterios queremos obtener una prioridad para cada uno de los diferentes tipos de productos que puede haber en una cesta de navidad: Dulces, vinos, cava, licores, embutido/queso y conservas. Esta prioridad debera obtenerse como una puntuacin que sea un valor entero entre 0 y 2, siendo 0 que este tipo no debe aparecer en la cesta. Sabemos que las caractersticas abstractas tienen diferentes relaciones con estos productos, por ejemplo, las cestas de mejor calidad suelen dar prioridad a la bebida y a los embutidos, cuando es ms importante la cantidad que la calidad suelen aparecer ms conservas, dulces y cava, o si es ms importante la bebida que la comida suele haber ms vino y licores que cava, ... a ) El problema descrito es un problema de anlisis. Explica cmo lo resolveras usando clasicacin heurstica. Da algn ejemplo de regla para cada una de las fases de esta metodologa. b) Las caractersticas que se utilizan para determinar las prioridades no son independientes entre si, por ejemplo, la cantidad inuye sobre la calidad, la variedad tambin inuye sobre la calidad, la proporcin entre comida/bebida tambin inuye sobre la variedad. Tampoco son independientes las prioridades entre los productos, ya que hay posibilidades con ms sentido que otras, ejemplo, el que haya ms o menos cava inuye sobre la prioridad de los dulces, que haya ms prioridad en embutido/quesos inuir sobre la prioridad del vino, ... Dene el problema de asociacin heurstica como una red bayesiana expresando en ella al menos las relaciones indicadas y todas las necesarias para resolver el problema de asociacin. Da un ejemplo de tabla de probabilidad de algn nodo, inventndote las probabilidades, pero expresando como inuyen los valores de los nodos padre en las probabilidades de los valores de los nodos hijo. c ) Una forma alternativa de solucionar el problema sera utilizar el razonamiento basado en casos. En lugar de plantear el problema de priorizar los tipos de productos como un razonamiento a partir de las caractersticas de los pedidos, tendramos ejemplos ya resueltos. Explica como se resolvera el problema con esta metodologa: que seran los casos, como se describiran, que sera una solucin en un caso, como se recuperaran los casos y como se obtendra la solucin de un nuevo caso a partir de los casos recuperados.

16. Una famosa tienda de Internet desea ampliar los servicios que da a sus clientes dando recomendaciones sobre que productos podra comprar a partir de la informacin que ha recolectado de los usuarios que han hecho compras similares a las suyas. Dado que es bastante costoso guardar toda la informacin de cada usuario individual se ha decidido utilizar un sistema basado en el conocimiento capaz de determinar el perl al que pertenece un usuario usando las caractersticas de las diez ltimas compras realizadas para cada tipo de producto. De todas formas, para poder renar mas las recomendaciones guardamos tambin la cantidad de productos de cada tipo que ha comprado el usuario a lo largo del tiempo. Los productos que se venden en esta tienda virtual son libros, CDs musicales y pelculas en DVD. Los libros estn caracterizados por una serie de atributos como pueden ser el titulo, el autor, el tipo de encuadernacin (tapa dura o bolsillo), el precio. Estos estn categorizados segn su temtica en libros cientco-tcnicos (matemticas, fsica, biologa, informtica, ...), literatura (clasicada como clsica o contempornea o como novela, teatro o poesa), juvenil, policaca, cocina, ... Los CDs musicales estn caracterizados por su ttulo, su autor y su precio. Estos estn categorizados por su gnero musical en jazz, pop-rock, country, techno, rap, msica tnica, msica clsica, bandas sonoras ... Las pelculas en DVD estn caracterizadas por su ttulo y su precio. Estas estn categorizadas segn

89 su gnero en accin-aventura, comedia, drama, documental, ciencia-ccin, animacin, cine clsico. Para simplicar las cosas se han determinado un conjunto de categoras de compradores que facilitan el determinar las recomendaciones. As, tenemos a los usuarios ocasionales, que son los que han tenido menos de diez compras en cada tipo de producto y a los que slo se les puede recomendar los productos ms vendidos. Tenemos a los un-poco-de-todo que son los que no tienen unas preferencias denidas y compran productos de todas las categoras, a estos se les pueden recomendar slo los productos mas vendidos dada su indenicin. Tenemos los cinlos, que compran mayoritariamente cine y por lo tanto se les debe recomendar mayoritariamente productos de cine. Dentro de los cinlos tenemos a los aventureros, que son los que compran ms pelculas de accin-aventura que de otros gneros o a los dramticos que tienen preferencia por el drama. Tenemos tambin a los melmanos que preeren la msica, dentro de estos puede haber amantes de los diferentes tipos de gneros musicales. Tambin tenemos un tipo denominado clsicos, que tienen preferencia por la literatura clsica, la msica clsica y el cine clsico. Evidentemente existen mas categoras que las que se han enumerado, pero en total no son un nmero muy grande. Evidentemente un usuario no puede ser clasicado siempre en una nica categora, dadas sus ltimas compras puede que cumpla caractersticas de varios tipos de compradores, por lo que la recomendacin debera ser una combinacin de las recomendaciones adecuadas para cada una de las categoras de comprador a las que pertenezca. El objetivo es construir un sistema capaz de obtener una recomendacin adecuada para cada usuario que se conecta a la tienda virtual. a ) Identica que conceptos, caractersticas, objetivos y soluciones forman el problema. Representa grcamente los conceptos que has identicado mediante una red de frames y sus relaciones taxonmicas. Incluye para cada concepto al menos dos atributos que sean necesarios para su descripcin. Describe completamente mediante el lenguaje de representacin de frames vista en clase las relaciones no taxonmicas que crees que son necesarias. Caracteriza completamente algn mtodo que podra ser interesante tener en las categoras de los productos que vende la tienda. b) El problema que se pretende resolver es un problema de anlisis o de sntesis? Justifcalo c ) Si lo implementramos mediante un sistema de produccin Que tipo de razonamiento te parecera el mas adecuado para resolverlo? Justifcalo. d ) Como descompondras el problema? Identica y especica los subproblemas a resolver y como se encadenaran para construir la solucin. Escribe para cada problema que identiques algn ejemplo de las reglas de produccin que haran falta para resolverlo. 17. La empresa de jardinera KAMACO esta introduciendo las tecnologas de la informacin y las tcnicas avanzadas de inteligencia articial en su gestin diaria. Por eso est pensando en la posibilidad de construir un Sistema Experto (SE) para el diseo de jardines para sus clientes. El diseo de jardines es una tarea muy creativa, pero tiene bastantes pautas de comportamiento que pueden ser generalizadas y usadas informticamente. Hay una serie de caractersticas que se han de tener en cuenta a la hora de disear un jardn: El clima de la zona (temperatura, lluvia, viento, etc.) El tipo de suelo, que puede ser muy pesado y resistente al agua (arcilloso), ligero (arenoso), con cierta cantidad de sal (salino), etc. La profundidad de la capa de suelo frtil, el drenaje natural, el pH de suelo La orografa de la parcela, si hay zonas elevadas o zonas deprimidas, zonas planas, zonas con pendientes fuertes o suaves, etc. Las plantas a incluir: rboles, arbustos, setos, trepadoras, csped, plantas aromticas, rboles frutales, etc.

90

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Elementos del jardn, como por ejemplo mobiliario, rocas, muros de contencin, piscina, etc. Usos del jardn que implican diversas zonas de utilizacin como por ejemplo usos deportivos, reuniones familiares, relajacin y descanso, etc. El coste del mantenimiento del jardn, que vara segn las especies vegetales El presupuesto que quiere gastar el cliente, etc. En la vida de la empresa se ha acumulado mucho conocimiento sobre el diseo de jardines. Hay un conjunto de tipos bsicos de jardines con unas caractersticas determinadas: el jardn mediterrneo con predominio de pinos, arbustos, rosales, csped suave, plantas aromticas; el jardn tropical donde predominan el bamb, las palmeras, el csped y la vegetacin frondosa; el jardn alpino con csped resistente al fro, abetos, plantas resistentes al fro; el jardn rabe con plantas resistentes a la sequa, plantas autctonas, una fuente i/o estanque; el jardn clsico con setos, csped, parterres con ores vistosas, estanques, plantas trepadoras; y unos cuantos tipos ms de jardn (ingls o paisajstico, francs, japons, romntico, medieval, etc.). Adems, se suelen identicar las diferentes zonas en las que se quiere dividir el jardn para diferentes usos. Se quiere construir un SE que dadas las preferencias del cliente, pero teniendo tambin en cuenta las caractersticas de la parcela y del entorno obtenga el mejor diseo posible del jardn. a ) Identica qu conceptos forman los datos de entrada del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos ms relevantes y las relaciones, tanto las taxonmicas como las no taxonmicas que creas que son necesarias. b) Identica los conceptos que forman la solucin del problema. Representa grcamente estos conceptos mediante una red de frames y las relaciones, tanto las taxonmicas, como las no taxonmicas, que creas que son necesarias. c ) Cmo descompondras el problema en subproblemas? Identica y especica los subproblemas a resolver y cmo se encadenaran para construir la solucin. d ) Indica para cada subproblema que has identicado si es un problema de anlisis o de sntesis. Justifcalo. e ) Qu tipo de razonamiento te parece ms adecuado para cada subproblema? Justifcalo.

18. Los redactores jefe de cada peridico tienen cada da el difcil problema de decidir qu noticias incluyen y en qu seccin y pgina deben ir. Para facilitar su tarea vamos a disear un SBC que realice este trabajo de manera automtica a partir de una representacin de los elementos que describen una noticia. Una noticia se puede describir segn parte del conjunto de preguntas que todo buen periodista debe seguir para escribir una noticia. Qu? - Tema de la noticia, ste puede ser: poltica (elecciones, cumbres, escndalos, declaraciones, ...), desastres (desastres naturales, guerras, terrorismo, ...), cultura (cine, teatro, conciertos, personajes, ...), deportes (ftbol, baloncesto, ...), economa (bolsa, empresas, escndalos, ...), ciencia, sucesos, religin, otros ... Quin? - Protagonista o protagonistas de la noticia, pueden ser un individuo, un colectivo (organizaciones, poblaciones, el mundo, ...) o entidades abstractas (el clima, la tierra, ... ). Estos protagonistas pueden ser de mayor o menor relevancia. Dnde? - Lugar de la noticia, podemos clasicar los lugares en locales, nacionales, internacionales o globales. El mbito local se circunscribe a la ciudad de publicacin del peridico y a su mbito regional. El lugar tambin se puede clasicar segn el pas y la poblacin. Cundo? - Tiempo de la noticia. Una noticia puede referirse a eventos puntuales en el presente o pasado o a circunstancias que afectan al futuro

91 Adicionalmente una noticia tiene un tamao (pequeo, mediano, grande, muy grande). Un peridico tiene cierto nmero de secciones temticas. Estas secciones se denen como de mbito local, mbito nacional, mbito internacional, sociedad, economa, cultura y deportes. La dicultad con que se encuentran los redactores reside en lo difuso de la clasicacin en estas secciones. Cada seccin tiene cierto nmero de pginas mnimo y mximo en el peridico, el nmero nal de pginas depender del nmero noticias que se elijan para publicar en cada seccin y sus tamaos. Para clasicar las noticias primero se decide qu ir en las secciones nacional e internacional. En estas secciones las noticias tienen preferentemente como temtica poltica, desastres y economa, aunque pueden aparecer otros temas si no hay noticias sucientes para llegar al mnimo de paginas de la seccin. Las noticias locales pueden ser de cualquier tema. Las secciones de economa, cultura y deportes solo incluyen noticias de esos temas. La seccin de sociedad es una mezcla de temas que acoge a las noticias que no encajan en otras secciones o que no han encontrado sitio en las secciones de local, nacional o internacional. El tamao de pgina es un valor especco que va a determinar cuantas noticias ubicaremos en cada seccin. Cada pgina tendr por lo menos una noticia grande o muy grande si hay disponibles, el resto se rellenar con noticias de cualquier tamao hasta llenar cada pgina. Se debern utilizar tantas noticias como sean necesarias para llenar al menos el nmero mnimo de pginas de cada seccin y sin sobrepasar el nmero mximo de pginas. Otro problema a resolver es la pgina en la que aparece cada noticia, una noticia aparecer antes dependiendo de la relevancia de sus personajes o su nmero, el lugar donde sucede (son mas relevantes las noticias de mbito mas cercano al lector, o dependiendo del pas donde sucedan), del tiempo de la noticia (las noticias son mas importantes cuanto mas cercanas en el tiempo, o si afectan a nuestro futuro) o de su tamao (las noticias mas grandes irn en las primeras pginas). Cada da un peridico dispone de cierto nmero de noticias. El objetivo del sistema es obtener el diseo del peridico. Se ha de concretar si una noticia aparecer en el peridico y en que seccin y en que pgina se ubicar. a ) Identica qu conceptos forman los datos de entrada del problema. Representa grcamente estos conceptos mediante una red de frames incluyendo los atributos mas relevantes y sus relaciones, tanto las taxonmicas, como las no taxonmicas que creas que son necesarias. Describe mediante el lenguaje de representacin de frames vista en clase dos de las relaciones no taxonmicas que has identicado en el problema. b) Identica los conceptos que forman la solucin del problema. Representa grcamente estos conceptos mediante una red de frames y sus relaciones, tanto las taxonmicas como las relaciones no taxonmicas que creas que son necesarias. c ) Como descompondras el problema en subproblemas? Identica y especica los subproblemas a resolver y como se encadenaran para construir la solucin. d ) Indica para cada subproblema que has identicado si es un problema de anlisis y de sntesis. Justifcalo. e ) Qu tipo de razonamiento te parece ms adecuado para cada subproblema? Justifcalo 19. Deseamos crear un sistema capaz de aconsejar a un usuario como invertir de la mejor manera los ahorros de los que dispone. Para ello queremos recoger toda una serie de informaciones que nos puedan indicar cules son sus caractersticas como ahorrador/inversor y a partir de ellas darle unas prioridades sobre qu productos podran ser ms interesantes para el. La informacin que le pedimos al usuario incluye: Su edad. Si su perspectiva de ahorro futuro es favorable o desfavorable. Si tiene deudas, cuanta proporcin de su salario supone pagar esas deudas. Su actitud respecto a uctuaciones negativas interanuales de sus inversiones de un 5 %, un 10 %, un 20 % o ms de un 20 % (moderada, negativa, muy negativa).

92

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Su actitud respecto a la oportunidad de ganancia contra la posibilidad de prdida (seguridad ante todo, ganar un poco ms compensa si la posibilidad de prdida es pequea, la ganancia ante todo). Objetivo del ahorro (garantizar el capital, mantener la inacin, obtener ganancias sobre la inacin, obtener grandes ganancias). Experiencia en la administracin de inversiones (nada, poca, bastante). El ahorro de impuestos (indiferente, importante o muy importante). Hemos decidido abstraer la informacin obtenida del usuario en cinco caractersticas: Riesgo, que mide el riesgo que puede o quiere asumir el cliente, valorado como bajo, medio, alto y muy alto. El riesgo esta asociado a la edad (cuanto ms viejo, menos riesgo se puede asumir), a la actitud a las uctuaciones (cuanto peor, menos riesgo), a la proporcin que suponen las deudas respecto al salario (cuantas ms deudas, menos riesgo), a la actitud respecto a la oportunidad de ganancia, el objetivo de ahorro (cuantas ms ganancias ms riesgo) y la experiencia en la administracin de inversiones (cuanta ms experiencia, ms riesgo). Diversicacin, que mide la variedad de valores en los que invertir, valorado como poca, media y mucha. La diversicacin est asociada a la actitud a la oportunidad de ganancia, (cuanta ms seguridad se quiera respecto a la ganancia, mayor ha de ser la diversicacin), la actitud respecto a las uctuaciones (cuanto ms negativa, ms diversicacin) y la experiencia en la administracin de inversiones (cuanta menos experiencia, ms diversicacin). Plazo, que mide el tiempo que se debe mantener la inversin, valorado como corto, medio o largo. El plazo depende de la actitud respecto las uctuaciones (cuanto menos negativa, el plazo puede ser ms largo), la perspectiva del futuro ahorro (cuanto mejor sea, ms plazo), el objetivo de ahorro (cuantas ms ganancias, mayor ha de ser el plazo) y el ahorro de impuestos (se pagan ms impuestos cuanto ms corto sea el periodo de la inversin) Administracin activa, que mide lo involucrado que debe estar el cliente en la evolucin y manejo de sus inversiones, valorada en constante, moderada y poca. Esta caracterstica depende de la experiencia del cliente (cuanta menos experiencia, menos involucrado), el objetivo del ahorro (cuanta mayor la ganancia, ms deber estar involucrado) y la actitud respecto a las uctuaciones (cuanto ms negativa sea a mayores prdidas, ms deber estar involucrado). Liquidez de la inversin, que mide la facilidad para convertir la inversin en dinero a corto plazo, valorada como alta, moderada y baja. La liquidez depender de la proporcin de la deudas (cuantas ms deudas, ms liquidez), la experiencia en administracin de inversiones (cuanto menos experiencia, menos liquidez), la actitud respecto a la prdida (cuanto menos negativa, menos liquidez es necesaria) y el objetivo de ahorro (cuanto menos ganancia, menos liquidez). A partir de evaluar estos criterios queremos obtener una prioridad para los diferentes tipos de productos que se pueden ofrecer al cliente: fondos de pensiones, acciones, fondos de inversin (en acciones, renta ja o mixtos) y depsitos (a corto plazo o a largo plazo). Esta prioridad debera obtenerse como un valor entero entre 0 y 5, indicando la importancia de incluir ese tipo de valor en la inversin. La experiencia del dominio nos dice que: Los fondos de pensiones son ms convenientes cuanto menos riesgo se quiera, son mejores cuando se quiere una buena diversicacin, tienen mejor resultado cuanto ms largo es el plazo, no requieren una administracin activa y no tienen liquidez. Las acciones son ms recomendables para inversiones con ms riesgo, siempre que se pueda hacer una administracin activa, permiten menos diversicacin, se puede invertir en ellas a cualquier plazo, pero son ms recomendables a corto y tienen total liquidez. Los fondos de inversin permiten una mayor diversicacin, requieren poca administracin y suelen tener liquidez alta o moderada. Los de acciones son ms recomendables a largo plazo cuando se quiere menos riesgo, los de renta ja son ms recomendables cuanto menos riesgo y los mixtos equilibran el riesgo cuando el plazo es ms corto.

93 Los depsitos tienen menor liquidez cuanto mayor sea el plazo, no requieren ninguna administracin, son recomendables cuanto menos riesgo y diversicacin se quiera a ) El problema descrito es un problema de anlisis. Explica detalladamente cmo lo resolveras usando clasicacin heurstica. Da ejemplos de reglas para cada una de las fases de esta metodologa, al menos una por cada caracterstica abstracta y una por cada solucin. b) Una forma alternativa de solucionar el problema sera utilizar el razonamiento basado en casos. En lugar de plantear el problema de priorizar los tipos de productos como un razonamiento a partir de las caractersticas de los clientes, tendramos ejemplos ya resueltos. Explica como se resolvera el problema con esta metodologa: que seran los casos, como se describiran, que sera una solucin en un caso, como se recuperaran los casos y como se obtendra la solucin de un nuevo caso a partir de los casos recuperados. 20. La coordinadora de cooperativas agrarias quiere desarrollar un sistema basado en el conocimiento para aconsejar a los agricultores cuales son los cultivos ms adecuados para las caractersticas de sus explotaciones. El ingeniero del conocimiento que han contratado les ha indicado que se trata de un problema de anlisis y que se podran abstraer las siguientes caractersticas que podran servir para el desarrollo: La climatologa, que se podra clasicar en rida, seca, mediterrnea, continental y subtropical, que dependera de caractersticas como el rgimen de temperaturas, el rgimen de lluvias, humedad y vientos, el nmero de estaciones reales, ... El acceso al agua, que se podra clasicar en muy bueno, bueno, regular o malo, dependiendo del rgimen de lluvias, la existencia de riego propio o colectivo, el acceso a embalses, ... Los gastos asumibles, que se podran clasicar en bajos, medios o altos, dependiendo de si se dispone de maquinaria, el acceso a la mano de obra, la necesidad de seguros, el precio dispuesto a gastar en semillas y fertilizantes, ... El tipo de terreno, que se podra clasicar segn su fertilidad en los valores 1 a 5, dependiendo de su acidez, su contenido en nutrientes, nitrgeno, sodio, potasio, su contenido en arenas, arcillas, ... La productividad deseable, que se puede clasicar en normal, alta e intensiva, que depende del nmero de cosechas deseadas, el terreno disponible, el agotamiento de la tierra asumible, el ratio benecio coste deseado, ... A partir de estas caractersticas queremos poder determinar, en primer lugar, que tipo general de cultivo es el ms adecuado de entre los siguientes: cereal, hortaliza, legumbre y raz/bulbo. Para ello contamos con el conocimiento de los expertos que nos cuentan por ejemplo, que los cereales y las legumbres no necesitan terreno con mejor fertilidad que 3, se adaptan muy bien a climas ridos y secos, son cultivos con pocos gastos, pero con una productividad normal, y si el acceso al agua es malo es mejor el cereal que la legumbre. En cambio, para cultivar hortalizas hace falta un acceso al agua bueno o muy bueno, los gastos asumibles han de ser medios o altos y la climatologa no puede ser ni seca, ni rida. Las plantas de raz/bulbo necesitan terrenos con fertilidad al menos 3 y con un acceso al agua al menos regular y los gastos asumibles han de ser por lo menos medios, ... Una vez decidido el tipo general de cultivo, se han de dar prioridades sobre cultivos concretos, con valores entre 0 y 2: Para los cereales se puede recomendar plantar trigo, cebada, avena, soja o centeno. Soja y trigo necesitan una fertilidad de al menos 2 para ser viables, si se desea un ratio benecio coste alto, si se tienen un terreno muy grande, es mejor plantar cebada, avena o soja, ... Para las hortalizas se puede recomendar plantar tomate, pepino, pimiento o calabacn. El ratio benecio coste del tomate y el pimiento es mayor que el del pepino y el calabacn, el acceso al agua para el calabacn ha de ser muy bueno, la fertilidad del terreno para el pepino ha de ser por lo menos 4, ...

94

Captulo 8. Sistemes Basats en el coneixement: Enginyeria del Coneixement Para las legumbres se puede recomendar plantar guisante, garbanzo, lenteja, juda y haba. El garbanzo y la lenteja se dan mejor en climas secos, la fertilidad del terreno no es necesario que sea mayor que 2. En cambio los guisantes, judas y habas necesitan por lo menos un terreno con fertilidad 2 y un acceso a agua por lo menos regular, ... Para las races/bulbos se puede recomendar plantar remolacha, zanahoria, patata, nabo y cebolla. La remolacha y el nabo necesitan un acceso al agua bueno o muy bueno y se adaptan muy bien a clima continental. La patata y la zanahoria necesitan gastos bajos, pero necesitan acceso a mano de obra, ... a ) Explica cmo resolveras el problema usando clasicacin heurstica, indicando qu elementos se utilizaran en cada una de las fases. Da ejemplos de reglas para cada una de las fases de esta metodologa que formalicen el conocimiento del problema, incluyendo algunas de las reglas que aparecen en el enunciado. b) El asignar exclusivamente un cultivo como solucin podra ser poco exible, se podran utilizar las redes bayesianas para obtener un conjunto de prioridades para los diferentes cultivos. Un anlisis ms profundo de las caractersticas del problema nos ha permitido tambin darnos cuenta de que las diferentes caractersticas del problema estn interrelacionadas, por ejemplo, el acceso al agua y el tipo de terreno dependen en cierta manera de la climatologa, el tipo de terreno inuye tambin sobre la productividad que podemos obtener y dependiendo de los gastos que podemos asumir obtendremos ms o menos productividad. Dene el problema de asociacin heurstica como una red bayesiana expresando en ella al menos las relaciones indicadas y todas las necesarias para resolver el problema de asociacin. Da un ejemplo de tabla de probabilidad de algn nodo, inventndote las probabilidades, pero expresando como inuyen los valores de los nodos padre en las probabilidades de los valores de los nodos hijo. c ) Una forma alternativa de solucionar el problema sera utilizar el razonamiento basado en casos. En lugar de plantear el problema de seleccionar primero el tipo de cultivo y despus priorizar los cultivos concretos, podramos directamente aconsejar prioridades para los cultivos concretos. Explica cmo se resolvera el problema con esta metodologa: qu seran los casos, cmo se describiran, qu sera una solucin en un caso, cmo se recuperaran los casos y cmo se obtendra la solucin de un nuevo caso a partir de los casos recuperados.

9. Sistemes Basats en el Coneixement: Raonament Aproximat

9.1 Redes Bayesianas


1. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo
A C B D

A C F

P (A) 0.25 0.75

B C F

P (B ) 0.4 0.6

A C C F F

B C F C F

P (C |A, B ) C F 0.75 0.25 0.5 0.5 0.75 0.25 0.1 0.9

C C F

P (D|C ) C F 0.3 0.7 0.4 0.6

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula las siguientes probabilidades mediante el algoritmo de eliminacin de variables 1) 2) 3) 4) P (C |a, b) P (D|b, c) P (B |a) P (D|a)

2. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo


B A D

A C F

P (A) 0.3 0.7

A C F

P (B |A) C F 0.1 0.9 0.4 0.6

A C F

P (C |A) C F 0.1 0.9 0.6 0.4

B C C F F

C C F C F

P (D|B, C ) C F 0.7 0.3 0.2 0.8 0.1 0.9 0.4 0.6

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula las siguientes probabilidades mediante el algoritmo de eliminacin de variables 95

96 1) P (B |a, c) 2) P (D|b) 3) P (C |a, d)

Captulo 9. Sistemes Basats en el Coneixement: Raonament Aproximat

3. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo


A C B E D

A C F

P ( A) 0.3 0.7

B C F

P (B ) 0.2 0.8

A C C F F

B C F C F

P (C |A, B ) C F 0.3 0.7 0.1 0.9 0.7 0.3 0.4 0.6

C C F

P (D|C ) C F 0.1 0.9 0.7 0.3

C C F

P (E |C ) C F 0.4 0.6 0.7 0.3

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula las siguientes probabilidades mediante el algoritmo de eliminacin de variables 1) P (D|e, b) 2) P (E |c) 3) P (E |a) 4. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo
A C E B D

A C F

P ( A) 0.2 0.8

B C F

P (B ) 0.6 0.4

A C F

P (C |A) C F 0.3 0.7 0.2 0.8

B C F

P ( D | A) C F 0.6 0.4 0.9 0.1

C C C F F

D C F C F

P (E |C, D) C F 0.1 0.9 0.7 0.3 0.2 0.8 0.4 0.6

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula las siguientes probabilidades mediante el algoritmo de eliminacin de variables 1) P (E |a) 2) P (E |d) 3) P (D|c, e)

9.1 Redes Bayesianas 5. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo
A C D B E

97

A C F

P ( A) 0.1 0.9

B C F

P (B ) 0.3 0.7

A C F

P (C |A) C F 0.2 0.8 0.6 0.4

B C C F F

C C F C F

P (D|B, C ) C F 0.1 0.9 0.7 0.3 0.8 0.2 0.4 0.6

D C F

P (E |D) C F 0.2 0.8 0.7 0.3

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula las siguientes probabilidades mediante el algoritmo de eliminacin de variables 1) P (E |a, c) 2) P (E |c) 3) P (D|e, a) 6. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo

A C B

A C F

P ( A) 0.3 0.7

A C F

P (B |A) C F 0.1 0.9 0.6 0.4

A C C F F

B C F C F

P (C |A, B ) C F 0.1 0.9 0.7 0.3 0.4 0.6 0.8 0.2

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula la probabilidad de P (C |a) mediante el algoritmo de eliminacin de variables 7. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo
A B D C

98 A C F

Captulo 9. Sistemes Basats en el Coneixement: Raonament Aproximat P (A) 0.3 0.7 C C F P (C ) 0.6 0.4 A C F P (B |A) C F 0.2 0.8 0.4 0.6 B C C F F C C F C F P (D|B, C ) C F 0.3 0.7 0.9 0.1 0.5 0.5 0.6 0.4

a ) Da la expresin de la distribucin de probabilidad conjunta que representa la red b) Calcula la probabilidad de P (D|a) mediante el algoritmo de eliminacin de variables 8. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo

B A C
A C F P (A) 0.7 0.3 A C F P (B |A) C F 0.1 0.9 0.4 0.6 B C F P (C |A, B ) C F 0.5 0.5 0.2 0.8 B C C F F C C F C F P (D|B, C ) C F 0.1 0.9 0.4 0.6 0.3 0.7 0.8 0.2

a ) Calcula la probabilidad de P (D|a) mediante el algoritmo de eliminacin de variables 9. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo

A C B
A C F P (A) 0.6 0.4 A C F P (B |A) C F 0.2 0.8 0.7 0.3 A C C F F B C F C F P (C |A, B ) C F 0.1 0.9 0.5 0.5 0.3 0.7 0.4 0.6 C C F P (D|C ) C F 0.1 0.9 0.7 0.3

Calcula la probabilidad de P (D|b) mediante el algoritmo de eliminacin de variables 10. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo

A E

9.1 Redes Bayesianas A C F P (A) 0.3 0.4 A C F P (B |A) C F 0.5 0.5 0.1 0.9 A C F P (C |A) C F 0.4 0.6 0.2 0.8 C C F P (D|C ) C F 0.1 0.9 0.6 0.4 B C C F F D C F C F P (E |B, D) C F 0.4 0.6 0.1 0.9 0.2 0.8 0.5 0.5

99

Calcula la probabilidad de P (E |a, b) mediante el algoritmo de eliminacin de variables 11. Dada la siguiente red bayesiana y las probabilidades asociadas a cada nodo

A D E

A C F

P (A) 0.7 0.3

A C F

P (B |A) C F 0.6 0.4 0.8 0.2

A C F

P (C |A) C F 0.6 0.4 0.3 0.7

A C C F F

C C F C F

P (D|A, C ) C F 0.4 0.6 0.8 0.2 0.3 0.7 0.5 0.5

B C C F F

D C F C F

P (E |B, D) C F 0.1 0.9 0.6 0.4 0.7 0.3 0.2 0.8

Calcula la probabilidad de P (E |b, c) mediante el algoritmo de eliminacin de variables 12. Las redes bayesianas se pueden usar en cualquier problema de decisin, por ejemplo, en el rea de lenguaje natural, podemos usar este formalismo para determinar la probabilidad de los diferentes roles sintcticos de las palabras. Supongamos que tenemos tres palabras consecutivas p1, p2 y p3 y tambin tenemos el grupo sintctico al que pertenecen las dos primeras palabras S (p1, p2), la siguiente red bayesiana describira la probabilidad de la categora sintctica de la palabra p3 en funcin del resto de variables: p1 p2

S(p1,p2) p1 adj adv P (p1) 0.8 0.2 p1 adj adv P (p2|p1) nom verb 0.7 0.3 0.1 0.9 p1 adj adj adv adv p2 nom ver nom ver

p3 S (p1, p2) SN nSN P (p3|S (p1, p2)) nom adj 0.7 0.3 0.2 0.8

P (S (p1, p2)|p1, p2) SN nSN 0.9 0.1 0.5 0.5 0.8 0.2 0.3 0.7

Dene la distribucin de probabilidad conjunta de P (p1, p2, p3, S (p1, p2)) que dene la red y usa el algoritmo de eliminacin de variables para calcular la probabilidad de P (p3|p1 = adj ).

100

Captulo 9. Sistemes Basats en el Coneixement: Raonament Aproximat

13. Una aplicacin bastante difunda de las redes bayesianas es la implementacin de asistentes de usuario, como por ejemplo en un sistema operativo. Estos asistentes pueden recolectar informacin del funcionamiento del sistema y presentar recomendaciones y avisos al usuario para que atienda a posibles problemas en su sistema. Por ejemplo, podemos tener un asistente que cronometra la respuesta de la aplicacin en primer plano (RA), el rendimiento de entrada/salida de los discos duros (RES) y el tamao de la cola de eventos del interfaz del sistema operativo (EV) y usar estas informaciones para lanzar un mensaje sobre un posible problema en la conguracin de drivers (PD). Esta red bayesiana representara las relaciones entre estos conceptos. RES RA

EV

PD

Y estas tablas de probabilidades representaran las inuencias de unos nodos sobre otros.
RES > 12M bps < 12M bps P (RES ) 0.8 0.2 RES > 12M bps < 12M bps P (EV ) vaca llena 0.7 0.3 0.1 0.9 RES > 12M bps > 12M bps < 12M bps < 12M bps EV vaca llena vaca llena P (RA) < 500ms > 500ms 0.9 0.1 0.5 0.5 0.6 0.4 0.1 0.9 EV vaca vaca llena llena RA < 500ms > 500ms < 500ms > 500ms P (P D) S No 0.1 0.9 0.3 0.7 0.4 0.6 0.9 0.1

Dene la distribucin de probabilidad conjunta de P (RES, EV, RA, P D) que representa la red y usa el algoritmo de eliminacin de variables para calcular la probabilidad de P (RA|EV = llena, P D = S ).

9.2 Lgica difusa


1. Donats els segents conjunt de funcions de pertinena, un per gir denit sobre el domini graus i el conjunt altre per velocitat denit sobre el domini km/hora
Suau Centre Esquerra Esquerra Suau Dreta Dreta Molt Baixa Baixa Alta Molt Alta

Graus 45 30 15 0 15 30 45 0 20 40 60 80 100 120

Km/h

i les segents 4 variables (3 delles difuses i una no difusa): Posici del Volant (PV), variable difusa que pren valors sobre gir Desviaci de la Direcci (DD) que s una variable No difusa que pren valors sobre el conjunt esquerra, be, dreta Velocitat del Cotxe (VC), variable difusa que pren valors a velocitat Gir (G) Es demana el segent :

9.2 Lgica difusa a ) Dna una interpretaci intutiva breu (una lnia) de les regles de control segent: R1. si PV=centre i DD=dreta i V=alta llavors gir=suau-esquerra R2. si PV=suau dreta i DD=dreta i V= baixa llavors gir=esquerra

101

b) Escriu 2 regles ms de la mateixa forma que tinguin sentit (com les que utilitzes tu quan condueixes el teu cotxe i no vas begut !). c ) Dna el conjunt difs que sobt per a la variable gir a partir de les regles R1 i R2 quan tenim els segents valors concrets: PV = 10, DD = dreta , V= 70. 2. Tenemos un robot que es capaz de desplazarse y girar sobre si mismo y tenemos un conjunto de reglas difusas que le permiten avanzar hacia un objetivo y evitar obstculos. Estas reglas estn denidas sobre cuatro atributos, distancia (cerca, media, lejos) al obstculo ms cercano y al objetivo, velocidad del robot (baja, media, alta), ngulo de giro (todo a la izquierda, algo a la izquierda, algo a la derecha, todo a la derecha) y posicin de un objeto respecto al robot (izquierda, frente, derecha). Las variables distancia, velocidad y ngulo de giro son difusas y la denicin de sus valores es la que aparece en la gura.
Cerca Media Lejos Baja Media Alta

0.4

0.8

1.2

1.6

metros

0.2

0.4

0.6

0.8

m/s

Distancia Todo izq Algo izq Algo der

Velocidad Todo der

60 45 30 15

0 Giro

15

30

45

60

Las reglas que controlan la velocidad del robot y el ngulo de giro son las siguientes: Velocidad: RV1. Distancia(obstculo)=cerca velocidad=baja RV2. Distancia(objetivo)=lejos (velocidad=baja velocidad=media) velocidad=alta RV3. Distancia(obstculo)=media velocidad=alta velocidad=media Giro: RG1. RG2. RG3. RG4. RG5. RG6.

Posicin(obstculo)=derecha velocidad=baja giro=algo izquierda (Posicin(obstculo)=izquierda Posicin(obstculo)=frente) velocidad=baja giro=algo derecha Posicin(obstculo)=derecha velocidad=media giro=todo izquierda (Posicin(obstculo)=izquierda Posicin(obstculo)=frente) velocidad=media giro=todo derecha Posicin(objetivo)=derecha velocidad=media giro=algo izquierda (Posicin(objetivo)=izquierda Posicin(objetivo)=frente) velocidad=media giro=algo derecha

En el momento actual el robot est a una distancia del objetivo de 3 metros y su posicin es a la izquierda del robot, el obstculo ms cercano est a 0.5 metros y su posicin es frente al robot y la velocidad del robot es 0.7 m/s. Cual ser (aproximadamente) la velocidad y el ngulo de giro que se obtendrn mediante las reglas? (utiliza mximo y mnimo como funciones de combinacin de las conectivas lgicas)

102

Captulo 9. Sistemes Basats en el Coneixement: Raonament Aproximat

3. Dadas las siguientes variables con sus dominios difusos, las siguientes reglas y los siguientes valores concretos de variables, cul es el valor concreto de cada una de las variables despus de aplicar razonamiento aproximado? Presenta cada uno de los pasos del proceso utilizando la T-norma del mnimo, la T-conorma del mximo y la funcin de negacin f(x)=1-x. Si se requiriese realizar la fase de nitidicacin, tnganse en cuenta slo nmeros enteros (no decimales) como valores concretos relativos a la variable a nitidicar.

Reglas R1: luz = muy_claro y no lluvia = torrencial persiana = casi_bajada R2: luz = claro y ( lluvia = poca o lluvia = nada ) persiana = intermedia R3: luz = claro y lluvia > poca y lluvia < torrencial persiana = intermedia

Valores: luz = 3.25, lluvia = 15, persiana = 8.5


LUZ
muy oscuro oscuro tenue claro muy claro nada poca

LLUVIA
normal mucha torrencial

20

40

60

80

100

120

PERSIANA
bajada casi bajada intermedia casi subida subida

10

4. Tenemos un sistema de aire acondicionado capaz de regularse automticamente mediante un conjunto de sensores. Estos sensores permiten obtener la temperatura ambiental de la habitacin (en grados centgrados), el grado de insolacin que recibe a travs de las ventanas (valor de 0 a 10) y el numero de personas en la habitacin. A partir de esa informacin y de un conjunto de reglas difusas es capaz de obtener cuanto debe aumentar o disminuir la potencia actual del aire acondicionado. Dadas las siguientes reglas difusas y sabiendo que la temperatura actual de la habitacin es de 23 grados, la insolacin es de 8.5 y hay una persona en la habitacin, indica cual es el conjunto difuso que describe el grado de aumento o disminucin de la potencia que debe realizar el aire acondicionado y el valor concreto (aproximadamente) que aplicara. (Utiliza como T-norma la funcin mnimo, como T-conorma la funcin mximo y como negacin 1-x).

R1. R2. R3. R4.

si si si si

Temp=normal y personas=1 y insol=media entonces potencia=mantener Temp=normal y personas>0 y insol=alta entonces potencia=bajar poco no(Temp=calor) y personas=2 y insol=media entonces potencia=subir poco (Temp=calor o insol=alta) y personas>0 entonces potencia=bajar

9.2 Lgica difusa


Moderada Alta

103

Frio

Normal

Calor

Baja

Media

16

18 20 22 24 Temperatura

26

0 1 2 3 4 5 6 7 8 9 10 Insolacion

Bajar Poco Subir Poco Bajar Mantener Subir

1 0.75 0.5 0.25 0

0.25 0.5 0.75

Potencia

5. La alimentacin de los delnes en el zoolgico requiere un complemento vitamnico adicional debido a la vida en cautividad. El aporte vitamnico depende de las caractersticas de cada individuo. Hay que tener en cuenta si es macho o hembra (embarazada o no), la edad (joven, adulto, viejo) y el peso (bajo, medio, alto). Podemos denir un sistema de reglas basado en las variables difusas edad, peso y aporte-vitamnico (bajo, normal, alto) cuyos valores aparecen en las guras siguientes:
1 Joven Adulto Viejo 1 Bajo Medio Alto

10

15

20

25

30

35

50

100

150

200 250 300

350

400

Edad
1 Bajo Normal

Peso
Alto

8 9 10 11 12 13 14 15 16

Aporte Vitaminico

Algunas de las reglas que permiten estimar el complemento vitamnico para cada individuo son: R1. si peso = medio y edad = adulto entonces AV = normal R2. si peso = alto y ( edad = adulto o edad = viejo) entonces AV = alto R3. si peso = bajo y edad = joven entonces AV = alto R4. si edad = joven entonces AV = normal R5. si edad = viejo entonces AV = bajo

104

Captulo 9. Sistemes Basats en el Coneixement: Raonament Aproximat R6. si edad = joven y individuo = hembra y estado = embarazada entonces AV = alto Dadas estas reglas, cul debe ser el aporte vitamnico para Anak, una delna embarazada, que pesa 190 kilos y tiene 7 aos y medio?

10. Questions dexamen

10.1 Bsqueda
1. Una empresa de transportes quiere planicar sus envos a travs de tren de una ciudad a otra. La empresa tiene una serie de cargas que tienen una fecha tentativa de envo, pero sabemos que tenemos un margen de hasta tres das que podemos usar para retrasarlo. Tambin disponemos del tamao del envo, que tiene tres categoras (1, 2 y 3), cada una de tamao mayor que la anterior. Tenemos un horario de trenes que nos indica el espacio de contenedor que tenemos disponible en una fecha concreta en diferentes horas del da. Este espacio tiene tres categoras de tamao (1, 2 y 3), acordes con los tamaos de los envos, y en l se puede transportar una carga que quepa, sabiendo que en un espacio de contenedor se puede poner una carga ms pequea. El espacio solo se puede reservar entero, de manera que si una carga es ms pequea estaremos desperdiciando una parte. El objetivo sera asignar las cargas en los espacios de los trenes de manera que se minimice el espacio desperdiciado en los contenedores que se usan y que los envos se retrasen lo mnimo posible. Supondremos que tenemos sucientes espacios disponibles en los trenes para asignar todas las cargas y que hay muchos ms espacios disponibles que cargas. Se nos plantean las siguientes formas de solucionar el problema: a ) Queremos utilizar A , de manera que ordenamos los espacios de contenedor en los trenes segn la fecha en los que estn disponibles (en caso de estar disponible en la misma fecha decidimos un criterio de ordenacin). Procedemos a asignar las cargas siguiendo el orden establecido para los espacios en los trenes utilizando dos operadores: asignar una carga que quepa en el espacio disponible y que no viole las restricciones de fecha de envo (est dentro del margen de tres das), el coste sera el valor de la categora del espacio disponible en el tren ms uno, o no asignar nada (el coste sera uno). Como funcin heurstica utilizaremos la suma de las categoras de las cargas que quedan por asignar. b) Queremos usar satisfaccin de restricciones para resolver el problema, para ello elegimos como variables las cargas y para cada carga calculamos su dominio como todos los espacios donde se podran colocar cumpliendo las restricciones de fechas y de tamao. Tenemos una restriccin entre todas las parejas de cargas, que obliga a que la relacin de orden entre las fechas tentativas de entrega de las cargas sea la misma que entre las fechas asignadas, es decir, que los paquetes que se han de enviar antes siempre se enven antes. Tenemos tambin otra restriccin que obliga a que la suma de los espacios desperdiciados no sea mayor que una constante D. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 2. Tenemos un problema de bioinfomtica que consiste en lo siguiente: Tenemos una cadena de ADN de una longitud ja y un conjunto de subcadenas que tenemos que encajar en cualquier posicin de la cadena donde coincidan las letras. Cada subcadena tiene una longitud (li ). El objetivo es buscar el mnimo subconjunto de las subcadenas que permita cubrir la mayor longitud posible de la cadena, sin que haya ningn solapamiento entre las posiciones que cubren las subcadenas escogidas. a ) Queremos utilizar A , consideramos el estado como las subcadenas que tenemos asignadas. El estado inicial es no tener ninguna cadena asignada. Tenemos un operador que asigna una subcadena a alguna de las posiciones en las que coincide con la cadena, el coste de este operador es uno. Como funcin heurstica usamos la suma de las longitudes de los trozos de la cadena que no estn cubiertos. 105

106

Captulo 10. Questions dexamen b) Queremos utilizar satisfaccin de restricciones. Consideramos que las subcadenas son las variables y los dominios son todas las posiciones donde se pueden encajar las subcadenas en la cadena. Como restricciones tenemos que para cada par de cadenas no puede haber solapamiento entre las posiciones que corresponden a sus asignaciones y que la suma de las longitudes de las subcadenas que estn asignadas sea en la solucin mayor que un valor L. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

3. Una fbrica de coches quiere optimizar su proceso de fabricacin integrando el montaje de los k diferentes modelos que fabrica en un solo proceso. Cada modelo de coche necesita utilizar un conjunto de mquinas en un orden especco que se puede describir mediante una secuencia de proceso. Para simplicar supondremos que cada paso del proceso tiene la misma duracin. Hay que tener en cuenta que un coche puede necesitar un mismo tipo de mquina en diferentes pasos de su proceso de fabricacin. Disponemos de un nmero jo de mquinas de cada tipo (M ). Supondremos que el proceso lo diseamos para fabricar una unidad de cada modelo de coche y solo podemos volver a iniciar el proceso una vez que hemos acabado, es decir, en el proceso integrado solo se fabricar una unidad de cada modelo a la vez. Se nos plantean las siguientes alternativas: a ) Queremos utilizar A* para minimizar el nmero total de pasos del proceso integrado. El estado lo forman los pasos de los procesos individuales que hemos encajado en cada paso del proceso integrado. Los operadores de cambio de estado consisten en colocar un paso de un proceso individual en un paso del proceso integrado ya existente o en crear un nuevo paso del proceso integrado con uno de los pasos de un proceso individual, la restriccin que tenemos para aplicar los operadores es que no podemos asignar un paso individual si los pasos anteriores no han sido colocados. El coste de ambos operadores es uno. La funcin heurstica es la suma de pasos de los procesos individuales que nos quedan por integrar. b) Queremos utilizar satisfaccin de restricciones para minimizar el nmero total de pasos. Para ello elegimos tener como variables la asignacin de un paso de fabricacin de un modelo a una mquina en un paso del proceso integrado. Suponemos que el proceso integrado tendr como mximo tantos pasos como la suma de pasos de todos los procesos individuales, por lo que necesitaremos como variables ese valor multiplicado por el nmero de mquinas. El dominio de las variables son los modelos de coche. Con esto estamos representando para cada paso del proceso integrado qu mquinas tienen asignado un paso de los procesos individuales. La restriccion que mantenemos es que ninguna asignacin viole el orden de las secuencias individuales, es decir, que para un paso concreto no puede haber un modelo asignado a ms de una mquina y que entre pasos se cumpla el orden de las secuencias. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 4. En todo proyecto de desarrollo de una aplicaciones informticas es necesario determinar cuanto tiempo y recursos va a ser necesario invertir. Una vez decididas las tareas, su duracin y la dependencia entre ellas podemos determinar automticamente cuando se van a desarrollar y qu personas van a hacer cada tarea. Supondremos que hemos dividido el problema en tareas que tienen todas la misma duracin y hemos determinado su grafo de dependencias, de manera que para cada una de ellas sabemos qu tareas han de estar terminadas para poder empezarla. Disponemos tambin de un conjunto de programadores (prog1 a progn ) que podemos asignar a cada una de las tareas. Obviamente si asignamos el mismo programador

10.1 Bsqueda

107

a dos tareas que pueden realizarse simultneamente tardaremos ms que si asignamos programadores diferentes, pero siempre nos saldr ms barato usar un nmero menor de programadores. El objetivo del problema es encontrar la menor asignacin de programadores a tareas que respete el orden de dependencia de estas. a ) Queremos usar A deniendo el estado como la asignacin de programadores a tareas. El estado inicial sera la asignacin vaca y el estado nal sera la asignacin completa de programadores a tareas. Como operador utilizamos asignar un programador cualquiera a una tarea cualquiera, el coste del operador sera una unidad. La funcin heurstica es el nmero de tareas que quedan por asignar que tengan alguna tarea de la que dependan que no est ya asignada. b) Queremos usar satisfaccin de restricciones, donde las variables son las tareas a asignar y los programadores los dominios de las variables. Las restricciones son las relaciones de dependencia entre las diferentes tareas. Sobre estas restricciones imponemos adems que no pueda haber ms de tres programadores diferentes en tareas que pueden realizarse en paralelo. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 5. Despus de los incendios del verano se nos ha planteado redisear la ubicacin de los parques de bomberos. Para solucionar el problema dividimos el rea en una cuadrcula de N M , cada posicin tiene asignado un factor de accesibilidad A que toma un valor entero entre 1 y 3 (1 es una zona de fcil acceso, 3 es un rea de difcil acceso). Deseamos ubicar un total de P parques de bomberos, cada parque de bomberos puede tener entre uno y tres camiones. Tenemos un total de C camiones para repartir (obviamente C > P ). Denimos el factor de seguridad de una posicin como la suma para esa posicin y todas las que la rodean del cociente entre el nmero de camiones de bomberos que hay en esa posicin y el factor de accesibilidad de cada posicin. El objetivo es ubicar todos los parques de bomberos y repartir entre ellos todos los camiones de manera que el factor de seguridad global (la suma para todas las posiciones) sea el mximo posible. a ) Queremos utilizar A de manera que recorremos la cuadrcula de la esquina superior izquierda a la inferior derecha. El estado es la asignacin que hemos hecho de parques de bomberos y camiones a las reas recorridas. Utilizamos como operador poner un parque de bomberos, asignando uno, dos o tres camiones en el caso de ponerlo, el coste del operador es el nmero de camiones asignados ms uno, o no ponerlo con coste uno. La funcin heurstica es el nmero de reas que nos quedan por visitar y vale innito si ya hemos asignado ms de C camiones o P parques de bomberos. b) Queremos utilizar bsqueda local generando una solucin inicial en la que repartimos al azar los P parques de bomberos con un camin cada uno. Los operadores son aumentar o disminuir el nmero de camiones de un parque y mover un parque con todos sus camiones a otra posicin. La funcin heurstica que queremos optimizar es el factor de seguridad global ms una constante por el nmero de camiones que quedan por asignar. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 6. Queremos asignar un conjunto de seminarios a una lista de aulas. Para cada seminario tenemos la fecha tentativa en la que debera realizarse, pero sabemos que tenemos un margen de hasta tres das que podemos usar para retrasar su inicio. Tambin disponemos de la duracin del seminario (1, 2 o 3 horas). Para cada aula sabemos en qu fecha est disponible y durante cuntas horas (1, 2 o 3 horas). Un aula slo se puede reservar para todo el periodo durante el que est disponible, por lo que si el seminario dura menos estaremos perdiendo horas.

108

Captulo 10. Questions dexamen El objetivo sera asignar los seminarios a las aulas de manera que se minimice el nmero de horas desperdiciadas y que los seminarios se retrasen lo mnimo posible. Supondremos que tenemos aulas sucientes para asignar todos los seminarios y que hay muchas ms aulas que seminarios. Se nos plantean las siguientes formas de solucionar el problema: a ) Queremos utilizar A de manera que ordenamos las aulas segn la fecha en las que estn disponibles (en caso de estar disponible en la misma fecha decidimos un criterio de ordenacin). Procedemos a asignar los seminarios siguiendo el orden establecido utilizando dos operadores: asignar un seminario que quepa en las horas disponibles y que no viole las restricciones de fecha de inicio (el coste sera las horas disponibles del aula) o no asignar nada al aula (el coste sera cero). Como funcin heurstica utilizaremos la suma de horas de seminario que quedan por asignar. b) Queremos usar satisfaccin de restricciones para resolver el problema, para ello elegimos como variables los seminarios y para cada seminario calculamos su dominio seleccionando todas las aulas en la que puede ubicarse cumpliendo las restricciones de fechas y de horas necesarias. Aadimos dos restricciones adicionales al problema, la primera es que la suma de retrasos de los seminarios ha de ser menor que el valor R y que la diferencia entre las horas que dura cada seminario y las horas libres del aula en el que es ubicado ha de ser menor o igual que uno. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

7. Queremos determinar cmo abastecer N tiendas a partir de k almacenes. Tiendas y almacenes se encuentran distribuidos dentro de una ciudad y conocemos las coordenadas en las que se ubican. El abastecimiento se realiza mediante camiones que cargan las mercancas necesarias para una tienda, las llevan y vuelven al almacn. Cada tienda tiene una demanda (D(Ti )) diferente. Lo que nos interesa es que los almacenes tengan aproximadamente la misma cantidad de mercancas, por lo que la suma de las demandas de las tiendas que servimos desde cada almacn ha de ser aproximadamente igual. Tambin nos interesa que los kilmetros que han de recorrer los camiones para abastecer a las N tiendas sean los menos posibles. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. a ) Queremos resolver el problema utilizando bsqueda local generando como solucin inicial un estado en el que las tiendas estn asignadas al almacn ms cercano. Como operadores de bsqueda utilizamos cambiar una tienda de un almacn a otro. Como funcin heurstica utilizamos la funcin:
k k Tj

h(n) =
i=1 Tj Abast(Ai )

Dist(Tj , Ai ) +
i=1

D(Tj ) k

Tj Abast(Ai )

D(Tj )

Donde Abast(Ai ) es el conjunto de tiendas que abastece el almacn Ai , Dist(Tj , Ai ) es la distancia entre la tienda Tj y el almacn Ai b) Queremos solucionar el problema mediante satisfaccin de restricciones, como variables escogemos k N variables binarias de manera que cada tienda tiene asociadas k variables que representan el almacn al que est asignada. Como restriccin imponemos que solo una de esas variables puede ser cierta. Aadimos tambin las siguientes restricciones al problema: Para cualquier almacn, la suma de las demandas de las tiendas asignadas a l no puede ser mayor en un 5 % a la suma de las demandas de las tiendas asignadas a cualquiera otro almacn.

10.1 Bsqueda

109

i, j (i = j )
Ta Abast(Ai )

D(Ta )
Tb Abast(Aj )

D(Tb ) 1.05

Para cualquier almacn, la suma de las distancias de las tiendas asignadas a l no puede ser mayor en un 5 % a la suma de las distancias de las tiendas asignadas a cualquiera otro almacn. i, j (i = j )
Ta Abast(Ai )

Dist(Ta , Ai )
Tb Abast(Aj )

Dist(Tb , Aj ) 1.05

8. Queremos conectar N ciudades con B autobuses. Cada autobs ha de comenzar su trayecto en la ciudad C1 y nalizarlo en la ciudad CN . Conocemos las distancias entre cada par de ciudades y queremos que el camino recorrido por cada autobs no exceda K kilmetros y que el nmero de paradas que haga cada autobs no sea mayor que P . Buscamos la solucin que conecte todas las ciudades sin que dos autobuses pasen por la misma ciudad (exceptuando C1 y CN ) y recorriendo el mnimo nmero de kilmetros. a ) Queremos utilizar A . Denimos el estado como la asignacin de ciudades a autobuses. El estado inicial consiste en asignar las ciudades C1 y CN a cada autobs. Tenemos un operador que asigna una ciudad a un autobs y cuyo coste es la suma de las distancias entre la ciudad asignada con C1 y CN , slo podemos asignar una ciudad a un autobs si no excedemos el valor P . Como funcin heurstica usamos la suma de las distancias de todas las ciudades por asignar con C1 y CN . b) Aplicar un algoritmo de satisfaccin de restricciones. Las variables son las ciudades, los dominios son los autobuses donde podemos asignarlas. Supondremos que no tenemos en cuenta las ciudades C1 y CN ya que estarn asignadas a todos los autobuses. Como restricciones imponemos que un autobs no est asignado a ms de P ciudades y que la longitud del camino mnimo que recorre las ciudades asignadas a un autobs no sea mayor que K . Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 9. Deseamos construir un circuito integrado de manera que la intensidad de corriente necesaria por los diferentes elementos est equilibrada en todo el circuito. Para simplicar el problema hemos supuesto que el circuito es una cuadrcula de N M . Los diferentes elementos que queremos colocar en el circuito son de K tipos diferentes y tenemos que colocar un nmero ek de cada uno de ellos. Cada tipo de elemento necesita una intensidad de corriente especca. Cada posicin del circuito puede albergar P elementos de cualquier tipo y hemos de colocar todos los elementos. Lo que hemos de conseguir es que la suma de las intensidades que necesitan los elementos para cada la y cada columna no supere un valor I y que la diferencia de intensidad de corriente entre una celda y cada una de sus cuatro vecinas contiguas no sea mayor que un valor V . Se nos plantean las siguientes alternativas: a ) Queremos utilizar satisfaccin de restricciones donde las variables son los diferentes elementos a colocar y los valores son las coordenadas (i, j ) de la cuadrcula. Las restricciones aparecern entre los elementos de manera que la suma de las intensidades de los elementos que compartan la misma la y los que compartan la misma columna sea menor que I y que la diferencia entre la suma de las intensidades de los elementos de una celda con la suma de las intensidades de los elementos de las celdas vecinas contiguas no sea superior en V . b) Queremos utilizar A , para ello recorremos secuencialmente la cuadrcula desde la esquina superior izquierda hasta la esquina inferior derecha. Usamos como operador el colocar de 0 a P elementos en la casilla actual, el coste del operador es el nmero de elementos colocados. La funcin heurstica

110

Captulo 10. Questions dexamen es el nmero de elementos por colocar o innito si la suma de intensidades de los elementos de alguna la o columna supera el valor I o la diferencia entre la suma de las intensidades de los elementos de una celda con la suma de las intensidades de los elementos de las celdas vecinas contiguas no sea superior en V . Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

10. Para hacer presin ante TMB, los sindicatos de conductores de autobuses en Barcelona quieren encontrar la forma de cumplir los servicios mnimos que se les imponen sobre el nmero de autobuses que han de circular por lnea y hora, pero afectando al mayor nmero de usuarios, para que sus reclamaciones les den a ellos mayor poder en las negociaciones. Para ello han construido una tabla que, para cada hora y lnea de autobs, les dice el nmero de usuarios que viajan a esa hora por esa lnea, y el nmero mnimo de autobuses que segn TMB han de pasar durante esa hora por esa lnea para cumplir los servicios mnimos. Sabemos que cada autobs puede llevar hasta p pasajeros. Hay adems otra regla que han de cumplir, y es que TMB tambin impone un nmero mnimo M total de autobuses que han de circular al da, siendo este nmero algo mayor que la suma de los autobuses de los servicios mnimos antes mencionados. Se nos plantean las siguientes alternativas: a ) Queremos utilizar satisfaccin de restricciones donde tenemos una variable por cada combinacin lnea de autobuses y hora, y los valores son el nmero de autobuses asignados a cada lnea y hora. Las restricciones son el nmero mnimo de autobuses para cada lnea y hora, el nmero mnimo de autobuses que han de circular durante el da y que el nmero total de usuarios que se queden sin autobs sea mayor que un cierto valor U . b) Queremos utilizar A . El estado sera la asignacin de autobuses a horas y lneas, partiendo de la asignacin vaca. Como operador utilizaramos asignar un autobs a una lnea y hora, las condiciones de aplicabilidad del operador seran no superar el nmero M de autobuses en la solucin. El coste del operador es p. La funcin heurstica sera la siguiente: h(n) = (M
hora,linea

autobuseshora,linea ) p serv _minhora,linea autobuseshora,linea )

+(
hora,linea

Donde autobuseshora,linea es el nmero de autobuses asignados a una lnea a cierta hora y serv _minhora,linea es el nmero de autobuses que exigen los servicios mnimos. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 11. El rea de Parques y Jardines del Ayuntamiento de Barcelona quiere modernizar su ota de minifurgonetas con una nueva, experimental, impulsada por hidrgeno, que tiene la ventaja de ser altamente ecolgica y fcil de mantener pero que tiene una autonoma muy limitada. Para resolver el problema de la autonoma se han colocado 3 surtidores de hidrgeno por diferentes partes de la ciudad para que la mini-furgoneta pueda repostar. Queremos planicar el recorrido diario de esta mini-furgoneta por los diferentes parques de la ciudad de forma que pueda pasar por todos los parques una vez, tardando el mnimo tiempo posible y pasando por uno de los surtidores cada vez que se le est acabando el hidrgeno. Como datos para esta planicacin disponemos de una tabla que nos indica las posiciones de todos los parques y jardines a visitar y de los tres surtidores, as como la distancia entre cada uno de estos puntos en la ciudad. Sabemos tambin que la mini-furgoneta experimental tiene un tanque de n litros de hidrgeno y que su consumo es de x litros de hidrgeno por kilometro.

10.1 Bsqueda Se nos plantean las siguientes alternativas:

111

a ) Queremos utilizar A* para minimizar el nmero de kilometros recorridos por la furgoneta y reducir el nmero de repostajes al mnimo. Utilizaremos como funcin de coste la longitud del camino (usando la tabla de distancias antes mencionada), donde la funcin heurstica vale innito si la mini-furgoneta no tiene suciente combustible para ir del punto actual a un surtidor, y en caso contrario es la suma de las distancias de los puntos por recorrer al punto actual. El operador aplicable es pasar del punto actual a otro punto. b) Queremos utilizar busqueda local para minimizar el nmero de kilometros recorridos por la minifurgoneta y reducir el nmero de repostajes al mnimo. Partimos de una solucin inicial en la que intercalamos un paso por el surtidor de hidrgeno entre parque y parque. Se dispone de dos operadores de modicacin de la solucin: uno para eliminar del camino un paso por el surtidor, y otro para modicar el orden en el que visitamos alguno de los puntos del camino (ya sea parque o surtidor). La funcin heurstica es la longitud del camino recorrido + 2 kilmetros extra de penalizacin por cada paso por un surtidor. Comenta cada una de las posibilidades indicando si resuelven o no el problema y qu ventajas e inconvenientes tiene cada una de ellas. Justica la respuesta. 12. Un pequeo aeropuerto necesita organizar el horario de los vuelos de un da. El aeropuerto puede aceptar 10 vuelos cada hora y esta abierto 15 horas al da. Para establecer el horario de vuelos, el aeropuerto puede escoger vuelos de 10 compaas diferentes y cada compaa ofrece vuelos a 10 destinos diferentes. El horario no puede tener ms de dos vuelos de la misma compaa a la misma hora y dos vuelos hacia el mismo destino de una compaa han de estar separados al menos seis horas. La ganancia que obtiene el aeropuerto por tener un vuelo de una compaa a un destino depende de su demanda. Queremos maximizar la ganancia del aeropuerto cumpliendo las restricciones. Podemos resolver el problema de dos formas diferentes: a ) Usando A , deniendo como estado la asignacin de vuelos al horario. El estado inicial es el horario vaco, el estado nal se obtiene cuando el horario est lleno. Como operador de bsqueda usamos la asignacin de un vuelo de una compaa a un destino a una hora especca del horario, el coste ser el dinero que el aeropuerto gana con este vuelo. Como funcin heurstica usamos el nmero de vuelos que an se han de asignar al estado. b) Usando satisfaccin de restricciones. Asumimos que un vuelo de una compaa a un destino puede ser asignado como mucho a tres diferentes horas. Creamos un grafo de restricciones que tiene como variables las tres posibles horas a las que un vuelo de una compaa a un destino puede ser asignado. El dominio de una variable es las horas que pueden asignarse a un vuelo y vaco para el caso en el que no se le asigna a ninguna hora. Hay una restriccin entre las variables de un vuelo a un destino de una compaa que impide que la diferencia entre las horas asignadas sea menos que seis horas y una restriccin entre todos los vuelos de una compaa que impide que haya mas de dos vuelos a la misma hora. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 13. Los dueos de cierto hipdromo desean congurar las lista de participantes de cada carrera de una jornada. Cada da se realizan 10 carreras con 10 caballos cada una. Para confeccionar las carreras pueden usar caballos de 8 caballerizas profesionales que ponen 7 caballos cada una a su disposicin. Un caballo puede correr en varias carreras siempre que tenga como mnimo tres carreras de descanso. Tampoco pueden correr ms de dos caballos de la misma caballeriza en una carrera. Que un caballo corra en una competicin tiene un coste para el hipdromo que depende del ranking del caballo. Buscamos minimizar el coste total de las carreras respetando las restricciones. Se plantean dos estrategias distintas para resolver el problema:

112

Captulo 10. Questions dexamen a ) Usar A tomando como estado la asignacin de caballos a carreras. El estado inicial sera la asignacin vaca, el estado nal sera la asignacin completa. Usaramos como operador de cambio de estado el asignar un caballo a una carrera, su coste sera el coste del caballo asignado. Como funcin heurstica usaramos el nmero de caballos que faltan por asignar. b) Usar un algoritmo de satisfaccin de restricciones. Supondramos que un caballo solo puede estar en un mximo de tres carreras. Crearamos un grafo de restricciones cuyas variables seran las tres posibles carreras de cada caballo. El dominio de cada variable sera la carrera en la que corre el caballo o vaco si el caballo no corre. Tendramos una restriccin entre las carreras consecutivas de un caballo que no permitiera que su diferencia fuera menor que tres y una restriccin entre todas las carreras de los caballos de una caballeriza para que no pudiera haber ms de dos caballos en la misma carrera. Comenta cada una de las posibilidades indicando si resuelven correctamente o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

14. Un problema en telefona mvil es asignar a los telfonos que estn llamando en cierto momento la frecuencia en la que tienen que operar y la torre a travs de la que tienen que comunicarse. Tenemos T torres, cada torre de telefona tiene asignadas f frecuencias que puede utilizar. Dos telfonos mviles pueden operar en la misma frecuencia si la distancia que los separa es mayor que d. Una torre no puede manejar mas de t telfonos o tf telfonos en la misma frecuencia, ni tampoco telfonos que estn a una distancia de ms de dt de la torre. Estas podran ser soluciones a este problema: a ) Lo planteamos como un problema de satisfaccin de restricciones. Consideramos que los telfonos mviles son variables y la frecuencia y la torre que se les ha de asignar son los dominios. Tenemos un grafo de restricciones que conecta a los telfonos de manera que dos telfonos no pueden tener la misma frecuencia si su distancia es menor que d. Tenemos una restriccin global que impide que asignemos la misma torre a ms de t telfonos y antes de iniciar la solucin del problema eliminamos del dominio de cada telfono todas las torres que estn a una distancia de ms de dt. b) Lo planteamos como un problema de bsqueda heurstica. Consideramos que el estado es una asignacin total o parcial de torre y frecuencia a los telfonos mviles. Buscamos la secuencia de asignaciones que da un valor a todos los telfonos mviles. Como operador usamos asignar una torre y una frecuencia a un telfono siempre que la asignacin no provoque interferencia por su distancia con otro telfono ya asignado y no supere los lmites de nmero de telfonos por torre y mximo de telfonos con la misma frecuencia de la torre. El coste es la distancia del telfono a la torre asignada. La funcin heurstica es la suma de las distancias de los telfonos por asignar a su torre ms cercana. Comenta cada una de las posibilidades indicando si resuelven correctamente o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 15. El Ministerio de Sanidad y Consumo espaol quiere mejorar el sistema de asignacin de plazas de mdicos a centros hospitalarios. Cada mdico mi tiene una especialidad, acepta un sueldo mnimo determinado (P mi ) y acepta una distancia mxima a recorrer entre su casa y su trabajo (Dmi ). Cada centro ci dispone de xj plazas nuevas por cada especialidad j . El ministerio paga cada plaza de especialidad j a un precio mximo determinado (Pj ), y dispone de un mapa de distancias entre las viviendas de los mdicos y los centros hospitalarios. Se quiere asignar mdicos a centros de manera que se cubra el mximo nmero de plazas nuevas. Supondremos que el nmero de mdicos que solicitan plaza es mucho mayor que el numero de plazas. Se nos plantean las siguientes formas de solucionar automticamente este problema: a ) Queremos usar satisfaccin de restricciones donde las variables son las plazas a cubrir, y sus dominios son el conjunto de mdicos solicitantes mi . Las restricciones son la especialidad, el sueldo y la distancia convenientes para los mdicos y los centros.

10.1 Bsqueda

113

b) Queremos utilizar A* de manera que se pueda asignar un mdico a una plaza (si las especialidades son las mismas y si el sueldo y la distancia son convenientes), y desasignar un mdico de una plaza, ambas operaciones con coste 1. La funcin heurstica h que se pretende usar es el numero de plazas cubiertas. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 16. Tenemos un sistema P2P que utiliza un mecanismo centralizado para asignar a cada cliente qu otros clientes son los que le envan las partes del chero que le faltan. Cada cliente calcula una lista con los retardos medios de transmisin a cada uno de los clientes que conoce (en milisegundos). El mecanismo centralizado conoce el ancho de banda disponible de cada cliente tanto de subida como de bajada (en Kb/s) para el chero que se quiere transmitir. Cada cierto tiempo el mecanismo centralizado distribuye a los clientes con qu otros clientes debe conectarse para recibir partes del chero y qu ancho de banda dedicar. Para cada cliente conocemos qu partes del chero tiene, por lo que podemos saber si puede enviar o no a un cliente. La idea es que minimicemos el tiempo de retardo total de las transmisiones y utilicemos el mximo ancho de banda de bajada disponible de cada cliente. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. a ) Queremos utilizar A de manera que recorremos la lista de clientes en un orden preestablecido. El estado es la asignacin que hemos hecho de clientes y sus anchos de banda a los clientes recorridos. Utilizamos como operador asignar a un cliente uno de los que conoce (siempre que tenga partes del chero que el cliente actual no tenga) y su mximo ancho de banda de subida al cliente actual, cuando el ancho de banda de bajada del cliente actual es superado por la suma de los anchos de banda de subida de los clientes asignados pasamos al siguiente cliente. Evidentemente una vez asignado un cliente para transmitir partes del chero no lo podemos asignar ms veces. El coste del operador es el retardo del cliente asignado. La funcin heurstica es la suma para los clientes que quedan por recorrer de los retardos a los clientes que conocen. b) Queremos utilizar bsqueda local generando una solucin inicial en la que cada cliente recibe de todos los clientes que conoce que tienen partes del chero que le faltan con un ancho de banda de 1 Kb/s. Como operadores tenemos aumentar o disminuir el ancho de banda de un cliente que transmite a otro en 1 Kb/s. La funcin heurstica es la suma para cada cliente de los retardos de los clientes que le transmiten con un ancho de banda superior a 0 Kb/s. 17. Se quiere planicar cmo componer S servicios Web en un nico servicio de orden superior (metaservicio). Cada servicio Web usa un conjunto de agentes informticos que deben ejecutarse en un orden especco para cumplir la tarea que realiza el servicio, estos agentes pueden trabajar en paralelo. Se supone que la accin que realiza cada agente tiene la misma duracin (un paso) y hay que tener en cuenta que un servicio puede necesitar un mismo agente en diferentes pasos de su ejecucin. Se dispone de un agente de cada tipo, teniendo un total de A agentes. El meta-servicio se considera completo cuando se haya completado cada servicio que lo compone. Se plantean las siguientes alternativas para minimizar el nmero total de pasos de ejecucin del meta-servicio: a ) Queremos utilizar A*. Deniremos el estado como la asignacin de pasos de los S servicios individuales a uno de los A agentes en cada paso del meta-servicio. El estado inicial es tener un nico paso del meta-servicio donde ninguno de los agentes tiene un servicio asignado. Los operadores de cambio de estado consisten en: 1) Asignar el primer paso no ejecutado de alguno de los servicios a un agente libre en el paso actual del meta-servicio, con coste uno 2) Aadir un paso nuevo al meta-servicio, con coste uno

114

Captulo 10. Questions dexamen La funcin heurstica es la suma de pasos de los servicios individuales que nos quedan por ejecutar dividida por el nmero de agentes. b) Queremos utilizar satisfaccin de restricciones. Suponemos que el nmero mximo de pasos del meta servicio (M P ) es el nmero de veces que aparece el agente ms utilizado, de manera que usamos S M P variables para representar qu agente ejecuta un paso de un servicio en la secuencia de pasos del metaservicio. El dominio de cada variable son los A agentes, mas un valor que indica que la variable no esta asignada. Las restricciones son las siguientes: 1) Para las variables de servicio en un paso, estas no pueden tener el mismo agente. 2) Para las variables de un mismo servicio, estas no pueden violar la secuencia de acciones del servicio Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

18. En la pasarela Gaud han de organizar diez desles para diez diseadores, dos por da, sabiendo que algunos diseadores se niegan a deslar el mismo da que algn otro. Se han de asignar las y los modelos a los desles (m por desle) sin que la misma persona desle ms de tres veces en total. Cada diseador tiene tambin unas restricciones de altura y peso para sus modelos. Los organizadores de la pasarela han de pagar a los modelos y cada uno tiene su tarifa por participar en un desle. Obviamente, los organizadores quieren pagar lo menos posible. La organizacin se plantea tres estrategias distintas para resolver el problema de la pasarela: a ) Usar un algoritmo de bsqueda local intentando minimizar el coste de la pasarela. La funcin heurstica es la suma de las tarifas de los que participan en los desles mas una constante K por cada restriccin entre diseadores o modelos que no se cumpla. La solucin de partida coloca dos diseadores cualesquiera en cada uno de los das y m modelos por desle. Los operadores de cambio de estado son intercambiar_desfile, que intercambia los das en que deslan dos diseadores, aadir_modelo a un desle concreto, quitar_modelo de un desle e intercambiar_modelo entre dos desles. b) Resolvemos primero el problema de asignar los diseadores a los desles mediante un algoritmo de satisfaccin de restricciones. A partir de esa asignacin usamos el algoritmo de A para solucionar la asignacin de los modelos a los desles. El estado es una asignacin parcial de modelos a desles. Utilizamos como operador aadir_modelo a un desle concreto que comprueba que no haya ms de m modelos en el desle y que se cumplan las restricciones del diseador e intercambiar_modelo entre dos desles que tambien comprueba las restricciones del diseador, el coste del operador asignar es la tarifa del modelo asignado, la del operador intercambiar es la del modelo mas caro de los dos. Como funcin heurstica usamos el nmero de modelos que falta incluir en los desles multiplicado por la tarifa del modelo mas caro. c ) Usar un algoritmo de satisfaccin de restricciones. Primero resolver el problema de asignar modelos a cada uno de los desles, teniendo en cuenta las restricciones de cada diseador, y luego, una vez determinada la composicin de cada desle, montar el calendario (qu dos desles tocan cada da) teniendo en cuenta que no se emparejen dos diseadores que no se pueden ver y que no haya modelos que deslen ms de tres veces. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 19. Queremos transmitir X Kbits entre dos mquinas MI y MF , para ello hemos de establecer C canales de comunicacin que han de atravesar N mquinas (M1 , M2 , ... MN ) que hacen de puntos intermedios (C N ), los X Kbits los dividimos a partes iguales por cada canal. Conocemos la velocidad en kbps del canal que se puede establecer entre cada par de mquinas (incluidas MI y MF ), queremos que la velocidad media de un canal sea como mnimo V Kbps y que un canal no atraviese ms de P mquinas.

10.2 Representacin

115

Buscamos la solucin que conecte todas las mquinas sin que dos canales pasen por la misma mquina (exceptuando MI y MF ) tardando lo menos posible en transmitir los X Kbits. a ) Queremos utilizar A . Denimos el estado como la asignacin de mquinas a canales. El estado inicial consiste en asignar las mquinas MI y MF a cada canal. Tenemos un operador que asigna una mquina a un canal y cuyo coste es la velocidad media del canal que empieza en MI , pasa por la mquina y acaba en MF , solo podemos asignar una mquina a un canal si no excedemos el valor P . Como funcin heurstica usamos la suma de las velocidades medias de todos los canales que se obtienen poniendo cada mquina que queda por conectar como nico nodo intermedio entre MI y MF . b) Aplicar un algoritmo de satisfaccin de restricciones. Las variables son las mquinas, los dominios son los canales donde podemos asignarlas. Supondremos que no tenemos en cuenta las mquinas MI y MF ya que estarn asignadas a todos los canales. Como restricciones imponemos que un canal no est asignado a ms de P mquinas y que la velocidad media mnima del canal que incluye las mquinas asignadas sea mayor que V . Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta. 20. Queremos generar los horarios para una compaa area desde distintas ciudades europeas (c ciudades) a Nueva York. Se conoce el nmero estimado de pasajeros por da de la semana y ciudad. Cada ciudad ha de tener un nmero mnimo de vuelos por semana (vs), preestablecido por la compaa. Adems se ja tambin un nmero mximo M total vuelos que la compaa puede hacer llegar al da a Nueva York. En cada avin caben p pasajeros. Con los M vuelos diarios deberamos tener suciente para poder cubrir los vs vuelos semanales desde cada ciudad. Se plantean las siguientes alternativas para maximizar el nmero de usuarios transportados por semana: a ) Queremos usar satisfaccin de restricciones, donde hay una variable por cada combinacin de ciudad y das de la semana, los valores son el nmero de vuelos de esa combinacin. Las restricciones son: La suma del nmero de vuelos para una ciudad en una semana no puede ser menor que vs, la suma del nmero de vuelos para un da no ha de ser superior M y el nmero total de plazas que se quedan vacas tiene que ser menor que un cierto valor u c. b) Queremos usar A para maximizar el nmero de personas que transportamos. El estado es una asignacin parcial de aviones a ciudades y dias de la semana. Tenemos un operador que consiste en incrementar los vuelos de un da y ciudad concretos si quedan pasajeros por transportar comprobando no salgan mas de M vuelos diarios, el coste del operador es uno o innito si superamos los vuelos por semana de la ciudad. Como funcin heurstica usamos la parte entera entre el cociente entre p y el nmero de pasajeros que quedan por transportar. c ) Queremos usar bsqueda local, donde se genera una solucin inicial colocando sucientes aviones para cubrir el mnimo nmero de vuelos de cada ciudad para cada semana. Los operadores consisten en: mover un vuelo de da y/o ciudad y aadir un vuelo a un da y ciudad. Se minimiza el nmero total de plazas que se quedan vacas. Comenta cada una de las posibilidades indicando si resuelven o no el problema, qu errores te parece que tiene cada solucin y cmo se podran corregir, y qu ventajas e inconvenientes tienen cada una de ellas. Justica la respuesta.

10.2 Representacin
1. Dentro de la representacin del conocimiento basada en Frames Que caractersticas debe cumplir una relacin para que sea transitiva? Pon un ejemplo.

116

Captulo 10. Questions dexamen

2. Dada la red de frames de la gura, responde a las siguientes preguntas, justicando tu respuesta:

sA

A1

sA1

A2

sA2

a ) Suponiendo que tengamos un slot sA en el frame A y un slot sA1 en el frame A1. Dada una instancia iA del frame A Cmo podemos obtener el valor del slot sA1? b) Suponiendo que tengamos un slot sA en el frame A y un slot sA2 en el frame A2. Dada una instancia iA2 del frame A2 Cmo podemos obtener el valor del slot sA? c ) Dene un mtodo en A con un parmetro p, que tiene el mismo tipo que el rango del slot sA, que retorne todas las instancias de A1 y A2 que tienen el valor p en el slot sA. d ) Suponiendo que tenemos una relacin de usuario r_A2_B denida entre el frame A2 y el frame B, cuya inversa es r_B_A2. Dene un slot sB que, para una instancia de B, nos de todas las instancias de A2 con las que est relacionado mediante r_A2_B, que tengan en el slot sA el mismo valor que alguna instancia del frame A1 e ) Supongamos que denimos una relacin r_A1_A2 que permite la herencia de los slots sA1 y sA2. Dene esta relacin. Esta relacin te permitira implementar de forma ms sencilla el slot sB del apartado anterior? Por qu? 3. Nuestra base de conocimientos consta de las clases A y B que tienen, respectivamente, los slots que aparecen en la gura siguiente:

A
slotA1 slotA2

B
slotB1 slotB2

a ) Qu hay que hacer para que la clase A herede el slotB1 de la clase B? posibilidades Describe detalladamente todas las alternativas que se te ocuu mecanismo de los que has descrito te parece el ms adecuado. b) Supn que tenemos n instancias directas de A y m instancias directas de B con n>m y que A hereda el slotB1 de B. Explica en qu circunstancias es cierta la armacin siguiente las n instancias de A tienen el atributo slotB1. Considera las distintas posiblilidades que has dado en el primer apartado. c ) Nos hemos enterado de que la clase A y la B son ambas subclases de la clase C. Cambiaras alguna de las respuestas anteriores teniendo esta informacin? Justifcalo. d ) Hemos de ubicar un mtodo que liste todos los valores distintos del slotB1 que tienen las instancias de A y de B. Dnde lo colocaras? Justifcalo. 4. La empresa AMC Entertainment quiere ampliar los servicios que presta y ha decidido construir una aplicacin que soporte consultas complejas sobre la gran cantidad de vdeos que almacena. La siguiente

10.2 Representacin

117

gura muestra la ontologa bsica de esta nueva aplicacin y algunos de los descriptores que han considerado necesarios.

Video

Nombre Calificacion Duracion Color

Persona

Nombre Fecha nacimiento

Productora

Nacionalidad

Director

Actor

a ) La empresa sabe que los vdeos pueden estar clasicados por distintos criterios, como por ejemplo, el tipo de programa (pelcula, documental, serie, deporte, noticias, ...), el gnero (drama, comedia, accin, histrica, ...), su temtica (naturaleza, noticias generales, historia, ciencia, ...), etc. Ahora bien, no saben si merece la pena hacer una subclasicacin de los vdeos, incluyendo todas las subclases que haga falta, o es suciente con incluir en el frame VIDEO tres slots, tipo, gnero, temtica y ya est. Cul de las dos alternativas te parece ms aconsejable? Justica la respuesta. b) Dene, usando el lenguaje visto en clase, las relaciones necesarias para saber quin es actor de un vdeo, quin es el director y quin dirige a un actor. c ) La empresa considera que la nacionalidad de un vdeo es, directamente, la de su productora. Como mnimo hay dos mecanismos razonables para que un vdeo asuma esa nacionalidad: por HERENCIA, que se obtiene cuando se consulta la nacionalidad del vdeo. por COPIA en el momento en que se relacionan el vdeo y su productora. Implementa completamente ambas opciones y comenta, brevemente, las ventajas y desventajas de cada una de ellas. d ) Piensan que una consulta frecuente ser la de querer todos los vdeos del director X, del perodo Y y del gnero G. Escribe el mtodo correspondiente indicando dnde lo ubicaras. Cambiara la ubicacin del mtodo en funcin de las dos posibilidades ontolgicas del apartado a)? Justica la respuesta. 5. La siguiente red de frames representa una parte de las diferentes entidades necesarias para denir historias
Personaje Vinculo Suceso

Personaje Humano

Personaje no humano

Vinculo Afectivo

Vinculo Familiar

Pelea

Encuentro

Amistad Enemistad Amor

Parental Fraternal

a ) Aade lo necesario para poder representar que dos personajes estn relacionados mediante el concepto parental (vnculo padre-hijo), representando que un personaje es el padre/madre y otro el hijo.

118

Captulo 10. Questions dexamen b) Aade lo necesario para que dos o ms personajes puedan estar relacionados mediante el concepto fraternal (vnculo entre hermanos) comprobando que todos los personajes pertenezcan a la misma clase de personaje. c ) Supn que existe una relacin participa entre personaje y suceso (de cardinalidad N a N). Aade lo necesario para que dos personajes no puedan relacionarse mediante el suceso pelea si no estn relacionados mediante el suceso encuentro d ) Dene una relacin en el frame suceso que represente la precedencia temporal entre sucesos y un mtodo que liste los sucesos que han ocurrido antes que l

6. Dada la siguiente red de frames, responde a las siguientes preguntas, justicando tu respuesta:

r_A_A r_B_A

slB

B2

B1

A1

A2
slA2 r_A2_A4

A3

A4
slA4

a ) Tenemos la instancia iA1 que es instancia de A, en que circunstancias tiene los slots slA2 y slA4? b) Es la relacin r_A_A transitiva? Lo podra ser la relacin r_B_A? c ) Puede tener la relacin r_A2_A4 slots heredables? d ) Como habra que denir la relacin r_B_A para que el slot slA4 se pudiera obtener por herencia en las instancias de B? y para obtener el slot slB en las instancias de A? 7. Una empresa de mensajera quiere gestionar los envos que realiza. La siguiente ontologa muestra los elementos ms importantes que maneja:
Envo Cliente Almacn

Paquete

Correo

Empresa

Particular

Centro Reparto

Centro Distribucin

Para calcular el coste de los envos se aplican tarifas distintas en funcin tanto del tipo de envo como de la categora del cliente emisor y de la distancia entre los centros de reparto asociados al cliente emisor y al receptor. El sistema dispone de tablas de tarifas y de distancias entre almacenes. a ) Aade lo necesario para que se pueda representar qu cliente hace cada envo y qu cliente lo ha de recibir. Aade lo necesario para que se pueda calcular el coste de un envo concreto. b) Un envo llega a un centro de reparto origen y puede pasar por varios de distribucin intermedios hasta llegar al centro de reparto destino en que lo recoger el cliente receptor. El envo de paquetes es especialmente crtico para la empresa de mensajera. Cada vez que un envo tipo paquete llega a un almacn, el operario informa al sistema de que el paquete ha cambiado de ubicacin: ahora se encuentra en ese almacn y ha dejado de estar en el almacn anterior en la secuencia

10.2 Representacin

119

de almacenes recorridos. Cuando el envo ha sido recogido por el cliente destinatario, se anota convenientemente este acontecimiento en el sistema. Qu haras para que se pudiera recuperar la ruta que ha seguido el envo? Describe detalladamente tu propuesta, deniendo completamente todos los elementos que deban incorporarse a la representacin. c ) Desde que un paquete entra en el centro de reparto origen y hasta que nalmente lo recoge el cliente destinatario queremos que tenga asociado un nmero de telfono que corresponda al nmero de telfono del almacn donde est ubicado en el momento de consulta. Cmo debe modicarse la representacin para que el sistema pueda deducir esta informacin? Un mecanismo de herencia sera vdido? d ) Dene el mtodo inventario que, para un almacn, haga un listado de los envos de un determinado tipo que tiene asignados en el momento de la consulta, indicando el nombre del cliente que ha de recibirlo y si el almacn es el centro de reparto origen, el centro de reparto destino o un centro intermedio. Ubica adecuadamente el mtodo. Dene lo que creas necesario para que se pueda implementar el mtodo. Existe algn problema con lo denido en el apartado b? Es heredable este mtodo? 8. La Federacin Catalana de Natacin desea gestionar toda la informacin relacionada con las competiciones de natacin mediante un sistema basado en frames. Los conceptos bsicos que maneja son:
Nombre

Entidad
Razn Social Identificador Telfono Direccin F. Nacimiento Num. federado

Evento

Club

Persona

Competicin
Nombre Lugar Fecha Hora

Prueba
Categora Distancia Estilo Sexo

Serie
Nmero

rbitro
Num. Registo Categora

Cronometrador
Num. Registo

Nadador

Prebenjamn Benjamn

Absoluto Infantil Alevn

Cada competicin tiene un nombre que la identica (Trofeo Sant Jordi, Jornada n.3 Liga Infantil, ...) y est organizada en pruebas segn categoras de los nadadores (pre-benjamn, benjamn, alevn, infantil, jnior, absoluta), estilo, distancia y sexo. Cada prueba puede tener una o ms series, dependiendo del nmero de nadadores que tienen que nadarla (en cada serie puede nadar un mximo de 8 nadadores). Para cada competicin se asigna un jurado que consta de 4 rbitros (el juez rbitro, el juez de salidas, el juez de llegadas y el secretario) y N cronometradores (el jefe de cronometradores y entre 3 y 8 cronometradores). a ) Dene las relaciones necesarias para identicar el juez rbitro de cada competicin, las pruebas de cada competicin y los nadadores de cada serie. Esta ltima relacin debe controlar que no se asigne a una serie un nadador de un club que no gura como club participante en la competicin correspondiente (aade lo que sea necesario). b) Dene un mtodo, con un parmetro, que nos permita obtener los nombres de todos los nadadores de una determinada categora que pertenecen a un club concreto y por cada nadador nos indique los nombres de las competiciones en las que ha participado. Justica razonadamente donde es ms adecuado ubicar el mtodo. c ) Para cada nadador se desea asociar como nmero de telfono el nmero del telfono del club al cual pertenece. Aade todo lo que sea necesario para que el sistema pueda realizar la inferencia

120

Captulo 10. Questions dexamen adecuada. La Federacin no permite que un nadador pertenezca a ms de un club. En caso de que s lo permitiera, la solucin que propones seguira siendo vlida?

9. El anlisis de una organizacin como una universidad nos ha permitido identicar, entre otros, el siguiente conjunto de frames y sus relaciones jerrquicas.
Unidad Estructural Asignatura

Departamento

Centro

Instituto

Titulacion

Nivel

Persona

T_Grado

Nivel=grado T_Postgrado

Nivel=postgrado

Profesor

Estudiante

PAS

T_Tecnica

T_Superior

T_Master

T_Doctorado

Tenemos que una universidad se compone de unidades estructurales que podemos clasicar en departamentos, centros docentes e institutos de investigacin. Por otro lado, tambin se han identicado tres categoras de personas miembros de la universidad: profesores, estudiantes y personal de administracin y servicios. Y en ltimo lugar, una universidad oferta titulaciones que pueden ser de grado o de postgrado. Dentro del primer tipo encontramos las titulaciones tcnicas y las titulaciones superiores y dentro del segundo tenemos los masters y los programas de doctorado. a ) A partir del diagrama de frames descrito anteriormente, incorpora y dene todo lo necesario para que se pueda determinar: 1) A qu titulaciones pertenece una asignatura (la misma asignatura puede pertenecer a ms de una titulacin del mismo centro), 2) Qu titulaciones imparte cada uno de los centros docentes (asumimos que una titulacin es impartida por un nico centro), 3) En qu centro docente se imparte una asignatura, 4) A qu departamento pertenece un profesor, 5) Quin es el profesor responsable de una determinada asignatura. Para esta cuestin hay que tener en cuenta que un centro encarga docencia a algunos departamentos y, por tanto, el profesor responsable de una asignatura ha de pertenecer necesariamente a un departamento que tenga encargada docencia por parte del centro en el cual se imparte la asignatura. b) Queremos un listado que, dado un centro y una de sus titulaciones, nos indique qu asignaturas pertenecen a esa titulacin y para cada una de ellas quin es el profesor responsable y a qu departamento pertenece. Incorpora y dene todo lo necesario para que se pueda obtener esa informacin. Justica las decisiones tomadas. c ) Se nos plantea la necesidad de que una asignatura herede el nivel de la titulacin a la que pertenece. Analiza si eso es posible. En el caso de que consideres que s es posible, modica lo necesario y detalla cmo funcionara el mecanismo de herencia. Alternativamente a este mecanismo, se podra considerar la existencia de un slot nivel en asignatura cuyo valor fuera el mayor de los niveles de las titulaciones a las que pertenece (asumimos que grado<postgrado). Dene todo lo necesario para implementar esta otra opcin. 10. Tenemos tres frames A, B, C y las deniciones de las siguientes relaciones:

10.2 Representacin RAB A B N 1 R AB (1) no RBC B C 1 1 R BC (N) no RCC C C 1 1 R CC (1) no

121

Dominio Rango Cardinalidad Inversa Transitiva

a ) Podra ser la relacin RCC transitiva? Justica tu respuesta. b) Es posible denir un slot sb en el frame B con un demon if-needed con parmetro x que retorne todas las instancias de C que tengan el valor de x en el slot sc (sc y x son del mismo tipo)? Implemntalo si la respuesta es armativa o justica tu respuesta si es negativa. c ) Dene un mtodo en el frame B que retorne todas las parejas de instancias de B que tengan una 1 relacin R AB con la misma instancia de A y tal que ambas tengan ademas una relacin RBC con alguna instancia de C. d ) Queremos denir el slot sb en el frame A de tipo booleano y cardinalidad uno y una relacin entre los frames A y C de manera que las instancias de C puedan heredar este slot. Dene el slot y la relacin de manera que esta herencia sea posible suponiendo que la cardinalidad del slot no se puede cambiar (si hay varias posibilidades, indcalo). 11. En facebook quieren aumentar la capacidad de extraer informacin de las relaciones que hay entre sus usuarios y han decidido utilizar un lenguaje de frames para representarla. Consideran que hay tres conceptos que les interesan, que son los usuarios, los muros de los usuarios y los mensajes en los muros de los usuarios. a ) Estn considerando las siguientes relaciones, la relacin amigo entre usuarios, la relacin escribe entre usuario y mensaje en un muro (asumiremos que cualquier usuario puede escribir en cualquier muro), la relacin me gusta entre usuario y mensaje que representa que al usuario le gusta el mensaje que otra persona ha escrito en un muro, la relacin muro_de entre muro y usuario (cada usuario tiene solo un muro) y la relacin escrito_en entre un mensaje y el muro en el que esta escrito (un mensaje solo puede estar escrito en un muro). Dene completamente estas relaciones utilizando el lenguaje de frames visto en clase. b) Dene el slot pesado en usuario que sea cierto si ha escrito en los muros de sus amigos ms veces que sus amigos han escrito en su muro. c ) Dene el mtodo gustos similares en usuario que retorne para un usuario todos los usuarios a los que les ha gustado algn mensaje que el usuario ha escrito los muros de sus amigos y que no son amigos suyos. d ) Hemos denido el slot popular en mensaje que es cierto si un mensaje le ha gustado a ms de 10 usuarios y queremos que un usuario herede este slot a travs de la relacin escribe. Modica la representacin y dene lo necesario para que esto sea posible o si no es posible explica el porqu. 12. La compaa Twitter1 quiere crear aplicaciones para poder tratar todo el contenido que se publica en su servicio y como paso inicial quiere crear una ontologa que lo describa. El primer concepto que quiere usar es el de usuario, que puede especializarse en personas y entidades. El segundo es el mensaje (o tweet ) que puede ser largo (si tienen ms de 70 caracteres) o corto. El tercer concepto es el tema (o hashtag ) que es el trmino con el que los usuarios marcan sus mensajes, clasicados en personal, comercial y noticias. Un tweet puede tener varios hashtags. a ) Estan considerando las siguientes relaciones, la relacin follower entre usuarios, que indica que un usuario sigue los tweets de otros, la relacin tweetea entre un usuario y sus mensajes y la relacin asunto entre un mensaje y sus temas. Dene completamente estas relaciones utilizando el lenguaje de frames visto en clase.
1 Para quien no sepa que es Twitter, es un sistema de microblogging donde los usuarios pueden escribir mensajes de hasta 140 caracteres con cualquier contenido.

122

Captulo 10. Questions dexamen b) En twitter se llama retweet a hacerse eco de los mensajes de otros usuarios copindolos o referencindolos en un mensaje propio. Tambin se puede hacer retweet de un retweet. Dene la relacin es_retweet como una relacin entre mensajes. Dene el slot eco que nos diga cuantas veces un usuario retweetea mensajes de otros usuarios. c ) Dene un mtodo en mensaje que retorne el usuario si es un mensaje original (no es un retweet) o el usuario que ha originado el mensaje si no lo es. Tened en cuenta que un retweet no tiene por que ser del mensaje original. d ) Un trending topic es un tema sobre el que se esta hablando durante un periodo de tiempo ms veces que el resto de temas. Se podra denir un slot trending topic en tema que nos indique los diez temas mas comentados en un periodo de tiempo? Si no es la mejor solucin, indica el porqu y dene una alternativa, aadiendo a la representacin lo que necesites. Puedes suponer que tienes una estructura de datos que permite almacenar temas, llevar la cuenta del numero de veces que se han insertado y obtener los n ms frecuentes.

13. Foursquare es una red social que permite compartir localizaciones entre usuarios, de manera que puede servir como un sistema de geolocalizacin y como un sistema para recomendar lugares que se visitan con frecuencia. Los usuarios de este servicio se pueden categorizar en usuarios espordicos, solo comparten lugares de vez en cuando, y los que marcan tendencia (trenders ), que comparten continuamente los lugares por los que pasan. Tambin hay empresas que se promocionan y comparten su localizacin con los usuarios para atraer ms pblico. Los lugares que hay en el servicio se pueden clasicar segn su localizacin geogrca en lugares urbanos (ciudades, pueblos, urbanizaciones) y naturaleza (montaa, playa, ...). Estos tambin se pueden clasicar segn su temtica en lugares de restauracin (bares, restaurantes), ocio (cines, discotecas, teatros, musica, ...), cultura (museos, conciertos, bibliotecas), turismo (monumentos, edicios, lugares pintorescos, playas, ...), compras (ropa, alimentacin, libros, ...), etc. Finalmente, tambin se representan las visitas de los usuarios a los lugares, para las cuales registra la fecha y hora de la visita y el tiempo que se ha estado en el lugar. Las visitas se clasican en cortas y largas segn si su duracin es mayor o menor a dos horas. a ) Dene completamente las siguientes relaciones: Recomienda, entre usuario y lugar, indicando que el usuario recomienda el lugar Amigo, entre usuarios, indicando que los usuarios tienen una relacin de amistad Realiza, entre usuario y visita, indicando que el usuario ha realizado una visita y al lugar, entre visita y lugar, indicando que la visita se realiza al lugar b) Dene el slot seguidores, en usuario que retorne todos los amigos que han visitado alguno de los lugares que ha recomendado. c ) Dene la relacin ahora entre usuario y lugar, indicando que el usuario est actualmente en ese lugar. Dene un slot estan_aqu que se actualice con la lista de sus amigos que estn en ese lugar cuando se crea la relacin ahora y que sea vaca cuando se destruye. Que ventajas/inconvenientes tendra el usar un mtodo en lugar del slot propuesto? d ) Dene el slot gratis en lugar, indicando si el lugar es o no gratuito. Dene lo necesario para que el concepto visita herede este slot, indicando que la visita ha sido gratuita. Dene el slot sin_blanca en usuario que sea cierto si ms de la mitad de las visitas del usuario han sido gratuitas. 14. La compaa de subastas on-line eBay quiere crear aplicaciones para poder tratar todas las transacciones que realizan sus usuarios y como paso inicial quiere denir una ontologa que describa toda la informacin que maneja. El primer concepto que quiere usar es el de usuario, que puede especializarse en vendedor y comprador (un usuario puede pertenecer a ambas categoras). El segundo es el de producto, que puede clasicarse en electrnica (ordenadores, cmaras, consolas, mviles, ...), coleccionables (monedas, sellos, comics, ...), entretenimiento (cine, msica, ...), motor (coches, motos, barcos, ...), juguetes (radio control,

10.2 Representacin

123

trenes, infantiles, ...), ... El tercero es la subasta, que puede especializarse en subastas rpidas (menos de 24 horas) y subastas largas. El ltimo es la puja, que representa que un usuario comprador ha pujado en una subasta cierta cantidad de dinero. a ) Estan considerando las siguientes relaciones, la relacin abre entre vendedor y subasta, la relacin vende entre subasta y producto, la relacin enva entre comprador y puja y la relacin oferta entre puja y subasta. En una subasta se vende un nico producto que, si no se adjudica a nadie, no se puede volver a subastar. Dene completamente estas relaciones utilizando el lenguaje de frames visto en clase. b) Cuando un vendedor quiere vender un producto, ha de crear su descripcin en eBay, es decir, primero ha de ponerlo a la venta dando una descripcin para luego poder subastarlo. Dene la relacin en venta entre vendedor y producto. Dene el slot pendientes en vendedor que retorne el nmero de productos que un vendedor an no ha subastado. c ) Una subasta tiene una fecha de inicio, una fecha de nal y un precio inicial. Una puja tiene una cantidad ofrecida y una fecha. Asumiendo que el mtodo de subasta es al alza, dene lo necesario para que se compruebe que una puja sea correcta, es decir, que una puja ofrezca una cantidad mayor que la ltima que se ofreci. d ) Los usuarios vendedores tienen un slot que indica su indice de abilidad (cmo es el producto real respecto a lo que dice en su oferta) que es un valor entero entre 0 y 5. Modica lo necesario para que una subasta herede el ndice de abilidad de su vendedor. Sera posible redenir la relacin vende para heredar este slot en producto? Explica tu respuesta. e ) Implementa un mtodo envos que nos retorne una lista con el identicador de los compradores que han ganado las subastas de un da concreto junto con el identicador de los productos que han comprado. Indica donde se denira este mtodo, aadiendo los elementos que sean necesarios a la representacin.

También podría gustarte