CODIGO HUFFMAN Y ALGORITMO DE SHANNON
La codificacion Huffman usa un método especifico para elegir la representación de cada símbolo, que da lugar a un código prefijo que representa los caracteres mas comunes usando las cadenas de bits mas cortas, y viceversa. Huffman fue capaz de diseñar el método de compresión mas eficiente de este tipo: ninguna representación alternativa de un conjunto de símbolos de entrada produce una salida media mas pequeña cuando las frecuencias de los símbolos coinciden con las usadas para crear 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 están ordenadas.
En la codificación Shannon, los símbolos se ordenan de mas al menos probable, y se dividen en dos subconjuntos cuyas probabilidades totales son tan próximas a ser iguales como sea posible. A continuación todos los símbolos tendrán el primer dígito de sus códigos asignados; los del primer subconjunto recibirán el "0" y los del segundo el "1".
Mientras exista algún subconjunto con mas de un termino, se repetirá el mismo proceso para determinar los sucesivos dígitos de sus códigos. Cuando uno de los subconjuntos han sido reducido a un símbolo, esto significa que el código del símbolo es completo y que no formara el prefijo del código de ningún otro símbolo.
En la siguiente imagen se muestra un programa calculando el código Huffman y Shannon simulado en matlab :
Fig.1 Programa en matlab que realiza el calculo de Huffman y Shannon
Fig.2 Resultados del programa
En el siguiente enlace se podrá descargar el programa :
gracias me ayuudaste mucho
ResponderEliminar