Algoritmia Avanzada. Lenguajes y Sistemas Informáticos 1.

Anuncio
Algoritmia Avanzada. Lenguajes y Sistemas Inform áticos
1. (4) Supongamos que queremos jugar al Nim con las siguientes reglas:
cada jugador puede retirar un máximo de M fichas, siempre y cuando no
repita la última jugada del contrincante. Escribe un algoritmo eficiente para
calcular si disponemos de una estrategia ganadora o no.
2. (2) ¿Qué relación guardan la clave pública y la privada del algoritmo
RSA? Comprueba que dicha relación se satisface para el par de claves (33,7)
y (33,3). ¿Qué mensaje se oculta en el texto VNMASY si cada letra se ha
sustituido por un número (A=1,B=2,. . . Ñ=15,. . . Z=26) y se ha cifrado con
la clave (33,7)?
1
3. (4) Tenemos N trabajos que pueden ser realizados por la máquina M1
o por la M2, si bien tardan un tiempo distinto en realizar cada trabajo. Una
asignación de trabajos se representa mediante un vector de N componentes
y el coste total es el máximo de las dos máquinas. Por ejemplo, la asignación
(2, 2, 1, 2) con la siguiente tabla de tiempos
M1
M2
T1
4
2
T2
4
3
T3
3
4
T4
5
4
produce un coste 9. Escribe un algoritmo para calcular una cota optimista y
otro para calcular una pesimista de las soluciones del tipo (x 1 , x2 , ..xn , ∗, .., ∗).
Explica cómo los aplicarı́as a este ejemplo.
.
1
A falta de calculadora, se puede usar que (x ∗ y ∗ z) %n = ((x ∗ y) %n ∗ z) %n.
Descargar