What is a FLOM?
FLOM is an acronym for Finite Loop Organic Machine. The loop is a simple software loop which consists of some small number of steps that are executed as instructions. As each step is executed, the FLOM carries out an action (or not). At the end of the step the FLOM chooses a new step and the program proceeds.
FLOMS are the core of the Evolve-A-Bot game. They are similar in concept to simple organisms such as microbes and they evolve very rapidly, allowing their program (which acts as their genes) to converge on a solution quickly.
Difficult conditions will kill off or "select against" many FLOMs, but the survivors carry in their genes the code for a useful robot program.
How do they do it?
Imagine making a little robot that needs light to charge its batteries. As long as light is present, the robot can "eat" and it will have power for operation. This sort of thing is called a "photovore" or light-eater.
Now, imagine that the robot must find the light by moving around and tracking it. But we will add one more caveat- the robot is not programmed as you normally would program a robot. Instead, it has a program that is made completely of random numbers. What happens when you turn it on?
It is very unlikely that the robot's program will do much. But, once in a while, a program of random numbers will successfully make the robot move. In some cases the movement might bring the robot to light, and in most cases it will move at random.
How does this lead to a program?
In most cases it does not. But some FLOMs will move in a beneficial way. All the program does is determine which FLOMs got enough light to survive. All the FLOMs that do not are erased.
What does evolution have to do with this?
In the natural world, everything must find its own survival. In Evolve-A-Bot the FLOMs are made ten at a time, and therefore you have a higher chance of seeing some program do something that appears useful. At the end of a test run, it is likely that one or more FLOMs will have survived longer and we can assume that this is the result of their actions. Now we can choose the survivor we like and let it try again. With each test we mutate or slightly alter the FLOM's program at random and this may or may not produce a better program or longer life.
If we select simply for FLOMs that live longer, we will eventually end up with FLOMs that know exactly how to get to the light source. This is selective breeding and a restricted case of natural selection. It is the same method we used to create our food crops, our farm animals, and our various breeds of domestic animals such as dogs, cats, cows, and sheep.
What do we do with FLOMs then?
Once you have a FLOM that seems to perform well, you can save its program and put it in a virtual robot where it runs in an arena, testing the program. Successful tests will result in a robot that can locate light or heat sources, avoid dangers or obstacles, and follow simple instructions.
In the game, there are rogue machines in the warehouse. These programs give you more program instructions to use when you finally take control of the warehouse and its robots.
The programs can later be transferred into actual robots if they are equipped with the proper sensors and hardware.
(c) Program and all page contents copyright 2014 Charles and Elizabeth Shults