Está en la página 1de 11

Juan Camilo Casallas Juan Sebastián Piñeros

TELECOMUNICACIONES 2

Cristian Andrés Triana

1. MARCO TEORICO
Códigos huffman

En ciencias de la computación y teoría de la información, la codificación Huffman es


un algoritmo usado para compresión de datos. El término se refiere al uso de una tabla de códigos
de longitud variable para codificar un determinado símbolo (como puede ser un carácter en un
archivo), donde la tabla ha sido rellenada de una manera específica basándose en la probabilidad
estimada de aparición de cada posible valor de dicho símbolo. Fue desarrollado por David A.
Huffman mientras era estudiante de doctorado en el MIT, y publicado en "A Method for the
Construction of Minimum-Redundancy Codes".

La codificación Huffman usa un método específico para elegir la representación de cada símbolo,
que da lugar a un código prefijo (es decir, la cadena de bits que representa a un símbolo en
particular nunca es prefijo de la cadena de bits de un símbolo distinto) que representa los
caracteres más comunes usando las cadenas de bits más cortas, y viceversa. Huffman fue capaz de
diseñar el método de compresión más eficiente de este tipo: ninguna representación alternativa
de un conjunto de símbolos de entrada produce una salida media más pequeña cuando las
frecuencias de los símbolos coinciden con las usadas para crear el código. Posteriormente se
encontró un método para llevar esto a cabo en un tiempo lineal si las probabilidades de los
símbolos de entrada (también conocidas como "pesos") están ordenadas.

Entropía

La entropía, en la teoría de la información, es una magnitud que mide la información provista por


una fuente de datos, es decir, lo que nos aporta sobre un dato o hecho concreto.

Por ejemplo, que nos digan que las calles están mojadas, sabiendo que acaba de llover, nos aporta
poca información, porque es lo habitual. Pero si nos dicen que las calles están mojadas y sabemos
que no ha llovido, aporta mucha información (porque no las riegan todos los días).

Nótese que en el ejemplo anterior la cantidad de información es diferente, pese a tratarse del
mismo mensaje: Las calles están mojadas. En ello se basan las técnicas de compresión de datos,
que permiten empaquetar la misma información en mensajes más cortos.

La medida de la entropía puede aplicarse a fuentes de información de cualquier naturaleza, y nos


permite codificarla adecuadamente, indicándonos los elementos de código necesarios para
transmitirla, eliminando toda redundancia. (Para indicar el resultado de una carrera de caballos
basta con transmitir el código asociado al caballo ganador, no hace falta contar que es una carrera
de caballos ni su desarrollo).

2. PROCEDIMIENTO

I. Implemente una función en Matlab que produzca una matriz de códigos de Huffman de
acuerdo a un vector de símbolos de entrada y su correspondiente vector de
probabilidades. Documente el script usando la función “publicar” del editor de Matlab de
manera que se expliquen detalladamente todos los pasos requeridos en la función.
II. Implemente una función en Matlab que calcule la entropía H(S) para cualquier fuente de

información S.

III. Implemente una función en Matlab que calcule la longitud media del código L para

cualquier fuente de información S.


IV. Usando las funciones que desarrollaron en los puntos anteriores:

a. Diseñe un código de Huffman para una fuente con un alfabeto:

H = {h1, h2, h3, h4, h5, h6, h7, h8, h9}

Con el correspondiente vector de probabilidades:

p = {0,2, 0,15, 0,13, 0,12, 0,1, 0,09, 0,08, 0,07, 0,06}


b. calcule la longitud promedio esperada para el código obtenido y compárela con la
entropía de la fuente de información.

c. ¿Qué conclusiones pueden obtener tras el desarrollo del ejercicio?


1. El código empleado calcula el código de hufman. Al obtener la longitud promedio y le
entropía hallamos la eficiencia.

EFECTIVIDAD:
V. Usando las funciones que desarrollaron en los puntos anteriores:

a. Diseñe un código de Huffman para una fuente con un alfabeto:

X = {x1, x2, x3, x4, x5, x6}

Con el correspondiente vector de probabilidades:

p = {0,1, 0,3, 0,05, 0,09, 0,21, 0,25}


b. calcule la longitud promedio esperada para el código obtenido y compárela con la
entropía de la fuente de información.

c. ¿Qué conclusiones pueden obtener tras el desarrollo del ejercicio?


3. Conclusiones

i. al observar la gráfica de longitud y entropía, podemos inferir que se puede enviar la


información ya que la entropía es menor a la longitud.
ii. Se observó que entre menos probabilidad tenga un dato, mayor es su cantidad de bits.
iii. La efectividad es directamente proporcional a la longitud, entre mayor sean los datos,
mayor será la efectividad
iv. El algoritmo nos arroja la entropía y la longitud promedio

También podría gustarte