1. Introduction
The graph separation problem concerns with the search for good separators in graphs, for example, the problem of finding the minimum set of vertices disconnecting two specific vertices in a graph. Currently, in applied and computational mathematics, it is often inevitable to have to deal with difficult algorithms that require considerable a amount of time and memory, for example, with large matrices as input. Indeed, if a given problem has many variables in play, the associated matrix becomes very large in size. One possible approach to simplify such a problem is to partition the input (i.e., to subdivide the matrix into sub-matrices) and then run simpler algorithms for each part individually. Often, an effective way for doing this is to associate, with to the given matrix, a graph which represents it, and then try to partition the graph via the so-called separation graph problem. In this context, one looks for small-sized sets of edges (or vertices) which separate the graph into several connected components. These minimal sets of vertices or edges, called vertex separators and edge separators, are important concepts in graph theory, and they have drawn the attention of many mathematicians and computer scientists in recent years.
A
connected vertex separator (abbreviated CVS) is one of the possible vertex separators which are connected, and these specific separators have been extensively studied over the years; see, for instance [
1,
2,
3]. In particular, the connected vertex separation problem deals with the issue of finding the minimum connected component whose removal disconnects the graph.
Analogously, given the two vertices s and t of a connected graph G, the st-CVS problem focuses on finding the minimum subset S of vertices in G such that the removal of S leaves the vertices s and t in two disjointed connected components.
Some natural examples of separation problems include, for example, the problem of finding the minimum number of vertices disconnecting the vertices of a given set from each other, as well as the problem of finding the minimum number of vertices disconnecting multiple specified pairs of vertices. However, it turns out that these problems are computationally difficult to deal with in the classical setting, and, in order to make them more tractable, one often changes the computational point of view.
More precisely, let us consider a computational problem with a parameter k in the input. Its complexity can be measured as a function of this parameter. If k is fixed, then the problem is called a parametrized problem. When such a problem can be solved by an algorithm whose solution can be obtained in time, where f is some computable function depending only on the parameter k, then the problem is said to belong to the class FTP (which means Fixed Parameter Tractable).
It has been proved by Marx et al. [
4] that the st-CVS problem is NP-hard and belongs to the category of FPT algorithms. On the other hand, for graphs of chordality 4, an algorithm running in polynomial time was presented to solve the st-CVS problem by Narayanaswamy and Sadagopan [
5]. However, they also showed that the same problem on graphs of chordality 5 (or more) is NP-complete. Recently, this same problem was investigated from the perspective of complexity of polyhedra; see [
6]. Finally, in [
7,
8], the first author presented some inequalities and three programming formulations to solve a similar related problem.
In the present paper, we will address the problem of finding st-connected separators for a special class of graphs associated to groups, called power graphs (to be defined in the next sections), and we will define a fast algorithm solving this specific problem.
2. The Connected Separator
Let G be a finite simple undirected graph with vertex set V and edge set E. The open neighborhood of a vertex , denoted by , is the set of all vertices that are adjacent to v. The closed neighborhood of v, denoted by , is just . The set of all incident edges to v is denoted by . Given a subset S of the vertex set V, the subgraph induced by S, denoted by , is simply defined as the subgraph obtained after deleting all the vertices of the set from the graph G. Using , we will denote a path joining u to v, while we will write for the internal path obtained from by excluding the extremal vertices u and v. The family of all such paths connecting u to v will be denoted by , while will indicate the maximum number of disjoint paths between u and v.
Definition 1. Let G be a connected graph and be a pair of non-adjacent vertices. An -connected separator is defined as a subset S of the vertex set V of G satisfying the following conditions:
- 1.
;
- 2.
S induces a connected subgraph (that is, is connected);
- 3.
is disconnected.
From the definition, any connected graph has a st-connected separator since one can put the non-adjacent vertices s and t in two sets A and B, respectively, and all other vertices make the connected separator S. The st-connected problem asks for the smallest subset of vertices , where S is a connected separator.
For an
-connected separator
S of a finite graph
G with vertex set
, let
a be a positive integer such that
, and
is a real positive function. Let
be the incidence vector
, defined as follows:
Let
denote the
-vertex separator polyhedron associated with
, namely, the convex hull over all incidence vectors corresponding to all the st-separators in
G. In a more mathematical language, this can be defined as follows:
The problem above is equivalent to the following linear program:
and hence finding a solution for this linear program gives the following solution to our main problem:
. Moreover, by taking
for all
, we can rewrite the problem as
subject to the following conditions:
Remark 1. The inequality (1) guarantees the existence of at least one vertex of S that is also an internal vertex of , while the inequality (2) ensures that the subgraph induced by S is connected. 3. An Algorithm
The aim of this section is to introduce an algorithm that runs in polynomial time to solve the following problem, denoted
for simplicity:
for which, in addition to the conditions (1) and (2) from above, the following conditions are also needed:
where
denotes the maximum number of disjoint paths between
s and
t.
The problem from above is called mixed-integer problem and, obviously, a solution for it produces a set of vertices. Now, let L be a subset of V obtained by solving . Also, let be the set obtained by L together with its corresponding neighborhoods, that is, where . The neighborhoods of the vertices of L will play a crucial role in the algorithm we will define. Roughly speaking, the algorithm will consist of two stages: The first finds a separator L by solving the problem . The second one runs a check on whether induced a connected subgraph.
In other words, our first algorithm, denoted by Algorithm 1, solves the problem and finds a set
L, and then creates two new sets
and
, where
contains all the vertices of
L and their neighborhoods, while, for the moment,
is empty. Now, since our purpose is to empty both sets
and
, the process continues by taking, in some (degree) order, vertices from
L, adding them to
, and removing them from
, until when
will be empty. At this point, the algorithm analyses a “new”
, namely
, and a “new”
L, namely
, and repeats the process until one empties both
and
.
Algorithm 1 mixed-integer |
- 1:
Find by solving . - 2:
Initiate and . - 3:
Pick a vertex from L with the highest degree (say ). Then add it to and remove it from . - 4:
Add the vertices of L, which are neighbors of to , and remove them from . - 5:
Else, whenever is not a neighbor of , then add its neighbors to if they are also neighbors of and remove them from . - 6:
Terminate the process and return as the solution if . - 7:
Else, set and and return to step 3.
|
4. The Power Graph
In graph theory, there are several notions of graphs that are constructed from semigroups and groups such as the intersection graphs of subsemigroups and subgroups; see, for instance, [
9,
10]. Such constructions share a common property in which the vertex set is the whole semigroup
or the whole group
.
Kelarev and Quinn [
11,
12] presented a class of graphs associated with semigroups called
directed power graphs, for which, if
, a directed edge exists from
g to
h if
for some
. Chakrabarty et al. [
13] later provided a comprehensive analysis of the undirected power graph of semigroups. They also offered partial insights for the case of groups by studying the Hamiltonicity and planarity of the undirected power graph of the groups of units. Moreover, they proved several interesting results on this topic by proving, for instance, that the power graph of a group is complete if and only if the group has order 1 or
for some prime
p.
Then, Cameron and Ghosh in [
14] investigated the undirected power graph of finite groups and proved an important result, stating that two finite abelian groups are isomorphic if their power graphs are isomorphic. They also conjectured that two finite groups have the same number of elements of each order if their power graphs are isomorphic. This conjecture was proved later by Cameron [
15].
The study of graphs defined on algebraic structures such as power graphs is an active area of research in graph and group theory. We refer the reader to [
16,
17,
18,
19,
20,
21,
22,
23,
24] for some recent works on these topics.
Definition 2. Given a group , the undirected power graph of is the graph whose vertex set is the group itself, and two distinct vertices in are adjacent if one is a power of the other (in the group).
In the following, we will always use the term “power graph” to indicate “undirected power graph”. Now, we consider two interesting spanning subgraphs of the undirected power graphs of groups. We define to be the spanning subgraph of in which g is adjacent to h if and for some . The second subgraph is then defined as the spanning subgraph whose edges are those of without the edges of . In this way, the two subgraphs and are then edge-disjointed and their union is itself.
The problem of searching the minimum connected separator for the spanning subgraph will be addressed in the following sections.
Example 1. Let be the additive group of integers modulo 10. The power graph of and its spanning subgraphs of interest are shown in Figure 1. The additive group is a cyclic group of order 10. Thus, the subgroups of are of orders and 10. Since the elements of the set generate itself, the corresponding vertices will be adjacent to the rest of vertices in , while they form a clique in . Similarly, the vertices form a clique in , while each one of them is adjacent to 0 in . Finally, 0 and 5 are adjacent in .
Proposition 1. The subgraph is connected whenever is finite.
Proof. This is clear, since for every element . □
Theorem 1. Let be a finite group and . Then,
- (a)
g and h are adjacent in if and only if .
- (b)
g and h are adjacent in if and only if either one of and is a proper subgroup of the other.
Proof. Let be two distinct elements of a finite group .
- (a)
Assume that
g and
h are adjacent in
, then there exists
, such that
and
. Hence, each one of them belongs to the subgroup generated by the other one. Also,
That is, g and h have the same order. Consequently, g and h generate the same cyclic group. So, .
The converse is obvious, since, if , we obtain that and for some .
- (b)
Let g and h be adjacent in . Then, without loss of generality, we can suppose that there exists , such that and for all . Thus, and .
Conversely, suppose that is a proper subgroup of . Then for some and for all . □
Corollary 1. Let be a finite cyclic group of order n. Then is k-partite.
Proof. Let be the divisors of n. According to the fundamental theorem of cyclic groups, for each , there exists a unique subgroup of order . That is, every element of generates one of those k distinct subgroups. Thus, the elements of can be partitioned into k partitions in which the elements of each partition generate the same unique subgroup. Theorem 1 asserts that each partition is actually independent. Also, any pair of partitions together form a complete bipartite if a vertex of each one is adjacent. The connectivity is satisfied by Proposition 1 in which every partition forms a complete bipartite with the partition that only contains the identity e. This shows that is k-partite. □
5. Computations
Corollary 1 suggests separating the technique for separating the vertices of into three sets, A, B, and C, in which C is a minimum connected component and A and B are not linked by any edges. This is exactly the connected vertex separator problem in a graph. Actually, Algorithm 2 applied to , aims to split its vertex set into three disjoint sets of vertices, where C induces a connected subgraph and the vertices in A are not adjacent to the vertices in B. That is, C works as a connected separator, and the goal of Algorithm 2 is just to find such minimum set.
Algorithm 2 separates the elements of G into k independent sets. Then, the vertices of each independent set are distributed into A, B, or C based on their corresponding orders, as shown in Algorithm 2.
Note that, in some cases, Algorithm 2 does not produce the best outcome regarding the minimality of C. However, in such cases, the next Algorithm 3 comes into play to overcome the situation. For instance, when Algorithm 2 produces a connected separator, Algorithm 3 checks whether there is another separator with less elements. If so, Algorithm 3 produces the one with less elements. In fact, it simply checks whether the number of vertices of the independent set (the set of elements of the group G with order n) is greater than the total number of the rest of the vertices. If this is the case, Algorithm 3 splits the set into two halves. One half becomes A, while the other half becomes B. The rest of the vertices are then distributed in C.
Remark 2. It is worth pointing out that, based on our observations of Algorithms 2 and 3, the lower bound for C is where is Euler’s totient function (the function that counts all the positive integers up to n, which are relatively prime to n).
The Python 3.11 (64-bit) language was used to test, numerically, the algorithm on a Dell laptop with an Intel Core i7-5500U CPU, 2.40 GHz, and 8 GB of RAM.
Table 1 illustrates the data obtained for specified choices of
n, whereas
Table 2 shows the results of random choices of
n between
and
200,000.
Algorithm 2
|
- Ensure:
Sets of vertices , where is adjacent to the non-adjacent sets and . - 1:
Initialize
▹ Empty set - 2:
Initialize ▹ Empty set - 3:
Initialize ▹ Empty set - 4:
Define m|n} ▹ The set of prime divisors - 5:
Define m|n} ▹The set of composite divisors - 6:
Define - 7:
for
do - 8:
if then - 9:
Add the elements of to - 10:
else if then - 11:
Add the elements of to - 12:
else - 13:
Add the elements of to - 14:
end if - 15:
end for - 16:
for
do - 17:
if then - 18:
Add the elements of to - 19:
else if for all in then - 20:
Add the elements of to - 21:
else if for all in then - 22:
Add the elements of to - 23:
else - 24:
Add the elements of to - 25:
end if - 26:
end for
|
Algorithm 3
|
- Ensure:
Sets of vertices where is of minimum order adjacent to the non-adjacent sets and . - 1:
if
then - 2:
Return , , - 3:
else: - 4:
Clear , , - 5:
for do - 6:
if then - 7:
Split into two non empty sets and - 8:
Add the elements of to and the elements of to - 9:
else: - 10:
Add the elements of to - 11:
end if - 12:
end for - 13:
end if
|
6. An Example
Let and suppose we want to find three sets, A, B, and a connected separator C, in the graph . The possible divisors of 33 are 1, 3, 11, and 33. We can define then, for each , the sets .
That is,
;
;
;
.
Notice that the elements of each set have the same order. For instance, the set contains the element of order 33.
In general, if and are two sets defined in this way, then every element in is adjacent to every element in whenever .
Our Algorithm 2 works as follows:
Add the elements of and to C;
Add the elements of to A;
Add the elements of to B.
The output for Algorithm 2 in this example is then
, which implies that ;
, which implies that ;
, which implies that .
Now, the question is why the algorithm initially adds the elements of and to C. If we add the elements of to A, then B should be empty, since the elements of are adjacent to all other vertices; similarly for . In other words, no vertex which is put in A can have a neighbor in B, and vice versa.
Finally, Algorithm 3 checks if C is minimal. In fact, the process works in the following way:
Input the output of Algorithm 2: A, B, and C;
If , then return the same A, B, and C.
Otherwise, split into two halves as follows, and make one half as a new A and the other as a new B.
In our case, since
is greater than
, then the new
A is its first half and
B the second one is
7. Conclusions
In this research, we have considered the problem of an st-connected separator on power graphs. Also, a mathematical model, an algorithm, and a heuristic were presented to solve the problem on such graphs in a short time. For future developments of this work, we will try to solve this problem by using the concepts Branch and Cut. Furthermore, one could study the same problem for some particular classes of graphs, such as Halin graphs or Free graphs.