20
X-Machines for Agent-Based Modeling: FLAME Perspectives
(a) State machine model.
(b) X-machine model with added memory.
FIGURE 2.3: State and X-machine diagrams.
Based on the push-down automata theory, a number of computational
methods carry a resemblance to Turing machines. For instance, if there was
no input tape, and number of states was finite, such a machine would become
a finite state machine (Figure 2.3(a)). If the states were added with memory,
the machines would then become an X-machine (Figure 2.3(b)). Each machine
model carries its own properties and varies in computational power by kind
of problems it can solve.
Each of the machine models are useful methods by which behavior can be
defined. Transition functions, from one state to another, define these complex
functions for representing behavior. When self-replicating notions were introduced, Fogel proposed using evolutionary programming techniques to operate
on finite state machines to create new finite state machines. Fogel [64, 65]
proposed a method by which new machines would ‘evolve’ more suited to
environment than initial machine configurations. Fogel’s work concentrated
more on evolution of complete programs, whereas Koza et al. [110] focused on
branches within the program to evolve. The following steps can help develop
new evolving machines:
1. Create a population of finite state machines.
X-Machines for Agent-Based Modeling: FLAME Perspectives
(a) State machine model.
(b) X-machine model with added memory.
FIGURE 2.3: State and X-machine diagrams.
Based on the push-down automata theory, a number of computational
methods carry a resemblance to Turing machines. For instance, if there was
no input tape, and number of states was finite, such a machine would become
a finite state machine (Figure 2.3(a)). If the states were added with memory,
the machines would then become an X-machine (Figure 2.3(b)). Each machine
model carries its own properties and varies in computational power by kind
of problems it can solve.
Each of the machine models are useful methods by which behavior can be
defined. Transition functions, from one state to another, define these complex
functions for representing behavior. When self-replicating notions were introduced, Fogel proposed using evolutionary programming techniques to operate
on finite state machines to create new finite state machines. Fogel [64, 65]
proposed a method by which new machines would ‘evolve’ more suited to
environment than initial machine configurations. Fogel’s work concentrated
more on evolution of complete programs, whereas Koza et al. [110] focused on
branches within the program to evolve. The following steps can help develop
new evolving machines:
1. Create a population of finite state machines.
