Designing X-Agents Using FLAME
45
where
• I is sequence of inputs to machine X,
• O is sequence of outputs of machine X,
• M is memory of machine X,
• S is sequence of states of machine X,
• F is set of functions (F : I × M −→ O × M ) of machine X,
• T is set of transitions (T : S × F −→ S) of machine X,
• IS is machine’s initial state X,
• IM S is machine’s initial memory state X.
Figure 3.2 describes a state and a corresponding X-machine state diagram,
for an ant which forages for food and travels back to the nest. Figure 3.2(a)
shows the state machine diagram having more number of states and transition
functions as comapred to the X-machine in Figure 3.2(b). The X-machine
can represent most of the complexity by functions acting to its memory, not
possible as a state model. The transitions between states are a result of these
functions and not conditions (which is seen in state machines).
The transition functions are also dependent on memory of the ant, being
updated whenever there is a change in state. The memory can contain information such as variables to ‘stay in nest’ or ‘move’ in ‘Moving Freely’ (Figure
3.2(b)).
Every state in an X-machine diagram shows the state of the memory. For
example, when the ant is ‘at-nest’, in the memory this is represented as the
nest coordinates. In this state, the ant can perform only certain functions
such as staying-at-nest, move, move to food or ignore food. Depending on
these functions, the ant can change its memory state, allowing another set of
functions to become available to the ant. It can decide to ‘look for food’, lift
food or get lost in the surroundings.
X-machines can represent more detailed agent descriptions, memory and
functions, more suitable to design computational agents and also based on
mathematical foundations. A basic definition of an agent A is
1. A finite set of internal states
2. A set of transition functions operating between states
3. An internal memory set which is finite
4. A language for sending and receiving messages between agents
A = (Σ, Γ, Q, M, Φ, F, q 0 , m 0 )
(3.2)
where
45
where
• I is sequence of inputs to machine X,
• O is sequence of outputs of machine X,
• M is memory of machine X,
• S is sequence of states of machine X,
• F is set of functions (F : I × M −→ O × M ) of machine X,
• T is set of transitions (T : S × F −→ S) of machine X,
• IS is machine’s initial state X,
• IM S is machine’s initial memory state X.
Figure 3.2 describes a state and a corresponding X-machine state diagram,
for an ant which forages for food and travels back to the nest. Figure 3.2(a)
shows the state machine diagram having more number of states and transition
functions as comapred to the X-machine in Figure 3.2(b). The X-machine
can represent most of the complexity by functions acting to its memory, not
possible as a state model. The transitions between states are a result of these
functions and not conditions (which is seen in state machines).
The transition functions are also dependent on memory of the ant, being
updated whenever there is a change in state. The memory can contain information such as variables to ‘stay in nest’ or ‘move’ in ‘Moving Freely’ (Figure
3.2(b)).
Every state in an X-machine diagram shows the state of the memory. For
example, when the ant is ‘at-nest’, in the memory this is represented as the
nest coordinates. In this state, the ant can perform only certain functions
such as staying-at-nest, move, move to food or ignore food. Depending on
these functions, the ant can change its memory state, allowing another set of
functions to become available to the ant. It can decide to ‘look for food’, lift
food or get lost in the surroundings.
X-machines can represent more detailed agent descriptions, memory and
functions, more suitable to design computational agents and also based on
mathematical foundations. A basic definition of an agent A is
1. A finite set of internal states
2. A set of transition functions operating between states
3. An internal memory set which is finite
4. A language for sending and receiving messages between agents
A = (Σ, Γ, Q, M, Φ, F, q 0 , m 0 )
(3.2)
where
