Abstract 1 Introduction 2 Preliminaries 3 Impossibility Result for Distance-constrained Exploration 4 Impossibility Result for Fuel-constrained Exploration 5 Conclusion References

Graph Exploration: The Impact of a Distance Constraint

Stéphane Devismes ORCID MIS Lab., Université de Picardie Jules Verne, Amiens, France Yoann Dieudonné ORCID MIS Lab., Université de Picardie Jules Verne, Amiens, France Arnaud Labourel ORCID Aix Marseille Univ, CNRS, LIS, Marseille, France
Abstract

A mobile agent, starting from a node s of a simple undirected connected graph G=(V,E), has to explore all nodes and edges of G using the minimum number of edge traversals. To do so, the agent uses a deterministic algorithm that allows it to gain information on G as it traverses its edges. During its exploration, the agent must always respect the constraint of knowing a path of length at most D to go back to node s. The upper bound D is fixed as being equal to (1+α)r, where r is the eccentricity of node s (i.e., the maximum distance from s to any other node) and α is any positive real constant. This task has been introduced by Duncan et al. [15] and is known as distance-constrained exploration.

The penalty of an exploration algorithm running in G is the number of edge traversals made by the agent in excess of |E|. In [20], Panaite and Pelc gave an algorithm for solving exploration without any constraint on the moves that is guaranteed to work in every graph G with a (small) penalty in 𝒪(|V|). Hence, a natural question is whether we can obtain a distance-constrained exploration algorithm with the same guarantee as well.

In this paper, we provide a negative answer to this question. We also observe that an algorithm working in every graph G with a linear penalty in |V| cannot be obtained for the task of fuel-constrained exploration, another variant studied in the literature.

This solves an open problem posed by Duncan et al. in [15] and shows a fundamental separation with the task of exploration without constraint on the moves.

Keywords and phrases:
exploration, graph, mobile agent
Category:
Track A: Algorithms, Complexity and Games
Copyright and License:
[Uncaptioned image] © Stéphane Devismes, Yoann Dieudonné, and Arnaud Labourel; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithms
Related Version:
Full Version: https://arxiv.org/abs/2410.13386 [12]
Funding:
This work has been partially supported by the ANR project SkyData (ANR-22-CE25-0008).
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

1.1 Background

Exploring an unknown environment is a fundamental task with numerous applications, including target localization, data gathering, and map construction. The considered environments can vary considerably in type: they may be terrains, networks, three-dimensional spaces, etc. In hazardous situations, it is generally more appropriate to delegate exploration to a mobile artificial entity, hereinafter referred to as an agent, which could be an autonomous robot or a vehicle remotely controlled by a human.

In this paper, we focus our attention on the task of exploration by a mobile agent of a network modeled as a graph, and more specifically on a variant where the agent must always know a path from its initial node to its current node that does not exceed a given upper bound. This requirement finds its justification in applications where the agent needs to always keep the possibility of returning quickly to its base or to always maintain a certain distance to ensure ongoing communication with its base.

1.2 Model and Problem Definition

An agent is assigned the task of exploring a simple111In [15], where the task of distance-constrained exploration that we will study has been introduced, the authors do not mention explicitly whether they consider simple graphs or multigraphs. A closer look at their work can reveal, though, that their results hold for multigraphs. However, it is important to note that, in the context of the impossibility proof that we will conduct, the choice of focusing only on simple graphs does not lead to a loss of generality. In fact, it broadens the scope of our result, ensuring that it holds for both simple graphs and multigraphs. finite undirected graph G=(V,E), starting from a node s, called the source node. The exploration requires visiting (resp. traversing) at least once every node (resp. every edge). Thus, G is supposed to be connected. We denote by 𝚍𝚎𝚐(v) the degree of a node v in G, and by |V| (resp. |E|) the order (resp. size) of G.

We make the same assumption as in [15] which states that the agent has unbounded memory and can recognize already visited nodes and traversed edges. This is formalized as follows. Nodes of G have arbitrary pairwise distinct labels that are positive integers. The label of s will be denoted by ls. Distinct labels, called port numbers and ranging from 0 to 𝚍𝚎𝚐(v)1, are arbitrarily assigned locally at each node v to each of its incident edges. Hence, each edge has two ports, one per endpoint, and there is no a priori relationship between these two ports. At the beginning, the agent located at node s learns only its degree and its label. To explore the graph, the agent applies a deterministic algorithm that makes it act in steps: at each step, the algorithm selects a port number p at the current node v (on the basis of all information that has been memorized so far by the agent) and then asks the agent to traverse the edge having port p at v. At that point, the agent traverses the given edge at any finite positive speed and, once it enters the adjacent node, it learns (only) its degree, its label as well as the incoming port number. Afterwards, the agent starts the next step, unless the algorithm has terminated.

Roughly speaking, the memory of the agent is the total information it has collected since the beginning of its exploration. We formalize it as follows: the memory of the agent, after the first t edge traversals, is the sequence (M0,M1,,Mt), where M0 is the information of the agent at its start and Mi is the information acquired right after its ith edge traversal. Precisely, the initial memory M0 is represented by the 4-tuple (l0,d0,1,1), where l0 and d0 correspond to the label of the source node and its degree respectively. Then, if i1, Mi is the 4-tuple (li,di,pi,qi) where li is the identifier of the occupied node after the ith edge traversal, di the degree of that node, pi is the port by which the agent has left the node li1 to make the ith edge traversal, and qi the port by which the agent entered node li via its ith edge traversal.

Without any constraint on the moves, the task of exploration in the above model is called unconstrained exploration. However, in this paper, we study a variant introduced in [15] and called distance-constrained exploration. In this variant, the agent must deal with the additional constraint of always knowing a path (i.e., a sequence of already explored edges) of length at most D from its current location to node s. The value D is fixed to (1+α)r, where r and α respectively correspond to the eccentricity of node s and an arbitrary positive real constant. In [15], two scenarios are considered: one where both r and α are initially known to the agent, and another where only α is known. In this paper, we adopt the more challenging scenario from a proof-of-impossibility perspective, where both r and α are initially known to the agent, in order to give our result a greater impact.

An instance of the problem is defined as the tuple (G,ls,α). We will denote by (α,r) the set of all instances (G,ls,α) such that the eccentricity of the source node s (of label ls) in G is r.

An important notion involved in this paper is that of penalty incurred during exploration. First discussed by Pelc and Panaite in [20], the penalty of an exploration algorithm running in G is the number of edge traversals in excess of |E| made by the mobile agent. In their seminal paper [20], Panaite and Pelc gave an algorithm for solving unconstrained exploration, which is guaranteed to work in every connected graph G with a (small) penalty of 𝒪(|V|). In the light of this result, an intriguing question naturally arises:

Would it be possible to design a distance-constrained exploration algorithm working in every graph G with a penalty of 𝒪(|V|)?

1.3 Our Results

In this paper, we provide a negative answer to the above question. This negative answer is strong as we show that for any positive real α and every integer r6, there is no algorithm that can solve distance-constrained exploration for every instance (G,ls,α), where G=(V,E) is a connected simple graph, of (α,r) with a penalty of 𝒪(|V|).

Moreover, we observe that the impossibility result remains true for another variant of constrained exploration studied in the literature, known as fuel-constrained exploration. In this variant, which was introduced by Betke et al. in [6], the context remains the same, except that now the agent must face a slightly different constraint: it has a fuel tank of limited size that can be replenished only at its starting node s. The size of the tank is B=2(1+α)r, where α is any positive real constant and r is the eccentricity of s. The tank imposes an important constraint, as it forces the agent to make at most B edge traversals before having to refuel at node s, otherwise the agent will be left with an empty tank and unable to move, preventing further exploration of the graph. The underlying graph and node s are chosen so that rα1 (if not, fuel-constrained exploration is not always feasible).

Through our two impossibility results, we show a fundamental separation with the task of unconstrained exploration. We also solve an open problem posed by Duncan et al. in [15], who asked whether distance-constrained or fuel-constrained exploration could be achieved with a penalty of 𝒪(|V|) in every graph.222In [15], the authors also investigated a third variant known as rope-constrained exploration, but they did not include it in their open problem. This point is further detailed at the end of the related work section.

Due to lack of space, many technical results and formal proofs have been omitted. All details are available in the full version of the paper [12].

1.4 Related Work

The problem of exploring unknown graphs has been the subject of extensive research for many decades. It has been studied in scenarios where exploration is conducted by a single agent and in scenarios where multiple agents are involved. In what follows, we focus only on work related to the former case (for the latter case, a good starting point for the curious reader is the survey of Das [10]).

In the context of theoretical computer science, the exploration problem was initially approached by investigating how to systematically find an exit in a maze (represented as a finite connected subgraph of the infinite 2-dimensional grid in which the edges are consistently labeled North, South, East, West). In [22], Shannon pioneered this field with the design of a simple finite-state automaton that can explore any small maze spanning a 5×5 grid. More than twenty years later, Budach [8] significantly broadened the scope of study by showing that no finite-state automaton can fully explore all mazes. Blum and Kozen showed in [7] that this fundamental limitation can be overcome by allowing the automaton to use only two pebbles. The same authors naturally raise the question of whether one pebble could suffice. A negative answer to this question is provided by Hoffmann in [17].

In the following decades, much of the attention shifted to the exploration of arbitrary graphs, for which the solutions dedicated to mazes become obsolete. Studies on the exploration of arbitrary graphs can be broadly divided into two types: those assuming that nodes in the graph have unique labels recognizable by the agent, and those assuming anonymous nodes.

As for mazes, exploration of anonymous graphs has been investigated under the scenario in which the agent is allowed to use pebbles [5, 9, 13, 14]. In [14], Dudek et al. showed that a robot provided with a single movable pebble can explore any undirected anonymous graph using 𝒪(|V||E|) moves. If the pebble is not movable and can only be used to mark the starting node of the agent, it is shown in [9] that exploration is still possible using a number of edge traversals polynomial in |V|. In [13], the authors investigated the problem in the presence of identical immovable pebbles, some of which are Byzantine (a Byzantine pebble can be unpredictably visible or invisible to the agent whenever it visits the node where the pebble is located) and designed an exploration algorithm working in any undirected graph provided one pebble always remains fault-free. In the case where the graph is directed, exploration becomes more challenging due to the impossibility of backtracking and may even be sometimes infeasible if the graph is not strongly connected. However, in the scenario where the agent evolves in strongly connected directed graphs, Bender et al. proved that Θ(loglog|V|) movable pebbles are necessary and sufficient to achieve a complete exploration.

When no marking of nodes is allowed, exploration of undirected anonymous graphs becomes obviously more difficult, and detecting the completion of the task cannot be always guaranteed without additional assumptions. If randomization is allowed, we know from [2] that a simple random walk of length 𝒪(Δ2|V|3log|V|) can cover, with high probability, all nodes of an undirected graph G=(V,E) of maximal degree Δ. Such a random walk can thus be used to fully explore a graph (and eventually stop), by initially providing the agent with an upper bound on |V| and by making it go back and forth over each edge incident to a node of the random walk. If randomization is not allowed, all nodes of an undirected anonymous graph can still be visited, using universal exploration sequences (known as UXS) introduced in [19]. Formally, a sequence of integers x1,x2,,xk is said to be a UXS for a class 𝒢 of graphs, if it allows an agent, starting from any node of any graph G𝒢, to visit at least once every node of G in k+1 steps as follows. In step 1, the agent leaves its starting node v1 by port 0 and enters some node v2. In step 2ik+1, the agent leaves its current node vi by port q=(p+xi1)mod𝚍𝚎𝚐(vi), where p is the port by which it entered vi in step i1, and enters some node vi+1. In [21], it is proven that for any positive integer n, a UXS of polynomial length in n, for the class of graphs of order at most n, can be computed deterministically in logarithmic space and in time polynomial in n. As with random walks, this can be used to fully explore a graph, by initially providing the agent with an upper bound n on |V| and by instructing it to traverse each edge incident to a node visited by a UXS for the class of graphs of order at most n. Therefore, whether deterministically or not, it can be easily shown from [2, 21] that an agent can explore any undirected anonymous graph of order at most n even without the ability to mark nodes as long as it has a memory of size 𝒪(logn): in [16] Fraigniaud et al. gave a tight lower bound by showing that a memory of size Ω(logn) is necessary.

The exploration of labeled graphs was a subject of research in [1, 3, 4, 6, 11, 15, 20], with a particular focus on minimizing the number of edge traversals required to accomplish the task.

In [11], Deng and Papadimitriou showed an upper bound of 𝔇𝒪(𝔇)|E| moves to explore any labeled directed graph that is strongly connected, where 𝔇, called the deficiency of the graph, is the minimum number of edges that have to be added to make the graph Eulerian. This is subsequently improved on by Albers and Henzinger in [1], who gave a sub-exponential algorithm requiring at most 𝔇𝒪(log𝔇)|E| moves and showed a matching lower bound of 𝔇Ω(log𝔇)|E|. For arbitrary labeled undirected graphs, the fastest exploration algorithm to date is the one given by Panaite and Pelc in [20], which allows an agent to traverse all edges using at most |E|+𝒪(|V|) moves. Their algorithm thus entails at most a linear penalty in |V|, which is significantly better than other classic strategies of exploration (for instance, the standard Depth-First Search algorithm, which takes 2|E| moves, has a worst-case penalty that is quadratic in |V|). This upper bound of 𝒪(|V|) is asymptotically tight as the penalty can be in Ω(V), even in some semi-Eulerian graphs (for which 𝔇=1). In particular, it is the case when an agent is required to explore a simple line made of an odd number |V|3 of nodes, by starting from the median node: the penalty is then necessarily at least |V|12 (this also holds even if the agent initially knows the graph and its position in it).

The papers [3, 4, 6, 15] are the closest to our work. As mentioned in Section 1.3, the problem of fuel-constrained exploration of a labeled graph was introduced by Betke et al. in [6]. In this paper, the authors gave fuel-constrained algorithms using 𝒪(|E|+|V|) moves but for some classes of graphs only. This line of study was then continued in [3] (resp. in [4]) in which is provided an 𝒪(|E|+|V|log2|V|) algorithm (resp. an 𝒪(|E|+|V|1+o(1)) algorithm) working in arbitrary labeled graphs. Finally, Duncan et al. [15] obtained solutions requiring at most 𝒪(|E|+|V|) edge traversals for solving fuel-constrained and distance-constrained explorations. Precisely, the authors did not directly work on these two variants, but on a third one called rope-constrained exploration, in which the agent is tethered to its starting node s by a rope of length LΘ(r) that it unwinds by a length of 1 with every forward edge traversal and rewinds by a length of 1 with every backward edge traversal. Hence, they designed an 𝒪(|E|+|V|) algorithm for rope-constrained exploration which can be transformed into algorithms solving the two other constrained exploration problems with the same complexity. However, these algorithms all carry a worst-case penalty proportional to |E| even when |E|Θ(|V|2). As an open problem, Duncan et al. then asked whether we could obtain algorithms for solving constrained explorations with a worst-case penalty linear in |V|, as shown in [20] when there is no constraint on the moves. Precisely, Duncan et al. explicitly raised the question for fuel-constrained and distance-constrained explorations and not for rope-constrained exploration. This is certainly due to the following straightforward observation: at any point of a rope-constrained exploration, the difference between the number of forward edge traversals and the number of backward edge traversals can never exceed L. Thus, the penalty of any rope-constrained exploration algorithm executed in any graph G=(V,E) is always at least |E|-L, which can be easily seen as not belonging to 𝒪(|V|) in general, since L belongs to Θ(r) and thus to 𝒪(|V|).

2 Preliminaries

In this section, we introduce some basic definitions, conventions, operations, and results that will be used throughout the rest of the paper.

We call consistently labeled graph a simple undirected labeled graph in which nodes have pairwise distinct identifiers and in which port numbers are fixed according to the rules given in Section 1.2. We will sometimes use simple undirected graphs with no identifiers and with no port numbers, especially when describing intermediate steps of constructions: these graphs will be called unlabeled graphs. However, when the context makes it clear or when the distinction between labeled and unlabeled graphs is insignificant, we will simply use the term graph.

A graph G is said to be bipartite if its nodes can be partitioned into two sets U and U such that no two nodes within the same set are adjacent. If G is also connected, such partition {U,U} is unique and referred to as the bipartition of G. A graph is said to be regular (resp. k-regular) if each of its nodes has the same degree (resp. has degree k).

Below is a simple lemma about regular bipartite graphs. It follows from the fact that a k-regular bipartite graph of order 2n, with nk1, can be constructed by taking two sets of nodes U={u0,u1,,un1} and U={u0,u1,,un1} and then by adding edges so that for every i and j [0..n1], there is an edge between ui and uj iff j=(i+x)modn for some x[0..k1].

Lemma 1.

For every positive integer k, and for every integer nk, there exists a k-regular bipartite graph whose bipartition {U,U} satisfies |U|=|U|=n.

The impossibility proof described in Section 3 closely relies on a family of graphs (,w,r), where 2, w4 and r6 are integers. Precisely, (,w,r) is defined as the set of all consistently labeled graphs that can be constructed by successively applying the following five steps.

  • Step 1. Take a sequence of sets V1,V2,V3,,V, each containing w nodes. For every 1i, assign pairwise distinct labels to nodes of Vi ranging from w(i1)+1 to wi: these nodes will be called the nodes of level i. Then, for every 1i1, add edges from nodes of Vi to nodes of Vi+1 so that the subgraph induced by ViVi+1 is a w4-regular bipartite graph denoted Bi whose bipartition is {Vi,Vi+1} (such a graph exists by Lemma 1).

  • Step 2. This step is made of 1 phases, and, in each phase 1i1, we proceed as follows. Let β=ww4 (which corresponds to the number of edges of the subgraph induced by ViVi+1). Take a sequence of 7β8 new nodes (g1i,g2i,g3i,,g7β8i) (by “new nodes”, we precisely mean nodes that do not belong (yet) to the graph under construction). These nodes will be called gadgets. For each 1j7β8, assign label w+(i1)7β8+j to gadget gji. Then, take a node u of Vi and a node v of Vi+1 such that u and v are neighbors, remove the edge between u and v, and finally add an edge between u and gji as well as v and gji.

  • Step 3. Take a pair of new nodes (v1,v2). Assign label 0 (resp. label w+(1)7β8+1) to node v1 (resp. node v2). Then, add an edge between v1 (resp. v2) and each node of V1 (resp. each gadget). Node v2 will be called the critical node.

  • Step 4. Take a line L made of (r3) new nodes. Add an edge between the critical node v2 and one of the endpoints of L. Then, for each node u of L, assign label w+(1)7β8+1+d where d is the distance from node v2 to u. The nodes of L will form what will be called the tail of the graph and the farthest endpoint of L from v2 will be called the tail tip.

  • Step 5. For every node u belonging to the graph resulting from the successive application of steps 1 to 4, arbitrarily add pairwise distinct port numbers to each of its incident edges ranging from 0 to 𝚍𝚎𝚐(u)1.

Let us give some additional definitions. For every 1i1, the layer G(i,i+1) of a graph G resulting from the above construction is the set made of the following edges: those connecting a node of level i with a node of level i+1, which will be called the green edges of G(i,i+1), and those connecting a gadget of (g1i,g2i,g3i,,g7β8i) with a node of level i or i+1, which will be called the red edges of G(i,i+1). When it is clear from the context, we will sometimes omit the reference to the underlying graph and use the notation (i,i+1) instead of G(i,i+1).

An example of a graph belonging to (4,8,7) is depicted, with its key components, in Figure 1.

Figure 1: Example of a graph in (4,8,7).

The next lemma is a direct consequence of our 5-step construction.

Lemma 2.

Let 2, w4 and r6 be integers. Let β=ww4. For each graph G of (,w,r), we have the following properties:

  1. 1.

    G is consistently labeled. It contains 1 layers and levels.

  2. 2.

    The order of G is w+(1)7β8+r1 and its number of gadgets is (1)7β8.

  3. 3.

    For every 1i1, the number of red edges (resp. green edges) in G(i,i+1) is 27β8 (resp. β8).

  4. 4.

    Two nodes that are incident to the same green edge in G cannot be the neighbors of the same gadget.

The lemma below (its proof is in the full version of the paper [12]) addresses the eccentricity of the node labeled 0 as well as the length of some paths originating from it in graphs of the family we have proposed. As mentioned in Section 1.2, a path is viewed as a sequence of edges (and not a sequence of nodes).

Lemma 3.

Let 2, w16 and r6 be integers. Let G be a graph of (,w,r). We have the following two properties:

  1. 1.

    The eccentricity of the node of label 0 in G is r and for every 2i, each node of level i in G is at distance at most 2 from a gadget.

  2. 2.

    For every 1i, the length of a path from the node of label 0 to any node of level i in G is at least i if this path does not pass through the critical node of G.

In the impossibility proof of Section 3, we will need to perform three operations on graphs. Let G be a graph of (,w,r), with 2, w4 and r6. The first operation is 𝚜𝚠𝚒𝚝𝚌𝚑-𝚙𝚘𝚛𝚝𝚜(G,v,p1,p2). If v is a node of G and p1 and p2 are distinct non-negative integers smaller than 𝚍𝚎𝚐(v), this operation returns a graph G corresponding to G but with the following modification: the edge having port p1 (resp. p2) at v in G now has port p2 (resp. p1) at v in G. Otherwise, it simply returns G without any modification.

The second operation is 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜(G,v1,v2,p1,p2). Assume that for some 1i1, p1 and p2 are the ports of green edges of G(i,i+1) at nodes v1 and v2 respectively, and these two nodes belong to the same level in G. Also assume that the node v1 (resp. v2) that is reached by taking port p1 (resp. p2) from v1 (resp. v2) is not a neighbor of v2 (resp. v1) and that v2 and v1 (resp. v1 and v2) are not the neighbors of the same gadget. In this case, this operation returns a graph G corresponding to G but with the following modifications: the edge e1 (resp. e2), originally attached to port p1 (resp. p2) at node v1 (resp. v2), is detached from this node and reattached to node v2 (resp. v1) with port p2 (resp. p1) assigned at its newly attached node. Otherwise, it simply returns G without any modification. An illustration of 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜 is shown in Figure 2.a.

Notice that the requirements for modifying G using 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜(G,v1,v2,p1,p2) are essential. Indeed, the assumption that v1 (resp. v2) is not a neighbor of v2 (resp. v1) guarantees that we do not add an already existing edge: consequently, the graph obtained after the modification is still simple with the same number of green edges and node’s degrees are left unchanged. Moreover, the assumption that v2 and v1 (resp. v1 and v2) are not the neighbors of the same gadget ensures that the fourth property of Lemma 2 remains true after the modification. Hence, if G is a graph of (,w,r), then the graph returned by 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜(G,v1,v2,p1,p2) still belongs to (,w,r).

Finally, the third operation is 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝(G,e,g). Assume that for some 1i1, e is a green edge of G(i,i+1) and g is a gadget incident to a red edge of G(i,i+1). Let v1 and v2 be the two nodes connected to e. Let ui (resp. ui+1) be the neighbor of level i (resp. i+1) of the gadget g. In the following, we denote by p(u,u) the port number at node u of the edge {u,u} in G before applying the operation. The operation then returns a graph G obtained after applying on G the following modifications in this order:

  1. 1.

    Remove the edges e={v1,v2}, {ui,g}, and {ui+1,g}.

  2. 2.

    Add the edge {ui,ui+1}. Assign to this edge the port number p(ui,g) (resp. p(ui+1,g)) at node ui (resp. ui+1).

  3. 3.

    Add the edge {v1,g}. Assign to this edge the port number p(v1,v2) (resp. p(g,ui)) at node v1 (resp. g).

  4. 4.

    Add the edge {v2,g}. Assign to this edge the port number p(v2,v1) (resp. p(g,ui+1)) at node v2 (resp. g).

In other cases, the operation simply returns G without any modification. An illustration of 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝 is shown in Figure 2.b. Broadly speaking, when 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝 causes a graph modification, a green edge is “split” into two red edges, while two red edges are “merged” into a single green edge.

(a) Operation 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜(G,v1,v2,p1,p2)

(b) Operation 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝(G,e,g)

Figure 2: Illustrations of operations 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜 and 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝.

In view of the construction of (,w,r) and of the definitions of the three above operations, we have the following lemma.

Lemma 4.

Let 2, w4 and r6 be integers. Let G be a graph of (,w,r) and let G be the graph returned after the application of 𝚜𝚠𝚒𝚝𝚌𝚑-𝚙𝚘𝚛𝚝𝚜(G,,,), 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜(G,,,,) or 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝(G,,). G belongs to (,w,r).

3 Impossibility Result for Distance-constrained Exploration

This section is dedicated to our proof showing the impossibility of solving distance-constrained exploration with a penalty that is always linear in the order of the graph. In what follows, we first give the intuitive ingredients that are behind our proof and then formalize the main construction allowing to obtain our lower bound.

3.1 Overview of the Proof

3.1.1 In a Nutshell

At a very high level, the proof can be viewed as composed of two main stages. The first stage consists in showing that for every positive real α, every integer r6, and every algorithm A(α,r) solving distance-constrained exploration for all instances of (α,r), there exists at least one instance I=(G,0,α) such that G=(V,E)((1+α)r+1,w,r) and for which algorithm A incurs a penalty of at least Ω(w2) (for some arbitrarily large w). This result is achieved through a constructive proof in which an adversary, whose goal is to maximize the penalty, constructs “on the fly” the instance I based on the step-by-step choices of algorithm A. If w belonged to Θ(|V|), our work would essentially be completed here, as it would mean that algorithm A would sometimes incur a penalty of Ω(|V|2). Unfortunately, using Lemma 2, we can show that w is in 𝒪(|V|), which prevents us from concluding directly. This is where the second stage comes into the picture. By taking a closer look at our first stage, we will see that a penalty of at least Ω(w2) is already incurred by algorithm A with instance I before the agent makes the μth edge traversal that leads it to explore a red edge of G for the first time. In particular, before this traversal, in each layer, only green edges have been explored and no gadget nodes has been visited. However, the number of nodes that are not gadgets in G is in Θ(r×w) (cf. Lemma 2). Therefore, if we can transform instance I into an instance I=(G=(V,E),0,α) of (α,r) by “reducing” the number of gadget nodes from Θ(r×w2) (cf. Lemma 2) to Θ(w), while keeping the number of non-gadget nodes unchanged and ensuring that the execution of A with instance I is exactly the same as with I (from the point of view of the agent’s memory) during the first μ edge traversals, we are done. Indeed, in this case, |V|Θ(r×w) and we can prove that algorithm A necessarily incurs at least a penalty of order (|V|r)2 with instance I. Hence, it suffices to choose w large enough so that r2 is in o(|V|), to conclude that algorithm A cannot guarantee a linear penalty in the order of the graph. Actually, it is precisely this transformation that is conducted in the second stage. Notice that proceeding in two stages, instead of a single one (in which the adversary would construct instance I directly), turns out to be more convenient because instance I, despite having too many nodes regarding the incurred penalty, is easier (from a pedagogical point of view) to construct dynamically than the instance I that has the appropriate number of nodes.

3.1.2 Under the Hood

Having described the general outline of our proof, let us now go deeper into the details of our two stages, by starting to give more intuitive explanations about the first one and, in particular, the behavior of the adversary. Here, the goal of the adversary is to construct an instance of (α,r) that creates a bad scenario for the algorithm. What could be a bad scenario? It could be one in which the agent, starting from node 0 in a graph of ((1+α)r+1,w,r), frequently “goes down” until nodes at the penultimate level (1+α)r while (1) there are still unexplored edges incident to these nodes that lead to the last level and (2) no red edge has been explored yet. Indeed, what ensures that nodes at the last level are within distance r from the source node are paths that pass exclusively through the critical node, which can only be accessed by traversing at least one red edge. Red edges and the critical node are essential components to make the eccentricity of the source node “small”. As long as no red edge is explored, the critical node remains unexplored, and thus the agent lacks information about the shortest paths within the underlying graph. In particular, under these circumstances, if it reached a node of the last level (1+α)r+1, the shortest path it would know to the source node would be of length at least (1+α)r+1 (cf. Lemma 3), which would violate the distance constraint. Hence, in such a scenario, each time the agent reaches a node of the penultimate level with possible edges leading to nodes of the last level, the algorithm cannot risk instructing the agent to traverse an unexplored edge. Actually, it has no other choice but to ask the agent to go back to the previous level by traversing an already explored edge, thereby incrementing the incurred penalty. And if this occurs at least Ω(w2) times, the adversary successfully completes the first stage.

Hence, the question that naturally comes to mind is how to construct a graph implying such a bad scenario. As briefly mentioned earlier, the adversary can achieve this by dynamically modifying the underlying graph according to the choices made by the algorithm. More precisely, the adversary initially takes any instance (G0,0,α) of (α,r) such that G0((1+α)r+1,w,r). Then, it emulates algorithm A(α,r) with this instance, but by paying particular attention to what happens before each edge traversal and making some possible modifications before each of them, and only if coherent and appropriate. By “coherent”, we mean that a modification must not conflict with the prefix of the execution already made, and, in particular, with the agent’s memory. For example, the adversary must not remove an already explored edge or change the degree of an already visited node. And by “appropriate”, we mean that the modifications must be made only to enforce the bad scenario described above. Consequently, in the situation where the algorithm asks the agent to traverse an edge that has been explored before, the adversary does nothing, in order to preserve the coherence of the ongoing execution, while increasing the penalty. It also does nothing in the situation where the algorithm instructs the agent to take a port that makes it go from the source node (resp. a node of some level i) to a node of level 1 (resp. i+1) that is incident to at least one unexplored green edge leading to a node of level 2 (resp. i+2 if i+2(1+α)r+1), because this is essential for the bad scenario to unfold. In fact, if the adversary is lucky enough with its initial choice of G0 to always get one of these situations (not necessarily the same) without intervening, during a sufficiently long prefix of the execution, we can inductively prove that the negative scenario occurs with G0. Unfortunately, the adversary may not be so lucky. However, it can circumvent this, and enforce the bad scenario, by bringing modifications to the underlying graph (formally described in Algorithm 2) using clever combinations of the three operations 𝚜𝚠𝚒𝚝𝚌𝚑-𝚙𝚘𝚛𝚝𝚜, 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝, and 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜 defined in Section 2. Each of these operations has a very specific role. Precisely, whenever possible, the adversary uses 𝚜𝚠𝚒𝚝𝚌𝚑-𝚙𝚘𝚛𝚝𝚜 to make the agent “go down”, 𝚖𝚘𝚟𝚎-𝚐𝚊𝚍𝚐𝚎𝚝 to force the agent to traverse a green edge instead of a red one, and 𝚜𝚠𝚒𝚝𝚌𝚑-𝚎𝚍𝚐𝚎𝚜 to ensure that a node reached by the agent still has unexplored edges leading downward (which is important to subsequently continue the descent process and eventually enforce the agent to traverse an already explored edge). These operations are performed carefully to always ensure the coherence of the execution, while ensuring that the underlying graph remains in ((1+α)r+1,w,r) (cf. Lemma 3.1 in the full version of the paper [12]). One of the main challenges of the first stage consists in showing that the adversary can indeed intervene, with these operations, for a sufficiently long time to ultimately guarantee the desired penalty of Ω(w2) before the first visit of a red edge and thus of a gadget. In fact, the general idea of the proof revolves around the following three key points (demonstrated through Lemmas 3.2 and 3.3 in the full version of the paper [12]). First, the adversary can prevent the agent from visiting any red edge at least until half the green edges of some layer (i,i+1) have been explored at some time λ. Second, as long as this event has not occurred, after each descending traversal of a green edge of (i,i+1) (i.e., from level i to level i+1), the agent will traverse an already explored edge before making another descending traversal of a green edge of (i,i+1). This will happen either by the “agent’s own choice” or because the adversary forces the agent to do so by bringing it to the penultimate level, as previously described. Hence, the incurred penalty is at least of the order of the number of descending traversals of green edges in (i,i+1) made by time λ. Third and finally, as long as no red edge has been explored, the number of times the agent has made a descending traversal of a green edge in (i,i+1) is always equal to the number of times the agent has made an ascending traversal of a green edge in (i,i+1) (i.e., from level i+1 to level i), give or take one. From these three key points and the fact that there are Ω(w2) green edges in (i,i+1) (cf. Lemma 2), it follows that the number of times the agent makes a descending traversal of a green edge of this layer by time λ is in Ω(w2), and so is the penalty.

To finish, let us now complete the overview with some intuitive explanations about the second stage. As stated before, the goal of this stage is to transform the instance I=(G,0,α) obtained in the first stage into an instance I=(G,0,α) of (α,r) with only Θ(w) gadgets instead of Θ(r×w2). This reduction on the number of gadgets is done with merge operations that consist in “merging” some gadgets of G into one gadget in G and setting the neighborhood of the new merged gadget as the union of the neighborhoods of the initial gadgets. An important property to check is that the source node of G (i.e., the node with label 0) must have eccentricity r for I to be a valid instance of (α,r). This is guaranteed by two facts. Firstly, merging nodes can only reduce distances between nodes and so the eccentricity of the source node in G is at most the eccentricity r in G. Secondly, by the construction of G (cf. Section 2), all gadgets of G are at distance at least 2 from node v1 (which plays here the role of the source node) and at distance at least r2 from the tail tip u of L. Since each path from v1 to u in G contains a gadget, each path in G from v1 to u contains a merged gadget that is at distance at least 2 from v1 and at least r2 from u. It follows that the eccentricity of the source node in G is also at least r.

Another important property to check, with merge operations, is that the new graph G must “look” the same from the point of view of non-gadget nodes contained in the layers of G, while being simple (i.e., without multiple edges). Indeed, this is also needed to ensure that I is a valid instance of (α,r), while guaranteeing that the execution of A is the same in I and I during the first μ edge traversals and thus the penalty up until the visit of the first gadget is the same in I and I. Hence, we cannot use trivial merge operations such as simply merging all gadgets of each layer into one gadget, or otherwise we immediately get a multigraph. We need something more subtle. Actually, we can show that the above property can be satisfied if the neighborhoods of the merged gadgets are disjoint, notably because this can avoid creating a multigraph, while keeping the same port numbers at non-gadget nodes for all edges connecting them to gadget nodes.

As a result, one of the key parts of the second stage is finding Θ(w) sets of gadgets that each have gadgets with disjoint neighborhoods. Intuitively, one can proceed in two steps. First, we consider each layer separately. Let us consider some layer G(i,i+1) of a graph G. One associates each gadget in this layer to an edge connecting its two neighbors in the layer. Finding sets of gadgets with disjoint neighborhoods can thus be viewed as finding sets of non-adjacent edges in this new graph. Using the fact that the degree of nodes of level i and i+1 in the graph induced by the edges of G(i,i+1) is in Θ(w), one can find Θ(w) such sets using a well-known bound for edge-coloring of graphs of bounded degree (cf. König’s Theorem [18]). Hence, one can merge the Θ(w2) gadgets in the layer into Θ(w) gadgets, each corresponding to a color in the edge-coloring. With this first step, the number of gadgets is down from Θ(r×w2) to Θ(r×w). The second step uses the fact that two gadgets in non-consecutive layers do not have common neighbors. Hence, one can partition the layers into odd and even layers such that gadgets in odd (resp. even) do not share neighbors. Then, one can take one merged gadget in each odd (resp. even) layer and merge all these gadgets into one. This permits to merge Θ(r) gadgets into one and by repeating this operation one can diminish the number of gadgets from Θ(r×w) to Θ(w). This strategy, which is the crux of the second stage, is implemented in the proof of Theorem 5 and constitutes the finishing touch to show our impossibility result.

3.2 Formalization

In this subsection, we first give a formalization of the adversary’s behavior that forms the basis of the first stage outlined in Section 3.1, along with additional explanations. In the full version of the paper [12] this formalization is then followed by our complete impossibility proof. Due to space constraints, in this current short version, the formalization will be only followed by the main theorem of our impossibility proof and its corollary.

Before going any further, we need to introduce some extra notations. Let α (resp. r) be any positive real (resp. any positive integer). Let A(α,r) be an algorithm solving distance-constrained exploration for all instances of (α,r) and let (G,ls,α) be an instance of (α,r). We will denote by 𝚌𝚘𝚜𝚝(A,(G,ls,α)) the number of edge traversals prescribed by A(α,r) with instance (G,ls,α). Moreover, for every integer 0i𝚌𝚘𝚜𝚝(A,(G,ls,α)), we will denote by 𝙼(A,(G,ls,α),i) (resp. 𝙴(A,(G,ls,α),i)) the memory of the agent (resp. the set of edges that have been traversed by the agent) after the first i edge traversals prescribed by A(α,r) with instance (G,ls,α). We will also denote by 𝙴(A,(G,ls,α),i)¯ the set of edges of G that are not in 𝙴(A,(G,ls,α),i). Finally, for every integer 1i𝚌𝚘𝚜𝚝(A,(G,ls,α)), we will denote by 𝚗𝚘𝚍𝚎(A,(G,ls,α),i) (resp. 𝚎𝚍𝚐𝚎(A,(G,ls,α),i)) the node of G that is occupied after the ith edge traversal (resp. the edge of G that is explored during the ith edge traversal) prescribed by A(α,r) with instance (G,ls,α). By convention, the source node will be sometimes denoted by 𝚗𝚘𝚍𝚎(A,(G,ls,α),0).

Algorithm 1 gives the pseudocode of function AdversaryBehavior. It corresponds to the formalization of the adversary’s behavior that underlies our first stage. It takes as input the parameters r and α of the distance-constrained exploration problem, an integer w and an exploration algorithm A solving the problem for all instances of (α,r). Under certain conditions (see Lemma 3.3 in the full version of the paper [12]), the function returns a graph G with the following two properties. The first property is that (G,0,α) is an instance of (α,r) and G((1+α)r+1,w,r). The second property is that the penalty incurred by A on instance (G,0,α), by the time of the first visit of a gadget, is in Ω(w2) (i.e., the target penalty of the first stage). To achieve this, function AdversaryBehavior relies on function GraphModification, whose pseudocode is provided in Algorithm 2.

Algorithm 1 Function AdversaryBehavior(r,α,A,w).

Conceptually, AdversaryBehavior proceeds in steps 0,1,2,3, etc. In step 0 (cf. line 1 of Algorithm 1), we choose an arbitrary graph G0 of ((1+α)r+1,w,r). In step x1 (cf. lines 3 to 7 of Algorithm 1), we begin with a graph Gx1 of ((1+α)r+1,w,r) for which the first (x1) edge traversals prescribed by A from the node labeled 0 are “conformed” with the bad scenario of the first stage. The goal is to ensure that this conformity extends to the first x edge traversals as well. This is accomplished by deriving a graph Gx, which also belongs to ((1+α)r+1,w,r), from graph Gx1. The derivation is handled by function GraphModification that uses as inputs the graph Gx1, the index x1, the algorithm A and the parameter α. If x<𝚌𝚘𝚜𝚝(A,(Gx,0,α)), then there exists a (x+1)th edge traversal in the execution of A from the node labeled 0 in Gx, and thus we can continue the process with step x+1. Otherwise, the algorithm stops and returns graph Gx.

When we mentioned above that in step x1, we aim at extending the bad scenario till the xth edge traversal included, we mean that GraphModification(Gx1,α,A,x1) returns a graph Gx such that (1) 𝙼(A,(Gx1,0,α),x1)=𝙼(A,(Gx,0,α),x1) (i.e., from the agent’s perspective, there is no difference between the first x1 edge traversals in Gx1 and those in Gx) and (2), if possible, the xth edge traversal in Gx brings the agent closer to the penultimate level (in order to eventually force incrementing the penalty). The first point is particularly important for at least preserving the penalty already incurred, while the second is important for increasing it. However, while the first point will always be guaranteed by GraphModification (cf. Lemma 3.1 in the full version of the paper [12]), the second is not always useful or even achievable. This may happen when the agent is at a node of the last level or has previously explored a red edge (in which cases the goal of the bad scenario should have been already met, as explained in Section 3.1) or when the agent is located at the source node (in which case the next move, if any, is in line with the bad scenario as it can only make the agent go down to a node of level 1). This may also happen when the agent decides to recross an already explored edge as modifying the traversal would violate the agent’s memory (but, this is not an issue, as it increases the penalty as intended). In all these situations (cf. the test of line 4 of Algorithm 2), no modifications will be made and Gx=Gx1. (In the rest of the explanations, all line numbers concern Algorithm 2, which we will omit to mention for the sake of brevity).

Algorithm 2 Function GraphModification(G,α,A,t).

Assume that the test at line 4 evaluates to true during the execution of GraphModification(Gx1,α,A,x1) and denote by Gx1 the graph obtained right after the (possible) modifications made to Gx1 by lines 5 to 10. When evaluating the test at line 4, the agent is thus located at some node u of some level i<=(1+α)r+1 after the first x1 edge traversals prescribed by A in Gx1. At this point, we may face several possible situations, which will be all addressed in the formal proof. But here, one is perhaps more important to pinpoint than the others. It is when the following two predicates are satisfied right before the xth edge traversal in Gx1. The first predicate, call it p1(u,i), is that node u is incident to at least one unexplored edge of (i,i+1) and the second predicate, call it p2(i), is that there is at least one unexplored green edge in (i,i+1). This situation is interesting because lines 5 to 10 guarantee that the xth edge traversal in Gx1 will correspond to a traversal of a green edge leading the agent from node u (of level i) to a node u of level i+1, as intended in the bad scenario. Note that, if i+1==(1+α)r+1 (i.e., the index of the last level in the graph) then algorithm A violates the distance constraint (in view of the fact that no red edge has been yet visited), which is a contradiction. Hence, we have i<1 and, according to the bad scenario we aim at forcing the agent into, we want the (x+1)th move from node u (of level i+1) to lead the agent to level i+2 or to be a traversal of a previously explored edge. In the situation where p1(u,i+1) and p2(i+1) are also satisfied right before the (x+1)th edge traversal in Gx1, the test at line 12 evaluates to false and Gx1=Gx. This is a good situation for the bad scenario. Indeed, if the (x+1)th move in Gx is not a traversal of a previously explored edge, then, in the next call to GraphModification, the test at line 4 evaluates to true and lines 5 to 10 will ensure that the (x+1)th edge traversal in Gx will correspond to a traversal of a green edge leading the agent to a node u′′ of level i+2.

But what if we are not in such a good situation, where both p1(u,i+1) and p2(i+1) are satisfied right before the (x+1)th edge traversal in Gx1? In fact, if p2(i+1) is not satisfied, then there is at least one layer for which at least half the green edges has been explored, which means that the target penalty has already been paid (as explained in Section 3.1 and shown in the proof of Lemma 3.3 in the full version of the paper [12]). Hence, the tricky case is when p2(i+1) holds but p1(u,i+1) does not, right before the (x+1)th edge traversal in Gx1. This is exactly where lines 13 to 22 come into the picture (the test at line 12 then evaluates to true during the execution of GraphModification(Gx1,α,A,x1)). Using function switch-edges, these lines attempt to reroute the xth edge traversal in Gx1 towards a node v, different from u but also of level i+1, such that p1(v,i+1) holds right before the (x+1)th traversal in Gx. The feasibility of such rerouting will be guaranteed as long as some conditions are met, particularly that there is no layer for which at least half the green edges has been explored (cf. Lemma 3.2 in the full version of the paper [12]).

The switch performed at line 22 involves two green edges. One of these edges is naturally {u,u}. The other is a green edge (from the same layer as {u,u}) resulting from the merge of two red edges achieved by move-gadget, which is performed, right before the switch, at line 17. Proceeding in this way, rather than simply selecting an existing green edge, turns out to be essential to maximize the number of possible reroutings ensuring predicate p1, and thus to get the desired penalty of Ω(w2) before the first exploration of a red edge. Using Algorithms 1 and 2, we get the following theorem, whose proof and the intermediate lemmas on which it relies are available in the full version of the paper [12].

Theorem 5.

Let α be any positive real and let r6 be any integer. Let A(α,r) be an algorithm solving distance-constrained exploration for all instances of (α,r). For every integer k>1, there exists an instance ((V,E),ls,α) of (α,r) such that |V|k and for which the penalty of A is at least (|V|16(2(1+α)r+3))2.

Note that in the statement of Theorem 5, the instance ((V,E),ls,α) can always be chosen so that r2o(|V|). Therefore, we have the following corollary.

Corollary 6.

Let α be any positive real and let r6 be any integer. There exists no algorithm solving distance-constrained exploration for all instances ((V,E),ls,α) of (α,r) with a linear penalty in |V|.

4 Impossibility Result for Fuel-constrained Exploration

In this section, we observe that a linear penalty in |V| cannot be obtained for the task of fuel-constrained exploration either. Actually, using much simpler arguments, we can quickly get a lower bound stronger than the one established for distance-constrained exploration in Theorem 5. As for the previous variant, the tuple (G,ls,α) can consistently define an instance of the fuel-constrained exploration problem. Hence, we can reuse it analogously, along with the set (α,r), in the statements of the next theorem and corollary dedicated to fuel-constrained exploration. The proof of this theorem is in the full version of the paper[12].

Theorem 7.

Let α be any positive real and let r2 be any integer such that rα1. Let A(α,r) be an algorithm solving fuel-constrained exploration for all instances of (α,r). For every positive integer k, there exists an instance ((V,E),ls,α) of (α,r) such that |V|k and for which the penalty of A is at least |V|28α.

From Theorem 7, we immediately get the following corollary.

Corollary 8.

Let α be any positive real and let r2 be any integer such that rα1. There exists no algorithm solving fuel-constrained exploration for all instances ((V,E),ls,α) of (α,r) with a linear penalty in |V|.

5 Conclusion

In this paper, we addressed open problems posed by Duncan et al. in [15], who asked whether distance-constrained or fuel-constrained exploration could always be achieved with a penalty of O(|V|). For each of these two exploration variants, we completely solved the open problem by providing a strong negative answer, which in turn highlights a clear difference with the task of unconstrained exploration that can always be conducted with a penalty of 𝒪(|V|) (cf. [20]). It should be noted that we did not make any attempt at optimizing the lower bounds on the penalties: our only concern was to prove their nonlinearity with respect to |V|. However, for the case of fuel-constrained exploration, there is not much room for improvement: we showed that a penalty of o(|V|2) cannot be guaranteed, which is almost optimal as it is known that the problem can always be solved with a penalty of O(|V|2) (cf. [15]).

In contrast, such an observation cannot be made for the case of distance-constrained exploration. Indeed, the best-known algorithm for solving distance-constrained exploration can sometimes entail a penalty of Θ(|V|2) (cf. [15]), while we showed that the penalty for this variant can sometimes be of order |V|2r2. Hence, this leaves fully open the intriguing question of the optimal bound on the penalty for the task of distance-constrained exploration.

References

  • [1] Susanne Albers and Monika Rauch Henzinger. Exploring unknown environments. SIAM J. Comput., 29(4):1164–1188, 2000. doi:10.1137/S009753979732428X.
  • [2] Romas Aleliunas, Richard M. Karp, Richard J. Lipton, László Lovász, and Charles Rackoff. Random walks, universal traversal sequences, and the complexity of maze problems. In 20th Annual Symposium on Foundations of Computer Science, San Juan, Puerto Rico, 29-31 October 1979, pages 218–223. IEEE Computer Society, 1979. doi:10.1109/SFCS.1979.34.
  • [3] Baruch Awerbuch, Margrit Betke, Ronald L. Rivest, and Mona Singh. Piecemeal graph exploration by a mobile robot. Inf. Comput., 152(2):155–172, 1999. doi:10.1006/inco.1999.2795.
  • [4] Baruch Awerbuch and Stephen G. Kobourov. Polylogarithmic-overhead piecemeal graph exploration. In Peter L. Bartlett and Yishay Mansour, editors, Proceedings of the Eleventh Annual Conference on Computational Learning Theory, COLT 1998, Madison, Wisconsin, USA, July 24-26, 1998, pages 280–286. ACM, 1998. doi:10.1145/279943.279998.
  • [5] Michael A. Bender, Antonio Fernández, Dana Ron, Amit Sahai, and Salil P. Vadhan. The power of a pebble: Exploring and mapping directed graphs. Inf. Comput., 176(1):1–21, 2002. doi:10.1006/INCO.2001.3081.
  • [6] Margrit Betke, Ronald L. Rivest, and Mona Singh. Piecemeal learning of an unknown environment. Mach. Learn., 18(2-3):231–254, 1995. doi:10.1007/BF00993411.
  • [7] Manuel Blum and Dexter Kozen. On the power of the compass (or, why mazes are easier to search than graphs). In 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Michigan, USA, 16-18 October 1978, pages 132–142. IEEE Computer Society, 1978. doi:10.1109/SFCS.1978.30.
  • [8] Lothar Budach. On the solution of the labyrinth problem for finite automata. J. Inf. Process. Cybern., 11(10-12):661–672, 1975.
  • [9] Jérémie Chalopin, Shantanu Das, and Adrian Kosowski. Constructing a map of an anonymous graph: Applications of universal sequences. In Chenyang Lu, Toshimitsu Masuzawa, and Mohamed Mosbah, editors, Principles of Distributed Systems - 14th International Conference, OPODIS 2010, Tozeur, Tunisia, December 14-17, 2010. Proceedings, volume 6490 of Lecture Notes in Computer Science, pages 119–134. Springer, 2010. doi:10.1007/978-3-642-17653-1_10.
  • [10] Shantanu Das. Graph explorations with mobile agents. In Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro, editors, Distributed Computing by Mobile Entities, Current Research in Moving and Computing, volume 11340 of Lecture Notes in Computer Science, pages 403–422. Springer, 2019. doi:10.1007/978-3-030-11072-7_16.
  • [11] Xiaotie Deng and Christos H. Papadimitriou. Exploring an unknown graph. J. Graph Theory, 32(3):265–297, 1999. doi:10.1002/(SICI)1097-0118(199911)32:3<265::AID-JGT6>3.0.CO;2-8.
  • [12] Stéphane Devismes, Yoann Dieudonné, and Arnaud Labourel. Graph exploration: The impact of a distance constraint. CoRR, abs/2410.13386, 2024. doi:10.48550/arXiv.2410.13386.
  • [13] Yoann Dieudonné and Andrzej Pelc. Deterministic network exploration by a single agent with byzantine tokens. Inf. Process. Lett., 112(12):467–470, 2012. doi:10.1016/J.IPL.2012.03.017.
  • [14] Gregory Dudek, Michael Jenkin, Evangelos E. Milios, and David Wilkes. Robotic exploration as graph construction. IEEE Trans. Robotics Autom., 7(6):859–865, 1991. doi:10.1109/70.105395.
  • [15] Christian A. Duncan, Stephen G. Kobourov, and V. S. Anil Kumar. Optimal constrained graph exploration. ACM Trans. Algorithms, 2(3):380–402, 2006. doi:10.1145/1159892.1159897.
  • [16] Pierre Fraigniaud, David Ilcinkas, Guy Peer, Andrzej Pelc, and David Peleg. Graph exploration by a finite automaton. Theor. Comput. Sci., 345(2-3):331–344, 2005. doi:10.1016/J.TCS.2005.07.014.
  • [17] Frank Hoffmann. One pebble does not suffice to search plane labyrinths. In Ferenc Gécseg, editor, Fundamentals of Computation Theory, FCT’81, Proceedings of the 1981 International FCT-Conference, Szeged, Hungary, August 24-28, 1981, volume 117 of Lecture Notes in Computer Science, pages 433–444. Springer, 1981. doi:10.1007/3-540-10854-8_47.
  • [18] Dénes König. Über graphen und ihre anwendung auf determinantentheorie und mengenlehre. Mathematische Annalen, 77(4):453–465, 1916.
  • [19] Michal Koucký. Universal traversal sequences with backtracking. Journal of Computer and System Sciences, 65(4):717–726, 2002. Special Issue on Complexity 2001. doi:10.1016/S0022-0000(02)00023-5.
  • [20] Petrisor Panaite and Andrzej Pelc. Exploring unknown undirected graphs. J. Algorithms, 33(2):281–295, 1999. doi:10.1006/JAGM.1999.1043.
  • [21] Omer Reingold. Undirected connectivity in log-space. J. ACM, 55(4):17:1–17:24, 2008. doi:10.1145/1391289.1391291.
  • [22] Claude E. Shannon. Presentation of a maze-solving machine. In 8th Conference of the Josiah Macy Jr. Found. (Cybernetics), pages 173–180, 1951.