Magic Parallel and Probably No Chance of an Endless Loop

Numbo is a program designed to fluidly (as if a human were doing it) solve problems similar to those on the French television show Le Compte Est Bon. What strikes me as interesting is the apparent magic involved in its design. Here’s a short breakdown:

  • The machine operates by housing a list of sub-programs that do all of the work.

  • These sub programs have an urgency associated with them. Apart from this, they are chosen at random from the list.

  • These sub-programs do things like add numbers together, multiply them together, and can break numbers apart once they have been combined, as well as manipulate the environment where all this takes place.

Since this is not happening completely procedurally the different sub-routines (called codelets) can compete. It is fascinating that anything actually gets done, however, and that the system does not break down and get stuck in an infinite loop. It isn’t hard to imagine that since these procedures are happening in some sort of random environment in pseudo-parallel they could counter-act each other and loop forever. Hypothetically, for example, a loop could form where one codelet multiplies two numbers together, and another breaks them apart again, looping continuously.

This doesn’t happen because of the clever way the system was designed. The urgency associated with each codelet prevents this. As each operation is repeated its urgency (and probability) exponentially declines towards zero.

This sort of design is ingenious. Not only that, but the pseudo-parallel design is notable as well. It has only been semi-recently that parallel computing, multiple processors, and threading has become such common system design elements. Today, most individual programs still execute only on one processor, so designing a program that runs within its own parallel confines decades ago definitely required a little extra thought.

Comments
blog comments powered by Disqus
. . .