Sei sulla pagina 1di 17

vLa relación de congruencia

Definición de congruencia
Dado m ∈ Z , m> 1, se dice que a, b ∈ Z son congruentes módulo 
m si y sólo si m|(a­b). Se denota esta relación como a ≡ b (mod m), 
m es el módulo de la congruencia. Ejercicio.
La relación de congruencia como equivalencia. El conjunto 
de residuos.
La relación de congruencia módulo m es una relación de 
equivalencia para todo m ∈ Z. Es decir, cumple las propiedades 
reflexiva, simétrica y transitiva. Como en toda relación de 
equivalencia, podemos definir el conjunto cociente de las clases de 
Congruencias en Z módulo m. La 
equivalencia originadas por la relación de congruencia. En este 
caso la relación clasifica a cualquier entero a según el resto 
aritmética en Zm
obtenido al dividirlo por el módulo m.
1

                                                                                           
Congruencias en Z módulo m. La 
aritmética en Zm
Llamaremos Zm al conjunto cociente de Z respecto de la relación de 
congruencia módulo m. A la clase de equivalencia de un elemento a ∈ Z 
se la denota por [a]m o simplemente [a]. 
Para todo a ∈ Z se tiene que [a] = [r] en Zm, donde r es el resto de 
dividir a entre m. Por lo tanto, el conjunto Zm es finito y tiene m 
elementos: Zm = { [0]m, [1]m, ... , [m­1]m}, donde la clase [i]m 
representa al conjunto de todos los enteros que son congruentes con i 
mod m. A este conjunto cociente se le conoce como el conjunto de 
restos o residuos (módulo m) .
Aritmética Modular , en Zm
Definición
En Zm podemos definir dos operaciones binarias internas: 
+ , . : Zm x Zm⇒ Zm que llamamos suma y producto, y están definidas 
de la siguiente manera, para cualesquiera a, b ∈ Z:  2
[a] + [b] = [a+b] 
[a] . [b] = [a.b] 
Congruencias en Z módulo m. La 
aritmética en Zm
Propiedades
Son operaciones cerradas, conmutativas y asociativas 
Cumplen la propiedad distributiva 
Tienen elemento neutro. [0] es el elemento neutro para ( Zm , + ) y [1] 
es el elemento neutro para ( Zm , . ) 
En el caso de ( Zm , + ) existe el elemento opuesto: ­[a] = [­a] 
Propiedad cancelativa para ( Zm , . ) : si [a].[c] = [b].[c] en Zm, entonces 
[a] = [b] en Z(m/mcd (m,c)) .
Un caso especial es cuando mcd (m,c)=1 , ya que entonces se cumple la 
propiedad cancelativa para el producto en Zm: si [a][c] = [b][c] en Zm ⇒ 
[a] = [b] en Zm .
Si m es primo, (Zm, .) tendrá la propiedad cancelativa del producto para 
todo c, entonces Zm es un Cuerpo.
3
Congruencias en Z módulo m. La 
aritmética en Zm
Veamos un ejemplo de estas operaciones en Z5

Podemos ver que en esta clase, todo elemento distinto de cero tiene 
un inverso multiplicativo, de modo que Z5  es un Cuerpo. 
Esto no siempre es asi!!!!!
TEOREMA: ZM ES UN CUERPO SI Y SOLO SI M ES PRIMO 4
Ecuaciones de congruencias lineales
Una congruencia de la forma: 
ax ≡ b (mod m) 
donde m es un entero positivo, a y b son números enteros y x es 
una variable entera, se llama congruencia lineal o ecuación de 
congruencia lineal (lineal por aparecer la variable x como 
potencia de grado uno, únicamente). 

Resolver esta ecuación consiste (como en el caso de la aritmética 
entera) en encontrar todos los enteros x que satisfagan la ecuación 
diofántica equivalente ax+my=b. 
En el caso de Zm, la ecuación tendrá solución si y solo si 
mcd(a,m)|b , y en este caso tendrá exactamente d=mcd(a,m) 
soluciones distintas en Zm de la forma: x= x0 + (m.t)/d , 
t=0,1,2,...,d­1 en donde x0 es una solución particular de la ecuación 
5
diofántica ax + my = b. 
Aplicaciones de las ecuaciones de congruencias 
Generación de números pseudoaleatorios
lineales
Lo primero que hay que notar acerca de los algoritmos generadores de 
números aleatorios que usan los software es que ¡los números que 
generan no son aleatorios!. Los software usan algoritmos 
determinísticos y por tanto es más correcto llamarles generadores de 
numeros pseudo­aleatorios, ya que generan una secuencia de números 
que eventualmente pueden volver a repetirse y solamente se aproxima a 
una secuencia aleatoria. 
Las congruencias lineales se han utilizado tradicionalmente para la 
implementación de funciones generadoras de números pseudoaleatorios 
en las bibliotecas de programación de la mayoría de los lenguajes de 
programación clásicos como C, Fortran, Basic, etc. Los generadores 
congruenciales lineales de números aleatorios fueron propuestos por 
primera vez por D.H. Lehmer en 1951, y utilizan una congruencia lineal 
de la siguiente forma: 
Xn = (aXn­1+c) (mod M) 
Los parámetros a,c y M deben ser elegidos cuidadosamente para asegurar 
un largo período (número de enteros generados antes de que se repita la 6
secuencia) y que la secuencia generada tenga buenas propiedades 
estadísticas de aleatoriedad y uniformidad. 
Aplicaciones de las ecuaciones de congruencias 
lineales
Para empezar el algoritmo se requiere un valor inicial X0, al que se 
llama la semilla. 
Así, para referirnos a un generador congruencial lineal determinado 
usamos la notación GCL(a, c, M, X0). Cuando el generador utiliza 
como constante de incremento c=0, se le llama generador 
multiplicativo puro. Muchas veces se deja al programador elegir la 
semilla inicial, y se emplea entonces la notación GCL(a, c, M). 
Una vez que se obtiene el entero Xn puede dividirse (división real) 
entre M para obtener valores reales distribuidos uniformemente en 
[0,1). 
Un buen generador lineal tendrá un período tan largo como sea 
posible (es decir, M). Para los generadores mixtos (los que no son 
multiplicativos puros) este máximo se alcanza si y sólo si se cumplen 
las tres siguientes condiciones que fueron enunciadas por Donald 
Knuth en su famoso libro The Art of Computer Programming: 
c es primo con M  7
a­1 es múltiplo de p para todo primo p que divida a M 
a­1 es múltiplo de 4 siempre que M sea múltiplo de 4 
Aplicaciones de las ecuaciones de congruencias 
lineales

Estas condiciones se cumplen, por ejemplo, si se escogen M=2k, a=4t+1, y c 
número impar, siendo t, k enteros mayores que 0. 
Los GCL son sencillos de implementar, pero en la práctica las secuencias 
pseudoaleatorias generadas presentan correlaciones altas entre los números 
generados en la secuencia, lo que les hace poco útiles como fuente de números 
aleatorios en simulaciones por computadora medianamente complejas. 
También el hecho de que la secuencia de números generados es totalmente 
predecible los hace inefectivos para la generación segura de bits aleatorios 
usables en criptografía. 
Ejemplos clásicos de GCLs
GCL(75, 0, 231­1): El generador multiplicativo inventado por IBM para su 
serie 360. Tiene el máximo período posible para un generador multiplicativo: 
M­1 (= 231­2). Se ha utilizado posteriormente en muchas otras ocasiones (por 
ejemplo MATLAB utiliza este generador), tanto que se le ha llamado 
"generador estándar mínimo". 
GCL(65539, 0, 231):El generador RANDU (IBM, años 60). Su módulo y 
multiplicador fueron elegidos así para facilitar la computación de los valores 
8
generados. No tiene el período máximo, y sus propiedades estadísticas no son 
las mejores... 
GCL(259, 0, 215):. RANDU usado para microprocesadores de 16 bits. 
Aplicaciones de Congruencias.
Los enteros modulo n y la aritmética modular tienen muchas 
aplicaciones en y fuera de las matemáticas. Algunas de las aplicaciones 
que se usan mucho actualmente son aplicaciones a la criptografía y a 
la teoría de códigos. Las herramientas utilizadas en estas áreas se 
parecen pero los objetivos de cada una de ellas son muy distintos. 

La criptografía se usa para “esconder” información para que personas no 
autorizadas no puedan entenderla y la teoría de códigos se usa para que 
la información llegue (si es posible) sin errores y que sea entendible por 
todo el que la reciba.

Por ejemplo, si vas a enviar el numero de una tarjeta de crédito por 
internet no quieres que nadie intercepte el mensaje y pueda saber el 
numero de la tarjeta. Para esto, en el momento en que entras el numero, 
un programa lo encifra antes de transmitirlo. Lo que se transmite no es 
el numero sino una sucesión de símbolos que no tienen sentido a menos 
que se descifre. 9
Aplicaciones de Congruencias
Ejemplos en el caso de los códigos son las comunicaciones entre 
teléfonos celulares, la música en un disco compacto, la transmisión de 
satélites. 
En todos estos casos pueden ocurrir errores por interferencia,  etc. 
Para poder corregirlos, cada mensaje (o música) que se almacena o 
transmite se codifica de modo que cuando se reciba, el código nos 
ayude a determinar si ocurrieron errores y, si es posible, corregirlos 
para que la información llegue correcta.
El código de barras EAN13
Sin duda, el código de barras mas extendido en el mundo es el llamado 
EAN13
Este codigo data de 1977 y es para Europa el análogo al codigo UPC de 
Estados Unidos (Universal Product Code) o al código JAN de Japón 
(Japanese Article Number ).
El nombre del código, EAN, procede de las iniciales de European 
Article Numbering ,mientras que el 13 hace referencia al numero de 
dígitos que van impresos en la parte inferior del código, de los que las  10
barras son su representación grafica.
El EAN13 es no significativo, es decir, no proporciona ninguna 
información adicional que no este contenida en los 13 dígitos que lo
Aplicaciones de Congruencias
Los 13 dígitos del código EAN13, c1,…., c13, se calculan como sigue:
1.Código del país: Son los dos primeros dígitos (algunos países utilizan 

3).
2.Código de la empresa: Los siguientes 5 u 8 dígitos, c3,…, c10, se 

reservan para las diferentes empresas registradas en cada país.
3.  Código del producto: Son los dígitos que restan hasta 12 (entre 2 y 
5),
c8;.., c12, y están a disposición del propietario de la marca.
4.  Digito de control : El ultimo digito, c13, se calcula a partir de los 12
dígitos anteriores y permite decidir si el código de barras se ha leído
correctamente. Su expresión es:

A modo de verificacion una vez determinada la ultima cifra se 
calcula:  11
Aplicaciones de Congruencias

Puede observarse la distribucion de los 13 digitos. Los dos digitos 
iniciales  8 y 4 corresponden a España , mientras que 7 y 7 
corresponden a Argentina.

12
Aplicaciones de Congruencias
Para determinar el código EAN13 de un producto ficticio se calculan los 13 
dígitos de que consta y se determina el código de barras correspondiente. 
Si la empresa es Española los dos primeros dígitos
serán 84, es decir, c1 = 8, c2 = 4. Si el código de la empresa tiene los 
dígitos 765432, estos serán los siguientes, es decir, c3 = 7, c4 = 6, c5 = 5,
c6 = 4, c7 = 3 y c8 = 2. Si 0209 son los 4 dígitos que el propietario de la 
marca asigna al articulo ficticio, entonces c9 = 0, c10 = 2, c11 = 0 y c12 = 9. 
Según esto, los dígitos para el código de barras son: 847654320209c13. 
Para calcular el digito de control se procede como se indica en la expresión 
que vimos anteriormente: 

Luego el codigo de barra 
correspondiente se puede observar a 
la izquierda. 13
Aplicaciones de Congruencias
El codigo de control, nos sirve para detectar si hubo algun error en la 
escritura del codigo, por ejemplo cuando el lector laser no funciona y se 
debe ingresar el codigo manualmente, el error mas comun es invertir 
digitos consecutivos, este tipo de error es detectado a traves del digito de 
control. ( No podemos saber en que digito ocurrio el error, solo 
detectarlo).

A continuacion se escriben codigos de barra de productos alimenticios, 
podrias detectar si cometi algun error al escribirlos?

1.7798085370073   ( Manteca)
2.7793360005107   (Atun)

3.7794000595025   (Sopa en Sobre)

4.7794000594458   (Caldos)

5.7794000401280   (Mayonesa)

14
Aplicaciones de Congruencias
Los codigos ISBN y EAN13
El código ISBN (International Standar Book Number), es un sistema 
internacional de numeración e identificación de libros surgido en
1965, y aunque no sea un código de barras propiamente dicho, es posible 
elaborar un código EAN13 para cada código ISBN ,de modo que pueda ser 
tratado informáticamente.
El código ISBN contiene 10 dígitos (ISBN­10) divididos en cuatro grupos 
por tres guiones. Dado que las posiciones de los guiones son irrelevantes 
para el código, no se tienen en cuenta. El ultimo digito es el de control (la 
letra X si su valor es 10) y se calcula mediante la siguiente expresión:

15
Aplicaciones de Congruencias
Para determinar el código de barras EAN13 a partir de un código ISBN 
dado
b1b2­b3b4b5b6­b7b8b9­b10,
basta con calcular los 13 dígitos que le corresponden en formato EAN13. 
En primer lugar se eliminan los guiones y el digito de control:
b1b2b3b4b5b6b7b8b9.
A continuación se añaden los dígitos 978 al inicio del código ISBN de modo 
que

Luego se determina el digito de control como lo vimos anteriormente.

16
Congruencias en Z módulo m. La 
aritmética en Zm
Relojes
Son las 11 am. ¿Que hora será dentro de 4 horas?
Son las 9 pm. ¿Que hora será dentro de 20 horas?, ¿Dentro de 54 horas?
¿Puedes dar un método para calcular esto?
Nota que el conjunto de posibles horas es: {1; 2; 3; … ; 12} y que los 
resultados de tus operaciones tienen que “caer” dentro de este conjunto. Una 
de los posibles métodos para calcular sumas en este conjunto es el sumar y 
luego tomar el residuo al dividir por 12. La hora será el residuo al dividir 
por 12, excepto si el residuo es 0.
En este ultimo caso la hora será las 12.
Este tipo de procedimiento lo podemos extender para cualquier reloj con 
“otra cantidad de horas”. Por ejemplo, si nuestro reloj tiene 7 horas, ¿que 
hora será dentro de 8 horas si son las 6 pm?
Son las 5 pm. ¿Que hora será dentro de 37 horas?

17

Potrebbero piacerti anche