Page 297 - Artificial Intelligence for the Internet of Everything
P. 297
Using Multi-Agent Networks to Manage Dynamic Changes 275
each network node. The SAGE server provides SAGE nodes with services,
such as node and agent introspection, interagent communication and syn-
chronization, and a repository of agent behaviors that can be used to
construct new agents (Fig. 14.2).
14.4 AN ILLUSTRATIVE EXAMPLE
Artificial intelligence research is often conducted using toy problems that are
simplistic but allow researchers to explore a problem space. In automatic
path-planning research the game Frogger is an often-used toy problem
(Frogger, 1981). The object of the game is to manipulate a frog character
until it moves across a busy, multilane highway with cars traveling in mul-
tiple lanes of traffic at various velocities and in different directions, all the
while avoiding being run over. Once that goal is achieved the frog character
must then navigate across a river by stepping across floating logs, as well as
other objects (turtles), that rise above the water for a short time.
As in much of path-planning research the goal is to find an optimal path
that preserves the frog’s life given a priori knowledge of car behaviors. The
problem is usually limited to the single task of crossing the highway because
the second task of crossing a river requires a significantly different strategy.
The algorithms generally do not generalize to be able to address both chal-
lenges (Fig. 14.3).
Our aim was to use Frogger as a toy problem for examining the utility of
using multi agent–based emergent configurations to find optimal paths that
allow the frog to cross both the highway as well as the river in real time with
no a priori knowledge of either the location of the cars or the floating
objects. We also wanted the same algorithm to be able to guide the frog
across both the highway and the river by building specialized agent networks
to solve each component of the problem.
The only input to our system is the state of sensors that monitor the envi-
ronment. We modified an open-source Frogger implementation developed
by Pavlenko (2009) to include road sensors on the highway that monitored a
portion of a highway lane and returned a Boolean occupied/not occupied
signal. In the case of the river, the sensors monitored the state of a portion of
a water lane and returned a Boolean result indicating whether or not an
object was available above the surface (Fig. 14.1). The Frogger game was
essentially instrumented so SAGE agents could query the state of a sensor
dynamically in real time. The placement of the sensors was clearly significant
for they acted as sampling points. In order to guarantee that we had sufficient