My first (Python) program, which attempts to solve the MU puzzle from GEB.
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
INSTRUCTIONS
MU
MultiMU
README
Rules.py
Rules.pyc

README

MU finds whether you can derive one string from another, primarily using the
rules printed in Hofstadter's 'Godel, Escher, Bach: An Eternal Golden Braid,
but other rules can be implemented by changing the 'Transform' method
in 'Rules.py'.

MU uses a breadth-first, brute-force method, and MultiMU (the main version)
has multi-core support. The Parallel Python library (pp) must be installed.

MultiMU(.py) is the main version.
MU is the reference single core implementation, and is now deprecated.

  Arguments:
    1st argument is the number of derivation cycles to compute.
    2nd argument is the starting string.
    3rd argument is the string you want to achieve.
    4th argument is the number of processors to use. Defaults to 1 if blank.
    
  i.e.  To run 50 cycles with 2 cores and see if it produces 'MI' from 'MU',
        (hint - it doesn't) then at the command line, while in the right
        directory, type:

        ./MultiMU 50 'MU' 'MI' 2"