Hunter-Runner: Implementing HIVEMind on FlexBot
Aaron Khoo
The Task
This is essentially a search task. A group of 2-4 Hunters
is assigned to track down and eliminate a Runner. The Runner's
objective is to escape without being cornered or trapped. All parties
are assumed to know the layout of the environment they are operating
within. Both Hunters and Runner have a fairly short range of sight; the
Runner has a slightly longer range than the Hunters.
Our objective is to evaluate the utility of the HIVEMind
architecture within a reasonably complex environment. This task is
interesting because it requires close coordination between Hunters to
ensure the Runner does not escape. While the Hunters outnumber the
Runner, the maps are sufficiently complex to ensure multiple paths to
the exits exist and the Hunters will not be in sight of each
other at all times. Therefore, the Hunters need to communicate in order
to ensure that no paths are left exposed while actively hunting down the
Runner.
The Runner
The hapless Runner (zombie skin)
The Runner begins at a pre-assigned starting point
(unknown to the Hunters). The Runner then attempts to navigate its way
to any exit point. There can be multiple exit-points within a single
map. If the Runner reaches the exit point at any time, it is assumed to
"win" the game. The Runner cannot pass around a Hunter if the
Hunter is in its path, i.e. if the Runner observes a Hunter at any time,
it will be forced to abandon its current path and try another way to the
exit. The Runner does have a slightly longer range of sight than the
Hunters, so it can see the Hunters before they see it.
The Runner has a priori knowledge of the map
layout. One important note is that the Runner does not always take the
shortest path to an exit. Rather, the Runner has non-determinism built
into it, and can randomly choose any valid path that leads it towards
some exit. This allows the Runner to be more unpredictable and forces
the Hunters to be more vigilant.
The Hunters
>>>>>
|