Sei sulla pagina 1di 15

Problemas de Inteligencia Articial I Cuarto curso de Ingenier a Inform atica, Universidad de Sevilla B usqueda en espacios de estados

(Curso 20112012)

1. Consideremos un problema de espacio de estados con factor de ramicaci on constante b y con una u nica soluci on que se encuentra a profundidad d. Calcular, tanto en el mejor como en el peor de los casos, el n umero de nodos que se necesitan analizar para encontrar la soluci on, al aplicar un algoritmo de b usqueda en anchura. An alogamente para la b usqueda en profundidad. Calcular, tanto en el mejor como en el peor de los casos, el m aximo n umero de nodos que podr an estar a la espera de ser analizados en la lista de ABIERTOS, al aplicar el algoritmo de b usqueda en anchura. Lo mismo para el algoritmo de b usqueda en profundidad iterativa. 2. Especicar, razonando la respuesta, un problema de espacio de estados en el que la lista de cerrados en los algoritmos de b usqueda en anchura y en profundidad sea superua. 3. Consid erese un problema de espacio de estados en el que las soluciones, en caso de existir, tienen todas un n umero jo de operadores igual a d. En caso de tener que usar un m etodo de b usqueda no informada para solucionar el problema qu e m etodo ser a el m as conveniente? Justicar la respuesta. 4. El problema de los misioneros y los can bales se enuncia de la siguiente manera: En la orilla izquierda de un r o se encuentran M misioneros, C can bales y una barca en la que caben como m aximo P personas; se trata de determinar c omo pueden trasladarse los misioneros y los can bales a la orilla derecha teniendo en cuenta que en la orilla en la que no est e la barca no debe haber m as can bales que misioneros y que queremos minimizar la suma total de cambios de orilla realizados por cada una de las personas. Plantear el problema como un problema de espacio de estados e indicar qu e algoritmo de b usqueda informada (y qu e heur stica) se usar a para encontrar una soluci on. 5. Se desea distribuir varios trabajos de c omputo entre los distintos procesadores de un sistema. Los trabajos que deben hacerse son conocidos a priori, y de cada uno de ellos se sabe con precisi on el tiempo que requieren para llevarse a cabo en un solo procesador, sin interrupciones, desde el principio hasta su conclusi on (el tiempo es independiente del procesador utilizado). Cada procesador puede ser usado con la condici on de que no est a ocupado con el procesamiento de otro trabajo. El objetivo es minimizar el tiempo completo de procesamiento de los trabajos cuando se considera la asignaci on en paralelo entre los procesadores. Para ello: a ) Formalizar el problema como un problema de espacio de estados y obtener una funci on heur stica admisible que sirva para minimizar el tiempo completo de procesamiento. b ) Qu e algoritmo de b usqueda habr a que emplear? Razone su respuesta. c ) Cual es el m etodo m as adecuado para resolver este problema? Razone su respuesta. 6. Consideremos el siguiente puzle: se dispone de 3 chas negras (N), 3 chas blancas (B) y una casilla vac a, en la siguiente posici on inicial: NNNBBBV El objetivo del puzle consiste en colocar todas las chas blancas a la izquierda de las chas negras, independientemente de la posici on de la casilla vac a. Para ello, los movimientos permitidos son los siguientes: 1

Una cha puede moverse a una celda adyacente vac a, con coste 1. Una cha puede desplazarse a una celda vac a saltando dos chas como m aximo, con un coste igual al n umero de chas saltadas. Se pide: Denir una funci on heur stica para este problema, justicando su admisibilidad. Para resolverlo, utilizar as el algoritmo de b usqueda por primero el mejor o el algoritmo A ? Por qu e?

7. Explicar esquem aticamente (sin entrar en detalles de implementaci on) la representaci on como espacio de estados del siguiente problema. Especicar la representaci on de estados y operadores, el estado inicial, los estados nales, el conjunto de operadores, c omo se aplican estos operadores y el coste de dicha aplicaci on. Denir tambi en una heur stica, indicando si es admisible y justicando la respuesta. El problema es el siguiente: dados cuatro n umeros naturales n, m, r y T , encontrar una secuencia m nima de operaciones aritm eticas b asicas (suma, resta, multiplicaci on y divisi on) que usando n y m u nicamente y partiendo de 0, obtenga como resultado T , con la restricci on adicional de que ni n ni m se pueden usar m as de r veces. Por ejemplo, si n = 2, m = 3, r = 3 y T = 28, una posible soluci on (no necesariamente m nima) es ((((((0 + 3) 3) 2) 3) 2) 2), ya que el resultado es 28 y ni 2 ni 3 se han usado m as de tres veces cada uno. 8. Consid erese el problema del 3-puzle, versi on reducida del problema del 8-puzle, en el que en un cuadrado 2 2 se disponen tres bloques (y por tanto un hueco) numerados del 1 al 3. Los estados inicial y nal son, respectivamente:

1 3 2

2 3

Estado inicial

Estado final

Tomamos como operadores del problema el movimiento del hueco arriba, abajo, a la izquierda y a la derecha (en ese orden) y como coste de aplicar un operador el valor 1. Representar gr acamente los arboles correspondientes a los siguientes algoritmos de b usqueda. B usqueda en profundidad. B usqueda A con la heur stica h1 que cuenta la distancia Manhattan desde la posici on del hueco a la posici on del hueco en el estado nal. B usqueda por primero el mejor con la heur stica h2 que cuenta el n umero de bloques que no est an en la posici on que deben ocupar en el estado nal. En cada caso, anotar junto a cada nodo el orden en el que se analiza y su heur stica o coste m as heur stica, cuando sea relevante. A igualdad de valoraci on, resolver los conictos escogiendo el nodo que m as tiempo lleve en la cola de espera. Es h1 admisible? Es h2 admisible? Cu al est a m as informada?

9. Consideremos un robot m ovil que se puede desplazar por la malla siguiente, donde los lados de la malla son de longitud 1 metro.

Cada localizaci on L del robot viene dada por las coordenadas (i, j ) del nodo en el que se encuentra, junto con su orientaci on: Norte, Sur, Este, Oeste. Por ejemplo, la localizaci on del robot situado en la malla anterior es (1,1), orientaci on Oeste. En cada momento, el robot puede: desplazarse en el sentido de su orientaci on actual hasta el siguiente nodo, o girar sobre s mismo 90 grados en un sentido u otro, manteni endose en las mismas coordenadas. Adem as, sabemos que: tarda 4 s. en realizar un giro sobre s mismo. se desplaza a 0.5 m/s por los tramos de trazo grueso. se desplaza a 1 m/s por los tramos de trazo no. Se pide: (a) Formalizar el problema de trasladar el robot desde una localizaci on a otra en el m nimo tiempo como un problema de b usqueda en espacio de estados. (b) En el caso concreto de trasladar el robot desde la localizaci on L1 ((1, 1), orientaci on Oeste), hasta la localizaci on L2 ((2, 2), orientaci on Norte): Denir una funci on heur stica admisible, lo m as informada posible, y justicar su admisibilidad. Aplicar el algoritmo A*, utilizando la funci on heur stica denida en el apartado anterior, especicando el orden de generaci on y el orden de an alisis de los nodos. Describir la soluci on encontrada y el coste de la misma Es la soluci on encontrada la que tiene tiempo de recorrido m nimo? Justica la respuesta. Nota: en caso de empate en la valoraci on de los nodos, ordenar seg un la orientaci on dada por la lista (E, S, O, N ). 10. Dado el conjunto de valores enteros I = {i1 , i2 , i3 , ..., iN }, encontrar un subconjunto no vac o S I cuyos elementos sumen cero. a ) Formaliza este problema como problema de espacio de estados indicando de forma precisa los distintos elementos que lo componen. b ) Si se pretende encontrar una soluci on que minimice la suma de los cuadrados de los elementos de S . Qu e algoritmo garantizar a la misma? (Completar, con la informaci on necesaria, la formalizaci on dada seg un el algoritmo escogido).

11. Problema de las torres de Hanoi: en un templo hind u se encuentran tres varillas de platino. En una de ellas, hay 64 anillos de oro de distintos radios, colocados de mayor a menor. El trabajo de los monjes de ese templo consiste en pasarlos todos a la tercera varilla, usando la segunda como varilla auxiliar, con las siguientes condiciones: En cada paso s olo se puede mover un anillo. Nunca puede haber un anillo de mayor di ametro encima de uno de menor di ametro. Se pide: a ) Formalizarlo como un problema de espacio de estados, y obtener una funci on heur stica admisible que sirva para obtener una soluci on optima (entendiendo que el coste de aplicar un operador es siempre 1). e algoritmo de b usqueda habr a que emplear? Raz onese la respuesta. b ) Qu 12. Representar el siguiente problema, bien como espacio de estados o bien como problema de satisfacci on de restricciones (usar el enfoque que se crea m as conveniente), indicando tambi en qu e algoritmo se usar a para resolverlo (aunque no es necesario resolverlo, s olo se pide la representaci on). En caso de necesitar una heur stica, denirla y cuando tenga sentido, indicar si es admisible. Una persona sale de La Coru na y otra de Almer a. En cada etapa, cada persona puede moverse desde cualquier capital espa nola peninsular hasta cualquier otra capital espa nola de una provincia vecina. Se trata de encontrar una ruta para cada persona de manera que ambas se encuentren en alguna ciudad espa nola. El objetivo adem as es minimizar el tiempo en el que se producir a el encuentro, teniendo en cuenta que cada viaje a una capital fronteriza lo inician las dos personas simult aneamente y que antes de viajar a la siguiente ciudad de la ruta el que llega antes a su destino debe esperar a que el otro le avise (por tel efono, por ejemplo) de que tambi en ha llegado. Supondremos que sabemos los tiempos de viaje de cada capital a las capitales de provincias vecinas. 13. Un grupo de 5 personas quiere cruzar un viejo y estrecho puente. Es una noche cerrada y se necesita llevar una linterna para cruzar. El grupo s olo dispone de una linterna, a la que le quedan 5 minutos de bater a. a ) Cada persona tarda en cruzar 10, 30, 60, 80 y 120 segundos, respectivamente. b ) El puente s olo resiste un m aximo de 2 personas cruzando a la vez, y cuando cruzan dos personas juntas caminan a la velocidad del m as lento. c ) No se puede lanzar la linterna de un extremo a otro del puente, as que cada vez que crucen dos personas, alguien tiene que volver a cruzar hacia atr as con la linterna a buscar a los compa neros que falten, y as hasta que hayan cruzado todos. Se pide: a) Plantear el problema como b usqueda en espacio de estados, describiendo claramente todos los elementos necesarios de la representaci on. b) Denir dos heur sticas diferentes, justicando para cada una si son admisibles o no. c) Aplicar el algoritmo A con la mejor de las heur sticas del apartado anterior. Para simplicar, construir el arbol de b usqueda a partir de la situaci on en que ya han cruzado las personas que tardan 30s, 80s y 120s, y tienen la linterna con ellos (es decir, faltan por cruzar s olo el que tarda 10s y el que tarda 60s, pero no tienen la linterna). La evoluci on del arbol de b usqueda tiene que quedar sucientemente expl cita; el orden de expansi on de los nodos; su valoraci on; la justicaci on de la no inclusi on de determinados sucesores, etc. 4

14. Representar el siguiente problema, bien como espacio de estados o bien como problema de satisfacci on de restricciones (usar el enfoque que se crea m as conveniente), indicando tambi en qu e algoritmo se usar a para resolverlo (aunque no es necesario resolverlo, s olo se pide la representaci on). En caso de necesitar una heur stica, denirla y cuando tenga sentido, indicar si es admisible. Supongamos el siguiente puzle l ogico: cinco personas de cinco diferentes nacionalidades, viven en cinco casas consecutivas en una calle, cada una de distinto color y a cada una de ellas les gusta una comida, una bebida y vive con un animal distinto. Se trata de saber qui en vive en cada casa, su nacionalidad, sus gustos, su animal de compa n a y el color de su casa. Las pistas que nos dan son las siguientes: a ) El ingl es vive en la casa roja. b ) El espa nol tiene un perro. c ) El noruego vive en la primera casa de la izquierda. d ) La casa verde est a justo a la derecha de la casa beige. e ) El que preere las habichuelas vive en una casa que est a al lado de la del que tiene el zorro. f ) En la casa amarilla se come mucha calabaza. g ) El noruego vive al lado de la casa azul. h ) El que preere el salami tiene una serpiente. i ) El que preere los garbanzos bebe zumo de naranja. j ) El ucraniano bebe t e. k ) El japon es come habitualmente carne de cerdo. l ) En una casa que est a al lado de otra donde hay un caballo, se come bastante calabaza. m ) En la casa verde se bebe caf e. n ) En la casa de enmedio se bebe leche. 15. El siguiente grafo representa un problema de espacio de estados. Los nodos del grafo son los estados del problema, las aristas conectan estados con sus sucesores y el valor num erico de cada arista representa el coste de pasar de un estado a su sucesor: El estado inicial del problema es I y el u nico estado nal es F . Se consideran las funciones heur sticas H1 y H2 dadas por la siguiente tabla:
I 6 6 B 5 1 D

A 6 C 8 5 87 E F G

Estado I A B C D E F G

H1 16 8 10 3 2 9 0 1

H2 20 8 6 12 2 9 0 1

Resolver los siguientes apartados:

Construir los arboles de b usqueda generados por los algoritmos de b usqueda en profundidad y b usqueda optima. Indicar, en cada caso, el orden en el que se analizan los nodos y la soluci on obtenida junto con su coste. An alogamente, con el algoritmo de b usqueda A , usando las dos heur sticas H1 y H2 anteriormente denidas Son admisibles? Justicar las respuestas. Nota: Considerar que distintos sucesores de un mismo nodo se ordenan alfab eticamente. 16. El siguiente grafo representa un problema de espacio de estados. Los nodos del grafo son los estados del problema, las aristas conectan cada estado con sus sucesores, y el valor num erico de cada arista representa el coste de pasar de un estado al sucesor correspondiente. El estado inicial del problema es el nodo A, y los estados nales son H e I. Se considera la funci on heur stica h dada por la siguiente tabla:
A
9

2 7

4 10

B
1 6 7

E
1 1 6

C
1

G
1

D
4 10 5

H I

Nodo A B C D E F G H I

Heur stica 7 7 2 7 4 9 1 0 0

Resolver los siguientes apartados: (a) Construir el arbol de b usqueda generado por los algoritmos de b usqueda por primero el mejor y b usqueda optima. (b) Para cada uno de ellos decir cual es la soluci on obtenida, el n umero de nodos que en cada caso ha sido necesario expandir, y el coste de cada camino soluci on. Es alguna de las soluciones obtenidas optima? Cu al? Por qu e la otra no lo es? (c) Construir el arbol de b usqueda generado por el algoritmo A . Teniendo en cuenta la soluci on obtenida responda a la pregunta es h admisible?. Modicar m nimamente la heur stica para que A encuentre la soluci on optima. Nota: Considerar que los sucesores de un mismo nodo se ordenan alfab eticamente. En caso de empate a la hora de gestionar la cola de abiertos, resolverlo igualmente atendiendo al orden alfab etico.

17. El siguiente grafo representa un problema de b usqueda en espacio de estados. Los nodos del grafo son los estados del problema. Las aristas son los operadores y conectan los estados con sus sucesores (en ambas direcciones ). El estado inicial es A, y el u nico estado nal es I. El coste de aplicar un operador aparece junto a la arista correspondiente,

A
3 15 3

B
3 15

C
8 3

D G
15

E
3 3

F
15

15

Se pide: a) Encontrar el camino m as corto (en n umero de operadores) para ir desde A hasta I, utilizando alg un algoritmo de b usqueda ciega que garantice encontrarlo. b) Aplicar una b usqueda A usando la heur stica de la tabla siguiente: A B C D E F G H I h 15 2 10 15 2 5 3 2 0 Nota: La evoluci on de cada arbol o arboles de b usqueda tiene que quedar sucientemente expl cita; el orden de expansi on de los nodos; su valoraci on; la justicaci on de la no inclusi on de determinados sucesores, etc. En caso de empate en la valoraci on de los nodos, estos se ordenan alfab eticamente. Igualmente a la hora de ordenar los sucesores de un nodo. 18. El siguiente grafo representa expl citamente un (reducido) espacio de estados. Los nodos del grafo son los estados del problema. Las echas son los operadores y conectan los estados con sus sucesores. El estado inicial es A, y el u nico estado nal es L. El coste de aplicar un operador aparece en la echa correspondiente.
2

A
1

B
4 3

C
7 3

D
2 6

E
1

F
1 2

G
1 1 2

4 5

J L

Se pide: a) Encontrar la soluci on m as corta para ir desde A a L. Decidir previamente entre el algoritmo de b usqueda en profundidad y el de profundidad iterativa, justicando la decisi on Cu al es la soluci on m as corta? Podr a obtenerse esa soluci on m as corta con otros algoritmos de b usqueda? 7

b) Aplicar el algoritmo de b usqueda optima. c) Aplicar una b usqueda A usando la heur stica de la tabla siguiente: A B C D E F G H I J K L h 10 8 10 6 6 5 3 4 5 3 2 0 Es la soluci on encontrada la soluci on de menor coste? Cu antos nodos menos se analizan respecto de la b usqueda optima? Visto el resultado obtenido por A , podemos armar que la heur stica empleada es admisible? Nota: La evoluci on de cada arbol o arboles de b usqueda tiene que quedar sucientemente expl cita; el orden de expansi on de los nodos; su valoraci on; la justicaci on de la no inclusi on de determinados sucesores, etc. En caso de empate en la valoraci on de los nodos, estos se ordenan alfab eticamente. Igualmente a la hora de ordenar los sucesores de un nodo. 19. El siguiente grafo representa un problema de espacio de estados. Los nodos del grafo son los estados del problema, las aristas conectan cada estado con sus sucesores, y el valor num erico de cada arista representa el coste de pasar de un estado al sucesor correspondiente. El estado J es el u nico estado nal.

A
15 25

B
100

50

35

C
45

D
2 3

F
8 1

10

I
4

(a) Utilizando el algoritmo apropiado, generar el arbol de b usqueda del camino de coste m nimo desde A a J . Indicar algoritmo utilizado, orden de expansi on de nodos, nodos que se eliminan, costes parciales obtenidos, n umero de nodos expandidos, etc... Indicar asimismo el camino encontrado y su coste. (b) Si A = X1 , X2 , . . . , Xi , . . . , Xn = J es el camino de coste m nimo desde A a J , cu al ser a el camino de coste m nimo desde cualquier nodo intermedio Xi a J ? cu al ser a su coste? Responder razonadamente a estas preguntas sin volver a generar los correspondientes arboles. (c) Para cada nodo X del camino optimo obtenido en el apartado 1, decir razonadamente cu anto vale h (X ). (d) Siguiendo la metodolog a seguida en los apartados (a), (b) y (c), rellenar la siguiente tabla con los valores h , de cada nodo del grafo: nodo h A B C D E F G H I J

(e) Dar tres ejemplos, h1 , h2 , y h3 , de heur sticas tales que h1 y h2 sean admisibles, h3 no, y h2 informe mejor al algoritmo que h1 . 8

(f) En general, y para problemas reales, es esta una t ecnica razonable para encontrar heur sticas admisibles? Razonar la respuesta.

Problemas de satisfacci on de restricciones


20. Utilizando el algoritmo de consistencia de arcos, determinar todas las soluciones del siguiente problema de satisfacci on de restricciones: Variables: A, B , C y D Dominios: El dominio de las cuatro variables es {1, 2, 3, 4}. Restricciones: R1 : A < B R2 : D < C R3 : A = C R4 : D < A R5 : B = C 21. Usar el algoritmo de b usqueda AC-3 para encontrar todas las soluciones al problema de colocar cuatro reinas en un tablero de ajedrez 4 4 sin que se amenacen. Nota: En el arbol de b usqueda, representar los estados mediante un peque no dibujo del tablero (tal y como se ha hecho en clase). En cada nodo de dicho arbol debe aparecer un dibujo que represente la situaci on antes de aplicar AC-3 y otro dibujo que represente la situaci on que queda despu es de AC-3. 22. Una persona va a celebrar una esta y tiene que decidir a cu ales de sus cuatro amigos (Pedro, Carlos, Rosa y Teresa) va a invitar. La lista de invitados tiene que estar sujeta a las siguientes restricciones: Pedro o Carlos (al menos uno de los dos) debe estar invitado. Rosa o Carlos (al menos uno de los dos) debe estar invitado. Rosa o Teresa (al menos una de los dos) debe estar invitada. No se puede invitar simult aneamente a Rosa y a Pedro. No se puede invitar simult aneamente a Teresa y a Carlos. Obtener una posible lista de invitados planteando el problema como un problema de satisfacci on de restricciones y resolvi endolo aplicando el algoritmo de reparaci on heur stica, con la heur stica de m nimos conictos y comenzando con la asignaci on seg un la cual no se invita a ninguno de los amigos. 23. Felipe quiere invitar a su boda a cinco amigos: Ana, Bea, Cris, Dani y Edu. Los tiene que sentar en una mesa circular con cinco sillas, atendiendo a las siguientes restricciones: Ana no quiere tener a Edu a su derecha, ya que se ha enterado que es zurdo y piensa que puede recibir alg un que otro codazo. Dani no podr a soportar estar al lado de Bea, una antigua novia. Sin embargo, le gustar a estar al lado de Cris, con quien ahora intenta conseguir una cita. Edu, hermano de Cris, no soporta el irteo de Dani con su hermana, as que preere no estar al lado de Dani, pero s al lado de su hermana. Bea y Cris quieren compartir vecino en la mesa, ya que ambas quieren contarle a la misma persona las an ecdotas de su u ltimo viaje. 9

Plantear como un problema de satisfacci on de restricciones el problema de encontrar una manera de sentar a estos amigos en la mesa, de manera que todos est en satisfechos. 24. En una esta infantil se desea repartir regalos sorpresa entre tres ni nos, Mar a, Juan y Ana. Para ello, se dispone de cinco tipos de regalos: libros (li), l apices (la), discos compactos (cd), carpetas (car) y calculadoras (cal). Adem as, se conocen las preferencias de los ni nos, que son las siguientes: Mar a preere libros o l apices a discos compactos, carpetas y calculadoras. Juan preere l apices, carpetas o calculadoras a libros y discos compactos. Ana preera discos compactos o calculadoras a libros, l apices y carpetas. Se trata de que cada ni no quede satisfecho. Es decir, que le guste m as su regalo que el recibido por los dem as. Para este problema de satisfacci on de restricciones, se pide: Indicar las variables del mismo y el dominio de cada una. Expresar las restricciones para cada par de variables. Dibujar el grafo con la red de restricciones del problema. Resolverlo usando consistencia de arcos. Mostrar mediante una tabla la restricci on considerada y los valores eliminados en cada paso. 25. Cristina tiene que planicar sus vacaciones de Navidad. Dispone de cinco d as para organizar en su apartamento una cena para sus amigos, asistir a un almuerzo familiar y viajar a Huelva para una entrevista de trabajo. Antes de reunirse con sus familiares tiene que comprar regalos para ellos. Eso mismo le ocurre con sus amigos, ha de comprar sus regalos antes del d a de la cena. Adem as, antes del d a de la cena tiene que ir al mercado a comprar lo necesario para esta, un d a o dos antes, no m as. Cristina sabe que el d a anterior a la cena estar a muy ocupada prepar andolo todo y que por tanto no podr a ir a Huelva ni tendr a tiempo para comprar los regalos familiares. Por supuesto, el d a que vaya a Huelva no podr a hacer nada m as, a no ser, si acaso, comprar los regalos familiares. Se pregunta a s misma: si dejo el almuerzo familiar para lo u ltimo, y compro todos los regalos el mismo d a, puedo organizarme adecuadamente? Puedo hacer m as de un plan? Cu ales? Se pide: Plantear este problema como un problema de satisfacci on de restricciones. Identicar las variables del problema Identicar los dominios Expresar las restricciones (binarias) entre variables Dibujar un grafo que recoja la informaci on anterior, en el que los nodos son las variables y los arcos las restricciones binarias entre variables. Aplicar el algoritmo de b usqueda AC3 para obtener todas las soluciones del mismo. 26. Una empresa quiere saber si puede comprometerse a realizar las tareas T1 , T2 , T3 y T4 . La realizaci on de dichas tareas depende de la utilizaci on de los recursos a, b y c en el siguiente sentido: T1 necesita el recurso a o el c, T2 necesita a o b, T3 necesita a, b o c, T4 necesita b. Hay que tener en cuenta que un mismo recurso no puede ser utilizado para dos tareas simult aneamente, que el tiempo de realizaci on de cada tarea es de dos unidades de tiempo, y que el comienzo de cada tarea ha de ser como sigue: T2 ha de comenzar en el instante 1, T1 y T4 han de comenzar en el instante 2, y T3 ha de comenzar en el instante 3. Nota: Una tarea puede utilizar recursos diferentes en cada unidad de tiempo, durante su realizaci on. 10

Plantearlo como un problema de satisfacci on de restricciones. Encontrar una soluci on, utilizando el algoritmo de backtracking (se aconseja usar tambi en forward checking en cada paso). Tiene soluci on? Es u nica? Debe comprometerse la empresa a llevar a cabo las tareas en esas condiciones? 27. Un Jefe de Estudios debe planicar algunos ex amenes de su centro. Debido a los problemas de aulas, tama no de las mismas, n umero de alumnos, normativas, etc ..., se encuentra con todo un conjunto de restricciones que anota en la siguiente forma: a ) Todos los ex amenes tienen que hacerse en una semana (sin el viernes). b ) El examen de CC no puede ser el martes. c ) Los ex amenes de IA y IA-L tienen que hacerse el mismo d a. d ) El examen de PD tiene que hacerse antes que ning un otro. e ) Los ex amenes de IA y BD no pueden hacerse en el mismo d a. f ) El examen de IA no puede ser el mi ercoles. g ) Los ex amenes de BD y CC no pueden hacerse en el mismo d a. h ) El examen de CC ha de hacerse antes que el de IA. Se pide: a ) Plantearlo como un problema de satisfacci on de restricciones, indicando variables, dominios, y restricciones. b ) Describir brevemente en qu e consiste la heur stica MRV para la elecci on de la siguiente variable a asignar (incluyendo desempates). c ) Describir brevemente en qu e consiste el forward checking. d ) Aplicar el procedimiento de backtracking recursivo, con forward checking, para obtener al menos una soluci on del problema propuesto, pero de tal forma que use la heur stica MRV para decidir, cada vez que sea necesario, cu al ser a la siguiente variable a asignar.

11

28. Para una l nea ferroviaria, Renfe dispone de 4 trenes (T1 , T2 , T3 y T4 ) y 3 locomotoras (L1 , L2 y L3 ). El horario diario en el que tienen que circular los trenes es: Tren T1 T2 T3 T4 Adem as, hay que tener en cuenta lo siguiente: Cada locomotora s olo puede tirar de un tren cada vez. Cada locomotora dispone de tiempo para estar en la estaci on preparada para el pr oximo tren. L3 no tiene potencia para arrastrar a T3 . L2 y L3 no tienen potencia para arrastrar a T4 . Se desea saber qu e distribuci on hay que realizar para que puedan circular todos los trenes en sus respectivos horarios. Para ello, se pide: a ) Plantear el problema como un PSR de dos formas diferentes: tomando como variables los trenes y tomando como variables las locomotoras. Analizar qu e representaci on es m as adecuada, razonando la respuesta. b ) Con la representaci on elegida, resolver el problema usando b usquedaAC3. Es suciente AC3? c ) Resolver el problema, usando el algoritmo de backtraking con comprobaci on hacia delante. 29. Un alumno de 4o tiene que elaborar un pasatiempo para el peri odico de la ETSII. El pasatiempo consiste en un crucigrama de la forma: X X Horario 8 a 10 9 a 13 12 a 14 11 a 15

donde: Las palabras que pueden aparecer est an contenidas en el conjunto siguiente: {ES EL LA SI SO LO LAS LOS SAL SOL OSA OSO SOLA SOLO SALAS SOLOS}. Una palabra puede aparecer una sola vez, en horizontal o en vertical. Se pide: Plantearlo como un problema de satisfacci on de restricciones. Reducir los dominios de las variables, utilizando el algoritmo de consistencia de arcos. Encontrar una soluci on. 30. Supongamos que estamos preparando una mochila para una excursi on y hemos de decidir la comida que llevaremos. Se han comprado n paquetes de comida. Cada paquete fi tiene un volumen vi , un peso pi y una cantidad de calor as ci . La mochila puede llevar un peso m aximo P y un volumen m aximo V . Adem as, para la excursi on se van a necesitar un m nimo de C calor as. Se trata de encontrar una selecci on de paquetes de comida que te proporcione sucientes calor as y que quepa en la mochila. Plantearlo como un problema de satisfacci on de restricciones, expresando claramente el signicado de cada variable y su dominio. 12

31. Tenemos un PSR con variables {A, B, C, D, E }, cada una con dominio {1, 2, 3}, que han de satisfacer las siguientes condiciones: (a) A = B (b) B = C (c) D E (d) C E (e) 2 A > E (f) B E Aplicar backtracking con comprobaci on hacia delante y consistencia de arcos para resolver este PSR. Para ello, en el algoritmo de backtracking selecciona las variables en orden alfab etico, y los valores en orden creciente. En ambos casos, parar cuando se encuentre la primera soluci on.

32. Un visitador m edico debe planicar un viaje en tren, por las capitales de cinco provincias, que denominaremos A, B , C , D y E . Dispone de cinco d as y debe visitar una ciudad distinta cada d a. Cuenta con el plano de la gura, y sabe que s olo hay conexi on directa de tren entre aquellas capitales cuyas provincias son lim trofes (es decir, que comparten frontera). Le interesa visitar la ciudad D antes que la B, y la E antes que la C. Y no quiere que A sea ni la primera ni la u ltima ciudad en visitar. ******************* * * * * * E * * B * * ******** *********** * * * * * A ********* C * * * * * ******** D *********** * * *********

Se pide: a ) Plantearlo como un problema de satisfacci on de restricciones, indicando variables, dominios, y restricciones. b ) Dibujar el grafo correspondiente al planteamiento realizado. Etiquetando cada nodo con su variable y el dominio correspondiente, y cada arco con su restricci on. c ) Aplicar el procedimiento de b usqueda AC3, para obtener todas las soluciones posibles. En caso de necesitar partir dominios, el jase siempre por orden alfab etico el dominio para partir. Indicaci on: N otese que las capitales de dos provincias no lim trofes no pueden ser visitadas en d as consecutivos.

13

33. Consideremos un sudokude tama no n. Es decir, un cuadrado de tama no n, formado por n cuadrados de tama no n, de forma que: Cada uno de los cuadrados interiores est a formado por los n umeros naturales de 1 a n, sin repeticiones. Cada la (y cada columna) de el cuadrado exterior tambi en est a formada por los n umeros naturales de 1 a n, sin repeticiones. Se pide: describir una representaci on del sudoku de tama no n como un PSR, explicitando claramente las variables, los dominios y las restricciones que componen dicha representaci on. Como caso particular, resolver el siguiente sudoku de tama no 4 aplicando el algoritmo de b usqueda AC3:

1 3 1 3 4 2 1
34. Dada la restricci on ternaria R : X1 + X2 + X3 = 7, transformarla en tres restricciones binarias equivalentes a R. Para ello, considerar una nueva variable Z , especicar el dominio de dicha variable y establecer las restricciones binarias R(Xi , Z ) entre Z y cada una de las variables Xi . Generalizando la t ecnica empleada, explicar c omo transformar una restricci on R sobre las variables X1 , . . . , Xk en un conjunto de relaciones binarias equivalentes a R. 35. Dado el puzle de criptoaritm etica, A B + A B C C D se pide: Representarlo como un problema de satisfacci on de restricciones (PSR). Transformar la representaci on anterior en una representaci on equivalente, en la que todas las restricciones sean binarias. Encontrar una soluci on, utilizando el algoritmo de consistencia de arcos para reducir los dominios. Tiene soluci on u nica?. 36. Problema de la anchura de un grafo: consideremos un grafo G = (V, E ), donde V es un conjunto nito de nodos y E es un conjunto de arcos. Ordenar el grafo signica asignarle un n umero de orden i a cada nodo de V . En un grafo ordenado, la anchura de un nodo x es la m axima distancia (seg un la ordenaci on) entre x y todos los nodos adyacentes; y la anchura del grafo es la m axima anchura de todos sus nodos. El problema consiste en, dado un grafo G y un n umero k , encontrar una ordenaci on del grafo de forma que su anchura no sea superior a k . Plantearlo como un problema de satisfacci on de restricciones, especicando de forma clara el signicado de cada variable, los dominios correspondientes y las restricciones. Encontrar una soluci on para k = 2 y el siguiente grafo, aplicando el algoritmo de backtracking, con la heur stica MRV y comprobaci on hacia delante: V = {N1 , N2 , N3 , N4 }, E = {{N1 , N2 }, {N1 , N3 }, {N1 , N4 }, {N2 , N3 }} 14

37. La compa n a de aviaci on Volanding debe realizar habitualmente la tarea de congurar la tripulaci on de los vuelos. El problema actual consiste en organizar parejas de comandante y copiloto para cubrir los cuatro vuelos de ma nana: Bruselas, Frankfurt, R o de Janeiro y Singapur. El personal disponible es: Comandantes C1 Ruiz 44 C2 Dur an 42 C3 Villa 40 C4 Gallego 48 Copilotos P1 V azquez P2 Garc a P3 G omez P4 Arias

a nos a nos a nos a nos

33 35 37 40

a nos a nos a nos a nos

Las normas de la compa n a, para vuelos fuera de Europa, impiden que la suma de edades del comandante y el piloto exceda de 75 a nos. Por otra parte, los comandantes son muy supersticiosos y no admiten que su copiloto tenga como inicial de apellido la misma que ellos. Para simplicar el problema, supongamos que el aparato que volar a a Bruselas es un modelo especial y el u nico que sabe manejarlo es el comandante Gallego. Se pide: a) Plantear este problema como un problema de satisfacci on de restricciones, describiendo claramente todos los elementos necesarios de la representaci on. b) Encontrar una soluci on al problema usando b usqueda-AC-3, explicando el proceso paso a paso.

15

Potrebbero piacerti anche