next up previous
Next: Results Up: HOW TO DO THE Previous: Mathematical Model

Example

This section illustrates the algorithm with a concrete, simple example. Later in the paper more interesting examples are discussed. The example is taken from the planning chapter of (Charniak & Mc Dermott, 1985). It involves a robot with two hands which has to spray-paint itself and sand a board. The task has some complexity to it. The robot has to coordinate the use of its hands or otherwise be clever enough to use a vise to hold the board and perform the jobs in parallel. Furthermore, it should perform the sanding of the board first, because once it has painted itself, it is no longer operational. The definition of the competence modules in terms of their precondition lists, add lists and delete lists is presented in figure 1.

  
Figure 1: Definition of the competence modules involved in the toy example.

On the basis of these definitions the spreading activation network in figure 2 is constructed. A possible solution to the problem would be to pick up the board, put it in the vise, pick up the sander, sand the board in the vise, pick up the sprayer and spray paint itself.

  
Figure 2: The spreading activation network for the toy example. The predecessor links (from a competence module to its predecessors) are shown as arrows (the symbol of an activation link). The conflicter links are shown as inhibition links (with a little circle at the end). The successor links are not shown (there is a successor link in the inverse direction for every predecessor link).

A (computer-) environment has been built in which the behavior of such a network of competence modules can be simulated. The program is written in Common LISP on a SYMBOLICS machine. Figure 3 shows a bitmap of the system simulating the network described above. The initial state of the environment is S(0) = (hand-is-empty, hand-is-empty, sander-somewhere, sprayer-somewhere, operational, board-somewhere), the initial goals are G(0) = (board-sanded, self-painted).

  
Figure 3: The user interface of the simulation environment. The upper pane is a menu of commands. It makes it possible to define a new network, to initialize the current network, to change the global parameters, to change the state of the environment, to change the goals of the network and to run or step through the behavior of a network. The left-hand panes display the parameters, the current state of the environment, the current goals of the network and the results of the simulation (among which is the list of activated modules). The right-hand panes display the activation levels of competence modules over time (the X-axis represents time, while the Y-axis displays the activation level). The little circles tell when a competence module has become active.

It is also possible to obtain a trace showing in detail how the spreading activation has evolved. In the remainder of this section, we study the trace of the experiment shown in figure 3 in order to explain its action selection behavior. The activation levels of the competence modules are initialized to zero. At time 1, the modules don't have any activation energy to spread yet, so there is only the input/output from the state and goals. Notice that SAND-BOARD-IN-HAND and SAND-BOARD-IN-VISE have to share the activation energy coming from the goal `board-sanded'.

TIME: 1

state of the environment: (HAND-IS-EMPTY HAND-IS-EMPTY SANDER-SOMEWHERE 
                          SPRAYER-SOMEWHERE OPERATIONAL BOARD-SOMEWHERE)
goals of the environment: (BOARD-SANDED SELF-PAINTED)
protected goals of the environment: NIL

state gives PICK-UP-SANDER an extra activation of 3.3333333
state gives PICK-UP-SPRAYER an extra activation of 3.3333333
state gives PICK-UP-BOARD an extra activation of 3.3333333
state gives PICK-UP-SANDER an extra activation of 10.0
state gives PICK-UP-SPRAYER an extra activation of 10.0
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PICK-UP-BOARD an extra activation of 10.0
goals give SAND-BOARD-IN-HAND an extra activation of 35.0
goals give SAND-BOARD-IN-VISE an extra activation of 35.0
goals give SPRAY-PAINT-SELF an extra activation of 70.0

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 0.0
   activation-level SPRAY-PAINT-SELF: 73.333336
   activation-level SAND-BOARD-IN-HAND: 37.22222
   activation-level SAND-BOARD-IN-VISE: 37.22222
   activation-level PICK-UP-SANDER: 13.333333
   activation-level PICK-UP-SPRAYER: 13.333333
   activation-level PICK-UP-BOARD: 13.333333
   activation-level PUT-DOWN-SPRAYER: 0.0
   activation-level PUT-DOWN-SANDER: 0.0
   activation-level PUT-DOWN-BOARD: 0.0

NO MODULE becoming active
threshold is lowered to 40.5

None of the executable modules has accumulated enough activation to become active. As a result the threshold is lowered by 10%. At time 2, the input/output from the state and goals is the same as at time 1 (not reprinted). Now there is also some spreading activation among modules. Notice that the modules that match the goals, SPRAY-PAINT-SELF, SAND-BOARD-IN-VISE and SAND-BOARD-IN-HAND spread backwards to their predecessors PICK-UP-SPRAYER, PICK-UP-SAN-DER, PICK-UP-BOARD, and PLACE-BOARD-IN-VISE to make their conditions true. So the false preconditions of the modules that achieve the goals are treated as `subgoals' by the algorithm.

In case there is only one predecessor for a false precondition, they increase that module's activation level with their own activation level. For example, PICK-UP-SPRAYER receives as much activation as what SPRAY-PAINT-SELF has, because it is the only module that achieves the precondition `sprayer-in-hand'. Notice further that SAND-BOARD-IN-HAND and SAND-BOARD-IN-VISE weaken SPRAY-PAINT-SELF because it deletes their precondition `operational'. Finally the executable modules, PICK-UP-SPRAYER, PICK-UP-SANDER and PICK-UP-BOARD activate their successors. This activation is less important than the backward spreading, because we want the impact of goals (and subgoals) to be greater than that of the state (and the `almost true propositions').

TIME: 2

state gives ...

PLACE-BOARD-IN-VISE spreads 0.0 backward to PICK-UP-BOARD for BOARD-IN-HAND
SPRAY-PAINT-SELF spreads 73.333336 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND spreads 37.22222 backward to PICK-UP-BOARD for BOARD-IN-HAND
SAND-BOARD-IN-HAND spreads 37.22222 backward to PICK-UP-SANDER for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 26.587301 for OPERATIONAL
SAND-BOARD-IN-VISE spreads 18.61111 backward to PLACE-BOARD-IN-VISE for BOARD-IN-VISE
SAND-BOARD-IN-VISE spreads 37.22222 backward to PICK-UP-SANDER for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 26.587301 for OPERATIONAL
PICK-UP-SANDER spreads 0.42328045 forward to SAND-BOARD-IN-HAND for SANDER-IN-HAND
PICK-UP-SANDER spreads 0.42328045 forward to SAND-BOARD-IN-VISE for SANDER-IN-HAND
PICK-UP-SANDER spreads 1.2698413 forward to PUT-DOWN-SANDER for SANDER-IN-HAND
PICK-UP-SPRAYER spreads 0.95238096 forward to SPRAY-PAINT-SELF for SPRAYER-IN-HAND
PICK-UP-SPRAYER spreads 1.9047619 forward to PUT-DOWN-SPRAYER for SPRAYER-IN-HAND
PICK-UP-BOARD spreads 1.2698413 forward to PLACE-BOARD-IN-VISE for BOARD-IN-HAND
PICK-UP-BOARD spreads 0.42328045 forward to SAND-BOARD-IN-HAND for BOARD-IN-HAND
PICK-UP-BOARD spreads 1.2698413 forward to PUT-DOWN-BOARD for BOARD-IN-HAND
PUT-DOWN-SPRAYER spreads 0.0 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
PUT-DOWN-SANDER spreads 0.0 backward to PICK-UP-SANDER for SANDER-IN-HAND
PUT-DOWN-BOARD spreads 0.0 backward to PICK-UP-BOARD for BOARD-IN-HAND

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 7.447046
   activation-level SPRAY-PAINT-SELF: 35.377182
   activation-level SAND-BOARD-IN-HAND: 28.202648
   activation-level SAND-BOARD-IN-VISE: 28.044096
   activation-level PICK-UP-SANDER: 37.874393
   activation-level PICK-UP-SPRAYER: 37.458195
   activation-level PICK-UP-BOARD: 23.931622
   activation-level PUT-DOWN-SPRAYER: 0.7134894
   activation-level PUT-DOWN-SANDER: 0.4756596
   activation-level PUT-DOWN-BOARD: 0.4756596

NO MODULE becoming active
threshold is lowered to 36.45

Again, none of the executable modules is activated enough to be selected. At time 3, the spreading activation patterns remain unchanged, except for the amounts of activation energy that are given or taken away by modules. In particular, PICK-UP-SPRAYER receives less activation from its successor SPRAY-PAINT-SELF, than what PICK-UP-SANDER receives from SAND-BOARD-IN-HAND and SAND-BOARD-IN-VISE together.

TIME: 3

state gives ...

PLACE-BOARD-IN-VISE spreads ...

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 9.699059
   activation-level SPRAY-PAINT-SELF: 29.082869
   activation-level SAND-BOARD-IN-HAND: 27.521559
   activation-level SAND-BOARD-IN-VISE: 27.146523
   activation-level PICK-UP-SANDER: 44.079823
   activation-level PICK-UP-SPRAYER: 32.721424
   activation-level PICK-UP-BOARD: 24.479343
   activation-level PUT-DOWN-SPRAYER: 2.4768724
   activation-level PUT-DOWN-SANDER: 1.6674367
   activation-level PUT-DOWN-BOARD: 1.1251152

module becoming active: PICK-UP-SANDER

The module PICK-UP-SANDER now has accumulated enough activation to become active. As a result the state changes, and thus also the input coming from the state and the internal spreading activation patterns. Notice that SAND-BOARD-IN-VISE and SAND-BOARD-IN-HAND now inhibit PUT-DOWN-SANDER to prevent it from undoing the precondition `sander-in-hand'. Notice also that PICK-UP-BOARD decreases the activation level of PICK-UP-SPRAYER for the precondition `hand-is-empty'. This inhibition will become stronger in time because SAND-BOARD-IN-VISE and SAND-BOARD-IN-HAND will be enforced since now more of their preconditions are true.

TIME: 4

state of the environment: (SANDER-IN-HAND HAND-IS-EMPTY SPRAYER-SOMEWHERE OPERATIONAL 
                          BOARD-SOMEWHERE)
goals of the environment: (BOARD-SANDED SELF-PAINTED)
protected goals of the environment: NIL

state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PUT-DOWN-SANDER an extra activation of 6.6666665
state gives PICK-UP-SANDER an extra activation of 3.3333333
state gives PICK-UP-SPRAYER an extra activation of 3.3333333
state gives PICK-UP-BOARD an extra activation of 3.3333333
state gives PICK-UP-SPRAYER an extra activation of 10.0
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PICK-UP-BOARD an extra activation of 10.0
goals give SAND-BOARD-IN-HAND an extra activation of 35.0
goals give SAND-BOARD-IN-VISE an extra activation of 35.0
goals give SPRAY-PAINT-SELF an extra activation of 70.0

PLACE-BOARD-IN-VISE spreads 9.699059 backward to PICK-UP-BOARD for BOARD-IN-HAND
SPRAY-PAINT-SELF spreads 29.082869 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND spreads 27.521559 backward to PICK-UP-BOARD for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-SANDER with 19.658257 for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 19.658257 for OPERATIONAL
SAND-BOARD-IN-VISE spreads 13.573261 backward to PLACE-BOARD-IN-VISE for BOARD-IN-VISE
SAND-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-SANDER with 19.390373 for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 19.390373 for OPERATIONAL
PICK-UP-SANDER spreads 0.0 backward to PUT-DOWN-SANDER for SANDER-SOMEWHERE
PICK-UP-SPRAYER spreads 2.3372447 forward to SPRAY-PAINT-SELF for SPRAYER-IN-HAND
PICK-UP-SPRAYER spreads 4.6744895 forward to PUT-DOWN-SPRAYER for SPRAYER-IN-HAND
PICK-UP-SPRAYER decreases (inhibits) PICK-UP-SANDER with 5.8431115 for HAND-IS-EMPTY
PICK-UP-SPRAYER decreases (inhibits) PICK-UP-BOARD with 5.8431115 for HAND-IS-EMPTY
PICK-UP-BOARD spreads 2.3313663 forward to PLACE-BOARD-IN-VISE for BOARD-IN-HAND
PICK-UP-BOARD spreads 0.7771221 forward to SAND-BOARD-IN-HAND for BOARD-IN-HAND
PICK-UP-BOARD spreads 2.3313663 forward to PUT-DOWN-BOARD for BOARD-IN-HAND
PICK-UP-BOARD decreases (inhibits) PICK-UP-SANDER with 4.3713117 for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 2.4768724 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
PUT-DOWN-SANDER spreads 0.23820525 forward to PICK-UP-SANDER for SANDER-SOMEWHERE
PUT-DOWN-BOARD spreads 1.1251152 backward to PICK-UP-BOARD for BOARD-IN-HAND

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 13.320736
   activation-level SPRAY-PAINT-SELF: 34.184002
   activation-level SAND-BOARD-IN-HAND: 35.24447
   activation-level SAND-BOARD-IN-VISE: 34.64504
   activation-level PICK-UP-SANDER: 0.12393018
   activation-level PICK-UP-SPRAYER: 40.380215
   activation-level PICK-UP-BOARD: 36.582684
   activation-level PUT-DOWN-SPRAYER: 3.720613
   activation-level PUT-DOWN-SANDER: 0.0
   activation-level PUT-DOWN-BOARD: 1.798291

NO MODULE becoming active
threshold is lowered to 40.5

At time 5, the spreading activation pattern is similar to that of time 4. The state and the goals spread activation to the same modules. Also modules keep spreading activation to the same modules, except that now the amounts they give and take away have changed (because the activation levels of the modules at time 4 are different from those at time 3).

TIME: 5

state gives ...

PLACE-BOARD-IN-VISE spreads ...

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 15.370311
   activation-level SPRAY-PAINT-SELF: 27.239319
   activation-level SAND-BOARD-IN-HAND: 34.161552
   activation-level SAND-BOARD-IN-VISE: 33.368526
   activation-level PICK-UP-SANDER: 0.0
   activation-level PICK-UP-SPRAYER: 41.26312
   activation-level PICK-UP-BOARD: 41.91644
   activation-level PUT-DOWN-SPRAYER: 4.2737665
   activation-level PUT-DOWN-SANDER: 0.027907925
   activation-level PUT-DOWN-BOARD: 2.379075

module becoming active: PICK-UP-BOARD

The module that becomes active is PICK-UP-BOARD. The state of the environment changes by the actions performed by this module, so that the input from the state and the internal spreading activation patterns are different at time 6.

TIME: 6

state of the environment: (BOARD-IN-HAND SANDER-IN-HAND SPRAYER-SOMEWHERE OPERATIONAL)
goals of the environment: (BOARD-SANDED SELF-PAINTED)
protected goals of the environment: NIL

state gives PLACE-BOARD-IN-VISE an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives PUT-DOWN-BOARD an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PUT-DOWN-SANDER an extra activation of 6.6666665
state gives PICK-UP-SPRAYER an extra activation of 10.0
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
goals give SAND-BOARD-IN-HAND an extra activation of 35.0
goals give SAND-BOARD-IN-VISE an extra activation of 35.0
goals give SPRAY-PAINT-SELF an extra activation of 70.0

PLACE-BOARD-IN-VISE spreads 0.7319196 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 0.7319196 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 0.7319196 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 1.4638392 forward to SAND-BOARD-IN-VISE for BOARD-IN-VISE
PLACE-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-BOARD with 10.978794 for BOARD-IN-HAND
SPRAY-PAINT-SELF spreads 27.239319 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PLACE-BOARD-IN-VISE with 12.200555 for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-BOARD with 12.200555 for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-SANDER with 24.40111 for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 24.40111 for OPERATIONAL
SAND-BOARD-IN-VISE spreads 16.684263 backward to PLACE-BOARD-IN-VISE for BOARD-IN-VISE
SAND-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-SANDER with 23.834661 for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 23.834661 for OPERATIONAL
PICK-UP-SANDER spreads 0.0 backward to PUT-DOWN-SANDER for SANDER-SOMEWHERE
PICK-UP-SANDER spreads 0.0 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 5.15789 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 5.15789 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 5.15789 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 5.15789 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.0 backward to PUT-DOWN-BOARD for BOARD-SOMEWHERE
PICK-UP-BOARD spreads 0.0 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.0 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.0 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.0 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 4.2737665 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
PUT-DOWN-SANDER spreads 0.0039868467 forward to PICK-UP-SANDER for SANDER-SOMEWHERE
PUT-DOWN-SANDER spreads 0.0013289489 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.0013289489 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.0013289489 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.3398679 forward to PICK-UP-BOARD for BOARD-SOMEWHERE
PUT-DOWN-BOARD spreads 0.1132893 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.1132893 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.1132893 forward to PICK-UP-BOARD for HAND-IS-EMPTY

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 18.660385
   activation-level SPRAY-PAINT-SELF: 30.829237
   activation-level SAND-BOARD-IN-HAND: 44.666897
   activation-level SAND-BOARD-IN-VISE: 43.753033
   activation-level PICK-UP-SANDER: 0.50100476
   activation-level PICK-UP-SPRAYER: 49.25829
   activation-level PICK-UP-BOARD: 0.6988567
   activation-level PUT-DOWN-SPRAYER: 5.5557523
   activation-level PUT-DOWN-SANDER: 3.0382743
   activation-level PUT-DOWN-BOARD: 3.0382743

NO MODULE becoming active
threshold is lowered to 40.5

Again the spreading activation patterns at time 7 are like those at time 6. In particular SAND-BOARD-IN-HAND will now have received enough activation from the state and the goals to become active. Notice that although PICK-UP-SPRAYER has a very high activation level, it does not become active because not all of its preconditions are fulfilled.

TIME: 7

state gives ...

PLACE-BOARD-IN-VISE spreads ...

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 19.967524
   activation-level SPRAY-PAINT-SELF: 21.800142
   activation-level SAND-BOARD-IN-HAND: 45.89835
   activation-level SAND-BOARD-IN-VISE: 45.175903
   activation-level PICK-UP-SANDER: 1.1233512
   activation-level PICK-UP-SPRAYER: 51.47401
   activation-level PICK-UP-BOARD: 1.2285371
   activation-level PUT-DOWN-SPRAYER: 6.3068533
   activation-level PUT-DOWN-SANDER: 3.486372
   activation-level PUT-DOWN-BOARD: 3.5389647

module becoming active: SAND-BOARD-IN-HAND

As a consequence the state and goals change. The only remaining goal to be achieved is `self-painted'. In order to do so, the robot has to free at least one hand. Notice that PICK-UP-SPRAYER spreads backwards to the modules that can achieve this, i.e., PLACE-BOARD-IN-VISE, PUT-DOWN-SANDER and PUT-DOWN-BOARD.

TIME: 8

state of the environment: (BOARD-SANDED BOARD-IN-HAND SANDER-IN-HAND SPRAYER-SOMEWHERE 
                          OPERATIONAL)
goals of the environment: (SELF-PAINTED)
protected goals of the environment: (BOARD-SANDED)

state gives PLACE-BOARD-IN-VISE an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives PUT-DOWN-BOARD an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PUT-DOWN-SANDER an extra activation of 6.6666665
state gives PICK-UP-SPRAYER an extra activation of 10.0
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
goals give SPRAY-PAINT-SELF an extra activation of 70.0

PLACE-BOARD-IN-VISE spreads 0.9508345 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 0.9508345 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 0.9508345 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PLACE-BOARD-IN-VISE spreads 1.901669 forward to SAND-BOARD-IN-VISE for BOARD-IN-VISE
PLACE-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-BOARD with 14.262517 for BOARD-IN-HAND
SPRAY-PAINT-SELF spreads 21.800142 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PLACE-BOARD-IN-VISE with 0.0 for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-BOARD with 0.0 for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-SANDER with 0.0 for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 0.0 for OPERATIONAL
SAND-BOARD-IN-VISE spreads 22.587952 backward to PLACE-BOARD-IN-VISE for BOARD-IN-VISE
SAND-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-SANDER with 32.2685 for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 32.2685 for OPERATIONAL
PICK-UP-SANDER spreads 0.5616756 backward to PUT-DOWN-SANDER for SANDER-SOMEWHERE
PICK-UP-SANDER spreads 0.1404189 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.1404189 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.1404189 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.1404189 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 6.4342513 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 6.4342513 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 6.4342513 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 6.4342513 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.61426854 backward to PUT-DOWN-BOARD for BOARD-SOMEWHERE
PICK-UP-BOARD spreads 0.15356714 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.15356714 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.15356714 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.15356714 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 6.3068533 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
PUT-DOWN-SANDER spreads 0.49805316 forward to PICK-UP-SANDER for SANDER-SOMEWHERE
PUT-DOWN-SANDER spreads 0.16601773 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.16601773 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.16601773 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.5055664 forward to PICK-UP-BOARD for BOARD-SOMEWHERE
PUT-DOWN-BOARD spreads 0.16852213 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.16852213 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 0.16852213 forward to PICK-UP-BOARD for HAND-IS-EMPTY

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 37.119087
   activation-level SPRAY-PAINT-SELF: 41.70643
   activation-level SAND-BOARD-IN-HAND: 4.422858
   activation-level SAND-BOARD-IN-VISE: 34.181183
   activation-level PICK-UP-SANDER: 1.9284406
   activation-level PICK-UP-SPRAYER: 60.28337
   activation-level PICK-UP-BOARD: 2.0032084
   activation-level PUT-DOWN-SPRAYER: 8.647854
   activation-level PUT-DOWN-SANDER: 4.8363376
   activation-level PUT-DOWN-BOARD: 4.8712296

NO MODULE becoming active
threshold is lowered to 40.5

At time 9 till 17 the activation patterns remain the same. SPRAY-PAINT-SELF accumulates activation coming from the goals and spreads this activation further towards its only predecessor, namely PICK-UP-SPRAYER. PICK-UP-SPRAYER spreads the received activation further backwards towards the modules that can make its precondition `hand-is-empty' true. Because there are many such modules, it takes some time before one of them is selected.

TIME: 17

state gives ...

PLACE-BOARD-IN-VISE spreads ...

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 17.6625
   activation-level SPRAY-PAINT-SELF: 61.41764
   activation-level SAND-BOARD-IN-HAND: 6.4295135
   activation-level SAND-BOARD-IN-VISE: 6.108067
   activation-level PICK-UP-SANDER: 2.5221777
   activation-level PICK-UP-SPRAYER: 79.323494
   activation-level PICK-UP-BOARD: 2.2743216
   activation-level PUT-DOWN-SPRAYER: 10.060002
   activation-level PUT-DOWN-SANDER: 8.496746
   activation-level PUT-DOWN-BOARD: 5.7055316

module becoming active: PLACE-BOARD-IN-VISE

Finally PLACE-BOARD-IN-VISE becomes active, and makes one hand free. As a result PICK-UP-SPRAYER (which had already accumulated enough activation) is executable.

TIME: 18

state of the environment: (HAND-IS-EMPTY BOARD-IN-VISE BOARD-SANDED SANDER-IN-HAND 
                          SPRAYER-SOMEWHERE OPERATIONAL)
goals of the environment: (SELF-PAINTED)
protected goals of the environment: (BOARD-SANDED)

state gives PICK-UP-SANDER an extra activation of 3.3333333
state gives PICK-UP-SPRAYER an extra activation of 3.3333333
state gives PICK-UP-BOARD an extra activation of 3.3333333
state gives SAND-BOARD-IN-VISE an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PUT-DOWN-SANDER an extra activation of 6.6666665
state gives PICK-UP-SPRAYER an extra activation of 10.0
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
goals give SPRAY-PAINT-SELF an extra activation of 70.0

PLACE-BOARD-IN-VISE spreads 0.0 backward to PICK-UP-BOARD for BOARD-IN-HAND
SPRAY-PAINT-SELF spreads 61.41764 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND spreads 6.4295135 backward to PICK-UP-BOARD for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-SANDER with 4.5925097 for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 4.5925097 for OPERATIONAL
SAND-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-SANDER with 4.362905 for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 4.362905 for OPERATIONAL
PICK-UP-SANDER spreads 1.2610888 backward to PUT-DOWN-SANDER for SANDER-SOMEWHERE
PICK-UP-SANDER decreases (inhibits) PICK-UP-BOARD with 0.45038888 for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 5.665964 forward to SPRAY-PAINT-SELF for SPRAYER-IN-HAND
PICK-UP-SPRAYER spreads 11.331928 forward to PUT-DOWN-SPRAYER for SPRAYER-IN-HAND
PICK-UP-SPRAYER decreases (inhibits) PICK-UP-SANDER with 14.16491 for HAND-IS-EMPTY
PICK-UP-SPRAYER decreases (inhibits) PICK-UP-BOARD with 14.16491 for HAND-IS-EMPTY
PICK-UP-BOARD spreads 1.1371608 backward to PUT-DOWN-BOARD for BOARD-SOMEWHERE
PUT-DOWN-SPRAYER spreads 10.060002 backward to PICK-UP-SPRAYER for SPRAYER-IN-HAND
PUT-DOWN-SANDER spreads 1.2138209 forward to PICK-UP-SANDER for SANDER-SOMEWHERE
PUT-DOWN-BOARD spreads 5.7055316 backward to PICK-UP-BOARD for BOARD-IN-HAND

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 0.0
   activation-level SPRAY-PAINT-SELF: 71.77567
   activation-level SAND-BOARD-IN-HAND: 5.936989
   activation-level SAND-BOARD-IN-VISE: 9.401367
   activation-level PICK-UP-SANDER: 0.6627248
   activation-level PICK-UP-SPRAYER: 89.61452
   activation-level PICK-UP-BOARD: 3.1151197
   activation-level PUT-DOWN-SPRAYER: 11.679616
   activation-level PUT-DOWN-SANDER: 4.077989
   activation-level PUT-DOWN-BOARD: 3.7359893

module becoming active: PICK-UP-SPRAYER

And finally, the module SPRAY-PAINT-SELF (which also already had accumulated enough activation) becomes executable and is selected.

TIME: 19

state of the environment: (SPRAYER-IN-HAND BOARD-IN-VISE BOARD-SANDED SANDER-IN-HAND OPERATIONAL)
goals of the environment: (SELF-PAINTED)
protected goals of the environment: (BOARD-SANDED)

state gives SPRAY-PAINT-SELF an extra activation of 5.0
state gives PUT-DOWN-SPRAYER an extra activation of 10.0
state gives SAND-BOARD-IN-VISE an extra activation of 6.6666665
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
state gives PUT-DOWN-SANDER an extra activation of 6.6666665
state gives SPRAY-PAINT-SELF an extra activation of 3.3333333
state gives SAND-BOARD-IN-HAND an extra activation of 2.2222223
state gives SAND-BOARD-IN-VISE an extra activation of 2.2222223
goals give SPRAY-PAINT-SELF an extra activation of 70.0

PLACE-BOARD-IN-VISE spreads 0.0 backward to PICK-UP-BOARD for BOARD-IN-HAND
SPRAY-PAINT-SELF decreases (inhibits) PUT-DOWN-SPRAYER with 51.268337 for SPRAYER-IN-HAND
SAND-BOARD-IN-HAND spreads 5.936989 backward to PICK-UP-BOARD for BOARD-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) PUT-DOWN-SANDER with 4.2407064 for SANDER-IN-HAND
SAND-BOARD-IN-HAND decreases (inhibits) SPRAY-PAINT-SELF with 4.2407064 for OPERATIONAL
SAND-BOARD-IN-VISE decreases (inhibits) PUT-DOWN-SANDER with 6.7152624 for SANDER-IN-HAND
SAND-BOARD-IN-VISE decreases (inhibits) SPRAY-PAINT-SELF with 6.7152624 for OPERATIONAL
PICK-UP-SANDER spreads 0.3313624 backward to PUT-DOWN-SANDER for SANDER-SOMEWHERE
PICK-UP-SANDER spreads 0.0828406 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0828406 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0828406 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SANDER spreads 0.0828406 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 0.0 backward to PUT-DOWN-SPRAYER for SPRAYER-SOMEWHERE
PICK-UP-SPRAYER spreads 0.0 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 0.0 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 0.0 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-SPRAYER spreads 0.0 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PICK-UP-BOARD spreads 1.5575598 backward to PUT-DOWN-BOARD for BOARD-SOMEWHERE
PICK-UP-BOARD spreads 0.38938996 backward to PLACE-BOARD-IN-VISE for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.38938996 backward to PUT-DOWN-SPRAYER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.38938996 backward to PUT-DOWN-SANDER for HAND-IS-EMPTY
PICK-UP-BOARD spreads 0.38938996 backward to PUT-DOWN-BOARD for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 1.6685166 forward to PICK-UP-SPRAYER for SPRAYER-SOMEWHERE
PUT-DOWN-SPRAYER spreads 0.5561722 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 0.5561722 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-SPRAYER spreads 0.5561722 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.5825699 forward to PICK-UP-SANDER for SANDER-SOMEWHERE
PUT-DOWN-SANDER spreads 0.19418997 forward to PICK-UP-SANDER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.19418997 forward to PICK-UP-SPRAYER for HAND-IS-EMPTY
PUT-DOWN-SANDER spreads 0.19418997 forward to PICK-UP-BOARD for HAND-IS-EMPTY
PUT-DOWN-BOARD spreads 3.7359893 backward to PICK-UP-BOARD for BOARD-IN-HAND

activation-levels of modules after decay:
   activation-level PLACE-BOARD-IN-VISE: 0.47223055
   activation-level SPRAY-PAINT-SELF: 139.15305
   activation-level SAND-BOARD-IN-HAND: 10.3814335
   activation-level SAND-BOARD-IN-VISE: 20.512478
   activation-level PICK-UP-SANDER: 1.995657
   activation-level PICK-UP-SPRAYER: 2.4188788
   activation-level PICK-UP-BOARD: 13.538461
   activation-level PUT-DOWN-SPRAYER: 0.47223055
   activation-level PUT-DOWN-SANDER: 0.8035929
   activation-level PUT-DOWN-BOARD: 5.76578

module becoming active: SPRAY-PAINT-SELF



next up previous
Next: Results Up: HOW TO DO THE Previous: Mathematical Model



Alexandros Moukas
Wed Feb 7 14:24:19 EST 1996