SlideShare una empresa de Scribd logo
Análisis de
 Algoritmos




                   Pablo Vargas Boccanedes

 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
TAREA 2




  Guayaquil, Julio de 2009




Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Introducción



     En esta sección analizaremos algoritmos de ordenamiento y
búsqueda, determinísticos y aleatorios, para lo cual calcularemos sus
tiempos de ejecución en función del tamaño de las instancias.



      Entre los objetivos tenemos como más importante la
interpretación de los resultados y la comprensión de una mejor
manera los mismos, conocer el funcionamiento del Teorema
Maestro para la obtención de los tiempos de ejecución.



      Otro de los objetivos importantes es presentar los métodos que
nos ayudarán a elegir entre algoritmos de diferente implementación
en función de nuestro medio, mediante el análisis de los tiempos de
ejecución y utilización de memoria que son principalmente los
limitantes en los ordenadores y equipos donde correrán dichos
algoritmos.




         Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Teoría
      Para la resolución de los problemas propuestos utilizaremos los
métodos Algebraico, Iterativo y del Teorema Maestro que consiste
sencillamente en aplicar las fórmulas para los casos en que sean
aplicables.


      Los tiempos de ejecución serán expresados con Notaciones
Asintóticas, con lo cual tendremos referencias de la función del
tiempo de ejecución con otra conocida y ésta estará dada por su
comportamiento asintótico. Además de esta forma podemos
generalizar el tiempo de ejecución que ahora tendrá el mismo
comportamiento sobre cualquier sistema de cómputo en función de
las instancias.


      El Teorema Maestro es aplicable a las funciones del tipo,


                                        t(n)=at( ) + f(n)


                   є>0 f(n)    єӨ(                    )        t(n) є Ө(                )

                     f(n) є Ω(                 )       t(n) є Ө(f(n)               )

  є>0 f(n)   єΩ(                   ) ^ n0 n≥ n0 c af( )≤cf(n)                          t(n) є Ө(f(n))



             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
EJERCICIOS
Problema 1.- Discuta cualitativamente la diferencia entre el tiempo promedio de ejecución
de un algoritmo determinístico (tal como quicksort) y el tiempo esperado de un algoritmo
aleatorio (tal como quicksort aleatorio).




Solución:
       Quicksort toma el primer elemento del conjunto, mientras que Quicksort Aleatorio
toma un pivote aleatorio dando la opción de tomar el del centro como pivote, esto ayudará a
un ordenamiento más rápido. Además sus tiempos de ejecución en promedio son, quicksort
Ө(nlgn), mientras que quicksort aleatorio se comporta como O(nlgn) lo que nos da
implícitamente la respuesta. Quicksort Aleatorio es más rápido que Quicksort.




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 2.- La ecuación de recurrencia t(n) = 7 t(n/2) + n2 describe el tiempo de
ejecución de un algoritmo A. Otro algoritmo A’ que resuelve el mismo problema tiene en
cambio la ecuación t(n) = at(n/4) + n2. ¿Cuál es el valor entero mayor que a puede tomar
para que el tiempo de ejecución de A’ sea asintóticamente más rápido que el de A?


Solución:


       Utilizando el Teorema Maestro en ambas partes,
       t(n)=7t(   + n2       de aquí tenemos que a=7, b=2 y f(n)=n2

       Propuesta, є>0 n2          O(              )
              D! є=3 n2 O(                    )
                           n2 O(        ) como sabemos, esta expresión es verdadera.
              t(n) Ө(             )


       Para la segunda parte,


       t(n) = at(n/4) + n2

       Propuesta, є>0 n2          O(              )
       Supongamos que esta expresión es verdadera. t(n)               Ө(


       Lo que plantea el ejercicio es lo siguiente                   O(         ) entonces,
        c,n0 n≥ n0            ≤
                              ≤
                              ≤
                         lg7 ≤

                         lg7 ≤ lg


                         7≤            a≥72


             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 3.- Resuelva las siguientes ecuaciones de recurrencia utilizando el teorema
maestro. Justifique con claridad el uso de los varios casos.
       t(n) = 9 t(n/3) + n2 + n/2 + 1
       t(n) 5 t(n/2) + n2
       t(n) = 12 T(n/4) + n2


Solución:
  t(n) = 9 t(n/3) + n2 + n/2 + 1
  a=9 b=3
  f(n)= n2 + n/2 + 1


  n2 + n/2 + 1   Ө(          )
  n2 + n/2 + 1   Ө (n2)
Aunque ya sabemos que esto es verdadero, lo vamos a demostrar:
  c1,c2,n0 n≥ n0 c1 n2 ≤ n2 + n/2 + 1 ≤c2 n2
de aquí sabemos que esta expresión es válida con: c1=1; c2=2 ; n0=2


Por lo tanto el tiempo de ejecución t(n)        Ө ((n2 + n/2 + 1)lgn)
                                        t(n)     Ө (n2lgn)



  t(n) 5 t(n/2) + n2
  a=5 b=2
  f(n)= n2
  n2   Ө (nlg5-є) si є=1
  n2   Ө (n2) Sabemos que esto es verdadero y no lo vamos a demostrar.


Entonces el tiempo de ejecución en función de las instancias es t(n)               Ө (nlg5)




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
t(n) = 12 t(n/4) + n2
  a=12 b=4
  f(n)= n2


  n2 Ω(             ) si
  n2 Ω(n2) Sabemos que es verdadero por ser la misma función.


  Ahora tenemos que comprobar la otra parte del teorema:
   n0 n≥ n0 c 12           ≤c n2

   n2≤c n2

   ≤c c=1


Dado que se cumplen ambas condiciones, podemos asegurar que t(n)                     Ө (n2)




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 4.- El tiempo de ejecución de la operación PARTICION sobre una secuencia de
tamaño n es teta(n); justifique esta afirmación.


Solución:


      Si la partición ocurre desde el elemento de la segunda posición, de uno en uno,
tendremos (n-1) particiones y la operación partición se ejecuta en un tiempo, tenemos la
ecuación,




            t(n)=1+ t(n-1)                                              n
            t(n)=1+1+t(n-2)
            ………………                                               1             n-1
            t(n)=1(n-1 veces)
            t(n)= n-1                                                   1                n-2


            t(n)    Ө(n)                                                       ..                ..
                                                                                     .                ..
     D!      c1,c2,n0 n≥ n0 c1n≤n-1≤c2n                                                  1                 1

            c1=    c2=1 n0=2 d!




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 7.- Los bancos registran las transacciones de una cuenta según el tiempo en que
estas ocurrieron, pero a la mayoría de las personas les gusta recibir sus estados de cuenta
con las transacciones listadas según el numero de cheque. Las personas normalmente giran
sus cheques en orden según el número de cheque, mientras que los beneficiarios los cobran
sin ningún orden particular. El problema de convertir de uno a otro ordenamiento es un
problema de ordenar una entrada que ya está casi ordenada. Se dice que el tiempo necesario
para realizar esta conversión por inserción es mejor que el obtenido por quicksort. ¿Qué
piensa usted? Discuta su respuesta.


Solución:


         Dado que el número de cheques cobrados es menor o igual que el número de
cheques girados, y como los cheques girados están en orden, representarán más de la mitad
de la lista o registro del banco, por lo que el problema se reducirá a ordenar la mitad o
menos de elementos del registro equivalentes a los cheques cobrados.


Este algoritmo es más rápido que quicksort en este caso, porque la lista está casi ordenada y
las operaciones de intercambio que habrá que hacer son con los cheques cobrados. Si
hacemos con el algoritmo quicksort, este buscará un pivote y analizará por partes, aunque el
arreglo está casi ordenado, se harán las mismas comparaciones pero con más operaciones
de intercambio.




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 8.- Demuestre que el tiempo esperado para el algoritmo quicksort aleatorio es
Ω(n lg n).


Solución:
        Dado que el algoritmo es aleatorio, el tiempo de ejecución estará dado por la suma
de los casos por donde ocurra la partición. Cada caso tiene tu propio tiempo de ejecución
dependiendo del lugar por el cual ocurre la partición.


t(n)=
                                                                     Caso (rango)    Caso (partición)
t(n)= (tp(n) +                                                         1                        0
            2
t(n)= (Ө(n ) +                  +t(n-k)+…+1)
                                                                       2                        1
t(n)= (Ө(n2) + 2
                                                                       3                        2

 t(k) O(klgk)
                                                                       ...                     ...


t(n)≤ (Ө(n2) + 2
                                                                       n                      n-1



            ≤lg1+2lg2+..+(n-1)lg(n-1)
            ≤ (n-1)nlg(n-1)


t(n)≤ (Ө(n2) + 2
t(n) ≤ Ө(n) +(n-1)lg(n-1)
para grandes valores de n:
t(n) ≤ Ө(n) +(n)lg(n)


t(n) O(nlgn)




                Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
EJERCICIOS PROPUESTOS

Problema 9.- El algoritmo o método de Strassen se utiliza para multiplicar dos matrices
cuadradas de nxn en tiempos teta(nlg7); lo que representa una mejora considerable con
respecto al método que se usa tradicionalmente y que requiere tiempos teta(n3).
(Brevemente, el método consiste en dividir las matrices de nxn en matrices de (n/2)x(n/2),
calcular 7 matrices auxiliares y a partir de ellas encontrar las submatrices de la matriz
resultante) En este ejercicio haga lo siguiente:
    a) Describa en qué consiste el método de Strassen. Ilustre el método con un ejemplo.
    b) Explique por qué se dice que este es un algoritmo diseñado por división y conquista.
    c) Demuestre que el método de Strassen es correcto
    d) Encuentre la ecuación de recurrencia para calcular el tiempo de ejecución del
        algoritmo.
    e) Resuelva la ecuación obtenida en c).
Compare este resultado con el obtenido por el método convencional.


Problema 10.- Se quiere multiplicar dos numeros enteros muy grandes, cuyas representaciones requieren, por
ejemplo, 512 bits; el sistema de computo que tenemos esta limitado en cuanto a que la representacion y las
operaciones con numeros enteros deben hacerse con palabras de 64 bits. Diseñe por division y conquista un
metodo o algoritmo que permita realizar la multiplicacion de enteros de 512 bits en terminos de
multiplicaciones de palabras de 64 bits. Suponga que el tiempo para realizar sumas y desplazamientos de
palabras de 64 bits es teta(1). Siga los mismos pasos que en el ejercicio anterior.


Problema 11.- Se tienen un naipe de n cartas y se le pide a un voluntario que escoja una de las n cartas, cuya
identidad se mantendrá en secreto. Diseñe un metodo -similar al visto en clase- para encontrar dicha carta
“secreta” en tiempos teta(lg n). Considere que el tiempo para que el voluntario señale en que pila se
encuentra la carta es teta(1).

Problema 12.- En la industria de la construccion de semiconductores VLSI (very large scale integration) se
requiere probar millones de chips para detectar cuales estan defectuosos. La idea basica del metodo consiste
en hacer que los chips se prueben unos a otros; para ello se construye un dispositivo que reporta el estado del
par de chips instalado. Los chips buenos siempre dicen la verdad, es decir, reportan con exactitud si el chip
bajo prueba es bueno o malo; los chips malos no son confiables, es decir, dicen cualquier cosa sobre el otro.

Diseñe un metodo para identificar todos los chips buenos. El problema debe resolverse en tiempos O(n).
Suponga que el numero de chips buenos es mayor que el de chips malos, y que para efectos de calcular el
tiempo por cada chip que se prueba se cuenta 1.

Note que basta encontrar un chip que sea bueno para encontrar todos los demas que sean buenos en tiempos
lineales; asi que hay que encontrar un chip que sea bueno en tiempos O(n).




                Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
CONCLUSIÓN

En esta tarea hemos revisado principalmente el método iterativo y el
Teorema Maestro para calcular nuestros tiempos de ejecución.
Destacamos la utilización de las definiciones de las notaciones
asintóticas para obtener resultados.


El nivel de dificultad de los ejercicios es mayor para esta tarea con
respecto a la anterior. El ejercicio más complicado al resolver fue el
numero 8 y se complica por el tema de las sumatorias y el árbol
recursivo.


Los ejercicios que no fueron resueltos y que los propongo son del 8
al 12, éstos incluirán un análisis mayor al cálculo de los tiempos de
ejecucíon.




          Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.

Más contenido relacionado

La actualidad más candente

Presentacion-Guias-de-Onda.pdf
Presentacion-Guias-de-Onda.pdfPresentacion-Guias-de-Onda.pdf
Presentacion-Guias-de-Onda.pdf
VictoriaRosalez
 
Identidades Trigonometricas
Identidades TrigonometricasIdentidades Trigonometricas
Identidades Trigonometricas
juliovicente79
 
Codificadores
CodificadoresCodificadores
Codificadores
ANDRESAC84
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
Bertha Vega
 
Banda ancha y banda base
Banda ancha y banda baseBanda ancha y banda base
Banda ancha y banda base
Juliitoo Mejia
 
Monografia ocho reinas
Monografia ocho reinasMonografia ocho reinas
Monografia ocho reinas
dianaGradosL
 
Recursividad
RecursividadRecursividad
Recursividad
Lester Sanchez
 
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
Juan Palacios
 
Algebra lineal
Algebra linealAlgebra lineal
Algebra lineal
Andreitashuguli
 
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretosPDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
Juan Palacios
 
Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
Michael Scofield
 
Estadistica trabajo frecuencia 14030368
Estadistica trabajo frecuencia 14030368Estadistica trabajo frecuencia 14030368
Estadistica trabajo frecuencia 14030368
MariaLucena25
 
Sección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempoSección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempo
Juan Palacios
 
Arboles
ArbolesArboles
Arboles
Karen Gimenez
 
Sistemas dinamicos con_simulink
Sistemas dinamicos con_simulinkSistemas dinamicos con_simulink
Sistemas dinamicos con_simulink
Marc Llanos
 
Topologia texto u.n
Topologia texto u.nTopologia texto u.n
Topologia texto u.n
Raúl Monroy Pamplona
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduino
Luis Leandro Carlo
 
Dsp manual print
Dsp manual printDsp manual print
Dsp manual print
Veerayya Javvaji
 
Seccion 3.4 Inversión de la transformada Z
Seccion 3.4 Inversión de la transformada ZSeccion 3.4 Inversión de la transformada Z
Seccion 3.4 Inversión de la transformada Z
Juan Palacios
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
Wilfred Garcia Diomeda
 

La actualidad más candente (20)

Presentacion-Guias-de-Onda.pdf
Presentacion-Guias-de-Onda.pdfPresentacion-Guias-de-Onda.pdf
Presentacion-Guias-de-Onda.pdf
 
Identidades Trigonometricas
Identidades TrigonometricasIdentidades Trigonometricas
Identidades Trigonometricas
 
Codificadores
CodificadoresCodificadores
Codificadores
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Banda ancha y banda base
Banda ancha y banda baseBanda ancha y banda base
Banda ancha y banda base
 
Monografia ocho reinas
Monografia ocho reinasMonografia ocho reinas
Monografia ocho reinas
 
Recursividad
RecursividadRecursividad
Recursividad
 
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
PDS Unidad 2 Sección 2.2: Representación de sistemas discretos con diagrama a...
 
Algebra lineal
Algebra linealAlgebra lineal
Algebra lineal
 
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretosPDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
PDS Unidad 2 Sección 2.4: Respuesta de sistemas discretos
 
Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
 
Estadistica trabajo frecuencia 14030368
Estadistica trabajo frecuencia 14030368Estadistica trabajo frecuencia 14030368
Estadistica trabajo frecuencia 14030368
 
Sección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempoSección 2.7 Correlación de señales discretas en el tiempo
Sección 2.7 Correlación de señales discretas en el tiempo
 
Arboles
ArbolesArboles
Arboles
 
Sistemas dinamicos con_simulink
Sistemas dinamicos con_simulinkSistemas dinamicos con_simulink
Sistemas dinamicos con_simulink
 
Topologia texto u.n
Topologia texto u.nTopologia texto u.n
Topologia texto u.n
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduino
 
Dsp manual print
Dsp manual printDsp manual print
Dsp manual print
 
Seccion 3.4 Inversión de la transformada Z
Seccion 3.4 Inversión de la transformada ZSeccion 3.4 Inversión de la transformada Z
Seccion 3.4 Inversión de la transformada Z
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 

Destacado

Organizacion_Computadores4
Organizacion_Computadores4Organizacion_Computadores4
Organizacion_Computadores4
Velmuz Buzz
 
Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)
Velmuz Buzz
 
Analisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrenciaAnalisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrencia
Velmuz Buzz
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repasoVelmuz Buzz
 
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blancoDiapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
Velmuz Buzz
 
Sd5
Sd5Sd5
Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)
Velmuz Buzz
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
Velmuz Buzz
 
Examen final ii termino 2007
Examen final ii termino 2007Examen final ii termino 2007
Examen final ii termino 2007
Velmuz Buzz
 
Javadoc
JavadocJavadoc
Javadoc
Velmuz Buzz
 
Interfaz_Grafica_POO
Interfaz_Grafica_POOInterfaz_Grafica_POO
Interfaz_Grafica_POOVelmuz Buzz
 
Analisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestroAnalisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestro
Velmuz Buzz
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodosVelmuz Buzz
 
Organizacion_Computadores6
Organizacion_Computadores6Organizacion_Computadores6
Organizacion_Computadores6
Velmuz Buzz
 
Conceptos Básicos de la Computadora
Conceptos Básicos de la ComputadoraConceptos Básicos de la Computadora
Conceptos Básicos de la Computadora
Velmuz Buzz
 
Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)
Velmuz Buzz
 
Resolucion fisica c_final2006ti
Resolucion fisica c_final2006tiResolucion fisica c_final2006ti
Resolucion fisica c_final2006ti
Velmuz Buzz
 
Ecuaciones diferenciales leccion1
Ecuaciones diferenciales   leccion1Ecuaciones diferenciales   leccion1
Ecuaciones diferenciales leccion1
Velmuz Buzz
 
Analisis_Algoritmo_Quicksort
Analisis_Algoritmo_QuicksortAnalisis_Algoritmo_Quicksort
Analisis_Algoritmo_Quicksort
Velmuz Buzz
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolares
Velmuz Buzz
 

Destacado (20)

Organizacion_Computadores4
Organizacion_Computadores4Organizacion_Computadores4
Organizacion_Computadores4
 
Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)
 
Analisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrenciaAnalisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrencia
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repaso
 
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blancoDiapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
 
Sd5
Sd5Sd5
Sd5
 
Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
 
Examen final ii termino 2007
Examen final ii termino 2007Examen final ii termino 2007
Examen final ii termino 2007
 
Javadoc
JavadocJavadoc
Javadoc
 
Interfaz_Grafica_POO
Interfaz_Grafica_POOInterfaz_Grafica_POO
Interfaz_Grafica_POO
 
Analisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestroAnalisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestro
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodos
 
Organizacion_Computadores6
Organizacion_Computadores6Organizacion_Computadores6
Organizacion_Computadores6
 
Conceptos Básicos de la Computadora
Conceptos Básicos de la ComputadoraConceptos Básicos de la Computadora
Conceptos Básicos de la Computadora
 
Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)
 
Resolucion fisica c_final2006ti
Resolucion fisica c_final2006tiResolucion fisica c_final2006ti
Resolucion fisica c_final2006ti
 
Ecuaciones diferenciales leccion1
Ecuaciones diferenciales   leccion1Ecuaciones diferenciales   leccion1
Ecuaciones diferenciales leccion1
 
Analisis_Algoritmo_Quicksort
Analisis_Algoritmo_QuicksortAnalisis_Algoritmo_Quicksort
Analisis_Algoritmo_Quicksort
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolares
 

Similar a Analisis de algoritmos tarea 2

Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
Velmuz Buzz
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
Silvana Cecilia Vire
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
luzenith_g
 
2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
Fredy Soncco
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
Alexis Jiménez Vejar
 
Tema4
Tema4Tema4
Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)
Spimy
 
Informe
InformeInforme
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
Rolf Pinto
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
Evans Balcazar
 
Aclase0802
Aclase0802Aclase0802
Recurrencias
RecurrenciasRecurrencias
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
 
Tarea ecuaciones diferenciales
Tarea ecuaciones diferencialesTarea ecuaciones diferenciales
Tarea ecuaciones diferenciales
SalMndez5
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
rezzaca
 
Complejidad
ComplejidadComplejidad
Cap2.1
Cap2.1Cap2.1
Quadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplosQuadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplos
Daniel Cam Urquizo
 

Similar a Analisis de algoritmos tarea 2 (20)

Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Tema4
Tema4Tema4
Tema4
 
Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)
 
Informe
InformeInforme
Informe
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Aclase0802
Aclase0802Aclase0802
Aclase0802
 
Recurrencias
RecurrenciasRecurrencias
Recurrencias
 
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
 
Tarea ecuaciones diferenciales
Tarea ecuaciones diferencialesTarea ecuaciones diferenciales
Tarea ecuaciones diferenciales
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Quadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplosQuadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplos
 

Más de Velmuz Buzz

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er Orden
Velmuz Buzz
 
Ruby
Ruby Ruby
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
Velmuz Buzz
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
Velmuz Buzz
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de Transporte
Velmuz Buzz
 
Capa Red
Capa RedCapa Red
Capa Red
Velmuz Buzz
 
Capa Enlace
Capa Enlace Capa Enlace
Capa Enlace
Velmuz Buzz
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura Organizacional
Velmuz Buzz
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema experto
Velmuz Buzz
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistores
Velmuz Buzz
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
Velmuz Buzz
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacion
Velmuz Buzz
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferenciaVelmuz Buzz
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejercicios
Velmuz Buzz
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
Velmuz Buzz
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
Velmuz Buzz
 
Electronica transitores efecto de cambio
Electronica transitores efecto de cambioElectronica transitores efecto de cambio
Electronica transitores efecto de cambio
Velmuz Buzz
 
Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd ii
Velmuz Buzz
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2
Velmuz Buzz
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2
Velmuz Buzz
 

Más de Velmuz Buzz (20)

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er Orden
 
Ruby
Ruby Ruby
Ruby
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de Transporte
 
Capa Red
Capa RedCapa Red
Capa Red
 
Capa Enlace
Capa Enlace Capa Enlace
Capa Enlace
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura Organizacional
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema experto
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistores
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacion
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferencia
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejercicios
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 
Electronica transitores efecto de cambio
Electronica transitores efecto de cambioElectronica transitores efecto de cambio
Electronica transitores efecto de cambio
 
Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd ii
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2
 

Analisis de algoritmos tarea 2

  • 1. Análisis de Algoritmos Pablo Vargas Boccanedes Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 2. TAREA 2 Guayaquil, Julio de 2009 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 3. Introducción En esta sección analizaremos algoritmos de ordenamiento y búsqueda, determinísticos y aleatorios, para lo cual calcularemos sus tiempos de ejecución en función del tamaño de las instancias. Entre los objetivos tenemos como más importante la interpretación de los resultados y la comprensión de una mejor manera los mismos, conocer el funcionamiento del Teorema Maestro para la obtención de los tiempos de ejecución. Otro de los objetivos importantes es presentar los métodos que nos ayudarán a elegir entre algoritmos de diferente implementación en función de nuestro medio, mediante el análisis de los tiempos de ejecución y utilización de memoria que son principalmente los limitantes en los ordenadores y equipos donde correrán dichos algoritmos. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 4. Teoría Para la resolución de los problemas propuestos utilizaremos los métodos Algebraico, Iterativo y del Teorema Maestro que consiste sencillamente en aplicar las fórmulas para los casos en que sean aplicables. Los tiempos de ejecución serán expresados con Notaciones Asintóticas, con lo cual tendremos referencias de la función del tiempo de ejecución con otra conocida y ésta estará dada por su comportamiento asintótico. Además de esta forma podemos generalizar el tiempo de ejecución que ahora tendrá el mismo comportamiento sobre cualquier sistema de cómputo en función de las instancias. El Teorema Maestro es aplicable a las funciones del tipo, t(n)=at( ) + f(n) є>0 f(n) єӨ( ) t(n) є Ө( ) f(n) є Ω( ) t(n) є Ө(f(n) ) є>0 f(n) єΩ( ) ^ n0 n≥ n0 c af( )≤cf(n) t(n) є Ө(f(n)) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 5. EJERCICIOS Problema 1.- Discuta cualitativamente la diferencia entre el tiempo promedio de ejecución de un algoritmo determinístico (tal como quicksort) y el tiempo esperado de un algoritmo aleatorio (tal como quicksort aleatorio). Solución: Quicksort toma el primer elemento del conjunto, mientras que Quicksort Aleatorio toma un pivote aleatorio dando la opción de tomar el del centro como pivote, esto ayudará a un ordenamiento más rápido. Además sus tiempos de ejecución en promedio son, quicksort Ө(nlgn), mientras que quicksort aleatorio se comporta como O(nlgn) lo que nos da implícitamente la respuesta. Quicksort Aleatorio es más rápido que Quicksort. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 6. Problema 2.- La ecuación de recurrencia t(n) = 7 t(n/2) + n2 describe el tiempo de ejecución de un algoritmo A. Otro algoritmo A’ que resuelve el mismo problema tiene en cambio la ecuación t(n) = at(n/4) + n2. ¿Cuál es el valor entero mayor que a puede tomar para que el tiempo de ejecución de A’ sea asintóticamente más rápido que el de A? Solución: Utilizando el Teorema Maestro en ambas partes, t(n)=7t( + n2 de aquí tenemos que a=7, b=2 y f(n)=n2 Propuesta, є>0 n2 O( ) D! є=3 n2 O( ) n2 O( ) como sabemos, esta expresión es verdadera. t(n) Ө( ) Para la segunda parte, t(n) = at(n/4) + n2 Propuesta, є>0 n2 O( ) Supongamos que esta expresión es verdadera. t(n) Ө( Lo que plantea el ejercicio es lo siguiente O( ) entonces, c,n0 n≥ n0 ≤ ≤ ≤ lg7 ≤ lg7 ≤ lg 7≤ a≥72 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 7. Problema 3.- Resuelva las siguientes ecuaciones de recurrencia utilizando el teorema maestro. Justifique con claridad el uso de los varios casos. t(n) = 9 t(n/3) + n2 + n/2 + 1 t(n) 5 t(n/2) + n2 t(n) = 12 T(n/4) + n2 Solución: t(n) = 9 t(n/3) + n2 + n/2 + 1 a=9 b=3 f(n)= n2 + n/2 + 1 n2 + n/2 + 1 Ө( ) n2 + n/2 + 1 Ө (n2) Aunque ya sabemos que esto es verdadero, lo vamos a demostrar: c1,c2,n0 n≥ n0 c1 n2 ≤ n2 + n/2 + 1 ≤c2 n2 de aquí sabemos que esta expresión es válida con: c1=1; c2=2 ; n0=2 Por lo tanto el tiempo de ejecución t(n) Ө ((n2 + n/2 + 1)lgn) t(n) Ө (n2lgn) t(n) 5 t(n/2) + n2 a=5 b=2 f(n)= n2 n2 Ө (nlg5-є) si є=1 n2 Ө (n2) Sabemos que esto es verdadero y no lo vamos a demostrar. Entonces el tiempo de ejecución en función de las instancias es t(n) Ө (nlg5) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 8. t(n) = 12 t(n/4) + n2 a=12 b=4 f(n)= n2 n2 Ω( ) si n2 Ω(n2) Sabemos que es verdadero por ser la misma función. Ahora tenemos que comprobar la otra parte del teorema: n0 n≥ n0 c 12 ≤c n2 n2≤c n2 ≤c c=1 Dado que se cumplen ambas condiciones, podemos asegurar que t(n) Ө (n2) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 9. Problema 4.- El tiempo de ejecución de la operación PARTICION sobre una secuencia de tamaño n es teta(n); justifique esta afirmación. Solución: Si la partición ocurre desde el elemento de la segunda posición, de uno en uno, tendremos (n-1) particiones y la operación partición se ejecuta en un tiempo, tenemos la ecuación, t(n)=1+ t(n-1) n t(n)=1+1+t(n-2) ……………… 1 n-1 t(n)=1(n-1 veces) t(n)= n-1 1 n-2 t(n) Ө(n) .. .. . .. D! c1,c2,n0 n≥ n0 c1n≤n-1≤c2n 1 1 c1= c2=1 n0=2 d! Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 10. Problema 7.- Los bancos registran las transacciones de una cuenta según el tiempo en que estas ocurrieron, pero a la mayoría de las personas les gusta recibir sus estados de cuenta con las transacciones listadas según el numero de cheque. Las personas normalmente giran sus cheques en orden según el número de cheque, mientras que los beneficiarios los cobran sin ningún orden particular. El problema de convertir de uno a otro ordenamiento es un problema de ordenar una entrada que ya está casi ordenada. Se dice que el tiempo necesario para realizar esta conversión por inserción es mejor que el obtenido por quicksort. ¿Qué piensa usted? Discuta su respuesta. Solución: Dado que el número de cheques cobrados es menor o igual que el número de cheques girados, y como los cheques girados están en orden, representarán más de la mitad de la lista o registro del banco, por lo que el problema se reducirá a ordenar la mitad o menos de elementos del registro equivalentes a los cheques cobrados. Este algoritmo es más rápido que quicksort en este caso, porque la lista está casi ordenada y las operaciones de intercambio que habrá que hacer son con los cheques cobrados. Si hacemos con el algoritmo quicksort, este buscará un pivote y analizará por partes, aunque el arreglo está casi ordenado, se harán las mismas comparaciones pero con más operaciones de intercambio. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 11. Problema 8.- Demuestre que el tiempo esperado para el algoritmo quicksort aleatorio es Ω(n lg n). Solución: Dado que el algoritmo es aleatorio, el tiempo de ejecución estará dado por la suma de los casos por donde ocurra la partición. Cada caso tiene tu propio tiempo de ejecución dependiendo del lugar por el cual ocurre la partición. t(n)= Caso (rango) Caso (partición) t(n)= (tp(n) + 1 0 2 t(n)= (Ө(n ) + +t(n-k)+…+1) 2 1 t(n)= (Ө(n2) + 2 3 2 t(k) O(klgk) ... ... t(n)≤ (Ө(n2) + 2 n n-1 ≤lg1+2lg2+..+(n-1)lg(n-1) ≤ (n-1)nlg(n-1) t(n)≤ (Ө(n2) + 2 t(n) ≤ Ө(n) +(n-1)lg(n-1) para grandes valores de n: t(n) ≤ Ө(n) +(n)lg(n) t(n) O(nlgn) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 12. EJERCICIOS PROPUESTOS Problema 9.- El algoritmo o método de Strassen se utiliza para multiplicar dos matrices cuadradas de nxn en tiempos teta(nlg7); lo que representa una mejora considerable con respecto al método que se usa tradicionalmente y que requiere tiempos teta(n3). (Brevemente, el método consiste en dividir las matrices de nxn en matrices de (n/2)x(n/2), calcular 7 matrices auxiliares y a partir de ellas encontrar las submatrices de la matriz resultante) En este ejercicio haga lo siguiente: a) Describa en qué consiste el método de Strassen. Ilustre el método con un ejemplo. b) Explique por qué se dice que este es un algoritmo diseñado por división y conquista. c) Demuestre que el método de Strassen es correcto d) Encuentre la ecuación de recurrencia para calcular el tiempo de ejecución del algoritmo. e) Resuelva la ecuación obtenida en c). Compare este resultado con el obtenido por el método convencional. Problema 10.- Se quiere multiplicar dos numeros enteros muy grandes, cuyas representaciones requieren, por ejemplo, 512 bits; el sistema de computo que tenemos esta limitado en cuanto a que la representacion y las operaciones con numeros enteros deben hacerse con palabras de 64 bits. Diseñe por division y conquista un metodo o algoritmo que permita realizar la multiplicacion de enteros de 512 bits en terminos de multiplicaciones de palabras de 64 bits. Suponga que el tiempo para realizar sumas y desplazamientos de palabras de 64 bits es teta(1). Siga los mismos pasos que en el ejercicio anterior. Problema 11.- Se tienen un naipe de n cartas y se le pide a un voluntario que escoja una de las n cartas, cuya identidad se mantendrá en secreto. Diseñe un metodo -similar al visto en clase- para encontrar dicha carta “secreta” en tiempos teta(lg n). Considere que el tiempo para que el voluntario señale en que pila se encuentra la carta es teta(1). Problema 12.- En la industria de la construccion de semiconductores VLSI (very large scale integration) se requiere probar millones de chips para detectar cuales estan defectuosos. La idea basica del metodo consiste en hacer que los chips se prueben unos a otros; para ello se construye un dispositivo que reporta el estado del par de chips instalado. Los chips buenos siempre dicen la verdad, es decir, reportan con exactitud si el chip bajo prueba es bueno o malo; los chips malos no son confiables, es decir, dicen cualquier cosa sobre el otro. Diseñe un metodo para identificar todos los chips buenos. El problema debe resolverse en tiempos O(n). Suponga que el numero de chips buenos es mayor que el de chips malos, y que para efectos de calcular el tiempo por cada chip que se prueba se cuenta 1. Note que basta encontrar un chip que sea bueno para encontrar todos los demas que sean buenos en tiempos lineales; asi que hay que encontrar un chip que sea bueno en tiempos O(n). Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 13. CONCLUSIÓN En esta tarea hemos revisado principalmente el método iterativo y el Teorema Maestro para calcular nuestros tiempos de ejecución. Destacamos la utilización de las definiciones de las notaciones asintóticas para obtener resultados. El nivel de dificultad de los ejercicios es mayor para esta tarea con respecto a la anterior. El ejercicio más complicado al resolver fue el numero 8 y se complica por el tema de las sumatorias y el árbol recursivo. Los ejercicios que no fueron resueltos y que los propongo son del 8 al 12, éstos incluirán un análisis mayor al cálculo de los tiempos de ejecucíon. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.