Sie sind auf Seite 1von 3

Algoritmo de Shannon Fano

Un rbol Shannon-Fano se construye de acuerdo a una especificacin diseada para definir una tabla de cdigos efectiva. El
algoritmo actual es simple:

1 Para una lista de smbolos dada, crear su correspondiente lista de probabilidades o de frecuencias de aparicin de manera que se
conozca la frecuencia relativa de ocurrencia de cada smbolo.

2 Ordenar las listas de smbolos de acuerdo a la frecuencia, con los smbolos de ocurrencia ms frecuente a la izquierda y los menos
comunes a la derecha.

3 Dividir la lista en dos partes, haciendo la frecuencia total de la mitad izquierda lo ms prxima posible a la de la mitad derecha.

4 Asignar a la mitad izquierda el dgito binario 0, y a la mitad derecha el dgito 1. Esto significa que los cdigos para los
smbolos en la primera mitad empezarn con 0, y que los cdigos de la segunda mitad empezarn por 1.

5 Aplicar recursivamente los pasos 3 y 4 a cada una de las dos mitades, subdividindolas en grupos y aadiendo bits a los cdigos
hasta que cada smbolo se corresponde con una hoja del rbol.

OTRA EXPLICACION:
El algoritmo Shannon-Fano
1) Para una secuencia de smbolos, se calcula la correspondiente lista de frecuencias de aparicin de los smbolo
2) Se ordena la lista de smbolos segn su frecuencia en orden decreciente.
3) Se divide la lista en dos partes, de forma que la suma total de frecuencias de la mitad superior sea lo ms cercana
posible a la suma total de la parte inferior
4) A la mitad superior de la lista se le asigna el dgito binario 0, y a la mitad inferior se le asigna el dgito binario 1. Esto
significa que los cdigos de los smbolos en la primera mitad empezarn todos con 0 y los cdigos en la segunda mitad
empezarn todos con 1
5) Recursivamente se aplica el mismo procedimiento a cada una de las dos mitades, se subdivide en grupos y se agregan
bits a las cdigos hasta que cada grupo conste de un nico smbolo
Entropa de Shannon.
Shannon, en la dcada del 40, introduce una medida relacionada con todos los estados posibles de una fuente de informacin dada .
La entropa de Shannon se podra definir como una medida de incertidumbre promedio, la cual se calcula a partir de la probabilidad
de ocurrencia de cada una de las letras de un alfabeto de acuerdo con la siguiente frmula:

El nmero total de smbolos posibles a utilizar en la frmula vara en cada codificacin. Tomndose secuencias genticas de
longitud n, tendremos 4n posibles smbolos en cada codificacin. En lo sucesivo denominaremos a n, orden de la codificacin. A
partir de los valores de frecuencia de smbolos se calcula la entropa de las secuencias genticas por cada orden de codificacin
(Hab(n)). Este mismo procedimiento se sigue para la versin aleatorizada de la secuencia no codificadora original y se obtienen de
esta forma los valores relativos (Hrel(n)). Le llamaremos al cociente (Hab(n)/Hrel(n)) entropa normalizada.

GRAFICAMENTE

METODO DE SHANNON FANO:


Este mtodo de codificacin fue desarrollado por Claude Shannon en los laboratorios Bell y por Robert Fano en MIT
(Massachussets Institute of Technology) en la dcada del 40 casi
simultneamente.La tcnica fue propuesta por Claude Elwood Shannon, en Una TeoraMatemtica de la Comunicacin, su
artculo de 1948 introduciendo el campo de la teora de la
informacin. El mtodo fue atribuido a Robert Fano, quien posteriormente lo public como uninforme tcnico.
Robert Fano
Claude Shannon
1 Para una lista de smbolos dada, crear su correspondiente lista de probabilidades o de frecuencias de aparicin de manera que se
conozca la frecuencia relativa de ocurrencia de cada smbolo.
2 Ordenar las listas de smbolos de acuerdo a la frecuencia, con los smbolos de ocurrencia ms frecuente a la izquierda y los menos
comunes a la derecha.
3 Dividir la lista en dos partes, haciendo la frecuencia total de la mitad izquierda lo ms prxima posible a la de la mitad derecha.
4 Asignar a la mitad izquierda el dgito binario 0, y a la mitad derecha el dgito 1. Esto significa que los cdigos para los
smbolos en la primera mitad empezarn con 0, y que los cdigos de la segunda mitad empezarn por 1.
5 Aplicar recursivamente los pasos 3 y 4 a cada una de las dos mitades, subdividindolas en grupos y aadiendo bits a los cdigos
hasta que cada smbolo se corresponde con una hoja del rbol.
Un arbol Shannon-Fano se Construye de acuerdo a una especificacin diseada para definir una tabla de cdigos efectiva. El
algoritmo actual es simple:
Se aplica la divisin entre B y C quedando dos grupos, uno suma 22 y otro 17
Secuencia de smbolos inicial: DDABEBADACABAAECDCBAEACABCBAADDEAACAEAB
TEORIA DE LA CODIFICACION:
Definiciones:
Se denominan smbolos de entrada a cada una de las unidades bsicas (caracteres, por ejemplo) en que se divide la cadena (mensaje)
a comprimir, y vocabulario (o alfabeto) de entrada al conjunto de smbolos de entrada diferentes (y sin repeticiones) que componen
dicha cadena. Llamaremos n a la longitud total de la cadena, es decir, el nmero total de smbolos de entrada a codificar, y v al
nmero de smbolos que componen el vocabulario de entrada.
Ejemplo 1
En la cadena de entrada: ABCDEDEDDDF ABBBBC hay 17 smbolos de entrada: {A, B, C, D, E, D, E, D, D, D, F, A, B, B, B, B,
C} y el vocabulario esta formado por 6 smbolos: {A, B, C, D, E, F}
El proceso de codificacin hace corresponder a cada smbolo de entrada un cdigo que lo representar a en la cadena de salida. Cada
cdigo estar a formado por una secuencia de smbolos de salida que pertenecen a un vocabulario de salida. Llamaremos d al
nmero de smbolos que componen dicho vocabulario. El conjunto de smbolos de salida asignados a un vocabulario de entrada
forman la codificacin de la cadena de entrada.

Ejemplo 2
Una posible codificacin para el vocabulario de entrada del ejemplo anterior podra ser de la forma: {A(0), B(1), C(10), D(11),
E(1100), F(1111)} donde el vocabulario de salida esta formado por d = 2 smbolos: 0 y 1. De este modo, la cadena codificada
quedara: 011011110011110011111111110111110 ut El proceso de decodificacin permite realizar la operacin inversa a la
codificacin; es decir, obtener la cadena original a partir de la secuencia codificada. Denominaremos esquema de codificacin al
mtodo que establece como llevar a cabo los procesos de codificacin y decodificacin. Una codificacin es decodificable de forma
nica si cada cdigo es identificable dentro de la cadena codificada. Es decir, si cualquier cadena tiene una nica descomposicin en
concatenacin de smbolos de salida.
Definicin 2:
Desigualdad de Kraft-McMillan: Sea un conjunto de c cadenas de entrada y d smbolos de salida. Entonces existe una
codificacin instantnea si
c

d li
i=0

1 ; donde li es el tamao de la cadena codificada correspondiente a la cadena de entrada i.

Ejemplo 2.2.7 Existe un cdigo binario para 6 mensajes de manera que dos de ellos se codifiquen con 2 bits, tres con 3 bits y uno
con 4 bits?
2 2 + 22 + 23 + 23 + 23 + 24 = 0,9375 1 con lo que sabemos que existe. Sin embargo, esto no quiere decir que todas las
codificaciones que cumplan estas caractersticas sean instantneas.
Una codificacin de prefijo libre es de prefijo mnimo si, dado un smbolo (o secuencia de smbolos) de salida X que sea prefijo de
algn cdigo, X(y) debe ser necesariamente un cdigo o un prefijo de otro cdigo, donde y representa a cada uno de los smbolos
del vocabulario de salida.
Mtodos estadsticos
Los primeros mtodos de compresin, como el cdigo Braille, asignaban cdigos de longitud fija a los smbolos que forman la
cadena a comprimir. Las codificaciones de tamao fijo son tiles por su sencillez pero son redundantes. Con el fin de conseguir
mejores ratios de compresin disminuyendo en lo posible la redundancia (y, por lo tanto, aproximndose al mnimo terico
determinado por la entropa) se adopt la Ley general de compresin, basada en asignar cdigos de salida cortos a los smbolos de
entrada ms comunes, y cdigos largos a los menos habituales. Este es el principio seguido por los mtodos estadsticos, de modo
que los cdigos generados son de longitud variable. Los mtodos estadsticos (tambin llamados de sustitucin de orden cero o
basados en smbolos) pueden describirse en trminos de un modelo asociado a la cadena de datos a comprimir y un esquema de
codificacin. El modelo asigna probabilidades a los smbolos que forman la cadena de entrada y, posteriormente, el esquema de
codificacin genera un cdigo de salida para cada smbolo de entrada en funcin de estas probabilidades. Los modelos de datos se
pueden clasificar en:

Modelos no adaptativos (estticos)


Modelos semiadaptativos (probabilsticos)
Modelos adaptativos (dinmicos)

Codificacin de Shannon-Fano
La codificacin de Shannon-Fano fue el primer mtodo estadstico que logr una buena codificacin de longitud variable. El modo
de construir los cdigos es el siguiente: los smbolos de entrada i y sus probabilidades pi se ordenan de forma decreciente. La lista
obtenida se divide para formar dos grupos, de modo que la probabilidad total de ambos grupos tenga un valor similar. A cada
smbolo del primer grupo se le asigna un 1 como primer digito, y a los smbolos de la segunda mitad se les asignan cdigos
comenzando en 0. Este proceso se realiza recursivamente subdividiendo cada grupo en base al mismo criterio hasta que cada
subconjunto posea un solo elemento.

Das könnte Ihnen auch gefallen