Abstract 1 Introduction 2 Notations and preliminaries 3 Some definitions 4 Potentials: the global perspective 5 Rigid vertices 6 Restricting to subgraphs 7 Putting the pieces together 8 Conclusion References

Token Sliding Independent Set Reconfiguration on Block Graphs111A major part of the work that led to the results in this manuscript was done when both authors were affiliated with the Indian Statistical Institute, Chennai Centre

Mathew C. Francis ORCID Indian Institute of Technology, Palakkad, India Veena Prabhakaran ORCID IITM Pravartak Technologies Foundation, Chennai, India
Abstract

Let S be an independent set of a simple undirected graph G. Suppose that each vertex of S has a token placed on it. The tokens are allowed to be moved, one at a time, by sliding along the edges of G while maintaining the property that after each move, the vertices having tokens always form an independent set of G. We would like to determine whether the tokens can be eventually brought to stay on the vertices of another independent set S of G in this manner. In other words, we would like to decide if we can transform S into S through a sequence of steps, each of which involves substituting a vertex in the current independent set with one of its neighbours to obtain another independent set. This problem of determining if one independent set of a graph “is reachable” from another independent set of it is known to be PSPACE-hard even for split graphs, planar graphs, and graphs of bounded treewidth. Polynomial time algorithms have been obtained for certain graph classes like trees, interval graphs, claw-free graphs, and bipartite permutation graphs. We present a polynomial time algorithm for the problem on block graphs, which are the graphs in which every maximal 2-connected subgraph is a clique. Our algorithm is the first generalization of the known polynomial time algorithm for trees to a larger class of graphs.

Keywords and phrases:
Token sliding independent set reconfiguration, block graphs, polynomial time algorithm
Funding:
Veena Prabhakaran: DST SERB grant no: PDF/2022/002117 and the IITM Pravartak Technologies Foundation.
Copyright and License:
[Uncaptioned image] © Mathew C. Francis and Veena Prabhakaran; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Mathematics of computing Graph algorithms
Related Version:
Full Version: https://arxiv.org/abs/2410.07060 [15]
Editors:
C. Aiswarya, Ruta Mehta, and Subhajit Roy

1 Introduction

A reconfiguration problem on a graph G looks at how two feasible solutions to a computational problem on G relate to one another (all graphs considered in this paper are simple and undirected unless otherwise mentioned). It involves determining, given a graph G and two feasible solutions of some computational problem on G, whether there is a step-by-step transformation from one solution to the other through a series of intermediate solutions adhering to a set of rules. Note that each intermediate solution also has to be a feasible solution to the same computational problem on G. Reconfiguration problems have been studied for various computational problems like the independent set problem [18, 34, 6, 26], dominating set problem [14, 9], vertex cover problem [28, 32, 26], matching problem [4, 26, 33], and vertex colouring problem [18, 11].

The “independent set reconfiguration” problem can be defined as follows. Suppose that G is a graph and C,C are two independent sets of G. Imagine that each vertex in C has a token placed on it. We would like to determine if there is a sequence of transformation steps that can be applied on the set of tokens so that the tokens eventually are on the vertices of C. Each transformation step must be in accordance with a predetermined set of rules, and at the end of each move, the vertices having tokens on them have to again form an independent set of G. Based on the set of rules governing the transformation steps, mainly three types of independent set reconfiguration problems have been studied in the literature – namely, the “token sliding” [5, 31], the “token jumping” [27, 31] and the “token addition/removal” [31] independent set reconfiguration problems. (Note that these three models have been studied also for reconfiguration problems other than the independent set reconfiguration problem [29, 28, 17, 16].) It has been shown that the token jumping and the token addition/removal models are equivalent for independent set reconfiguration [30]. In the token sliding model introduced by Hearn and Demaine [18], which will be the focus of our study, the only allowed transformation step is the movement of a token from the vertex it is on to one of its neighbours (the token can be imagined to be “sliding” along the edge between them).

Formally, in the token sliding model for the independent set reconfiguration problem, given a graph G and two independent sets C,C of G, it has to be determined if there exists a sequence of independent sets C=C0,C1,,Ck=C, where k0, such that for each i{0,1,,k1}, Ci+1=(Ci{u}){v}, for some uCi and edge uv of G. Note that if such a sequence exists then |C0|=|C1|==|Ck|, and therefore the problem is trivial if |C||C| (in this case, C cannot be transformed into C). So it is customary to assume that the two input independent sets are of the same cardinality. We call this decision problem TS-Ind-set reconfig, which we define formally in Section 2.

The problem TS-Ind-set reconfig was first observed to be PSPACE-complete for general graphs by Hearn and Demaine [18]. In fact, their result implies that the problem is PSPACE-complete even for subcubic planar graphs (see [7, 30]). Later, the problem was shown to be PSPACE-complete for perfect graphs by Kamiński, Medvedev and Milanič [30], and this was further improved by Lokshtanov and Mouawad [31], who showed that the problem remains PSPACE-hard even for bipartite graphs. It was shown that the problem is PSPACE-hard also for another subclass of perfect graphs called split graphs by Belmonte et al. [2]. Note that split graphs form a subclass of chordal graphs and even hole-free graphs, and hence the problem is PSPACE-complete for chordal graphs and even-hole free graphs as well. Wrochna [34] showed that the problem is PSPACE-complete when restricted to graphs of bounded bandwidth, which implies that the problem is PSPACE-complete for graphs of bounded treewidth, or in fact bounded pathwidth.

Demaine et al. [12] showed that TS-Ind-set reconfig is polynomial time solvable for trees. Polynomial time algorithms for the problem were obtained for claw-free graphs by Bonsma, Kamiński and Wrochna [8], for P4-free graphs by Kamiński, Medvedev and Milanič [30], for interval graphs by Bonamy and Bousquet [3], and for bipartite permutation graphs and bipartite distance-hereditary graphs by Fox-Epstein et al. [14].

Our contribution

A “block” of a graph G is defined to be a maximal connected subgraph H of G such that H is a graph without any cut-vertices. (Note that it follows from this definition that if an edge e of G is not contained in any cycle of G, then e together with its endpoints forms a block of G.) A block graph is an undirected graph in which each block is a clique. A simple way to visualize the structure of these graphs is through the following equivalent definition: every complete graph is a block graph, and every graph that is obtained by taking the disjoint union of a block graph G and a complete graph G and then identifying (i.e. merging) a vertex in G with a vertex in G is also block graph. Please refer Figure 3(a) for an example of a block graph and Section 2.2 for a formal definition of this graph class. Note that block graphs form a subclass of chordal graphs and a superclass of trees.

We prove that TS-Ind-set reconfig is polynomial-time solvable on block graphs. It is worth noting that our algorithm is the first generalization of the polynomial time algorithm of Demaine et al. for trees, since none of the other classes for which polynomial time algorithms for the problem have been obtained contains the class of trees. It was claimed in [23] and [21] that the problem can be solved in polynomial time on cactus graphs and block graphs respectively, but the authors of both papers have later announced that the algorithms are incorrect [20, 19] (also see [22, 24]), and that the complexity of the problem on both classes of graphs remains unresolved.

In this paper, we present an algorithm that takes as input a block graph G having b blocks, along with two independent sets C1,C2 of G, and determines in O(b4) time whether the independent set C1 can be transformed into the independent set C2 using token sliding. Note that b is at most |V(G)| and hence this algorithm runs in time O(|V(G)|4).

Our algorithm is a generalization of the polynomial-time algorithm for trees given in [12]. The algorithm for trees first determines which tokens are “rigid” in both input independent sets. A token in an independent set is said to be rigid if it cannot be moved from its position by any sequence of valid token movements. Determining which tokens in an independent set are rigid is not very difficult for trees – a token on a vertex u is rigid if and only if every neighbour v of u has a neighbour x other than u itself that has a token that is rigid for the tree containing x in the forest T{v}. This implies that it can be determined in linear time whether a token in a given independent set is rigid. Clearly, two independent sets whose set of vertices containing rigid tokens are unequal cannot be reconfigured with each other. Even if the vertices having rigid tokens is the same for both independent sets, if the two independent sets have an unequal number of tokens in any connected component that is obtained by the removal of the vertices containing the rigid tokens and their neighbours, it can be concluded that the independent sets are not reconfigurable with each other. It is shown in [12] that these two necessary conditions are also sufficient, i.e. any two independent sets that satisfy these two conditions can be reconfigured with each other. Thus it can be determined in linear time whether two independent sets in a tree are reconfigurable with each other. Further, their proof yields an algorithm that outputs a reconfiguration sequence of length O(n2) between the two input independent sets. Note that the result above implies that any two independent sets in a tree that have the same cardinality and contain no rigid tokens are reconfigurable with each other.

Even though similar to trees at first sight, the problem on block graphs presents many difficulties that hinder the construction of a polynomial-time algorithm similar to the one in [12]. For example, unlike for trees, two independent sets in a block graph that have the same cardinality and have no rigid tokens may not be reconfigurable with each other; see Figure 12 of [12]. This hints that instead of rigidity of tokens, one should perhaps find out which tokens are “trapped” within the blocks they are in (this is similar to the notion of “confined” tokens in [23]). However, determining which tokens are trapped in their blocks turns out to be not so straightforward.

A more important difference is perhaps the fact that in a block graph, there can be situations in which to insert one additional token into a branch of the block graph, an arbitrary number of tokens may first need to be taken out of that branch – a situation that never arises for a tree. An example of this phenomenon can be demonstrated as follows. In Figure 1, a block graph with some tokens placed on the vertices of an independent set is shown.

Figure 1: Diagram showing tokens placed in a part of a block graph (tokens are the solid black circles).

In the figure, 2k of the tokens are shown as solid black circles. There might be an arbitrary number of tokens in the set Z of vertices. For each i{1,2,,k}, let Ai={y1,y2}j{1,2,,i}{xj,uj,vj,wj}. It can be proved that in order to place a token on y2, we will have to go through an intermediate independent set in which there are at most k tokens in Ak (which means that at least k tokens that were originally in Ak are outside Ak at this point). This can be easily proved by induction on k. If k=1, then clearly, before reaching an independent set with a token on y2, we will have to reach an independent set with a token on v1, at which point there will be at most one token in A1. Let us assume inductively that the statement is true for k1. Suppose that through a sequence of reconfiguration steps, we place a token on y2. Then we know by the inductive hypothesis that there is some intermediate independent set in which there are at most k1 tokens in Ak1. Consider the first such independent set in the sequence of reconfiguration steps. By the choice of this independent set, it is clear that there is a token on vk in this independent set, which implies that there are no tokens on any other vertex of AkAk1. This means that there are at most k tokens in Ak in this independent set, and we are done.

Using the construction described above, one can create situations in which it does not seem straightforward to determine whether a token is “trapped” within its block. For example, in the situation shown in Figure 2, the token A can be moved out of the block in which it is in, but determining that fact does not seem to be as easy as it is for the case of trees (the reader is encouraged to try to find a sequence of token movements that can achieve this; one such strategy is shown in Figure 6 at the end). It can be seen from a careful study of our strategy, shown in Figure 6, that we are alternately “freeing up” more and more space on the “left” and “right” sides of the graph by using the space that has already been freed up on the other side. Each time, the newly created space allows us to place a token on one of the four bottom-most vertices.

Figure 2: Token A can be moved out of its block.

We hope that the strategy described above will serve as a motivational example for understanding Algorithm 1, which is the major part of our polynomial time algorithm for TS-Ind-set reconfig on block graphs. A sketch of the algorithm is as follows. Given a block graph G and a configuration of tokens occupying the vertices of an independent set I of G, the algorithm determines for each branch of G how many additional tokens (relative to the number of tokens in that branch in the starting configuration I) can be moved into that branch by any sequence of token movements, assuming that any number of tokens can actually be brought to enter the branch from other parts of the graph. Once these values are obtained for each branch of G, we can use them to determine “rigid vertices” corresponding to the independent set I, which are vertices on which a token can never be placed by any sequence of token movements, starting from the configuration I (note that these are different from the “rigid tokens” in [12]). We then show that similar to the algorithm of Demaine et al. [12] for trees, two independent sets I1 and I2 in a block graph are reconfigurable between each other if and only if the set of rigid vertices for each of these independent sets is exactly the same, and in the graph obtained by the removal of the rigid vertices, each connected component contains an equal number of tokens in both I1 and I2.

Note that the above description of the algorithm is only intended to develop intuition; we now give the formal definitions of the concepts that were alluded to above, which will enable us to state our algorithm and prove its correctness rigorously.

Note.

Due to space constraints, most of the intermediate lemmas required for proving the correctness of the algorithm have been stated without proofs. Please refer to the full version [15] of this paper for their proofs.

2 Notations and preliminaries

As usual, we let V(G) and E(G) denote the vertex set and edge set of a graph G. An edge between vertices u,vV(G) is denoted as uv. For SV(G), we denote by GS the graph obtained by removing the vertices in S from G; i.e. V(GS)=V(G)S and E(GS)=E(G){uvE(G):uS}. Similarly if FE(G), then we denote by GF the graph obtained by removing the edges in F from G; i.e. V(GF)=V(G) and E(GF)=E(G)F. For SV(G), we let G[S]=G(V(G)S). The graph G[S] is commonly known as the “subgraph that is induced in G by S”. A subgraph H of G is said to be an induced subgraph of G if H=G[S] for some SV(G). For a graph G and uV(G), we denote by NG(u) the neighbourhood of u in G. For SV, we define NG(S)=vSNG(v)S. When H is a subgraph of G, we abbreviate NG(V(H)) to just NG(H).

2.1 Reachability

Let G be a graph. We define a binary relation on the set of independent sets of G which has the property that for two independent sets I1 and I2 of G, we have I1I2 if and only if I1 can be transformed into I2 using at most one token movement. Formally, for two independent sets I1,I2 of G, we say that “I1I2” if one of the following holds:

  • I1=I2, or

  • v1,v2V(G) such that I1I2={v1}, I2I1={v2} and v1v2E(G).

Note that the relation is symmetric and reflexive. For independent sets I,I of a graph G, we say that I is reachable from I in G if there exist independent sets I0,I1,,Ik of G, where k0, such that I=I0I1Ik=I. Clearly, the relation “is reachable from” is an equivalence relation on the set of independent sets of G. Also, since the relation preserves cardinality, i.e. since |I1|=|I2| if I1I2, we have that two independent sets of G that are reachable from each other are of the same cardinality.

The decision problem TS-Ind-set reconfig is defined as follows.

TS-Ind-set reconfig
Input: A graph G, independent sets C1, C2 of G
Output: “Yes”, if C1 is reachable from C2 in G,
“No”, otherwise

The following observations, which are implicitly assumed in the literature about the token sliding independent set reconfiguration problem, are easy to see (see for example Observation 4.1 in [1]).

Observation 1.

Let G be any graph and I1,I2 be independent sets of G. Then I1 is reachable from I2 if and only if I1V(H) is reachable from I2V(H) for every connected component H of G.

Observation 2.

Let G be any graph, H a subgraph of G, and I1,I2 be independent sets of H. If I1 is reachable from I2 in H, then I1 is reachable from I2 in G.

2.2 Block graphs

A cut-vertex of a graph G is a vertex uV(G) such that G{u} has more connected components than G. A block in a graph G is a maximal subgraph of G which is isomorphic to a connected graph without any cut-vertices. For the sake of brevity of notation, we consider a block as just the set of vertices that make up the block. Thus, for us, a block of a graph G is a maximal set SV(G) such that G[S] is a connected graph that does not have any cut-vertices. A block graph is a graph in which each block is a clique. The following folklore observation can be easily seen to follow from the definition of a block graph.

Observation 3.

If G is a block graph, then every induced subgraph of G is also a block graph.

By Observation 1, it is enough to solve the TS-Ind-set reconfig problem on connected graphs. Let G be a connected block graph. Note that every vertex of G is contained in some block of G. The vertices of G that are contained in more than one block are exactly the cut-vertices of G. Every pair of adjacent vertices in G belongs to a unique block of G. We denote by Vcut(G) the set of cut-vertices of G and by (G) the set of blocks of G. It is easy to see that if uV(G)Vcut(G), then there is a unique block in (G) that contains u. For any uV(G), we denote by u(G) the set of all blocks in (G) that contain u. For any B(G), we define KB(G)=BVcut(G), i.e. KB(G) is the set of cut-vertices of G that also belong to B.

A block graph is commonly represented by its block-tree which is a tree having vertex set Vcut(G)(G) and edge set {uB:uVcut(G),Bu(G)} (see Figure 3). It is folklore that this definition indeed gives a tree (see for example Section 3.1 of [13]).

(a) G (b) Block tree of G (c) 𝒯(G)
Figure 3: A block graph G having four cut-vertices a,b,c,d and seven blocks B1,B2,,B7, its corresponding tree representation and 𝒯(G). In (b) and (c), the black vertices represent the cut-vertices of G and the white vertices the blocks of G.

For a connected block graph G, let 𝒯(G) denote its block-tree with each undirected edge replaced with a pair of directed edges, one pointing in each direction. Thus E(𝒯(G))={(u,B),(B,u):uVcut(G),Bu(G)}. For ease of notation we let 𝒫G=E(𝒯(G)). For each p𝒫G, we now define an induced subgraph G[p] of G as follows.

For uVcut(G) and Bu(G), we define G[(u,B)] (respectively G[(B,u)]) as the connected component containing u in the graph G{uvE(G):vB} (resp. G{uvE(G):vB}). Clearly, G[(u,B)] and G[(B,u)] are connected graphs. By Observation 3, we have that G[(u,B)] and G[(B,u)] are both block graphs. Most of the time, we abbreviate G[(u,B)] and G[(B,u)] to just G[u,B] and G[B,u] respectively (see Figure 4 for a schematic diagram of an example block graph G and two induced graphs G[u,B] and G[B,u] of it). We also abbreviate u(G[u,B]) and KB(G[B,u]) to βG(u,B) and κG(B,u) respectively. We omit the subscript G when the graph being considered is clear from the context.

Figure 4: A schematic diagram of a block graph G, and its two subgraphs corresponding to a cut-vertex u and a block B containing u.

We shall sometimes write just 𝒫 instead of 𝒫G, when the graph G is clear from the context. Let G be a connected block graph, uVcut(G), Bu(G) and p{(u,B),(B,u)}. We say that u “is the base of p”. Further, if p=(u,B), then we let p¯=(B,u) and if p=(B,u), then we let p¯=(u,B).

For p𝒫G, a set CV(G[p]) that is an independent set of G is called a p-independent set of G. Further, we define C¯=C{u}, where u is the base of p. For an independent set S of G, we let S[p] denote V(G[p])S. Notice that for an independent set S of G, the set S[p] is a p-independent set of G. Depending on the context, we shall sometimes consider a p-independent set of G to be an independent set of G as well. Given an independent set (or p-independent set) C of G, we say that a vertex u is under attack in C if NG(u)C. Note that if uC, then u is not under attack in C.

3 Some definitions

We first define, for a connected block graph G and for each p𝒫G, a non-negative integer dG(p) which we shall call the “depth” of p in G.

Definition 4.

Let G be a connected block graph and p𝒫G. If p=(B,u), for some uVcut(G) and Bu(G), and G[B,u] is a complete graph (equivalently, κG(B,u)=), then we define dG(p)=dG(B,u)=0. Otherwise, we define:

dG(p)={1+max{dG(v,B):vκG(B,u)}if p=(B,u) for some uVcut(G) and Bu(G)1+max{dG(B,u):BβG(u,B)}if p=(u,B) for some uVcut(G) and Bu(G)

Note that as before, we abbreviate dG(p) to just d(p) when the graph G is clear from the context.

Similarly, for each p𝒫G, we define a Boolean value uaG(p) inductively as follows. (Intuitively, if uaG(p)=True, it roughly indicates that the base u of p is under attack in any p-independent set of G in which the tokens cannot be moved away from u so as to create space in G[p]{u} for more tokens to enter via u.)

Definition 5.

Let G be a connected block graph and p𝒫G.

If dG(p)=0 then we define uaG(p)=True.

If p=(B,u) for some uVcut(G), Bu(G), and dG(p)>0, we define:

uaG(p)=uaG(B,u)=¬(vκG(B,u)uaG(v,B)(B=κG(B,u){u}))

On the other hand, if p=(u,B) for some uVcut(G), Bu(G), we define:

uaG(p)=uaG(u,B)=BβG(u,B)uaG(B,u)

As before, we drop the subscript G from uaG(p) when the graph under consideration is clear from the context.

Note.

While evaluating an arithmetic expression that contains Boolean values, we replace all True values with 1 and all False values with 0.

Suppose that C is a p-independent set of a connected block graph G for some p𝒫G. We define the “capacity of C”, denoted by cap(C), inductively as follows. (Intuitively, the capacity of a p-independent set roughly corresponds to the number of new tokens that can be inserted via the base u of p into G[p]{u} while ensuring that no token in G[p]{u} moves towards u.)

Definition 6.

Let G be a connected block graph, p𝒫G and C a p-independent set of G.

If p=(B,u) for some uVcut(G), Bu(G), then we define:

cap(C)=vκG(p)cap(C[v,B])+uaG(p)|BC¯|.

If p=(u,B) for some uVcut(G), Bu(G), we define:

cap(C)={0if Bu[p]:cap(C[B,u])=0and uaG(B,u)=TrueBβG[p](cap(C[B,u])uaG(B,u))+uaG(p)otherwise
(a) A block graph G1 with two independent sets C1 and C1 which are not reconfigurable with each other. Here, cap(C1[B1,x3])=cap(C1[B2,x3])=0 and uaG1(B1,x3)=uaG1(B2,x3)=True.
(b) A block graph G2 with two independent sets C2 and C2 which are reconfigurable with each other. Here, cap(C2[B1,x3])=cap(C2[B2,x3])=0, uaG2(B1,x3)=True and uaG2(B2,x3)=False.
Figure 5: Effect of the parameters cap(C[p]) and uaG(p) on reachability.

Figure 5 depicts how the parameters cap(C[p]) and uaG(p), for some p𝒫G, affect the possibility of moving a token to the base of p. Consider the graph G1 and the independent sets C1,C1 in Figure 5(a). In this example, the values cap(C1[B2,x3])=0 and uaG1(B2,x3)=True, together impose some properties (see Lemma 1(ii) of [15]) on C1[B2,x3] that prevent the token on x4 from reaching x3, which makes C1 and C1 not reconfigurable with each other. Now consider the graph G2 and the independent sets C2,C2 in Figure 5(b). In G2, since uaG2(B2,x3)=False, C2[B2,x3] exhibits a different property (see Lemma 3 of [15]) that allows the token on x4 to reach x3, and in turn x8, making C2 reachable from C2.

Observation 7.

Let G be a connected block graph, p𝒫G, and C a p-independent set of G. If dG(p)=0, then cap(C)=1|C¯|.

Proof.

From Definition 4, we know that there exists uVcut(G) and Bu(G) such that p=(B,u) and G[p] is a complete graph. Note that this means that V(G[p])=B. It follows directly from Definition 5 that uaG(p)=True. From Definition 6 and the fact that κG(p)=, we then have that cap(C)=1|BC¯|. Since V(G[p])=B, we have BC¯=C¯. Thus cap(C)=1|C¯|.

Let G be a connected block graph. Let uVcut(G) and 𝒜u(G). We say that an independent set C of G is (𝒜,u)-reachable from an independent set C of G if there exists independent sets C0,C1,,Ck of G, where k0, such that C=C0C1Ck=C and for each Bu(G)𝒜, C0[B,u]=C1[B,u]==Ck[B,u]. Observe that the relation “is (𝒜,u)-reachable from” is also an equivalence relation defined on the independent sets of G. We shall write “(B,u)-reachable” as a shorthand for ({B},u)-reachable and “(u,B)-reachable” as a shorthand for (u(G){B},u)-reachable. Notice that if p𝒫G, and C,C are independent sets of G such that C is p-reachable from C, then there exist independent sets C0,C1,,Ck, where k0, such that C=C0C1Ck=C and C0[p¯]=C1[p¯]==Ck[p¯].

Lemma 8.

Let C0,C1,,Ck, where k0, be independent sets of G such that C0C1Ck, and uVcut(G). If uC0C1Ck, then for each Bu(G), we have |C0[B,u]¯|=|Ck[B,u]¯|.

4 Potentials: the global perspective

Definition 9.

For a connected block graph G, and p𝒫G, we define the potential of p with respect to an independent set C of G, denoted by potG(C,p)=max{cap(C[p])+|C[p]¯||C[p]¯|:C is an independent set of G that is reachable from C}.

When the graph G is clear from the context, we sometimes abbreviate potG(C,p) to just pot(C,p). We claim that the procedure Compute-potentials, listed as Algorithm 1, when given a connected block graph G and an independent set C of it, computes the value of potG(C,p) for each p𝒫G.

Algorithm 1 The algorithm for computing potentials.

For the rest of this section, we assume that G is a connected block graph and C is an independent set of G. For p𝒫, let 𝐱[p] denote the final value of the variable y[p] that is computed by the procedure Compute-potentials(G,C). Our aim in this section will be to prove that for each p𝒫, 𝐱[p]=pot(C,p).

Let us analyze Algorithm 1 in detail. Suppose that the while loop starting on line 6 gets executed t times in total during the execution of Algorithm 1. For each i{1,2,,t} and p𝒫, we let y(i)[p] denote the value of the variable y[p] just before the i-th iteration of the while loop starts. Since it is clear that no variable y[p], for p𝒫, is updated during the last iteration of the while loop, it follows from the definition of 𝐱[p] that for each p𝒫, y(t)[p]=𝐱[p].

It is easy to see that the algorithm never decreases the value of a variable y[p], for any p𝒫, and that exactly one of the variables y[p], for p𝒫, gets updated during every iteration of the while loop other than the last iteration. Thus we have the following two observations.

Observation 10.

Let p𝒫. For 1i<jt, y(i)[p]y(j)[p], and therefore, 𝐱[p]=y(t)[p]y(1)[p]=0.

Observation 11.

For every i{2,3,,t}, there exists p𝒫 such that y(i)[p]>y(i1)[p] and y(i)[p]=y(i1)[p] for every p𝒫{p}.

Consider the last iteration of the while loop. Since this is the last iteration of the while loop, line 18 is not executed during this iteration. This means that the break statement of line 19 is never executed during this iteration, which further implies that the for loop of line 8 gets executed for every p𝒫.

Lemma 12.

For any uVcut(G) and Bu(G),

𝐱[B,u]=uκ(B,u)𝐱[u,B]+ua(B,u)|BC[B,u]¯|
Lemma 13.

For any uVcut(G) and Bu(G),
if B,B′′u(G) such that 𝐱[B,u]=𝐱[B′′,u]=0 and ua(B,u)=ua(B′′,u)=True, then

𝐱[u,B]=0

and otherwise,

𝐱[u,B]=Bβ(u,B)(𝐱[B,u]ua(B,u))+ua(u,B)

4.1 Time complexity of the algorithm

Lemma 14.

For any p𝒫, 𝐱[p]|(G[p])|.

Proof.

We prove this by induction on d(p). For the base case, observe that if d(p)=0, then p=(B,u) for some uVcut(G) and Bu(G), ua(B,u)=True, and G[B,u] is a complete graph. Then we have by Lemma 12 that 𝐱[p]=1|BC[B,u]¯|1=|(G[B,u])|. This proves the base case. For the inductive step, let us assume that for all p𝒫 such that d(p)<d(p), the statement of the lemma is true. Suppose that p=(B,u) for some uVcut(G) and Bu(G). Then from Lemma 12, we have that 𝐱[B,u]=uκ(B,u)𝐱[u,B]+ua(B,u)|BC[B,u]¯|. Since d(u,B)<d(B,u) for all uκ(B,u), we can use the induction hypothesis to conclude that 𝐱[B,u]uκ(B,u)|(G[u,B])|+ua(B,u)|BC[B,u]¯|. It is easy to see that |(G[B,u])|=1+uκ(B,u)|(G[u,B])|. We thus have that 𝐱[B,u]|(G[B,u])|1+ua(B,u)|BC[B,u]¯||(G[B,u])|. Next, suppose that p=(u,B) for some uVcut(G) and Bu(G). Then we have by Lemma 13 that either 𝐱[u,B]=0 or 𝐱[u,B]=Bβ(u,B)(𝐱[B,u]ua(B,u))+ua(u,B). In the former case, we are done since |(G[u,B])|0. So we assume that 𝐱[u,B]=Bβ(u,B)(𝐱[B,u]ua(B,u))+ua(u,B). Since d(B,u)<d(u,B) for all Bβ(u,B), we have by the induction hypothesis that 𝐱[u,B]Bβ(u,B)(|(G[B,u])|ua(B,u))+ua(u,B). It can be seen from Definition 5 that if ua(B,u)=True for any Bβ(u,B), then ua(u,B)=True. Since Bβ(u,B)|(G[B,u])|=|(G[u,B])|, it follows that Bβ(u,B)(|(G[B,u])|ua(B,u))+ua(u,B)|(G[u,B])|. Thus, we get 𝐱[u,B]|(G[u,B])|, and we are done.

Lemma 15.

The procedure Compute-potentials(G,C) runs in time O(|(G)|4).

Proof.

Let n=|Vcut(G)| and m=|(G)|. Note that an adjacency list representation of the block tree of 𝒯(G) can be computed in O(|V(G)|+|E(G)|) time [25]. Recall that 𝒫=E(𝒯(G)). Thus the operations like determining β(u,B) and κ(B,u), for some uVcut(G) and Bu(G), become just adjacency checking operations on 𝒯(G). From Observations 10 and 11, it follows that the while loop of Algorithm 1 gets executed at most p𝒫𝐱[p] times, which by Lemma 14 is at most |𝒫|m times. It is not difficult to see that |𝒫|=2|E(𝒯(G))|=2(n+m1). Thus, we have that the while loop gets executed at most 2m(n+m1) times. As the for loop gets executed at most |𝒫| times inside each iteration of the while loop, and it takes O(n+m) time for one iteration of the for loop, we can conclude that each iteration of the while loop takes time at most O(|𝒫|(n+m))=O((n+m)2). Thus the total running time of the algorithm is O(m(n+m)3)=O(m4) (since |(G)|=mn=|Vcut(G)|).

4.2 Proof of correctness

Lemma 16.

Let p𝒫. There exists an independent set C of G that is reachable from C such that cap(C[p])𝐱[p] and |C[p]¯|=|C[p]¯|.

Lemma 17.

For every p𝒫 and every independent set C of G that is reachable from C, we have 𝐱[p]cap(C[p])+|C[p]¯||C[p]¯|.

Corollary 18.

For each p𝒫, 𝐱[p]=pot(C,p).

Proof.

Clearly, for each independent set C of G that is reachable from C, we have from Lemma 17 that cap(C[p])+|C[p]¯||C[p]¯|𝐱[p]. It follows that pot(C,p)𝐱[p]. From Lemma 16, we have that there exists an independent set C of G that is reachable from C such that cap(C[p])𝐱[p] and |C[p]¯|=|C[p]¯|. Then we have that cap(C[p])+|C[p]¯||C[p]¯|=cap(C[p])𝐱[p]. This implies that pot(C,p)𝐱[p]. This completes the proof. By the above corollary, we can reword Lemmas 12, 13, and 16 as follows.

Corollary 19.

Let G be any connected block graph and C be an independent set of G.

  1. (i)

    For any uVcut(G) and Bu(G),

    potG(C,(B,u))=uκG(B,u)potG(C,(u,B))+uaG(B,u)|BC[B,u]¯|
  2. (ii)

    For any uVcut(G) and Bu(G),

    if B,B′′u(G) such that potG(C,(B,u))=potG(C,(B′′,u))=0 and uaG(B,u)=uaG(B′′,u)=True, then

    potG(C,(u,B))=0

    and otherwise,

    potG(C,(u,B))=BβG(u,B)(potG(C,(B,u))uaG(B,u))+uaG(u,B)
  3. (iii)

    For each p𝒫G, there exists an independent set C of G that is reachable from C such that cap(C[p])potG(C,p) and |C[p]¯|=|C[p]¯|.

Also, Lemma 15 can now be reworded as:

Theorem 20.

Given a connected block graph G and an independent set C of it, the procedure Compute-potentials(G,C) runs in time O(|(G)|4) and computes the value potG(C,p) for each p𝒫G.

5 Rigid vertices

Let G be a connected block graph and C be any independent set of G.

Definition 21.

A vertex uVcut(G) is said to be rigid for C, if there exist B,Bu(G) such that potG(C,(B,u))=potG(C,(B,u))=0 and uaG(B,u)=uaG(B,u)=True.

Lemma 22.

If uVcut(G) is rigid for an independent set C of G, then there does not exist any independent set C of G that is reachable from C for which uC.

Lemma 23.

Let uVcut(G) such that u is not rigid for C and let Bu(G). If u is under attack in C[u,B] (i.e. |NG(u)C[u,B]|1), then there is an independent set C of G that is (u,B)-reachable from C such that |NG(u)C[u,B]|=1.

Lemma 24.

Let C1 and C2 be two independent sets of G and let W1 and W2 be the set of cut-vertices of G that are rigid for C1 and C2 respectively. If C2 is reachable from C1, then W1=W2.

Proof.

Suppose for the sake of contradiction that C2 is reachable from C1 and W1W2. We can assume without loss of generality that there exists uW1W2. Then we know that there exists Bu(G) such that uaG(B,u)=True, potG(C1,(B,u))=0, and potG(C2,(B,u))1. By Corollary 19(iii), we have that there is an independent set C2 that is reachable from C2 such that cap(C2[B,u])potG(C2,(B,u))1. Since C2 is reachable from C1, we have that C2 is also reachable from C1. Then by Definition 9, we get that cap(C2[B,u])|C2[B,u]¯|+|C1[B,u]¯|potG(C1,(B,u))=0, which implies that |C2[B,u]¯||C1[B,u]¯|1. Let D0,D1,,Dk be independent sets of G such that C1=D0D1Dk=C2. As |C2[B,u]¯||C1[B,u]¯|, we have from Lemma 8 that there exists some i{0,1,,k} such that uDi. Then Di is an independent set of G that is reachable from C1 and contains the vertex u that is rigid for C1. This contradicts Lemma 22.

6 Restricting to subgraphs

In this section, we show that given a connected block graph G and an independent set C of it, there are certain kinds of induced subgraphs H of G having the property that each potential of H has the same value as it had in G.

For this section, we assume that G is a connected block graph and C is an independent set of G. Let aVcut(G) and Aa(G). Let H=GV(G[a,A]). It is easy to see that H is a connected block graph. Observe that (H)=((G[A,a]){A})(A{a}) if |A|>2 and (H)=(G[A,a]){A} if |A|=2. Observe that Vcut(H)Vcut(G). We now define a function fH,G:(H)(G). For each B(H), we define fH,G(B)(G) as follows. If |A|=2, then we simply define fH,G(B)=B for all B(H). Otherwise, there exists a unique block A(H) such that AA. Then we define fH,G(B) as follows: we define fH,G(A)=A, and for every B(H){A}, we define fH,G(B)=B. It is easy to verify that for all B(H), fH,G(B) is well defined and fH,G(B)(G). For (u,B)𝒫H, we abuse notation and define that fH,G(u,B)=(u,fH,G(B)), and for (B,u)𝒫H, we similarly define fH,G(B,u)=(fH,G(B),u).

Lemma 25.

If aC, potG(C,(a,A))=0 and uaG(a,A)=True, then for each p𝒫H, we have uaH(p)=uaG(fH,G(p)) and potH(CV(H),p)=potG(C,fH,G(p)).

7 Putting the pieces together

Lemma 26.

Let G be a connected block graph and C be an independent set of G. Let H be a connected component of the graph obtained by removing all vertices of G that are rigid for C. Then there are no vertices in H that are rigid for CV(H).

Lemma 27.

Let G be a connected block graph and C1,C2 be independent sets of G. If no cut-vertex of G is rigid for C1 or C2, and |C1|=|C2|, then C2 is reachable from C1.

Proof.

We prove this lemma using induction on |C1|=|C2|=r. As the base case, we assume that r=1. Let C1={u} and C2={v}. Suppose that P=w1w2wk is a path from u to v in G such that w1=u and wk=v. Since G is connected, P is guaranteed to exist. Let D1=C1. For i{2,3,,k}, we define Di=(Di1{wi1}){wi}. Clearly, C1=D1D2Dk=C2, and hence C2 is reachable from C1. This proves the base case.

For the inductive step, we assume that if no cut-vertex of G is rigid for independent sets C1 and C2 of G, and |C1|=|C2|<r, then C2 is reachable from C1. Now, let us prove the lemma for C1 and C2. We claim that there exists lVcut(G) such that there exists at most one Bl(G) having κG(B,l). Indeed, we can choose as l an endpoint of a longest path in G whose both endpoints are cut-vertices of G. Choose as L a block from l(G){B}. Note that G[L,l] is a complete graph. Let hL{l}. First, we define independent sets S1,S2 of G such that hS1S2, S1 is reachable from C1, and S2 is reachable from C2.

Let i{1,2}.

If hCi, then we simply define Si=Ci and we are done. So we assume that hCi. Since NG(h)L, we know that |NG(h)Ci|1. Thus, if there exists vNG(h)Ci, then Si=(Ci{v}){h} is an independent set of G such that CiSi, and we are done. So we assume that ({h}NG(h))Ci=, or in other words, every vertex in Ci is at a distance of at least 2 from h in G. Choose a vertex vCi for which the distance between v and h in G is as small as possible. Let P=w1w2wk be the shortest path from v to h in G such that w1=v and wk=h (thus the distance between v and h in G is k1). Note that by our assumption, we have k3. Since G is a block graph, it can be easily seen that {w2,w3,,wk1}Vcut(G), and also that wk1=l. If for some j{3,4,,k}, there exists a vertex xNG(wj)Ci, then xwjwj+1wk is a path in G between x and h having length kj+1. Then x is a vertex in Ci such that the distance between it and h in G is smaller than the distance between v and h in G, which contradicts the choice of v. Therefore, wj is not under attack in Ci, or in other words NG(wj)Ci=, for any j{3,4,,k}.

Let X(G) such that X contains the edge w2w3. Notice that w2 is under attack in Ci[w2,X] (as w1Ci). By Lemma 23, there exists an independent set D that is (w2,X)-reachable from Ci such that |NG(w2)D[w2,X]|=1. Let NG(w2)D[w2,X]={y}. Observe that yw2wk is a path from y to h=wk in G. As D[X,w2]=Ci[X,w2], we have that NG(wj)D= for each j{3,4,,k}. Let D1=D and D2=(D1{y}){w2}. For j{3,4,,k}, we define Dj=(Dj1{wj1}){wj}. It follows from the observations above that each of D1,D2,,Dk is an independent set of G, and we also clearly have D=D1D2Dk. We define Si=Dk. Then Si is reachable from D, and hence also from Ci. We also have h=wkDk=Si.

Recall that l=wk1. Thus lDk1, and since Dk1Dk=Si, we have that NG(l)Si={h}. This implies that Si[l,B]={h} (recall that Bl(G) such that κG(B,l)). Let H=GV(G[l,B]). Clearly, H is a connected block graph. Note that we can define a function fH,G:𝒫H𝒫G as described in the beginning of Section 6. Since each BβG(l,B) is a complete graph, we have by Observation 7 that uaG(B,l)=True, and so in particular uaG(L,l)=True. Since hSi, this implies by Corollary 19(i) that potG(Si,(L,l))=0. Moreover, since Si[l,B]={h}, we have that for each BβG(l,B){L}, |Si[B,l]¯B|=0, which implies by Corollary 19(i) that potG(Si,(B,l))=1. Further, we get by Definition 5 that uaG(l,B)=True, which implies by Corollary 19(ii) that potG(Si,(l,B))=0. Therefore, since lSi, we get by Lemma 25 that for each p𝒫H, uaH(p)=uaG(fH,G(p)) and potH(SiV(H),p)=potG(Si,fH,G(p)).

Since Si is reachable from Ci and no vertex is rigid for Ci, by Lemma 24 it is clear that there does not exist a vertex that is rigid for Si. This implies that for each uVcut(G), there does not exist B,B′′u(G) such that potG(Si,(B,u))=potG(Si,(B′′,u))=0 and uaG(B,u)=uaG(B′′,u)=True. From our previous observation that for each p𝒫H, uaH(p)=uaG(fH,G(p)) and potH(SiV(H),p)=potG(Si,fH,G(p)), we get that for each uVcut(H), there does not exist B,B′′u(H) such that potH(SiV(H),(B,u))=potH(SiV(H),(B′′,u))=0 and uaH(B,u)=uaH(B′′,u)=True. This implies that in the graph H, no cut-vertex is rigid for the independent set SiV(H) of H.

We thus have that no cut-vertex of H is rigid for either of the independent sets S1V(H) or S2V(H) of H. Further, since |S1|=|C1|=|C2|=|S2|=r and S1[l,B]=S2[l,B]={h}, we have |S1V(H)|=|S2V(H)|=r1, which implies by the induction hypothesis that in H, S2V(H) is reachable from S1V(H). This implies that there exist independent sets R0,R1,,Rq of H, where q0, such that S1V(H)=R0R1Rq=S2V(H). For each j{0,1,,q}, since NG(h)V(H)=, it is clear that Rj=Rj{h} is an independent set of G. It is easy to see that for each j{0,1,,q1}, since RjRj+1, we also have RjRj+1. Moreover, as S1[l,B]=S2[l,B]={h}, we have R1=S1 and Rq=S2. Hence, we get S1=R0R1Rq=S2, which shows that S2 is reachable from S1. Since we have already showed that S1 is reachable from C1 and S2 is reachable from C2, we get that C2 is reachable from C1. Hence, we are done.

Theorem 28.

Let G be a block graph and let C1,C2 be independent sets of G. Let W1,W2 be the set of vertices of G that are rigid for C1,C2 respectively. Then C1 is reachable from C2 if and only if W1=W2, and for every connected component H of GW1, we have |C1V(H)|=|C2V(H)|.

Proof.

First, we prove the forward direction for which we consider the contrapositive statement. Suppose either W1W2 or there exists a connected component H of GW1 such that |C1V(H)||C2V(H)|. If W1W2, then by Lemma 24 we have that C1 is not reachable from C2 and we are done in this case. Hence, we assume that W1=W2 and that there exists a connected component H of GW1 such that |C1V(H)||C2V(H)|. Suppose for the sake of contradiction that C1 is reachable from C2. Then, there exists independent sets D0,D1,Dk, where k0, such that C1=D0D1Dk=C2. Let j=min{i{0,1,,k}:|DiV(H)||C1V(H)|}. Then clearly, we have j>0 and |Dj1V(H)|=|C1V(H)|. Since Dj1Dj, there exists uvE(G) such that (Dj1Dj)(DjDj1)={u,v}. As |DjV(H)||Dj1V(H)|, it must be the case that one of u,v is in V(H) and the other is not in V(H). Without loss of generality, assume that uV(H) and vV(H). Since uvE(G), it follows that vNG(H). Since H is a connected component of GW1, we now have that vW1, or in other words, v is rigid for C1. This means that one of Dj1, Dj is an independent set of G that is reachable from C1 that contains a vertex that is rigid for C1. This contradicts Lemma 22.

Next, we prove the reverse direction. Suppose that W1=W2 and for every connected component H of GW1, we have |C1V(H)|=|C2V(H)|. By Lemma 26, we have that each connected component H of GW1 has no vertex that is rigid for C1V(H) or C2V(H). For each connected component H of GW1, since |C1V(H)|=|C2V(H)|, applying Lemma 27 to H and the independent sets C1V(H) and C2V(H) of H, we can conclude that C1V(H) is reachable from C2V(H) in H. Moreover, by Lemma 22, we know that W1C1=W1C2=, which implies that C1,C2V(GW1). It now follows from Observation 1 that C1 is reachable from C2 in GW1, and then from Observation 2 that C1 is reachable from C2 in G.

Corollary 29.

TS-Ind-set reconfig is polynomial time solvable on block graphs.

Proof.

Consider an input instance (G,C1,C2) of the TS-Ind-set reconfig problem, where G is a block graph and C1,C2 are independent sets of G. We can assume that the input block graph G is connected, as otherwise, we can simply solve the problem on each connected component of G (Observation 1). Note that this means that |V(G)||E(G)|. We first run Compute-potentials(G,C1) and Compute-potentials(G,C2) to compute potG(C1,p) and potG(C2,p) for all p𝒫G. By Theorem 20, this can be done in O(|(G)|4) time. It is easy to see that once the potentials with respect to C1 and C2 have been computed, the set of vertices that are rigid for C1 and the set of vertices that are rigid for C2 can both be determined, and the equality of these sets checked, in O(|V(G)|+|E(G)|)=O(|E(G)|) time. If the set of vertices that are rigid is not the same for both C1 and C2, we can return “No” since we know by Theorem 28 that C2 is not reachable from C1. Otherwise, we remove the (common) set of rigid vertices for both C1 and C2 to obtain a graph G – this can be done in O(|V(G)|+|E(G)|)=O(|E(G)|) time. Clearly, in O(|E(G)|) time, we can determine the connected components of G and also determine if |C1V(H)|=|C2V(H)| for each connected component H of G. We return “No” if there exists some connected component H of G such that |C1V(H)||C2V(H)|, and otherwise we return “Yes”. From Theorem 28, it follows that our algorithm returns “Yes” if and only if the independent set C2 of G is reachable from C1. Clearly, this algorithm runs in time O(|(G)|4). This completes the proof.

8 Conclusion

Although Corollary 29 tells us that there is a polynomial time algorithm that can determine whether two independent sets in a block graph are reconfigurable with each other, that algorithm does not produce a reconfiguration sequence between the two independent sets. In fact, it is not even clear whether there is a reconfiguration sequence of polynomial length between any two independent sets in a block graph that are reconfigurable with each other. It was shown in Briański et al. [10] that for any two independent sets that are reconfigurable with each other in an interval graph, there is a reconfiguration sequence of length O(n3) between them (where n is the number of vertices in the graph). For trees, it is shown in Demaine et al. [12] that any two independent sets that are reconfigurable with each other have a reconfiguration sequence of length O(n2) between them.

References

  • [1] Rémy Belmonte, Tesshu Hanaka, Michael Lampis, Hirotaka Ono, and Yota Otachi. Independent set reconfiguration parameterized by modular-width. Algorithmica, 82(9):2586–2605, 2020. doi:10.1007/S00453-020-00700-Y.
  • [2] Rémy Belmonte, Eun Jung Kim, Michael Lampis, Valia Mitsou, Yota Otachi, and Florian Sikora. Token sliding on split graphs. Theory of Computing Systems, 65:662–686, 2021. doi:10.1007/S00224-020-09967-8.
  • [3] Marthe Bonamy and Nicolas Bousquet. Token sliding on chordal graphs. In Hans L. Bodlaender and Gerhard J. Woeginger, editors, Graph-Theoretic Concepts in Computer Science (WG 2017), volume 10520 of Lecture Notes in Computer Science, pages 127–139, Eindhoven, Netherlands, 2017. Springer International Publishing. doi:10.1007/978-3-319-68705-6_10.
  • [4] Marthe Bonamy, Nicolas Bousquet, Marc Heinrich, Takehiro Ito, Yusuke Kobayashi, Arnaud Mary, Moritz Mühlenthaler, and Kunihiro Wasa. The perfect matching reconfiguration problem. In Peter Rossmanith, Pinar Heggernes, and Joost-Pieter Katoen, editors, 44th International Symposium on Mathematical Foundations of Computer Science, MFCS 2019, August 26-30, volume 138 of LIPIcs, pages 80:1–80:14, Aachen, Germany, 2019. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPICS.MFCS.2019.80.
  • [5] Marthe Bonamy, Paul Dorbec, and Paul Ouvrard. Dominating sets reconfiguration under token sliding. Discrete Applied Mathematics, 301:6–18, 2021. doi:10.1016/j.dam.2021.05.014.
  • [6] Paul S. Bonsma. Independent set reconfiguration in cographs and their generalizations. Journal of Graph Theory, 83(2):164–195, 2016. doi:10.1002/JGT.21992.
  • [7] Paul S. Bonsma and Luis Cereceda. Finding paths between graph colourings: PSPACE-completeness and superpolynomial distances. Theoretical Computer Science, 410(50):5215–5226, 2009. doi:10.1016/j.tcs.2009.08.023.
  • [8] Paul S. Bonsma, Marcin Kamiński, and Marcin Wrochna. Reconfiguring independent sets in claw-free graphs. In R. Ravi and Inge Li Gørtz, editors, Algorithm Theory - SWAT 2014 - 14th Scandinavian Symposium and Workshops, July 2-4, 2014. Proceedings, volume 8503 of Lecture Notes in Computer Science, pages 86–97, Copenhagen, Denmark, 2014. Springer. doi:10.1007/978-3-319-08404-6_8.
  • [9] Nicolas Bousquet and Alice Joffard. TS-reconfiguration of dominating sets in circle and circular-arc graphs. In Evripidis Bampis and Aris Pagourtzis, editors, Fundamentals of Computation Theory - 23rd International Symposium, FCT 2021, September 12-15, Proceedings, volume 12867 of Lecture Notes in Computer Science, pages 114–134, Athens, Greece, 2021. Springer. doi:10.1007/978-3-030-86593-1_8.
  • [10] Marcin Briański, Stefan Felsner, Jȩdrzej Hodor, and Piotr Micek. Reconfiguring independent sets on interval graphs. In Filippo Bonchi and Simon J. Puglisi, editors, 46th International Symposium on Mathematical Foundations of Computer Science, MFCS 2021, August 23-27, volume 202 of LIPIcs, pages 23:1–23:14, Tallinn, Estonia, 2021. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.MFCS.2021.23.
  • [11] Luis Cereceda, Jan van den Heuvel, and Matthew Johnson. Connectedness of the graph of vertex-colourings. Discrete Mathematics, 308(5-6):913–919, 2008. doi:10.1016/j.disc.2007.07.028.
  • [12] Erik D. Demaine, Martin L. Demaine, Eli Fox-Epstein, Duc A. Hoang, Takehiro Ito, Hirotaka Ono, Yota Otachi, Ryuhei Uehara, and Takeshi Yamada. Linear-time algorithm for sliding tokens on trees. Theoretical Computer Science, 600:132–142, 2015. doi:10.1016/j.tcs.2015.07.037.
  • [13] Reinhard Diestel. Graph Theory, 4th Edition, volume 173 of Graduate texts in mathematics. Springer, Heidelberg, 2012.
  • [14] Eli Fox-Epstein, Duc A. Hoang, Yota Otachi, and Ryuhei Uehara. Sliding token on bipartite permutation graphs. In Khaled M. Elbassioni and Kazuhisa Makino, editors, Algorithms and Computation - 26th International Symposium, ISAAC 2015, December 9-11, volume 9472 of Lecture Notes in Computer Science, pages 237–247, Nagoya, Japan, 2015. Springer. doi:10.1007/978-3-662-48971-0_21.
  • [15] Mathew C. Francis and Veena Prabhakaran. Token sliding independent set reconfiguration on block graphs, 2024. doi:10.48550/arXiv.2410.07060.
  • [16] Ruth Haas and Karen Seyffarth. The k-dominating graph. Graphs and Combinatorics, 30(3):609–617, 2014. doi:10.1007/S00373-013-1302-3.
  • [17] Arash Haddadan, Takehiro Ito, Amer E. Mouawad, Naomi Nishimura, Hirotaka Ono, Akira Suzuki, and Youcef Tebbal. The complexity of dominating set reconfiguration. Theoretical Computer Science, 651:37–49, 2016. doi:10.1016/j.tcs.2016.08.016.
  • [18] Robert A. Hearn and Erik D. Demaine. PSPACE-completeness of sliding-block puzzles and other problems through the nondeterministic constraint logic model of computation. Theoretical Computer Science, 343(1-2):72–96, 2005. doi:10.1016/j.tcs.2005.05.008.
  • [19] Duc A. Hoang. A note regarding “Sliding Tokens on Block Graphs”. https://hoanganhduc.github.io/events/WALCOM2017/note.pdf, September 2019.
  • [20] Duc A. Hoang. A note regarding “Sliding Tokens on a Cactus”. https://hoanganhduc.github.io/events/ISAAC2016/note.pdf, July 2024.
  • [21] Duc A. Hoang, Eli Fox-Epstein, and Ryuhei Uehara. Sliding tokens on block graphs. In Sheung-Hung Poon, Md. Saidur Rahman, and Hsu-Chun Yen, editors, Algorithms and Computation: 11th International Conference and Workshops (WALCOM 2017), volume 10167 of Lecture Notes in Computer Science, pages 460–471. Springer, 2017. doi:10.1007/978-3-319-53925-6_36.
  • [22] Duc A. Hoang, Amanj Khorramian, and Ryuhei Uehara. Shortest reconfiguration sequence for sliding tokens on spiders. In Pinar Heggernes, editor, Algorithms and Complexity - 11th International Conference, CIAC 2019, May 27-29, pages 262–273, Rome, Italy, 2019. Springer International Publishing. doi:10.1007/978-3-030-17402-6_22.
  • [23] Duc A. Hoang and Ryuhei Uehara. Sliding tokens on a cactus. In Seok-Hee Hong, editor, 27th International Symposium on Algorithms and Computation (ISAAC 2016), volume 64 of Leibniz International Proceedings in Informatics (LIPIcs), pages 37:1–37:26, Dagstuhl, Germany, 2016. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ISAAC.2016.37.
  • [24] Duc A. Hoang and Ryuhei Uehara. Polynomial-time algorithms for sliding tokens on cactus graphs and block graphs, 2018. arXiv:1705.00429.
  • [25] John Hopcroft and Robert Tarjan. Algorithm 447: Efficient algorithms for graph manipulation. Communications of the ACM, 16(6):372–378, 1973.
  • [26] Takehiro Ito, Erik D. Demaine, Nicholas J.A. Harvey, Christos H. Papadimitriou, Martha Sideri, Ryuhei Uehara, and Yushi Uno. On the complexity of reconfiguration problems. Theoretical Computer Science, 412(12):1054–1065, 2011. doi:10.1016/j.tcs.2010.12.005.
  • [27] Takehiro Ito, Marcin Kamiński, and Hirotaka Ono. Fixed-parameter tractability of token jumping on planar graphs. In Hee-Kap Ahn and Chan-Su Shin, editors, Algorithms and Computation (ISAAC 2014), volume 8889 of Lecture Notes in Computer Science, pages 208–219, Jeonju, Korea, 2014. Springer International Publishing. doi:10.1007/978-3-319-13075-0_17.
  • [28] Takehiro Ito, Hiroyuki Nooka, and Xiao Zhou. Reconfiguration of vertex covers in a graph. IEICE Transactions on Information and Systems, 99-D(3):598–606, 2016. doi:10.1587/TRANSINF.2015FCP0010.
  • [29] Takehiro Ito, Hirotaka Ono, and Yota Otachi. Reconfiguration of cliques in a graph. Discrete Applied Mathematics, 333:43–58, 2023. doi:10.1016/j.dam.2023.01.026.
  • [30] Marcin Kamiński, Paul Medvedev, and Martin Milanič. Complexity of independent set reconfigurability problems. Theoretical Computer Science, 439:9–15, 2012. doi:10.1016/j.tcs.2012.03.004.
  • [31] Daniel Lokshtanov and Amer E. Mouawad. The complexity of independent set reconfiguration on bipartite graphs. ACM Transactions on Algorithms (TALG), 15(1):1–19, 2018. doi:10.1145/3280825.
  • [32] Amer E. Mouawad, Naomi Nishimura, Venkatesh Raman, and Sebastian Siebertz. Vertex cover reconfiguration and beyond. Algorithms, 11(2):20, 2018. doi:10.3390/A11020020.
  • [33] Noam Solomon and Shay Solomon. A generalized matching reconfiguration problem. In James R. Lee, editor, 12th Innovations in Theoretical Computer Science Conference, ITCS 2021, January 6-8, volume 185 of LIPIcs, pages 57:1–57:20, Virtual Conference, 2021. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPICS.ITCS.2021.57.
  • [34] Marcin Wrochna. Reconfiguration in bounded bandwidth and tree-depth. Journal of Computer and System Sciences, 93:1–10, 2018. doi:10.1016/j.jcss.2017.11.003.
Figure 6: Token movement steps that lead to a configuration in which token A can be moved out of its block.