Professional Documents
Culture Documents
Abstract
Conventional tracking technology depends on regular acquisition of the object of interest, and is of
little use when location data is sparse. The context of an object constrains its movement, allowing
prediction of its possible future locations even when its current location is not known.
Conventional tracking methods either use an impoverished distributional model of the objects dy-
namics, or require advance knowledge of its location and objectives. SPRING (Swarming Predictive
Inference for Geospace) uses a biologically-inspired constructive approach. An innovative multi-agent
search algorithm generates possible trajectories for an object moving on land. It represents the ob-
ject by hundreds or thousands of agents, each sampling different starting points, objectives, and de-
tails of the terrain. These agents generate the probability of finding the object at a given location in
space and time.
1 Introduction
A critical function in many domains is tracking an object of interest. The object might be a terrorist
suspect in the mountains of Afghanistan, or a panther roaming through suburban areas in southeast
Michigan,1 or a lost hiker in a wilderness region. Tracking an object of interest that is periodically re-
ported by sensors is a commodity capability. But surveillance assets are expensive, and allocating
them efficiently to detect an object of unknown location is an unsolved problem. In some cases,
sensors may simply not be available.
SPRING addresses such challenges with two core insights: contextual constraints and parallel
constructive modeling of alternative futures.
The first insight is that even when we do not know an objects exact location, the objects context
may constrain its movement, identifying regions in which it is likely to be found. For example: weath-
er, currents, fuel limitations, and commercial airline and shipping routes greatly limit the movement
of an object through the air and at sea; terrain features constrain movement on the ground. Some-
times the entity may adapt to changed context, as when a person travels by foot over off-road ter-
rain, then catches a bus or jitney upon reaching a road.
The second insight is that in the absence of sensor hits, bottom-up parallel constructive modeling of
alternative futures can estimate the objects possible locations more accurately than top-down statis-
tical methods, and faster (by leveraging biologically based algorithms). SPRING shifts the focus in
location estimation away from abstract distributions, managed with an eye to computational conven-
ience, and toward the concrete behavior of the object itself.
Section 2 reviews the state of the art in tracking. Section 3 outlines the theory behind SPRING.
Section 4 describes SPRINGs behavior representation language, and Section 5 summarizes the
functionality of the current SPRING prototype.
2 State-Of-The-Art
We begin our survey with a general mathematical framework applicable to any location prediction
method. We discuss the limitations of the most successful current tracking approach, Bayesian filter-
ing. Then we discuss two constructive models of object dynamics (field-based and graph-based), and
their limitations, and outline how SPRING applies them.
1
http://www.michigancougar.com/black.htm
1
Parunak, SPRING
2
Parunak, SPRING
that are in the field. Analogously, computational potential fields define the movement of objects
(though in this case the force must be defined computationally rather than resulting from primitive
physical interactions). These methods originated with the work of Khatib in 1980 [18] and have been
extensively refined through the years, primarily in planning paths for robots operating in open envi-
ronments. Numerous innovations have been made both in defining the potential field on the basis
of the obstacles, and in defining the movement of the object in response to the local field. In partic-
ular, non-conservative fields can be defined that permit kinds of movement (e.g., rotational) that are
not possible with real physical potentials.
Graph-based methods are appropriate when the areas in which the object can move are highly re-
stricted, and everything else is an obstacle. The classic example is route planning for cars and trucks,
which are usually constrained to road networks. Mathematically, these networks form graphs, and
the problem then becomes finding paths on the graph that satisfy certain properties (such as short-
est distance, or least congestion). Much of the work in this area is based on Dijkstras algorithm [8]
for the shortest path through a weighted graph, or its enhancement, A* search [12]. The navigation
programs available in modern cars and in Google Maps are based on graph-based route planning.
Both field-based methods (for limited obstacles) and graph-based methods (for limited roads)
operate from the point of view of the object, seeking to move in a rational way (not collide with ob-
stacles; satisfy conditions on time and distance of travel). There are two challenges in applying these
methods directly to geospatial predictive inferencing.
First, the object is presumed to know its current location, its movement resources, and the desti-
nation to which it is moving. In our problem, we know none of these factors. Without knowing the
objects resources, we cant tell whether a field-based or a graph-based approach would be more ap-
propriate. Without knowing its current location and proposed destination, neither of these methods
can tell us how the object will move.
Second, from the perspective of the object, it needs only a single path, with some assurance that
it is better than the alternatives. It knows its own objectives, and can use search methods such as
dynamic programming or A* that explore only a fraction of the search space by heuristically pruning
regions likely to be of low value. In our problem, we do not know the objects objectives. We would
like a distribution over the entire space, such as the Bel(xt) produced by Bayesian filtering (but with-
out the loss of information imposed by the assumptions of Markovian dynamics and tractable distri-
butions).
3 Theory
of
SPRING
We review the SPRING concept, then give a detailed technical description and review the overall
3
Parunak, SPRING
4
Parunak, SPRING
5
Parunak, SPRING
and is currently the engine behind the most successful computer programs for playing Go [2,6]. At
each move in a game, a player faces several choices, or branches in the tree. Each of these leads to
several choices by the opponent, to each of which the first player can respond, and so forth. Such
trees grow very rapidly. In making a choice, a player would like to explore every possible sequence
of moves that could result from that choice, but because of the size of the tree, this exhaustive
search is not feasible. The tree is large, but it is also constrained, because the moves available at each
point are limited by the current state of the board and the rules of the game. MCTS recommends a
move from a given point by sending multiple agents to explore the further branches. It uses more
agents than there are immediate options for a move, but still far fewer than the possible paths
through the tree. At each point, each agent chooses randomly from the legal moves open to it, with
weights determined by simple heuristics. When it reaches the end of the game, it reports back the
score it achieved. The algorithm then selects the immediate move that had the most agents reporting
victory for the player.
Swarming resembles MCTS because the individual agents make multiple decisions without senso-
ry input, and without complex reasoning, based only on local constraints (board state and game rules
in Go, features of the objects context in SPRING). In some implementations of swarming predic-
tion, agents paths are weighted based on the outcome they achieve, just as MCTS agents report the
final scores they realized. The SPRING prototype will not include score reporting, but it is one di-
rection for further refinement.
Swarming predicts by representing the context as fields over the terrain, and repeatedly updating
the location of each agent based on the field values at its current location. Each agent chooses its di-
rection of movement stochastically, weighted by a combination of the attractive and repulsive fields
in each adjacent cell. It chooses the length of its step by the features of the terrain (e.g., it moves
more slowly over steep gradients than over shallow ones, and more rapidly over roads than over
fields covered with scrub).
SPRING produces reasonable predictions in the absence of any surveillance information. How-
ever, its architecture (though not the current prototype) can also update based on surveillance input.
If input is available sporadically, the architecture uses it asynchronously to locate the rebirth of
agents [26]. The system need not wait for sensory input, but uses it when available.
In a setting in which input is available more frequently, SPRINGs underlying polyagent engine
can evolve the behavior models of agents based on their recently observed actions [28].
A realistic object might have a complex movement plan, perhaps including walking through re-
mote areas to reach a road, then riding on a wheeled vehicle to an airport in order to leave the coun-
try. Different segments of such a plan may require different predictive modalities (e.g., field-based
swarming for open terrain; graph search for roads). SPRINGs cognitive generator can furnish each
agent with a behavioral template that al-
lows it to change its behavior as it moves
from one domain to another. We use the
Soar cognitive architecture [19], which can
encode and execute decision processes
that realistically mimic human thought.
For example, consider an object be-
lieved to be located within the dark blue
polygon in Figure 1, with an hypothesized
objective of leaving the country. Yellow
lines are major roads, regularly traveled by
cars and busses. Light blue lines are dirt
tracks accessible to four-wheel drive vehi- Figure 1: Illustration of Cognitive Planning
6
Parunak, SPRING
cles and ox-carts. The green star marks an international airport, while the red star marks a military
base controlled by forces hostile to the object. Given the starting polygon and the objective leave
the country, the generator might yield templates that bias agents to move by foot to a dirt track,
continue to move by foot at higher speed to get to a main road, then hitch a ride to the airport, but
stay away from the hostile base. An agent with this plan will change its behavior, and possibly the
prediction engine that drives it, as it moves from one stage to another of this plan.
To demonstrate the feasibility of cognitive coordination of different movement segments, the
SPRING prototype will incorporate distinct agent behaviors for open terrain and paved roads, and a
template generator based on Soar to demonstrate switching between them.
SPRING offers a fundamentally new capability in tracking: faster-than-real-time estimation of an
objects context-constrained movements in a surveillance-impoverished environment. Todays dom-
inant tracking technology (Bayesian inference) requires regular updates to correct errors from its
simplistic prediction methods, while more sophisticated path predictors (whether field-based or
graph-based) require specified start and end points, and predict only one path per start-end pair.
SPRING does not require updates (though it can use them if they are available). It works with start
and end regions rather than points, regions that can be very broad (e.g., destination is move
south), and even with the same start and end points, its stochastic mechanisms will sample alterna-
tive routes that the object may follow. The agents simple decision logic lets them run very rapidly,
executing thousands of times faster than real time.
Two important aspects of performance are execution speed and predictive accuracy.
Speed Performance: Our previous work offers encouraging speed results. In our implementations
to this point, we divide the total prediction period into a series of epochs, and each agent makes one
decision per epoch. In the DARPA RAID program, epochs were one minute long, and we looked
60 minutes into the future. In DeepGreen, epochs were on the order of 30 minutes, and we looked
ahead 24 hours. (More decisions per epoch may be needed for longer epochs.) On stock WinTel
platforms current in 2005, we were able to execute the decision cycle for 24,000 agents in less than
one second, so our agents moved through time about 100x faster than the wall clock. Those 24,000
agents represented 100 distinct entities, looking at 240 different futures for each one. For a single
object, with 240 agents, we would be running 10,000x faster than the wall clock for 60 second
epochs, and even faster for longer epochs. These figures reflect the performance of single-processor
machines in 2006. In addition to hardware speed improvements since then, our swarming algorithm
lends itself to a parallel implementation on an architecture such as a GPGPU. Each agent interacts
only with a limited neighborhood, so the map could be distributed across multiple processors, allow-
ing many agents to execute at once.
Accuracy Performance: We have concrete indications of accuracy from two applications: predict-
ing locations of enemy forces at the company level in the DARPA RAID program, and predicting
locations of IEDs based on past events under JIEDDO and ONR funding. This experience suggests
two useful accuracy metrics for SPRING: CEP and probability landscape.
In RAID, our predictions on human-staffed wargames were compared with a game-theoretic de-
tector, a statistical (Bayesian) predictor, and the estimates of military officers with combat experi-
ence. Our locational accuracy dominated all of them [24], as measured by CEP (circular error prob-
able), the radius of a circle around each prediction large enough so that together the circles enclose
50% of the actual objects being predicted. The prediction in this case is the high point of the
probability field generated by the agents representing an object. As envisioned, SPRING will be
predicting the location of a single object instead of the 100 being predicted in RAID, so the 50%
would have to be computed over successive trials of the system instead of over multiple objects in a
single trial. Alternatively, we could simply report the distance from the high point of the predictive
field to the object. In both cases, small numbers indicate more accurate prediction.
7
Parunak, SPRING
8
Parunak, SPRING
2
Its behavior may also include updating its local state and augmenting certain fields at its current lo-
cation, for example, a Presence field to indicate its presence, or a WeaponsFire field if it decides to fire a
weapon. Each such action decision is a separate function of its environmental fields and its own
state.
3
In the prototype, we do not distinguish between detection by friendly vs. adversarial agents. One
could imagine another priority, partisanship, which would indicate how sensitive the agent is to the
alliance of other agents. To make use of this, we would include fields that distinguish between
friendly and adversarial features (e.g., in terms of buildings).
4
This could be generalized to a compass heading, but with some care because of the step disconti-
nuity in going from 359 to 0
9
Parunak, SPRING
stamina.A ratio value, the agents current energy level. This is decremented as a function of
the agents movement, and (F: max meters traveled w/o rest)
travel-modality.A subset of the nominal values {foot, car, boat}, indicating the forms of travel
available to the agent. The agent is presumed to use the modality most appropriate for its
current terrain.
max-speed.X.A ratio value, the maximum speed in m/s that the agent can achieve with a
given X travel-modality.
The current prototype does not implement internal state variables.
Behavioral Parameters. An agents behavior depends on the local environmental fields that it
senses, and the weights it applies to each in its combining function.
Scalar fields on the map include the following:
Steepness (absolute terrain gradient, in meters of elevation change/kilometer).
Elevation (in meters)
Latitude (in degrees)
Longitude (in degrees)
GroundCover.trees (from 0 to 1)
GroundCover.water (from 0 to 1)
GroundCover.rocks (from 0 to 1)
DistanceToBuilding (in meters)
DistanceToRoad (in meters)
DistanceToReach.X (in meters -- X is a region name)
DistanceToLeave.X (in meters -- Y is a region name)
The agents external state is the field vector at its current location, and is to be contrasted with its
internal state, which is given by its personality traits.
Let X be the set of field types in Section Error! Reference source not found., and vxi the value
of field type x X at cell i. For each field type x X, an agent has a weight wx (-, ). The agent
computes a score for each cell i in its Moore neighborhood,
Equation 3
! = ! !"
!!
where we abuse the gradient notation to indicate the component of the gradient in the direction
from the agents current location to the cell under consideration. A common refinement is to restrict
weights to a range, WLOG (-1, 1), by passing them through a logistic function w = f(w), for exam-
ple,
Equation 4
2
= 1
1 + !!"
where controls the steepness of the logistic function. We may also modify vxi with a nonlinear
function (current options include Tanh, Max, Min, Abs, Inverse, Power, and Abs),
either before or after taking the gradient. For instance, an agent might safely ignore distance to a re-
mote threat, but pay increasing attention to it as it gets closer. Equation 3 simply computes the gra-
dient of the distance field, which is a constant, no matter how far the agent is from the target.
By applying the (say) Tanh transformation to the distance field before taking the gradient (and
adjusting the weight to account for the constant generated by the gradient operator), we can allow
10
Parunak, SPRING
the gradient itself to be strong close to the target, but close to 0 far away.
Then the agents next step is chosen from among the nine cells in its Moore neighborhood,
where the probability of choosing cell i is drawn from a Boltzmann distribution,
Equation 5
!!!!
!!!!
!
where can be varied to tune from uniform selection over the options (when = 0) to determinis-
tic selection of the cell with the largest score (as ).
To accommodate agents moving at different speeds, consider the basic execution loop for the
system as a whole:
Select5 agent
WITH selected agent
Choose next cell
Move to next cell
Update traits
HTIW
There are various ways to modify this scheme to support agents with different speeds. All of
them depend on quantizing the range of agent speeds so that each agents speed is an integer k [1,
n].
1. In RAID, we modified Choose next cell to include cells up to k steps away from the
agents current location. The disadvantage of this approach is that the agent skips over interme-
diate cells and the information they contain.
2. The agent loop k times before selecting the next agent:
Select agent
WITH selected agent
FOR i = 0; i < k; i++
Choose next cell
Move to next cell
Update traits
ROF
HTIW
Now the agent covers intervening cells, but we reduce the asynchroniety across agents.
3. In Select agent, select agents randomly, but nonuniformly, with each agents probability of
selection proportional to its speed. Now agents continue to interleave their execution, but on
average faster agents are selected more often and thus move farther.
Our task now is to derive the weights wx from the personality parameters.
5
The simplest approach is round-robin scheduling (picking agents in a fixed order), which can gen-
erate artifacts [14]. Shift scheduling, in which agents are sampled randomly without replacement in
each shift, avoids these artifacts without distorting time across agents, since each agent is never more
than one shift off from the state of the other agents. Simple random sampling with replacement is
simpler, and in many cases gives adequate results.
11
Parunak, SPRING
medium 1, high 2), then let each weight be a linear combination of the priorities. That is, set
R = (avoid-detection, achieve-objective-quickly, conserve-energy)T
A = a scalar matrix with three columns and as many rows as there are relevant fields (which
depends on how many objectives the agent has).6
The values in each row of A indicate how relevant that priority is to that row. Then the weight
vector W is given by the matrix multiplication
Equation 6
=
For example, consider the rows in A for DistanceToRoad and TimeToReach.X, where X is the
agents reach-region objective. Reasonable values for these rows
might be as in Table 2. A positive weight leads the agent to de- Table 2: Example rows in lin-
scend the gradient, preferring to move toward lower field values, ear mapping matrix
while a negative weight leads the agent to ascend the gradient, DistanceToRoad -0.4 0.4 0.2
toward higher field values. TimeToReach.goal 0 1 0
Now consider the weights that result for two agents.
The first has R = (0, 1, 2)T (doesnt care about detection, and is more concerned about conserv-
ing energy than about achieving the objective). Its weight for the gradient of DistanceToRoad is 0 +
0.4 + 0.4 = 0.8, so it will prefer to move down the gradient (toward the road), and its weight for the
gradient of TimeToReach.goal is 0 + 1 + 0 = 1, so it will move down the gradient toward the goal.
The two weights are of comparable strength.
The second agent has R = (2, 2, 0)T. Its in a rush but also very much concerned about detection.
Now it puts 0 weight on the gradient to the road (its fear and its speed concern balance each other
out), and it assigns 2 to the time gradient to the destination.
This approach is a baseline with which we might compare a more cognitive approach. The disad-
vantage is the assumption that the mapping defined by A is independent of the agents current state
(both external and internal), and the impact of that state may itself depend on the agents priorities.
For example, if an agent has high achieve-objective-quickly, its attraction to the road will be greater if car
travel-modality than if it is not. The next section discusses how to generate W as a function of agent
priorities and state.
6
If all fields are of equal potential relevance to the agents movement, we normalize the sum of the
absolute values of each row.
7
In previous implementations, weve handcrafted weight vectors (and the changes among them). We
include a simple version of the Cognitive Behavior Generator in our prototype to show how it can
be accommodated in the architecture.
12
Parunak, SPRING
13
Parunak, SPRING
14
Parunak, SPRING
5 The
SPRING
Prototype
This section contains a
paper demonstration of
the SPRING prototype.
5.1 Interface
The SPRING inter-
face has two windows.
One (Figure 6) displays
the terrain, and allows
the user to select what is
displayed and control
execution. The other
(Figure 8) shows the
currently active plan, and
allows the user to
change the plan.
On the terrain win-
dow (Figure 6), the user Figure 7: Example plan in JSON format
can
Select the fields and
User6dened'polygons'
artifacts displayed Origin'
(using the check A;ractor/goal'
Fields'and'
boxes at the upper Repeller'
ar+facts'
left); displayed'
Switch between edit-
ing polygonal areas
of interest (which
may be attractors, Edit'polygons'vs.'
repellers, or origin run'simula+on'
areas for the entity)
and running the Execu+on'control'
simulation;
Control the execu-
Start'+me'of'paths'
tion of the simula-
tion, adding paths Length'of'paths'
and extending their
length; Determinism'
Adjust the start time Figure 6: Terrain Window
and length of the
displayed paths and the degree of nonlinearity in the composition of the roulette wheel (the in
Equation 5).
The plan window (Figure 8) displays the plan being executed. The figure shows the plan window
for the plan given in Figure 7. The Load plan button brings up a file dialog through which the us-
er can load a different plan.
15
Parunak, SPRING
16
Parunak, SPRING
{
"name" : "onRoad",
"weights" : [
{ "fieldname" : "Distance.Road", "weight" : 0.5 },
{ "fieldname" : "Distance.Attractors", "weight" : 0.5 },
{ "fieldname" : "Distance.Building", "weight" : 0.5 }
]
}
]
}
Figure 10 shows the agent behaviors. We have activated the Distance.Building field to
highlight the locations of buildings.
The left-hand display selects the actual agent trajectories. Each agent seeks out the nearest road,
which differs depending on where in the large initial area the agent is initiated. It then heads toward
that road, and when it reaches it, proceeds in the direction of the nearest buildings.
The right-hand display shows the agent displacements, which are straight lines for each subgoal
from the agents location at the start of the subgoal to its location when the subgoal changes. In this
display, the displacement color indicates the subgoal: black indicates that the agent is moving off-
road, while red indicates movement over the road.
Figure 10: Two-stage movement, overland and via road. Left: agent paths. Right:
agent displacements, showing shift between offroad (black) and on-road (red) phases.
17
Parunak, SPRING
{
"name" : "start",
"weights" : [
{ "fieldname" : "Dis-
tance.Repellers", "weight" : -4000,
"transform": ["tanh", 4000] },
{ "fieldname" : "Dis-
tance.Attractors", "weight" : 0.5}
] },
]
}
We apply the Tanh transform to the Dis-
tance.Repellers field, so that agents ignore
it when they are far away. The result is a smooth
movement of agents around the obstacle to the
destination.
18
Parunak, SPRING
6 Conclusion
SPRING is an innovative approach to modeling the movement of entities in constrained envi-
ronments. Conventional tracking systems rely on frequent observations of the entity of interest to
make up for information discarded by mathematical simplifications (notably, Markovian dynamics
and idealized probability distributions) made to allow closed-form analysis of the underlying formal-
ism. SPRING uses a constructive rather than a distributional modeling approach that can exploit
contextual information, information that methods based on idealized distributions must ignore.
Thus it can function in applications in which sensory acquisition of the target is uncommon. At the
same time, when sensor information is available, it can be incorporated into the processing by repre-
senting it as another field.
SPRINGs underlying field-based representation can easily incorporate the users input concern-
ing the origin, attractors, repellers, preferred routes, and similar features of the target. Thus it pro-
vides a powerful tool to let analysts explore the consequences of alternative hypotheses about entity
behavior. Its computation can be extremely rapid, because it uses numerical computations, and be-
cause those computations draw their inputs from a local neighborhood around each agents current
location. This locality means that the computation can be readily distributed over a highly parallel
computing architecture such as a general-purpose graphic processing unit (GPGPU). The speed of
computation in turn allows the constructive exploration of many alternative futures for the target,
producing a distribution over possible outcomes that feed naturally to many decision processes.
The prototype described in this paper forecasts the movement of an entity in space, but
SPRINGs fundamental forecasting mechanism can be applied to any entity movement with the fol-
lowing characteristics:
The environment over which the entity moves can be structured as a graph (the current
prototype represents space as a square lattice).
Different features characterize the nodes in the graph, so that they can be represented as
fields over the nodes.
19
Parunak, SPRING
The probability of the entitys choice of a next node, giving its current node, depends on
these features.
Examples of other possible domains that satisfy these requirements include:
The evolution of alternative trajectories through a causal graph [27];
The execution of alternative behaviors specified by a hierarchical task network [25];
The flow of resources through a social network [7];
The movement of cyber-intruders through a computer network.
7 References
Reprints of the authors publications are available at http://www.abcresearch.com/papers .
[1]E. Bonabeau, M. Dorigo, et al. Swarm Intelligence: From Natural to Artificial Systems. New York,
Oxford University Press, 1999.
[2]B. Brgmann. Monte Carlo Go. In Proc. the AAAI Symposium on Games: Playing, Planning, and
Learning, AAAI, 1993.
[3]J.R. Busemeyer, A. Diederich. Survey of decision field theory. Mathematical Social Sciences,
43(3):345-370, 2002.
[4]J.R. Busemeyer, R.K. Jessup, et al. Building bridges between neural models and complex decision
making behavior. Neural Networks, 19(8):1047-1058, 2006.
[5]J.R. Busemeyer, J.T. Townsend. Decision Field Theory: A Dynamic-Cognitive Approach to
Decision Making in an Uncertain Environment. Psychological Review, 100(3):432-459, 1993.
[6]R. Coulom. The Monte-Carlo Revolution in Go. In Proc. the Japanese-French Frontiers of Science
Symposium (JFFoS'2008), 2009.
[7]J. Crossman, R. Bechtel, et al. Integrating dynamic social networks and spatio-temporal models
for risk assessment, wargaming and planning. In Proc. The Network Science Workshop, 2009.
[8]E.W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269
271, 1959.
[9]A. Doucet, N. de Freitas, et al., Editors. Sequential Monte Carlo Methods in Practice. Statistics for
Engineering and Information Science, Berlin, Germany, Springer, 2001.
[10]D. Fox, J. Hightower, et al. Bayesian Filters for Location Estimation. IEEE Pervasive Computing,
September:24-33, 2003.
[11]P.-P. Grass. La Reconstruction du nid et les Coordinations Inter-Individuelles chez
Bellicositermes Natalensis et Cubitermes sp. La thorie de la Stigmergie: Essai d'interprtation du
Comportement des Termites Constructeurs. Insectes Sociaux, 6:41-84, 1959.
[12]P.E. Hart, N.J. Nilsson, et al. A Formal Basis for the Heuristic Determination of Minimum Cost
Paths. IEEE Transactions on Systems Science and Cybernetics, 4(2):100107, 1968.
[13]W.E. Hick. On the rate of gain of information. Quarterly Journal of Experimental Psychology, 4(1):11-
26, 1952.
[14]B.A. Huberman, N.S. Glance. Evolutionary Games and Computer Simulations. Proceedings of the
National Academy of Science USA, 90(16):7716-7718, 1993.
[15]R. Hyman. Stimulus information as a determinant of reaction time. Journal of Experimental
Psychology: General, 45(3):188-196, 1953.
[16]R.E. Kalman. A new approach to linear filtering and prediction problems. Journal of Basic
Engineering, 82(1):3545, 1960.
[17]M. Kearns, Y. Mansour, et al. A Sparse Sampling Algorithm for Near-Optimal Planning in Large
Markov Decision Processes. In Proc. the Sixteenth International Joint Conference on Artificial Intelligence,
pages 1324-1331, Morgan Kaufmann, 1999.
[18]O. Khatib. Commande dynamique dans l'espace oprationnel des robots manipulateurs en prsence d'obstacles.
20
Parunak, SPRING
21