If some data defeats every method you've tried
To determine its structural form, and you're yearning
To find every pattern that's hidden inside
So that you can achieve perfect MDL learning,
To squeeze from your data the meaningful juice,
And to throw away all the superfluous rind
The complexity measure that's perfect to use
Is the one that Andrei Kolmogorov defined.
Let the data be D. Write the minimal code
That will print out the data eventually.
And now tally the length of the program you wrote,
For that sum is the value they call K(D)! (read "K of D")
There's an obstacle, though, that you'll find if you try, which
Is pretty much certain to get in the way
Of applying this thought of Andrei Nikolaevich:
If D is too large, then you can't compute K.
This is part of the collection Verses for the Information Age by Ernest Davis