SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
LOS ALGORITMOS RÁPIDOS Y
     SUS APLICACIONES
       Alejandro Domínguez
Departamento de Sistemas Geográficos
         Octubre de 1993
ALGORITMOS RÁPIDOS
• Un algoritmos rápido
  – Es una descripción detallada de un procedimiento
    computacional, el cual contiene una forma obvia
    de calcular el resultado a partir de datos de
    entrada.
  – Estos algoritmos sacrifican la claridad en las
    operaciones a favor de cálculos que son
    computacionalmente más eficientes.
ALGORITMOS RÁPIDOS
• Ejemplo 1.
  – Supongamos que se necesita calcular (muchas
    veces) un número A dado por:
     • A=ac+ad+bc+bd
  – Para esto se requieren 4 multiplicaciones y 3
    sumas.
  – Factorizando, una forma equivalente de A es:
     • A=(a+b)(c+d)
  – Esta forma requiere 1 multiplicación y 2 sumas.
  – Esta última forma es más eficiente o rápida.
ALGORITMOS RÁPIDOS
• Ejemplo 2.
  – El producto de números complejos
     • (e+if)=(a+ib)(c+id)   i2=-1
  – Se puede escribir de forma natural en términos de
    multiplicaciones y sumas reales con:
     • e=ac-bd
     • f=ad-bc
  – Estas fórmulas requieren 4 multiplicaciones reales
    y dos sumas reales.
ALGORITMOS RÁPIDOS
• Ejemplo 2. (continuación)
   – Un algoritmo más eficiente es:
      • e=(a-b)d+a(c-d);   f=(a-b)d+b(c+d)
   – Si y sólo sí la multiplicación requiere más tiempo de
     cómputo que la suma.
   – La forma anterior requiere de 3 multiplicaciones y 5
     sumas.
   – Si c y d son constantes, entonces c+d y c-d son también
     constantes y se pueden calcular fuera del algoritmo.
   – Esta forma requiere de 3 multiplicaciones reales y 3 sumas
     reales para efectuar una multiplicación compleja.
ALGORITMOS RÁPIDOS
• Ejemplo 3.
  – Un algoritmo para calcular xn, con n natural, es:
     Input x, n {n número natural}
     ans:=1
     For i:=1 to n do
        ans:=ansx
     EndFor
     Output ans and stop
  – Este algoritmo requiere de exactamente n
    multiplicaciones.
ALGORITMOS RÁPIDOS
• Ejemplo 3. (continuación)
   – Tomemos la siguiente implementación:
      Input x, n {n número natural}
      If n=0 then ans:=1
      Else
          x2:=xx
          If odd(n) then p:=x
          Else p:=1
          Endif
          For i:=1 to (nDIV2) do p:=px2
          Endfor
          ans:=p
      Endif
   – Este algoritmo requiere de (n+1)/2 multiplicaciones si n es
     impar y de n/2 si n es par.
ALGORITMOS RÁPIDOS
• Ejemplo 4.
  – La Transformada Discreta de Fourier de una
    función (discretizada) está dada por:
                      N 1
              1
     F ( n) 
              N
                       f ( j )e
                      j 0
                                    2iuj / N
                                                 ; u  0,1,2,..., N .

  – La transformada discreta inversa está dada por:
               N 1
      f (n)   F ( j )e 2iuj / N ; j  0,1,2,..., N  1.
               u 0
ALGORITMOS RÁPIDOS
• Ejemplo 4. (continuación)
  – El número de multiplicaciones complejas es
    proporcional a N2.
  – El número de sumas complejas es proporcional a N2.
  – Una descomposición adecuada puede hacer que el
    número de multiplicaciones y sumas se reduzca a un
    número proporcional a Nlog2N.
  – El procedimiento de descomposición se llama
    “Algoritmo de la Transformada Rápida de Fourier
    (FFT)”.
ALGORITMOS RÁPIDOS
• Ejemplo 4. (continuación)
   – La reducción en proporcionalidad de N2 a Nlog2N
     representa un ahorro significativo en tiempo de cómputo.
              N           N2 (TF directa)   Nlog2N (FFT)
              2                 4                2
              4                 16               8
              8                 64              24
              16               256              64
              32              1024              160
              64              4096              384
             128              16384             896
             256              65536            2048
             512             262144            4068
             1024           1048576            10240
ALGORITMOS RÁPIDOS
 • Ejemplo 4. (continuación)
          – La implementación de FFT para 8 puntos.


                                                                   FFT de 8
                                                                    puntos


                           FFT de dos                                                                    FFT de dos
                             puntos                                                                        puntos


       FFT de dos                              FFT de dos                            FFT de dos                              FFT de dos
         puntos                                  puntos                                puntos                                  puntos



F(0)                F(4)                F(2)                F(6)              F(1)                F(5)                F(3)                F(7)
ALGORITMOS RÁPIDOS
Se requiere conocimiento en        Se requiere conocimiento en
matemáticas sobre:                 computación sobre:
• Teoría de números.               • Programación.
• Campos y anillos finitos sobre   • Programación avanzada.
  los números enteros.
                                   • Estructura de datos.
• Polinomios mínimos y
  conjugados.
• Polinomios ciclotómicos.
• Campos y anillos de
  polinomios.
• Grupos.
• Espacios vectoriales.
• Algebra lineal.
ALGORITMOS RÁPIDOS
• Los algoritmos rápidos se requieren en
  programación de sistemas asociados a:
  – Sonar.
  – Radar.
  – Procesamiento sísmico.
  – Tomografía computarizada.
  – Procesamiento digital de imágenes y señales.
  – Cualquier aplicación que requiere un gran
    volumen de cálculos numéricos.

Más contenido relacionado

La actualidad más candente

Lab 04 - Analisis de Señales - UNTECS
Lab 04 - Analisis de Señales - UNTECSLab 04 - Analisis de Señales - UNTECS
Lab 04 - Analisis de Señales - UNTECS
Ing. Electrónica xD
 
Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2
nica2009
 
Utp pds_l5_transformada discreta de fourier_
 Utp pds_l5_transformada discreta de fourier_ Utp pds_l5_transformada discreta de fourier_
Utp pds_l5_transformada discreta de fourier_
c09271
 
Lab 07 - Analisis de señales - UNTECS
Lab 07 - Analisis de señales - UNTECSLab 07 - Analisis de señales - UNTECS
Lab 07 - Analisis de señales - UNTECS
Ing. Electrónica xD
 
Analisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En MatlabAnalisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En Matlab
miguelbc
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
Ing. Electrónica xD
 
Lecture 10 isi and eye pattern
Lecture 10 isi and eye patternLecture 10 isi and eye pattern
Lecture 10 isi and eye pattern
nica2009
 
Utp pds_l5_transformada discreta de fourier
 Utp pds_l5_transformada discreta de fourier Utp pds_l5_transformada discreta de fourier
Utp pds_l5_transformada discreta de fourier
jcbenitezp
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discreto
guest1e528d
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
G Hoyos A
 
Funciones periódicas
Funciones periódicasFunciones periódicas
Funciones periódicas
Erick Cruz
 

La actualidad más candente (20)

Lab 04 - Analisis de Señales - UNTECS
Lab 04 - Analisis de Señales - UNTECSLab 04 - Analisis de Señales - UNTECS
Lab 04 - Analisis de Señales - UNTECS
 
Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2
 
Lab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSLab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECS
 
Utp pds_l5_transformada discreta de fourier_
 Utp pds_l5_transformada discreta de fourier_ Utp pds_l5_transformada discreta de fourier_
Utp pds_l5_transformada discreta de fourier_
 
Lab 07 - Analisis de señales - UNTECS
Lab 07 - Analisis de señales - UNTECSLab 07 - Analisis de señales - UNTECS
Lab 07 - Analisis de señales - UNTECS
 
Analisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En MatlabAnalisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En Matlab
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
 
Lecture 10 isi and eye pattern
Lecture 10 isi and eye patternLecture 10 isi and eye pattern
Lecture 10 isi and eye pattern
 
Utp pds_l5_transformada discreta de fourier
 Utp pds_l5_transformada discreta de fourier Utp pds_l5_transformada discreta de fourier
Utp pds_l5_transformada discreta de fourier
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discreto
 
3er parcial Biocontroladores
3er parcial Biocontroladores3er parcial Biocontroladores
3er parcial Biocontroladores
 
Grafica en Matlab de series de fourier
Grafica en Matlab de series de fourierGrafica en Matlab de series de fourier
Grafica en Matlab de series de fourier
 
Dsp7
Dsp7Dsp7
Dsp7
 
Grafica de una Serie De FOURIER en Matlab
Grafica de una Serie De FOURIER en MatlabGrafica de una Serie De FOURIER en Matlab
Grafica de una Serie De FOURIER en Matlab
 
Funciones periodicas
Funciones periodicasFunciones periodicas
Funciones periodicas
 
Teorema de rolle
Teorema de rolleTeorema de rolle
Teorema de rolle
 
Series fourier
Series fourierSeries fourier
Series fourier
 
Series de fodsfjwslurier
Series de fodsfjwslurierSeries de fodsfjwslurier
Series de fodsfjwslurier
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
Funciones periódicas
Funciones periódicasFunciones periódicas
Funciones periódicas
 

Similar a Los algoritmos rápidos y sus aplicaciones

Utp pds_l5_transformada discreta de fourier
 Utp pds_l5_transformada discreta de fourier Utp pds_l5_transformada discreta de fourier
Utp pds_l5_transformada discreta de fourier
c09271
 
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptxdiseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
SANTOS400018
 
Utp pds_s7y8_dft y fft
 Utp pds_s7y8_dft y fft Utp pds_s7y8_dft y fft
Utp pds_s7y8_dft y fft
jcbenitezp
 
Pds 2011 3-balotario de preguntas pc3
Pds 2011 3-balotario de preguntas pc3Pds 2011 3-balotario de preguntas pc3
Pds 2011 3-balotario de preguntas pc3
jcbenitezp
 
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptx
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptxDiseño de filtros digitales-IIRFASFASFASFASFASF.pptx
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptx
SANTOS400018
 
Metodosbiseccionyfalsaposicion
MetodosbiseccionyfalsaposicionMetodosbiseccionyfalsaposicion
Metodosbiseccionyfalsaposicion
hnieto121
 
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumático
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumáticoElectroneumática: Diseño de circuitos secuenciales neumático y electroneumático
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumático
SANTIAGO PABLO ALBERTO
 
Ss cap8 - diseno filtros iir
Ss   cap8 - diseno filtros iirSs   cap8 - diseno filtros iir
Ss cap8 - diseno filtros iir
kevinXD123
 

Similar a Los algoritmos rápidos y sus aplicaciones (20)

Utp pds_l5_transformada discreta de fourier
 Utp pds_l5_transformada discreta de fourier Utp pds_l5_transformada discreta de fourier
Utp pds_l5_transformada discreta de fourier
 
Paralela8
Paralela8Paralela8
Paralela8
 
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptxdiseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
diseño de filtros digitales-2zfcz<cz<c<zcz<.pptx
 
Utp pds_s7y8_dft y fft
 Utp pds_s7y8_dft y fft Utp pds_s7y8_dft y fft
Utp pds_s7y8_dft y fft
 
Pds 2011 3-balotario de preguntas pc3
Pds 2011 3-balotario de preguntas pc3Pds 2011 3-balotario de preguntas pc3
Pds 2011 3-balotario de preguntas pc3
 
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptx
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptxDiseño de filtros digitales-IIRFASFASFASFASFASF.pptx
Diseño de filtros digitales-IIRFASFASFASFASFASF.pptx
 
FFT de alta velocidad para OFDM óptico con FPGA
FFT de alta velocidad para OFDM óptico con FPGAFFT de alta velocidad para OFDM óptico con FPGA
FFT de alta velocidad para OFDM óptico con FPGA
 
TRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIERTRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIER
 
147994600 transformada-de-fourier
147994600 transformada-de-fourier147994600 transformada-de-fourier
147994600 transformada-de-fourier
 
filtros iir
filtros iir filtros iir
filtros iir
 
Paralela4
Paralela4Paralela4
Paralela4
 
Filtro+digital
Filtro+digitalFiltro+digital
Filtro+digital
 
Metodosbiseccionyfalsaposicion
MetodosbiseccionyfalsaposicionMetodosbiseccionyfalsaposicion
Metodosbiseccionyfalsaposicion
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
series_de_fourier.ppt
series_de_fourier.pptseries_de_fourier.ppt
series_de_fourier.ppt
 
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumático
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumáticoElectroneumática: Diseño de circuitos secuenciales neumático y electroneumático
Electroneumática: Diseño de circuitos secuenciales neumático y electroneumático
 
Balotario-Examen-Parcial-verano-2024.ppt
Balotario-Examen-Parcial-verano-2024.pptBalotario-Examen-Parcial-verano-2024.ppt
Balotario-Examen-Parcial-verano-2024.ppt
 
Ss cap8 - diseno filtros iir
Ss   cap8 - diseno filtros iirSs   cap8 - diseno filtros iir
Ss cap8 - diseno filtros iir
 
Tema logaritmos y Ecuaciones Exponenciales
Tema logaritmos y Ecuaciones ExponencialesTema logaritmos y Ecuaciones Exponenciales
Tema logaritmos y Ecuaciones Exponenciales
 
interpolacion.pdf
interpolacion.pdfinterpolacion.pdf
interpolacion.pdf
 

Más de Alejandro Domínguez Torres

Cómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectosCómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectos
Alejandro Domínguez Torres
 
The limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equationsThe limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equations
Alejandro Domínguez Torres
 
Aplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidadAplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidad
Alejandro Domínguez Torres
 

Más de Alejandro Domínguez Torres (20)

Cómo elegir un posgrado webinar
Cómo elegir un posgrado   webinarCómo elegir un posgrado   webinar
Cómo elegir un posgrado webinar
 
La estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al CorrecaminosLa estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al Correcaminos
 
A historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functionsA historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functions
 
Problemas actuales en la educación
Problemas actuales en la educaciónProblemas actuales en la educación
Problemas actuales en la educación
 
Vida Después de la Universidad
Vida Después de la UniversidadVida Después de la Universidad
Vida Después de la Universidad
 
Cómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectosCómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectos
 
Después de una carrera técnica
Después de una carrera técnicaDespués de una carrera técnica
Después de una carrera técnica
 
Un emprendedor nunca deja de capacitarse
Un emprendedor nunca deja de capacitarseUn emprendedor nunca deja de capacitarse
Un emprendedor nunca deja de capacitarse
 
Teoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administraciónTeoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administración
 
Carreras con futuro
Carreras con futuroCarreras con futuro
Carreras con futuro
 
Cómo conseguir empleo
Cómo conseguir empleoCómo conseguir empleo
Cómo conseguir empleo
 
La vida después de la universidad
La vida después de la universidadLa vida después de la universidad
La vida después de la universidad
 
¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?
 
La profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectosLa profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectos
 
El valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectosEl valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectos
 
La ingeniera social y la seguridad en ti
La ingeniera social y la seguridad en tiLa ingeniera social y la seguridad en ti
La ingeniera social y la seguridad en ti
 
The limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equationsThe limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equations
 
Aplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidadAplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidad
 
Applications of analytic geometry
Applications of analytic geometryApplications of analytic geometry
Applications of analytic geometry
 
Plan estratégico de la calidad
Plan estratégico de la calidadPlan estratégico de la calidad
Plan estratégico de la calidad
 

Último

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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
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
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Los algoritmos rápidos y sus aplicaciones

  • 1. LOS ALGORITMOS RÁPIDOS Y SUS APLICACIONES Alejandro Domínguez Departamento de Sistemas Geográficos Octubre de 1993
  • 2. ALGORITMOS RÁPIDOS • Un algoritmos rápido – Es una descripción detallada de un procedimiento computacional, el cual contiene una forma obvia de calcular el resultado a partir de datos de entrada. – Estos algoritmos sacrifican la claridad en las operaciones a favor de cálculos que son computacionalmente más eficientes.
  • 3. ALGORITMOS RÁPIDOS • Ejemplo 1. – Supongamos que se necesita calcular (muchas veces) un número A dado por: • A=ac+ad+bc+bd – Para esto se requieren 4 multiplicaciones y 3 sumas. – Factorizando, una forma equivalente de A es: • A=(a+b)(c+d) – Esta forma requiere 1 multiplicación y 2 sumas. – Esta última forma es más eficiente o rápida.
  • 4. ALGORITMOS RÁPIDOS • Ejemplo 2. – El producto de números complejos • (e+if)=(a+ib)(c+id) i2=-1 – Se puede escribir de forma natural en términos de multiplicaciones y sumas reales con: • e=ac-bd • f=ad-bc – Estas fórmulas requieren 4 multiplicaciones reales y dos sumas reales.
  • 5. ALGORITMOS RÁPIDOS • Ejemplo 2. (continuación) – Un algoritmo más eficiente es: • e=(a-b)d+a(c-d); f=(a-b)d+b(c+d) – Si y sólo sí la multiplicación requiere más tiempo de cómputo que la suma. – La forma anterior requiere de 3 multiplicaciones y 5 sumas. – Si c y d son constantes, entonces c+d y c-d son también constantes y se pueden calcular fuera del algoritmo. – Esta forma requiere de 3 multiplicaciones reales y 3 sumas reales para efectuar una multiplicación compleja.
  • 6. ALGORITMOS RÁPIDOS • Ejemplo 3. – Un algoritmo para calcular xn, con n natural, es: Input x, n {n número natural} ans:=1 For i:=1 to n do ans:=ansx EndFor Output ans and stop – Este algoritmo requiere de exactamente n multiplicaciones.
  • 7. ALGORITMOS RÁPIDOS • Ejemplo 3. (continuación) – Tomemos la siguiente implementación: Input x, n {n número natural} If n=0 then ans:=1 Else x2:=xx If odd(n) then p:=x Else p:=1 Endif For i:=1 to (nDIV2) do p:=px2 Endfor ans:=p Endif – Este algoritmo requiere de (n+1)/2 multiplicaciones si n es impar y de n/2 si n es par.
  • 8. ALGORITMOS RÁPIDOS • Ejemplo 4. – La Transformada Discreta de Fourier de una función (discretizada) está dada por: N 1 1 F ( n)  N  f ( j )e j 0  2iuj / N ; u  0,1,2,..., N . – La transformada discreta inversa está dada por: N 1 f (n)   F ( j )e 2iuj / N ; j  0,1,2,..., N  1. u 0
  • 9. ALGORITMOS RÁPIDOS • Ejemplo 4. (continuación) – El número de multiplicaciones complejas es proporcional a N2. – El número de sumas complejas es proporcional a N2. – Una descomposición adecuada puede hacer que el número de multiplicaciones y sumas se reduzca a un número proporcional a Nlog2N. – El procedimiento de descomposición se llama “Algoritmo de la Transformada Rápida de Fourier (FFT)”.
  • 10. ALGORITMOS RÁPIDOS • Ejemplo 4. (continuación) – La reducción en proporcionalidad de N2 a Nlog2N representa un ahorro significativo en tiempo de cómputo. N N2 (TF directa) Nlog2N (FFT) 2 4 2 4 16 8 8 64 24 16 256 64 32 1024 160 64 4096 384 128 16384 896 256 65536 2048 512 262144 4068 1024 1048576 10240
  • 11. ALGORITMOS RÁPIDOS • Ejemplo 4. (continuación) – La implementación de FFT para 8 puntos. FFT de 8 puntos FFT de dos FFT de dos puntos puntos FFT de dos FFT de dos FFT de dos FFT de dos puntos puntos puntos puntos F(0) F(4) F(2) F(6) F(1) F(5) F(3) F(7)
  • 12. ALGORITMOS RÁPIDOS Se requiere conocimiento en Se requiere conocimiento en matemáticas sobre: computación sobre: • Teoría de números. • Programación. • Campos y anillos finitos sobre • Programación avanzada. los números enteros. • Estructura de datos. • Polinomios mínimos y conjugados. • Polinomios ciclotómicos. • Campos y anillos de polinomios. • Grupos. • Espacios vectoriales. • Algebra lineal.
  • 13. ALGORITMOS RÁPIDOS • Los algoritmos rápidos se requieren en programación de sistemas asociados a: – Sonar. – Radar. – Procesamiento sísmico. – Tomografía computarizada. – Procesamiento digital de imágenes y señales. – Cualquier aplicación que requiere un gran volumen de cálculos numéricos.