Saturday, July 24, 2010

Slightly Optimized C++ Program for running Markov Algorithms

I realise there is not much point giving you a 438-rule Markov Algorithm and telling you that it takes more than 6,000,000 iterations to do anything without some sort of execution engine.

Version 0.2 of my C++ Markov Algorithm Executor can be found after the jump. I apologise, my C++ is terrible.

brainfuck Overview

brainfuck is, perhaps, the most famous of esoteric programming languages.

I will give you a quick overview here of the syntax (such as there is) and instruction set of this language, after the jump.

Markov Algorithm Sudoku Solver

I thought that I should start off slowly, to give people an introduction to the general topic, to allow people to warm up to this blog and not put people off right from the start.

I quickly shelved this idea, and decided to instead show something hideously complicated.

Please find here my 458-rule Markov Algorithm for solving sudoku's. Given is an example input. The Algorithm solves this input in 6,525,264 iterations. Your mileage may vary.

Eventually in this blog, I will explain how this Markov Algorithm works. Note that it does not use any sophisticated Sudoku-solving techniques, but just trial and error.

I will give a full description of Markov Algorithms later, but for now you can see more details on the Sphere Online Judge.

Welcome to esotericode

This blog is about esoteric programing languages, including (but definitely not limited to):
* Brainfuck
* Whitespace
* FALSE
* Markov Algorithms
* FRACTRAN

It will include:
* Example programmes in esoteric languages
* Descriptions of how to go about writing code in esoteric languages
* Instructions of how to compile and/or execute esoteric languages.
* Sketches of proofs of Turing Completeness of esoteric languages

and much besides.

If you are not interested in esoteric programming languages, and do not feel you could become interested in them, then I have to be honest, this is probably not the blog for you.