Collision-free exploration
Agents start at distinct nodes of a graph and must explore it so that no two agents are ever at the same node; how long does it take, and what must the agents sense of each other?
Problem statement and measuresexpand
\(k \ge 2\) agents start at distinct nodes of a connected undirected graph \(G\) with \(n\) nodes and move in synchronous rounds: in each round an agent stays or crosses one edge. A collision is two agents at the same node in the same round; two agents that cross one edge in opposite directions do not collide and do not notice it. Exploration is collision-free if no collision ever happens, also with an agent that an adversary has not yet woken up. Unless a setting says otherwise, every agent must visit every node and then stop. The agents run the same deterministic algorithm, cannot mark nodes and send no messages; what they perceive of each other (their vision) and what they know of \(G\) are fixed by the setting, and in some settings an oracle places coloured pebbles on nodes before the start. Time is the number of rounds from the wake-up of the later agent until every agent has stopped. \(X(n)\) is the time of a single-agent exploration procedure for graphs with at most \(n\) nodes, used as a building block (polynomial in \(n\), for instance with a universal exploration sequence).
Measures: Time, rounds from the wake-up of the later agent until all agents have stopped; Colours, number of pebble colours the oracle needs, when pebbles are used.
Labelled graphs, with a map, any number of agents
verifiedWith a map, collision-free exploration of a graph takes \(\Theta(n\Delta^*)\) rounds, where \(\Delta^*\) is the smallest maximum degree of a spanning tree; computing the exact optimum is NP-hard.
Assumed (added on the last edge are outlined)
Not assumed
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.
- Node identifiers: labelled nodes
- Each node \(v\) carries a distinct identifier that agents at \(v\) can read; hence an agent can recognise a node it has visited.
- Timing: synchronous
- Time proceeds in rounds \(t=1,2,\dots\); in every round every agent communicates, computes and moves (at most one edge) simultaneously.
- Number of agents: any \(k\)
- Any number \(k\) of agents, \(2 \le k \le n\), which they do not know.
- What must be visited: every agent
- Every agent must visit every node and stop (in Czyzowicz et al. 2017a also return to its start node).
- Knowledge of the graph: map
- Every agent knows \(G\) and its own start node in it, but not the number or the start nodes of the other agents.
- Vision of the other agents: no vision
- An agent never perceives another agent.
- Help from an oracle: no help
- Nothing is placed on the nodes.
- Start: simultaneous start
- All agents start in the same round.
- Topology: any topology
- \(G\) is any connected graph in the class allowed by the other axes.
Statement for this variant
As in the setting on trees. \(\Delta^*\) is the smallest maximum degree of a spanning tree of \(G\).
What is known
- \(n\) agents, one on every node
- the fractional relaxation of the linear program for a spanning tree of minimum degree bounds the number of rounds (Theorem 3.4)
Results, in order of publication
Introductory and current best (Proposition 3.3, Theorem 3.4): explore a spanning tree of minimum degree as on trees. That tree is NP-hard to compute; one of degree at most \(\Delta^*+1\), computable in polynomial time, gives \(n(\Delta^*+1)\) rounds. Deciding whether the optimal time is at most a given number is NP-complete (Proposition 3.5).
Open questions
None recorded for this variant.
Notes
Checked against the full text (the 2012 report on HAL).
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
Lower bounds from stronger settings hold here
Branches from here
Know a better result for this setting, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.