You are on page 1of 1

Relacin de ejercicios de Algoritmos vidos 1. Se desea calcular la matriz producto M de n matrices dadas M=M1M2...Mn.

Por ser asociativa la multiplicacin de matrices, existen distintas formas de realizar esa operacin, cada una con un coste asociado (en trminos del nmero de multiplicaciones escalares). Sea (di-1 x di) la dimensin de la matriz Mi , para multiplicar Mi Mi+1 se requiere di1di di+1 operaciones. El problema consiste en encontrar el mnimo nmero de operaciones necesario para calcular el producto M. Demostrar o dar un contraejemplo que determine si alguna de las estrategias propuestas encuentra siempre solucin ptima a) Multiplicar primero las matrices MiMi+1 cuya dimensin comn di sea la menor entre todas, y repetir el proceso. b) Multiplicar primero las matrices MiMi+1 cuya dimensin comn di sea la mayor entre todas, y repetir el proceso. c) Realizar primero la multiplicacin de las matrices MiMi+1 que requiera menor nmero de operaciones (di1didi+1), y repetir el proceso. d) Realizar primero la multiplicacin de las matrices MiMi+1 que requiera mayor nmero de operaciones (di1didi+1), y repetir el proceso. 2. Consideremos n programas P1, P2, ... Pn que debemos almacenar en un disco. El programa Pi requiere si megabytes de espacio en disco, y la capacidad del disco es de D megabytes. a) Se desea maximizar el nmero de programas almacenados en el disco. Demostrar lo siguiente o dar un contraejemplo: podemos utilizar un algoritmo vido que seleccione los programas por orden creciente de si. b) Se desea maximizar el espacio utilizado del disco. Demostrar lo siguiente o dar un contraejemplo: se puede utilizar un algoritmo vido que seleccione los programas por orden decreciente de si. 3. Supongamos que disponemos de n trabajadores y n tareas. Sea bij > 0 el coste de asignarle el trabajo j al trabajador i. Una asignacin de tareas puede ser expresada como una asignacin de los valores 0 1 a las variables xij, donde xij = 0 significa que al trabajador i no le han asignado la tarea j, y xij = 1 indica que s. Una asignacin vlida es aquella en la que a cada trabajador slo le corresponde una tarea y cada tarea est asignada a un trabajador. Dada una asignacin vlida, definimos el coste de dicha asignacin como:

x
i =1 j =1

ij

bij .

Diremos que una asignacin es ptima si es de mnimo coste. Demostrar o dar un contraejemplo que determine si alguna de las estrategias propuestas encuentra siempre solucin ptima a) asignar cada trabajador la mejor tarea posible b) asignar cada tarea al mejor trabajador disponible

You might also like