Next Article in Journal
Co-Circular Polarization Reflector Revisited: Reflection Properties, Polarization Transformations, and Matched Waves
Previous Article in Journal
Besicovitch Almost Periodic Solutions of Abstract Semi-Linear Differential Equations with Delay
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Domatic Partition Problem in Separable Graphs

by
Mercedes Landete
and
José Luis Sainz-Pardo
*
Centro de Investigación Operativa, Universidad Miguel Hernández de Elche, 03202 Elche, Spain
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(4), 640; https://doi.org/10.3390/math10040640
Submission received: 11 January 2022 / Revised: 5 February 2022 / Accepted: 15 February 2022 / Published: 18 February 2022

Abstract

:
The domatic partition problem consists of partitioning a given graph into a maximum number of disjoint dominating sets. This problem is related with the domatic number problem, which consists of quantifying this maximum number of disjoint dominating sets. Both problems were proved to be NP-complete. In this paper, we present a decomposition algorithm for finding a domatic partition on separable graphs, that is, on graphs with blocks, and as a consequence, its domatic number, highly reducing the computational complexity. Computational results illustrate the benefits of the block decomposition algorithm.

1. Introduction

A set of vertices D is a dominating set for a graph G = ( V , E ) if every vertex in V \ D is adjacent to a vertex in D. Several problems related to the concept of dominance have been widely studied in graph theory literature. One of them is the minimum dominating set problem, which consists of obtaining a dominating set of smallest size; it is an NP-hard graph optimisation problem. Another is the problem of obtaining the domatic number d ( G ) , or domatic number problem, which consists of determining the maximum number of pairwise disjoint dominating sets in which a graph G can be partitioned. If the interest is not only the domatic number but also the elements of the partition, the  d ( G ) disjoint dominating sets, then the problem is the domatic partition problem (DP).
Domatic number and domatic partition problems are classical optimisation problems which were introduced in the Ref. [1]. Both are NP-complete, even for circular-arc graphs (see the Ref. [2]), but both can be solved in linear time for interval and strongly chordal graphs (see the Ref. [3,4]). Domatic partition/number problems have different applications on the strategic location of facilities or resources in a network. Let us suppose that customers in a network would benefit from the installation of different types of facilities and that the nodes of the network cannot accommodate the installation of more than one type of facility. Let us also suppose that the resources provided by the facilities can only be accessed from neighbouring nodes or from itself. Then, the domatic number is the answer to the question of how many types of essential facilities (e.g., hospitals, universities, computer servers, antennas) can be located in this network, while the domatic partition states where to locate these facilities. Other application fields are related with strategy problems arising from business and military operations.
Currently, there are some known exact algorithms for the domatic number. The Ref. [5] provided an algorithm based on the measure and conquer technique in O ( 2 . 8718 n ) time and exponential space. At the same time, the Ref. [6] proposed an algorithm based on the principle of inclusion–exclusion in 2 n n O ( 1 ) time and exponential space that also runs in O ( 2 . 8718 n ) time if only polynomial space is used. Finally, the Ref. [7] introduced an algorithm that combines both the measure and conquer and the inclusion–exclusion techniques for calculating the domatic number in O ( 2 . 7139 n ) time and polynomial space. This algorithm is based on another algorithm for counting the dominating sets in O ( 1 . 5673 n ) time formulated in the same paper. Thus, given that the domatic number can be calculated from the number of dominating sets of a graph, an improvement in the algorithm used to calculate it automatically implies improving the computational complexity of the domatic number. In this way, in the Ref. [8], a faster algorithm to compute the number of dominating sets of a graph in O ( 1 . 5183 n ) time was recently introduced. Nevertheless, although the authors comment that this new algorithm can also be used to obtain the domatic number in a faster way, as far as we know, the computational complexity for calculating it using this method has not been evaluated until now.
The majority of the latest exact exponential time algorithms for the domatic number have used both the inclusion–exclusion technique and the measure and conquer technique. The inclusion–exclusion technique was introduced in the Ref. [9]. This technique, usually employed for calculating the size of the intersection of multiple sets or complex probabilities, is based on a simple idea that states it is possible to calculate the size of an intersection of multiple sets by adding the sizes of these sets separately, and then subtracting the sizes of all pairwise intersections from them. The measure and conquer technique was introduced in the Ref. [10]. This is a method to upper bound the total number of subproblems generated mainly by recurrence algorithms, but also by branching algorithms; it is therefore a way of measuring the complexity of these algorithms. However, the use of both techniques in a single algorithm was proposed in the Ref. [11].
Some families of graphs have received special attention when dealing with the domatic number computation; in particular, regular graphs, interval graphs, circular-arc graphs, chordal graphs, block graphs and block-cactus graphs. A graph is said to be regular of degree r if every vertex has the same degree r. It is said to be an interval graph if the nodes represent real line intervals and the edges join vertices whose intervals intersect. Circular-arc graphs are those whose nodes are arcs in a circle and whose edges join vertices whose arcs intersect. A circular-arc graph is a proper circular graph if no arc properly contains another. A chordal graph satisfies that all cycles of four or more vertices have a chord, that is, an edge that connects two vertices of the cycle not being part of the cycle. A block graph is a connected graph such that each maximal connected subgraph without cut-vertices is a complete graph. A block-cactus graph is a graph whose maximal connected subgraphs without cut-vertices are either cycles or complete. There are specific bounds for the domatic number when the network is a regular graph [12]. Additionally, there are linear-time algorithms for solving the domatic number problem in interval graphs [3,13]. While in circular-arc graphs the domatic number problem is NP-complete, it can be solved in O ( n 2 l o g n ) time for proper circular-arc graphs [2]. However, linear time algorithms were developed for strong chordal graphs in the Ref. [4]. Moreover, the domatic number for block-cactus graphs was discussed in the Ref. [14]. As for block graphs, several related problems have been studied for this family of graphs as the power domination number [15], the k-power domination number in the Ref. [16], the k-distance domination problem in the Ref. [17], and even the total domination number, as in the Ref. [18]. However, as far as we know, the domatic number and partition problems have not been analysed for the particular case of graphs that are decomposable into blocks, where blocks are maximal connected subgraphs without cut-vertices. The main purpose of this paper is to propose a specific algorithm for obtaining a domatic partition, and as a consequence, the domatic number, in graphs with blocks. Given that blocks are not required to be complete, our algorithm can be applied to graphs other than block graphs. The new algorithm considerably reduces computation time.
The domatic partition problem has received less attention than the domatic number problem. The exact method for the domatic partition problem is based on linear integer programming. In the Ref. [19], two mixed integer models were discussed for the independent domatic partition problem. Approximating algorithms for the domatic partition can be found in the Ref. [20]. However, to the best of our knowledge, there are not any specific exact algorithms for the domatic partition problem.
This article is aimed to bridge this gap, studying the resolution of the domatic partition problem when the graph contains these special nodes whose removal produces two or more connected components. In other words, the goal of this paper is to develop an exact approach for separable graphs. We propose an exact decomposition algorithm based on the blocks. The algorithm iteratively solves an integer linear problem that we call the allied domatic partition problem. In fact, in order to obtain the solution of the domatic partition problem, we solve the allied domatic partition problem several times. The number of times we solve the allied domatic partition problem depends on the number of blocks of the graph, and also on the accuracy of the initial upper bound we have for the domatic partition problem. The decomposition of the problem considerably reduces the solution’s computational time.
The merits of this paper are threefold. The first merit is showcasing an innovative resolution algorithm for the domatic partition problem focused on decomposing graphs into their blocks. Therefore, this article illustrates the benefit of decomposing as a successful resolution technique. The second merit is introducing a new domination concept, the allied domination, which may help future researchers in the analysis of the domination problem. The third merit is coding the decomposition algorithm and obtaining challenging computational results that show the effectiveness of the algorithm in terms of time reduction.
The following section is about domination problems: the model in the literature for solving the independent domatic partition problem is adapted to model the domatic partiton problem. Moreover, the model for the decomposition algorithm of the following section is introduced. The new model deals with a new concept named allied domination. Section 3 is the main section of this paper: it gives the new algorithm that we propose for obtaining a domatic partition when a graph is separable. In Section 4, the advantages of the new algorithm are analysed by an extensive computational experience. Conclusions and future research are summarised in Section 5.

2. Domination Models

A graph G = ( V , E ) consists of a vertex set V and an edge set E. The sets N ( v ) = { u V | ( v , u ) E } and N [ v ] = N ( v ) { v } are the open and closed neighbourhoods of v V , respectively. The degree of a vertex v V is | N ( v ) | and δ ( G ) is the minimum degree of graph G. S V is a dominating set of G if all the nodes in V are neighbours of the nodes in S , that is, S is a dominating set if u S N [ u ] = V . It is known that the maximum number of pairwise disjoint dominating sets or domatic number, d ( G ) , is bounded by the minimum degree of the graph: d ( G ) δ ( G ) + 1 . When d ( G ) = δ ( G ) + 1 , the graph G is called domatically full. A component of a graph is a maximal connected subgraph. A vertex whose deletion increases the number of connected components of a graph is called a cut-vertex. Graphs with at least one cut-vertex are also called separable graphs. Finally, a block of a graph is a maximal connected subgraph without cut-vertices. Blocks are not necessarily cliques, that is, blocks can be incomplete. The block-cutpoint graph of G is the bipartite graph with a vertex set C B , where C is the set of cut-vertices and B is the set of blocks of G, and node c C and b B are neighbours if c is a node of block b . It is well-known that the block-cutpoint graph of a connected graph is always a tree. The blocks which are leaves of the block-cutpoint graph are called leaf blocks of G .
The domatic partition problem in G is the problem of obtaining a maximal partition of V such that the elements of the partition are pairwise disjoint dominating sets. The problem can be modelled as the following integer linear programming:
( D P ) max j = 1 δ ( G ) + 1 u j s . t .
x u j + v : ( u , v ) E x v j u j u V , j { 1 , , δ ( G ) + 1 }
j = 1 δ ( G ) + 1 x u j 1 u V
u j { 0 , 1 } , x u j { 0 , 1 } u V , j { 1 , , δ ( G ) + 1 } ,
where u j takes the value of 1 if there is any vertex belonging to the j-th disjoint dominating set, and x u j takes the value of one if node u belongs to the j-th dominating set. Constraints (2) express domination, constraints (3) express disjointness between sets, and (4) express binary domains. Finally, the objective function (1) maximises the number of disjoint dominating sets. The index j moves from 1 to δ ( G ) + 1 because of the inequality d ( G ) δ ( G ) + 1 . Once the model is solved on a graph, the objective function value is the domatic number d ( G ) , whilst the domatic partition is obtained from the variables x u j by setting S j = { u V : x u j = 1 } . The domatic partition P is the set of sets S j that are not empty, that is,  P = { S j : S j , j { 1 , , δ ( G ) + 1 } } .

Allied Domination

Apart from the well-known dominating sets, in this work we introduce a new concept related to domination that we call allied domination. Suppose that V is split into two disjoint subsets, V = V o V a . We say that a subset D V is an allied dominating set if every vertex v V o is either in D or adjacent to a vertex in D. The subset V o is called a subset of own vertices and the subset V a is called a subset of allied vertices. Note that the difference between the concept of domination and the concept of allied domination is that the domination of allied vertices is not compulsory, although they can contribute to the domination of neighbour vertices. Colloquially, allied nodes can help to dominate, but they must not be dominated. Keeping allied domination in mind, we define the problems of allied domatic partition and allied domatic number as follows. An  allied domatic partition of a graph G = ( V o V a , E ) is a maximum-sized partition of G such that each vertex is in an allied dominating set. The allied domatic number is the size of this partition. The problem of obtaining an allied domatic partition can be modelled as the following integer linear programming problem.
( A D P ) max j = 1 δ ( G ) + 1 u j s . t . x u j + v : ( u , v ) E x v j u j u V o , j { 1 , , δ ( G ) + 1 } ( 3 ) , ( 4 ) .
Constraints (5) express domination of vertices v V o . The optimal value is the allied domatic number, and the allied domatic partition is obtained from variables x u j .
When the domination by an allied node v a V a entails a cost w v a and the number of disjoint allied dominating sets is fixed to k , the domination problem is the minimum cost allied k-domination partition problem.
( M C A k D P ) m i n u V a j = 1 δ ( G ) + 1 w u x u j s . t .
j = 1 δ ( G ) + 1 u j = k ( 3 ) , ( 4 ) , ( 5 ) .
MC-AkDP consists of obtaining k disjoint dominating sets at the minimum cost. If k is not fixed, the minimum-cost allied domatic partition problem could also be considered.

3. Block Decomposition Algorithm

In this section, the block decomposition algorithm we propose is presented. In order to understand it, we shall first explain the procedure with an illustrative example, and we shall then describe the general algorithm. Several similar decomposition mechanisms have been described in the literature for other graph problems, see, for example, Refs. [21,22].
Let us consider the graph in Figure 1. Before starting the iterative process, we update the upper bound ( κ ) for the domatic number d ( G ) to the value 3: δ ( G ) = 2 is the minimum degree of G, that is, the degree of vertex 6, and  δ ( G ) + 1 is an upper bound to d ( G ) . Then, the graph is split into blocks. All the blocks are the four subgraphs in Figure 2. The blocks are sorted from the leaf blocks to the root block. In the example, blocks B1 and B2 are leaf blocks, and both are followed by blocks B3 and B4. Ties in the order can be broken arbitrarily. For the first block B 1 , we build an augmented block B 1 ¯ by adding allied nodes to the cut-vertices of the block, and to each cut-vertex, an allied node for each neighbour of the cut-vertex that is not in the block is added. B1 has only one cut-vertex, node 3. The only neighbour of 3 that is not in B1 is node 4, so only one allied vertex is added to B 1 . The  augmented first block B 1 ¯ is in Figure 3. The weight w a 1 = 1 is assigned to the allied vertex in B 1 ¯ . Then, we solve MC-AkDP for B 1 ¯ with κ = 3 (3 is an upper bound for d ( G ) ). Note that the weight w a 1 = 1 implies that if possible, the allied dominating set in B 1 ¯ does not make use of node a 1 , and thus the domatic partitions in adjacent blocks do not need to be coherent with their position in the partition. An optimal solution for MC-AkDP( B 1 ¯ , w , κ ) is the one in Figure 2: there are three dominating sets in B 1 ¯ , which are described by the three grey colours. Then, a similar procedure is carried on with the following block B2. B2 has one cut-vertex, node 9, and the number of neighbours of 9 that are not in B2 is two, so the augmented block B 2 ¯ has two allied nodes with unitary weight, w a 1 = w a 2 = 1 . The optimal value of MC-AkDP( B 2 ¯ , w , κ ) is zero because there are three dominating sets in B 2 ¯ , the three grey colours in in Figure 2. Block B3 has two cut-vertices, nodes 3 and 4. From now on, the number of allied vertices connected to a cut-vertex is not always the number of neighbours outside the block. Given a cut-vertex, if the problem MC-AkDP has been solved for other blocks connected to the same cut-vertex, the number of allied vertices connected to it must be κ 1 minus the optimal solution of the previous MC-AkDP problem. For node 3, the number of allied vertices must be κ 1 minus the optimal value of MC-AkDP( B 1 ¯ , w , κ ) , that is 2 (3-1-0). For node 4, no other problem associated to an augmented incident block has been solved, so it has as many allied vertices as neighbours outside the block, that is, two allied vertices. Analogously, the weight is not directly one anymore; if some incident block to the cut-vertex was previously solved, then the weight is zero. Thus, in  B 3 ¯ , w a 1 = w a 3 = 0 and w a 2 = w a 4 = 1 . In Figure 3, Weight One is indicated by light dashed grey lines, and Weight Zero by dark dashed grey lines. The optimal value of MC-AkDP( B 3 ¯ , w , κ ) is one because the allied node a2 is used for having three dominating sets. The last block B4 has two cut-vertices and both were the cut-vertex in previously solved MC-AkDP problems. Thus, the number of allied vertices connected to node 4 is κ 1 minus the optimal value of MC-AkDP( B 3 ¯ , w , κ ) and the number of allied vertices connected to node 9 is κ 1 minus the optimal value of MC-AkDP( B 2 ¯ , w , κ ) : one allied vertex to node 4 and two allied vertices to node 9. The weight for the three allied vertices is zero and the optimal solution for the MC-AkDP( B 4 ¯ , w , κ ) is the one in Figure 3. Finally, if  some of the MC-AkDP problems would not have had a solution, that is, it would have been impossible to have a domatic partition of size κ , we would have updated κ to κ 1 and started again.
The general decomposition approach that is described in Algorithm 1 keeps the same spirit as the procedure described for the small example. It starts by sorting the blocks and initialising the number of allied vertices for any cut-vertex. The iterative pool of actions goes from line 7 to line 20. For the cut-vertex that connects the block to the tree of blocks, δ ( r ) | N ( r ) B i ( r ) | allied vertices are added, while for the other cut-vertices κ 1 ν B i , allied vertices are added. Weights are used to minimise the number of allied nodes in the domination of r. Unweighted nodes were already used in a previous iteration, and we can make use of it freely. In line 13, ν i is the optimal value of the MC-AkDP problem, representing the minimum number of weighted allied nodes needed for the domination, and  P i is the partition of B i obtained from variables x u j (it is P = { S j : S j , j { 1 , , δ ( G ) + 1 } } where S j = { u V : x u j = 1 } for all j { 1 , , δ ( G ) + 1 ) . If any optimisation problem MC-AkDP is unfeasible, the  κ is reduced by one unit. The last line of Algorithm 1 refers to Algorithm 2, which states how to paste all the allied dominating sets in the blocks into one dominating set of the total graph.
Mathematics 10 00640 i001
In Propositions 1–8 we will prove that the output of Algorithm 1 is a domatic partition. The main goal is to prove that the MC-AkDP problem of separable graphs can be solved by solving the MC-AkDP problem of one block and the MC-AkDP problem of a related connected subgraph. As we can recursively repeat this operation until the subgraph is non-separable, that is, a block, then the MC-AkDP problem of a separable graph can be solved by solving one MC-AkDP problem for each of its blocks. Figure 4 represents the elements that are used in the propositions. These usually are:
  • A separable graph G = ( V , E ) ;
  • A leaf block B G ;
  • A cut-vertex of B named as c;
  • A connected subgraph S G such that B S = G and c = B S ;
  • An augmented block with allied nodes of weight 0 added to B named as B ¯ ; and
  • G ¯ = B ¯ S .
The solved MC-AkDP problems are related to G ¯ and the added allied nodes of Weight 0 depend on the previously solved blocks. The added allied nodes force to obtain dominating sets which are consistent with the dominating sets of the blocks already solved. We could say, in a colloquial way, that the added allied nodes are the links to the previously solved problems.
Each graph G ¯ is solved in two steps. First, the graph B ^ obtained by adding N ( c ) S allied nodes to B ¯ (Proposition 1) is processed. Then, the graph S ¯ is obtained by adding a number of allied nodes to S to be processed. The number of allied nodes added to S depends on the result obtained when B ^ was processed (Proposition 2).
An algorithm for matching the different obtained partitions is described (Algorithm 2) and discussed (Propositions 6 and 7). Finally, Proposition 8 proves that Algorithm 1 returns a domatic partition of G.
Proposition 1.
Let
  • G = ( V , E ) be a separable graph;
  • B G be a leaf block;
  • c be the cut-vertex of B ;
  • S G be the connected subgraph such that B S = G and c = B S ;
  • B ¯ be an augmented block with allied nodes of Qeight 0 added to B;
  • G ¯ = B ¯ S ; and
  • B ^ be the graph obtained by adding N ( c ) S allied nodes to B ¯ .
If MC-AkDP ( G ¯ , w , κ ) has a solution, then MC-AkDP ( B ^ , w B ^ , κ ) also has a solution.
Proof. 
A feasible solution consists of grouping the nodes of B ^ in the same way that these nodes are grouped in a partition for obtaining κ allied dominating sets in G ¯ , which is possible since MC-AkDP ( G ¯ , w , κ ) has a solution and N ( c ) S allied nodes were added to c B ¯ . Note that these N ( c ) S allied nodes do not have to be dominated, but they contribute to the domination of c.    □
Corollary 1.
Proposition 1 is valid independently of the weights imputed to the allied nodes added to c B ¯ .
Proof. 
That is because the weights only affect the objective function but neither the number of allied nodes to add nor to the feasible region.    □
Corollary 2.
In Proposition 1, if the allied nodes added to c B ¯ are weighted by 1 and MC-AkDP ( B ^ , w B ^ , κ ) = ν B ^ , then κ 1 ν B ^ is the maximum number of sets in B ¯ that can dominate c in a MC-AkDP ( G ¯ , w , κ ) solution.
Proof. 
Since the allied nodes added to c B ¯ when B ^ is built are weighted by 1, then ν B ^ represents the minimum number of allied nodes needed to get κ allied dominating sets That implies κ 1 ν B ^ is the maximum number of disjoint sets in B ^ that dominate c.    □
Proposition 2.
Let
  • G = ( V , E ) be a separable graph;
  • B G be a leaf block;
  • c be the cut-vertex of B ;
  • S G be the connected subgraph such that B S = G and c = B S ;
  • B ¯ be an augmented block with allied nodes of weight 0 added to B;
  • G ¯ = B ¯ S ;
  • B ^ be the graph obtained by adding N ( c ) S allied nodes with weight 1 to B ¯ ;
  • ν B ^ = MC-AkDP ( B ^ , w B ^ , κ ) ;
  • S ¯ be the graph obtained by adding κ 1 ν B ^ allied nodes to S.
If MC-AkDP ( G ¯ , w , κ ) has a solution, then MC-AkDP ( S ¯ , w S ¯ , κ ) also has a solution.
Proof. 
By reductio ad absurdum, if MC-AkDP ( S ¯ , w S ¯ κ ) does not have a solution, it would either be because not enough allied nodes were added to c S , or even adding infinite nodes does not guarantee that a solution can be obtained. On the one hand, if it would be possible to add more allied nodes to c S to achieve a solution to MC-AkDP ( S ¯ , w S ¯ , κ ) , then MC-AkDP ( B ^ , w B ^ κ ) would not have a solution: according to Corollary 1, if the maximum number of disjoint sets in B ¯ that can dominate c were added, then no more allied nodes can be added. On the other hand, if even adding infinite allied nodes to c S would not yield a solution, it would be because MC-AkDP ( G ¯ , w , κ ) does not have a solution. Note that in case the solution exists, it would be enough to group the nodes of S in the same way these are grouped in a MC-AkDP ( G ¯ , w , κ ) and then provide as many allied nodes as needed to get κ allied dominating sets.    □
Corollary 3.
Propositions 2 are valid independently of the weights imputed to the allied nodes of S ¯ .
Proof. 
That is because these weights only affect the objective function of MC-AkDP ( S ¯ , w S ¯ , κ ) but not the number of allied nodes to add, nor the feasible region.    □
Proposition 3.
Let
  • G = ( V , E ) be a separable graph;
  • B G be a leaf block;
  • c be the cut-vertex of B ;
  • S G be a connected subgraph such that B S = G and c = B S ;
  • B ¯ be an augmented block with allied nodes of Weight 0 added to B;
  • G ¯ = B ¯ S ;
  • B ^ be the graph obtained by adding N ( c ) S allied nodes with Weight 1 to S; and
  • S ¯ be the graph obtained by adding κ 1 ν B ^ allied nodes to S.
If MC-AkDP ( B ^ , w B ^ , κ ) or MC-AkDP ( S ¯ , w S ¯ , κ ) has no solution, then MC-AkDP ( G ¯ , w , κ ) has no solution.
Proof. 
On the one hand, if MC-AkDP ( B ^ , w B ^ , κ ) has no solution, that is because MC-AkDP ( G ¯ , w G ¯ κ ) also has no solution, otherwise a solution of MC-AkDP ( B ^ , w B ^ , κ ) would be obtained by grouping the nodes of B ^ in the same way these are grouped to obtain κ allied dominating sets in G ¯ .
On the other hand, if MC-AkDP ( S ¯ , w S ¯ κ ) had no solution, it would be because either not enough allied nodes were added to c S or because even adding infinite allied nodes to c S a solution would not work. In the first case, if it would be possible to add more allied nodes to c S to achieve a solution to MC-AkDP ( S ¯ , w S ¯ , κ ) , then MC-AkDP ( B ^ , w B ^ , κ ) would have no solution—according to Corollary 1, if the maximum number of disjoint sets in B ¯ that can dominate c were added, then no more allied nodes can be added. In the second case, if by even adding infinite allied nodes to c S a solution could not be obtained, that would clearly happen if MC-AkDP ( G ¯ , w , κ ) has no solution.    □
Corollary 4.
Let
  • G = ( V , E ) be a separable graph;
  • B G be a leaf block;
  • c be the cut-vertex of B ;
  • S G be the connected subgraph such that B S = G and c = B S ;
  • B ¯ be an augmented block with allied nodes of Weight 0 added to B;
  • G ¯ = B ¯ S ;
  • B ^ be the graph obtained by adding N ( c ) S allied nodes with weight 1 to B ¯ ;
  • ν B ^ = MC-AkDP ( B ¯ , w B ¯ , κ ) ; and
  • S ¯ be the graph obtained by adding κ 1 ν B ^ allied nodes to S.
d a ( G ¯ ) κ if and only if both MC-AkDP ( B ^ , w B ^ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) have a solution.
Proof. 
Remember that d a ( G ¯ ) is the maximum κ , such that MC-AkDP ( G ¯ , w G ¯ , κ ) has a solution. On the one hand, Propositions 1 and 2 guarantee that if MC-AkDP ( B ^ , w B ^ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) have a solution, then MC-AkDP ( G ^ , w G ^ , κ ) also has a solution. On the other hand, Proposition 3 says that if MC-AkDP ( B ^ , w B ^ , κ ) or MC-AkDP ( S ¯ , w S , κ ) have no solution, then G cannot be partitioned into κ allied dominating sets. Thus, G ¯ can be partitioned into κ allied dominating sets or what is the same, d a ( G ) κ , if and only if both MC-AkDP ( B ^ , w B ^ , κ ) and MC-AkDP ( S ¯ , w S , κ ) have a solution.    □
Corollary 5.
Let
  • G = ( V , E ) be a separable graph;
  • B G be a leaf block;
  • c be the cut-vertex of B ;
  • S G be the connected subgraph such that B S = G and c = B S ;
  • B ¯ be the augmented block with N ( c ) S allied nodes of weight 1 added to B
  • ν B ¯ = MC-AkDP ( B ¯ , w B ¯ , κ ) ;
  • G ¯ = B ¯ S ; and
  • S ¯ be the graph obtained by adding κ 1 ν B ¯ allied nodes to S.
d ( G ) κ if and only if both MC-AkDP ( B ¯ , w B ¯ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) have a solution.
Proof. 
Trivial from Corollary 4. It is the particular case in which G ¯ has 0 allied nodes.    □
Let G = ( V , E ) be a separable graph, B G a leaf block, and a connected subgraph S G such that B S = G . Since d ( G ) κ if and only if both MC-AkDP ( B ¯ , w B ¯ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) have a solution (Corollary 5), then one way to calculate d ( G ) consists of setting κ by enumerating, for example, by increasing it sequentially from κ = 3 until no solution exists or decreasing it sequentially from κ = δ ( G ) + 1 until both MC-AkDP ( B ¯ , w B ¯ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) have a solution. Other strategies could also be designed in order to save explorations, such as increasing/decreasing procedures with some steps larger than 1.
Proposition 4.
Algorithm 1 returns the domatic number of G.
Proof. 
Algorithm 1 solves d ( G ) , sequentially decrementing from κ = δ ( G ) + 1 . At each iteration it starts trying MC-AkDP ( B ¯ , w B ¯ , κ ) and MC-AkDP ( S ¯ , w S ¯ , κ ) , given that if both problems have a solution, that would mean d ( G ) = κ (Corollary 5). Each MC-AkDP ( S ¯ , w S ¯ , κ ) is recursively solved by decomposing it into leaf blocks according to Proposition 3 until S is also a block. That is equivalent to sorting and solving the blocks from the leaf blocks to the root block as Algorithm 1 does.    □
Proposition 5.
For each block B i G , let P i be a partition of B i built by Algorithm 1 but excluding the allied nodes in each subset in P i . Then, a domatic partition of G is obtained by consistently matching the partitions P i .
Proof. 
Each block is solved by adding a number of allied nodes which represent the number of dominating sets that dominate a shared cut-vertex. Its MC-AkDP solution provides κ dominating sets. Thus, it is possible to find a domatic partition of G by consistently matching the partitions P i . Note that if the indexes j of the allied nodes were fixed to 1 in variables x u j , then the matching would not be necessary.    □
The algorithm that we propose for matching the partitions P i is Algorithm 2. It starts with partition P Q and finishes with a domatic partition. Partition P Q splits the nodes in B Q into subsets. Nodes in V that are not in B Q are successively aggregated to P Q so that the final partition has all the nodes in V . As in the description of Algorithm 1, we illustrate Algorithm 2 with the match in the example, and then we write the general matching procedure.
In our example, P = P 4 is the partition in B 4 ( P is not a domatic partition of B 4 ) and it is of size d ( G ) . Recall that P 4 is not a partition of B ¯ 4 . P 4 is { ( 4 ) , ( 5 , 8 ) , ( 9 ) } (first row, second column in Table 1). The union of the rest of the partitions is U = P 1 P 2 P 3 = { ( 1 ) , ( 2 , 3 ) , ( 7 ) } { ( 6 ) , ( 9 ) , ( 10 ) } { ( 3 ) , ( 4 ) } = { ( 1 ) , ( 2 , 3 ) , ( 3 ) , ( 4 ) , ( 6 ) , ( 7 ) , ( 9 ) , ( 10 ) } . The spirit of the matching algorithm (Algorithm 2) is to complete the d ( G ) sets in P with the rest of nodes, that is, with the nodes V U = { 1 , 2 , 3 , 6 , 7 , 10 } , in such a way that the three final sets are a domatic partition of V . Using colours to explain the idea, if we imagine that each set of the partition { ( 4 ) , ( 5 , 8 ) , ( 9 ) } is a different colour—for instance, that node 4 is dark grey, that nodes 5 and 8 are grid grey, and that node 9 is light grey—the domatic partition nodes in V P = { 4 , 5 , 8 , 9 } will keep their colour, and nodes in V U will be inserted in these sets in such a way that any two nodes sharing a set in U will have the same colour. We iteratively incorporate nodes of U to the sets of P in order to provide every node v in P with a neighbour in the sets to which v does not belong. In particular, we look for a pair of nodes, one v in V P and another v in V U such that there is a set in P which does not have common nodes with the neighbourhood of the former N ( v ) , and the second belongs to this neighbourhood N ( v ) . For instance, nodes 4 V P and 3 V U satisfy both conditions: N ( 4 ) = { 3 , 5 , 8 } { 9 } = and 3 N ( 4 ) = { 3 , 5 , 8 } . Then, we add node 3 and the nodes sharing with node 3 a set in U to the set in P that had an empty intersection with the neighbourhood of 4, that is, we add nodes 2 and 3 to the set { ( 9 ) } . In terms of colours, nodes 2 and 3 will be the same colour as node 9 (see Figure 5), which makes sense since nodes 2 and 3 must be the same colour because they belong to the same set in U . Then, we remove from U all the sets that contain nodes in V P 4 and we add the nodes in the removed sets to the sets in V P 4 with the common element. In the example, we remove sets { ( 4 ) } and { ( 9 ) } and we do not add anything to P because both are sets with only one node. The resulting set of sets P is the initial partition in the next iteration of the algorithm. We continue until U is empty. Table 1 shows the evolution of P and U through the five iterations in the example. Finally, the domatic partition is { ( 1 , 4 , 6 ) , ( 5 , 7 , 8 , 10 ) , ( 2 , 3 , 9 ) } . This is illustrated in Figure 5.
The general procedure is described in Algorithm 2. It needs all the partitions obtained in Algorithms 1, and 2 adequately pastes them.
Let P Q be the partition of B Q obtained in Algorithm 1. Let U = i = 1 Q 1 P i be the union of the rest of the partitions from Algorithm 1. Let V P Q = t P Q t be the set of nodes of the P Q elements and let V U = t U t be the set of nodes of the U elements. For each v in V and each set P of sets of V , let s P ( v ) be a set in P that contains node v . Algorithm 2 reads as follows.
Mathematics 10 00640 i002
Proposition 6.
While Algorithm 2 does not finish (while U ), it is possible to locate a vertex v ν P such that there exists a t P : N ( v ) t = and N ( v ) ν U , and also to locate a vertex v N ( v ) V U (lines 4 and 5 of Algorithm 2).
Proof. 
On the one hand, if there were no t P : N ( v ) t = , that would mean the domatic partition has already been found. On the other hand, if there were t P : N ( v ) t = but N ( v ) ν U = , that would mean it is not possible to find a domatic partition of G, which cannot happen according to the Propositions 4 and 5. □
Proposition 7.
Algorithm 2 gets a domatic partition of G from the partitions of the blocks provided by Algorithm 1.
Proof. 
First of all, note that P always has a domatic number of subsets. Second, since the algorithm successively finds a node v in P that is not dominated by a subset t, and given that according to Proposition 6 it is possible to incorporate into t a subset in U that dominates v , then the Algorithm 2 obtains a domatic partition of G. □
Proposition 8.
Algorithm 1 returns a domatic partition of G.
Proof. 
Given that Algorithm 1 calls Algorithm 2, providing it with d ( G ) allied domatic partitions of each block in G , then according to Proposition 7, a domatic partition of G is obtained. □

4. Computational Experience

We carried out a computational experience in order to analyse the performance of the decomposition method proposed to compute the domatic partition in graphs with blocks. We tested our techniques over a set of 117 randomly generated instances. Specifically, these instances contain from 100 to 400 nodes, progressively increasing the size from 25 to 25, that is, 100, 125, , 400 nodes. In turn, it generated nine different instances for each one of these node sizes, according to the densities 1.5 , 2.5 , 5.0 , 7.5 , 10.0 , 12.5 , 15.0 , 17.5 and 20.0 . That is, we have nine instances of 100 nodes, and respectively 150, 250, 500, 750, 1000, 1250, 1500, 1750, 2000 edges; nine instances of 125 nodes and respectively 188, 313, 625, 938, 1250, 1563, 1875, 2188 and 2500 edges; and so on. Apart from the randomness employed to generate these instances, they were generated in such a way that a Hamiltonian cycle can be found in every one. Finally, each one of them were joined up with itself from the initial node in such a way that the final instances have two symmetrical blocks and they cover from 199 to 799 nodes progressively, increasing the sizes from 50 to 50.
Our experiments were conducted on a PC with a 2.60 GHz Intel Xeon, 64 GB of RAM, and Ubuntu 18.04.5 LTA operating system. The instances were solved twice by linear integer programming, using both the general method and the decomposition approach. To solve the linear integer models, we used the optimisation engine IBM ILOG CPLEX Interactive Optimiser 20.1.0.0, setting a max computing time per instance of 3600 s.
Table 2 summarises the computational processing times grouped by nodes of the instances that were concluded by both methods during the processing time limit. Column # solved shows the number of nine instances solved both by the DP model and by Algorithm 1. Column DP time shows the average time in seconds it took to solve the model (DP), that gives the domatic number d ( G ) and the domatic partition. Column Algorithm 1 time shows the average time in seconds it took to solve Algorithm 1, that also gives d ( G ) and the partition. The last row shows the global average for both methods, which is clearly advantageous for the decomposition approach, with an average time of 28.49 s versus 216.98 s of the general method. The more prominent advantage was obtained in the instances of 549 nodes which needed an average of 521.67 s to be solved by the optimisation model approach, whilst the decomposition approach only required an average of 4.67 s.
Instances with 599 to 749 nodes may seem easy instances due to the average times listed. However, the fact is that a lot of instances of these groups did not conclude, and therefore only the times of the easy instances were taken into account. In this respect, Table 3 provides information about the instances that have not been completed for each group and method. The DP model could not solve 37 of the 117 instances within the time limit, whilst the instances not solved by the decomposition method were 28. Note how only five of the nine instances for the groups of 599 to 749 nodes were solved by the general method. Finally, the major advantage of the decomposition approach was obtained in the group of 599 instances where the decomposition method solved seven instances, whilst the general only solved five.
The instances that Algorithm 1 could not complete were not concluded by the DP model either. Conversely, there were nine instances concluded by the decomposition approach that could not be concluded by the DP model. The details of each one of these last instances are shown in Table 4. Columns # nodes and # edges respectively indicate the number of nodes and edges of each instance, L B ( D P ) the value of the best feasible solution found by the DP model, d ( G ) the optimal value found by Algorithm 1, and finally, Column time indicates the solution time employed by Algorithm 1. Note that the best feasible solution found by the DP model just coincides with the optimal solution in the first instance. We also highlight that the solution time for the three last instances is very small.
Given that the processing difficulty of the instances is more correlated to the number of edges than to the number of nodes, we have also obtained several tables summarising the results according to their number of edges. We classify the instances into three groups: easy, medium and hard. Table 5 shows the criteria followed to classify the instances according to the number of edges, as well as the number of instances belonging to each level of computational hardness.
There are easy instances with any number of nodes, but there are hard instances with only 300 nodes or more. Figure 6 shows the frequency of each type of instance for each number of nodes.
Table 6 and Table 7 aggregate the information in Table 2 and Table 3 respectively by difficulty. The former gives the average time, and the second, the number of unsolved instances. The last rows (average and total) coincide with the last rows in Table 2 and Table 3. Observe that the DP model did not solve 34 of the 49 hard instances, whilst Algorithm 1 did not solve 25 of them.
Figure 7, Figure 8 and Figure 9 give more details about the resolution time for solving the DP model and Algorithm 1. The vertical axis denotes the time and the horizontal axis indicates the instance. Each instance is named by its number of nodes and its number of edges. From these figures, it follows that most of the easy instances are solved in less than 5 s, and there are more DP bars than Algorithm bars. For easy instances, only one instance required more than 5 s, and the algorithm used less time for concluding. For medium instances, most of the times are very small, but when the time is larger than 10 s, the algorithm works faster. For hard instances, the bars for the DP model are always larger than the bars for the algorithm. Furthermore, in some cases, the algorithm time bar is negligible, while the DP time bar exceeds 2000 s.

5. Conclusions and Future Research

In this paper, we have introduced a new generalisation of domination named allied domination. Our motivation for its introduction was to improve the computational effort to calculate the domatic partition of a graph, and as a consequence, its domatic number by decomposing a graph into its blocks. An exact method for calculating the domatic partition is the major contribution of this paper. In addition, it is supported by extensive computational experience measuring its advantages.
On the one hand, future works can be focused on extending and deepening allied domination. Its properties can be studied by using both exact and approximation techniques. On the other hand, heuristic and approximation algorithms can also be developed in order to calculate not only the domatic number, but also related problems by taking advantage of the knowledge provided by the decomposition exact method proposed.

Author Contributions

Conceptualization, M.L. and J.L.S.-P.; Methodology, M.L. and J.L.S.-P.; Software, M.L. and J.L.S.-P.; Writing, original draft, M.L. and J.L.S.-P.; Writing, review and editing, M.L. and J.L.S.-P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

This work was partially supported by the Spanish Ministry of Science and Innovation through projects PGC2018-099428-B-100 and RED2018-102363-T and by PROMETEO/2021/063 funded by the governments of Spain and the Valencian Autonomous Region.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Cockayne, E.; Hedetniemi, S. Towards a theory of domination in graphs. Networks 1977, 7, 247–261. [Google Scholar] [CrossRef]
  2. Bonucelli, M. Dominating sets and domatic number of circular arc graphs. Discret. Appl. Math. 1985, 12, 203–213. [Google Scholar] [CrossRef]
  3. Lu, T.L.; Ho, P.H.; Chang, G.J. The Domatic Number Problem in Interval Graphs. SIAM J. Discret. Math 1990, 3, 531–536. [Google Scholar] [CrossRef]
  4. Peng, S.L.; Chang, M.S. A simple linear time algorithm for the domatic partition problem on strongly chordal graphs. Inf. Process. Lett. 1992, 43, 297–300. [Google Scholar] [CrossRef]
  5. Fomin, F.; Grandoni, F.; Pyatkin, A.A.; Stepanov, A.P. Combinatorial bounds via measure and conquer: Bounding minimal dominating sets and applications. J. ACM Trans. Algorithms 2000, 5, 1–17. [Google Scholar]
  6. Björklund, A.; Husfeldt, T.; Koivisto, M. Set partitioning via inclusion–exclusion. SIAM J. Comput. 2009, 39, 546–563. [Google Scholar] [CrossRef]
  7. van Rooij, J.M.M. Polynomial Space Algorithms for Counting Dominating Sets and the Domatic Number. In Proceedings of the International Conference on Algorithms and Complexity, Rome, Italy, 26–28 May 2010; pp. 76–84. [Google Scholar]
  8. Gaspers, S.; Sorkin, G.B. Separate, measure and conquer: Faster polynomial-space algorithms for Max 2-CSP and counting dominating sets. ACM Trans. Algorithms 2017, 13, 1–36. [Google Scholar] [CrossRef] [Green Version]
  9. Björklund, A.; Husfeldt, T. Exact graph coloring using inclusion–exclusion. In Encyclopedia of Algorithms; Springer: Berlin, Germany, 2008. [Google Scholar]
  10. Fomin, F.; Grandoni, F.; Kratsch, D. Measure and conquer: Domination—A case study. In Proceedings of the 32nd International Colloquium on Automata, Languages and Programming (ICALP), Lisbon, Portugal, 11–15 July 2005; Volume 13. [Google Scholar]
  11. Nederlof, J.; Björklund, A.; van Dijck, T.C. Inclusion/Exclusion Meets Measure and Conquer: Exact algorithms for counting dominating sets. In ESA 2009: Algorithms—ESA 2009; Fiat, A., Sanders, P., Eds.; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5757, pp. 554–565. [Google Scholar]
  12. Aram, H.; Sheikholeslami, S.M.; Volkmann, L. On the Total Domatic Number of Regular Graphs. Trans. Comb. 2012, 1, 45–51. [Google Scholar]
  13. Manacher, G.K.; Mankus, T.A. Finding a Domatic Partition of an Interval Graph in Time O(n). SIAM J. Discret. Math. 1996, 9, 167–172. [Google Scholar] [CrossRef]
  14. Rautenbach, D.; Volkmann, L. The domatic number of block-cactus graphs. Discret. Math. 1998, 187, 185–193. [Google Scholar] [CrossRef]
  15. Xu, G.; Kang, L.; Shan, E.; Zhao, M. Power domination in block graphs. Theor. Comput. Sci. 2009, 359, 299–305. [Google Scholar] [CrossRef] [Green Version]
  16. Wang, C.; Chen, L.; Lu, C. k-Power domination in block graphs. J. Comb. Optim. 2014, 31, 865–873. [Google Scholar] [CrossRef]
  17. Zhao, Y.; Shan, E.; Liang, S.; Gao, R. A Labeling Algorithm for Distance Domination on Block Graphs. Bull. Malays. Math. Sci. Soc. 2014, 37, 965–970. [Google Scholar]
  18. Chang, G. Total Domination in Block Graphs. Oper. Res. Lett. 1989, 8, 53–57. [Google Scholar] [CrossRef]
  19. Mahjoub, D.; Leskovskaya, A.; Matula, D.W. Approximating the Independent Domatic Partition Problem in Random Geometric Graphs. In Proceedings of the CCCG 2010, Winnipeg, MB, USA, 9–11 August 2020. [Google Scholar]
  20. Pandit, S.; Pemmaraju, S.V.; Varadarajan, K. Approximation Algorithms for Domatic Partitions of Unit Disk Graphs. In Proceedings of the International Workshop on Approximation Algorithms for Combinatorial Optimization and International Workshop on Randomization and Approximation Techniques in Computer Science, Berkeley, CA, USA, 21–23 August 2009. [Google Scholar]
  21. Landete, M.; Marin, A.; Sainz-Pardo, J.L. Decomposition methods based on articulation vertices for degree-dependent spanning tree problems. Comput. Optim. Appl. 2017, 68, 749–773. [Google Scholar] [CrossRef]
  22. Landete, M.; Marin, A.; Sainz-Pardo, J.L. Locating switches. Expert Syst. Appl. 2019, 136, 338–352. [Google Scholar] [CrossRef]
Figure 1. Example.
Figure 1. Example.
Mathematics 10 00640 g001
Figure 2. Blocks of the example.
Figure 2. Blocks of the example.
Mathematics 10 00640 g002
Figure 3. Augmented blocks of the example and optimal solutions to MC-AkDP.
Figure 3. Augmented blocks of the example and optimal solutions to MC-AkDP.
Mathematics 10 00640 g003
Figure 4. Main elements of the propositions.
Figure 4. Main elements of the propositions.
Mathematics 10 00640 g004
Figure 5. Solution for the example from Table 1.
Figure 5. Solution for the example from Table 1.
Mathematics 10 00640 g005
Figure 6. Difficulty versus number of nodes.
Figure 6. Difficulty versus number of nodes.
Mathematics 10 00640 g006
Figure 7. Time for concluded easy instances.
Figure 7. Time for concluded easy instances.
Mathematics 10 00640 g007
Figure 8. Time for concluded medium instances.
Figure 8. Time for concluded medium instances.
Mathematics 10 00640 g008
Figure 9. Time for concluded hard instances.
Figure 9. Time for concluded hard instances.
Mathematics 10 00640 g009
Table 1. Iterations for matching the example.
Table 1. Iterations for matching the example.
Iter. P U
0 { ( 4 ) , ( 5 , 8 ) , ( 9 ) } { ( 1 ) , ( 2 , 3 ) , ( 3 ) , ( 4 ) , ( 6 ) , ( 7 ) , ( 9 ) , ( 10 ) }
1 v = 4 , t = ( 9 ) , v = 3 { ( 4 ) , ( 5 , 8 ) , ( 2 , 3 , 9 ) } { ( 1 ) , ( 3 ) , ( 6 ) , ( 7 ) , ( 10 ) }
2 v = 2 , t = ( 4 ) , v = 1 { ( 1 , 4 ) , ( 5 , 8 ) , ( 2 , 3 , 9 ) } { ( 6 ) , ( 7 ) , ( 10 ) }
3 v = 1 , t = ( 5 , 8 ) , v = 7 { ( 1 , 4 ) , ( 5 , 7 , 8 ) , ( 2 , 3 , 9 ) } { ( 6 ) , ( 10 ) }
4 v = 9 , t = ( 1 , 4 ) , v = 6 { ( 1 , 4 , 6 ) , ( 5 , 7 , 8 ) , ( 2 , 3 , 9 ) } { ( 10 ) }
5 v = 6 , t = ( 5 , 7 , 8 ) , v = 10 { ( 1 , 4 , 6 ) , ( 5 , 7 , 8 , 10 ) , ( 2 , 3 , 9 ) }
Table 2. Times of concluded instances by nodes.
Table 2. Times of concluded instances by nodes.
Nodes# SolvedDP TimeAlgorithm 1 Time
199713.292.86
2498322.1296.50
2997118.1441.43
3496513.1750.67
39964.671.00
4497236.43107.71
4997516.4310.57
5496521.674.67
59950.600.00
64950.200.80
69950.800.00
74950.800.00
7996390.339.33
Average 216.9828.49
Table 3. Number of non-concluded instances by nodes.
Table 3. Number of non-concluded instances by nodes.
NodesDP ModelAlgorithm 1
19922
24911
29922
34933
39932
44921
49921
54932
59942
64943
69944
74942
79933
Total3728
Table 4. Detail of non-concluded instances.
Table 4. Detail of non-concluded instances.
# Nodes# EdgesLB (DP) d ( G ) Time
3996000882634
4497876681872
4998750781994
5498250683442
5997500562300
5999000672664
6499750562
7499376552
74915,000686
Table 5. Classification of computational hardness.
Table 5. Classification of computational hardness.
DifficultyEdges# Instances
Easy≤200034
Medium2001–500034
Hard≥500149
Total 117
Table 6. Times of concluded instances by computational hardness.
Table 6. Times of concluded instances by computational hardness.
DifficultyDP ModelAlgorithm 1
Easy2.680.63
Medium210.5544.71
Hard716.0060.00
Average216.9828.49
Table 7. Number of non-concluded instances by computational hardness.
Table 7. Number of non-concluded instances by computational hardness.
DifficultyDP ModelAlgorithm 1
Easy00
Medium33
Hard3425
Total3728
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Landete, M.; Sainz-Pardo, J.L. The Domatic Partition Problem in Separable Graphs. Mathematics 2022, 10, 640. https://doi.org/10.3390/math10040640

AMA Style

Landete M, Sainz-Pardo JL. The Domatic Partition Problem in Separable Graphs. Mathematics. 2022; 10(4):640. https://doi.org/10.3390/math10040640

Chicago/Turabian Style

Landete, Mercedes, and José Luis Sainz-Pardo. 2022. "The Domatic Partition Problem in Separable Graphs" Mathematics 10, no. 4: 640. https://doi.org/10.3390/math10040640

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop