Mobility Matters
Home›Mobile agents on graphs›Exploration›Collaborative exploration›Black hole search

Black hole search

A black hole destroys every agent that enters it, without trace; a team must locate it, losing as few agents as possible.

Problem statement and measuresexpand

A connected graph contains one black hole: a node that destroys any agent arriving there, leaving no trace. All other nodes are safe. Agents start at a safe node \(s\) (the home base) and must determine the location of the black hole; at least one agent must survive and know it. The primary measure is the team size (number of agents needed); the secondary measure is the cost (total number of moves, a move being one traversal of one edge) or, for synchronous agents, the time. Some papers also start the agents scattered, at distinct safe nodes; those results are recorded in the notes, because every catalogued variant starts at a home base.

Measures: Agents, number of agents needed (team size); Cost, total moves (asynchronous) or rounds (synchronous).

Tokens, no map

verified
Agents: tightCost: polynomial gap

With a constant number of tokens and no map, \(\Delta+2\) agents and 3 tokens are necessary and sufficient.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Faultsno faults+Marking nodestokens (pebbles) that agents carry and drop

Not assumed

TimingasynchronousKnowledge of the graphno knowledge of the topology (\(n\) is known)Topologyarbitrary connected graph
Formal definitions of this setting
Graph dynamics: static graph
\(G_t=G\) for all \(t\): the edge set never changes.
Edge direction: undirected
\(G=(V,E)\) with \(E\subseteq\binom V2\); every edge can be traversed in both directions.
Faults: no faults
All agents follow the algorithm forever.
Timing: asynchronous
Each agent's Communicate–Compute–Move steps take finite but unbounded, adversarially chosen time. Time is measured in epochs. An epoch is an interval of time in which every agent completes at least one full Communicate–Compute–Move step; it need not be the shortest such interval. Time is counted by dividing the execution into consecutive epochs, and a bound of \(X\) epochs holds for every such division.
Knowledge of the graph: topology unknown
Agents know \(n\) but not the topology of \(G\).
Marking nodes: tokens
Agents carry tokens (pebbles) they can place at nodes or on ports; tokens are identical and carry no other information.
Topology: any topology
\(G\) is any connected graph in the class allowed by the other axes.

What is known

Agents · number of agents needed (team size)
tight
\(\Delta+2\) with \(O(1)\) tokens.
lower bound
bottleneckagents lost in the black hole
holds when
  • \(O(1)\) tokens
  • \(\Delta+1\) agents are not enough; 2 tokens never suffice
introductory
\(\Delta+1\)
enhanced tokens
current best
\(\Delta+2\)
3 tokens; the number of agents is known (5 tokens otherwise)
Cost · total moves (asynchronous) or rounds (synchronous)
polynomial gap
\(O(mn)\) versus \(\Omega(n^2/\Delta)\); move-optimal in sparse graphs.
lower bound
\(\Omega(n^2/\Delta)\) Balamohan et al. 2016
bottleneckasynchrony
holds when
  • teams of \((2-\varepsilon)\Delta\) agents
introductory—
current best
\(O(mn)\)
3 tokens; the number of agents is known (5 tokens otherwise)

Results, in order of publication

Dobrev et al. 2013 introductory
Agents \(\Delta+1\)
enhanced tokens

First token-based exploration of an unknown dangerous graph; polynomial cost.

Agents \(\Delta+2\)Cost \(O(mn)\)
3 tokens; the number of agents is known (5 tokens otherwise)

Open questions

None recorded for this variant.

What carries over from neighbouring settings

Read off the order of assumptions, not checked case by case: results may carry extra assumptions (shown on their pages), and asynchronous time is measured in epochs.

Algorithms from weaker settings work here

No catalogued weaker setting.

Lower bounds from stronger settings hold here

Asynchronous agents with whiteboards
Agents \(\Delta+1\)Cost \(\Omega(n^2)\)
Tokens and a map
Agents \(2\)

Know a better result for this setting, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.