A network only looks ahead in a local neighborhood (in time) which is
determined by the threshold . The behavior can be made
more or less thoughtful by increasing the threshold
. This
makes the spreading activation process go on for a longer time
before a specific action is selected. As such, it allows the network to look
ahead further, thereby avoiding local maxima (in time) of activation levels.
For example, in the blocks-world example above, the module `stack-a-on-b'
initially has the highest activation level (since it receives direct
input from both the state and the goals). The threshold has to be put high
enough to avoid that this module is chosen right away, so that the network
can go on taking into account the conflicts among modules.
Ideally, we would like to set the threshold to a very high value (for example equal to the total activation of the whole network). This would guarantee that the spreading activation process goes on long enough so that the `optimal' action can be selected. The problems with putting the threshold high are first, that the action selection process would require too much time (especially for an agent operating in a rapidly changing environment) and second, that the result would be that the agent would get bogged down trying to take into account the effects of actions it might take in the far future. This is most probably a wasted effort in an unpredictable environment. Therefore we do want the agent only to look ahead in a near future. The desired amount of looking ahead for a particular application can be obtained by choosing a proper value for the threshold.