Skybuck's Universal Code 4 (memory efficient)

So finally you admit huffman is not suited to encode the world's information.

Imagine having to come up with a table to encode the world's information.

You have no idea what the information is now

Reply to
Skybuck Flying
Loading thread data ...

Ok smarty pants here is an example description of a possible application:

A sender is sending information fields and operation fields to the receiver.

The information fields are variable bit.

The operation fields are variable bit.

The receiver is supposed to perform the operation on the information fields and return the results.

The result fields are variable bit.

Example of operation fields:

0 = add 1 = substract 01 = multiply 10 = divide more could follow in the future.

Example of information fields:

111 = 7 decimal 1000 = 8 decimal. largere numbers possible.

Information fields can be near infinite length Operation fields can be near infinite length Result fields can be near infinite length. (only limited by current hardware, future hardware can embrace more)

How do you send the information to the receiver ?

How do you make sure the "system/protocol" scales and stays compatible as better hardware becomes available ?

Bye, Skybuck.

Reply to
Skybuck Flying

Poor Baby! Too ignorant to study information theory before opening mouth in high gear.

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
         America: Land of the Free, Because of the Brave
Reply to
Jim Thompson

Kind of reminds you of 'Dork Splatter', doesn't it?

--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
Reply to
Michael A. Terrell

My underwear is not something I discuss on Usenet.

Doesn't make a lot of sense. If you want to decode that, how do you distinguish 0 followed by the operand from 01? IOW, how do you know that the 1 is part of the operation and not of the operand?

--
Rudy Velthuis        http://rvelthuis.de

"It is better to have a permanent income than to be fascinating."
 -- Oscar Wilde (1854-1900)
Reply to
Rudy Velthuis

Wrong conclusion. I never said anything like it.

If the table translates bytes into bit patterns, it will not contain more than 256 entries. Not too big, and negligible compared to the world's information. For all the data in the world, it would probably make sense to use a DWORD table, to speed things up and get better compression. Of course, you would first have to establish which bytes (words, dwords, whatever you choose) are used very often, and which ones are very rare.

Like I said: you may have read it but you certainly didn't understand what you were reading.

--
Rudy Velthuis        http://rvelthuis.de

"When ideas fail, words come in very handy." -- Goethe (1749-1832)
Reply to
Rudy Velthuis

If anyone has "admitted" that they are incorrect. Huffman knew a lot of stuff and published quite a bit about encoding information without wasting bits. You will find that there are very easy systems for encoding bit strings of unlimitted lengths based on his ideas. You just need to read up on them.

No table is needed. The table is just a very handy way to state the general case. You can do specific cases of Huffman coding without a need for a table.

You only need a system to deal with it.

It still doesn't matter. Since Huffman coding can be done following a rule that continues to infinite lengths, there is no need to know what the information will be in the future.

No, you have suggested an encoding which wastes a lot of bits and is therefor not suited to the worlds needs. There are enoiugh bits needed already. Adding a bunch of waste solves nothing.

That is incorrect.

Reply to
MooseFET

Something we should have noticed before already.

More or less a case of the following, IMO (my newsreader picked that quote at random, BTW):

-- Rudy Velthuis

formatting link
Acronym: "I Can't Think Of Anything Reasonable To Counter Your Argument Or Don't Have The Least Inkling Of The Subject So I Will Resort To Name Calling And Hope I Can Get Away With It." -- Ken de Camargo, borland.public.off-topic

Reply to
Rudy Velthuis

If that were true, he should patent it and start competing with the compressors already on the market, instead of bothering us with his "ideas".

--
Rudy Velthuis        http://rvelthuis.de

"Few things are harder to put up with than a good example."
    - Mark Twain (1835-1910)
Reply to
Rudy Velthuis

This shows you do not understand what I at least mean with a universal code.

The wikipedia page about universal codes has also changed since I posted version 1 of my universal code.

You suggest a fix-bit system for the world, which is the problem the world currently has.

The universal code is ment to fix the problem of the world and introduce a variable bit system.

A concept you simple do not grasp ? :)

Bye, Skybuck.

Reply to
Skybuck Flying

The gigabit example, let's expand it with another field.

Field one: 160 * 1000 * 1000 * 1000 bits.

Field two: 50 * 1000 * 1000 * 1000 bits .

Skybuck's Universal Code Version 4:

Field 1:

Marker: 38 bits. Length: 38 bits. Data: 160 000 000 000 bits Total: 160 000 000 076 bits.

Field 2: Marker: 36 bits. Length: 36 bits. Data: 50 000 000 000 bits. Total: 50 000 000 072 bits.

Field 1 + Field2 = 210000000148 bits.

Total data bits = 210000000000. Total overhead bits = 148.

((210000000148 - 210000000000) / 210000000000) * 100% = 0.000000000704 procent overhead.

Show me any encoding which is more efficient and just as flexible as mine ?

Bye, Skybuck.

Reply to
Skybuck Flying

My universal code solves that problem.

However you apperently reject my solution, so it's up to you to find your own solution.

Bye, Skybuck.

Reply to
Skybuck Flying

Universal codes do not solve a lot. From wiki: "Huffman coding and arithmetic encoding (when they can be used) give at least as good, and often better compression than any universal code."

Not at all. See below. You usually start with a certain presumption, though.

What is "the problem of the world", according to you? Hunger, disease, poverty, war, lack of clean water, global warming, or what?

Apparently you do not understand what I am saying. There is also adaptive compression (huffman or whatever), which simply starts with a certain presumption and then updates it every so many bytes, depending on the data already read. Decoding will produce the same set of bytes again, so the table can be adapted exactly the same way at decoding too.

--
Rudy Velthuis        http://rvelthuis.de

"Ask people why they have deer heads on their walls and they 
 tell you it\'s because they\'re such beautiful animals. I think 
 my wife is beautiful, but I only have photographs of her on the 
 wall." -- George Carlin
Reply to
Rudy Velthuis

FWIW, the wiki also says: "Universal codes are also useful when Huffman codes are inconvenient. For example, when the transmitter but not the receiver knows the probabilities of the messages, Huffman coding requires an overhead of transmitting those probabilities to the receiver. Using a universal code does not have that overhead."

Well, that is what I said. But it is only true for short messages, not for longer messages, where the size of the probability data is negligible to the size of the real data.

And it still not solves your encoding using 0, 1, 01 and 11 for the different operations. When decoding, one can't distinguish between 01 and 01, i.e. it is ambiguous, since it can have two meanings: "add" plus the first bit of the operand, or "multiply".

Now if you assume that division is not done as often as multiplication, and that subtraction happens less than addition, you can use:

0 addition 10 subtraction 110 multiplication 111 division.

Now, if you see a 0, you know it is addition, and what follows is the first operand. If you see a 1, you must check the next bit. If it is 0, you have subtraction, otherwise you must check the next bit, etc.

--
Rudy Velthuis        http://rvelthuis.de

"There Ought to be Limits to Freedom!" 
 -- George W. Bush, commenting on gwbush.com (05/21/1999)
Reply to
Rudy Velthuis

Misconception:

Universal code is not compression, it's flexiblity, while huffman is not.

Internet address space shortage, multiple stacks running next to each other, more complexity, more costs, millenium bug, windows 16, 32, 64 bit compatibility problems, costs go into the billions of dollars ;)

I have studied it, it's not suited.

Stop studieing that bullshit and start studieing and applyieng Skybuck's Universal Code and you might actually learn something and write better software which will:

  1. Make the dead Greek, Arabic and Ancient people from the past proud.
  2. Will make future people use your algorithms for milleniums to come.
  3. Will make yourself happy when you are 60 to 80 years old and you can still run your software without to much changes on newer hardware ;)

Time to ditch fixed-bit-shit :)

Bye, Skybuck.

Reply to
Skybuck Flying

To much effort for me.

All I can do is try to convince myself, you, the people and the world, the universal code is a better way to encode/decode/store information for the future.

I myself am not 100% convinced yet... but version 4 is a major efficiency improvement ;)

Bye, Skybuck.

Reply to
Skybuck Flying

  • How does one know that the marker and the length of field 1 are 38 bits, but that of field 2 are only 36 bits, when one starts decoding? You would have to transmit that too.
  • What about smaller integers? They are much more common and would have a huge overhead.
  • What on earth is the advantage?

Why not just use a fixed length DWORD or QWORD indicating the number of bits transmitted, and how often do you use such large integers?

What are you trying to solve?

--
Rudy Velthuis        http://rvelthuis.de

"Always go to other people's funerals, otherwise they won't come 
 to yours." -- Yogi Berra.
Reply to
Rudy Velthuis

Not that I can see. Show us some working code (if possible, in readable form) and prove that is solves all the problems. Should not be too hard for a genius like you.

I don't need one. I really wonder what you are trying to solve.

--
Rudy Velthuis        http://rvelthuis.de

"I have read your book and much like it."
 -- Moses Hadas (1900-1966)
Reply to
Rudy Velthuis

How would a universal code solve these? Note that variable bit systems would be much harder to implement, and probably a lot slower as well.

Says you.

Yeah, sure.

--
Rudy Velthuis        http://rvelthuis.de

"Success usually comes to those who are too busy to be looking 
 for it" -- Henry David Thoreau (1817-1862)
Reply to
Rudy Velthuis

Would greatly increase your credibility, though.

I'm pretty sure you are very convinced of yourself.

Problem is that you don't convince others, especially since you display a lack of basic knowledge which makes it hard for anyone to believe you have a clue at all.

--
Rudy Velthuis        http://rvelthuis.de

"Roses are #FF0000
 Violets are #0000FF
 All my base are belong to you!"
 -- Geek Valentine T-shirt at ThinkGeek
Reply to
Rudy Velthuis

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.