necesito un codigo en cchar y asp...

karli
05 de Febrero del 2005
necesito que me ayuden a programar el siguiente ejercicio:
1. Desarrolle un software que permita realizar una compresión de tipo estadística (Shannon-Fano) para una cadena que será entrada por el usuario, la tabla de probabilidades debe ser elaborada por el programa. La cadena resultante debe guardarse también en fichero pero en formato binario con la correspondiente secuencia y el programa debe brindar también servicio de recuperación del texto en claro para este procedimiento. Debe el software ofrecer una medida de la eficiencia de la codificación empleada...
la explicacion del metodo es la sgte:
Código de Shannon-Fano

Sean n símbolos si (i=1,2,...,n) de probabilidades Pi distribuidas en orden decreciente. El método procede de la forma siguiente:

1º. Se toman los caracteres de más alta probabilidad y se obtienen dos subconjuntos, de tal modo que las sumas de las probabilidades de cada grupo sean, en la medida de lo posible, iguales.
2º. A todos los símbolos de la mitad superior se les agrega como primer símbolo del alfabeto de código el 1 (o el cero) y a los inferiores el símbolo 0 (o el 1).
3º. Los dos subconjuntos se dividen a su vez en dos subgrupos con iguales probabilidades sumarias.
Se repite desde el primer paso.


En general: El código se construye de la forma siguiente: Los mensajes se colocan en una tabla en orden creciente de probabilidades. Después , estos se dividen en r grupos (r es la base del código elegido para codificar ) de forma tal que la suma de las probabilidades, en cada grupo, sea casi igual . A cada mensaje de estos grupos se le asocia como primer símbolo de la palabra codificada uno de los r símbolos del código Cada uno de los grupos se le asocia como primer símbolo de la palabra codificada, uno de los r símbolos del código. Cada uno de los grupos obtenidos es dividido a su vez en r subgrupos con probabilidades lo más parecidas posibles.
El proceso continua hasta que en cada grupo queden r mensajes.



Ejemplo.
Obtener el código de Shannon-Fano para las siguientes letras del alfabeto s ={s1,s2,...,s8}

si P(si) Palabras código
s1 0,22 11
s2 0,20 101
s3 0,16 100
s4 0,16 01
s5 0,10 001
s6 0,10 0001
s7 0,04 00001
s8 0,02 00000

El código obtenido así es eficiente, ya que a los símbolos de probabilidades más altas le corresponden las palabras-códigos más cortas.
( pubicarlo aqui), no enviarlo por correo...