Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Compression is closely related to intelligence. In order to compress something you have to understand the pattern behind it. The better you can learn the pattern, the better you can compress.


Lossy compression, yes. Lossless compression, not so much. And, the parent post seems to have been hinting at this. I.e. being able to usefully "tl;dr" all of Wikipedia would require a rather intelligent system. But, recapitulating all of Wikipedia's content word-for-word and pixel-for-pixel (including page layout for the truly pedantic) would not meaningfully test the sort of abstract pattern recognition that you seem to be confusing with lossless compression.

In other words, though often conflated, information and meaning are not equivalent. "Meaning", as people typically use the word, seems to include some concept of the utility of a bit of information. Most information in typical text/images/sounds/etc. is really quite useless. Being able to discard the useless while keeping the useful actually seems like one of the key traits exhibited by intelligent systems, and this ability is not measured (and perhaps even selected against) by lossless compression performance.


Loseless compression may not be as useful as a summarizing algorithm, but it is definitely a test of intelligence. Lossless compression requires identifying the pattern that produced an input as perfectly as possible. If you have an algorithm that can predict the next letter with great probability, you only only need a few bits to store a string of text. And making good predictions on real world data is a good test of AI and machine learning.


"Lossless compression requires identifying the pattern that produced an input as perfectly as possible": no, it requires identifying it absolutely perfectly. This includes all vacuous information as well. E.g., in the Wikipedia example, if there were a 2d scatter plot of a sample from a bivariate uniform distribution, lossless compression would require "memorizing" all of the plotted points.

Predicting perfectly is much, much different from predicting well. Machine learning is about the latter, while lossless compression is about the former.


This is not true. If you have a good predictor, you only need a few bits to store a piece of information. One way is just to record the places where your prediction is wrong. The ideal way would be to split all the possibilities so exactly half of possible sequences are on one side, and exactly half the probability is on the other. Every bit tells you what path to go down.

So instead of using 64 bits to specify the x y coordinates of every point on the plot, you could just use a much smaller number to represent how far it diverges from it's predicted location. You could narrow down the possible locations the point could be in by half, and then you just bits to specify only those possibilities, not all of them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: