Está claro que
c(0)=\epsilon
Puesto que la cadena vacía \epsilon es la única cadena con menos longitud que la cadena 0. ¡Pero también es inmediato para la cadena 1!
c(1)=\epsilon
Entonces, ¿cuánto es d(\epsilon) ? Porque sólo podrá ser una de las dos cadenas iniciales, pero no las dos.
Esto es el llamado principio del palomar. Sólo tenemos una cadena de longitud cero para almacenar dos cadenas de longitud uno. Si en un palomar hay más pichones que nidos, en algún nido habrá dos pichones (y no podremos descomprimirlos).
Por tanto, no existe el compresor perfecto. Habrá cadenas que comprima y otras que expanda. El truco está en que comprima las cadenas más usadas y expanda las menos usadas.
1 comentarios:
Visto así tiene todo el sentido. Pero creo que más de uno vamos a seguir de forma subconsciente intentando buscar trucos para que no sea así... sin conseguir nada, claro :P
Publicar un comentario