Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411977 Posts in 69438 Topics- by 58486 Members - Latest Member: Fuimus

June 15, 2024, 01:03:16 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Procedurally Generated Compression
Pages: 1 ... 3 4 [5] 6 7
Print
Author Topic: Procedurally Generated Compression  (Read 18112 times)
Zaratustra
Level 7
**



View Profile WWW
« Reply #80 on: June 02, 2010, 11:15:39 AM »

The ultimate compression algorithm: For each file, search every possible Turing machine from smallest to largest, until you find one that generates that file. The decompressor is merely a Turing machine interpreter.
Logged

Dacke
Level 10
*****



View Profile
« Reply #81 on: June 02, 2010, 11:20:40 AM »

For every file you compress, delete everything on any physical medium the program can access. Compressing a file will not only save space, it will create space.
Logged

programming • free software
animal liberation • veganism
anarcho-communism • intersectionality • feminism
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #82 on: June 02, 2010, 12:47:18 PM »

This thread reminded me of this compression algorithm.
hahaha I hadn't come across that before.

Heh, nice. It is guaranteed to compress by a byte but will add a few characters onto the filename..
Logged

shrimp
Level 5
*****


View Profile WWW
« Reply #83 on: June 02, 2010, 01:53:39 PM »

For every file you compress, delete everything on any physical medium the program can access. Compressing a file will not only save space, it will create space.

Not only that, you could actually destroy/throw away the physical storage itself, thus creating new empty physical space. Since creating files is free (right click -> New File), you could repeat this process indefinitely to increase the internal volume of any given room far beyond its initial capacity, as long as you have a big enough hole into which to throw the discarded storage units.

Once I have perfected a method of creating large holes I will be filing a patent.

DO NOT STEAL MY IDEA YOU GUYES

(also http://www.steorn.com/)
Logged

Tycho Brahe
Level 10
*****

λx.x


View Profile
« Reply #84 on: June 02, 2010, 02:57:27 PM »

Alright, time to apply some maths:

There are ~2^296 different ways to organize 64 values.

mabye I've missed somthing further back in the thread, but could you explain why it's not 2^64?

Have I missed somthing important? Are each of the values in base 10?

Logged
Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #85 on: June 02, 2010, 03:49:28 PM »

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = ~2^296


'salright, though. I'm still cranking out ideas for how to keep it working.

Which I will not share, at least not until they've failed me. <_<
I dearly hope they don't.
Logged
Dacke
Level 10
*****



View Profile
« Reply #86 on: June 02, 2010, 11:51:42 PM »

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = ~2^296

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = 64!

I personally find the factorial notation much easier to work with.

Edit: I also explained why there are 64! ways to arrange 64 items in the last post of page 5.
« Last Edit: June 03, 2010, 12:13:44 AM by Dacke » Logged

programming • free software
animal liberation • veganism
anarcho-communism • intersectionality • feminism
increpare
Guest
« Reply #87 on: June 03, 2010, 12:10:08 AM »

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = ~2^296

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = 64!

I personally find the factorial notation much easier to work with.
To be fair, he doesn't make explicit what he's eliding here Wink
Logged
skyy
Level 2
**


[ SkyWhy ]


View Profile
« Reply #88 on: June 03, 2010, 01:06:39 AM »

Quote
Computer says "no".

I'm fascinated by this whole thread. Keep it going.  Gentleman
Logged

Core Xii
Level 10
*****


the resident dissident


View Profile WWW
« Reply #89 on: June 03, 2010, 05:13:33 AM »

The ultimate compression algorithm: For each file, search every possible Turing machine from smallest to largest, until you find one that generates that file. The decompressor is merely a Turing machine interpreter.

Well that's pretty much what I said earlier. Except brute-force searching takes too long, so you have to evolve.
Logged
Fallsburg
Level 10
*****


Fear the CircleCat


View Profile
« Reply #90 on: June 03, 2010, 05:48:11 AM »

Ok, this has descended to full on crank status now. These claims are truly ludicrous. I cannot decide whether my favourite part is where the OP refuses to discuss any technical aspect, except that we must take it on faith that he's right, or the part where he doesn't acknowledge his strong resemblance to classical cranks.

Hint, Madk: It is traditional at this point to cast aspersions on the founders and leading figure of the field in question for being so dense as to have not only missed this algorithm, but having writen a law which has misled thousands of amateurs into thinking breaking it is impossible. Or alternatively, you can start praising yourself as a paragon of genius for spotting something so cunning that we couldn't even comprehend its amazingosity.

I'd say that's it closer to the delusions most commonly associated with schizophrenia.

A) Paranoid delusions, or delusions of persecution, for example believing that people are "out to get" you, or the thought that people are doing things when there is no external evidence that such things are taking place. e.g.  The belief that the members of this board or some large faceless corporation are going to steal his idea.

B) Delusions of grandeur - for example when you believe that you are very special or have special powers or abilities.  e.g. The belief that the algorithm is beyond the limits of logic, mathematics, and information theory.
Logged
Dacke
Level 10
*****



View Profile
« Reply #91 on: June 03, 2010, 05:56:16 AM »

Hey, be kind now.
There do exist examples of people discovering revolutionary things. If you have something that seems like a great idea, it's a good thing to pursue it.

When I was younger, I thought of a perpetual-motion-machine. I obviously realized that it couldn't work, but I couldn't figure out why. By pursuing the idea, I learned really interesting things about physics and why it actually wouldn't work.

At worst, you will learn something new. At best, you will come up with something interesting (possibly revolutionizing, even though that's not very likely).

If you actually do come up with something good, you can't be blamed for wanting to protect it. The system (capitalism) encourages you to protect your ideas, that's not the inventor's fault.
Logged

programming • free software
animal liberation • veganism
anarcho-communism • intersectionality • feminism
magnum_opus
Level 1
*


View Profile
« Reply #92 on: June 03, 2010, 06:01:53 AM »

Just because I like math: 64! is only the number if all elements are distinct, for instance "100" has only three distinct permutations [100, 010, 001] the rule here is
N!/(X1!*X2!*X3!*...Xq!)
Where Xq is the number of a given element; in the case of "100":
6!/(1!*2!) = 3
given "154133289074326432" there are
18!/(2!*3!*4!*3!*1!*1!*1!*1!*1!*1!) ~ 4x1012 distinct permutations, 3 orders of magnitude less than 18!.

in the case of 64 characters [0-9][a-z][A-Z] that means it can range from 1 permutation to 3x1088 for 64!/((2!2)*(1!50)).
Logged

Tycho Brahe
Level 10
*****

λx.x


View Profile
« Reply #93 on: June 03, 2010, 06:27:22 AM »

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = ~2^296

64 * 63 * 62 * 61 * ...... * 4 * 3 * 2 * 1 = 64!

I personally find the factorial notation much easier to work with.

Edit: I also explained why there are 64! ways to arrange 64 items in the last post of page 5.
I remember now, thanks, I'd just forgotten in a momentary lapse of judgement  Shrug. I misunderstood, I thought he meant how many arrangements of two possible types of object (eg, 1 and 0) for which my confusion would hold, as it would be 2^whatever. Instead he meant distinct objects.
Funnily enough the number devil has quite a lot to say about this. man that book helped my maths in year six.

I should also explain that I kinda skimmed page 5, wanting to get to the coal face as it were.

But for OP keep at it man! Even if it doesn't work out it will be invaluable as a learning experience  Gentleman
Logged
increpare
Guest
« Reply #94 on: June 03, 2010, 07:02:49 AM »

At worst, you will learn something new. At best, you will come up with something interesting (possibly revolutionizing, even though that's not very likely).
No, at worst you piss off and alienate a lot of people by wasting their time so that they don't take you too at all seriously in the future - in your solitude you end up tunnelling further into the realm of paranoiac delusions until you end up eaten up by your own megalomania, existing only as some sort of absurd parody of rationality.

As I said before, you gotta be careful.
Logged
Dacke
Level 10
*****



View Profile
« Reply #95 on: June 03, 2010, 07:04:29 AM »

That's true Hand Clap Kiss
Logged

programming • free software
animal liberation • veganism
anarcho-communism • intersectionality • feminism
magnum_opus
Level 1
*


View Profile
« Reply #96 on: June 03, 2010, 07:47:57 AM »

Also at best you eventually realize the mistake, stop working on it and learn from the mistake.
Unless _Madk is completely mis-describing his idea, he is following a well known and completely fruitless path.
Logged

Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #97 on: June 03, 2010, 07:55:09 AM »

I am merely rearranging data before I compress it. Why is this so unheard of and presumably foolish? I've found a ton of holes in the algorithm, but I've also been finding solutions to them. That's why it's not done yet- for example, I'm still trying to come up with a mathematically feasible way to assign every number from 1 to 2^32 to a specific pattern of rearrangement without looking at some sort of table. At the moment, I'm trying to find how many bits it would take to store one value from 0-63, another 0-62, another 0-61, another 0-60 ... 0-5, 0-4, 0-3, 0-2, 0-1 in one value. (Any recommendations or evaluations of required space would be appreciated) I've also been looking into ways to store fewer values while still retaining at least 1/8 of all possible arrangements since if five or six values are all a single number, recognizing each one going into the same spot as a different arrangement is utterly unneccesary.


@magnum
I'm afraid I don't see how that can be applicable.
« Last Edit: June 03, 2010, 08:02:02 AM by _Madk » Logged
PsySal
Level 8
***


Yaay!


View Profile WWW
« Reply #98 on: June 03, 2010, 08:46:31 AM »

I am merely rearranging data before I compress it. Why is this so unheard of and presumably foolish?

Madk, you know I'm NOT one of the naysayers, right? This *isn't* foolish, doing experiments with this sort of thing can be worthwhile.

The only thing that's foolish is not taking the time to understand the proofs available of why you can't have a general purpose compression algorithm that can compress every possible file down to 36 bytes. The mathetmatical proof isn't too hard to understand; the beauty of a good proof is that they are simple enough that you can be certain there are no loopholes.

Best of luck, and I do mean it sincerely!
Logged
magnum_opus
Level 1
*


View Profile
« Reply #99 on: June 03, 2010, 08:48:29 AM »

Look the idea itself is fine and with enough math it will even work for at least the first pass, maybe even the second or third. The problem is the assumption that it will continue to work.
The unspoken assumption in the idea is "Any sting of data can be rearranged to a more compressible form using less data than gained/lost in compression" Which runs afoul of the entirety of information theory.

Specifcally, for any gain in compression you have to have:
or Size(C(M(D,K)))+Size(K) < Size(D)
where C(x) is the compression algorithm, M is mapping function, D is the data and K is the key value.

What will happen, assuming you can get everything to work, is that after a pass or two Size(C(M(DN,KN))) >= Size(C(M(DN-1,KN-1))) where N is the number of passes. The thing is N is going to be pretty small and total size is unlikely to be better than existing compression schemes.
Logged

Pages: 1 ... 3 4 [5] 6 7
Print
Jump to:  

Theme orange-lt created by panic