SlideShare a Scribd company logo
1 of 13
Download to read offline
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.

More Related Content

What's hot

PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
Kosaku Ono
 
Normas Internacionais de Contabilidade
Normas Internacionais de ContabilidadeNormas Internacionais de Contabilidade
Normas Internacionais de Contabilidade
Silvia Colodel
 
Aula 4 linguagens regularese automatosfinitosdeterministicos
Aula 4   linguagens regularese automatosfinitosdeterministicosAula 4   linguagens regularese automatosfinitosdeterministicos
Aula 4 linguagens regularese automatosfinitosdeterministicos
wab030
 
Análise do ponto de equilíbrio
Análise do ponto de equilíbrioAnálise do ponto de equilíbrio
Análise do ponto de equilíbrio
zeramento contabil
 

What's hot (20)

Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
 
Estrutura de dados - Filas
Estrutura de dados - FilasEstrutura de dados - Filas
Estrutura de dados - Filas
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Produção Diferenciada vs Produção Homogeneizada
Produção Diferenciada vs Produção HomogeneizadaProdução Diferenciada vs Produção Homogeneizada
Produção Diferenciada vs Produção Homogeneizada
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Normas Internacionais de Contabilidade
Normas Internacionais de ContabilidadeNormas Internacionais de Contabilidade
Normas Internacionais de Contabilidade
 
10分でわかる決算書
10分でわかる決算書10分でわかる決算書
10分でわかる決算書
 
Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
動的計画法
動的計画法動的計画法
動的計画法
 
Cmv = ei + compras ef
Cmv = ei + compras   efCmv = ei + compras   ef
Cmv = ei + compras ef
 
LaTeX Básico I
LaTeX Básico ILaTeX Básico I
LaTeX Básico I
 
Aula 4 linguagens regularese automatosfinitosdeterministicos
Aula 4   linguagens regularese automatosfinitosdeterministicosAula 4   linguagens regularese automatosfinitosdeterministicos
Aula 4 linguagens regularese automatosfinitosdeterministicos
 
Análise do ponto de equilíbrio
Análise do ponto de equilíbrioAnálise do ponto de equilíbrio
Análise do ponto de equilíbrio
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 

Similar to 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
 
Practica no. 1 espectros de frecuencia
Practica no. 1 espectros de frecuenciaPractica no. 1 espectros de frecuencia
Practica no. 1 espectros de frecuencia
Leo Flowwers
 
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
 
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
 
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
 
Metodosbiseccionyfalsaposicion
MetodosbiseccionyfalsaposicionMetodosbiseccionyfalsaposicion
Metodosbiseccionyfalsaposicion
hnieto121
 

Similar to 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
 
Practica no. 1 espectros de frecuencia
Practica no. 1 espectros de frecuenciaPractica no. 1 espectros de frecuencia
Practica no. 1 espectros de frecuencia
 
Tema2
Tema2Tema2
Tema2
 
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
 
Analissis espectral
Analissis espectralAnalissis espectral
Analissis espectral
 
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
 
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_
 
Metodosbiseccionyfalsaposicion
MetodosbiseccionyfalsaposicionMetodosbiseccionyfalsaposicion
Metodosbiseccionyfalsaposicion
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
series_de_fourier.ppt
series_de_fourier.pptseries_de_fourier.ppt
series_de_fourier.ppt
 

More from 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
 

More from 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
 

Recently uploaded

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
 

Recently uploaded (11)

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
 
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
 
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
 
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
 
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
 
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.
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
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...
 

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.