SlideShare uma empresa Scribd logo
1 de 3
Metodología y Tecnología de la Programación
Hoja 3 de problemas – Avance Rápido
1. Proponer un ejemplo de problema de la mochila de modo que tenga varias
soluciones óptimas y describir todas las que se obtienen en ese caso.
2. Escribir y estudiar la complejidad de un procedimiento que reconstruye los caminos
mínimos desde el vértice 1 a todos los demás a partir del array anterior[2..n]
obtenido en el algoritmo de Dijkstra. El procedimiento posee la siguiente
especificación:
procedimiento caminos_mínimos (anterior[2..n], (var) caminos:
tipo_a_elegir)
{El array anterior[2..n] contiene los caminos mínimos desde 1 a cada
vértice, codificados de modo que anterior[i] contiene el predecesor del
vértice i en el camino desde 1 hasta i. El “tipo a decidir” es una
estructura que debe elegir razonadamente el diseñador }
3. Sea un conjunto de n archivos de longitudes l1,...,ln (número de datos), que se desean
mezclar dos a dos progresivamente hasta obtener un solo archivo. Proponer una
estrategia para construir el árbol óptimo de mezcla, que es aquél que en cada nodo
interior tiene un archivo intermedio y en cada hoja un archivo original, de modo que
la mezcla guiada por un recorrido del árbol minimiza el número de datos recorridos.
Por ejemplo, sean los archivos X1, X2 y X3 con longitudes 10, 30 y 20
respectivamente. Si mezclamos X1 y X2, obtenemos Z1 habiendo recorrido 40
datos. Si luego mezclamos Z1 y X3, recorremos 60 datos más (total, recorremos 100
datos). El árbol de mezcla es en este caso:
Z1
X1
Z2
X2
X3
En cambio, si mezclamos primero X1 y X3 y el resultado con X2, se recorren
sólo 60 datos, dando lugar al árbol (optimo) siguiente:
Z1
X1
Z2
X3
X2
Codificar el algoritmo de avance rápido que construye el árbol óptimo de mezcla
y estudiar su complejidad.
4. Dado el árbol óptimo de mezcla para n archivos, escribir y estudiar la complejidad
de un algoritmo que muestre por pantalla una lista de mensajes que comunican al
usuario cómo debe ir mezclando los archivos sucesivamente, identificándolos, por
ejemplo, por su longitud.
5. Dado un conjunto de clientes a ser atendidos en un servidor, cada uno con un tiempo
de proceso conocido de antemano ti, y llegando todos en el mismo instante,
proponer una estrategia que permita decidir en qué orden se atenderán los clientes si
se desea minimizar el tiempo medio que un cliente pasa en el sistema. Un cliente
pasa en el sistema todo el tiempo que espera a que atiendan a los clientes anteriores
más el tiempo de atenderle a él. Es decir, que si hemos ordenado los cliente de la
forma i1,...,in, entonces el cliente ij pasa en el sistema ∑ =
j
1k ik
t y por tanto, el tiempo
medio de espera es nt
n
1j
j
1k ik∑ ∑= =
. Por ejemplo, si hay tres clientes con tiempos
10,15 y 5, y se ordenan así directamente (1,2,3), el tiempo medio de espera es de
21,6, pero si se ordenan (3,1,2) se obtiene un tiempo (óptimo) de 18,3. Escribir el
pseudocódigo de un algoritmo de avance rápido que siga la estrategia propuesta y
estudiar su complejidad.
6. Dado un grafo G=(V,A) y dados dos vértices i,j∈V, demostrar que la estrategia
devoradora más obvia consistente en tomar en cada paso el vértice más cercano (que
va por el camino correcto, es decir, tal que desde el se puede llegar a j) no lleva a
una solución óptima necesariamente.
7. (Problema del recubrimiento de conjuntos) Sea S una familia de m conjuntos Si, es
decir, S={S1,...,Sm} es un conjunto de conjuntos. Un recubrimiento de S es un
subconjunto de conjuntos T={T1,...,Tn} de S que lo cubren, es decir, tal que
∪Ti=∪Sj. Los conjuntos Ti pertenecen a la familia S, es decir, todo Ti= Sj para algún
1≤j≤m. Se desea encontrar un recubrimiento de S con un número mínimo de
conjuntos n.
Sea la estrategia devoradora que selecciona en cada paso k el conjunto de S que no
haya sido seleccionado previamente y tal que posea el máximo número de elementos
que aún no están en los Ts seleccionados previamente. Se detiene cuando ∪Ti=∪Sj.
Si se supone que, para facilitar la implementación, ∪Sj={1,...,r} (es decir, los Sj son
conjuntos de enteros entre 1 y r), escribir el algoritmo que implementa esta
estrategia y estudiar su complejidad. Demostrar que el algoritmo anterior no siempre
calcula un recubrimiento mínimo (dar un contraejemplo).
Si se define un recubrimiento mínimo como aquel cuyos conjuntos tienen un
mínimo número de elementos, es decir, tal que Σ|Ti| es mínimo, ¿lleva la anterior
estrategia a un recubrimiento mínimo?
8. (Problema del recubrimiento de vértices) Dado un grafo no dirigido G=(V,A), un
recubrimiento de G es un conjunto de vértices U⊆V tal que todas arista de A es
incidente (toca) algún vértice de U. Un recubrimiento mínimo es aquel que posee el
número mínimo de vértices. Estudiar si el algoritmo que a continuación se propone
resuelve el problema del recubrimiento de vértices, y estudiar su complejidad.
procedimiento Cubrir(G: grafo, U: conjunto de vértices)
U ← ∅
RA ← G.A
RV ← G.V
repetir
v ← máximo_grado(G,RV)
{Selecciona el vértice de RV con mayor número de aristas
inicidentes}
U ← U∪{v}
RV ← RV-{v}
RA ← RA-{a=(a1,a2) tal que a1=v ó a2=v}
hasta RA = ∅
9. (Problema de la asignación óptima de tareas) Dados n trabajadores y n trabajos, y
suponiendo que cada trabajador i esta cualificado con adecuación vij>0 para realizar
la tarea j, se desea asignar cada trabajo a un trabajador (es decir, la variable xij vale 0
si no se asigna el trabajador i a la tarea j, y 1 si se asigna) de modo que cada
trabajador realice una sola tarea (xi1+...+xin=1) y cada tarea sea realizada por un solo
trabajador (x1j+...+xnj=1).
Se desea maximizar la cualificación de los trabajadores, esto es, ΣiΣjvijxij. Las dos
posibles estrategias devoradoras obvias son, asignar cada trabajador a su mejor
posible trabajo, y seleccionar para cada tarea a su mejor trabajador. Escribir el
pseudocódigo de ambos esquemas, estudiar sus complejidades respectivas y
demostrar que ambos fallan.
10. Sean n programas de longitudes l1,...,ln a almacenar en una cinta en la que caben
todos ellos. Supongamos que el programa i va a ser recuperado con frecuencia fi. Si
los programas se almacenan en un orden i1,...,in, el tiempo esperado de recuperación
(TER) es
∑
∑ 





∑
=
i
i
j
j
1k
kiij
f
lf
(a) Demostrar que si se almacenan los programas por orden no decreciente de li, no
se minimiza necesariamente el TER.
(b) Demostrar que si se almacenan los programas por orden no creciente de fi, no se
minimiza necesariamente el TER.
(c) TER se minimiza si se almacenan los programas por orden no creciente de fi/li.
Escribir el pseudocódigo de esta idea.

Mais conteúdo relacionado

Mais procurados

5 Aplicaciones De La Derivada
5  Aplicaciones De La Derivada5  Aplicaciones De La Derivada
5 Aplicaciones De La Derivada
ERICK CONDE
 
Limitesycotinuidad
LimitesycotinuidadLimitesycotinuidad
Limitesycotinuidad
uneve
 
Aplicación de la derivada (1)h
Aplicación de la derivada (1)hAplicación de la derivada (1)h
Aplicación de la derivada (1)h
nerrd
 

Mais procurados (20)

Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Derivada marzo2009
Derivada marzo2009Derivada marzo2009
Derivada marzo2009
 
Metodo de optimización. listo
Metodo de optimización. listoMetodo de optimización. listo
Metodo de optimización. listo
 
5 Aplicaciones De La Derivada
5  Aplicaciones De La Derivada5  Aplicaciones De La Derivada
5 Aplicaciones De La Derivada
 
Métodos de Optimización
Métodos de OptimizaciónMétodos de Optimización
Métodos de Optimización
 
Limitesycotinuidad
LimitesycotinuidadLimitesycotinuidad
Limitesycotinuidad
 
Aplicaciones de la derivada
Aplicaciones de la derivadaAplicaciones de la derivada
Aplicaciones de la derivada
 
Pauta prueba parcial 1
Pauta prueba parcial 1Pauta prueba parcial 1
Pauta prueba parcial 1
 
Derivadas
DerivadasDerivadas
Derivadas
 
Tensor metrico
Tensor metricoTensor metrico
Tensor metrico
 
Folleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integralFolleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integral
 
Limites1
Limites1Limites1
Limites1
 
Símbolo de christoffel
Símbolo de christoffelSímbolo de christoffel
Símbolo de christoffel
 
Derivadas
DerivadasDerivadas
Derivadas
 
INVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONESINVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONES
 
Aplicación de la derivada (1)h
Aplicación de la derivada (1)hAplicación de la derivada (1)h
Aplicación de la derivada (1)h
 
Matematica 1
Matematica 1Matematica 1
Matematica 1
 
Metodos de Optimizacion
Metodos de OptimizacionMetodos de Optimizacion
Metodos de Optimizacion
 
Terminado diferencial
Terminado diferencial Terminado diferencial
Terminado diferencial
 
La Derivada
La DerivadaLa Derivada
La Derivada
 

Semelhante a 03.problemas

Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
Francisco Lambert Obediente
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
Francisco Lambert Obediente
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
rjvillon
 
T7 Alg Mult Matr
T7 Alg Mult MatrT7 Alg Mult Matr
T7 Alg Mult Matr
FcoKraken
 

Semelhante a 03.problemas (20)

Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Arrays en VB 6.0
Arrays en VB 6.0Arrays en VB 6.0
Arrays en VB 6.0
 
Informe
InformeInforme
Informe
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
Algoritmos de vuelta atrás
Algoritmos de vuelta atrásAlgoritmos de vuelta atrás
Algoritmos de vuelta atrás
 
Optimizacion Diusty Mijares
Optimizacion Diusty MijaresOptimizacion Diusty Mijares
Optimizacion Diusty Mijares
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
El Problema del Agente Viajero_f.pptx
El Problema del Agente Viajero_f.pptxEl Problema del Agente Viajero_f.pptx
El Problema del Agente Viajero_f.pptx
 
Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodriguez
 
Combinatoria
CombinatoriaCombinatoria
Combinatoria
 
Avarap
AvarapAvarap
Avarap
 
Capitulo5
Capitulo5Capitulo5
Capitulo5
 
Introduccion a los procesos estocasticos
Introduccion a los procesos estocasticosIntroduccion a los procesos estocasticos
Introduccion a los procesos estocasticos
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Examen parcial 2
Examen parcial 2Examen parcial 2
Examen parcial 2
 
T7 Alg Mult Matr
T7 Alg Mult MatrT7 Alg Mult Matr
T7 Alg Mult Matr
 

Mais de Xavier Davias

Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9
Xavier Davias
 
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_rHeckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Xavier Davias
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Xavier Davias
 
Systems interfacesanddeployment
Systems interfacesanddeploymentSystems interfacesanddeployment
Systems interfacesanddeployment
Xavier Davias
 
Oracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruthOracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruth
Xavier Davias
 
Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2
Xavier Davias
 
El hombre anumerico john allen paulos
El hombre anumerico  john allen paulosEl hombre anumerico  john allen paulos
El hombre anumerico john allen paulos
Xavier Davias
 

Mais de Xavier Davias (20)

Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9
 
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_rHeckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
 
Systems interfacesanddeployment
Systems interfacesanddeploymentSystems interfacesanddeployment
Systems interfacesanddeployment
 
Oracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruthOracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruth
 
Sistemas temaii 5
Sistemas temaii 5Sistemas temaii 5
Sistemas temaii 5
 
Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2
 
El hombre anumerico john allen paulos
El hombre anumerico  john allen paulosEl hombre anumerico  john allen paulos
El hombre anumerico john allen paulos
 
Clase3
Clase3Clase3
Clase3
 
Cap04
Cap04Cap04
Cap04
 
Cap2
Cap2Cap2
Cap2
 
Cap1
Cap1Cap1
Cap1
 
Aic multiproc
Aic multiprocAic multiproc
Aic multiproc
 
Aa
AaAa
Aa
 
08 0300 cs
08 0300 cs08 0300 cs
08 0300 cs
 
Cp223
Cp223Cp223
Cp223
 
Cap04
Cap04Cap04
Cap04
 
Ejercicios tema7
Ejercicios tema7Ejercicios tema7
Ejercicios tema7
 
Ejercicios tema6
Ejercicios tema6Ejercicios tema6
Ejercicios tema6
 
Ejercicios tema5
Ejercicios tema5Ejercicios tema5
Ejercicios tema5
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

03.problemas

  • 1. Metodología y Tecnología de la Programación Hoja 3 de problemas – Avance Rápido 1. Proponer un ejemplo de problema de la mochila de modo que tenga varias soluciones óptimas y describir todas las que se obtienen en ese caso. 2. Escribir y estudiar la complejidad de un procedimiento que reconstruye los caminos mínimos desde el vértice 1 a todos los demás a partir del array anterior[2..n] obtenido en el algoritmo de Dijkstra. El procedimiento posee la siguiente especificación: procedimiento caminos_mínimos (anterior[2..n], (var) caminos: tipo_a_elegir) {El array anterior[2..n] contiene los caminos mínimos desde 1 a cada vértice, codificados de modo que anterior[i] contiene el predecesor del vértice i en el camino desde 1 hasta i. El “tipo a decidir” es una estructura que debe elegir razonadamente el diseñador } 3. Sea un conjunto de n archivos de longitudes l1,...,ln (número de datos), que se desean mezclar dos a dos progresivamente hasta obtener un solo archivo. Proponer una estrategia para construir el árbol óptimo de mezcla, que es aquél que en cada nodo interior tiene un archivo intermedio y en cada hoja un archivo original, de modo que la mezcla guiada por un recorrido del árbol minimiza el número de datos recorridos. Por ejemplo, sean los archivos X1, X2 y X3 con longitudes 10, 30 y 20 respectivamente. Si mezclamos X1 y X2, obtenemos Z1 habiendo recorrido 40 datos. Si luego mezclamos Z1 y X3, recorremos 60 datos más (total, recorremos 100 datos). El árbol de mezcla es en este caso: Z1 X1 Z2 X2 X3 En cambio, si mezclamos primero X1 y X3 y el resultado con X2, se recorren sólo 60 datos, dando lugar al árbol (optimo) siguiente: Z1 X1 Z2 X3 X2 Codificar el algoritmo de avance rápido que construye el árbol óptimo de mezcla y estudiar su complejidad.
  • 2. 4. Dado el árbol óptimo de mezcla para n archivos, escribir y estudiar la complejidad de un algoritmo que muestre por pantalla una lista de mensajes que comunican al usuario cómo debe ir mezclando los archivos sucesivamente, identificándolos, por ejemplo, por su longitud. 5. Dado un conjunto de clientes a ser atendidos en un servidor, cada uno con un tiempo de proceso conocido de antemano ti, y llegando todos en el mismo instante, proponer una estrategia que permita decidir en qué orden se atenderán los clientes si se desea minimizar el tiempo medio que un cliente pasa en el sistema. Un cliente pasa en el sistema todo el tiempo que espera a que atiendan a los clientes anteriores más el tiempo de atenderle a él. Es decir, que si hemos ordenado los cliente de la forma i1,...,in, entonces el cliente ij pasa en el sistema ∑ = j 1k ik t y por tanto, el tiempo medio de espera es nt n 1j j 1k ik∑ ∑= = . Por ejemplo, si hay tres clientes con tiempos 10,15 y 5, y se ordenan así directamente (1,2,3), el tiempo medio de espera es de 21,6, pero si se ordenan (3,1,2) se obtiene un tiempo (óptimo) de 18,3. Escribir el pseudocódigo de un algoritmo de avance rápido que siga la estrategia propuesta y estudiar su complejidad. 6. Dado un grafo G=(V,A) y dados dos vértices i,j∈V, demostrar que la estrategia devoradora más obvia consistente en tomar en cada paso el vértice más cercano (que va por el camino correcto, es decir, tal que desde el se puede llegar a j) no lleva a una solución óptima necesariamente. 7. (Problema del recubrimiento de conjuntos) Sea S una familia de m conjuntos Si, es decir, S={S1,...,Sm} es un conjunto de conjuntos. Un recubrimiento de S es un subconjunto de conjuntos T={T1,...,Tn} de S que lo cubren, es decir, tal que ∪Ti=∪Sj. Los conjuntos Ti pertenecen a la familia S, es decir, todo Ti= Sj para algún 1≤j≤m. Se desea encontrar un recubrimiento de S con un número mínimo de conjuntos n. Sea la estrategia devoradora que selecciona en cada paso k el conjunto de S que no haya sido seleccionado previamente y tal que posea el máximo número de elementos que aún no están en los Ts seleccionados previamente. Se detiene cuando ∪Ti=∪Sj. Si se supone que, para facilitar la implementación, ∪Sj={1,...,r} (es decir, los Sj son conjuntos de enteros entre 1 y r), escribir el algoritmo que implementa esta estrategia y estudiar su complejidad. Demostrar que el algoritmo anterior no siempre calcula un recubrimiento mínimo (dar un contraejemplo). Si se define un recubrimiento mínimo como aquel cuyos conjuntos tienen un mínimo número de elementos, es decir, tal que Σ|Ti| es mínimo, ¿lleva la anterior estrategia a un recubrimiento mínimo? 8. (Problema del recubrimiento de vértices) Dado un grafo no dirigido G=(V,A), un recubrimiento de G es un conjunto de vértices U⊆V tal que todas arista de A es incidente (toca) algún vértice de U. Un recubrimiento mínimo es aquel que posee el número mínimo de vértices. Estudiar si el algoritmo que a continuación se propone resuelve el problema del recubrimiento de vértices, y estudiar su complejidad. procedimiento Cubrir(G: grafo, U: conjunto de vértices) U ← ∅ RA ← G.A RV ← G.V repetir
  • 3. v ← máximo_grado(G,RV) {Selecciona el vértice de RV con mayor número de aristas inicidentes} U ← U∪{v} RV ← RV-{v} RA ← RA-{a=(a1,a2) tal que a1=v ó a2=v} hasta RA = ∅ 9. (Problema de la asignación óptima de tareas) Dados n trabajadores y n trabajos, y suponiendo que cada trabajador i esta cualificado con adecuación vij>0 para realizar la tarea j, se desea asignar cada trabajo a un trabajador (es decir, la variable xij vale 0 si no se asigna el trabajador i a la tarea j, y 1 si se asigna) de modo que cada trabajador realice una sola tarea (xi1+...+xin=1) y cada tarea sea realizada por un solo trabajador (x1j+...+xnj=1). Se desea maximizar la cualificación de los trabajadores, esto es, ΣiΣjvijxij. Las dos posibles estrategias devoradoras obvias son, asignar cada trabajador a su mejor posible trabajo, y seleccionar para cada tarea a su mejor trabajador. Escribir el pseudocódigo de ambos esquemas, estudiar sus complejidades respectivas y demostrar que ambos fallan. 10. Sean n programas de longitudes l1,...,ln a almacenar en una cinta en la que caben todos ellos. Supongamos que el programa i va a ser recuperado con frecuencia fi. Si los programas se almacenan en un orden i1,...,in, el tiempo esperado de recuperación (TER) es ∑ ∑       ∑ = i i j j 1k kiij f lf (a) Demostrar que si se almacenan los programas por orden no decreciente de li, no se minimiza necesariamente el TER. (b) Demostrar que si se almacenan los programas por orden no creciente de fi, no se minimiza necesariamente el TER. (c) TER se minimiza si se almacenan los programas por orden no creciente de fi/li. Escribir el pseudocódigo de esta idea.