Constructing independent spanning trees for locally twisted cubes ✩
3. The algorithm
We now present an algorithm, called Construct_IST, for constructing n ISTs T0
,
T1, . . . ,
Tn−1rooted at an arbitrary vertex r for the locally twisted cube LTQninAlgorithm 1. For convenience, call the for-loop in lines4–12of this algorithm the ‘‘outer for-loop’’ and call the for-loop in lines6–10the ‘‘inner for-loop’’. This algorithm constructs T0,
T1, . . . ,
Tn−1simultaneously and it works as follows. Since LTQn is n-regular, the n neighbors of the root r must be the unique child of the root r in T0,
T1, . . . ,
Tn−1, respectively. In this algorithm, the unique child of the root r in Tiis set as fi(
r)
. Thus, initially V(
Ti) = {
fi(
r)}
. At the tth iteration of the outer for-loop, each vertexv
in V(
Ti)
is connected to a new vertex u=
f(i+t)mod n(v)
by using the edges in perfect matching M(i+t)mod n, and the edge(v,
u)
is added to Ti(i.e., the parent of u is set asv
in Ti). After n iterations of the outer for-loop, Tiis constructed.Example 1. We now demonstrate how Algorithm Construct_IST constructs T2rooted at vertex 1 in LTQ4. In line 2 of the algorithm, the unique child of the root 1 is set as f2
(
1) =
7. Thus V(
T2) = {
7}
. Now consider the outer for-loop. For t=
1, each vertex in V(
T2)
is connected to a new vertex by using the edges in M3; thus the edge(
7,
11)
is added to T2; so S becomes{
11}
and V(
T2)
becomes{
7,
11}
. For t=
2, each vertex in V(
T2)
is connected to a new vertex by using the edges in M0; thus the edges(
7,
6)
and(
11,
10)
are added to T2; so S becomes{
6,
10}
and V(
T2)
becomes{
7,
11,
6,
10}
. For t=
3, each vertex in V(
T2)
is connected to a new vertex by using the edges in M1; thus the edges(
7,
5)
,(
11,
9)
,(
6,
4)
and(
10,
8)
are added to T2; so S becomes{
5,
9,
4,
8}
and V(
T2)
becomes{
7,
11,
6,
10,
5,
9,
4,
8}
. Finally, for t=
4, each vertex in V(
T2)
is connected to a new vertex by using the edges in M2; thus the edges(
7,
1)
,(
11,
13)
,(
6,
2)
,(
10,
14)
,(
5,
3)
,(
9,
15)
,(
4,
0)
and(
8,
12)
are added to T2; so S becomes{
1,
13,
2,
14,
3,
15,
0,
12}
and V(
T2)
becomes{
7,
11,
6,
10,
5,
9,
4,
8,
1,
13,
2,
14,
3,
15,
0,
12}
. SeeFig. 4for an illustration.4. Correctness
The purpose of this section is to prove that T0
,
T1, . . . ,
Tn−1generated by Algorithm Construct_IST are n ISTs rooted at an arbitrary vertex r for LTQn. To this end, some notations are first introduced in Section4.1. We show that T0,
T1, . . . ,
Tn−1are n spanning trees of LTQnin Section4.2. The vertex-independency of T0,
T1, . . . ,
Tn−1is shown in Section4.3.Fig. 4. Four ISTs rooted at vertex 1 in LTQ4constructed by Algorithm Construct_IST.
4.1. The notations
Definition 3. For V′
⊆
V(
LTQn)
, define fi(
V′)
to be fi(
V′) = {
fi(v) | v ∈
V′} .
Definition 4. For a fixed integer i, 0
≤
i≤
n−
1, define Oni to be the ordered set Oni= {
i, (
i−
1)
mod n, (
i−
2)
mod n, . . . , (
i−
n+
1)
mod n} .
Notice that Oni can be obtained by arranging 0
,
1, . . . ,
n−
1 around a circle, starting from the number i and picking up these n numbers counterclockwise. For example, O40= {
0,
3,
2,
1}
, O41= {
1,
0,
3,
2}
and O43= {
3,
2,
1,
0}
.Definition 5. The Hamming distance between two vertices x
,
y∈
V(
LTQn)
, denoted by Ham(
x,
y)
, is the number of positions at which the corresponding symbols are different. More precisely, Ham(
x,
y) = |{
i|
xi̸=
yi,
0≤
i≤
n−
1}|
. For two fixed vertices x,
y∈
V(
LTQn)
, suppose Ham(
x,
y) =
m. Define Hi(
x,
y)
to be an ordered set consisting of the indices of the m different bits, listed according to the order given by Oni.Definition 6. For two fixed vertices x
,
y∈
V(
LTQn)
, suppose Hi(
x,
y) = {
cm−1,
cm−2, . . . ,
c0}
with m≥
2 and Hi(
x,
y) ̸=
Oni. We say that j is between cuand cu−1for some 0≤
u≤
m−
1 with respect to Oni if j̸∈
Hi(
x,
y)
and when 0,
1, . . . ,
n−
1 are arranged on a circle, the location of j on the circle is between cuand cu−1.For example, consider LTQ4. Suppose
v =
12. Then H0(v,
0) = {
3,
2}
, H1(v,
3) = {
1,
0,
3,
2}
, H2(v,
7) = {
1,
0,
3}
and H3(v,
13) = {
0}
. Since 1̸∈
H0(v,
0)
, 1 is between cu=
3,
cu−1=
2; 0̸∈
H0(v,
0)
, 0 is between cu=
2,
cu−1=
3.Definition 7. For two vertices x
,
y∈
V(
LTQn)
, defineΠ
i(
x,
y)
to be the ordered set consisting of all the indices of perfect matchings used in the x,
y-path in Ti, 0≤
i≤
n−
1, listed according to the order from x to y.For example, consider T2rooted at vertex 1 of LTQ4inFig. 4. Suppose
v =
12. ThenΠ
2(v,
7) = {
2,
1,
0,
3}
. Moreover, the path fromv
to 7 is1100
−→
M2 1000−→
M1 1010−→
M0 1011−→
M3 0111.
Definition 8. Define I
(
a,
b)
, where a≥
b, to be the sequence such that I(
a,
b) =
a
,
a−
1, . . . ,
b+
1 if a>
b,
a if a
=
b.
Throughout this subsection, let T0
,
T1, . . . ,
Tn−1be the output of Algorithm Construct_IST. The purpose of this subsection is to prove that T0,
T1, . . . ,
Tn−1are n spanning trees rooted at r. ByTheorem 2.4, we assume r=
0 and r=
1 as the common roots without loss of generality. To prove that Ti, 0≤
i≤
n−
1, is a spanning tree rooted at r, we prove the following loop invariant:Loop invariant: At the start of the tth iteration of the outer for-loop, Tiis connected,
|
V(
Ti)| =
2t−1and|
E(
Ti)| = |
V(
Ti)| −
1.The loop invariant is trivial true prior to the first loop iteration since in line 3, Algorithm Construct_IST sets V
(
Ti) = {
fi(
r)}
. Hence Ti is connected,|
V(
Ti)| =
20 and|
E(
Ti)| = |
V(
Ti)| −
1. We now prove that if the loop invariant is true before the tth iteration of the outer for-loop, then it remains true before the next iteration. Algorithm Construct_IST first resets S to be empty in line 5. For each vertexv
in V(
Ti)
, Algorithm Construct_IST adds the edge(v,
u)
to Tiin line 8, where u=
f(i+t)mod n(v)
, by using the edges in M(i+t)mod n, and adds u to S in line 9. Since each newly generated edge is incident to a vertex in V(
Ti)
, Tiremains to be connected. Now we claim thatClaim 4.1. V
(
Ti) ∩
S= ∅
.IfClaim 4.1is true, then at the end of the inner for-loop, the newly generated edges between V
(
Ti)
and S clearly form a matching that saturates V(
Ti)
and S. Thus|
V(
Ti)| = |
S|
. Consequently, after the tth iteration of the outer for-loop, Tiis connected,|
V(
Ti)| =
2t−1+
2t−1=
2t and|
E(
Ti)| =
2t−1−
1+
2t−1=
2t−
1= |
V(
Ti)| −
1. When the outer for-loop terminates, t=
n+
1. Therefore, Tiis connected,|
V(
Ti)| =
2nand|
E(
Ti)| = |
V(
Ti)| −
1. Also, at the end of the(
t=
n)
th iteration of the outer for-loop, Algorithm Construct_IST adds the edge(
r,
fi(
r))
to Ti. Therefore Tiis a spanning tree rooted at r of LTQn. In the following, we prove thatClaim 4.1is true for r=
0 and r=
1. We first consider the case of r=
0.Lemma 4.2. Claim 4.1is true for r
=
0.Proof. Consider the tth iteration of the outer for-loop. Set k
= (
i+
t)
mod n for easy writing. Letv ∈
V(
Ti)
and u∈
S. If t∈ {
1,
2, . . . ,
n−
1}
, then(v
k,
uk) = (
0,
1)
. If t=
n, then we have(v
i,
ui) = (
1,
0)
. Therefore V(
Ti) ∩
S= ∅
.Lemma 4.3. Claim 4.1is true for r
=
1.Proof. Consider Ti, 0
≤
i≤
n−
1. Set k= (
i+
t)
mod n for easy writing. Letv ∈
V(
Ti)
and u∈
S.Case 1: i
=
0. If t∈ {
1,
2, . . . ,
n−
1}
, then(v
k,
uk) = (
0,
1)
. If t=
n, then(v
i,
ui) = (
1,
0)
. Therefore V(
Ti) ∩
S= ∅
. Case 2: i=
n−
1. If t∈ {
1,
2, . . . ,
n−
2}
, then(v
k,
uk) = (
0,
1)
. If t=
n−
1, then we have(v
n−2,
un−2) = (
1,
0)
. If t=
n, then we have(v
i,
ui) = (
1,
0)
. Therefore V(
Ti) ∩
S= ∅
.Case 3: i
∈ {
1,
2, . . . ,
n−
2}
. We further divide this case into two subcases.Subcase 3.1: t
∈ {
1,
2, . . . ,
n−
2}
. The proof of this case is the same as Case 2.Subcase 3.2: t
=
n. By the loop invariant, Tiinduces a tree before the tth iteration of the outer for-loop. Partition V(
Ti)
into V0and V1as follows:V0
= {
all the vertices in the subtree rooted at fi+1(
fi(
1))}
and V1=
V(
Ti) \
V0.
SeeFig. 5for an illustration.By (1) and byLemma 4.6, we have: (i) the ith bit of all the vertices in V0is 0 and hence the ith bit of all the vertices in fi
(
V0)
is 1, and (ii) the ith bit of all the vertices in V1is 1 and hence the ith bit of all the vertices in fi(
V1)
is 0. Notice thatS
=
fi(
V0) ∪
fi(
V1).
Therefore, to proveClaim 4.1, it suffices to prove that
V0
∩
fi(
V1) = ∅
and V1∩
fi(
V0) = ∅.
(3)If i
=
n−
2, then the(
n−
1)
-bit of all the vertices in V0and fn−2(
V0)
is 1; however, the(
n−
1)
-bit of all the vertices in V1and fn−2(
V1)
is 0. Thus when i=
n−
2, V0∩
fn−2(
V1) = ∅
and V1∩
fn−2(
V0) = ∅
. Now suppose i∈ {
1,
2, . . . ,
n−
3}
. Partition V0into V0,0and V0,1such thatV0,0
= {
all the vertices in the subtree rooted at fi+2(
fi+1(
fi(
1)))}
and V0,1=
V0\
V0,0.
Partition V1into V1,0and V1,1such thatV1,0
= {
all the vertices in the subtree rooted at fi+2(
fi(
1))}
and V1,1=
V1\
V1,0.
By (1) andLemma 4.6, the pair of the
(
i+
1)
th and the ith bit of all the vertices in V0,0and fi(
V1,1)
is (0, 0); in fi(
V0,0)
and V1,1is (0, 1); in V0,1and fi(
V1,0)
is (1, 0) and in fi(
V0,1)
and V1,0is (1, 1). Thus to prove (3), it suffices to prove thatV0,0
∩
fi(
V1,1) = ∅,
V1,1∩
fi(
V0,0) = ∅,
V1,0∩
fi(
V0,1) = ∅
and V0,1∩
fi(
V1,0) = ∅.
(4) Forv = v
n−1, v
n−1, . . . , v
0∈
V(
LTQn)
withv ̸=
0, let q be the largest index ofv
such thatv
q=
1. Ifv =
0, then let q= −
1.By (1) andLemma 4.6, we haveTable 2.
Fig. 5. An illustration for the proof ofLemma 4.3.
Table 2
The value of q for every vertex in the given set.
V0,0∪fi(V0,0) V1,1∪fi(V1,1) V1,0∪fi(V1,0) V0,1∪fi(V0,1)
ByTheorem 2.4andLemmas 4.2and4.3, we have the following result.
Lemma 4.4. T0
,
T1, . . . ,
Tn−1are n spanning trees rooted at r for LTQn. 4.3. The vertex-independency of the n spanning treesIn this subsection, we show that T0
,
T1, . . . ,
Tn−1generated by Algorithm Construct_IST are vertex-independent trees rooted at an arbitrary vertex r for LTQn. ByTheorem 2.4, without loss of generality, we may assume r=
0 and r=
1 as the common roots. To this end, we need to show that for any i,
j with 0≤
i<
j≤
n−
1 and for eachv(̸=
r) ∈
V(
LTQn)
, the r, v
-path in Tiand the r, v
-path in Tjare internally vertex-disjoint. Recall that the child of the root in Tiand Tjare fi(
r)
and fj(
r)
, respectively. In the following, we further assumev ̸∈ {
r,
fi(
r),
fj(
r)}
since ifv ∈ {
r,
fi(
r),
fj(
r)}
, then the r, v
-path in Tiand the r
, v
-path in Tjare clearly internally vertex-disjoint. Let parenti(v)
(resp., parentj(v)
) be the parent of vertexv
in Tivertex-independent by showing the following claim:
Claim 4.5. V
(
P1) ∩
V(
P2) = ∅
.Before provingClaim 4.5, we need a lemma.
Lemma 4.6. Ti, 0
≤
i≤
n−
1, constructed by Algorithm Construct_IST has the property that for eachv ∈
V(
LTQn) \ {
r,
fi(
r)}
, the path fromv
to fi(
r)
in Tiuses each perfect matching in{
M0,
M1, . . . ,
Mn−1}
at most once.Proof. It follows from the fact that f(i+t)mod n used in the for-loop between the inner for-loop are distinct when the outer for-loop iterates from t
=
1 to t=
n.We first consider the case of r
=
0.Lemma 4.7. T0
,
T1, . . . ,
Tn−1are n vertex-independent trees rooted at r=
0 for LTQn.Proof. To proveClaim 4.5, we first describe the path from
v
to the child of the root in Ti when r=
0. For anyv ∈
V(
Ti) \ {
0,
fi(
0)}
, thev,
fi(
0)
-path in Tican be determined byΠ
i(v,
fi(
0))
. In addition,Π
i(v,
fi(
0))
can be determined by Hi(v,
fi(
0))
as follows. Supposev = v
n−1v
n−2. . . v
0and Hi(v,
fi(
0)) = {
cm−1,
cm−2, . . . ,
c0}
. Ifv
0=
0, thenΠ
i(v,
fi(
0))
can be determined byΠ
i(v,
fi(
0)) =
Hi
(v,
fi(
0))
if i̸=
0,
{
cm−1=
0,
I(
cm−2,
cm−3), . . . ,
I(
c3,
c2),
I(
c1,
c0)}
if i=
0 and m−
1 is even, {
cm−1=
0,
I(
cm−2,
cm−3), . . . ,
I(
c2,
c1),
I(
c0,
0)}
if i=
0 and m−
1 is odd.
(5)
If
v
0=
1 and i̸=
0, then Hi(v,
fi(
0))
must contain 0; in this case, we assume ce=
0 for some e. Thus ifv
0=
1,Π
i(v,
fi(
0))
can be determined byΠ
i(v,
fi(
0))=
{
I(
cm−1,
cm−2),
I(
cm−3,
cm−4), . . . ,
I(
c1,
c0)}
if i=
0 and m is even, {
I(
cm−1,
cm−2),
I(
cm−3,
cm−4), . . . ,
I(
c2,
c1),
I(
c0,
0)}
if i=
0 and m is odd, {
I(
cm−1,
cm−2),
I(
cm−3,
cm−4), . . . ,
I(
ce+2,
ce+1),
ce,
ce−1, . . . ,
c0}
if i̸=
0 and m−
e is odd, {
I(
cm−1,
cm−2),
I(
cm−3,
cm−4), . . . ,
I(
ce+1,
0),
ce,
ce−1, . . . ,
c0}
if i̸=
0 and m−
e is even.
(6)
Now we show thatClaim 4.5is true for r
=
0. Suppose not, then there exists a vertex a(̸=v) ∈
V(
P1) ∩
V(
P2)
. Suppose Hi(v,
fi(
0)) =
Hi(v,
2i) = {
cm−1,
cm−2, . . . ,
c0} .
(7) There are four cases.Case 1:
v
i=
1 andv
j=
1. Then there must exist u such that cu=
j. ThusHj
(v,
fj(
0)) =
Hj(v,
2j) = {
cu−1,
cu−2, . . . ,
c0,
i,
cm−1,
cm−2, . . . ,
cu+1} .
(8) By (5)–(7), cm−1is the first element inΠ
i(v,
2i)
. Let x∈
V(
P1)
. Then the(
cm−1)
th bit of x isv
cm−1only when (i)(
cm−1+
1) ∈ Π
i(v,
2i)
, and (ii) cm−1+
1≥
2, and (iii) there exists q=
qn−1qn−2. . .
q0∈
V(
P1)
such that x=
fcm−1+1(
q)
and q0=
1. We now prove that (i)–(iii) will not occur simultaneously; hence for all x∈
V(
P1)
, the(
cm−1)
th bit of x isv
cm−1. If|
Hi(v,
2i)| =
1, then (i) cannot occur. Suppose|
Hi(v,
2i)| ≥
2 and both (i) and (iii) occur; that is, there exists q=
qn−1qn−2. . .
q0∈
V(
P1)
such that x=
fcm−1+1(
q)
and q0=
1. By (7), cm−1+
1 is the last element inΠ
i(v,
2i)
. Since q0=
1, I(
c0,
0) ⊆ Π
i(v,
2i)
. ByLemma 4.6and by the fact that I(
c0,
0) = {
c0,
c0−
1, . . . ,
1}
, we have cm−1+
1=
1; thus (ii) does not occur and consequently the(
cm−1)
th bit of all the vertices in V(
P1)
isv
cm−1. Sincev
i=
1, the ith bit of all the vertices in V(
P1)
is 1.By (5) and (6) and (8), the
(
cm−1)
th bit of those vertices in V(
P2)
with the ith bit being 1 isv
cm−1. Thus no such a exists and Claim 4.5is true.Case 2:
v
i=
0 andv
j=
0. Then cm−1=
i. If|
Hi(v,
2i)| =
1, then Hi(v,
2i) = {
i}
, which implies thatv =
0; this contradicts to the assumption thatv ̸=
0. Thus|
Hi(v,
2i)| ≥
2 and there must exist u such that j is between cuand cu−1with respect to Oni. ThusHj
(v,
2j) =
{
j,
cm−2,
cm−3, . . . ,
cu+1,
cu=0}
if j=
i+
1,
{
j,
cu−1,
cu−2, . . . ,
c0,
cm−2,
cm−3, . . . ,
cu+1}
if otherwise. (9) By (5)–(7), the ith bit of all vertices in V(
P1)
is 1. By (5) and (6) and (9), the jth bit of all the vertices in V(
P2)
is 1. The ith bit and the jth bit of a are both 1. If I(
cu,
cu−1)
*Π
i(v,
2i)
, each vertex in V(
P1)
has its jth bit to be 0. If (i) j̸=
i+
1 and I(
c0,
cm−2)
*Π
j(v,
2j)
, or if (ii) j=
i+
1 andv
0̸=
1, then each vertex in V(
P2)
has its ith bit to be 0. Thus the existence of a implies that I(
cu,
cu−1) ⊆ Π
i(v,
2i)
and I(
c0,
cm−2) ⊆ Π
j(v,
2j)
. Note that I(
cu,
cu−1) ⊆ Π
i(v,
2i)
implies that i=
0 andCase 3:
v
i=
0 andv
j=
1. Then cm−1=
i and there must exist u such that cu=
j. If|
Hi(v,
2i)| =
1, then Hj(v,
2i) = ∅
. This implies thatv =
2j, which contradicts to the assumption thatv ̸=
2j. ThusHj
(v,
2j) = {
cu−1,
cu−2, . . . ,
c0,
cm−2,
cm−3, . . . ,
cu+1} .
(10) By (5)–(7), the ith bit of all vertices in V(
P1)
is 1. The ith bit of a is 1. If I(
c0,
cm−2)
*Π
j(v,
2j)
, each vertex in V(
P2)
has its ith bit to be 0. Thus the existence of a implies that I(
c0,
cm−2) ⊆ Π
j(v,
2j)
, which further impliesv
0=
1. Since I(
c0,
cm−2) ⊆ Π
j(v,
2j)
, V(
P2)
has only one vertex x=
xn−1xn−2. . .
x0such that xi=
1 and x=
fi+1(
q)
for some q∈
V(
P2)
. The existence of a implies that x=
a. Sincev
0=
1,Π
i(v,
2i)
starts with I(
i,
cm−2)
, i.e.,Π
i(v,
2i)
is of the form{
I(
i,
cm−2), . . .}
. By (6), cm−3is the first element after I(
i,
cm−2)
inΠ
i(v,
2i)
. Recall thatΠ
i(v,
2i)
is an ordered set of all the indices of perfecting matchings used in thev,
2i-path in Tilisted according to the order fromv
to 2i. Thus the first vertex in V(
P1)
can be obtained by applying the first perfect matching obtained from the first element inΠ
i(v,
2i)
tov
, the second vertex in V(
P1)
can be obtained by applying the second perfect matching obtained from the second element inΠ
i(v,
2i)
to the first vertex in V(
P1)
, and so on. Thus we can partition V(
P1)
into V1,1and V1,2such that V1,1consists of those vertices in V(
P1)
before fcm−3is applied and V1,2=
V(
P1) −
V1,1. Let y=
yn−1yn−2. . .
y0be an arbitrary vertex in V1,1. Then Ham(
yiyi−1. . .
ycm−2, v
iv
i−1. . . v
cm−2) =
2. However, Ham(
xixi−1. . .
xcm−2, v
iv
i−1. . . v
cm−2) =
0. Thus x̸∈
V1,1. On the other hand, xcm−3= v
cm−3but the(
cm−3)
th bit of all the vertices in V1,2isv
cm−3; thus x̸∈
V1,2. Since x̸∈
V1,1and x̸∈
V1,2, we have x̸∈
V(
P1)
. Since x=
a, it follows that a̸∈
V(
P1)
. Thus no such a exists andClaim 4.5is true.Case 4:
v
i=
1 andv
j=
0. Then there must exist u such that j is between cuand cu−1with respect to Oni. Thus Hj(v,
2j) =
{
j,
i,
cm−1,
cm−2, . . . ,
cu=0}
if i is between c0and cm−1with respect to Oni,
{
j,
cu−1,
cu−2, . . . ,
c0,
i,
cm−1,
cm−2, . . . ,
cu}
if otherwise. (11) By (5), (6) and (11), the jth bit of all vertices in V(
P2)
is 1. Sincev
i=
1, the ith bit of all the vertices in V(
P1)
is 1. The ith bit and the jth bit of a are both 1. By (11), we have two subcases.Subcase 4.1: i is between c0and cm−1with respect to Oni. Then V
(
P2)
has only one vertex fj(v)
with its ith bit and jth bit both being 1. By (5)–(7), cm−1is the first element inΠ
i(v,
2i)
. Thus the(
cm−1)
th bit of those vertices in V(
P1)
with the jth bit being 1 isv
cm−1. However, by (5), (6) and (11), the(
cm−1)
th bit of fj(v)
isv
cm−1. Thus no such a exists andClaim 4.5is true.Subcase 4.2: i is not between c0and cm−1with respect to Oni. By (5), (6) and (11), the ith bit of all the vertices in V
(
P1)
is 1. If|
Hi(v,
2i)| =
1, then Hi(v,
2i) = {
c0}
; sincev
j=
0, we have c0̸=
j, which implies that each vertex in V(
P1)
has its jth bit to be 0 and consequently no such a exists andClaim 4.5is true. Now suppose|
Hi(v,
2i)| ≥
2. Then when I(
cu,
cu−1)
*Π
i(v,
2i)
, each vertex in V(
P1)
has its jth bit to be 0. Thus the existence of a implies that I(
cu,
cu−1) ⊆ Π
i(v,
2i)
. Since I(
cu,
cu−1) ⊆ Π
i(v,
2i)
, V(
P1)
has only one vertex x=
xn−1xn−2. . .
x0such that xj=
1 and x=
fj+1(
q)
for some q∈
V(
P1)
. The existence of a implies that x=
a. By (5), (6) and (11), the(
cm−1)
th bit of those vertices in V(
P2)
with the ith bit being 1 isv
cm−1. However, the xcm−1= v
cm−1. So if x∈
V(
P1)
, then x̸∈
V(
P2)
. Thus no such a exists andClaim 4.5is true.From the above discussion,Claim 4.5is true and therefore T0
,
T1, . . . ,
Tn−1are vertex-independent rooted at r=
0 of LTQn.Now we consider the case of r
=
1.Lemma 4.8. T0
,
T1, . . . ,
Tn−1are n vertex-independent trees rooted at r=
1 for LTQn.Proof. To proveClaim 4.5, we first describe the path from
v
to the child of the root in Tiwhen r=
1. For anyv ∈
V(
Ti) \ {
1,
fi(
1)}
, thev,
fi(
1)
-path in Ti can be determined byΠ
i(v,
fi(
1))
. Furthermore,Π
i(v,
fi(
1))
can be determined by the ordered set Hi(v,
fi(
1))
as follows. Supposev = v
n−1v
n−2. . . v
0and Hi(v,
fi(
1)) = {
cm−1,
cm−2, . . . ,
c0}
. Let ce−1be the first (from bit cm−1to c0) member in Hi(v,
fi(
1))
that is larger than i. If i=
0,Π
i(v,
fi(
1))
can be determined byΠ
0(v,
f0(
1)) =
H0(v,
f0(
1)).
(12)If i
̸=
0 andv
0=
0, we have ce=
0 for some e. ThusΠ
i(v,
fi(
1))
can be determined byΠ
i(v,
fi(
1))=
{
cm−1,
cm−2, . . . ,
ce,
I(
ce−1,
ce−2),
I(
ce−3,
ce−4), . . . ,
I(
c1,
c0)}
if e is even,
{
cm−2,
cm−3, . . . ,
ce,
I(
ce−1,
ce−2),
I(
ce−3,
ce−4), . . . ,
I(
c0,
i)}
if e is odd and cm−1=
i, {
i,
cm−1,
cm−2, . . . ,
ce,
I(
ce−1,
ce−2),
I(
ce−3,
ce−4), . . . ,
I(
c0,
i)}
if e is odd and cm−1̸=
i.
(13)
Hi1
=
cm−1
,
cm−2, . . . ,
ce if|
Hi2|
is even,
i
,
cm−1,
cm−2, . . . ,
ce if|
Hi2|
is odd and cm−1̸=
i cm−2,
cm−3, . . . ,
ce if|
Hi2|
is odd and cm−1=
i,
and define Hi2to be the sequenceHi2
=
ce−1,
ce−2, . . . ,
c0.
Defineζ
i(v,
fi(
1))
to be the sequenceζ
i(v,
fi(
1)) =
Hi1
,
Hi2 if|
Hi1|
is even and|
Hi2|
is even,
Hi1,
Hi2,
i if|
Hi1|
is even and|
Hi2|
is odd,
Hi1,
0,
Hi2 if|
Hi1|
is odd and|
Hi2|
is even,
Hi1,
0,
Hi2,
i if|
Hi1|
is odd and|
Hi2|
is odd.
(14)
Suppose
ζ
i(v,
fi(
1)) = ς
u, ς
u−1, . . . , ς
0.
Thus if i
̸=
0 andv
0=
1,Π
i(v,
fi(
1))
can be determined byΠ
i(v,
fi(
1)) = {
I(ς
u, ς
u−1),
I(ς
u−2, ς
u−3), . . . ,
I(ς
1, ς
0), }.
(15) Now we show thatClaim 4.5is true for r=
1. Suppose not, then there exists a vertex a(̸=v) ∈
V(
P1) ∩
V(
P2)
. SupposeHi
(v,
fi(
1)) = {
cm−1,
cm−2, . . . ,
c0} .
(16)There are four cases.
Case 1: 0
=
i<
j≤
n−
1. The proof of this case is divided into two parts, depending onv
0=
1 orv
0=
0. Supposev
0=
1. Then 0̸∈
Hj(v,
fj(
1))
. Thus the 0th bit of all the vertices in V(
P2)
is 1. By (12) and (16), 0 is the first element in H0(v,
f0(
1))
; this implies that the 0th bit of all the vertices in V(
P1)
is 0. Thus no such a exists. In the following, we assumev
0=
0. Then 0̸∈
H0(v,
f0(
1))
. The 0th bit of all the vertices in V(
P1)
is 0; this implies that the 0th bit of a is 0. There are two possibilities: j=
1 or j>
1.Subcase 1.1: j
=
1. Note that either 1∈ Π
1(v,
f1(
1))
or 1̸∈ Π
1(v,
f1(
1))
. If 1̸∈ Π
1(v,
f1(
1))
, then 0 is the first element inΠ
1(v,
f1(
1))
. This implies that the 0th bit of all the vertices in V(
P2)
is 1. Thus no such a exists. If 1∈ Π
1(v,
f1(
1))
, then 1 and 0 are the first element and the second element inΠ
1(v,
f1(
1))
, respectively. Thus the 0th bit of all the vertices in V(
P2) \ {
f1(v)}
is 1. The existence of a implies that f1(v) =
a.If
v
1=
0, then 1̸∈
H0(v,
f0(
1))
. This implies that the 1st bit of all the vertices in V(
P1)
is 0. However, it is obvious that the 1st bit of f1(v)
is 1. Therefore f1(v) ̸∈
V(
P1)
. Thus no such a exists. Now supposev
1=
1. Since 1∈ Π
1(v,
f1(
1))
, there must exist some k>
1 such thatv
k=
1; this implies that cm−1>
1. By (12) and (16), the(
cm−1)
th bit of all the vertices in V(
P1)
isv
cm−1. However, the(
cm−1)
th bit of f1(v)
isv
cm−1. Therefore f1(v) ̸∈
V(
P1)
. Thus no such a exists and V(
P1) ∩
V(
P2) = ∅
. Subcase 1.2: j>
1. By (12), (13) and (16), we have: cm−1is the first element in Hi(v,
fi(
1))
, cm−1∈
Hj(v,
fj(
1))
, 0∈
Hj(v,
fj(
1))
, and cm−1appears after 0 in the ordered set Hj(v,
fj(
1))
. Thus the (cm−1)th bit of all the vertices in V(
P1)
isv
cm−1. However, the (cm−1)th bit of those vertices with the 0th bit being 0 in V(
P2)
isv
cm−1. Thus no such a exists.From the above discussion,Claim 4.5is true for Case 1.
Case 2: 1
=
i<
j≤
n−
1. The proof of this case is divided into two parts, depending onv
0=
0 orv
0=
1.Subcase 2.1:
v
0=
0. Then it is not difficult to see (by comparing the jth and the 0th bits of fj(v)
and all the vertices in V(
P1)
) that fj(v) ̸∈
V(
P1)
. Thus a can not be fj(v)
. It remains to consider those vertices in V(
P2)\
fj(v)
. The remaining proof is further divided into two parts, depending onv
j−1=
0 orv
j−1=
1.Subcase 2.1.1:
v
j−1=
0. Sincev
0=
0 andv
j−1=
0, j−
1∈ Π
j(v,
fj(v))
. Sincev
0=
0 and j−
1∈ Π
j(v,
fj(v))
, the(
j−
1)
th bit of all the vertices in V(
P2) \
fj(v)
is 1. However, the(
j−
1)
th bit of all the vertices in V(
P1)
is 0. Thus no such a exists and Claim 4.5is true.Subcase 2.1.2:
v
j−1=
1. We claim that: the bits fromv
j−2tov
2are all 0, i.e.,v
j−2= v
j−3= · · · = v
2=
0. Suppose this claim is not true and let k be the largest number between j−
2 and 2 (inclusive) such thatv
k=
1. By (13) and (16), the(
j−
1)
th and the kth bits of all the vertices in V(
P2) \
fj(v)
is 1 and 0, respectively. However, the(
j−
1)
th bit of those vertices in V(
P1)
with kth bit being 0 is 0. Thusv
j−2= v
j−3= · · · = v
2=
0. So the 1st bit of all the vertices in V(
P1)
is 1 and the 1st bit of all the vertices in V(
P2) \
fj(v)
is 0. Thus no such a exists andClaim 4.5is true.Hj
(v,
fj(
1)) = (
cm−1,
cm−2, . . . ,
c1).
Suppose m is even. Then by (14) and (15),
Π
i(v,
fi(
1))={
I(
cm−1,
cm−2), . . . ,
I(
c1,
c0=
2)}
and
Π
j(v,
fj(
1))={
I(
2,
0),
I(
cm−1,
cm−2), . . . ,
I(
c1,
2)}.
Thus, the 2nd bit of all the vertices in V
(
P1)
are 1. However, the 2nd bit of all the vertices in V(
P2)
are 0. Thus no such a exists. Suppose m is odd. Then by (14) and (15),Π
i(v,
fi(
1)) = {
1,
I(
cm−1,
cm−2), . . . ,
I(
c0,
1)}
and
Π
j(v,
fj(
1)) = {
I(
cm−1,
cm−2), . . . ,
I(
c2,
c1)}.
Hence the 1st bit of all the vertices in V
(
P1)
is 0. However, the 1st bit of all the vertices in V(
P2)
is 1. Thus no such a exists.Subcase 2.2.2: j
=
2,v
1=
0 andv
2=
1. Sincev
0=
1 andv
1=
0 andv
2=
1, we have cm−1=
1, c0=
2 and Hj(v,
fj(
1)) = {
cm−1,
cm−2, . . . ,
c1} .
Suppose m
−
1 is odd. Then by (14) and (15),Π
i(v,
fi(
1)) = {
I(
cm−2,
cm−3), . . . ,
I(
c0,
1)}
and
Π
j(v,
fj(
1)) = {
1,
I(
cm−2,
cm−3), . . . ,
I(
c2,
c1)}.
Thus, the 1st bit of all vertices in V
(
P1)
are 0. However, the 1st bit of all vertices in V(
P2)
is 1. Thus no such a exists. Suppose m−
1 is even. Then by (14) and (15),Π
i(v,
fi(
1)) = {
1,
I(
cm−2,
cm−3), . . . ,
I(
c1,
c0)}
and
Π
j(v,
fj(
1)) = {
2,
I(
cm−2,
cm−3), . . . ,
I(
c1,
2)}.
Thus, the 2nd bit of all vertices in V
(
P1)
are 1. However, the 2nd bit of all vertices in V(
P2)
is 0. Thus no such a exists.Subcase 2.2.3: j
=
2,v
1=
1 andv
2=
0 (resp.,v
1=
0 andv
2=
0). Then Hj(v,
fj(
1)) = {
2,
cm−1,
cm−2, . . . ,
c0} .
Suppose m (resp., m
−
1) is even. Then by (14) and (15), the 2nd bit of all vertices in V(
P1)
is 0. However, the 2nd bit of all vertices in V(
P2)
is 1. Suppose m (resp., m−
1) is odd. Then by (14) and (15), the 1st bit of all vertices in V(
P1)
is 0. However, the 1st bit of all vertices in V(
P2)
is 1. Thus no such a exists.Subcase 2.2.4: j
̸=
2 andv
j−1=
0. Then the(
j−
1)
th bit of all the vertices in V(
P1)
are 0. However, the(
j−
1)
th bit of all the vertices in V(
P2)
are 1. Thus no such a exists.Subcase 2.2.5: j
̸=
2,v
j−1=
1 and at least one of the bits inv
j−2v
j−3. . . v
2is 1. Then there exists q such thatv
q=
1 and q is the largest number between j−
2 and 2 (inclusive).Subcase 2.2.5.1: Suppose I
(
j,
q)
*Π
j(v,
fj(
1))
. Then the qth and the(
j−
1)
th bit of all the vertices in V(
P2)
are 0 and 1, respectively; however, the(
j−
1)
th bit of those vertices in V(
P1)
with the qth bit being 0 is 0. Thus no such a exists.Subcase 2.2.5.2: Suppose I
(
j,
q) ⊆ Π
j(v,
fj(
1))
. Then we partition V(
P2)
into V2,1and V2,2such that V2,1= {
all the vertices in V(
P2)
before the perfect matching Mqis applied}
and V2,2=
V(
P2) \
V2,1.
Consider the vertices in V2,1. Suppose
v
j=
0. Since j∈
I(
j,
q)
, we can compare the jth bit of all vertices in V(
P1)
and in V2,1to see that no such a exists. Suppose
v
j=
1. Then the number of bits inv
n−1v
n−2. . . v
j+1that are 1 is odd, i.e.,|
Hj2|
is odd.This implies that cm−1
̸=
j. Since cm−1̸=
j, by comparing the cm−1th bit of all the vertices in V(
P1)
and in V2,1, we know that V(
P1) ∩
V2,1= ∅
. Consider the vertices in V2,2. Then the qth and the(
j−
1)
th bit of all the vertices in V2,2are 0 and 1, respectively. However, the(
j−
1)
th bit of those vertices in V(
P1)
with the qth bit being 0 is 0. Hence V(
P1) ∩
V2,2= ∅
. Since V(
P1) ∩
V2,1= ∅
and V(
P1) ∩
V2,2= ∅
, no such a exists.Subcase 2.2.6.1: Suppose t
(
n−
1,
i+
1)
is even. Then t(
n−
1,
j)
is odd. Thus the ith bit of all the vertices in V(
P2)
is 0.However, the ith bit of all the vertices in V
(
P1)
is 1. Thus no such a exists.Subcase 2.2.6.2: Suppose t
(
n−
1,
i+
1)
is odd andv
j=
0. Then t(
n−
1,
j+
1)
is even. Thus the jth bit of all the vertices in V(
P2)
is 1. However, the jth bit of all the vertices in V(
P1)
is 0. Thus no such a exists.Subcase 2.2.6.3: Suppose t
(
n−
1,
i+
1)
is odd andv
j=
1. Then t(
n−
1,
j+
1)
is odd. Thus the ith bit of all the vertices in V(
P1)
is 0 and the jth bit of all the vertices in V(
P2)
is 0. Then the. ith and the jth bit of a are 0. By (15), the(
j−
1)
th bit of all the vertices in V(
P2)
with the ith and the jth bit be 0 is 1. However, only the vertex 2j−1+
1 in V(
P1)
with the(
j−
1)
th bit is 1, and the ith and the jth bit are 0. The existence of a implies a=
2j−1+
1. Since t(
n−
1,
j+
1)
is odd, there existsv
k=
1, where k>
j. Then it is easy to find that a̸∈
V(
P2)
by comparing the kthBthe jth and the ith bit of a and all vertices in V(
P2)
. Thus no such a exists.From the above discussion,Claim 4.5is true for Case 2.
Case 3: 3
≤
i+
1=
j≤
n−
1. By (12)–(16), we have the following results. Suppose t(
n−
1,
i+
1)
is odd. Then the ith bit of all vertices in V(
P1)
is 0 and j̸∈ Π
j(v,
fj(
1))
; however, the ith bit of all the vertices in V(
P2)
is 1. Suppose t(
n−
1,
i+
1)
is even andv
j=
0. Then the jth bit of all the vertices in V(
P2)
is 1; however, the jth bit of all the vertices in V(
P1)
is 0. Suppose t(
n−
1,
i+
1)
is even andv
j=
1. Then the jth bit of all the vertices in V(
P2)
is 0; however, the jth bit of all the vertices in V(
P1)
is 1. Thus no such a exists andClaim 4.5is true.Case 4: 3
≤
i+
1<
j≤
n−
1. We divide the proof into three parts, depending on the values ofv
j−1andv
i−1.Subcase 4.1:
v
j−1=
0. Then if j∈ Π
i(v,
fi(
1))
, then V(
P1)
has only one vertex (say, vertex x) with its(
j−
1)
th bit being 1. By comparing from the jth to the(
i−
1)
th bits of x with the jth to the(
i−
1)
th bits of each vertex in V(
P2)
, we have x̸∈
V(
P2)
. If j∈ Π
j(v,
fj(
1))
, then fj(v)
is the unique vertex in V(
P2)
with its(
j−
1)
th bit being 0. By comparing from the jth to the(
i−
1)
th bits of fj(v)
with the jth to the(
i−
1)
th bits of each vertex in V(
P1)
, we have fj(v) ̸∈
V(
P1)
. Then by (12)–(16), the(
j−
1)
th bit of all the vertices in V(
P1) \ {
x}
is 0; however, the(
j−
1)
th bit of all the vertices in V(
P2) \
fj(v)
is 1. Thus no such a exists.Subcase 4.2:
v
i−1=
0. Then we can use similar arguments to prove that no such a exists.Subcase 4.3:
v
i−1=
1 andv
j−1=
1. By (12)–(15), we have following the results. When i∈
Hi(v,
fi(
1))
andv
0=
1, V(
P1)
has only one vertex fi(v)
with the(
i−
1)
th bit being 0. It is easy to find fi(v) ̸∈
V(
P2)
by comparing those bits from the(
j−
1)
th to the(
i−
1)
th of fi(v)
with each vertex in V(
P2)
. And since the(
i−
1)
th bit of all the vertices in V(
P1) \
fi(v)
is 1, the existence of a implies that the(
i−
1)
th bit of a must be 1.Partition V
(
P2)
into two V2,1and V2,2such thatV2,1
= {
all the vertices in V(
P2)
before the perfect matching Miis applied}
and V2,2=
V(
P2) \
V2,1.
Thus the(
i−
1)
th bit of all the vertices in V2,1is 1, and if a exists, then a∈
V2,1. We now claim that:Claim 4.9. If a exists, then
v
j−2= v
j−3= · · · = v
i+1=
0.Proof ofClaim 4.9. Suppose this claim is not true. Then let q be the largest index between j
−
2 and i+
1 (inclusive) such thatv
q=
1. Let y=
yn−1yn−2. . .
y0be an arbitrary vertex in V2,1\ {
fj(v)}
. Note that fj(v) ∈
V2,1only when j∈ Π
j(v,
fj(
1))
. Also note that q∈ Π
j(v,
fj(
1))
. Moreover, if j∈
Hj(v,
fj(
1))
, then q is the first element after j in Hj(v,
fj(
1))
; if j̸∈
Hj(v,
fj(
1))
, then q is the first element in Hj(v,
fj(
1))
. Since q exists, by (13)–(15), the bits yj−2yj−3. . .
yi+1will be different from the bitsv
j−2v
j−3. . . v
i+1. However, let x=
xn−1xn−2. . .
x0be an arbitrary vertex in V(
P1)
. Then the bits xj−2xj−3. . .
xi+1are identical to the bitsv
j−2v
j−3. . . v
i+1. Thus every vertex in V2,1\ {
fj(v)}
is not in V(
P1)
. Although fj(v) ∈
V2,1, fj(v)
is not in V(
P1)
(this can be observed by comparing the jth bit and from the(
j−
2)
th to the(
i+
1)
th bits of all the vertices in V(
P1)
with jth bit and the bits from the(
j−
2)
th to the(
i+
1)
th bits of fj(v)
). Thus V(
P1) ∩
V2,1= ∅
. Since if a exists, then a∈
V2,1. Thus a does not exists and we have this claim.ByClaim 4.9, in the remaining proof, we assume
v
i−1=
1,v
j−1=
1 andv
j−2= v
j−3= · · · = v
i+1=
0. For convenience, let t denote the number of bits inv
n−1v
n−2. . . v
j+1that are 1. We further divided the proof into four subcases.Subcase 4.3.1:
v
i=
1 andv
j=
1. Suppose t is even. Then the first member inΠ
j(v,
fj(
1))
is i. However, i̸∈ Π
i(v,
fi(
1))
. Thus no such a exists and V(
P1) ∩
V(
P2) = ∅
. Suppose t is odd. Then j∈ Π
j(v,
fj(
1))
and I(
j−
1,
i) ⊂ Π
i(v,
fi(
1))
. Thus the jth bit of all the vertices in V(
P2)
is 0. Partition V(
P1)
into V1,1and V1,2such thatV1,1
= {
all the vertices in V(
P1)
before the perfect matching M(j+1)mod nis applied}
and V1,2=
V(
P1) \
V1,1.
Thus the jth bit of all vertices in V1,1is 1 and the jth bit of all vertices in V1,2is 0. By the fact that the jth bit of all the vertices in V
(
P2)
is 0, to prove V(
P1) ∩
V(
P2) = ∅
, it suffices to prove V1,2∩
V(
P2) = ∅
. Ifv
0=
1, then the(
j−
1)
th bit of all the vertices in V(
P2) \
fj(v)
is 1; however, the(
j−
1)
th bit of all the vertices in V1,2is 0. Since the ith bit of is 1, but the ith bit ofcomparing the kth bit of them. Therefore, no such a exists in this case.
Subcase 4.3.2:
v
i=
0 andv
j=
0. Suppose t is even. Then the jth bit of all the vertices in V(
P2)
is 1. However, the jth bit of all the vertices in V(
P1)
is 0. Suppose t is odd. Then the number of bits inv
n−1v
n−2. . . v
i+1that are 1 is even; this implies that i is the first member inΠ
i(v,
fi(
1))
. Thus the ith bit of all the vertices in V(
P2)
is 0. However, the ith bit of all the vertices in V(
P1)
is 1. Thus no such a exists.Subcase 4.3.3:
v
i=
0 andv
j=
1. Suppose t is even. Then the first member inΠ
j(v,
fj(
1))
is i−
1 and the first member inΠ
i(v,
fi(
1))
is i. So the ith bit of all the vertices in V(
P2)
is 0; however, the ith bit of all the vertices in V(
P1)
is 1. Suppose t is odd. Define q to be the index of the leftmost nonzero bit ofv
. Then q>
j. Thus the(
i−
1)
th bit of all the vertices in V(
P2) \ {
fj(v)}
is 0; however, the(
i−
1)
th bit of all the vertices in V(
P1)
is 1. By comparing the jth and the qth bits of fj(v)
with the jth and the qth bits of every vertex in V(
P1)
, we have fj(v) ̸∈
V(
P1)
. Thus no such a exists.Subcase 4.3.4:
v
i=
1 andv
j=
0. If the number of those bits fromv
n−1tov
j+1being 1 is even, then the jth bit of all the vertices in V(
P2)
is 1; however the jth bit of all the vertices in V(
P1)
is 0. If the number of those bits fromv
n−1tov
j+1being 1 is odd, then the number of bits inv
n−1v
n−2. . . v
i+1that are 1 is even. Thus i is the first member ofΠ
j(v,
fj(
1))
; but i̸∈ Π
i(v,
fj(
1))
, which implies that the ith bit of all the vertices in V(
P2)
is 0 but the ith bit of all the vertices in V(
P1)
is 1. SoClaim 4.5is true for this case.As a result,Claim 4.5is true for Case 4. From the above discussion,Claim 4.5is true for all the cases, and therefore T0
,
T1, . . . ,
Tn−1are vertex-independent rooted at r=
0 of LTQn.ByTheorem 2.4andLemmas 4.7and4.8, we have the following result.
Theorem 4.10. T0
,
T1, . . . ,
Tn−1are n vertex-ISTs rooted at r for LTQn.5. Concluding remarks
The independent spanning trees (ISTs) problem attempts to construct a set of pairwise independent spanning trees and it has numerous applications in networks such as data broadcasting, scattering and reliable communication protocols. The well-known ISTs conjecture, Vertex/Edge Conjecture, states that any n-connected/n-edge-connected graph has n vertex-ISTs/edge-ISTs rooted at an arbitrary vertex r. Both the Vertex and Edge Conjectures are still open on general graphs for n
≥
5.In this paper, we consider the ISTs problem on the n-dimensional locally twisted cube LTQn. The very recent algorithm proposed by Hsieh and Tu [12] is designed to construct n edge-ISTs rooted at vertex 0 for LTQn. However, we find that LTQn
is not vertex-transitive when n
≥
4 and therefore Hsieh and Tu’s result does not solve the Edge Conjecture for LTQn. In this paper, we present an algorithm to construct n vertex-independent spanning trees rooted at an arbitrary vertex for LTQn. Tois not vertex-transitive when n