Solomonoff-lite Evaluator
July 9th, 2007 –
Solomonoff induction is a general, but uncomputable, solution to the problem of prediction: given the past, what probability should you assign each possible future?
In my previous post, I described a sequence predictor that works by modeling the sequence as generated by a random program in a simple language. I’ve hacked together an implementation of this predictor in python.
Minus the interface, this contains two functions for determining the probability the sequence begins with a certain prefix. The first (probsim) computes it by simulating programs in the language, computing the set of all minimal programs whose output begins with a certain prefix. The second, faster, method (probmodel) computes the probability from structural properties of the prefix (basically, looping patterns at the end of the prefix).
Download both layout.py and solomonoff-lite.py, place them both in the same directory, and run “python solomonoff-lite.py” (or otherwise execute solomonoff-lite.py). The keys are: 0,1 adds a character to the current sequence, backspace removes one, q quits, m changes probability computation model (simulation or structural computation). See the comments at the start of solomonoff-lite.py for some more details.
Still to be continued. Coming next: general Solomonoff induction with a description of its optimality.







































When I click on “Layout.py”, I get a message telling me that I’m not allowed access to the relevant page. Unfriendly!
“Unfriendly!”
It’s still a work-in-progress.
Sorry, all! It seems my entire page is broken. I’ve asked the support staff to fix this, so should be soon. I’m happy to email anyone the sources if they like.
Ok, should be fixed now.