fbpx
Wikipedia

Teoría de códigos

La teoría de códigos es una especialidad matemática que trata de las leyes de la codificación de la información. A grandes rasgos, codificar es transformar una información en una señal convenida para su comunicación. Decodificar sería el proceso inverso y complementario del anterior por el cual la señal comunicada es transformada en la información original. El auge de las comunicaciones a partir de la segunda mitad del siglo XX motivó un fuerte desarrollo de la teoría de códigos.

Introducción e historia

Cronología[1]
Año Acontecimiento
55 a.C. Julio César, al invadir Gran Bretaña, utiliza
códigos para enviar mensajes a sus generales.
1750 d.C. Leonhard Euler sienta las bases de la criptografía
de clave pública con su teorema.
1844 Samuel Morse transmite su primer mensaje
utilizando su código.
Década
de 1920
Se desarrolla la máquina Enigma.
1950 Richard Hamming publica un artículo fundamental
para crear códigos que detectan y corrigen errores.
Década
de 1970
Desarrollo de la criptografía de clave pública.

Puesto que los códigos se usan para comunicar información, uno de los problemas a los que todo código se enfrenta es el error sistemático y, también, el fortuito. La redundancia es el único medio de prevenir el error. Los lenguajes humanos tienen una gran redundancia que les da flexibilidad a costa, eso sí, de eficacia. Los códigos matemáticos utilizan una redundancia más racional.

Hay códigos llamados de detección de errores, que permiten detectar alteraciones en un mensaje codificado. Se utilizan sobre todo en entornos donde el mensaje puede ser reenviado tantas veces como se necesite. Los protocolos de Internet, por ejemplo, están formados por un anidamiento de codificaciones desde el nivel de transporte hasta el nivel físico, teniendo cada nivel su propio sistema de detección de errores.

Este tipo de códigos resulta inadecuado en entornos donde la comunicación no se puede repetir y se necesita asegurar hasta cierto punto que se va a recibir la información correcta. Un ejemplo típico y vistoso es cuando se envía una nave espacial a los confines del sistema solar y desde allí debe enviar una serie de fotografías antes de que se le acaben, digamos, las pilas. Se trata de una situación delicada, porque si las ondas electromagnéticas que portan la información llegan distorsionadas toda la misión fracasa. Un código que solo detectase que la información es incorrecta no serviría para nada. Es necesario algo más, un código no solo detector sino corrector de errores.

Por ejemplo, el sistema de codificación más sencillo puede consistir en que un "0" se representa un "no" y con un "1" un sí. En este caso, si quiero transmitir un "si", y se comete un error al transmitir un "0" en vez del "1", el receptor del mensaje hará lo opuesto a lo pedido. Pero si en cambio se conviene que "00" sea "no" y "11" sea "sí", entonces, si se comete un error en un dígito, y por ejemplo el receptor recibe un "01", detectará que hubo un error, aunque no sabrá cual es el mensaje correcto. En cambio si la convención es que "000" es "no" y "111" un sí, y se supiese que al transmitir un mensaje solo es posible, por la metodología utilizada, cometer un solo error de dígito, entonces, si al recibir un "001", el receptor sabrá que se trata de un "no". Así siguiendo, si transmitimos un bloque de ceros, o un bloque de unos, aunque se cometan algunos errores en la transmisión de algunos dígitos, se tendrá la casi certeza de cual es el error cometido en el mensaje recibido, y corregirlo.[2]

En la actualidad, los avances que se están produciendo en esta disciplina están encaminados hacia la utilización de las bases de Groebner como herramienta para la codificación y decodificación en los códigos detectores de errores.

El problema de la codificación eficiente

Uno de los principales problemas de la teoría de códigos es el siguiente. Supongamos que tenemos una fuente de información que emite o transmite "símbolos" de cierto conjunto   que por propósitos pedagógicos llamaremos simplemente "palabras", de forma que la probabilidad de emisión de una palabra sea independiente del símbolo anterior  , siendo  . Si   es un alfabeto de D "letras", ¿qué código debe asignársele a la palabra   usando "letras" del alfabeto de tal manera que se consiga una codificación tan económica como sea posible?[3]​ Formalmente una codificación es una aplicación   del conjunto de "palabras" en el conjunto de secuencias finitas de "letras" del alfabeto. Un mensaje es una secuencia finita de palabras,  , si se dispone de una codificación de palabras, ésta se extiende inmediatamente a mensajes mediante concatenación:

 

Algunos tipos de codificaciones interesantes son:

  • Una codificación es unívocamente descifrable si cualquier secuencia finita de   es la imagen de como mucho un mensaje, es decir, cuando la aplicación E es inyectiva.
  • Una codificación es instantáneamente descifrable, o de tipo prefijo, si no existen dos palabras diferentes   y   tal que   es una secuencia inicial de  .

Desigualdad de Kraft

Desigualdad de McMillan

Referencias

Notas

  1. Basado en "50 cosas que hay que saber sobre matemáticas", de Tony Crilly.
  2. Ejemplo obtenido en el libro de "50 cosas que hay que saber sobre matemáticas", de Tony Crilly
  3. Dominic Welsh, 1988, p. 15

Bibliografía

Véase también

  •   Datos: Q602136
  •   Multimedia: Coding theory

teoría, códigos, teoría, códigos, especialidad, matemática, trata, leyes, codificación, información, grandes, rasgos, codificar, transformar, información, señal, convenida, para, comunicación, decodificar, sería, proceso, inverso, complementario, anterior, cua. La teoria de codigos es una especialidad matematica que trata de las leyes de la codificacion de la informacion A grandes rasgos codificar es transformar una informacion en una senal convenida para su comunicacion Decodificar seria el proceso inverso y complementario del anterior por el cual la senal comunicada es transformada en la informacion original El auge de las comunicaciones a partir de la segunda mitad del siglo XX motivo un fuerte desarrollo de la teoria de codigos Indice 1 Introduccion e historia 2 El problema de la codificacion eficiente 2 1 Desigualdad de Kraft 2 2 Desigualdad de McMillan 3 Referencias 3 1 Notas 3 2 Bibliografia 4 Vease tambienIntroduccion e historia EditarCronologia 1 Ano Acontecimiento55 a C Julio Cesar al invadir Gran Bretana utilizacodigos para enviar mensajes a sus generales 1750 d C Leonhard Euler sienta las bases de la criptografiade clave publica con su teorema 1844 Samuel Morse transmite su primer mensajeutilizando su codigo Decadade 1920 Se desarrolla la maquina Enigma 1950 Richard Hamming publica un articulo fundamentalpara crear codigos que detectan y corrigen errores Decadade 1970 Desarrollo de la criptografia de clave publica Puesto que los codigos se usan para comunicar informacion uno de los problemas a los que todo codigo se enfrenta es el error sistematico y tambien el fortuito La redundancia es el unico medio de prevenir el error Los lenguajes humanos tienen una gran redundancia que les da flexibilidad a costa eso si de eficacia Los codigos matematicos utilizan una redundancia mas racional Hay codigos llamados de deteccion de errores que permiten detectar alteraciones en un mensaje codificado Se utilizan sobre todo en entornos donde el mensaje puede ser reenviado tantas veces como se necesite Los protocolos de Internet por ejemplo estan formados por un anidamiento de codificaciones desde el nivel de transporte hasta el nivel fisico teniendo cada nivel su propio sistema de deteccion de errores Este tipo de codigos resulta inadecuado en entornos donde la comunicacion no se puede repetir y se necesita asegurar hasta cierto punto que se va a recibir la informacion correcta Un ejemplo tipico y vistoso es cuando se envia una nave espacial a los confines del sistema solar y desde alli debe enviar una serie de fotografias antes de que se le acaben digamos las pilas Se trata de una situacion delicada porque si las ondas electromagneticas que portan la informacion llegan distorsionadas toda la mision fracasa Un codigo que solo detectase que la informacion es incorrecta no serviria para nada Es necesario algo mas un codigo no solo detector sino corrector de errores Por ejemplo el sistema de codificacion mas sencillo puede consistir en que un 0 se representa un no y con un 1 un si En este caso si quiero transmitir un si y se comete un error al transmitir un 0 en vez del 1 el receptor del mensaje hara lo opuesto a lo pedido Pero si en cambio se conviene que 00 sea no y 11 sea si entonces si se comete un error en un digito y por ejemplo el receptor recibe un 01 detectara que hubo un error aunque no sabra cual es el mensaje correcto En cambio si la convencion es que 000 es no y 111 un si y se supiese que al transmitir un mensaje solo es posible por la metodologia utilizada cometer un solo error de digito entonces si al recibir un 001 el receptor sabra que se trata de un no Asi siguiendo si transmitimos un bloque de ceros o un bloque de unos aunque se cometan algunos errores en la transmision de algunos digitos se tendra la casi certeza de cual es el error cometido en el mensaje recibido y corregirlo 2 En la actualidad los avances que se estan produciendo en esta disciplina estan encaminados hacia la utilizacion de las bases de Groebner como herramienta para la codificacion y decodificacion en los codigos detectores de errores El problema de la codificacion eficiente EditarUno de los principales problemas de la teoria de codigos es el siguiente Supongamos que tenemos una fuente de informacion que emite o transmite simbolos de cierto conjunto W w 1 w n displaystyle scriptstyle W w 1 dots w n que por propositos pedagogicos llamaremos simplemente palabras de forma que la probabilidad de emision de una palabra sea independiente del simbolo anterior P w t w k w t 1 w j P w w k displaystyle scriptstyle P w t w k w t 1 w j P w w k siendo p i P w w i displaystyle scriptstyle p i P w w i Si S displaystyle scriptstyle Sigma es un alfabeto de D letras que codigo debe asignarsele a la palabra w i displaystyle scriptstyle w i usando letras del alfabeto de tal manera que se consiga una codificacion tan economica como sea posible 3 Formalmente una codificacion es una aplicacion E W P 0 S displaystyle scriptstyle E W to mathcal P 0 Sigma del conjunto de palabras en el conjunto de secuencias finitas de letras del alfabeto Un mensaje es una secuencia finita de palabras m w i 1 w i n displaystyle scriptstyle m w i 1 dots w i n si se dispone de una codificacion de palabras esta se extiende inmediatamente a mensajes mediante concatenacion E m E w i 1 E w i n displaystyle E m E w i 1 dots E w i n Algunos tipos de codificaciones interesantes son Una codificacion es univocamente descifrable si cualquier secuencia finita de P 0 S displaystyle scriptstyle mathcal P 0 Sigma es la imagen de como mucho un mensaje es decir cuando la aplicacion E es inyectiva Una codificacion es instantaneamente descifrable o de tipo prefijo si no existen dos palabras diferentes w i displaystyle scriptstyle w i y w j displaystyle scriptstyle w j tal que E w i displaystyle scriptstyle E w i es una secuencia inicial de E w j displaystyle scriptstyle E w j Desigualdad de Kraft Editar Articulo principal Desigualdad de Kraft Desigualdad de McMillan Editar Articulo principal Desigualdad de McMillanReferencias EditarNotas Editar Basado en 50 cosas que hay que saber sobre matematicas de Tony Crilly Ejemplo obtenido en el libro de 50 cosas que hay que saber sobre matematicas de Tony Crilly Dominic Welsh 1988 p 15 Bibliografia Editar Tony Crilly 2011 50 cosas que hay que saber sobre matematicas Ed Ariel ISBN 978 987 1496 09 9 Dominic Welsh 1988 Codes and Cryptography Clarendon Press Oxford ISBN 0 19 853287 3Vease tambien EditarTeoria de la informacion Datos Q602136 Multimedia Coding theory Obtenido de https es wikipedia org w index php title Teoria de codigos amp oldid 139892759, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos