I was reading "Optical Recognition Systems" book and in chapter where methods for full genetic programming are described, a paper is describing an ADF (automatically defined functions) like this:

The ADFs have the terminal set Tf ={X, N, S, W, E, NE, NW, SE, SW} and the function set Ff = {AND, OR, NOT}. The main program has the terminal set Tc = {I, L, NIL} and a set of functions (Fc) containing movement functions, logical operators, four ADFs and the HOMING operator.

I am confused about the meaning of HOMING operator. An explanation or some links to point me in the right direction would be great.


The 1993 paper by John R. Koza (a pioneer of genetic programming), Simultaneous Discovery of Detectors and a Way of Using the Detectors via Genetic Programming, can be accessed on CiteSeer. The HOMING operator is described as:

The one-argument HOMING operator evaluates its argument and, in addition, has the side effect of rubber-banding the turtle to its position at the start of the evaluation of the HOMING. HOMING is equivalent to the brackets in a Lindenmayer system.

From my limited understanding, it is a formal programming operator, within which a certain number of instructions are performed (like motion to North, East, South-West, etc.). It memorizes some initial state (or bookmark), and returns to it when all inner instructions have been executed. In the paper context, it refers to a turtle moving from pixel to pixel to detect a letter in a pixel grid. At the end of its journey, the turtle shall go back to its original location (rubber-banding), or HOME.

Maybe the illustration of the bracket effect in an L-system (Lindenmayer system) given in section Turtle branching from Drawing simple generative organics with L-systems can help a bit:



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.