Exploring the Tiers of Rooted Phylogenetic Network Space Using Tail Moves
Abstract
Popular methods for exploring the space of rooted phylogenetic trees use rearrangement moves such as rooted Nearest Neighbour Interchange (rNNI) and rooted Subtree Prune and Regraft (rSPR). Recently, these moves were generalized to rooted phylogenetic networks, which are a more suitable representation of reticulate evolutionary histories, and it was shown that any two rooted phylogenetic networks of the same complexity are connected by a sequence of either rSPR or rNNI moves. Here, we show that this is possible using only tail moves, which are a restricted version of rSPR moves on networks that are more closely related to rSPR moves on trees. The connectedness still holds even when we restrict to distance1 tail moves (a localized version of tail moves). Moreover, we give bounds on the number of (distance1) tail moves necessary to turn one network into another, which in turn yield new bounds for rSPR, rNNI and SPR (i.e. the equivalent of rSPR on unrooted networks). The upper bounds are constructive, meaning that we can actually find a sequence with at most this length for any pair of networks. Finally, we show that finding a shortest sequence of tail or rSPR moves is NPhard.
Keywords
Phylogenetic network Rearrangement Headmove operation Tailmove operation Network space DiameterMathematics Subject Classification
92D15 68R10 68R05 05C201 Introduction
Leaflabelled trees are routinely used in phylogenetics to depict the relatedness between entities such as species and genes. Accurate knowledge of these trees, commonly called phylogenetic trees, is vital for our understanding of the processes underlying molecular evolution, and thousands of phylogenetic trees are reconstructed from molecular data each day.
However, this representation is not suitable when reticulation events such as hybrid speciations (e.g. Abbott et al. 2013), horizontal gene transfers (e.g. Zhaxybayeva and Doolittle 2011) and recombinations (e.g. Vuilleumier and Bonhoeffer 2015) are involved in the evolution of the entities of interest. In such cases, a more suitable representation can be found in phylogenetic networks, where in its broadest sense a phylogenetic network can be thought of as a leaflabelled graph (directed or undirected), usually without parallel edges and degree2 nodes (Morrison 2011; Huson et al. 2010).
Common procedures used to reconstruct phylogenetic trees from biological data are tree rearrangement heuristics (Felsenstein 2004). These techniques consist of choosing an optimization criterion (e.g. maximum parsimony, maximum likelihood, a distancebased scoring scheme) or opting for a Bayesian approach, and then using tree rearrangement moves to explore the space of phylogenetic trees. These moves specify possible ways of generating alternative phylogenies from a given one, and their fundamental property is to be able to transform, by repeated application, any phylogenetic tree into any other phylogenetic tree. Several tree rearrangement moves have been defined in the past, the most commonly used ones being Nearest Neighbour Interchange (NNI) moves and Subtree Prune and Regraft (SPR) moves; when the phylogenetic trees are considered as rooted, i.e. directed and outbranching (i.e. singly rooted), we have their rooted versions: rNNI and rSPR moves.
Note also that a handful of rearrangement heuristics for phylogenetic networks have been published recently (see, for example, PhyloNET (Than et al. 2008) and the BEAST 2 addon SpeciesNetwork) and each of them uses its own set of rearrangement moves, e.g. the “Branch relocator” move in (Zhang et al. 2017) and the “Relocating the source of an edge” and “Relocating the destination of a reticulation edge” moves in (Yu et al. 2014). These sets of moves are often included among the ones cited in the previous paragraph; for example, the abovecited moves from (Yu et al. 2014) correspond, respectively, to head and tail moves (see Definitions 2.5 and 2.6) and their union correspond to the rSPR moves defined in (Gambette et al. 2017), c.f. next section. Since these papers do not focus on studying the properties of the moves they define, we will not discuss them here.
New diameter bounds for several rearrangement moves
Move  Diameter of tier k networks with n leaves  

Lower bound  Upper bound  
rSPR  \(n\varTheta (\sqrt{n})\)  \(2n+3k\) 
Tail  \(n\varTheta (\sqrt{n})\)  \(3(n+2k)\) 
rNNI  \(\varOmega (n \log (n))\)  \(O(n^2)\) 
\(\hbox {Tail}_1\)  \(\varOmega (n \log (n))\)  \(O(n^2)\) 
SPR  \(n+\frac{8}{3}k\) 
Finally, we show that the computation of a tail move sequence or rSPR sequence of shortest length is NPhard.
2 Definitions and Properties
2.1 Phylogenetic Networks
In this subsection, we define the combinatorial objects of interest in this article.
Definition 2.1
A rooted binary phylogenetic network \(N=(V,E)\) on a finite set X of taxa is a directed acyclic graph (DAG) with no parallel edges where the leaves (nodes of indegree1 and outdegree0) are bijectively labelled by X, there is a unique node of indegree0 and outdegree1—the root—and all other nodes are either tree nodes (indegree1 and outdegree2) or reticulations (indegree2 and outdegree1). We will write V(N), L(N) to denote the nodes and leaves of N, respectively. For a set of nodes \(Y \subseteq V\), we will write N[Y] to denote the subgraph of N induced by Y, and we will write \(N\setminus Y\) to denote \(N[V \setminus Y]\). For any directed acyclic graph D (including rooted binary phylogenetic networks), we will write D to denote the number of nodes in D.
A rooted binary phylogenetic tree is a rooted binary phylogenetic network with no reticulation nodes (all edges are directed outward from the root). For brevity, we henceforth simply use the terms network and tree.
Definition 2.2

Two nodes \(u,v \in V(N)\) are adjacent in N if and only if \(\phi (u)\) and \(\phi (v)\) are adjacent in \(N'\);

For any labelled node \(u \in L(N)\), \(\phi (u)\) is the node in \(L(N')\) that has the same label as u.
Let u and v be nodes in a network, and then we say u is above v and v is below u if \(u \le v\) in the order induced by the directed graph underlying the network. Similarly, if \(e=(x,y)\) is a directed edge of the network and u a node, then we say that e is above u if y is above u and e is below u if x is below u. Let \(e=(u,v)\) be an edge of a phylogenetic network, then we say that u is the tail of e and v is the head of e. In this situation, we also say that u is a parent of v, or u is directly above v and v is a child of u or v is directly below u. Note that in a tree T, there is always a unique lowest common ancestor (LCA) per pair of nodes of T. This is not the case for networks, where we can have several different LCAs.
Here, we are interested in studying the sets of networks with the same reticulation number:
Definition 2.3
Let X be a finite set of taxa. The kth tier (Francis et al. 2017; Huber et al. 2016) on X is the set of all networks with label set X and reticulation number k.
This interest comes from the fact that comparing optimization scores across networks with different reticulation numbers may be tricky, since a network generally allows a better fit with the data when its reticulation number is higher. For this reason, it is increasingly conventional (e.g. in Gambette et al. 2017) to make a distinction between “horizontal” rearrangement moves, enabling the exploration of a tier, and “vertical” moves, allowing a jump across tiers.
The next observation will be useful in the next sections:
Observation 2.4
As every nonroot, nonleaf node in a binary network is incident to exactly three edges, we have that \(3V = 2E + 2X + 2\). Subtracting \(2V = 2E  2k + 2\) from each side, we get that \(V = 2X + 2k\), which in turn implies that \(E = 2X + 3k  1\). Thus, any two binary networks in the kth tier on X have the same number of nodes and edges, not just the same number of reticulation nodes.
2.2 Rearrangement Moves
Definition 2.5
 1.
Deleting e;
 2.
Subdividing f with a new node \(v'\);
 3.
Suppressing the indegree1 outdegree1 node v;
 4.
Adding the edge \((u,v')\).
Head moves are only allowed if the resulting digraph is still a network, see Definition 2.1. We say that a head move is a distanced move if, after step 2, a shortest path from v to \(v'\) in the underlying undirected graph has length \(d+1\) (number of edges in the path).
Definition 2.6
 1.
Deleting e;
 2.
Subdividing f with a new node \(u'\);
 3.
Suppressing the indegree1 outdegree1 node u;
 4.
Adding the edge \((u',v)\).
Note that head moves are only possible for reticulation edges, that is, edges in which the head is a reticulation. This means that these moves are, in our opinion, not necessarily part of a natural generalization of rSPR moves on trees, which consist only of tail moves.
2.3 Properties of Tail Moves
From now on, we will mostly focus on tail moves (and hence on rooted networks). Note that not all edges of a network can be moved by a tail move; we introduce here the notion of movability of edges:
Definition 2.7
Let \(e=(u,v)\) be an edge in a network. Then, e is called nonmovable if u is the root, if u is a reticulation, or if the removal of e followed by suppressing u creates parallel edges. Otherwise, e is called movable.
There is only one situation in which moving a tail of an edge (u, v) can result in parallel edges: when there exists an edge from the parent of u to the child of u other than v. The situation is characterized in the following definition:
Definition 2.8
Let N be a network and let x, u, y be nodes of N. We say x, u and y form a triangle if there are edges (x, u), (u, y) and (x, y). The edge (x, y) is called the long edge and (u, y) is called the bottom edge of the triangle.
The interesting case in Definition 2.8 is when u is a tree node:
Observation 2.9
Let x, u and y form a triangle in a network, and let v be the other child of u. The edge (u, v) is nonmovable because this move would create parallel edges from x to y. The edges (u, y) and (x, y) are movable, however, and if (u, y) is moved sufficiently far up (i.e., destroying the triangle) then the new edge (x, v) is also movable.
The following observation is a direct consequence of Observation 2.9 and of the binary nature of the networks studied in this paper, and will play an important role in the arguments presented in the next section:
Observation 2.10
Let u be a tree node, then at least one of its child edges is movable because at most one of these has its tail in a triangle not containing its head.
Note that movability of an edge e does not imply that there exists a valid tail move for e: it only ensures that we can remove the tail without creating a clear violation of the definition of a network; it does not ensure that we can reattach it anywhere else. The following observation characterizes valid moves:
Observation 2.11
 1.
e is movable;
 2.
f is not below v;
 3.
\(t\ne v\).
The first condition assures that the tail can be removed, the second that we do not create cycles, and the third that we do not create parallel edges. Note that these conditions imply that moving a (movable) edge up is allowed, i.e. moving an edge to another edge that is above it. In particular, a tail can always be moved to the root edge. However, note that it is not certain that this results in a nonisomorphic network.
The following lemma is related to the previous observation and will be used in the next section to find a tail that can be moved down “sufficiently far” (see Cases (b) and (d) in the proof of Lemma 3.3):
Lemma 2.12
Let x, y be nodes of a phylogenetic network N such that neither x nor y is an LCA of x and y. Then, for any LCA of x and y, one of the child edges of that LCA is a movable edge that is not both above x and above y.
Proof
Consider an arbitrary LCA u of x and y. This LCA is a tree node, and both child edges are above either x or y, but not both. Because at least one of the child edges of a tree node is movable (by Observation 2.10), at least one of the child edges of the LCA has the desired properties. \(\square \)
We conclude this section by citing a result by Gambette et al. that implies connectivity of kth tiers (for any \(k\ge 0\)) via rNNI moves, which are equivalent to the combination of distance1 head moves and distance1 tail moves. This result is fundamental for our proof of connectivity of the tiers via tail moves.
Theorem 2.13
(Theorem 3.2 in Gambette et al. 2017) Let N and \(N'\) be two rooted binary phylogenetic networks belonging to the kth tier on a fixed leaf set X. Then, there exists a sequence of rNNI moves turning N into \(N'\).
3 Head Moves Rewritten
In this section, we present one of the main results of the paper: the connectivity of kth tiers using tail moves. Theorem 2.13 tells us that kth tiers are connected by rNNI moves. This means that, to prove our result, it suffices to show that any distance1 head move can be replaced by a sequence of tail moves. To this end, we list in Fig. 5 all different cases where it is possible to perform a distance1 head move. We observe the following:
Observation 3.1
Each distance1 head move is depicted as exactly one of the cases (a)–(f) in Fig. 5. Note that the figure does not indicate whether u, w, x, y are all distinct. There are only a few cases in which u, w, x, y are not all distinct, and the head move is valid. If \(x=y\) in cases (a) and (b) or \(u=y\) in cases (d) and (f), we have a valid move that results in a network that is isomorphic to the starting one. Having \(u=w\) in case (a) is the only situation that results in a nonisomorphic network. All other possibilities lead to invalid moves.
Observation 3.2
It is easy to see that moves (c) and (e) as well as moves (d) and (f) are each others reversions. Because all tail moves are also reversible, we only have to show that moves (a)–(d) can be rewritten as a sequence of tail moves.
We treat all cases separately in the following lemma. We note here that, in the proof of this lemma, the sequences of tail moves used to mimic the different distance1 head moves are often nonunique and possibly nonoptimal. In the following, we shall use the convention of naming \(t'\) the new tail node created when moving an edge with tail t.
Lemma 3.3
All distance1 head moves can be substituted by a sequence of tail moves, except for the head move in the network depicted on the right in Fig. 8. For networks with more than one leaf, a sequence of length at most four can be found.
Proof
 1.
\(\varvec{u\ne w}\) In this case, we can use the sequence of tail moves depicted in Fig. 6, since the validity of the head move implies that the intermediate network does not contain directed cycles and parallel edges, as we shall show in the following.
To see that the intermediate network has no directed cycles or parallel edges, we check that the tail move e to (v, x) is valid. Note that e is movable (Definition 2.7) because z is not the root nor a reticulation, and because \(u\ne w\), the removal of the tail of (z, y) does not create parallel edges. Moreover, by Observation 2.11, e can be moved to (v, x) since (v, x) is not below y (otherwise there would be a path from y to v in the network after the head move, which implies a directed cycle, and the head move could not be valid) and all nodes in Fig. 5 are distinct, so in particular \(x\ne y\).
Thus, we can conclude that the intermediate network is valid, and therefore that the sequence of tail moves is valid.
 2.\(\varvec{u=w}\) Note that u and v form a triangle together with the tree node z. In this situation, we cannot directly use the same sequence as before, since this sequence would create parallel edges. There are two conditions under which we can solve this problem:If neither of these conditions hold, then there are no tree nodes except u and z. It follows by inspection that one of two possibilities holds  either x and y are the same reticulation node with a single leaf below it, or x and y are both leaves. The two possible networks are shown in Fig. 8. In the first network, no head move leads to a different (nonisomorphic) network. The only nontrivial case is the second network: here the type (a) head move cannot be substituted by a sequence of tail moves, because there is no valid tail move. Note that this network is excluded in the statement of the lemma.
 (i)
There is a tree node somewhere not above \(\varvec{u}\), that is not u or z. In this case, we “expand” the triangle. Instead of moving edge e directly, we first subdivide it by moving a tail to e. Then, we can apply the sequence of moves depicted in Fig. 7. Barring the addition of the “extra tail”, the sequence of moves is quite similar to the moves in Case 1, and it can be shown in a similar way that this will not create cycles or parallel edges.
 (ii)
There is at least one vertex above \(\varvec{u}\) in addition to the root In this case we “destroy” the triangle. The bottom edge of the triangle (z, v) is movable. If this edge is moved to the root (i.e. to the single edge incident to the root), the situation changes to that of Case 1. Thus, we can apply the sequence moves for that case, and move the bottom edge of the triangle back. Since (z, v) is movable, moving up and down to/from the root are valid moves by Observation 2.11.
 (i)
 1.The LCA \(\varvec{s}\) is neither equal to \(\varvec{x}\) nor to \(\varvec{y}\) At least one of the child edges (s, t) of this LCA can be moved and it is not above both x and y (by Lemma 2.12). Hence, we can move this tail down below one of these nodes (by Observation 2.11).
 (i)
The movable edge \(\varvec{(s,t)}\) is above \(\varvec{y}\) If t is not directly below x, we can use the proposed sequence of moves. However, if t is directly below x, then x is above y, and x is the only LCA of x and y. This contradicts our assumption that \(s\ne x\) and we can certainly use the sequence of moves depicted in Fig. 9.
 (ii)
The movable edge \(\varvec{(s,t)}\) is above \(\varvec{x}\) The symmetry of the situation and the reversibility of the sequence of moves lets us reduce to the previous case: We do the sequence of moves in reverse order, where we switch the labels of x and y.
 (i)
 2.\(\varvec{x}\) is an LCA of \(\varvec{x}\) and \(\varvec{y}\) Because x is the LCA of x and y and there is no path from v to y (such a path would imply a path from z to y and thus a cycle in the starting network), x must be a tree node. Let the children of x be v and t, and let the parent of x be p. Two cases are possible:
 (i)
\(\varvec{(x,v)}\) is movable In this case, we can use a similar sequence as before, but without the addition of a tail: (x, v) to (y, z), \((x',z)\) to (p, t).
 (ii)\(\varvec{(x,v)}\) is not movable In this case, p, x and t form a triangle. We employ a strategy to break the triangle similar to the one used for Case 2 of head move (a).

There is a node above the triangle besides the root Moving the long edge of the triangle to the root, we can reduce the problem to Case 2i. Then, we apply the same sequence of tail moves and move the long edge back to the original position.

The node above the triangle is the root If there is no node above the triangle, then there is a tree node not above x, for example an \({{\mathrm{LCA}}}\) s of u and y. It is easy to see that s cannot be above x since the parent node of x has children x and t and its parent is the root. Note that s can only be a reticulation if it has outdegreee 1, i.e. if \(s=u\) or \(s=y\). Suppose that \(s=u\). Since v and z are reticulations, this would mean that y is below z, which implies the existence of a directed cycle in the original network, a clear contradiction. A similar reasoning shows that \(s=y\) leads to a contradiction. Hence, s is a tree node and one of the child edges can be moved up to (x, t). This puts us in the situation of Case 2i, and we can use the corresponding sequence of moves. After the corresponding sequence of moves, we move the edge back to its original position.

 (i)
 3.
\(\varvec{y}\) is an LCA of \(\varvec{x}\) and \(\varvec{y}\) Like in Case 1ii, we use the symmetry of the situation and the reversibility of the moves to reduce to the previous case (Case 2) by doing the moves in reverse order where the labels of x and y are switched.
 1.
Either \(\varvec{(u,v)}\) or \(\varvec{(y,z)}\) is movable First assume that (u, v) is movable and that the other child and parent of u are p and t, we move (u, v) to (y, z) and then \((u',z)\) to (p, t). The case that (y, z) is movable can be tackled in a similar way thanks to the reversibility of tail moves and the symmetry given above.
 2.
Either \(\varvec{u}\) or \(\varvec{y}\) is a tree node If one of them is movable, we are in the previous situation, otherwise we mimic the approach of Case 2ii of head move (b). Assume without loss of generality that y is at the side of a triangle. We either move the bottom edge of the triangle up to the root, or we use a child edge of a tree node to subdivide the bottom edge of the triangle. In the latter case, we can take, for example, \({{\mathrm{LCA}}}(x,u)\), which is a tree node because x and u are both directly above v, and which is not above y.
 3.Both \(\varvec{u}\) and \(\varvec{y}\) are reticulations In this case, we try to recreate the situation of Case 1 by adding a tail on one of the edges (u, v) and (y, z).
 (i)
The network contains at least two leaves We can pick two distinct leaves, at least one of which is below w. Suppose first that both of these leaves are below w, then an LCA of the leaves is also below the reticulation and one of its child edges can be used as the extra tail by Lemma 2.12. If only one of the leaves is below the reticulation, then any LCA of the leaves has one edge that is not above w. If this edge can be moved, we can directly use it; otherwise, we first move the lower part of the triangle to the root, and then still use this edge.
 (ii)
The network contains one leaf, and \(\varvec{w}\) is not this leaf The only leaf is below the lowest reticulation r of the network, which is not z. Let the parents of r be \(p_1\) and \(p_2\). To find a usable extra tail, we use the same argument as in Case 3i but now with \(p_1\) and \(p_2\) instead of the two leaves. Note that \({{\mathrm{LCA}}}(p_1,p_2)\) is a tree node because both \(p_1\) and \(p_2\) are directly above r.
 (iii)
The only leaf in the network is \(\varvec{w}\) We have not found a way to solve this case ‘locally’ as we did before. Go up from these reticulations to some nearest tree node. The idea, then, is to use one tree edge to do the switch as in the case we discussed previously (Fig. 10).
The result is that all reticulations on the path to the nearest tree node move with the tree edge. These reticulations can be moved back to the other side using the previously discussed moves. In particular, we move the heads sideways using head move (b), and then we move them up using head move (f) where the main reticulation (z) is not the lowest reticulation in the network.
 (i)
Using Theorem 2.13 and the above lemma, we directly get the connectivity result for tail moves.
Theorem 3.4
Let N and \(N'\) be two networks in the kth tier on X. Then there exists a sequence of tail moves turning N into \(N'\), except if \(k=1\) and \(X=2\).
4 Distances and Diameter Bounds
Given a class of moves \(\mathcal {M}\) and two networks \(N,N'\), define the \(\mathcal {M}\)distance \(d_{\mathcal {M}}(N,N')\) to be the minimum length of a sequence of moves in \(\mathcal {M}\) turning N into \(N'\), or \(\infty \) if no such sequence exists. Also, denote by \(\varDelta _k^{\mathcal {M}}(n)\) the diameter of the kth tier with n leaves with respect to \(\mathcal {M}\); that is, the maximum value of \(d_{\mathcal {M}}(N,N')\) over any pair of networks \(N,N'\) belonging to the kth tier on a fixed leaf set X with \(X=n\). In this section, we mostly focus on the tail distance, studying its diameter and the complexity of computing such a distance between two networks. Interestingly enough, the findings on the tail distance will also yield results for the rNNI, rSPR and SPR distances. Indeed, tail moves are related to other types of moves such as rNNI and rSPR, which has implications for their induced metrics and diameters. There are obvious bounds when a class of moves contains another class of moves, by which we mean that each move of the second class is equivalent to a move of the first class (e.g. \(\text {rNNI}\subseteq \text {rSPR}\)). Then, we have that \(\mathcal {M}\subseteq \mathcal {M}'\) implies \(\varDelta _k^{\mathcal {M}}(n)\ge \varDelta _k^{\mathcal {M}'}(n)\). This observation will be very useful in the rest of this section.
4.1 The Complexity of Computing the Tail Distance and the rSPR Distance
In this subsection, we prove that computation of the tail and rSPR distance between two networks is NPhard:
Theorem 4.1
Computing the rSPR distance and the tail distance between two networks is NPhard for any tier of phylogenetic network space.
To prove the theorem, we shall introduce several new concepts.
Definition 4.2

A set of t trees \(\mathcal {T} = (T_1,\ldots ,T_t)\) with leaf sets \(X_1,\ldots ,X_t\), respectively (the tree components),

A rooted binary phylogenetic network R (the root component) with t leaves \(x_1,\ldots ,x_t\), such that deleting all these leaves and the root makes R biconnected.
If M and \(M'\) are mycorrhizal forests with tree components \(T_1,\ldots ,T_t\) and \(T'_1,\ldots ,T'_t\), respectively, both having leaf sets \(X_1,\ldots ,X_t\), then we denote \(d_{\text {treeSPR}}(M,M'):=\sum _{i}d_{\text {rSPR}}(T_i,T_i')\), which is the distance induced by rSPR moves only within tree components (treeSPR moves).
Definition 4.3
Let T be a tree on X and let \(Y\subseteq X\cup \{\rho \}\), where \(\rho \) denotes the root of T. Then, \(T_Y\) is the subtree of T induced by Y: Take the union of all shortest paths between nodes of Y, and then suppress all indegree1 outdegree1 vertices.
Definition 4.4
Let \(\mathcal {T}=\{T_i\}_{1\le i\le t}\) be a set of trees with labels X. An agreement forest (AF) of \(\mathcal {T}\) is a partition \(\{X_j\}\) of \(X\cup \{\rho \}\) (where \(\rho \) denotes the root), such that all \(T_i_{X_j}\) are isomorphic for each fixed j and all \(T_i_{X_j}\) are nodedisjoint for a fixed i.
Lemma 4.5
Proof
Clearly, \(d_\mathrm{rSPR}\le d_\mathrm{treeSPR}\) and \(d_\mathrm{tail}\le d_\mathrm{treeSPR}\), because a treeSPR sequence is also a tail sequence and a rSPR sequence.
Now suppose we have a sequence of tail moves or rSPR moves from M to \(M'\). Because both networks have all reticulations in the root component, deleting all moving edges gives agreement forests on the trees \(T_i\) and \(T_i'\) for each i. These agreement forests each have size larger than or equal to the corresponding maximum agreement forest (MAF). Because the rSPR distance is equal to the size of a MAF (Bordewich and Semple 2005) minus one, we conclude that the number of moves in the rSPR or tail sequence is larger than or equal to the needed number of moves in all treeSPR sequences between \(T_i\) and \(T_i'\) together. Hence, we conclude \(d_\mathrm{rSPR}\ge d_\mathrm{treeSPR}\) and \(d_\mathrm{tail}\ge d_\mathrm{treeSPR}\). \(\square \)
Theorem 4.1 follows directly from this lemma, because computing treeSPR distance is NPhard (Bordewich and Semple 2005). Indeed, for any k we can let R be a network with k reticulations that becomes biconnected after deleting the root and all leaves. Then calculating the rSPR or tail distance between \(M = (\mathcal {T},R)\) and \(M' = (\mathcal {T}',R)\) is equivalent to calculating the rSPR distance between \(T_i\) and \(T_i'\) for each i, and M and \(M'\) are in the kth tier.
4.2 The Diameter of Tail and rSPR Moves
In this subsection, we study the diameter bounds of tail move operations, i.e. the maximum value of \(d_\mathrm{Tail}(N,N')\) over all possible networks N and \(N'\) with the same reticulation number. In the following, we shall use the convention of naming \(t_1\) the new tail node created when moving an edge with tail t, and naming \(t_{i+1}\) the node created when moving an edge with tail \(t_i\).
Given a network N and a set of nodes Y in N, we say Y is downwardclosed if for any \(u \in Y\), every child of u is in Y.
Lemma 4.6
Let N and \(N'\) be networks in the kth tier on X such that N and \(N'\) are not the networks depicted in Fig. 8. Let \(Y \subseteq V(N), Y' \subseteq V(N')\) be downwardclosed sets of nodes such that \(L(N)\subseteq Y, L(N') \subseteq Y'\), and N[Y] is isomorphic to \({N'[Y']}\). Then there is a sequence of at most \(3N\setminus Y\) tail moves turning N into \(N'\).
Proof
We first observe that any isomorphism between N[Y] and \({N'[Y']}\) maps reticulations (tree nodes) of N to reticulations (tree nodes) of \(N'\). Indeed, every node in N[Y] is mapped to a node in \({N'[Y']}\) of the same outdegree, and the tree nodes are exactly those with outdegree 2. It follows that Y and \(Y'\) contain the same number of reticulations and the same number of tree nodes. As N and \(N'\) have the same number of nodes and reticulations by Observation 2.4, it also follows that \(V(N)\setminus Y\) and \(V(N')\setminus Y'\) contain the same number of reticulations and the same number of tree nodes.
We prove the claim by induction on \(N \setminus Y\). If \(N \setminus Y = 0\), then \(N = N[Y]\), which is isomorphic to \({N'[Y']} = N'\), and so there is a sequence of 0 moves turning N into \(N'\).
 1.
There exists a lowest node \(\varvec{u}'\) of \(\varvec{N' \setminus Y'}\) such that \(\varvec{u'}\) is a reticulation In this case, let \(x'\) be the single child of \(u'\). Then, \(x'\) is in \(Y'\), and therefore there exists a node \(x \in Y\) such that x is mapped to \(x'\) by the isomorphism between N[Y] and \({N'[Y']}\). Furthermore, x has the same number of parents in N as \(x'\) does in \(N'\) (because the networks are binary and x has the same number of children in N as \(x'\) does in \(N'\) by the isomorphism between N[Y] and \({N'[Y']}\)), and the same number of parents in Y as \(x'\) has in \(Y'\). Thus, x has at least one parent z such that z is not in Y.
We now split into two subcases: (a)
\(\varvec{z}\) is a reticulation in this case, let \(Y_1 = Y \cup \{z\}\) and \(Y_1' = Y' \cup \{u'\}\), and extend the isomorphism between N[Y] and \({N'[Y']}\) to an isomorphism between \(N[Y_1]\) and \({N'[Y_1']}\), by letting z be mapped to \(u'\) (see Fig. 12). We now have that \(Y_1\) and \(Y_1'\) are downwardclosed sets of nodes such that \(N[Y_1]\) is isomorphic to \(N[Y_1']\), and \(L(N)\subseteq Y_1, L(N') \subseteq Y_1'\). Furthermore, \(N \setminus Y_1 = N \setminus Y1\). Thus, by the inductive hypothesis, there is a sequence of \(3N \setminus Y_1 = 3N \setminus Y3\) tail moves turning N into \(N'\).
 (b)\(\varvec{z}\) is not a reticulation then z cannot be the root of N (as this would imply \(N \setminus Y = 1\)), so z is a tree node. It follows that the edge (z, x) is movable, unless the removal of (z, x) followed by suppressing z creates parallel edges.
 (i)
\(\varvec{(z,x)}\) is movable In this case, let u be any reticulation in \(N \setminus Y\) (such a node must exist, as \(u'\) exists and \(N \setminus Y\), \(N' \setminus Y'\) have the same number of reticulations). Let v be the child of u (which may be in Y), and observe that the edge (u, v) is not below x (as \(x \in Y\) and \(u \notin Y\)). If \(v = x\), then u is a reticulation parent of x that is not in Y, and by substituting v for z, we have case 1a. So we may assume \(v \ne x\). Then, it follows from Observation 2.11 that the tail of (z, x) can be moved to (u, v). Let \(N_1\) be the network derived from N by applying this tail move, and let \(z_1\) be the new node created by subdividing (u, v) during the tail move (see Fig. 13).
Thus, \(N_1\) contains the edges \((u,z_1), (z_1,v), (z_1,x)\). (Note that if z is immediately below u in N i.e. \(z=v\), then in fact \(N_1 = N\). In this case, we may skip the move from N to \(N_1\), and in what follows substitute z for \(z_1\).)
Note that \((z_1,v)\) is movable in \(N_1\), since the parent u of z is a reticulation node, and therefore deleting \((z_1,v)\) and suppressing \(z_1\) cannot create parallel edges. Let w be one of the parents of u in \(N_1\). Then, the tail of \((z_1,v)\) can be moved to (w, u) (as \(u \ne v\), and (w, u) is not below v as this would imply a cycle in \(N_1\)).
So now let \(N_2\) be the network derived from \(N_1\) by applying this tail move (again see Fig. 13). In \(N_2\), the reticulation u is the parent of x (as \(z_1\) was suppressed), and thus Case 1a applies to \(N_2\) and \(N'\). Therefore, there exists a sequence of \(3N \setminus Y3\) tail moves turning \(N_2\) into \(N'\). As \(N_2\) is derived from N by two tail moves, there exists a sequence of \(3N \setminus Y1\) tail moves turning N into \(N'\).
 (ii)The removal of \(\varvec{(z,x)}\) followed by suppressing \(\varvec{z}\) creates parallel edges Then, there exists nodes \(c \ne x, d \ne x\) such that c, d, z form a triangle with long edge (c, d). As c has outdegree 2 it is not the root of N, so let b denote the parent of c.
 (A)
\(\varvec{b}\) is not the root of \(\varvec{N}\) In this case, let a be a parent of b in N. Observe that the edge (a, b) is not below d and that \(b \ne d\). Furthermore, (c, d) is movable since c is not a reticulation or the root. Moreover, there is no edge (b, z): The existence of such an edge would imply that z has indegree 2, as the edge (c, z) exists, but this is not possible because z is a tree node with child edges (z, x) and (z, c). It follows that the tail of (c, d) can be moved to (a, b) (again using Observation 2.11). Let \(N_1\) be the network derived from N by applying this tail move (see Fig. 14).
Observe that in \(N_1\) we now have the edge (b, z) (as c was suppressed), and still have the edge (z, d) but not the edge (b, d) (such an edge would mean d has indegree 3, as the edges (c, d) and (z, d) exist). Thus, deleting (z, x) and suppressing z will not create parallel edges, and so (z, x) is movable in \(N_1\). Thus Case 1(b)i applies to \(N_1\) and \(N'\), and so there exists a sequence of \(3N \setminus Y1\) tail moves turning \(N_1\) into \(N'\). As \(N_1\) is derived from N by a single tail move, there exists a sequence of \(3N \setminus Y\) tail moves turning N into \(N'\).
 (B)
\(\varvec{b}\) is the root of \(\varvec{N}\) In this case, we observe that if \(d \in Y\) then every reticulation in N is in Y. This contradicts the fact that \(N\setminus Y\) and \(N'\setminus Y'\) contain the same number of reticulations. Therefore, we may assume that \(d \notin Y\). Then, we may proceed as follows. Let \(N_3\) be the network derived from Y by moving the head of (c, d) to (z, x). As this is a head move of type (a), it can be replaced with a sequence of four tail moves (see Fig. 7). However, we show that in this particular case, it is possible to replace it with a sequence of only three tail moves.
Let e be the child of d in N. We note that if e is a reticulation, then one of the parents of e is a descendant of x (otherwise z, b or c would have to be a parent of e, which is not the case). Thus if e is a reticulation then it is a descendant of x, and by a similar argument if x is a reticulation then it is a descendant of e. Thus, we may assume that one of e, x is not a reticulation, and that furthermore at least one of e, x is a tree node (if both are leaves, then N and \(N'\) are the network depicted in the second part of Fig. 8 and the network resulting from applying head move (a) in this network; and if one of e and x is a reticulation, then the other must be an ancestor of it, and is therefore a tree node).
Our approach in this case will be to “swap” the positions of e and x via a series of tail moves. We will assume that x is a tree node, with children s and t. (The case that e is a tree node can be handled in a similar manner.) Then we apply the sequence of tail moves depicted in Fig. 15.
Observe that in \(N_3\), x has a parent not in Y which is a reticulation, and that \(N_3[Y] = N[Y]\). Then Case 1a applies to \(N_3\) and \(N'\), and so there exists a sequence of \(3N \setminus Y3\) tail moves turning \(N_3\) into \(N'\). As \(N_3\) can be derived from N by a sequence of 3 tail moves, it follows that there exists a sequence of \(3N \setminus Y\) tail moves turning N into \(N'\).
 (A)
 (i)
 (a)
 2.
There exists a lowest node \(\varvec{u}\) of \(\varvec{N \setminus Y}\) such that \(\varvec{u}\) is a reticulation By symmetric arguments to Case 1, we have that there is a sequence of at most \(3N\setminus Y\) tail moves turning \(N'\) into N. As all tail moves are reversible, there is also a sequence of at most \(3N\setminus Y\) tail moves turning N into \(N'\).
 3.
No lowest node of \(\varvec{N \setminus Y}\) nor any lowest node of \(\varvec{N'\setminus Y'}\) is a reticulation As \(N \setminus Y > 1\), we have that in fact every lowest node of \(N \setminus Y\) and every lowest node of \(N'\setminus Y'\) is a tree node. Then, we proceed as follows. Let \(u'\) be an arbitrary lowest node of \(N' \setminus Y'\), with \(x'\) and \(y'\) its children.
Then \(x',y'\) are in \(Y'\), and therefore there exist nodes \(x,y \in Y\) such that x (y) is mapped to \(x'\) (\(y'\)) by the isomorphism between N[Y] and \({N'[Y']}\). Furthermore, x has the same number of parents in N as \(x'\) does in \(N'\), and the same number of parents in Y as \(x'\) has in \(Y'\) (again because the networks are binary and x has the same number of children in N as \(x'\) does in \(N'\) by the isomorphism between N[Y] and \({N'[Y']}\)). Thus, x has at least one parent not in Y. Similarly, y has at least one parent not in Y. (a)
\(\varvec{x}\) and \(\varvec{y}\) have a common parent \(\varvec{u}\) not in \(\varvec{Y}\) In this case, let \(Y_1 = Y \cup \{u\}\) and \(Y_1' = Y' \cup \{u'\}\), and extend the isomorphism between N[Y] and \({N'[Y']}\) to an isomorphism between \(N[Y_1]\) and \({N'[Y_1']}\), by letting u be mapped to \(u'\) (see Fig. 16). We now have that \(Y_1\) and \(Y_1'\) are downwardclosed sets of nodes such that \(N[Y_1]\) is isomorphic to \({N'[Y_1']}\), and \(L(N)\subseteq Y_1, L(N') \subseteq Y_1'\). Furthermore, \(N \setminus Y_1 < N \setminus Y\). Thus by the inductive hypothesis, there is a sequence of \(3N \setminus Y_1 = 3N \setminus Y3\) tail moves turning N into \(N'\).
 (b)\(\varvec{x}\) and \(\varvec{y}\) do not have a common parent not in \(\varvec{Y}\) In this case, let \(z_x\) be a parent of x not in Y, and let \(z_y\) be a parent of y not in Y. Recall that \(z_x\) and \(z_y\) are both tree nodes. It follows that either one of \((z_x,x), (z_y,y)\) is movable, or deleting \((z_x,x)\) and suppressing x (deleting \((z_y,y)\) and suppressing y) would create parallel edges.
 (i)
\(\varvec{(z_x,x)}\) is movable in this case, observe that the edge \((z_y,y)\) is not below x (as \(x \in Y\) and \(z_y \notin Y\)), and that \(x \ne y\). Then, by Observation 2.11, the tail of \((z_x,x)\) can be moved to \((z_y,y)\).
Let \(N_1\) be the network derived from N by applying this tail move (see Fig. 17). Then, as x and y have a common parent in \(N_1\) not in Y, and as \(N_1[Y] = N[Y]\), we may apply the arguments of Case 3a to show that there exists a sequence of \(3N \setminus Y3\) tail moves turning \(N_1\) into \(N'\). As \(N_1\) is derived from N by a single tail move, there exists a sequence of \(3N \setminus Y2\) tail moves turning N into \(N'\).
 (ii)
\(\varvec{(z_y,y)}\) is movable By symmetric arguments to Case 3(b)i, we have that there is a sequence of at most \(3N \setminus Y2\) tail moves turning N into \(N'\).
 (iii)
Neither \(\varvec{(z_x,x)}\) nor \(\varvec{(z_y,y)}\) is movable In this case, there must exist nodes \(d_x,c_x, d_y, c_y\) such that \(c_x,d_x,z_x\) form a triangle with long edge \((c_x,d_x)\), and \(c_y,d_y,z_y\) form a triangle with long edge \((c_y,d_y)\). Moreover, as \(z_x,z_y\) are different nodes with one parent each, \(c_x \ne c_y\). It follows that one of \(c_x,c_y\) is not the child of the root of N. Suppose without loss of generality that \(c_x\) is not the child of the root. Then, there exist nodes \(a_x,b_x\) and edges \((a_x,b_x), (b_x,c_x)\).
By similar arguments to those used in Case 1(b)iiA, the tail of \((c_x,d_x)\) can be moved to \((a_x,b_x)\), and in the resulting network \(N_1\), \((z_x,x)\) is movable (see Fig. 18). Thus, Case 3(b)i applies to \(N_1\) and \(N'\), and so there exists a sequence of \(3N\setminus Y2\) tail moves turning \(N_1\) into \(N'\). As \(N_1\) is derived from N by a single tail move, there exists a sequence of \(3N\setminus Y1\) tail moves turning N into \(N'\).
 (i)
 (a)
By setting \(Y = L(N)\) and \(Y' = L(N')\), we have the following:
Theorem 4.7
Let N and \(N'\) be networks in the kth tier on X such that N and \(N'\) are not the networks depicted in Fig. 8. Then, there is a sequence of at most \(3(NX)=3(X+2k)\) tail moves turning N into \(N'\).
As rSPR moves consist of head moves and tail moves, Theorem 4.7 also gives us an upper bound on the number of rSPR moves needed to turn N into \(N'\). By modifying these arguments slightly, we can improve this bound in the case of rSPR moves.
Theorem 4.8
Let N and \(N'\) be networks in the kth tier on X. Then, there is a sequence of at most \(2X+3k1\) rSPR moves turning N into \(N'\).
Proof
Recall that the proof of Lemma 4.6 works by gradually expanding two downwardclosed subsets \(Y \subseteq V(N), Y' \subseteq V(N')\) for which N[Y] is isomorphic to \({N'[Y']}\), using at most 3 tail moves each time the size of Y and \(Y'\) is increased. We show that in Cases 1 and 2 of the proof of Lemma 4.6, we may instead use one head move. Indeed, in Case 1 there is a lowest node \(u'\) of \(N'\setminus Y'\) that is a reticulation with child \(x' \in Y\), and the node \(x \in Y\) corresponding to \(x'\) has parent z. If z is a reticulation (Case 1a), then as before there is no need for any move, we simply add z to Y and \(u'\) to \(Y'\). If z is not a reticulation, we proceed as follows. There exists some reticulation node in \(v \in N\setminus Y\) (again, such a node must exist, as \(u'\) exists and \(N\setminus Y\) and \(N'\setminus Y'\) have the same number of reticulations). Moving one of its parent edges (u, v) to (z, x) will not create a cycle, as Y is downwardclosed. It cannot create any parallel edges, unless either \(u = z\), or the other parent edge (w, v) is part of a triangle on w, v and the child of v. If \(u = z\), then we can move (w, v) to (z, x) and this will not create parallel edges unless z, v, x form a triangle. But in this case, x is a child of v and thus x already has a parent in \(N \setminus Y\) that is a reticulation. This implies that, after at most one head move, x has a reticulation parent, and we may proceed as in Case 1a. (Case 2 is handled symmetrically.)
The other cases use at most one tail move (and thus at most one rSPR move), apart from Case 3(b)iii that may require 2 rSPR moves. This case can come up as many times as there are tree nodes in the network. Hence, the number of moves needed to add a node to Y is at most one for each reticulation node, and at most two for each tree node. This means at most \(VX+t\) moves are needed, where t denotes the number of tree nodes in N (and thus in \(N'\)).
Recall from Observation 2.4 that \(V=2(X+k)\) for any binary tier k network. As k nodes are reticulations, X are leaves and 1 is the root, we have \(t = X+k1\). This shows that we need at most \(2(X+k)X+X+k1=2X+3k1\) rSPR moves to turn N into \(N'\). \(\square \)
In practice, we expect the distance between most pairs of networks to be less than \(X+3k1\) because only one case needs two rSPR moves, and this case might not come up very often.
The next observation will be useful for obtaining lower bounds for the diameter of tail and rSPR moves.
Observation 4.9
Diameters of moveinduced metrics on tree space are well studied. A few relevant bounds are \(\varDelta _0^{\mathrm{rSPR}}=n\varTheta (\sqrt{n})\) (Ding et al. 2011; Atkins and McDiarmid 2015) and \(\varDelta _0^{\mathrm{rNNI}}=\varTheta (n\log (n))\) (Li et al. 1996). We extend these results to higher tiers of network space.
Lemma 4.5 gives lower bounds of order \(n\varOmega (\sqrt{n})\) on diameters for rSPR and tail moves, by reducing to trees and using the corresponding diameter bound. Theorem 4.7 and Theorem 4.8 give upper bounds of order n. More precisely, \(\varDelta _k^{\mathrm{Tail}}(n)\le 3(n+2k)\) and \(\varDelta _k^{\mathrm{rSPR}}(n)\le 2n+3k\) from Observation 4.9. The following theorem summarizes this discussion:
Theorem 4.10
Additionally, going back through the proof of Theorem 3.4, we see that any distance one head move can be replaced by at most four tail moves if the network has more than one leaf, so \(d_{\mathrm{Tail}}(N,N')\le 4 d_{\mathrm{rNNI}}(N,N')\) for any pair of networks \(N,N'\) with more than one leaf. Note that this does not give us new information regarding the diameters, but it does give bounds on the distances when we are given two networks.
4.3 The Diameter of Tail_{1} and rNNI Moves
Comparing rNNI and tail moves directly is complicated by the fact that rNNI moves are more local. To make the comparison easier, we consider local tail moves: tail moves over small distance. The following lemma indicates how restricting to distance1 tail moves influences our results.
Lemma 4.11
Let \(e=(u,v)\) to \(f=(s,t)\) be a valid tail move in a tier k network N on X. Then, there is a sequence of at most \(X+3k1\) distance1 tail moves resulting in the same network.
Proof
Note that there exist directed paths \({{\mathrm{LCA}}}(u,s)\rightarrow ~s\) and \({{\mathrm{LCA}}}(u,s)\rightarrow ~u\) (which are not necessarily unique) for any choice of \({{\mathrm{LCA}}}(u,s)\). We prove that a tail move of e to any edge on either path is valid, and this gives a sequence of distance1 tail moves: Indeed, for any edges f and g that share a node, if there is a valid tail move e to f resulting in network \(N_f\), and a valid tail move e to g resulting in network \(N_g\), then there is a distance1 tail move f to g that transforms \(N_f\) into \(N_g\), and furthermore as \(N_g\) has no cycles or parallel edges, this is a valid tail move.
Let \(g=(x,y)\) be an edge of one of these two paths. We first use a proof by contradiction to show that the move to g cannot create cycles, then we prove that we do not create parallel edges.
Suppose moving e to g creates a cycle, then this cycle must involve the new edge \(e'\) from g to v. This means there is a path from v to x. However, x is above u or above s, which means that either the starting graph is not a phylogenetic network, or the move e to f is not valid. From this contradiction, we conclude that the move of e to g does not create cycles.
Note that e is movable, because the move of e to f is valid. Hence, the only way to create parallel edges is by moving \(e=(u,v)\) to an edge \(g=(x,y)\) with \(y=v\). It is clear that g is not in the path \({{\mathrm{LCA}}}(u,s)\rightarrow u\), as this would imply the existence of a cycle in the original network. Hence, g must be on the other path. If \(f=g\), then the original move of e to f would create parallel edges, and if g is above f, the original move moves e to below e creating a cycle. We conclude that there cannot be an edge \(g=(x,y)\) on either path such that \(y=v\); hence, we do not create parallel edges.
Noting that a path between two nodes uses at most \(EX\) edges, we see that we need at most \(EX=X+3k1\) distance1 tail moves to simulate a long distance tail move (the last equivalence holds by Observation 2.4). \(\square \)
Note that a distanced tail move cannot necessarily be simulated with a sequence of d distance1 tail moves. The path of length d defining the distance of the tail move might not be a path over which we can move the tail, if for example some of its edges are below the head.
Lemma 4.11 directly gives us upper bounds on \(\hbox {Tail}_1\) and rNNI diameters in terms of the tail diameter: each tail move is replaced by distance1 tail moves, giving an upper bound of \((3n+6k)(n+3k1)\) for tier k networks on n leaves. As we are mostly interested in the effect of the number of leaves, we denote these bounds \(\varDelta _k^{\text {Tail}_1}(n)=O(n^2)\) and \(\varDelta _k^{\mathrm{rNNI}}(n)=O(n^2)\) (because \(\text {Tail}_1\subseteq \text {rNNI}\)).
Theorem 4.12
4.4 The Diameter of SPR Moves
In this subsection, we will give a new upper bound on the diameter of SPR moves on unrooted networks, using results for rSPR moves on rooted networks. This linear bound improves on the previously best quadratic bound: \((v_k^n)^2+4v_k^n\), where \(v_k^n\) denotes the number of nodes in a tier k network with n leaves (Francis et al. 2017).
The underlying unrooted network of a rooted network N is denoted U(N). An unrooted network U is called rootable if there exists a rooted network N such that \(U(N)=U\). Note that as the root r of N has out degree 1 in N, r will be a leaf in U. As mentioned at the end of Sect. 2.2, not all unrooted networks are rootable (see Fig. 4).
Any edge of an unrooted network whose removal disconnects the network is called a cutedge. If only one of the components contains leaves, the edge is called a redundant cutedge. A blob of an unrooted network is a nontrivial biconnected component, i.e. a maximal subgraph with at least two vertices and no cutedges. The next lemma characterizes rootable networks via redundant cutedges:
Lemma 4.13
An unrooted network is rootable if and only if it has no redundant cutedges.
Proof
First let U be some unrooted network with no redundant cutedges. To show that U is rootable, we pick any leaf r of U and show how to construct a rooted network with U as underlying graph and r as root. First, orient all cutedges “away” from r. Then, it only remains to find a valid orientation of every blob. To this end, let B be a blob. After orienting all cutedges, B has only one incoming edge (s, t) and, as (s, t) is not redundant, B has at least one outgoing edge (x, y). Since B is biconnected, there is a bipolar (i.e. acyclic) orientation of B with t as source and x as sink (Lempel et al. 1967). Doing the same for all biconnected components, we get an acyclic orientation of U rooted at r.
Conversely, suppose that U has a redundant cutedge e. Deleting e creates a component C without leaves. If we direct e towards C, then C has one source and no possible sinks (no leaves). If we direct e away from C, then C has one sink but no possible sources (since the root is also a leaf). This implies there is no valid orientation of the edges in C and therefore in U. \(\square \)
A redundant terminal component of an unrooted network U is a nontrivial biconnected component that is incident to exactly one cutedge (which must be a redundant cutedge). The next lemma, which follows directly from Lemma 4.13, characterizes rootable networks via redundant terminal components.
Lemma 4.14
An unrooted network is rootable if and only if it has no redundant terminal components.
We now give a formal definition of a SPR move:
Definition 4.15
Let U be an unrooted network, and let \(\{u,v\}\), \(\{x,u\}\), \(\{u,y\}\) and e be edges of U. The SPR move of the uend of \(\{u,v\}\) to e consists of the subdivision of e with \(u'\), the removal of \(\{u,v\}\), the suppression of u, and the addition of edge \(\{u',v\}\). The move is only valid if the resulting graph is an unrooted network, i.e. if it is connected and has no parallel edges.
The next two lemmas give upper bounds for the number of redundant terminal components in an unrooted network with reticulation number \(k=EV+1\), and for the number of SPR moves needed to get to an unrooted network without redundant terminal components.
Lemma 4.16
Let U be an unrooted network in the kth tier. Then U has at most k / 3 redundant terminal components.
Proof
Lemma 4.17
Let N be an unrooted network in the kth tier with c redundant terminal components. Then, there exists an unrooted network \(N'\) in the kth tier with at most \(c1\) redundant terminal components such that \(d_{\mathrm{SPR}}(N,N')=1\).
Proof
Pick any redundant terminal component B and let \(\{u,v\}\) be the unique edge for which \(u \notin B\), \(v \in B\). Let x and y be the other neighbours of v. Now SPR move the vend of edge \(\{v,x\}\) to a leaf edge of U. Suppressing v cannot give parallel edges, because \(\{u,v\}\) is a cutedge (Fig. 19). In the resulting unrooted network, B is extended to a biconnected component with a pendant leaf, and because no new cutedges have been created, the network has at most \(c1\) redundant terminal components and is one SPR move away from the original unrooted network. Note that the networks are in the same tier because an SPR move does not change the number of edges nor the number of vertices. \(\square \)
Lemmas 4.14, 4.16 and 4.17 imply the following:
Corollary 4.18
Any tier k unrooted network is at most k / 3 SPR moves away from a rootable network.
The next two results relate a set of rSPR moves between two rooted networks and the corresponding set of SPR moves between their underlying unrooted networks.
Lemma 4.19
Any rSPR move transforming a rooted network N into another rooted network \(N'\) has a corresponding SPR move transforming U(N) into \(U(N')\).
Proof
Suppose that the rSPR move is a head move of (u, v) to e. Then, \(U(N')\) is the unrooted network we get by doing the SPR move of the vend of \(\{u,v\}\) to e. This SPR move is valid because \(N'\), and therefore \(U(N')\) is connected with no parallel edges. Similarly, a tail move of (u, v) to e has a corresponding SPR move moving the uend of \(\{u,v\}\) to e. \(\square \)
Corollary 4.20
Any rSPR sequence transforming a rooted network N into another rooted network \(N'\) has a corresponding SPR sequence transforming U(N) into \(U(N')\).
Moreover, since any rootable network is the underlying graph U(N) of some rooted network N, the diameter for rSPR on rooted networks gives an upper bound for the diameter of SPR moves on unrooted rootable networks.
We do not apply the following proposition here, but it may become useful when a better bound on \(\varDelta _k^{\text {rSPR}}(n)\) is found in future research.
Proposition 4.21
Proof
This proposition together with Corollary 4.18 and Theorem 4.8 gives a reasonable bound on the diameter of unrooted networks, namely \(2X+3k+\frac{2}{3}k\). However, using the (lack of) structure in an unrooted network, we can do better. The next theorem again uses rooted networks, but dynamically reorientates the network during the induction.
Theorem 4.22
Proof
Let N and \(N'\) be tier k unrooted networks. As before, we use \(\frac{2}{3}k\) moves to produce rootable networks \(N_r\) and \(N'_r\). Now we do induction as in the proof of the rooted rSPR diameter (Theorem 4.8). Choose a network orientation on both rootable networks. As before, we construct the downwardclosed subsets Y and \(Y'\) of \(N_r\) and \(N'_r\) such that \(N_r_{Y}\) and \(N'_r_{Y'}\) are isomorphic. We prove that we need at most \(n+2k\) moves in total to produce the rootable network \(N'_r\) from \(N_r\) by inductively increasing the size of Y and \(Y'\).
 1.
\(\varvec{d_y\not \in Y}\) Inverting the orientation of \((z_y,d_y)\) gives a valid orientation with the same underlying unrooted network, and conserves the downwardclosedness of Y and the isomorphism between Y and \(Y'\) (Fig. 20). The resulting rooted network has a reticulation node directly above Y, so we can add a node to Y and \(Y'\) with at most one move.
 2.
\(\varvec{d_x\not \in Y}\) This case is handled symmetrically to Case 1 by inverting the orientation of \((z_x,d_x)\).
 3.\(\varvec{d_x,d_y\in Y}\) Note that one of \((u',x')\) and \((u',y')\) is movable (Observation 2.10).
 (a)
\(\varvec{(u',x')}\) is movable Tail moving \((u',x')\) to an incoming edge of \(d_x'\), the node in \(Y'\) corresponding to \(d_x\), we create a lowest tree node \(z_x'\) with children \(x'\) and \(d_x'\) in \(Y'\) (Fig. 21). We can add \(z_x\) (with children x and \(d_x\)) and \(z_x'\) (with children \(x'\) and \(d_x'\)) to Y and \(Y'\) at the cost of one move.
 (b)
\(\varvec{(u',y')}\) is movable This case is handled symmetrically to the previous case by interchanging the roles of x and y.
 (a)
5 Discussion
In a rooted phylogenetic tree, each rSPR move is a tail move, while in a network one can also perform head moves. Hence, it is natural to define rSPR moves in networks as the union of head and tail moves (Gambette et al. 2017). However, we have shown that to connect the tiers of phylogenetic network space, tail moves are sufficient (except for one trivial case with only two taxa). In fact, tail moves, by themselves, can also be seen as a natural generalization of rSPR moves on trees to networks.
Nevertheless, there can be several reasons to consider head moves in addition to tail moves when exploring the tiers of network space. First of all, the number of tail moves that one needs to transform one network into another may be bigger than the number of rSPR moves. The difference is not very big though; we have shown that at most four tail moves are sufficient to mimic one head move (assuming \(X\ge 3\)). Another reason to use head moves is when a search using only tail moves gets stuck in a local optimum. A head move can then be used to escape from this local optimum. Notice that a head move can basically move a reticulation to a completely different location in the network. Hence, from a biological point of view, head moves can change a network more drastically than tail moves.
On rooted phylogenetic trees, rNNI moves can be seen as distance1 rSPR moves. Therefore, it is natural to define rNNI moves in the same way on networks (see Gambette et al. 2017). Hence, rNNI moves on networks are distance1 head moves and distance1 tail moves. Also for this case, we have shown that the distance1 head moves may be omitted while preserving connectivity (again excluding one twotaxa case).
Another interesting direction is to develop algorithms for computing the tailmove distance between networks. Although we have shown that this problem is NPhard, we do not know, for example, whether it is fixedparameter tractable, with the tail move distance as parameter. We note that several common reduction rules, such as subtree and cluster reduction, are not always safe for this problem, in the sense that applying them may increase the tail move distance (see Bordewich and Semple 2005; Bordewich et al. 2017b, for a definition of these reductions and the chain reduction mentioned below). As an extreme example, consider the networks in Fig. 22, which have tailmove distance 3. After reducing the subtrees on \(\{y,z\}\) to a single leaf, the tail move distance becomes infinite. It could, however, be safe to reduce subtrees to size 2. Similar arguments hold for cluster reduction. Another interesting question is whether reducing chains to length 2 (or any other constant length) is safe.
Finally, a major open problem concerns the rNNI diameter as well as the distance1 tail move diameter: Are these diameters quadratic in the number of leaves, or \(O(n\log (n))\)? For tail, rSPR and SPR moves, we know that the diameter is linear in the number of leaves, but it would be interesting to find tight bounds (see Table 1).
Footnotes
 1.
Mycorrhizal forests are socalled because of their similarity to reallife mycorrhizal networks, in which a number of trees may be connected together by an underground network of fungi.
Notes
Funding
Remie Janssen and Mark Jones were supported by Vidi Grant 639.072.602 from the Netherlands Organization for Scientific Research (NWO). Leo van Iersel was partly supported by NWO, including Vidi Grant 639.072.602, and partly by the 4TU Applied Mathematics Institute. Péter L. Erdős was partly supported by the Hungarian National Research, Development and Innovation Office NKFIH, under the Grants K 116769 and SNN 116095. Celine Scornavacca was partially supported by the French Agence Nationale de la Recherche Investissements d’Avenir/ Bioinformatique (ANR10BINF0102, Ancestrome).
References
 Abbott R, Albach D, Ansell S, Arntzen JW, Baird SJ, Bierne N, Boughman J, Brelsford A, Buerkle CA, Buggs R et al (2013) Hybridization and speciation. J Evol Biol 26(2):229–246CrossRefGoogle Scholar
 Atkins R, McDiarmid C (2015) Extremal distances for subtree transfer operations in binary trees. arXiv preprint arXiv:1509.00669
 Bordewich M, Semple C (2005) On the computational complexity of the rooted subtree prune and regraft distance. Ann Comb 8(4):409–423MathSciNetCrossRefMATHGoogle Scholar
 Bordewich M, Linz S, Semple C (2017a) Lost in space? Generalising subtree prune and regraft to spaces of phylogenetic networks. J Theor Biol 423:1–12MathSciNetCrossRefMATHGoogle Scholar
 Bordewich M, Scornavacca C, Tokac N, Weller M (2017b) On the fixed parameter tractability of agreementbased phylogenetic distances. J Math Biol 74(1–2):239–257MathSciNetCrossRefMATHGoogle Scholar
 Ding Y, Grünewald S, Humphries PJ (2011) On agreement forests. J Comb Theory Ser A 118(7):2059–2065MathSciNetCrossRefMATHGoogle Scholar
 Felsenstein J (2004) Inferring phylogenies, vol 2. Sinauer Associates, SunderlandGoogle Scholar
 Francis A, Huber KT, Moulton V, Wu T (2017) Bounds for phylogenetic network space metrics. J Math Biol 76:1229–1248MathSciNetCrossRefMATHGoogle Scholar
 Gambette P, van Iersel L, Jones M, Lafond M, Pardi F, Scornavacca C (2017) Rearrangement moves on rooted phylogenetic networks. PLoS Comput Biol 13(8):e1005611CrossRefGoogle Scholar
 Huber KT, Moulton V, Wu T (2016) Transforming phylogenetic networks: moving beyond tree space. J Theor Biol 404:30–39MathSciNetCrossRefMATHGoogle Scholar
 Huson DH, Rupp R, Scornavacca C (2010) Phylogenetic networks: concepts, algorithms and applications. Cambridge University Press, CambridgeCrossRefGoogle Scholar
 Lempel A, Even S, Cederbaum I (1967) An algorithm for planarity testing of graphs. In: Rosenstiehl P (ed) Theory of graphs: international symposium, vol 67. Gordon and Breach, New York, pp 215–232Google Scholar
 Li M, Tromp J, Zhang L (1996) On the nearest neighbour interchange distance between evolutionary trees. J Theor Biol 182(4):463–467CrossRefGoogle Scholar
 Morrison D (2011) Introduction to phylogenetic networks. RJR Productions, UppsalaGoogle Scholar
 Than C, Ruths D, Nakhleh L (2008) Phylonet: a software package for analyzing and reconstructing reticulate evolutionary relationships. BMC Bioinform 9(1):322CrossRefGoogle Scholar
 Vuilleumier S, Bonhoeffer S (2015) Contribution of recombination to the evolutionary history of HIV. Curr Opin HIV AIDS 10(2):84–89CrossRefGoogle Scholar
 Yu Y, Dong J, Liu KJ, Nakhleh L (2014) Maximum likelihood inference of reticulate evolutionary histories. Proc Natl Acad Sci 111(46):16448–16453CrossRefGoogle Scholar
 Zhang C, Ogilvie HA, Drummond AJ, Stadler T (2017) Bayesian inference of species networks from multilocus sequence data. bioRxiv preprint bioRxiv:124982Google Scholar
 Zhaxybayeva O, Doolittle WF (2011) Lateral gene transfer. Curr Biol 21(7):R242–R246CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.