Está en la página 1de 26

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Superior


Universidad Rafael Urdaneta
Facultad de Ingeniería
Profesor: Genyelbert Acosta O.
Cátedra: T. Información Sección “A”

Evaluación 3

Realizado por:
Ferrer Chirinos, Osmán Andrés
C.I. 28.271.330.

Maracaibo julio 2021


Esquema

- Codificación de una fuente de información 


- Fuente discreta sin memoria
- Codificación De Una Fuente Con Memoria
- Fuentes Estacionarias Discretas
- Códigos Detectores De Errores. 
- Códigos Perfectos. 
- Código De Hamming.  
- Código De Reed-Müller 
Introducción

La Teoría de la Información es sin duda uno de los avances científicos más


importantes del siglo XX. El principal objetivo de esta teoría es el de proporcionar
una definición rigurosa de la noción de información que permita cuantificarla. Fue
desarrollada con el objetivo de encontrar límites fundamentales en las operaciones
de procesamiento de señales tales como compresión de datos, almacenamiento y
comunicación. Sus aplicaciones se extienden a campos diversos, entre ellos la
física, la química, la biología, la inferencia estadística, la robótica, la criptografía, la
computación, la lingüística, el reconocimiento de patrones y la teoría de la
comunicación.

El estudio de la Teoría de la Información ha tenido un creciente desarrollo,


en el que cada vez más investigadores aúnan esfuerzos para resolver los desafíos
planteados por la existencia de unos volúmenes de flujo de información muy
difíciles de manejar y administrar. Y es especialmente importante que estos
desarrollos contemplen el aspecto matemático formal de la noción de información,
de forma tal que ésta se pueda medir y cuantificar para ser aplicada con fines
tecnológicos. El desarrollo de una teoría matemática de la información, que
permita describir adecuadamente los problemas que los ingenieros
comunicacionales encuentran en su trabajo diario es el objetivo que se tiene con el
estudio de esta asignatura.

En este trabajo se van a estudiar unos de los principales procesos de


codificación en la teoría de la información como el código de Reed-Müller,
Hamming, entre otros. Así como también la codificación de fuentes de información
aunado a sus respectivos ejemplos.
- Codificación de una fuente de información 
La entropía H de una fuente es la cantidad de información contenida en la
fuente. Además, como un esquema de codificación instantáneo para la fuente
captura la información en la fuente, es razonable pensar que la longitud promedio
de las palabras de código de un código de este tipo, debe ser por lo menos tan
grande como la entropía H. De hecho, esto es lo que dice el Teorema de
Codificación. Este teorema, demostrado por primera vez por Shannon en 1948,
también dice que, mediante una codificación inteligente, se puede hacer que la
longitud promedio de las palabras de código esté tan cerca de la entropía como se
desee. El teorema de codificación de la fuente establece que para una fuente DSM
X con entropía H(X) y sin ruido, la longitud promedio de la palabra en código L por
símbolo está acotada como:
H ( X ) ≤ L< H ( X ) + ε

donde ε es una cantidad positiva. El valor de ε puede hacerse arbitrariamente


pequeño, en teoría, y la codificación óptima de la fuente alcanza la cota inferior L =
H(X), es decir, L se puede hacer tan cercana de H(X) como se desee para algún
código seleccionado adecuadamente. En la práctica, a menudo basta con una
codificación subóptima con L> H ( X ) si el código tiene una eficiencia
razonablemente buena. La relación R / r b = H(X)L ≤ 1 sirve como la medida de la
eficiencia para los códigos subóptimos.
Ejemplo 1:

1 1 1
La entropía de la distribución de probabilidades P=( , , ) es:
2 4 4

H2 ( 12 , 14 , 14 )= 12 log 2+ 14 log 4 + 14 log 4= 32


2 2 2

Por tanto, cualquier esquema de codificación binaria para P debe tener una
longitud promedio de las palabras de código de por lo menos 3/2. El esquema de
codificación de Huffman (asignado directamente a las probabilidades).
f ( 12 )=0 , f ( 14 )=10 , f ( 14 )=11
Tiene longitud 1/2 (1) + 1/4 (2) + 1/4 (2) = 3/2, que en este caso es igual a la
entropía.

Con Lmin = H(X), la eficiencia puede escribirse como:

H (x)
n=
L

Ejemplo 2:

Considérese una fuente discreta sin memoria representada por la variable


aleatoria discreta X de rango X = {0, 1, 2, 3} y función de probabilidad p(x) = P
(X=x):
p (0) = 0,7
p(x) = 0,1 ∀ x ∈ {1, 2, 3}.

Un mensaje de la fuente de longitud k es cualquier secuencia de k


símbolos sucesivos de X, o lo que es lo mismo, cualquier símbolo de X k,
donde Xk representa el producto cartesiano

Xk = k {X × X × . . . × X}

Como por el canal sólo pueden transmitirse mensajes binarios


(mensajes compuestos por símbolos binarios), para poder transmitir el
mensaje de la fuente a través del canal, será preciso realizar una
transformación que convierta el mensaje de la fuente en una secuencia de
símbolos binarios. Pero, para obtener una copia fiel del mensaje en el
destino, no basta que la transmisión sea fiable (canal ideal); sino que,
además, la transformación en cuestión ha de ser invertible para cualquier
valor de k, es decir, en recepción, debe poderse recuperar siempre el
mensaje original a partir de su versión binaria: una regla de codificación tal
se denomina unívocamente decodificable.
- Fuente discreta sin memoria
En la naturaleza, los sucesos no surgen de manera espontánea, sino
que son generados por algún mecanismo. Resultará útil, por lo tanto,
plantear la descripción matemática de estos mecanismos. Definimos fuente
de información discreta, como aquel sistema capaz de generar una
secuencia de símbolos pertenecientes a un alfabeto S, finito y fijo:
S = {s1, s2, ..., sq}
Gráficamente una fuente de información se puede representar de la
siguiente manera:

Los símbolos serán emitidos de acuerdo a una determinada ley de


probabilidad. El caso más sencillo se corresponde con una fuente que los emite
estadísticamente independientes, o sea, en el proceso de generar un nuevo
símbolo no existe ningún tipo de influencia de los anteriormente emitidos.
A este tipo de fuentes de información se les denomina sin memoria, y
quedan perfectamente caracterizadas mediante su alfabeto S de símbolos y las
probabilidades con que cada uno de estos aparece:
P(s1), P(s2), ..., P(sq)
Ejemplos de fuentes sin memoria son: una moneda lanzada al aire, la ruleta
de un casino, el lanzamiento de un dado, un libro que se va abriendo
sucesivamente por páginas al azar, etc.
Cada vez que la fuente genere un símbolo, estará proporcionando una
determinada cantidad de información, que de acuerdo con la definición hecha
será:
Medir la cantidad media de información proporcionada por la fuente es
inmediato:

Y sustituyendo I(si), queda:

Donde la S del sumatorio indica que este se extiende a todos los símbolos
de la fuente. Esta magnitud recibe el nombre de entropía, H(S), de la fuente, y es
uno de los parámetros fundamentales en el desarrollo de la teoría de la
información.
Ejemplo 1:
Sea la fuente surgida de la suma de las caras obtenidas al lanzar dos
dados. Su alfabeto será: S= {2,3,4,5,6,7,8,9,10,11,12}. Con las siguientes
probabilidades de cada símbolo:
P(2)=1/36, P(3)=2/36, P(4)=3/36, P(5)=4/36, P(6)=5/36, P(7)=6/36,
P(8)=5/36, P(9)=4/36, P(10)=3/36, P(11)=2/36, P(12)=1/36.
La entropía de esta fuente será:
Otra forma de interpretar la entropía, es como medida de la incertidumbre
del observador ante la salida de la fuente. En cierto modo, valora el desorden
interno de la fuente.

Ejemplo 2:
Sean dos fuentes, A y B, ambas con el mismo alfabeto: {s1, s2, s3},
diferenciándose en las probabilidades de sus símbolos:
Fuente A: P(s1) =1/3, P(s2) =1/3, P(s3) =1/3
Fuente B: P(s1) =9/10, P(s2) =1/20, P(s3) =1/20
La incertidumbre frente a la salida es mayor en la fuente A que en la B.
Dicho de otra forma: puestos a intentar adivinar el símbolo que emitirá la fuente,
en la A fallaríamos, mientras que, en la B, bastaría con que continuamente
dijéramos que generará el s1 para que el acierto suba a 9 de cada 10 intentos.
Veamos que esto se traduce a sus entropías de acuerdo a la interpretación
anterior:
H(A) = 1.58 bits/símbolo, H(B) = 0.57 bits/símbolo
Como se puede comprobar, efectivamente, la entropía de A es mayor que
la de B.
- Codificación de una fuente con memoria
La codificación de fuente o también como compresión de datos, y consiste
en extraer toda la redundancia posible de la señal reduciendo el número de bits
con el que se representa la información, sin que ello suponga una pérdida
aparente de calidad para el receptor final del mensaje.
El proceso de codificación de una fuente analógica es más complejo que el
de una fuente digital. En este último caso, la codificación de fuente consiste, si es
que se considera necesario, en comprimir el flujo de bits de la fuente digital
original.
En el caso de fuentes analógicas, es necesario definir primero un
procedimiento para convertir la información analógica en digital, lo que siempre
supone una posible pérdida de calidad o, en otras palabras, la introducción de
ruido o distorsión. En el apartado siguiente describiremos brevemente la
codificación PCM, que es el procedimiento más utilizado para convertir una fuente
analógica en digital.
Una vez la señal analógica se ha convertido en digital, todavía es posible
procesarla para reducir el número de bits que la representan. Los métodos y
estrategias empleados para la compresión de la señal son muy variados, por lo
que resulta difícil establecer un procedimiento óptimo, ya que los resultados de-
penden, en gran medida, de las características de las señales. Generalmente, los
métodos de compresión avanzados combinan simultáneamente diferentes
métodos para codificar la señal.
Ejemplo 1:

Ejemplo 2:
Una fuente emite 3 símbolos: 0, 1 y 2 con las siguientes probabilidades de
transición:
- Fuentes Estacionarias Discretas
Es una fuente de información cuya salida tiene un alfabeto de letras
distintas o, en el caso de una fuente física, cuya salida es una señal que es
discreta en tiempo y amplitud. El tamaño del alfabeto, o el número de niveles de
amplitud, suele ser finito, aunque para el análisis matemático puede considerarse
convenientemente como potencialmente infinito.

La fuente discreta sin memoria (DMS) tiene la propiedad de que su salida


en un momento determinado no depende de su salida en un momento anterior.

La fuente discreta con memoria (DSM) tiene la propiedad de que su salida


en un momento determinado puede depender de sus salidas en un número de
momentos anteriores: si este número es finito, se dice que la fuente es de orden
finito; de lo contrario, es de orden infinito. Los DSM suelen modelarse mediante
cadenas de Markov, luego se denominan fuentes de Markov.
Ejemplo 1:
Por ejemplo, si el alfabeto X consta de 7 símbolos {a, b, c, d, e, f, g},
entonces se podría usar el siguiente código de longitud fija de longitud de bloque
L=3.
C(a) = 000
C(b) = 001
C(c) = 010
C(d) = 011
C(e) = 100
C(f) = 101
C(g) = 110
La salida de origen, x1, x2, ..., se codificaría entonces en la salida
codificada C (x1) C (x2) ...y así la salida codificada contiene L bits por símbolo
fuente. Para el ejemplo anterior, la secuencia de origen incorrecta se codificaría en
001000011.Tenga en cuenta que los bits de salida son simplemente se ejecutan
juntos (o, más técnicamente, concatenados).
Hay 2L combinaciones diferentes de valores para un bloque de L bits. Por
tanto, si el número de símbolos en el alfabeto fuente, M = | X |, satisface M ≤ 2L,
luego una L-tupla binaria diferente puede asignarse a cada símbolo. Suponiendo
que el decodificador sabe dónde está el comienzo de la secuencia codificada, el
decodificador puede segmentar la secuencia en bloques de bits L y luego
decodificar cada bloque en el símbolo de fuente correspondiente.
En resumen, si el alfabeto fuente tiene el tamaño M, entonces este
método de codificación requiere L = log2 Mbits para codificar cada símbolo fuente,
donde w denota el número entero más pequeño mayor o igual que al número real
w. Así log2 M ≤ L <log2 M + 1. El límite inferior, log2 M, puede ser logrado con
igualdad si y solo si M es una potencia de 2.
Una técnica que se utilizará repetidamente es la de segmentar primero la
secuencia de símbolos fuente en bloques sucesivos de n símbolos fuente a la vez.
Dado un alfabeto X de M símbolos, son Mn posibles n-tuplas. Estas n-tuplas de
Mn se consideran los elementos de un súper-alfabeto. Cada n-tupla se puede
codificar en lugar de codificar los símbolos originales. Usando longitud fija
codificación fuente en estas n-tuplas, cada fuente n-tupla se puede codificar en L =
log2 Mn bits.
Ejemplo 2:
Un código de longitud variable para el alfabeto X = {a, b, c} y sus longitudes
pueden ser dado por:
C(a)= 0, l(a)=1
C(b)= 10, l(b)=2
C(c)= 11, l(c)=2
Se supone que las palabras de código sucesivas de un código de longitud
variable se transmiten como una secuencia de bits, sin demarcaciones de límites
de palabras de código (es decir, sin comas ni espacios). El decodificador de
origen, dado un punto de partida original, debe determinar dónde están los límites
de la palabra de código están; esto se llama análisis sintáctico.
Un problema potencial del sistema con la codificación de longitud variable
es el requisito de almacenamiento en búfer. Si la fuente los símbolos llegan a una
velocidad fija y la secuencia de bits codificada debe transmitirse a un bit fijo tasa,
entonces se debe proporcionar un búfer entre la entrada y la salida. Esto requiere
algún tipo de "Relleno" reconocible que se transmite cuando el búfer está vacío y
existe la posibilidad de pérdida de datos.
Cuando el búfer está lleno. Hay muchos problemas del sistema similares,
incluidos errores ocasionales en el canal, la sincronización inicial, la sincronización
del terminal, entre otros.

- Códigos Detectores De Errores. 


Son una serie de códigos cuya principal característica es que permiten
detectar si se ha producido o no error en la transmisión de la palabra de código.
Aunque en caso de producirse no son capaces de su corrección inmediata, su
detección evita el uso de información incorrecta.
El error se soluciona repitiendo la transmisión hasta que éste desaparezca.
La ventaja de esta metodología frente a la anterior es inmediata: el mensaje sólo
se repite en caso de error.
Si en un código binario de longitud constante (como sólo nos referiremos a
este tipo de códigos, a partir de ahora obviaremos el indicar explícitamente esta
característica) se utilizarán todas las combinaciones posibles de sus n dígitos
binarios (2n), resultaría imposible detectar si se ha producido error, ya que una
combinación del código se transformaría en otra que también pertenece a él. Esto
quiere decir, que la posibilidad de detectar errores se logra no utilizando todas las
combinaciones posibles, de forma que al recibir una determinada combinación se
puede identificar como errónea si no pertenece al código.
El proceso de codificación o enciframiento es un procedimiento para asociar
palabras de un lenguaje, con ciertas palabras de otro lenguaje de una manera uno
a uno. De igual manera el proceso de decodificación o desciframiento, o es la
operación inversa, o alguna otra transformación uno a uno. En la mayoría de las
aplicaciones el canal de comunicación está limitado a un alfabeto valuado de
manera binaria cuyas señales se pueden denotar como 0 y 1. Un canal así se
llama canal binario.
Cualquier código de n bits se puede considerar como un subconjunto de
todas las posibles cadenas de n bits. Las cadenas incluidas en este subconjunto
particular se denominan palabras código, mientras las cadenas que no están
incluidas se denominan palabras que no son del código.
Un código se dice que es un código de detección de errores si tiene la
propiedad de que ciertos tipos de errores pueden transformar palabras del código
en palabras que no son del código.

Ejemplo 1:

Queremos transmitir dos mensajes A y B. Si la distancia mínima del código


usado es menos que tres, es imposible una corrección no ambigua:
Código I:

A -- 00

B -- 11

Supongamos que usando este código se recibe la combinación 01,


evidentemente ha existido un error, y suponiendo que ha sido en un solo dígito es
imposible discernir si la combinación enviada ha sido la 00 o la 11 ya que ambas
distan una unidad de la recibida. Creemos ahora un código de distancia mínima
tres:
Código II:

A -- 000

B -- 111

Las entradas y salidas del canal serían (suponiendo que no puede haber
más de un error en la transmisión de cada combinación):

Combinación de entrada Combinación de salida

Es inmediato ver como en el proceso de corrección no existe ninguna


ambigüedad:

Combinación de salida Combinación corregida


Ejemplo 2:

 Un sistema de comunicación ha recibido los siguientes caracteres ASCII: I)


01000001; II) 10111000; III) 11111110; y se desea saber si hay error. El protocolo
de paridad es par. Indicar, en caso de ser correcto, el carácter enviado.
Solución (I): 
El peso de este dato es par (dos), por lo tanto, es correcto y corresponde al
carácter ASCII 41H = 'A'.

Solución (II):
 El peso de este dato es par (cuatro), por lo tanto, es correcto y corresponde
al carácter ASCII 38H = '8'.
Solución (III): 
El peso de este dato es impar (siete), por lo tanto, hay error de transmisión.
En estos casos no es posible reconstruir el dato.

- Código Perfecto
Un código lineal C con parámetros (n, k, 2t +1) se llamará código perfecto,
si |C| es igual al límite de Hamming. Se busca que se cumpla lo siguiente:
Debido a esta condición es difícil encontrar un código perfecto ya que se
debe encontrar un valor de t tal que la división sea entera y potencia de dos,
siempre se busca un código lineal.
Ejemplo 1:
Si t = 0 encontrar el código lineal perfecto (n, k, 1).
Como deseamos tener un código perfecto apliquemos la definición y
veamos que cardinalidad debería tener dicho código:

Así el único código lineal que tiene 2n palabras es Kn, por lo tanto, el código
lineal C = Kn es el código lineal perfecto buscado.

Ejemplo 2:
Si n = d = 2t + 1. Encontrar el código lineal (2t + 1, k, 2t + 1).
Se utilizará la propiedad de los combinatorios:

Ahora como n = 2 + 1, tenemos para i = t:

Con todo lo anterior (de hecho, la última igualdad nos muestra para i se
llega a la mitad de los combinatorios) y el hecho que n es impar podemos tener:
Con esto podemos establecer:

El único código lineal que cumple con tener dos palabras y tener distancia
2t+1, es el código formado por la palabra cero y la palabra con todos sus dígitos
iguales a uno.

- Código De Hamming.  
Con este nombre se conoce a un conjunto de códigos correctores en k
dígitos binarios. En esta lección solamente se tratará el de orden uno: k=1. A la
hora de trabajar con este tipo de códigos podemos distinguir dos operaciones: a)
Construcción, que se realizará en el centro emisor. b) Interpretación, que se
realizará en el centro receptor.

a) Construcción. Se parte de un código de n dígitos de distancia mínima 1.


Estos n dígitos son conocidos dentro del código de Hamming como "dígitos de
datos". A continuación, se le añaden p (cp-1, ..., c2, c1, c0) dígitos denominados
de control o paridad. Así pues, el nuevo código tendrá una longitud de palabra
del=n+p. La numeración de los dígitos es la habitual (de derecha a izquierda) pero
comenzando por uno: dn+p dn+p-1 ... d2 d1.
Cada uno de estos p dígitos que añadimos al código original va a afectar a
unas determinadas posiciones de la nueva palabra de código de n+p dígitos, de
forma que tomaran el valor adecuado para que se cumpla el criterio de paridad
(par o impar) preestablecido en las subcombinaciones afectadas por cada uno. Se
tiene, entonces, que en la construcción del código los p dígitos añadidos actúan
como dígitos de paridad.

b) Interpretación. Recibida una combinación de un código de Hamming


hay que comprobar si es correcta, y de no ser así habrá que detectar el dígito que
varió en la transmisión.
Ahora los p dígitos añadidos actúan como dígitos de control y con ellos
formamos una palabra binaria. Cada uno de los dígitos de esta palabra toma el
valor 0 o 1 dependiendo de si el número de unos de las posiciones de la palabra
de código por el afectadas cumplen o no el criterio de paridad establecido.
Interpretando la combinación resultante en binario natural, tendremos dos
posibilidades:
- Que se corresponda con el 0. Entonces quiere decir que la transmisión ha sido
correcta.
- Que se corresponda a un número distinto del 0. Entonces en la transmisión ha
variado el dígito situado en la posición indicada por ese número.
Para la descodificación de un código de Hamming debemos tener en cuenta
que si la distancia mínima de H 2(r) es 3, el código de Hamming (llamado C) va a
poder corregir un error. Supongamos que se ha enviado la palabra c y hemos
recibido el vector y. Si y ∈ (pertenece) C la palabra es correcta y no es necesario
descodificarla. Si y /∈ (no pertenece) C, entonces su síndrome coincide con una y
sólo una de las columnas de la matriz de control H. Por lo tanto, con sólo pasar el
síndrome de base 2 a base 10 obtendremos la columna y bastará entonces con
modificar el bit para obtener la descodificación correcta.

Ejemplo 1:
Realizaremos la decodificación del mismo código, pero esta vez haremos
que haya un bit de error
Hamming (7, 4) = 1100110
Hamming (7, 4) con el error = 1100100

Se realiza una tabla similar con tres columnas extras para identificar la
paridad de decodificación, la paridad de codificación y cálculo de error. Se realiza
el mismo procedimiento que en la codificación para completar parte de la tabla.
Cálculo
000 001 001 0100 010 011 0111 Parida Parida
Posición de
1 (1) 0 (2) 1 (3) (4) 1 (5) 0 (6) (7) d deco. d cod.
error
P1 P2 D1 P3 D2 D3 D4
Datos 0 1 0 0
P1 1 0 1 0
P2 0 0 0 0
P3 1 1 0 0

Como vemos, el resultado de este no es igual al que nos proporcionó el


ejercicio (con el error), ya que 1001100 no es igual a 1100100, así que
procedemos a calcular las paridades del código proporcionado y del resultado que
tenemos para determinar dónde está el error.

Posició 000 0010 0011 010 0101 011 0111 Paridad Parida Cálculo
n 1 (1) (2) (3) 0 (4) (5) 0 (6) (7) deco. d cod. de error
P1 P2 D1 P3 D2 D3 D4
Datos 0 1 0 0
P1 1 0 1 0 1 1 Bien (0)
P2 0 0 0 0 0 1 Error (1)
P3 1 1 0 0 1 0 Error (1)

Copiamos el valor de abajo para arriba y obtenemos un valor binario el cual


es 110, que representa al 6 en los números decimales, quiere decir que el error
está en el bit 6, cambiamos el valor de ese bit y obtendremos el resultado “real”,
es decir 1100110 y al ponerlo en la tabla tendremos que sus datos son 0110 que
concuerda con los datos inicialmente proporcionados. Es importante destacar que
los errores en 2 bits se pueden detectar con este procedimiento, pero a diferencia
de los errores en 1 bit, no se pueden arreglar.
Ejemplo 2:

Codificar el valor 0101001 y luego cambiarle un bit y realizar la


descodificación con el bit cambiado

Posició 0001 0010 001 0100 0101 0110 0111 100 1001 1010 1011
n (1) (2) 1 (3) (4) (5) (6) (7) 0 (8) (9) (10) (11)
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7
Datos 0 1 0 1 0 0 1
P1 1 0 1 1 0 1
P2 0 0 0 1 0 1
P3 0 1 0 1
P4 1 0 0 1
H(11, 7) 1 0 0 0 1 0 1 1 0 0 1

Sabiendo que la codificación es 10001011001 vamos con la decodificación,


pero cambiamos a 10001011000.
Par Par Cálc
001 001 010 010 011 011 100 100 101 101 ida ida ulo
0001
Posición 0 1 0 1 0 1 0 1 0 1 d d de
(1)
(2) (3) (4) (5) (6) (7) (8) (9) (10) (11) dec cod erro
o. . r
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7
Datos 0 1 0 1 0 0 0
P1 0 0 1 1 0 0 0 1 1
P2 1 0 0 1 0 0 1 0 1
P3 0 1 0 1 0 0 0
P4 0 0 0 0 0 1 1

Agarramos los números de abajo para arriba y tenemos 1011 que nos
indica que el error está en el dato 11, lo cambiamos y obtenemos el resultado de
la codificación que es 10001011001, así como también tenemos que el dato
descodificado es 0101001.

- Código De Reed-Müller 
Los códigos Reed-Müller son una familia infinita de códigos bloque lineales
binarios utilizados para la detección y corrección de errores en las
comunicaciones de larga distancia. Fueron tratados inicialmente como códigos
binarios debido a que operan sobre bits individuales, pero en la actualidad existen
generalizaciones relacionadas con códigos multi-nivel. Los códigos Reed-Müller
fueron diseñados por los ingenieros Irving S. Reed y David E. Müller en 1954
como una contribución a la teoría de la información, encargada del estudio de la
transmisión y posterior recepción de datos a través de canales ruidosos.
Los códigos Reed-Müller poseen muchas propiedades interesantes que
vale la pena examinar, entre ellas, la capacidad de construir códigos más extensos
en forma recursiva a partir de códigos elementales. Desafortunadamente, a
medida que la longitud de las palabras código aumenta, los códigos Reed-Müller
se hacen cada vez menos robustos, pero esto no impide que se utilicen como
bloques de construcción para otros códigos. La variedad de construcciones
que existen es una de las principales características de los códigos Reed-Müller y
esto los hace útiles en muchos desarrollos teóricos. Las palabras código Reed-
Müller pueden ser decodificadas fácilmente debido a que la distancia mínima del
código es suficientemente grande.

Un código binario 𝑅𝑀 (𝑟, 𝑚) de orden 𝑟 y longitud 2𝑚 está conformado por


todas las combinaciones lineales posibles entre vectores asociados a monomios
de 𝑚 variables, con grado menor o igual 𝑟.
Dicho de otra manera, el código RM puede ser visto como el conjunto de
todos los polinomios de Boole posibles (según los valores de 𝑟 y 𝑚), ya que cada
uno de dichos polinomios es simplemente una combinación lineal de monomios de
Boole.

Ejemplo 1:
Vamos a construir empleando la definición dada el código ℛℳ (1, 3). Para
ello, vamos a fijar el orden F 32= {000, 001, 010, 011, 100, 101, 110, 111}. Hecho
esto, tenemos que obtener 𝒫3 (1), esto es, los polinomios booleanos de 3
indeterminadas que tengan grado menor o igual que 1.
Estos son los siguientes:

Así, ya podemos enumerar las palabras del código de Reed-Muller


deseado, y tenemos que estas son

A partir de esto, podemos obtener una matriz generadora para el código


inmediatamente, y tenemos por la fórmula siguiente que la dimensión de este es 4.

Ejemplo 2:

Consideremos el código de Hamming binario de orden 3. Una matriz de


control para este código es:

Para encontrar las palabras del código, basta con resolver las ecuaciones
determinadas por 𝐻 siguientes:

Podemos obtener una base tomando 𝑥3, 𝑥5, 𝑥6 y 𝑥7 como variables libres.
Dando a tres de estas el valor 0 y 1 a la restante, obtenemos ℬ =
{1110000,1001100, 0101010, 1101001}. Denotando al código por ℋ (3), tenemos
que:
Considerando la palabra 1010101, que pertenece al código, vamos a
reemplazar el último 1 por un 0. Y empleamos el método de decodificación basado
en líderes: tenemos que calcular la clase de equivalencia [1010100] ≡ {𝒙 ∣ 𝒙 −
1010100 ∈ ℋ (3)}. Esta es:

Como hay una única palabra de peso 1, la decodificación es única, y es 1010101.

Ejemplo 3:
- Determinar cuáles de las siguientes palabras pertenecen al código RM(2,4):
a) 1101 1110 0001 1001.
b) 0011 0101 0011 1010.
El código tiene longitud 16, se debe ver que los polinomios de Boole que
inducen estas palabras tienen grado menor o igual que 2.
a) 11011110 + X1 (11000111) = 1101 + X2 (0011) + X1 (1100 + X2 (1011)) = 11
+ X3 (10) + X2 (X3 (11)) + X1 (11 + X3 (11) + X2 (10 + X3 (01))) = 1 + X3 (1 +
X4 + X2X3 + X1 (1 + X3 + X2 (1 + X4 + X3X4)) = 1 + X3X4 + X2X3 + X1X3 + X1X2 +
X1X2X4 + X1X2 + X1X2X3X4.
Este polinomio de Boole tiene grado 4. la palabra no pertenece a RM (2,4).
b) 00110101 + X1 (00111010) = 0011 + X 2 (0110) + X1 (X2 (1111)) = X3 (11) +
X2 (01 + X3 (11)) + X1X2 (11) = X3 + X2X4 + X3X2 + X1X2.
Conclusión:
Esta palabra pertenece a RM (2,4).
Conclusión
En este trabajo se ha dado una breve introducción a la teoría de la
información. Hemos señalado su importancia en diversas disciplinas científicas,
así como en numerosas aplicaciones tecnológicas, especialmente para la teoría
general de la comunicación. Desde el punto de vista puramente formal, hemos
señalado hasta qué punto la teoría de la información puede ser concebida como
un formalismo matemático útil para modelar distintos problemas en diversas áreas
del conocimiento, indicando que probablemente no exista una interpretación única
o privilegiada del formalismo.
A pesar del importante grado de desarrollo que ha alcanzado el formalismo
y sus espectaculares aplicaciones en diversas disciplinas, la teoría de Shannon es
aún un campo activo de debate debido al problema de sus posibles
interpretaciones y la discusión acerca de sus fundamentos. En la actualidad, es
imposible no mencionar los relativamente recientes desarrollos en el campo de la
Teoría de la Información Cuántica y la Computación Cuántica, que prometen un
abanico de aplicaciones tecnológicas revolucionarias, y abren al mismo tiempo la
puerta a novedosos interrogantes en la física y en las ciencias de la computación
(así como en otras disciplinas).
En este contexto, el estudio y debate en torno a los fundamentos de la
teoría de la información puede ser de gran ayuda para entender los problemas y
los desafíos que plantean los posibles desarrollos tecnológicos basados en la
teoría.
Durante el trabajo se habló de la codificación de las fuentes con memoria
que son las que consisten en eliminar la redundancia de la señal, reduciendo así
el numero de bits utilizados con el que se representa la información. También se
hablo de las fuentes sin memoria que se define como un sistema capaz de
generar símbolos a partir de un alfabeto fijo.
Los códigos detectores de errores son una serie de códigos cuya principal
característica es que permiten detectar si se ha producido o no error en la
transmisión de la palabra de código. Aunque en caso de producirse no son
capaces de su corrección inmediata, su detección evita el uso de información
incorrecta.
El tema de los códigos perfectos es uno de los temas más importantes en la
teoría de los códigos de corrección de errores. La clase de códigos perfectos es
muy complicada, grande y estudiada intensamente por muchas investigaciones.
La investigación de propiedades no triviales de los códigos perfectos es
significativa tanto desde el punto de vista de la codificación (para la solución del
problema de clasificación de dichos códigos) como para la combinatoria, la teoría
de grafos, la teoría de grupos, la geometría y la criptografía.
El código Hamming representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Los códigos Reed-Müller son una familia infinita de códigos bloque lineales
binarios utilizados para la detección y corrección de errores en las
comunicaciones de larga distancia. Los códigos RM son los ejemplos más simples
de la clase de códigos geométricos, que también incluye la geometría euclidiana y
los códigos de geometría proyectiva, todos los cuales pueden ser decodificados
por lógica mayoritaria.
Referencias Bibliográficas
- Mejía, Luisantos. (2018). “Estudio de los códigos perfectos y nociones
similares”. http://ri.ues.edu.sv/id/eprint/20135/1/19201113.pdf
- Parra, Luis. (2014). “Fundamentos de la Informática (Tema 8)”.
https://www.infor.uva.es/~cevp/FI_I/fichs_pdf_teo/FI_I_Tema8_CodCorr.pdf
- Parra, Luis. (2014). “Fundamentos de la Informática (Tema 3)”.
https://www.infor.uva.es/~cevp/FI_I/fichs_pdf_teo/FI_I_Tema3.pdf
- Pavese, Cesare (2017).” Teoría de la Información”.
https://addi.ehu.es/bitstream/handle/10810/20121/TFG_Andoni.pdf;jsessionid=EA9
1E3A9586464BF5529844939BEC967?sequence=2
- Holik, Federico. (2015). “Teoria de la Informacion de Claude E. Shannon”.
http://dia.austral.edu.ar/Teor%C3%ADa_de_la_informaci
%C3%B3n_de_Claude_E._Shannon#Conclusiones
- Gallagher, Robert (2006). “Principles of Digital Communications”.
https://mitocw.ups.edu.ec/courses/electrical-engineering-and-computer-science/6-
450-principles-of-digital-communications-i-fall-2006/lecture-notes/book_2.pdf

También podría gustarte