ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Huffman, Hamming

shadow44024 de Junio de 2012

1.014 Palabras (5 Páginas)756 Visitas

Página 1 de 5

Códigos Huffman, Hamming y relación entre

ellos.

Código Huffman

El Código Huffman es un algoritmo para la compresión de archivos sin pérdida de datos desarrollado por

David Huffman. Para llevar a cabo dicha compresión, se debe basar principalmente en la frecuencia de

ocurrencia de un símbolo en un archivo que será comprimido.

Este algoritmo, está basado en codificación estadística, lo que significa que la probabilidad de un símbolo

tiene una directa relación con el tamaño de su representación. “Hay mayor probabilidad de ocurrencia de un

símbolo, mientras más corto sea el tamaño de su representación en bits”.

En cualquier archivo, ciertos caracteres son usados más que otros. Si usamos representación binaria, el

número de bits requeridos para representar cada carácter depende del número de caracteres que tienen que

ser representados. Por ejemplo:

Si se usa un bit, significa que pueden representarse como máximo dos caracteres (0 un carácter, y 1 el

otro).

Si se usan dos bits significa que pueden representarse cuatro caracteres (00, 01, 10, 11, cada uno

representa un carácter),

y así sucesivamente.

La compresión Huffman a grandes rasgos es un sistema de longitud variable que asigna los códigos más

pequeños a aquellos caracteres más frecuentemente usados y los códigos más largos a aquellos menos

frecuentes. Esto sirve para reducir el tamaño de los archivos.

Circuitos electrónicos para sistemas de comunicación

Veamos un ejemplo:

Supongamos que en un archivo de datos se tiene la siguiente información:

 AAAAAABBBBCC, donde

 A tiene una frecuencia de 6,

 B de 4 y

 C de 2.

Cada carácter es representado usando una longitud fija de códigos de dos bits, entonces el número de bits

requeridos para almacenar el archivo sería 24:

(2 bits x 6) + (2 bits x 4) + (2 bits x 2) = 24 bits.

Si esa información es comprimida usando compresión Huffman, el carácter más frecuente debería ser

representado por los bits más pequeños:

A por el código 0 (1 bit)

B por el código 10 (2 bits)

C por el código 11 (2 bits)

Por lo tanto el tamaño del archivo pasará a ser de 18:

(1 bit x 6) + (2 bits x 4) + (2 bits x 2) = 18 bits

O sea:

000000101010101111

En el ejemplo anterior, los caracteres que se repetían más frecuentemente son asignados al código más

pequeño, resultando en un menor número de bits en el archivo final comprimido. Circuitos electrónicos para sistemas de comunicación

Código Hamming

Cuando enviamos información digital por un medio físico (cable) puede cometerse errores de trasmisión, los

cuales se producen por variaciones en la corriente eléctrica. Dicha información puede no ser recibida

correctamente. Una forma de detectar esos errores es usando algún código de detección de errores, o bits de

paridad, los cuales se agregan al dato inicial para poder controlar alguna desviación. Para saber si dicha

información se ha enviado correctamente se utiliza principalmente el método Hamming.

Este método, sirve para corregir errores en k bits y es una aplicación inyectiva que permite codificar datos

de n bits en n+r bits, de modo que a partid de los n+r se pueda recuperar el código original de n bits incluso

cuando el código de n+r tenga k bits erróneos.

Un ejemplo de este código es el siguiente:

...

Descargar como (para miembros actualizados) txt (5 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com