El input de la izquierda es interpretado como salido de una fuente equiprobable, el de la derecha es interpretado como salido de una fuente no equiprobable

Si ponemos en ambos inputs el mensaje: "wawa wawa", podremos ver que el que es interpretado como fuente no equiprobable sólamente puede decodificar "wawa w", antes de alcanzar su límite de precisión, en cambio, el equiprobable, puede interpretar "wawa wawa" antes de alcanzar su límite de precisión.

Si ponemos en ambos inputs el mensaje: "eeeeeeeeeeeeeeeeee", ahora el de la derecha va a poder interpretar más símbolos (17) que el de la izquierda (9) antes de alcanzar el límite de precisión.

cuando el programa llega a su límite de precisión, se colgará durante 1 ó 2 segundos.

escribe el mensaje en el input box de arriba

escribe el mensaje en el input box de arriba

LIMITE DE PRECISIÓN ALCANZADO!

LIMITE DE PRECISIÓN ALCANZADO!

Existen 30 símbolos en el alfabeto considerado: {A, B, C, D, E, F, G, H, I, J, K, L, M, N, Ñ, O, P, Q, R, S, T, U, V, W, X, Y, Z} U {espacio, coma, punto, dolar}. La probabilidad asignada a cada símbolo es de 1/30. Basado en la distribución de probabilidades para las letras en el idioma español disponible en la página sttmedia, las tildes fueron removidas, porque no sé cómo hacer para que un hashmap de javascript reconozca caracteres especiales :(, las probabilidades que sumaban las letras con tilde (2.64%) fueron destinadas para caracteres separadores (" ", ",", "." y "$" que simboliza el final del mensaje).