Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

New and revolutionary data comression scheme!

Name: Anonymous 2009-06-13 17:17

Infinite compression?

I've always was interested in how compressed files worked and why the compression factor is so low.
The entropy explanation isn't something i would accept without tinkering with the data. The idea of my compression algorithm(currently under development) is to
use algebraic properties of files to express the data in more concise way.
The thing might sound trivial, but its implementation is not.
Normal compression works by splitting FILE and finding redundant pieces to express them in minimum volume.
Imagine a FILE read and converted to arbitrary precision integer. Now consider all the myriad ways to generate said integer. Sounds difficult? Not so much.
1.lets take a Prime Number,e.g. 2 and raise it to power closest to our integer, e.g. 20000. Note the difference from the (FILE-result).
2.Get the smallest difference with the powers available,
and proceed to next step:
3.If the difference is negative: find 2 raised to the power
of X which would close the gap,by substracting it from #1
If the difference is positive just add 2 with closest power to the difference .
The end result could be something like
2^6+2^5-2^3+2^1-2^0=Integer=FILE
Its can be improved further by using other prime numbers powers with the idea of expression taking the least space.
The same thing can be accomplished with arbitrary length floating point numbers like 2^123712.1282 which would converge faster,but will require some fixing to convert to a stable binary result.
Posted by FrozenVoid at 15:37

Name: FrozenVoid 2009-06-14 5:55

>>39 where can i download it?



_____________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 5:57

>>40
its not related.
Please reread about the pigeonhole principle.

Name: Anonymous 2009-06-14 6:04

Name: FrozenVoid 2009-06-14 6:09

>>42 i believe in pigeonhole principle as much as i believe in 0.999..=1
in this case you claim something like equation thats less then 1000 bytes cannot express ALL files.
Thats not my goal: i just need to expres the range from 1 to 4GB files.

_____________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: FrozenVoid 2009-06-14 6:10

>>43 Thanks.

______________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 6:24

Name: Anonymous 2009-06-14 6:27

My recommendation to the OP would be to post your ideas on comp.theory or go see somebody in academia, and see what they think. I think your crackpot ideas would make for some nice entertainment for everyone :-)

Name: FrozenVoid 2009-06-14 6:35

>>47 I don't use newsgroups, and my blog is much better place for it.
The claim that idea is 'crackpot' is like telling me that my equation cannot result in some integer(which would easily fixed by adding another equation which closes the gap with some math operation)
____________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 6:46

>>38
Please read about not reading his posts

Name: Anonymous 2009-06-14 6:48

>>47
i used to read comp.compression some years ago, and every few months there was some nut posting about infinite compression. in fact it may have been fv

Name: FrozenVoid 2009-06-14 6:52

I'm off to watch some anime so here the draft pseudocode for compression:

1.build array of 100(or 10000 whatever) primes from sequence of primes
2.get a file e.g. http://marknelson.us/attachments/million-digit-challenge/AMillionRandomDigits.bin
(the above is statistically random binary noise)
3.convert the file into INTEGER
4. for(i=0;i<ArrayOfPrimes;i++){
ArrayOfPrimes[i]^DoubleFloatPowerY =Z->convert to Integer->compare to 3.
//find the prime number & power which is closest,(in terms of absolute value,not larger or smaller) than 3.INTEGER
 }
5.calculate the difference between 4. and 3. this number is new INTEGER
6.apply process from 4. to this INTEGER, until the result is :
3.INTEGER=x^y-z^n+k^v. etc
(in other versions this can be used with multiplier/divisors picked instead of 5.)



________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 7:05

Has anyone already explained the obvious improvement on the original schema?

1.lets take a Prime Number,e.g. 2 and raise it to power closest to our integer, e.g. 20000. Note the difference from the (FILE-result).

It's wasteful to use the _nearest_ power, as it means that we have to store the sign of the difference too. So let's use just a greatest power of two, lower than the current number.

The end result could be something like
2^6 + 2^5 + 2^3 + 2^1 + 2^0=Integer=FILE

Which means that I can use only one bit to indicate the presence or absence of each power. This can be further improved by compressing _these_ bits using the same schema, or maybe RLE or something.

Name: Anonymous 2009-06-14 7:30

>>52
10/10, Satori-level trolling.

Name: Anonymous 2009-06-14 15:14

>>44
There's nothing to believe. It is just a plain fact.

Name: FrozenVoid 2009-06-14 15:35

>>54 Consider the equation as input for a small program.
Now go to http://en.wikipedia.org/wiki/Halting_problem#Representing_the_halting_problem_as_a_set


______________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 16:06

[b][i][o]EXPERT TROLLING[o][/i][/b]

Don't see his posts!

Name: Anonymous 2009-06-14 16:54

>>17
Yes, but it's so retarded and nobody would consider it that it would be like hiding files in plain sight. I think it would be pretty effective.

Name: Anonymous 2009-06-14 18:17

Each byte is comprised of eight bits, right?
And usually (being bits) they can be expressed as powers of 2, right?
So a byte can easily be compressed into three bits (8 combinations) as the powers of 2 it represents.
So that means an (8/3) = 266% compression ratio.
Why has nobody thought of this before?

Name: Anonymous 2009-06-14 18:24

>>58
EXPERT

Name: Anonymous 2009-06-14 18:29

>>1

I actually thought this was pretty clever, its too bad you posted as frozen void though, so everyone knew it was a troll post.  Otherwise you would have tricked plenty of the /prog/tards.

Name: Anonymous 2009-06-14 18:43

>>60
I actually thought this was pretty clever
>>1 (first line)
Infinite compression?
Yeah right.

Name: Anonymous 2009-06-14 18:43

>>60
0/10

I actually thought this was pretty clever
No one is that stupid

Name: Anonymous 2009-06-14 18:55

2^6+2^5-2^3+2^1-2^0=Integer=FILE
FILE = 84?

Name: Anonymous 2009-06-14 19:03

Infinite compression?
I stopped reading there. And then I immediately haxed >>1's anus with exponential force.

Name: Anonymous 2009-06-14 19:13

>>51
Why use powers of primes? Why not just find the nearest prime and offset?

Name: Anonymous 2009-06-14 22:28

>>61
Yep sorry, I skimmed it, obviously that's a give away.  But the method described of using an equation to model the data in a compressed form is very analogous to how a lot of compression is done, and thus worthy of a double take.

Name: FrozenVoid 2009-06-15 0:17

>>66
the principle is that any file, is also a number.
I'm working on way to express this number more concisely then binary.
there many ways to creates equation, here is the simplest type:
here is example for javascript(unfortunately i can't work out example with arbitrary precision floats)
function gethexstr(bytes,base,exp){return pow(base,exp).toString(16).substr(0,bytes)}
function pow(x,y){return Math.pow(x,y)};
gethexstr(62,29.78123,81.172);will return '2b9000ca928614000000000000000000000000000000000000000000000000'
such strings are combined and you get a file in the end.

______________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-15 0:25

function pow(x,y){return Math.pow(x,y)};
I lol'd

Name: FrozenVoid 2009-06-15 0:34

>>68 Its more concise to use, like all of my library functions.
I can't bother to type out the full function names like with:
function tag(x,y){if(!y){return document.getElementsByTagName(x)}else{return x.getElementsByTagName(y)}};
tag('div') vs document.getElementsByTagName('div')

__________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-15 1:16

>>69
pow = Math.pow

Name: Anonymous 2009-06-15 1:57

Have you even tried to work out an example of this by hand? I've tried, and I can't get it to work. Don't try to write in code what you can't express by hand.

Name: Anonymous 2009-06-15 2:29

I'm not really sure I follow the compression scheme. Since you're expressing the file as operations on numbers, you still need some way to represent those numbers (ie. binary), in which case you're not really gaining much efficiency. Please correct me if I'm wrong, though.

Name: FrozenVoid 2009-06-15 2:34

>>72 e.g.71^7.5 is smaller than 76636844659638.05

____________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-15 2:37

>>73
Ah, so you're trying to find an algebraic expression for an arbitrary-length number, is this it?

Name: Anonymous 2009-06-15 2:41

Given some integer, the OP wants to discover some algebraic expression which will evaluate to that integer, in finite time, such that the overall encoding of the expression is less than the original source encoding.

Name: Anonymous 2009-06-15 2:44

>>1
I've already filed a patent just a couple of days ago covering this compression scheme. Better luck next time, kid.

Name: Anonymous 2009-06-15 2:47

What if you had a file consisting of 1000 zero bytes, followed by 0x01, followed by 1000 zero bytes? How do you represent the first 1000 zeros?

Name: FrozenVoid 2009-06-15 2:49

>>77 Leading zero's cannot be properly expressed in my compression. You'll need to use any other compression scheme (huffman, lz, etc) if you want to use it in such cases. My compression works optimally on purely random data.

____________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-15 2:51

>>78
Random data will have at least one leading zero 50% of the time.

Name: Anonymous 2009-06-15 2:56

>>78
So you want to find a prime factorization of the integer representation of some arbitrary data? The problem is how are you actually going to encode the symbols used? I assume you want the compressed stream to be uniquely decodable.
If you're going to use ASCII, you throw out any optimization you gain except in the really tiny cases (<512b), but that's really the only way this could work, since the numbers themselves can be of arbitrary length.
How are you going to encode anything greater than, say, 1MiB, within a reasonable time frame? How do you deal with the leading zero case?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List