Algoritmo de Euclides

De Wikilibros, la colección de libros de texto de contenido libre.

El algoritmo de Euclides es un método antiguo y eficaz para calcular el máximo común divisor (MCD). Fue originalmente descrito por Euclides en su obra Elementos. El algoritmo de Euclides extendido es una ligera modificación que permite además expresar al máximo común divisor como una combinación lineal. Este algoritmo tiene aplicaciones en diversas áreas como álgebra, teoría de números y ciencias de la computación, entre otras. Con unas ligeras modificaciones suele ser utilizado en computadoras electrónicas debido a su gran eficiencia.

Proposición[editar]

Sean a,b enteros no nulos. Entonces mcd(a,b) = mcd(b,r) donde r es el único 0 < r < b tal que existe un entero q con a= bq + r (esto es, que r es el resto de la división de a por b)

Esta proposición nos indica que es igual de válido calcular el mcd(a,b) que el mcd(b,r), con la ventaja de que r es un entero de menor tamaño que el original a. Esto es aprovechado por el algoritmo de Euclides para el cálculo del máximo común divisor de dos números enteros.

Algoritmo original de Euclides[editar]

AB y CD los segmentos conmensurables.
Ejemplo del algoritmo original de Euclides.

En la concepción griega de la matemática, los números se entendían como magnitudes geométricas. Un tema recurrente en la geometría griega es el de la conmensurabilidad de dos segmentos: dos segmentos (números) AB y CD son conmensurables cuando existe un tercer segmento PQ el cual cabe exactamente un número entero de veces en los primeros dos, es decir, PQ «mide» (mensura: medida) a los segmentos AB y CD.

No cualquier par de segmentos es conmensurable, como encontraron los pitagóricos cuando establecen que el lado y la diagonal de un cuadrado no son conmensurables, pero en el caso de dos segmentos conmensurables se desea hallar la mayor medida común posible.

Euclides describe en la proposición VI I.2 de sus Elementos un método que permite hallar la mayor medida común posible de dos números (segmentos) que no sean primos entre sí, aunque de acuerdo a la época tal método se explica en términos geométricos, lo que se ilustra en la siguiente transcripción.


Para encontrar la máxima medida común de dos números que no sean primos entre sí.

Sean AB y CD los dos números que no son primos uno al otro. Se necesita entonces encontrar la máxima medida común de AB y CD.

Si CD mide AB entonces es una medida común puesto que CD se mide a sí mismo. Y es manifiesto que también es la mayor medida pues nada mayor a CD puede medir a CD. Pero si CD no mide a AB entonces algún número quedará de AB y CD, el menor siendo continuamente restado del mayor y que medirá al número que le precede. Porque una unidad no quedará pues si no es así, AB y CD serán primos uno del otro [Prop. VII.1], lo cual es lo contrario de lo que se supuso.

Por tanto, algún número queda que medirá el número que le precede. Y sea CD midiendo BE dejando EA menor que sí mismo y sea EA midiendo DF dejando FC menor que sí mismo y sea FC medida de AE. Entonces, como FC mide AE y AE mide DF, FC será entonces medida de DF. Y también se mide a sí mismo. Por tanto también medirá todo CD. Y CD mide a BE. Entonces CF mide a BE y también mide a EA. Así mide a todo BA y también mide a CD. Esto es, CF mide tanto a AB y CD por lo que es una medida común de AB y CD.

Afirmo que también es la mayor medida común posible porque si no lo fuera, entonces un número mayor que CF mide a los números AB y CD, sea éste G. Dado que G mide a CD y CD mide a BE, G también mide a BE. Además, mide a todo BA por lo que mide también al residuo AE. Y AE mide a DF por lo que G también mide a DF. Mide también a todo DC por lo que mide también al residuo CF, es decir el mayor mide al menor, lo cual es imposible.

Por tanto, ningún número mayor a CF puede medir a los números AB y CD. Entonces CF es la mayor medida común de AB y CD, lo cual se quería demostrar.



En lenguaje moderno, el algoritmo se describe como sigue:

  1. Dados dos segmentos AB y CD (con AB>CD), restamos CD de AB tantas veces como sea posible. Si no hay residuo, entonces CD es la máxima medida común.
  2. Si se obtiene un residuo EA, éste es menor que CD y podemos repetir el proceso: restamos EA tantas veces como sea posible de CD. Si al final no queda un residuo, EA es la medida común. En caso contrario obtenemos un nuevo residuo FC menor a EA.
  3. El proceso se repite hasta que en algún momento no se obtiene residuo. Entonces el último residuo obtenido es la mayor medida común.

El hecho de que los segmentos son conmesurables es clave para asegurar que el proceso termina tarde o temprano

Algoritmo de Euclides tradicional[editar]

Al dividir entre (números enteros), se obtiene un cociente y un residuo . Es posible demostrar que el máximo común divisor de y es el mismo que el de y (Sea c el máximo común divisor de y ,.Como y divide a y a divide también a . Si existiera otro número mayor que que divide a y a , también dividiría a , por lo que no sería el mcd de y , lo que contradice la hipótesis). Éste es el fundamento principal del algoritmo. También es importante tener en cuenta que el máximo común divisor de cualquier número y es precisamente . Para fines prácticos, la notación significa máximo común divisor de y .

Según lo antes mencionado, para calcular el máximo común divisor de 2366 y 273 se puede proseguir de la siguiente manera:

Paso Operación Significado
1 2366 dividido entre 273 es 8 y sobran 182
2 273 dividido entre 182 es 1 y sobran 91
3 182 dividido entre 91 es 2 y sobra 0

La secuencia de igualdades implican que . Dado que , entonces se concluye que . Este mismo procedimiento se puede aplicar a cualesquiera dos números naturales. En general, si se desea encontrar el máximo común divisor de dos números naturales y , se siguen las siguientes reglas:

  1. Si entonces y el algoritmo termina
  2. En otro caso, donde es el resto de dividir entre . Para calcular se utilizan estas mismas reglas

Asuma que llamamos y . Aplicando estas reglas se obtiene la siguiente secuencia de operaciones:

Paso Operación Significado
1 dividido entre es y sobran
2 dividido entre es y sobran
3 dividido entre es y sobran
dividido entre es y sobran
dividido entre es y sobra

Como la sucesión de residuos va disminuyendo, al final un residuo tiene que ser cero y es en ese momento cuando el algoritmo termina. El máximo común divisor es precisamente (el último residuo que no es cero).

Descripción del algoritmo[editar]

1.dividir el numero que fue divisor en el paso anterior entre el resto obtenido en el paso anterior

2.despreciar el cociente

3.si el resto obtenido esta vez es 0, el mcd es el divisor de esta operacion, es decir, el último resto no nulo (recordemos que el divisor de esta operación fué el resto en la anterior.

4.Si el resto no es 0, ir al primer paso

Algoritmo de Euclides extendido[editar]

El algoritmo de Euclides extendido permite, además de encontrar un máximo común divisor de dos números enteros y , expresarlo como la mínima combinación lineal de esos números, es decir, encontrar números enteros y tales que . Esto se generaliza también hacia cualquier dominio euclideano.

Fundamentos[editar]

Existen varias maneras de explicar el algoritmo de Euclides extendido, una de las más comunes consiste en la siguiente:

  1. Usar el algoritmo tradicional de Euclides. En cada paso, en lugar de " dividido entre es y de resto " se escribe la ecuación (véase algoritmo de la división).
  2. Se despeja el resto de cada ecuación.
  3. Se sustituye el resto de la última ecuación en la penúltima, y la penúltima en la antepenúltima y así sucesivamente hasta llegar a la primera ecuación, y en todo paso se expresa cada resto como combinación lineal.

Sin embargo, en aras de la comprensión y memorización de este algoritmo, es conveniente conocer la siguiente caracterización. Para multiplicar dos matrices de tamaño se usa la siguiente fórmula (véase Producto de matrices):

(1)

Supóngase que se utiliza el algoritmo de Euclides tradicional para calcular los valores y que ahí se describen. Por cada valor calculado se puede formar la matriz . Usando la ecuación (1)

de manera repetida se puede calcular el producto de las primeras  matrices de este tipo:

Resulta ser que los valores y tienen la propiedad de que , es decir, expresan a como una combinación lineal de y . Particularmente, como entonces se tiene , lo cual es la solución del problema. Esta propiedad no debería ser sorprendente, pues esta multiplicación de matrices equivale al método antes descrito donde se substituye cada ecuación en la anterior. Es importante calcular en ese mismo orden. La matriz aparece en el extremo derecho y la matriz en el izquierdo.

Regresando al primer ejemplo, la sucesión de cocientes es , y . Entonces se puede calcular

Utilizando el primer renglón de esta matriz se puede leer que , es decir, se ha encontrado la manera de expresar al máximo común divisor de 2366 y 273 como una combinación lineal.

Descripción formal[editar]

Para expresar el algoritmo de Euclides extendido es conveniente notar la manera en que se calculan los valores y con la multiplicación de matrices:

De esta manera y además . Por lo tanto el algoritmo en pseudocódigo se puede expresar como sigue: Plantilla:Algoritmo

Referencias[editar]