I enjoyed Elie's new post, it made me think that objects is constructed from basic elements. If you looked at a complicated problem with this transparent type of lens, you could see a crystal-clear view of simplicity. Its like a Zen way of looking at things.

Any music is a set of signals.

Any liquid is a set of basic elements.

Any book is a set of letters.

Any file is a set of bytes.

We can refer to the signals, elements, letters and bytes as Seeds. You combine the Seeds in a non-random way to produce a unique result.

Fourier Series

I would love to bring one of the greatest success in history in this matter.

The French mathematician Joseph Fourier discovered that a periodic signal can be broken to set of SIN waves. He looked at the basic SIN wave and tried to recreate the periodic signal. Now if you look at a peridoic signal if it is repeated overtime, that signal can be decomposed back into a formula after a set of analysis. This is what is called Fourier series.

Question

Can we have our own digital Fourier series? Here where we should back to my proposed Ceed idea. For those who are new to Ceed is, its an idea I proposed to replace the current compression algorithms with a new modern digital analysis of any file. The idea vision is to compress a 1GB file into a 20KB of size. Crazy, I know.

Now lets look at the digital era, any file is a set of bytes, bytes can be placed in a non-random (and I insist to call it non-random) to create a certain executable or document or even music file.

Answer

- Convert each file into a graph.

- Study the graph and try to find pattern.

- Try to define a series of these bytes.

- Disassemble the series into a formula.

- Use the formula to recreate the file back.

Sound simple, but its not, I just want to treat the idea as simple so it could remain simple.

First, I'm glad you're asking questions like this, but I don't think you're the first person to ask this question and I would imagine it's probably been researched and written up.

ReplyDeleteWhat you are talking about are generator functions, and what you're asking is if you can use generator functions to regenerate a stream of finite data.

If you really want to read up on this, you should at least check out Stephen Wolfram's take on generator functions, because I think he does explaining some fundamental limitations (http://www.youtube.com/watch?v=_eC14GonZnU).

Lastly, you might want to first read up on Lambda Calculus and how data, such as church numerals, are encoded in lambda calculus. When you're done with that, read up on Godel's incompleteness theorems. They may seem irrelevant, but I think it's a start in understanding some of the fundamental limitations of generator functions.