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: Anonymous 2009-06-13 17:21

I forgot to mention that you can use this algorithm recursively (LISP-style) to compress any amount of data to a single number.

Name: Anonymous 2009-06-13 17:25

>>1
kill yourself

Name: Anonymous 2009-06-13 17:48

>>1
Posted by FrozenVoid at 15:37
Fuck you I didn't notice this and wasted my time reading the whole post.

Name: Anonymous 2009-06-13 17:54

>>1
I lol'd

Name: Anonymous 2009-06-13 18:11

GUYS I THINK THIS WORKS

Name: Anonymous 2009-06-13 18:22

>>1
Those who do not understand binary are condemned to reinvent it, poorly.

Name: Anonymous 2009-06-13 18:35

>>1
This is the official compression algorithm of the Anonix Project.

Name: Anonymous 2009-06-13 18:47

>>1
Please don't bring FV's blog's content into /prog/. We're already knee deep in shit as it is.

Name: Anonymous 2009-06-13 18:54

>>7
But who are the other 9?

Name: Anonymous 2009-06-13 20:41

>>8
>>9
>>10
     To the best of my memory, before I came to the saving grace of Jesus Christ, I did not believe the Bible was true. I doubted whether God, Satan, heaven, or hell even existed. I believed that we were born, lived so many years, and then died. I had my own business and thought that I had succeeded by my own wits.
     One evening, my wife and I heard some documentation that these were the last days before Jesus Christ would actually return. Not wanting to hear it, I almost walked out. Something kept me there, and I listened but was not convinced; however, I decided to do some research to find out if the Bible was really true. Indeed, if I could find one contradiction or anything that was not true, then I could disregard it. I believed this would not take long. This led me into much research. I learned nearly one-third of the Bible is, directly or indirectly, related to prophecy, which includes about 10,000 prophecies. One thing needed was to determine when the Bible was actually written. Thus, a study of biblical history, various translations, and archaeology was necessary. The Dead Sea Scrolls, which were found in Israel, contained parts of the Old Testament, including prophecies of the coming of Jesus. It has been proven that these were written before Christ came. Thousands of clay tablets and archaeological sites also confirm many accounts in the Bible.
     I took time off and began studying the prophecies. My wife would spend much time at the library. She obtained documentation for me from reference books, which I would check against the Scriptures to see if the prophecies took place. One week went by and then a month. Every prophecy that we were able to get information on proved to be accurate. I was astonished, but still not convinced. Later, there were people who would show me what appeared to be contradictions in the Bible. These were not contradictions, but only a lack of research on the part of those that said these things. Stubborn, that's me. Even after four months of intensive study, proving prophecy after prophecy was true, I was still skeptical. Four months turned into six. I became more determined. It wasn't possible that the sixty-six books of the Bible, written by many people over hundreds of years, would not have some errors, I thought. Thousands of prophecies and every one perfect? No, impossible! If I would admit that, then I would also have to admit there was a God. I was not prepared to do that—yet, I wanted to know the truth. More months passed. Finally, I had to admit after spending almost countless hours of research—I was wrong. I may have been the biggest skeptic in the world, but now I know—the Bible is true and is the perfect Word of God. Anyone willing to take the time I did and do the same research could only come to the same conclusion, if they are honest with themselves. I became afraid that I would perish. I surrendered my life to Jesus Christ, the only begotten Son of God, as a result of His love, compassion, mercy and grace.
     I know that there is none other name under heaven given among men whereby we MUST be saved (EXCEPT JESUS)-ref Acts 4:12. I REPENTED of my sins and received Jesus Christ as my only hope of salvation by FAITH-ref Eph 2:8-10. It is written, EXCEPT YE BE CONVERTED, AND BECOME AS LITTLE CHILDREN, YE SHALL NOT ENTER THE KINGDOM OF HEAVEN-Mt 18:3. You can also call on Jesus NOW to be YOUR Lord and Savior.

Name: Anonymous 2009-06-13 20:49

>>11
"Signs" and "evidence" ever so rarely lead to true conversion. Even when they do, they are easily shaken when confronted with conflicting evidence. It's a big reason traditional "Christians" have become so good at discouraging critical thought, or repeating ridiculous arguments.

It's people like this that are the cancer that is killing religion.

Name: Anonymous 2009-06-13 22:21

Is it anything like the algorithmic language scheme?

Name: Anonymous 2009-06-14 3:15

So, you're basically factoring the file as an integer, and then storing only the factors? That won't work, since storing the factors in the smallest form (binary!) will take just as much space as it would to just store the original file! You're "compression" scheme is actually just a complicated and processor-intensive way to re-organize the bits of the file.

Name: Anonymous 2009-06-14 3:37

>>14
That might make it an effective encryption scheme.

Name: Anonymous 2009-06-14 3:42

>>15
terrible!

Name: Anonymous 2009-06-14 3:44

>>15
Not really, because all the data is still there, except that "15" is represented as "5*3". So long as you know what operations to perform, you can compute the simplest form.

Name: FrozenVoid 2009-06-14 4:24

I'm working on it, the scheme described in blog isn't infinite per se(the potential compression ratio is).
It just creates and equation(not necessary involving the powers of 2) which gives an answer, which then converts to integer,
which is saved as binary files. Since i don't know  C/C++ well this implementation
would take quite a bit of time.
The key is finding numbers algorithmically which fit the integer equation:
e.g. 7^2472471 would convert to some part of equation, which than combines with something like
(int)81.1293^38381.1177 and produces result closer to file contents.

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

Name: FrozenVoid 2009-06-14 4:28

>>14
the equation isn't "factoring" the integer.
Its finding the least amount of keys and performing math operations to gain result.
e.g (x^y+(j^b*k^p)-m^z/b^a).toInteger()


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

Name: Anonymous 2009-06-14 4:38

>>19
It's too bad your tripcode is banned, cause now I'll never know if it's really you or just a great troll.

Name: FrozenVoid 2009-06-14 4:43

>>20
I can use some other tripcodes, but mods would ban them as well.
Plus, tripcodes on this board gain unhealthy attention from the masses.
P.S. You would gain nothing from impersonating me, except ridicule.
_________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: FrozenVoid 2009-06-14 4:50

The thing is, programming it in C is so frustrating, i'll probably wouldn't finish it.
(JavaScript is too slow(esp. anything over 100kb) and its interface with filesystem is horrible,though it has arbitrary precision libraries)

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

Name: Anonymous 2009-06-14 5:01

>>22
I'm warning you anon. I will destroy you if I am angered.
You sheep do not know my true power yet.

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

Name: FrozenVoid 2009-06-14 5:04

LOL hax my anus with some FIOC back to /b/ please.

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

Name: FrozenVoid 2009-06-14 5:09

>>23-24  Fake
___________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
orbis terrarum delenda est

Name: Anonymous 2009-06-14 5:13

>>23
my true power is OVER 9000

Name: FrozenVoid 2009-06-14 5:15

>>23 I know what you trolling about, you just misunderstand me.
I know the limits of JavaScript. Its still my favorite language, make no mistake.
Its,however not fit for such data-intensive operations, unlike C, and its file handling capability is limited by browser.

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

Name: Anonymous 2009-06-14 5:16

>>22
The thing is, programming it in C is so frustrating, i'll probably wouldn't finish it.
How convenient.

Name: FrozenVoid 2009-06-14 5:23

>>28
I'm learning using arbitrary precision integers and file pointers right now.

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

Name: Anonymous 2009-06-14 5:25

>>18
Just learn Haskell. I've done much of your "work" for you.


module Main where
import Data.Bits
import Data.Word
import qualified Data.ByteString.Lazy as BS

bsToInt :: BS.ByteString -> Integer
bsToInt = foldl (\i -> \w8 -> i * 256 + (fromIntegral w8)) 0 . BS.unpack

intToBs :: Integer -> BS.ByteString
intToBs i = BS.pack $ (reverse . word8s) i
  where word8s 0 = []
        word8s n = fromIntegral (n .&. 255) : word8s (div n 256)

fvFactor :: Integer -> Integer -> [Integer]
fvFactor 0 _ = []
fvFactor n e
  | 2^e > n = (e - 1) : fvFactor (n - 2^(e - 1)) 0
  | otherwise = fvFactor n (e + 1)

main = do
  conts <- BS.getContents
  putStrLn $ show $ bsToInt conts


This program will convert its input into a large integer. fvFactor will factor n from e with powers of two, which basically just tells you how many 1 bits there are in the integer.

For example, let's take this file "This is just a test.\n". It's integer is 123362224183149454760125818890661635634932860857866.

fvFactor 123362224183149454760125818890661635634932860857866 0
  ==
[166,164,162,158,157,155,150,149,147,144,142,141,140,137,
136,133,126,125,123,120,118,117,116,113,112,109,102,101,
99,97,94,93,92,90,88,86,85,84,81,80,78,77,76,74,69,62,61,56,
53,46,45,44,42,38,37,34,32,30,29,28,25,24,22,21,20,18,13,11,
10,9,3,1]

That means that the file is equal to 2^166 + 2^164 + 2^162 + ... + 2^9 + 2^3 + 2^1.

Like someone said above, you're just expressing binary in a different way.

Using higher numbers is actually less efficient, as the difference between your b^e form and n is greater if your base b is greater.

Name: Anonymous 2009-06-14 5:25

Hey guys, I have a good idea. Let's all stop posting in this stupid, stupid thread and let it sink.

Name: kinghajj !kiNgHAJjDw 2009-06-14 5:30

Name: FrozenVoid 2009-06-14 5:31

>>30
Haskell is 10 times harder than C(and completely unintuitive for me). I can't use it.
Your program isn't doing any work: its just splitting it into sum of powers of 2.
The file taken is too small btw. The operation is intended to be used on larger(e.g. 1mb) files.
try finding instead the float power of 2 which closest to your integer.
e.g. 2^xxx.yyy which is closest to your integer.

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

Name: FrozenVoid 2009-06-14 5:35

>>30
can you make a haskell program which will find the float power for 100 first primes and find which one is the closest
to integer. e.g. (int)[primeX]^[double float powY]?

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

Name: Anonymous 2009-06-14 5:39

Stop helping FV using Haskell.

Name: FrozenVoid 2009-06-14 5:42

>>35 I'm not using it. I can barely use C.

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

Name: FrozenVoid 2009-06-14 5:47

However if i knew Haskell i could express the algorithms there better..
It has arbitrary integers built in.

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

Name: Anonymous 2009-06-14 5:47

>>34
Please read about the pigeonhole principle.

Name: Anonymous 2009-06-14 5:48

>>36
Maybe it's a good time to start learning. Read this *excellent* book on C;

http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)

Name: FrozenVoid 2009-06-14 5:52

>>38
its not related. I can say take first 721321 bytes of equation X result and save as part 1, combine with take first 23478234 bytes of equation Y result and save as part 2.


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

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