28
X-Machines for Agent-Based Modeling: FLAME Perspectives
introduced the criteria of a ‘gene’ in evolutionary terms that can be
modified in computations. Genes can be defined in various ways such
as single alleles, like the ATGC in a human gene with four alleles. For
example, Figure 2.6 depicts a computer program represented as a tree
structure and a string vector.
t e s t 1 t e s t 2 t e s t 3 a c t 1
a c t 2
a c t 3
t e s t 1
t e s t 2
t e s t 3
a c t 1
a c t 2
a c t 3
T r e e s t r u c t u r e
S t r i n g s t r u c t u r e
FIGURE 2.6: Program represented as a tree and a string. cf. [50].
Another view is of Mayr’s [129], where the author describes evolution
as an optimization process, where through learning the system gets progressively better. However, evolution involves alot of trial and error, with
new generations having better chances of survival in new conditions.
Synchronization and memory. Gilbert and Terna [73] represented objectoriented languages with efficient memory management and time scheduling to model agents. As stated “with such high-level tools, events are
treated as objects, scheduling them in time-sensitive widgets (such as
action-groups).” Objects can be tagged with time stamps for execution.
Different agent-based modeling frameworks handle synchronization
problems differently. For example, SWARM updates its environment
every time an agent does something. While, FLAME waits until the end
of an iteration to update changes.
Event-driven versus time-driven. Simulation can either be an eventdriven or time-driven. The event-driven approach allows a time step
to be updated after any event is triggered. Event-driven agent-based
model is a model where changes in state of the system is defined by certain events. For example, an agent becomes active or inactive, depending
on memory variables, denoting a progression in the system.
A time-driven system is determined by specific time lengths, which contain a number of actions performed within a time frame. An agent is
required to finish all actions during that time step for the system to
move forward.
X-Machines for Agent-Based Modeling: FLAME Perspectives
introduced the criteria of a ‘gene’ in evolutionary terms that can be
modified in computations. Genes can be defined in various ways such
as single alleles, like the ATGC in a human gene with four alleles. For
example, Figure 2.6 depicts a computer program represented as a tree
structure and a string vector.
t e s t 1 t e s t 2 t e s t 3 a c t 1
a c t 2
a c t 3
t e s t 1
t e s t 2
t e s t 3
a c t 1
a c t 2
a c t 3
T r e e s t r u c t u r e
S t r i n g s t r u c t u r e
FIGURE 2.6: Program represented as a tree and a string. cf. [50].
Another view is of Mayr’s [129], where the author describes evolution
as an optimization process, where through learning the system gets progressively better. However, evolution involves alot of trial and error, with
new generations having better chances of survival in new conditions.
Synchronization and memory. Gilbert and Terna [73] represented objectoriented languages with efficient memory management and time scheduling to model agents. As stated “with such high-level tools, events are
treated as objects, scheduling them in time-sensitive widgets (such as
action-groups).” Objects can be tagged with time stamps for execution.
Different agent-based modeling frameworks handle synchronization
problems differently. For example, SWARM updates its environment
every time an agent does something. While, FLAME waits until the end
of an iteration to update changes.
Event-driven versus time-driven. Simulation can either be an eventdriven or time-driven. The event-driven approach allows a time step
to be updated after any event is triggered. Event-driven agent-based
model is a model where changes in state of the system is defined by certain events. For example, an agent becomes active or inactive, depending
on memory variables, denoting a progression in the system.
A time-driven system is determined by specific time lengths, which contain a number of actions performed within a time frame. An agent is
required to finish all actions during that time step for the system to
move forward.
