0% encontró este documento útil (0 votos)
169 vistas11 páginas

Algoritmo de Strassen

El algoritmo de Strassen mejora la multiplicación de matrices de forma recursiva dividiendo el problema original en 7 subproblemas más pequeños. Donde la multiplicación tradicional tiene una complejidad de O(n3), el algoritmo de Strassen logra reducir la complejidad a O(n2.81) mediante la división en subproblemas y la combinación recursiva de sus soluciones.

Cargado por

Junior Tapia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
169 vistas11 páginas

Algoritmo de Strassen

El algoritmo de Strassen mejora la multiplicación de matrices de forma recursiva dividiendo el problema original en 7 subproblemas más pequeños. Donde la multiplicación tradicional tiene una complejidad de O(n3), el algoritmo de Strassen logra reducir la complejidad a O(n2.81) mediante la división en subproblemas y la combinación recursiva de sus soluciones.

Cargado por

Junior Tapia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Algoritmo de Strassen

Cómo funciona

Basado en el paradigma Divide y Vencerás.


1.Dividir el problema original en subproblemas del mismo tipo pero más pequeños.
2.Resolver esos subproblemas de manera recursiva. Proporcionar la solución trivial si son lo
suficientemente pequeños.
3.Combinar las soluciones de los subproblemas para obtener la solución del problema
original.
PRIMER ALGORITMO TRADICIONAL

( )( ) ( )
A B E F AE+BG AF+BH
x =
C D G H CE+DG CF+DH
RECURRENCIA

T(n) =
{
⍬(1)
8T(n/2) + ⍬(n2)
si n = 1
si n > 1

T(n) = ⍬(n3)
STRASSEN DIVIDE EN 7 SUBMATRICES

( )( )( )
A B E F P5+P4-P2+P6 P1+P2
x =
C D G H P3+P4 P1+P5-P3-P7
STRASSEN DIVIDE EN 7 SUBMATRICES

( )( )( )
A B E F P5+P4-P2+P6 P1+P2
x =
C D G H P3+P4 P1+P5-P3-P7

•P1 = A (F – H)
•P2 = (A + B) H
•P3 = (C + D) E
•P4 = D (G - E)
•P5 = (A + D) (E + H)
•P6 = (B – D) (G + H)
•P7 = (A – C) (E + F)
STRASSEN DIVIDE EN 7 SUBMATRICES

( )( )( )
A B E F P5+P4-P2+P6 P1+P2
x =
C D G H P3+P4 P1+P5-P3-P7

•P1 = A (F – H) •P5+P4-P2+P6 = AE + BG
•P2 = (A + B) H •P3+P4 = CE + DG
•P3 = (C + D) E •P1+P2 = AF + BH
•P4 = D (G - E) •P1+P5-P3-P7 = CF + DH
•P5 = (A + D) (E + H)
•P6 = (B – D) (G + H)
•P7 = (A – C) (E + F)
RECURRENCIA

T(n) =
{
⍬(1)
7T(n/2) + ⍬(n2)
si n = 1
si n > 1
RECURRENCIA

T(n) =
{
⍬(1)
7T(n/2) + ⍬(n2)
si n = 1
si n > 1

T(n) = ⍬(nlog ) =7 ⍬(n2.81)


2
ÁRBOL DE RECURSIVIDAD
ÁRBOL DE RECURSIVIDAD

También podría gustarte