EJERCICIO 2 - CALENTAMIENTO- PARTE 1

EJERCICIO 2 - CALENTAMIENTO- PARTE 1

de Rolando Mata Terán -
Número de respuestas: 1

Ejercicio 1. Tenemos dos matrices, A y B, ambas de dimensión n × n, y queremos calcular la matriz C = A × B. Denotamos con A[i, ·] y B[·, j] la fila i de A y la columna j de B, respectivamente. Para resolver el problema contamos con el algoritmo:

 1 for i = 1 to n do

 2      for j = 1 to n do

3            Calcular el producto escalar < A[i, ·], B[·, j] >

4         Guardar el resultado en C[i, j]

5     end

6 end

Dé explícitamente una función f tal que el tiempo de ejecución de este algoritmo es Θ(f(n)); justifique su respuesta demostrando el resultado

Esta función se cumpliría para el algoritmo planteado

Θ(g(n)) = {f(n) : c,d R +,nₒ N, tal que cg(n) ≤ f(n) ≤ dg(n) para todo n ≥ nₒ}

c y d son dos constantes

n: tiene que ver con la cantidad de filas y columnas que van de 1 a n.

 

Como existen dos interacciones for y luego se debe almacenar los resultados en la matriz según el paso 6, se asume que g(n)= n3  y se debe comprobar que g(n)= n3€ Θ(f(n)

Llegue hasta aqui, pero me tranque. Asumie que cumple un g(n)=n(elevado)3. ¿Es así? Si no, ¿por que estoy equivocado?
Gracias

En respuesta a Rolando Mata Terán

Re: EJERCICIO 2 - CALENTAMIENTO- PARTE 1

de Sofia Tito Virgilio Rodriguez -
Hola Rolando.

El ejercicio pide dar una función f(n) y probar que el tiempo de ejecución del algoritmo, llamémosle T(n), es Θ(f(n)). En este caso parece intuitivo sugerir que la f(n) sea f(n) = n3 como propones, y efectivamente es correcto. Para poder probar que el tiempo de ejecución T(n) del algoritmo es Θ(n3), hay que probar que T(n) es O(n3) y también que T(n) es   \Omega  (n3).

Para probar esto te recomiendo que te guíes por el Ejercicio resuelto en clase de año 2020, tanto la letra como la resolución en vídeo están disponibles en la sección correspondiente a la semana 2. Es un ejercicio muy similar a este, pero con algunos detalles a tener en cuenta que se discutieron en este otro hilo del foro (https://eva.fing.edu.uy/mod/forum/discuss.php?d=213439), que también puede serte de utilidad.

En principio te recomiendo que intentes encararlo por ese lado y cualquier cosa quedo a las órdenes.

Saludos!