jmmcd comments on A note on the description complexity of physical theories - Less Wrong

19 Post author: cousin_it 09 November 2010 04:25PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (177)

You are viewing a single comment's thread. Show more comments above.

Comment author: jmmcd 10 November 2010 03:51:20PM 1 point [-]

For the purposes of complexity comparisons the prefix should be held constant across the algorithms. You should always be comparing algorithms in the same language.

Oh, that seems sensible. It makes the problem of choosing the language even more acute though, since now we can ignore the description length of the compiler itself, meaning that even crazy languages (such as the language which outputs Encyclopedia Brittanica with a single instruction) are in contention. The point of requiring the language to be encoded in the prefix, and its length added to the description length, is to prevent us from "cheating" in this way.

I had always assumed that it was necessary to allow the prefix to vary. Clearly "abcabcabc" and "aaabbbccc" require different prefixes to express them as succinctly as possible. In principle there's no clear distinction between a prefix which encodes an entire new language and a prefix which just sets up a function to take advantage of the regularities of the string.

Comment author: David_Allen 10 November 2010 04:36:23PM 0 points [-]

In principle there's no clear distinction between a prefix which encodes an entire new language and a prefix which just sets up a function to take advantage of the regularities of the string.

Yes, and this is important to see. The split between content and context can be made anywhere, but the meaning of the content changes depending on where the split is made.

If you allow the prefix to change then you are considering string lengths in terms of the base language. This language can bias the result in relation to the problem domain that you are actually interested in.

As I said above:

For example if I want to compare the complexity of 3sat expressions, then I shouldn't be considering algorithms in domains that support multiplication.