Re: A new lostless transformation algorithm
- From: "David A. Scott" <daVvid_a_scott@xxxxxxxxx>
- Date: Thu, 29 Dec 2005 18:07:06 +0000 (UTC)
"Peter N K" <peet@xxxxxx> wrote in
news:1135856878.421806.239870@xxxxxxxxxxxxxxxxxxxxxxxxxxxx:
>
> EXAMPLE3: 8 bytes sequences: 4, 3, 1, 5, 8, 6, 2, 7 - pure chaos - no
> way to compress.
> (64 bits sequence)
>
> => Data 1) Only one compression method is used (bitmap coding), so == 0
> bytes nloss here)
> Data 2) Permuttion 1 coded (1, 2, 3, 4, 5, 6, 7, 8) with 32 bits
> coding 256 chars in the set bitmap coding (256/8 = 32)
> Data 3) Coding permutation number: Exacly 16 bits
>
> So compression = (32+16)/64 = 75 % compression
>
>
With an arithmetic coder designed to code an 8 byte string where only each
of 8 symbols used once it compress like this first symbol lg8 = 3 bits
lg7 = 1.252762968495367995688120621985 ... lg2 = 1 and last lg1 = 0
add lg8 + lg7 + ... lg2 + lg0 = roughly 15.2992080183872788182197666346169
meaning you could could this in 15 to a max of 16 bits so you method is not
an improvement over pure arithemtic,
It is not pure chaos. Pure Chaos would be to allow each of the 8 postions
to have any of 8 possible values. If that was the case then 3 bits for each
position meaning 24 covers the encoding.
Another point you say you need 3 strings. The unfortunate thing about this
is how you combine the 3 strings. In general for 3 arbitray strings
combined to one string the one string will be longer than the sum of the
3 strings. If this was not so then Patrick would not have won the coding
challenge where he tricked the other guy into allowing several files
instead of one file.
Think of the combined string as made of the ones and zeros of the
orginal three strings with one extra symbol that appear twice
in your example 0 bits for string 1, 32 for string 2 and 16 for string 3
you could do this using a univeral code for the string 1 and string 2
replacement for a simple example.
U1 could represent your empty string that you used in your example.
U2 to U3 could represent all the valuse of a one bit string
U4 to U7 could represent the values for a string of 2 bits
U8 to U15 could represent the values ofr a string of 3 bits
and so on.
Then the 3 string could be replaced by one string the
concatenated strings where string one and two replaced by
the Universal codings of choice the third string can go unchanged
as you see this is much harder than it looks so I feel its not
going to replace proper arithmetic codings.
David A. Scott
--
My Crypto code
http://bijective.dogma.net/crypto/scott19u.zip
http://www.jim.com/jamesd/Kong/scott19u.zip old version
My Compression code http://bijective.dogma.net/
**TO EMAIL ME drop the roman "five" **
Disclaimer:I am in no way responsible for any of the statements
made in the above text. For all I know I might be drugged.
As a famous person once said "any cryptograhic
system is only as strong as its weakest link"
.
- Follow-Ups:
- Re: A new lostless transformation algorithm
- From: Peter N K
- Re: A new lostless transformation algorithm
- References:
- A new lostless transformation algorithm
- From: Peter N K
- A new lostless transformation algorithm
- Prev by Date: Re: A new lostless transformation algorithm
- Next by Date: Re: A new lostless transformation algorithm
- Previous by thread: Re: A new lostless transformation algorithm
- Next by thread: Re: A new lostless transformation algorithm
- Index(es):
Relevant Pages
|