Está en la página 1de 3

IENT IA

SAP

V E R I TA S

N OS T R

UNIVERSIDAD DEL BO-BO


FACULTAD DE CIENCIAS EMPRESARIALES
DEPARTAMENTO DE SISTEMAS DE INFORMACIN
SEGUNDO CERTAMEN DE
ANALISIS Y DISEO DE ALGORITMOS
PROFESOR:
Claudio Gutirrez Soto

Fecha: Jueves 28 de Diciembre de 2006


Nombre:________________________________________ Rut: ___________________
Seccin:____________ N hojas:_____________ Nota: ________________________
Instrucciones:
Lea bien antes de responder cada pregunta.
Escriba su nombre y rut en cada hoja que utilice para responder.
Numere cada hoja de respuesta que utilice de forma correlativa.
Anote en el espacio indicado la cantidad de hojas de respuesta que entrega.
Tiempo mximo: 100 minutos.
Fecha de Revisin: Semana del 02 de Enero de 2007
I.- PARTE CONCEPTUAL
1.1 Responda Verdadero(V) o Falso(F), segn corresponda a cada afirmacin. Las
respuestas Falsas debern ser justificadas. Respuestas falsas no justificadas sern
consideradas incorrectas (5 punto cada respuesta correcta).
1(a) El profesor SabeloTodo, asegura que los problemas NP pueden ser resueltos en

tiempo polinomial utilizando paralelismo_____.


2
F, ya que los problemas NP siguen siendo NP.
3(b) Skip List corresponde a estructuras de datos aleaoria_________.
4
V
5(c) El profesor SabeloTodo asegura que para la bsqueda el uso de finitud siempre

es ms eficiente que la utilizacin de bsqueda binaria ____.


6

F, ya que el uso de finitud tiene sentido cuando la


cantidad de datos es considerable y los datos se
encuentran
uniformemente
distribuidos,
sino
conviene
bsqueda binaria, ya que el costo de calcular los saltos
para el uso de finitud es demasiado caro.

7(d) La eficiencia de las estrategias de algoritmos paralelos (con memoria

distribuida) slo interesa la particin del dominio y el balance de carga ______.


8

F, aqu nos interesa la particin del dominio, el balance


de carga y la cantidad y volumen de las comunicaciones
entre los procesadores.

II.- PARTE DE DISEO


3.1 El profesor SabeloTodo tiene varias tareas (lecturas, reuniones etc.) para ejecutar en
un da. Cada una de estas tareas est especificada por 2 entradas de tiempo: Tiempo de
Inicio y tiempo de trmino. El profesor SabeloTodo necesita saber si es que existen
tareas sobrelapadas y cuntas son las tareas sobrelapadas que existen.

IENT IA
SAP

V E R I TA S

N OS T R

UNIVERSIDAD DEL BO-BO


FACULTAD DE CIENCIAS EMPRESARIALES
DEPARTAMENTO DE SISTEMAS DE INFORMACIN

a) Disee un algoritmo O(nlogn) para determinar si existen tareas sobrelapadas(13


ptos).
Este ejercicios fue resuelto en una clase auxiliar.
Tareas T[1..n] T[i]=(ii,ti), donde ii es el tiempo de inicio de
cada tarea y ti es el tiempo de termino de cada tarea.
T[i].i= ii y T[i].t= ti
Luego T[i]<T[j] ssi T[i].t< T[j].t (*)
int SobreLapada( T)
{
MergeSort(T,1,largo(T)); // Note que el orden se hace
// por (*)
for(i=0;i< largo(T)-1;i++)
if(T[i].t> T[i+1].i)
return 1;
else continue;
}

return 0;

b) Disee un algoritmo para determinar cuntas son las tareas sobrelapadas. (7 puntos).
int Contar(T)
{
MergeSort(T,1,largo(T)); // Esto no es necesario si se
//resolvio el problema anterior
Cont=0;
for(i=0; i< largo(T);i++)
v=BinarioModificado(T,1,n,T[i].i)
if(v==1)
cont++
else continue;
return(cont);
}

3.2 Uno de los problemas convencionales en las base de datos semi-estruturadas es la


bsqueda por similaridad (distancia euclideana entre vectores), es decir una consulta es
un conjunto finito de objetos que poseen algunas caractersticas similares. De hecho este
conjunto puede ser vaco. Suponga usted que le han encomendado la misin bsquedas
de imgenes similares dado un patrn x1,x2...,xK (Considere k<=7). Para un mejor
rendimiento le recomiendan que indexe la base de datos, es decir prepocesar la
informacin. Con lo visto en clases. Por ahora solo se le pide que cree un algoritmo que
le permita indexar su base de datos para realizar posteriormente una mejor bsqueda.
Acote la similaridad entre los objetos si lo cree conveniente (cota superior). Considere
una gran cantidad de imgenes. (10ptos).
Este problema es relativamente sencillo, ya que basta con
representar los cada imagen como un vrtice de un grafo y los
arcos de cada vrtice son aquellos donde la distancia entre las
imgenes son menores o iguales a 7.

IENT IA
SAP

V E R I TA S

N OS T R

UNIVERSIDAD DEL BO-BO


FACULTAD DE CIENCIAS EMPRESARIALES
DEPARTAMENTO DE SISTEMAS DE INFORMACIN

3.3 Disee un algoritmo paralelo para ordenar n elementos usando comparaciones en un


computador de memoria compartida con p procesadores (usando el modelo CREW) (13
ptos). Calcule el coeficiente de paralelizacin en funcin de p. (7 ptos).
Este ejercicio fue resuelto en clases, aqu lo que hacemos es
dividir los n elementos en los p procesadores, por lo que cada
procesador ordena n/p elementos utilizando MergeSort, por lo que
cada procesador lo ordena en (n/p)log2(n/p), posteriomente lo
que tenemos que hacer es ir mezclando los arreglos ordenados, la
mezcla toma O(log2p), luego el orden es la suma de los
resultados anteriores para el calculo del speedUp.

3.4 Considere el siguiente algoritmo. (30 ptos)


Misterio(A,n) // A es un arreglo de n enteros
{ i=random(1..n);
x=A[i]; k=0;
for(i=1;i<=n;i++)
if(A[i]==x) k++;
return(k>n/2);
}

Este ejercicio fue resuelto en clases!!!

(a)Qu hace este algoritmo?Este algoritmo es de tipo las Vegas o Montecarlo? (7,5
ptos)
(b)La respuesta es siempre correcta?. Si no lo es indique una cota superior de la
probabilidad de una respuesta incorrecta. (7,5 ptos)
(c) Usando este algoritmo, escriba un algoritmo que siempre de una respuesta correcta
con alta probabilidad (1-E) cuando termina. (15 ptos)

También podría gustarte