Matemáticas para detectar y corregir errores



Documentos relacionados
Tema 2 : Códigos Binarios

Unidad Didáctica. Códigos Binarios

Materia: Informática. Nota de Clases Sistemas de Numeración

SISTEMAS DE NUMERACIÓN. Sistema decimal

by Tim Tran:

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Ecuaciones de primer grado con dos incógnitas

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

TEMA 2: Representación de la Información en las computadoras

Unidad 5. Aplicaciones de las derivadas. Objetivos. Al terminar la unidad, el alumno:

Naturaleza binaria. Conversión decimal a binario

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

1. SISTEMAS DIGITALES

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

Sistemas de numeración

Prof. Daniel Villar Escuela Técnica del Buceo 2009

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

QUIERES COMPROBAR CÓMO LAS REDES DETECTAN Y CORRIGEN ERRORES?

Análisis de los datos

Universidad de Zaragoza Manual de Usuario

sección página desplazamiento

Lección 24: Lenguaje algebraico y sustituciones

1.- INTRODUCCIÓN 2.- PARÁMETROS

3. Codificación de información en binario

Cifras significativas e incertidumbre en las mediciones

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Tema 2. La Información y su representación

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

EJERCICIOS DEL TEMA 1

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Divisibilidad y números primos

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

Qué son los monomios?

Sistemas de Numeración Operaciones - Códigos

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

INTRODUCCIÓN: LA FÍSICA Y SU LENGUAJE, LAS MATEMÁTICAS

Apuntes de Matemática Discreta 9. Funciones

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Manual Oficina Web de Clubes (FBM)

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Tema 2. Espacios Vectoriales Introducción

La ventana de Microsoft Excel

MEDIDAS DE TENDENCIA CENTRAL

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

GENERACIÓN DE TRANSFERENCIAS

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

PROGRAMACIÓN LINEAL Introducción Inecuaciones lineales con 2 variables


Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

INFORMÁTICA. Matemáticas aplicadas a la Informática

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

UNIDAD 1. LOS NÚMEROS ENTEROS.

Módulo 9 Sistema matemático y operaciones binarias

Curso Completo de Electrónica Digital

x

ZCARTAS: Iniciación a la suma y resta de números enteros Introducción Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

Guía Práctica para el Uso del Servicio de Software Zoho CRM

TEMA 3 Representación de la información

Unidad 1. La información

Bases de datos en Excel

Instituto Tecnológico de Celaya

1. Representación de la información en los sistemas digitales

Anexo B. Comunicaciones entre mc y PC

Segmentación de redes. CCNA 1: módulo 10.

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

efactura Online La fibra no tiene competencia

Sistemas de dos ecuaciones lineales con dos incógnitas

ELECTRÓNICA DIGITAL. Una señal es la variación de una magnitud que permite transmitir información. Las señales pueden ser de dos tipos:

Guía de usuario para el acceso al recibo de nómina mediante la intranet de la Conselleria

CURSO TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos

Introducción a los Sistemas Digitales

Tema 1. Representación de la información MME

0 PENSANDO A TRAVÉS DEL JUEGO.

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Observatorio Bancario

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

1 CÓDIGOS CORRECTORES

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

CONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA

TRANSMISIÓN DE TRANSMISIÓN DE TRANSMISIÓN DE RESULTADOS DILIGENCIAS TRABAS DE VALIDACIÓN DE TRABAS. Si hay rechazo

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

Actividades con GeoGebra

Algunas cifras de campañas de Marketing que es importante que conozca

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Transcripción:

htt://www.sinewton.org/numeros ISSN: 887-98 Volumen 7, agosto de 009, áginas 87 00 Matemáticas ara detectar y corregir errores Miel Lezaun Iturralde (Universidad del País Vasco) Fecha de receción: 8 de unio de 009 Artículo solicitado al autor or la revista Resumen Palabras clave Hoy en día la información almacenada en un ordenador, en una cámara fotográfica o en un CD, y la contenida en las ondas emitidas or televisión o or un teléfono móvil está traducida a números, está codificada, es digital. En el roceso de codificación o en la transmisión de un mensae ueden ocurrir errores que habrá que detectarlos, y meor corregirlos. Cómo hacerlo? Con matemáticas, los números son matemáticas. En este artículo se estudia el ael de la letra en la detección de errores del Número de Identificación Fiscal (NIF), de los dígitos de control de una cuenta bancaria, y un código de barras. También, se introducen los códigos Hamming ara detectar y corregir errores sencillos en un mensae escrito en números 0 y. Dígitos de control, distancia Hamming, códigos correctores Abstract Keywords Today, the information stored on a comuter, a hotograhic camera or a CD, and the contained in the waves emitted by television or mobile hone is translated to numbers, it is encoded, it is digital. In the encoding rocess or in the transmission of a message errors may occur that must be detected, and better corrected. How? With mathematics, the numbers are mathematics. This article studies the role of letter in error detection of the Número de Identificación Fiscal (NIF), of chec digits of a ban account, and a bar code. It also introduces Hamming codes to detect and correct the simle errors of a message written in numbers 0 and. Chec digits, Hamming distance, error-correcting codes. Introducción En los últimos años, el término digital ha entrado en el lenguae cotidiano. Emezaron los reloes digitales, luego se extendieron las cámaras fotográficas digitales, las cámaras de video digitales, la televisión digital, y ahora incluso los eriódicos digitales. Cuando damos el número comleto de la cuenta bancaria, nos iden incluir los dígitos de control. También observamos que el código de barras de un roducto contiene toda la información del mismo, recio incluido, que debao del código hay números, y que cuando falla el lector se escriben los números. Las ersonas tenemos un número que nos identifica. Digital se suele contraoner a analógico, y lo digital se asocia a lo numérico, a los números. Hoy en día es un hecho que cualquiera que sea el soorte en que esté almacenada y el medio or el que se transmita, la información, ya sea un texto, una imagen o unos sonidos, está traducida a Sociedad Canaria Isaac Newton de Profesores de Matemáticas

números, es digital. En el roceso de traducción a números (codificación) o durante la emisión, transmisión y receción del mensae numérico, se ueden cometer errores, y los errores hay que detectarlos, y meor corregirlos. Con los números se ueden hacer cuentas, con los números siemre hay matemáticas, y las matemáticas están ara utilizarlas. Cómo utilizar las matemáticas ara detectar los errores? La idea básica es muy sencilla. A artir de los números del mensae se calculan otros que se añaden al mismo. La forma de obtener esos números es conocida, se sabe cuales son y cómo han sido calculados. Al recibir todos los números, tanto los del mensae y como los redundantes, el lector vuelve a calcular los números redundantes que debería haber, y si coinciden con los recibidos, todo ha odido ir bien, y si no, se ha roducido un error. Una vez detectado un error, la rimera oción es decir: error! y solicitar que se vuelva a emitir el mensae. Pero meor sería corregirlo. Cómo hacerlo? La idea básica también es sencilla. Si al añadir los números redundantes al mensae numérico, todos los resultados osibles son muy diferentes unos de otros, y si al rehacer el lector los cálculos obtiene un resultado imosible ero cercano a uno de los osibles, el mensae erróneo se sustituye or el factible más cercano. Esas son las ideas básicas y a las matemáticas les toca modelizarlas, definir qué oeraciones hay que hacer, diseñar los algoritmos de resolución y resolverlos. La informática, la comutación, se encargará de hacer todo el roceso oerativo. Este artículo está dividido en cuatro secciones. En la rimera se estudia el ael detector de errores de la letra del DNI, cómo se obtiene esa letra y el orqué del método elegido ara calcularla. La segunda sección esta dedicada a los dígitos de control de errores de las cuentas bancarias, y la tercera al código de barras. La cuarta sección trata de los códigos correctores de mensaes binarios, y resenta un código Hamming ara detectar y corregir los errores más sencillos de un mensae escrito en números 0 y.. La letra del NIF El Documento Nacional de Identidad (DNI) esañol nació el de marzo de 9. Este documento está numerado, cada DNI tiene un número (ositivo) de ocho cifras: a = a7a6a5aaaaa0 donde cada ai es uno de los diez dígitos. Los casos en que aarecen menos dígitos se deben a que hay ceros or la izquierda que no se han escrito. El 9 de marzo de 990, al número del DNI se le añadió una letra de control, que denominaremos letra NIF. El número del DNI unto con la letra NIF constituyen el Número de Identificación Fiscal (NIF). La letra del NIF es una letra de control, que se obtiene a artir del resto de la división entera del número del DNI entre, y que no tiene más misión que detectar equivocaciones al escribirlo. Ese resto será un número entero comrendido entre el 0 y el. En base a la siguiente tabla, a cada resto se le asigna la letra corresondiente, que será la letra NIF. resto 0 5 6 7 8 9 0 5 6 7 8 9 0 letra T R W A G M Y F P D X B N J Z S Q V H L C K E Tabla. Corresondencia entre el resto del DNI y la letra NIF 88 Vol. 7 agosto de 009 NÚMEROS

Dado que hay restos, sólo son necesarias letras. Las descartadas son: I, O, U y Ñ. Se uede ensar que la elección de la división or está motivada orque se ha considerado que sólo hay letras válidas: la I, O y U se eliminan orque se ueden confundir con, 0 y V, y la Ñ or ser esecíficamente esañola. Las matemáticas nos van a mostrar que la elección de es fundamental, que es debida a algo más rofundo. Como se ha indicado antes, la letra NIF es de control, sirve ara detectar errores. La equivocación más simle es cambiar un dígito. Por tanto, ara que la letra NIF cumla su cometido, lo mínimo que se uede edir es que dos números DNI que difieran en un solo dígito no uedan tener la misma letra... Dos números de DNI que difieren en un solo dígito no ueden tener la misma letra NIF Sean dos números de DNI a = a7a6a5aaaaa0 y b = b7b6b5bbbbb 0 con a mayor que b. Estos números en base decimal se escriben de la forma a = a 0 + + a + a, () 7 6 5 7 a60 + a50 0 + a0 + a0 + a0 0 b = b 0 + b. () 7 6 5 7 + b60 + b50 + b0 + b0 + b0 + b0 0 Si sólo difieren en un dígito, or eemlo el corresondiente a la otencia -ésima de 0, restando las exresiones () y () se obtiene que su diferencia es a b = ( a b ) 0 con a b un número entero del al 9. Si los dos tuvieran la misma letra, los dos tendrían el mismo resto r al dividirlos or, es decir se tendrían las descomosiciones a = + r y b = q + r con, q y r números enteros no negativos y r. Restando estas exresiones de a y b se obtendría En consecuencia a b = ( q). ( a b )0 = ( q). Esto imlicaría que es un divisor de ( a b ) 0, con a b un número entero del al 9, lo cual es imosible. Ocurriría lo mismo si se hubiera tomado letras, si se hubiera utilizado el resto de la división or? Veámoslo. Suongamos dos números cualesquiera a y b, con a mayor que b, que se diferencian en 000, or tanto en un solo dígito. Dividiendo cada uno de ellos or se tiene Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 89

a = + r y b = q + r con, q, r y r números enteros no negativos y r, r. La resta de esos dos números es a b = ( q) + ( r r ) = 000 = 5. En consecuencia ( q 5) = r r. Como r r está comrendido entre 0 y, esta igualdad sólo es osible si q 5 = 0, de lo cual se sigue que r r 0, y los dos restos son iguales. = Así ues, cualesquiera a y b que se diferencian en 000 tienen el mismo resto al dividirlos or. Por eemlo, los números 7850 y 7850 tienen resto 7. Esto también se cumle si a y b se diferencian en 0000, 00000, 000000 o 0000000. En definitiva, si se utilizaran los restos de la división or, habría muchísimas areas de números DNI que se diferencian en un solo dígito y que comarten la misma letra. Es fácil demostrar que esto mismo habría ocurrido si se hubiera dividido or 0 o 5, y que en lo que resecta a lo anterior, el,, 6 y 7 se comortan como el. Hemos demostrado que con la división or, la letra NIF detecta las equivocaciones en un solo dígito. Ahora bien se uede saber cual ha sido la equivocación y corregirla? La resuesta es no, y ara ello es fácil encontrar eemlos. Uno es el siguiente. Suongamos que queremos coiar el NIF 78508T. Nos equivocamos sólo en el último dígito y escribimos 78505T. La letra no se corresonde con esos números y se detecta que hay un error. Pero a la vista de esto cual es el que queríamos escribir? El 78508T o el 785005T? A riori no hay forma de saberlo, los dos son correctos y difieren del 78505 en un sólo dígito. Así que cuando se detecta un error, no queda más remedio que volver a escribir el DNI restando más cuidado. Acabamos de ver un eemlo de dos números de DNI que se diferencian en dos dígitos y que tienen igual letra NIF. Ahora bien, la equivocación más fácil de cometer que sólo involucra a dos dígitos es intercambiar uno or el otro. En estos casos, la letra uede ser la misma? O lo que es lo mismo la letra NIF detecta ese error?.. Dos números de DNI con sólo dos dígitos intercambiados no tienen la misma letra NIF Sean dos números a y b ( a > b ) de DNI que sólo se diferencian en que tienen intercambiados dos dígitos. Como eemlo tomamos a = a7a6a5aaaaa0 y b = a7aa5aaa6aa0 que tienen intercambiados los dígitos que ocuan los lugares y 6 comenzando or la izquierda. Estos números se ueden escribir a = a 0 + a + a + a + a + a + a + a, 7 6 5 7 60 50 0 0 0 0 0 b = a 0 + a + a + a + a + a + a + a. 7 6 5 7 0 50 0 0 60 0 0 90 Vol. 7 agosto de 009 NÚMEROS

En general, la diferencia de dos números a y b que tienen las cifras a y a intercambiadas es a b = ( a a )0 + ( a a )0 = ( a a )0 (0 ) donde 0 < 7. Como se ha hecho otras veces, si tuvieran el mismo resto al dividirlos or se verificaría que a b = ( q) con y q enteros no negativos. En consecuencia se tendría la igualdad ( a a )0 (0 ) = ( q). Ahora bien, esto es imosible ya que no es divisor de un número de la forma ( a )0 (0 ) con a y a enteros variando entre 0 y 9 y 0 < 7. a De la misma forma se uede demostrar que esto no ocurre si se hace la división or,, 6 o 7. Por eemlo, los números 78508 y 85078 tienen el mismo resto 6 al dividirlos or 6. En definitiva, se ha elegido la división or orque es la que detecta los errores más sencillos en la escritura de los números del DNI: la modificación de un dígito y al intercambio de dos. Esto no sería así si se hubiera elegido la división or 0,,,, 5, 6 o 7.. Dígitos de control de una cuenta bancaria El Código Cuenta Cliente (CCC) que asignan las entidades a las cuentas bancarias está formado or un conunto de 0 dígitos a a7a6a5 a a 8 a a entidad que resonden a los siguientes datos: c { c n0 n9n8n7n6n5nnnn sucursal control número de cuenta CÓDIGO DE LA ENTIDAD: dígitos CÓDIGO DE LA SUCURSAL: dígitos. DÍGITOS DE CONTROL: dígitos NUMERO DE LA CUENTA: 0 dígitos Los códigos de la Entidad y de la Oficina Bancaria se utilizan con sus cuatro dígitos. Por tanto, si el número no tiene estos dígitos se comleta con ceros a la izquierda. El rimer dígito de control, el, sirve ara validar los códigos de la Entidad Bancaria y de la Sucursal. El segundo, el, sirve ara validar el número de la cuenta. c El número de la cuenta bancaria tiene 0 dígitos. Se utiliza siemre con los diez dígitos de manera que si tiene menos dígitos se comleta con ceros a la izquierda. c Tabla. Descrición de los 0 dígitos de una cuenta bancaria Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 9

Como su nombre indica, los dos dígitos de control sirven ara detectar errores y se obtienen a artir de los restantes. Para los dos se utilizan los restos de la división entera or once. Comencemos con el dígito. Se emieza calculando c a = a a a a + a. () 8 + 8a7 + 5a6 + 0 5 + 9 + 7 + 6a Luego se divide a or y se retiene el resto r. A se le quita este resto y el resultado es el rimer dígito de control, con la salvedad de que si se obtiene 0 se toma, y si se obtiene el dígito de control es 0. Para el dígito c se rocede de forma similar. Se comienza calculando n = n + n. () 0 + n9 + n8 + 8n7 + 5n6 + 0n5 + 9n + 7n + 6n Este número se divide or, se retiene el resto s, a se le sustrae este resto y el resultado es el dígito de control, salvo cuando el resultado es 0 o que se toma o 0 resectivamente. Observemos que tanto el resto como el 0 roducen el mismo dígito de control, el. Si se hubiera dividido or 0, todos los restos darían origen a un dígito de control distinto. Entonces or qué no se ha dividido or 0? La resuesta se verá más adelante... Cambio de un dígito en el CCC Si en un código de cuenta cliente a8 a7a6a5 aaaa cc n0n9n8n7n6n5nnnn se cambia un dígito de los ocho rimeros, el resto r de dividir a or varía. Lo mismo ocurre con el resto de n si se cambia uno de los diez últimos. En efecto, si cambiamos uno de los ocho rimeros dígitos, or eemlo a7 or b7 con a 7 > b7, restando los valores a y b corresondientes se obtiene a b = 8( a 7 b7 ). Si tanto a como b tuvieran el mismo resto r al dividirlos or, se tendría a = + r y b = q + r con, q y r enteros no negativos y r 0. Restando estas exresiones se obtendría a b = ( q). En consecuencia se verificaría 8( a7 b7 ) = ( q), lo cual es imosible debido a que a7 b7 es un entero entre 0 y 9. Esto no habría ocurrido si se hubiera dividido a y b or 0. En efecto, cambiando un dígito de los que tienen coeficiente ar en la exresión de () o () or otro cinco unidades mayor o menor, se obtiene el mismo resto. Por eemlo, los números a = 095000 y b = 095005 son tales que a y b tienen el mismo resto al dividirlos or 0. Esta es la razón or la que no se ha elegido dividir or 0. Sigamos con la división or. Con un cambio de un solo dígito se uede obtener los restos y 0, y or tanto el mismo dígito de control. Por eemlo, las ocho rimeras cifras 095000 y 0950005 dan c =, y las diez últimas 07895 y 08895 también roducen como segundo dígito de control. Para solventar esta contingencia, los bancos tienen que tener cuidado en no 9 Vol. 7 agosto de 009 NÚMEROS

asignar en dos sucursales distintas un mismo número de cuenta, ni en asignar como número de cuenta uno que al dividirlo or de como resto el 0. De esta forma, el cambio de un dígito de un CCC oerativo es incomatible con la conservación de los dígitos de control... Intercambio de dos dígitos de una CCC Para fiar las ideas nos vamos a centrar sólo en los 0 últimos dígitos del Código Cuenta Cliente. Dos CCC que se diferencien en sólo dos dígitos ueden tener el mismo dígito de control. Por eemlo los números 077895 y 057895 tienen el mismo control c =. Pero un intercambio de dos dígitos uede dar origen a un mismo dígito de control? Veamos la resuesta. Sean n y m los últimos diez dígitos de dos números CCC tales que uno se obtiene del otro sólo intercambiando dos dígitos. Entonces los números n y m calculados con la fórmula () tienen diferente resto al dividirlos or. En efecto, suongamos que n0n9n8n7n6n5nnnn y m0m9m8m7m6m5mmmm se obtienen uno del otro intercambiando dos dígitos, or eemlo el n8 y el n. Calculando n y m or la fórmula () y restando los valores obtenidos se tiene la relación n m = 7)( n 8 n ). ( Por otro lado, si n y m tuvieran el mismo resto s al dividirlos or se tendría n = + s y m = q + s con, q y s enteros no negativos y s 0. Restando estos dos números se obtendría En consecuencia se verificaría lo cual es imosible. n m = ( q). 7)( n8 n ) = ( q) con n8 n número entero entre 0 y 9, ( Lo anterior no quita que intercambiando dos dígitos se ueda obtener el mismo dígito de control. Por eemlo, el número 077886 genera el resto 0 y el 077886 el resto, or lo que los dos roducen el mismo c =. Ahora bien, una buena gestión de los bancos ara no asignar a cuentas números que al dividirlos or den cómo resto el 0 solventa esta anomalía, y los dígitos de control cumlen su función: detectan la modificación de un dígito y el intercambio de dos.. Código de barras Un código de barras es una traducción a un conunto de líneas aralelas de distinto grosor y esaciado de una determinada información, en general un conunto de números que se suelen escribir debao. La rimera atente de un código de barras se registró en 95 en Estados Unidos. Comenzó a Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 9

comercializarse en 996 y su gran éxito le llegó a artir de 980. Aquí nos centraremos en el mensae numérico, no en su traducción a barras. El EAN- (Euroean Article Number) es un sistema de códigos de barras adotado or multitud de emresas. Está constituido or dígitos divididos en cuatro gruos a a a0 a9a8a7a6a5aaaa { c control aís código de la emresa y del roducto. País: los rimeros dígitos identifican a través de qué organización nacional se ha adscrito una emresa al Sistema EAN. En Esaña se encarga de ello Aecoc y su código es el 8.. Código de la emresa: es un número comuesto or entre 5 y 8 dígitos, deendiendo de las necesidades de la emresa, el cual identifica al roietario de la marca.. Código del roducto: comleta los rimeros dígitos.. Dígito de control: consta de un solo dígito y sirve ara verificar que el código leído es correcto. El roceso de su cálculo es muy sencillo, basta con seguir tres asos: Se numeran los doce rimeros dígitos comenzando de izquierda a derecha. Los dígitos que ocuan una osición imar se suman, y los que ocuan una osición ar se multilican or y se suman. Se suman los dos números obtenidos. Se busca la decena inmediatamente suerior al resultado de la suma anterior y se le resta esa suma. El resultado obtenido es el dígito de control del lugar. Por eemlo, sea el siguiente código de barras. Numerando los doce rimeros números de izquierda a derecha, la suma de los de lugar ar es 8 + 5 + + + 5 + = 5, y la suma de los de lugares imares multilicados or tres es ( + + + 6 + + ) = 66. Como 5 + 66 = 9, la decena inmediatamente suerior es 00, or lo que el dígito de control es c = 00 9 = 9. En este caso se lantean las mismas cuestiones: dos códigos de barras que sólo se diferencien en un dígito de los rimeros ueden tener el mismo dígito de control? Intercambiado dos de los doce rimeros dígitos se obtiene el mismo dígito de control? Las resuestas se dean como eercicio. 5. Digitalizar ara corregir Actualmente la información, esté contenida en un ordenador, en un disco comacto, en una cámara fotográfica, en las ondas emitidas or una sonda esacial, or televisión o or un teléfono móvil, se encuentra codificada (traducida) a una sucesión de señales binarias, de bits, que se ueden asimilar matemáticamente a 0 y. Hoy en día estamos acostumbrados a que la mayoría de los aaratos sean calificados como digitales. 9 Vol. 7 agosto de 009 NÚMEROS

Una forma de traducir un mensae escrito a números es utilizar un código ASCII, acrónimo inglés de American Standard Code for Information Interchange, que fue creado en 96 or iniciativa de un comité de la American Standards Association (ASA). Este código reresenta los caracteres tiográficos basados en el alfabeto latino mediante conuntos de ocho bits, denominados octetos. La tabla da la equivalencia numérica de las letras mayúsculas en ASCII. Binario Decimal Reresentación Binario Decimal Reresentación 000000 65 A 0000 78 N 000000 66 B 000 79 O 00000 67 C 000000 80 P 000000 68 D 00000 8 Q 00000 69 E 00000 8 R 00000 70 F 0000 8 S 0000 7 G 00000 8 T 000000 7 H 0000 85 U 00000 7 I 0000 86 V 00000 7 J 000 87 W 0000 75 K 00000 88 X 00000 76 L 0000 89 Y 0000 77 M 0000 90 Z Tabla. Reresentación numérica de las letras mayúsculas en código ASCII Un hecho muy imortante es que una mota de olvo en un CD, una tormenta con sus erturbaciones electromagnéticas, o un rayo cósmico que colisiona con un comonente electrónico ueden cambiar el sentido de uno o varios bits, a veces de miles de bits. Ahora bien, un que se convierte en 0 es como si un si se transformara en un no, o un ding en un dong, y el sentido del mensae uede quedar comletamente modificado. Cómo solventar estos incidentes, extremadamente frecuentes, que ocurren en el transcurso de la emisión, transmisión o receción de mensaes (textos, sonidos, imágenes, etc.)? Una de las grandes ventaas de la digitalización es que ermite someter a los mensaes a un tratamiento aritmético, a hacer cuentas con los números. La ideal central de la corrección de errores, conocida desde comienzos de la informática a mediados del siglo XX, consiste en dividir el mensae inicial en alabras de longitud fia, y añadir a cada una de ellas un cierto número de bits redundantes calculados a artir de los bits de la alabra. Se trata ues de alargar las alabras ara que se uedan reconocer, y en consecuencia corregir, aunque se hayan modificado algunas de sus letras. Realizar este roceso se denomina codificar. La caacidad de corregir errores reside en que si todas las alabras codificadas osibles son muy diferentes unas de otras, cuando se recibe una alabra errónea, una alabra imosible, se uede sustituir or la osible más róxima. Obviamente, ara ello se deberá oder determinar cual es la alabra válida más cercana a la recibida. Una vez corregidas, de cada alabra codificada se eliminan los bits redundantes, dicho de otra forma, se descodifica ara recuerar el mensae original. Habrá ues que comenzar or definir el conceto de distancia entre dos alabras de igual longitud. Se define la distancia de Hamming entre dos alabras como el número de osiciones que tienen bit diferente. Por eemlo, la distancia entre 000 y es tres, 000 y 0 tienen distancia dos, y y 0 distancia uno. Las alabras 0000 y 0000 tienen distancia cuatro. Para oder corregir Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 95

errores de un solo bit en las alabras codificadas, la distancia entre todas ellas tiene que ser como mínimo tres. Así, ara cada alabra con un solo bit erróneo habrá una única válida a distancia uno, que será la verdadera alabra a la que corresonde. Si se desea corregir errores de dos bits or alabra, la distancia mínima entre ellas deberá ser como mínimo cinco. Una forma muy elemental aunque académica de codificar las alabras ara oder corregir errores es considerar que cada bit es una alabra, y añadir a cada alabra, a cada bit, otros dos iguales. Así, las únicas alabras código osibles serán 000 y. La distancia entre ellas es tres. Si se admite que en el transcurso de una transmisión sólo uede ocurrir un error de un solo bit or alabra, al recibir 0, 0 o 0 se sabe que se había emitido, y al recibir 00, 00 o 00 que se había emitido 000. Una vez hechas las correcciones, de las ternas 000 y se eliminan las redundancias y se obtiene el mensae original correcto. 5.. Código Hamming (7,) El código Hamming (7,), introducido or matemático estadounidense Richard Hamming en 950, comienza dividiendo el mensae en alabras de cuatro bits. Hay alabras diferentes: 0000, 000, 000, 000, 000, 00, 00, 00, 00, 00, 00, 0, 0, 0, 0,. Luego, a cada alabra aaaa del mensae se le añade tres bits, y de redundancia, calculados a artir de,, y a. a a a Los a, a, a y a son 0 o y se quiere que los, y calculados a artir de ellos también tomen los valores 0 o. Es decir, se quiere hacer oeraciones con 0 y y que el resultado sea 0 o. Para ello se recurre a la teoría de los cueros finitos, que nació con el matemático francés Évariste Galois (8-8) al estudiar la resolución de las ecuaciones algebraicas. Un cuero finito es un conunto finito de elementos que, como los números reales o comleos, se ueden sumar, restar, multilicar y dividir, sin que el resultado salga de esos números. En el cuero finito de dos elementos { 0, } las oeraciones suma y roducto son las de las tablas y 5. + 0 0 0 0 0 Tabla. Suma en un cuero de dos elementos 0 0 0 0 0 Tabla 5. Producto en un cuero de dos elementos Las tablas 6 y 7 son las de la adición y multilicación que hacen del conunto de cuatro elementos { 0,, x, un cuero. y} + 0 x y 0 0 x y 0 x y x x y 0 y Y x 0 Tabla 6. Suma en un cuero de cuatro elementos 0 x y 0 0 0 0 0 0 x y x 0 x y y 0 y x Tabla 7. Producto en un cuero de cuatro elementos 96 Vol. 7 agosto de 009 NÚMEROS

En el código Hamming (7,), los bits, y redundantes se definen or a + = + a a = a + + a a = a + + a a donde la suma es en el cuero finito de dos elementos. Otra forma equivalente de definir los, y, que es la que utilizaremos, es = aridad de a + a + a (5) = aridad de a + a + a (6) = aridad de a + a + a (7) donde la aridad de un número se define como si el número es imar, y 0 si es ar. Así, cada alabra aaaa genera la alabra código a aaa, con los siete dígitos escritos en el orden que se indica. Por tanto, una vez codificadas, de los siete bits de cada nueva alabra sólo cuatro son del verdadero mensae. De aquí el utilizar la esecificación (7,) en el nombre. Es fácil comrobar que la distancia mínima entre todas las alabras codificadas es tres, or lo que este código es caaz de corregir un error de un solo bit en cada alabra codificada de siete bits. Para describir con detalle el funcionamiento del código Hamming (7,), vamos a ir exlicando los rocesos a través de un eemlo sencillo. Suongamos que el mensae a transmitir es TEIDE, así en mayúsculas. Este mensae en código ASCII binario es la siguiente secuencia de 0 bits: 00000 000000000000000000000 (8) T E Las alabras del mensae (8) son: 00, 000, 000, 00, 000, 00, 000, 000, 000 y 00. Añadiendo a cada una de ellas los bits de redundancia obtenidos mediante las fórmulas (5)-(7) se obtienen las alabras código: 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000. La secuencia de estas alabras código constituye el mensae a emitir. En este caso es el mensae de 70 bits 0000000000000000000000000000000000000000 Suongamos que se recibe el mensae con algunos errores. Por eemlo que se recibe la secuencia 000000000000000000000000000000000000000 en la que se han marcado los errores. I D E Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 97

El recetor de este mensae numérico debe detectar y corregir automáticamente los errores cometidos. Para ello se vuelve a dividir el mensae en alabras de longitud siete. Se tiene así 000000 00000000000 0000000000000000000 0000 n n n n donde se siguen señalado los tres errores. n5 Para cada una de estas alabras qqb qbbb, el recetor calcula los roios dígitos de redundancia, y s con las mismas fórmulas que antes s s n6 n7 s = aridad de b + b + b s = aridad de b + b + b s = aridad de b + b + b n8 n9 n0 y r Estos dígitos los comara con los, y que ha recibido y define los tres números, tales que q q q r r r = 0 si s = q y r = si r q, =,,. r Es inmediato calcular la tabla 8 que relaciona los errores en un dígito con los valores de, r y. Pues bien, como se observa en esa tabla, lo ingenioso de este método es que la forma de calcular, y y su colocación en los lugares, y de las alabras código, hacen que si se exresa el número binario r = r r r cometido un error, lo cual ermite corregirlo. r en forma decimal, el número que se obtiene es el lugar en que se ha r r r Decimal Error en 0 0 Error en 0 0 Error en a 0 Error en 0 0 Error en a 0 5 Error en a 0 6 Error en a 7 Tabla 8. Detección de los errores en el código Hamming (7,) En el eemlo, los errores se han cometido en la segunda, quinta y novena alabra. Veamos una a una. 98 Vol. 7 agosto de 009 NÚMEROS

- Para la alabra 00000 los tres dígitos de redundancia deberían ser 000. Comarándolos con los 0 recibidos se tiene r = 0, que en base decimal es el 5. Ha habido un error en el quinto dígito. - Para la alabra 000 los tres dígitos de redundancia deberían ser 0. Comarándolos con los recibidos se tiene r = 00, que en base decimal es el. Ha habido un error en el segundo dígito. - Para la alabra 000 los tres dígitos de redundancia deberían ser 00. Comarándolos con los 0 recibidos se tiene r =, que en base decimal es el 7. Ha habido un error en el sétimo. - Para las otras alabras, los dígitos de redundancia que debería haber y los recibidos son los mismos, luego r = 000 y no ha habido error. Corrigiendo los errores se obtienen las alabras código iniciales 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000. Para terminar, de cada una de estas alabras de siete dígitos se eliminan los dígitos de redundancia de los lugares, y, y se obtiene el mensae inicial. Pasando los dígitos a letra se vuelve a obtener TEIDE. En realidad hay toda una familia de códigos Hamming que se construyen de forma similar. En todos ellos los dígitos de redundancia están en los lugares otencia de dos. Por eemlo, en el código Hamming (5,), a cada alabra aaaaa5a6a7a8a9a0a de once bits se le añaden cuatro bits,, y calculados or las fórmulas = aridad de a + a + a + a5 + a7 + a9 + a = aridad de a + a + a + a6 + a7 + a0 + a = aridad de a + a + a + a8 + a9 + a0 + a = aridad de a 5 + a6 + a7 + a8 + a9 + a0 + a Se obtiene así la alabra código cuales once son de información. a aaa a5a6a7a8a9a0a de quince bits, de los En los códigos correctores, un arámetro a tener en cuenta es la tasa de transmisión, que es el cociente entre la longitud de las alabras antes de codificar y las alabras codificadas, o lo que es lo mismo, la roorción del número de bits de mensae entre el total de bits. La tasa de transmisión es un número menor que uno y mide la velocidad y coste de la transmisión. Cuanto mayor sea ese número meor. En el código que trilica los bits la tasa de transmisión es /, en el Hamming (7,) es / 7, y en el Hamming (5,) es /5. Los códigos Hamming, lo mismo que el que trilica cada bit, corrigen errores de un solo bit or alabra codificada. Son ues códigos más bien mediocres. Existen muchos otros códigos con meores restaciones, los cuales utilizan concetos sofisticados de teoría de números y, en articular, la aritmética de cueros finitos. Se trata, or eemlo, de los códigos de Reed-Solomon, inventados or los matemáticos Irving S. Reed y Gustave Solomon en el MIT el año 960, que tienen numerosas utilizaciones. Citaremos entre otras los discos CD y la telemetría de los satélites civiles, donde intervienen códigos de Reed-Solomon basados en los cueros finitos de 56 elementos. Sociedad Canaria Isaac Newton de Profesores de Matemáticas Vol. 7 agosto de 009 99

Bibliografía El contenido de este artículo es estándar y se uede encontrar en muchos textos y áginas web. Para localizarlos nada meor que buscar uno mismo en Google. Una referencia muy recomendable es Roman, S. (99). Coding and Information Theory. Sringer-Verlag, New Yor. Miel Lezaun Iturralde es Catedrático de Matemática Alicada del Deartamento de Matemática Alicada, Estadística e Investigación Oerativa de la Universidad del País Vasco Eusal Herrio Unibertsitatea. M. Lezaun nació en el Valle de Baztán (Navarra) el de agosto de 95, es Licenciado en Matemáticas or la Universidad de Zaragoza, Doctor or la Universidad del País Vasco y ha ublicado artículos de investigación en revistas de restigio. Su trabao Predicciones del Tiemo y Matemáticas fue galardonado con el III Premio Sema de Divulgación en Matemática Alicada. Actualmente dirige el Gruo de Transferencia de Tecnología Matemática, con contratos ara emresas como Metro Bilbao, EusoTren, FEVE, Cesa, Aguas de Barcelona, Sidenor y Erosi. 00 Vol. 7 agosto de 009 NÚMEROS