Next Article in Journal
Entropy, Topological Theories and Emergent Quantum Mechanics
Previous Article in Journal
Quantifying Synergistic Information Using Intermediate Stochastic Variables
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Using k-Mix-Neighborhood Subdigraphs to Compute Canonical Labelings of Digraphs

1
State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, 100876 Beijing, China
2
School of Computer and Information Engineering, Beijing Technology and Business University, 100048 Beijing, China
*
Author to whom correspondence should be addressed.
Entropy 2017, 19(2), 79; https://doi.org/10.3390/e19020079
Submission received: 18 October 2016 / Revised: 25 December 2016 / Accepted: 15 February 2017 / Published: 22 February 2017
(This article belongs to the Section Information Theory, Probability and Statistics)

Abstract

:
This paper presents a novel theory and method to calculate the canonical labelings of digraphs whose definition is entirely different from the traditional definition of Nauty. It indicates the mutual relationships that exist between the canonical labeling of a digraph and the canonical labeling of its complement graph. It systematically examines the link between computing the canonical labeling of a digraph and the k-neighborhood and k-mix-neighborhood subdigraphs. To facilitate the presentation, it introduces several concepts including mix diffusion outdegree sequence and entire mix diffusion outdegree sequences. For each node in a digraph G, it assigns an attribute m_NearestNode to enhance the accuracy of calculating canonical labeling. The four theorems proved here demonstrate how to determine the first nodes added into M a x Q ( G ) . Further, the other two theorems stated below deal with identifying the second nodes added into M a x Q ( G ) . When computing C m a x ( G ) , if M a x Q ( G ) already contains the first i vertices u 1 , u 2 , , u i , Diffusion Theorem provides a guideline on how to choose the subsequent node of M a x Q ( G ) . Besides, the Mix Diffusion Theorem shows that the selection of the ( i + 1 ) th vertex of M a x Q ( G ) for computing C m a x ( G ) is from the open mix-neighborhood subdigraph N + + ( Q ) of the nodes set Q = { u 1 , u 2 , , u i } . It also offers two theorems to calculate the C m a x ( G ) of the disconnected digraphs. The four algorithms implemented in it illustrate how to calculate M a x Q ( G ) of a digraph. Through software testing, the correctness of our algorithms is preliminarily verified. Our method can be utilized to mine the frequent subdigraph. We also guess that if there exists a vertex v S + ( G ) satisfying conditions C m a x ( G v ) C m a x ( G w ) for each w S + ( G ) w v , then u 1 = v for M a x Q ( G ) .

1. Introduction

A canonical labeling [1,2,3] of a graph, also called a canonical form [4], a canonical code [5], or an optimum code [6], is a unique string corresponding to the graph and is lexicographically smallest or largest according to the different definitions used in the studies. Two digraphs are isomorphic if and only if they have the same canonical labelings. Until now, the computation of the canonical labeling as the digraph isomorphism problem remains an unsolved problem in computational complexity theory in the sense that no polynomial-time algorithm exists for calculating the canonical labeling of a digraph. Therefore, the computation of the canonical labeling is NP-hard [4,7].
Numerous methods have emerged to calculate the canonical labelings of undirected graphs. However, different methods use distinct definitions of the canonical labeling. Given a graph with n vertices, Huan et al. concatenates the lower triangular entries (including the diagonal entries) of its adjacency matrix to produce its canonical labeling [8]. Kuramochi and Karypis construct the canonical labeling by concatenating the columns of the upper-triangular portion of its adjacency matrix [9,10]. To create the canonical labeling, He et al. concatenate the rows of its adjacency matrix to form a n 2 binary number [11,12].
Babai and Luks pioneered the establishment of a general group-theoretic approach to compute canonical labeling [4]. However, combinatorial methods have worked well in various special cases. For random graphs, Babai et al. produce a canonical labeling with high probability [4,13]. Arvind et al. propose two corresponding logspace algorithms for partial 2- and 3-Trees [7,14].
Jianqiang Hao establishes a new theoretical framework to compute the canonical labeling C m a x ( G ) of undirected graphs by defining a set of concepts useful for classifying graphs [15].
Currently, Nauty [1,16,17,18] is the most popular and practical tools for considering the automorphism group and the canonical label of a graph or digraph. On isomorphism testing, Nauty is more efficient than Ullmann [19]. It has almost become the industry standard used to calculate the canonical label, as well as the automorphism group. For computing the canonical labeling and automorphism group, Nauty and [20] use the depth-first search to traverse the potential intermediate nodes in the search tree. The nodes of the search tree generated by Nauty are equitable ordered partitions of nodes in G. Nauty iteratively refines partitioning nodes until places the nodes that have the same properties into an automorphism orbit. As the partition refinement becomes finer and smaller, it automatically creates the canonical label. Nauty also requires exponential time to compute the canonical labeling for a given Miyazaki graph [21]. Tener and Deo [22] made improvements for dealing with the problem.
Besides Nauty, Bliss [3,23], Traces [2], and Conauto [24] are also state-of-the-art tools for graphs isomorphism testing. Based on backtracking, individualization of vertices, and partition refinement, Bliss [3,23] is an efficient canonical labeling tool for handling large and sparse graphs. Katebi et al. [25] can find the symmetry while calculating the canonical labeling. To fix the glitch of Nauty, Traces [2] uses the strategy of breadth-first search to find the automorphism group and the canonical labeling. Conauto also uses the basic individualization/refinement technique and is very fast for random graphs and several families of hard graphs.
For the improvement of performance, existing algorithms commonly utilize backtracking and orbit partitioning technique to avoid repeatedly visiting the same vertices, as well as manage to reduce the accessed nodes in the search tree. McKay and Piperno provides a comprehensive discussion of the issue [18].
Nauty dominated the field for several decades. As a result, an in-depth study for the canonical labeling has been confined to the theoretical framework of Nauty. This means that people just follow the research trajectory of nauty to extend and establish further study. When the graph under consideration contains a large number of automorphisms, it is difficult to verify the correctness of the canonical labeling obtained by performing Nauty according to the standard of Nauty.
Although many algorithms have emerged to calculate the canonical labelings of undirected graphs, to our best knowledge no algorithm other than Nauty exists for computing the canonical labelings of digraphs.
Throughout the paper, the canonical labeling C m a x ( G ) of a digraph is the lexicographically largest code obtained by concatenating the rows of the associated adjacency matrix (see Definition 7). Our definition of canonical labeling is entirely different from that of Nauty.
Although a few algorithms also give the same definition of the canonical labeling as described in Definition 7, their primary purpose is not to study how to construct a canonical labeling of a digraph, but for other intentions such as to mine the frequent subdigraphs. As a result, they can only work for some restricted undirected graph classes. Jianqiang Hao utilizes the C e n ( G ) to calculate the first node u 1 added into M a x Q ( G ) of simple undirected graphs [15]. Based on current knowledge and Definition 7, a general algorithm for computing the canonical labelings of digraphs is not available.
This paper focuses on the development of general theory and methods to calculate the canonical labeling C m a x ( G ) of digraphs. In the rest of this paper, Section 2 establishes some basic terminology and preliminary information. Section 3 describes the results accompanied by some discussion. Section 4 presents our algorithms for computing the canonical labeling of digraphs. Section 5 displays the implementation of our algorithms and evaluates our approach through many examples. Finally, Section 6 comments on our results and future work.

2. Preliminaries

In this section, we provide a brief review of the fundamental information used throughout the paper. A more comprehensive presentation can be found in most standard textbooks [26,27]. A directed graph (or digraph) G = < V ( G ) , E ( G ) > consists of a nonempty set V ( G ) of vertices (or nodes) and a set E ( G ) of directed edges (or arcs). A directed edge associated with the ordered pair ( u , v ) is said to start at u and end at v. We also say that the vertex u is its tail and the vertex v is its head. Throughout the paper, we denote ( u , v ) by u v . For the edge u v E ( G ) , the vertex v is said to be adjacent from the vertex u, the vertex u is said to be adjacent to the vertex v, and the edge u v is said to be incident from the vertex u and incident to the vertex v. The directed distance d ( u , v ) from vertex u to vertex v in G is the length of the shortest directed path from u to v [28], if any; otherwise d ( u , v ) = .
This paper deals with only finite simple digraphs, which have no loops and no multiple edges. For each u V ( G ) , let d G + ( u ) = | { v | v u u v E ( G ) } | , d G + ( u ) = | { v | u v E ( G ) } | , d G ( u ) = | { v | v u E ( G ) } | , and d G ( u ) = d G + ( u ) + d G ( u ) denote the outindegree, outdegree, indegree, and degree of u respectively, and omit the subscript G when no ambiguity can arise. Denote by Δ ( G ) , Δ + ( G ) , Δ + ( G ) , and Δ ( G ) the maximum degree, the maximum outindegree, the maximum outdegree, and the maximum indegree of all vertices of a graph G, respectively.
Denote by d ( G ) = ( d G ( u 1 ) , d G ( u 2 ) , ⋯, d G ( u n ) ) the degree sequence of G, by d G ( V 1 ) = ( d G ( v 1 ) , d G ( v 2 ) , ⋯, d G ( v m ) ) the degree sequence of a subset V 1 V ( G ) with v i V 1 , i = 1 , 2 , , m , and by d G ( H ) = ( d H ( w 1 ) , d H ( w 2 ) , ⋯, d H ( w s ) ) the degree sequence of a subdigraph H G with w j V ( H ) , j = 1 , 2 , , s , and omit the subscript G when no ambiguity can arise.
In addition, denote by d + ( G ) = ( d G + ( u 1 ) , d G + ( u 2 ) , ⋯, d G + ( u n ) ) the outdegree sequence of G, by d G + ( V 1 ) = ( d G + ( v 1 ) , d G + ( v 2 ) , ⋯, d G + ( v m ) ) the outdegree sequence of a subset V 1 V ( G ) with v i V 1 , i = 1 , 2 , , m , and by d G + ( H ) = ( d H + ( w 1 ) , d H + ( w 2 ) , ⋯, d H + ( w s ) ) the outdegree sequence of a subdigraph H G with w j V ( H ) , j = 1 , 2 , , s , and omit the subscript G when no ambiguity can arise.
Similarly, denote by d ( G ) = ( d G ( u 1 ) , d G ( u 2 ) , ⋯, d G ( u n ) ) the indegree sequence of G, by d G ( V 1 ) = ( d G ( v 1 ) , d G ( v 2 ) , ⋯, d G ( v m ) ) the indegree sequence of a subset V 1 V ( G ) with v i V 1 , i = 1 , 2 , , m , and by d G ( H ) = ( d H ( w 1 ) , d H ( w 2 ) , ⋯, d H ( w s ) ) the indegree sequence of a subdigraph H G with w j V ( H ) , j = 1 , 2 , , s , and omit the subscript G when no ambiguity can arise.
Throughout this paper, unless otherwise specified, any given degree sequence is non-increasing. Throughout this paper, let S ( G ) = { u | u V ( G ) d ( u ) = Δ ( G ) } , S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) } , S ( G ) = { u V ( G ) | d ( u ) = Δ ( G ) } , and S + ( G ) = { u S + ( G ) | d ( u ) = Δ ( S + ( G ) ) } where Δ ( S + ( G ) ) = max { d ( u ) | u S + ( G ) } .
Definition 1.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The vertex-induced subdigraph on V 1 V ( G ) of G is the subdigraph with the nodes set V 1 together with any directed edge whose endpoints are both in V 1 , denoted by G [ V 1 ] .
Definition 2.
Let G = < V ( G ) , E ( G ) > and H = < V ( H ) , E ( H ) > be two digraphs with n nodes. If there exists a bijection f : V ( G ) V ( H ) such that u v E ( G ) if and only if f ( u ) f ( v ) E ( H ) . We say f is an isomorphic map of G H . Furthermore, we say that the graph G and H are isomorphic, denoted by G H . An isomorphic map f of G onto itself is said to be an automorphism of G.
Definition 3.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes v 1 , v 2 , ⋯, v n . The adjacency matrix A ( G ) = ( a i , j ) of G is a n × n -square matrix such that a i , j = 1 if there is an edge v i v j E ( G ) and a i , j = 0 otherwise.
The adjacency matrix for a digraph G does not have to be symmetric, because there may not be an edge v i v j , when there is an edge from v j v i . In addition, a i , i = 0 for every v i V ( G ) since G has no loops.
Given two vectors X = ( x 1 , x 2 , , x i , , x m ) in R m and Y = ( y 1 , y 2 , , y j , ⋯, y n ) in R n , the question arises as to how to decide which one is greater. The following conventions apply when comparing two vectors.
Definition 4.
Let X = ( x 0 , x 1 , , x i , , x m ) and Y = ( y 0 , y 1 , , y i , , y n ) be two vectors in N (the collection of natural numbers) with m 0 and n 0 , respectively. Then, defined the lexicographic order for the two vectors as follows:
1. 
X = Y , if m = n and x i = y i for all 0 i m .
2. 
X < Y if and only if either of the following is true.
(a) 
k , 0 k min ( m , n ) , x i = y i for i < k , x k < y k .
(b) 
x i = y i for 0 i m and m < n .
Definition 5.
Let Z 1 = ( X 0 , X 1 , , X i , , X m ) and Z 2 = ( Y 0 , Y 1 , , Y j , , Y n ) be two vectors with m 0 and n 0 respectively, with each X i , Y j , i = 0 , 1 , , m , j = 0 , 1 , , n being a vector in N (the collection of natural numbers). Then, defined the lexicographic order for the two vectors as follows:
1. 
Z 1 = Z 2 , if m = n and X i = Y i for all 0 i m .
2. 
Z 1 < Z 2 if and only if either of the following is true.
(a) 
k , 0 k min ( m , n ) , X i = Y i for i < k , x k < y k .
(b) 
X i = Y i for 0 i m and m < n .
Definition 6.
Let A = ( a i , j ) n × n and B = ( b i , j ) n × n be two matrices with a i , j , b i , j = 0 , 1 for i , j = 1 , 2 , , n . Then, defined the lexicographic order for the two matrix as follows:
1. 
A = B , if a i , j = b i , j for all 1 i , j n .
2. 
A < B , if i , j , 1 i , j n satisfying conditions a k , l = b k , l for all k i , l j , and a i , j + 1 < b i , j + 1 with j < n or a i + 1 , 1 < b i + 1 , 1 with i < n , j = n .
Given a matrix X, if there is at least one positive element and the remaining elements are 0, we call X > 0 . Otherwise, if all elements of X are 0, we call X = 0 .
Definition 7.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes whose adjacency matrix is A ( G ) = ( a i , j ) n × n (see (1)). To concatenate the rows of A ( G ) according to the following order a 1 , 1 , a 1 , 2 , ⋯, a 1 , n , a 2 , 1 , a 2 , 2 , ⋯, a 2 , n , ⋯, a i , 1 , a i , 2 , ⋯, a i , n , ⋯, a n , 1 , a n , 2 , ⋯, a n , n forms a corresponding binary number a 1 , 1 a 1 , 2 , a 1 , n a 2 , 1 a 2 , 2 a 2 , n a i , 1 a i , 2 a i , n a n , 1 a n , 2 a n , n , which is called a labeling of G, denoted by C ( G ) .
A ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n a i , 1 a i , 2 a i , i 1 a i , i a i , i + 1 a i , n a n , 1 a n , 2 a n , 3 a n , n 1 a n , n
The first row of A ( G ) is the labeling piece 1 of C ( G ) , denoted by C 1 ( G ) . Similarly, the second row is the labeling piece 2 of C ( G ) , denoted by C 2 ( G ) . ⋯. The nth row is the labeling piece n of C ( G ) , denoted by C n ( G ) . It is clear that C ( G ) = C 1 ( G ) C 2 ( G ) C n ( G ) .
A permutation π of the vertices of G is an arrangement of the n vertices without repetition. The number of permutations of the vertices of G is n ! . Clearly each distinct permutation π of the n vertices of V ( G ) defines a different adjacency matrix. Given a permutation π, one can obtain a labeling C ( G ) corresponding to π by Definition 7. Denote by L ( G ) the collection of all labelings of G.
For every C 1 ( G ) , C 2 ( G ) L ( G ) , assume that C 1 ( G ) = i 1 i 2 i m , C 2 ( G ) = j 1 j 2 j n with i 1 , i 2 , , i m , j 1 , j 2 , , j n = 0 or 1. Let X = ( i 1 , i 2 , , i m ) and Y = ( j 1 , j 2 , , j n ) . By Definition 4, if X > Y , then we call C 1 ( G ) > C 2 ( G ) . Otherwise, if X < Y , then we call C 1 ( G ) < C 2 ( G ) . Otherwise, if X = Y , then we call C 1 ( G ) = C 2 ( G ) .
It is clear that ( L ( G ) , ) is a well-ordered set, where ⩽ denotes the less-than-or-equal-to binary relation on the set L ( G ) expressed as above. By the well-ordering theorem, it follows that L ( G ) has a minimum and maximum element, denoted by C m i n ( G ) and C m a x ( G ) respectively.
The two permutations of the n vertices of G corresponding to C m i n ( G ) and C m a x ( G ) are the minimum and maximum node sequence, denoted by M i n Q ( G ) and M a x Q ( G ) , respectively. Likewise, the two adjacency matrices of G corresponding to C m i n ( G ) and C m a x ( G ) are the minimum and maximum canonical label matrix, denoted by A m i n ( G ) and A m a x ( G ) , individually.
C 1 ( G ) , C 2 ( G ) , , C n ( G ) corresponding to A m i n ( G ) are minimum canonical label piece 1 , 2 , ⋯, n of canonical labeling C ( G ) , denoted by C m i n 1 ( G ) , C m i n 2 ( G ) , ⋯, C m i n n ( G ) , respectively. Likewise, C 1 ( G ) , C 2 ( G ) , ⋯, C n ( G ) corresponding to A m a x ( G ) are maximum canonical label piece 1 , 2 , , n of canonical labeling C ( G ) , denoted by C m a x 1 ( G ) , C m a x 2 ( G ) , ⋯, C m a x n ( G ) , respectively.
Based on the above definitions, the following equations hold.
C m i n ( G ) = C m i n 1 ( G ) C m i n 2 ( G ) C m i n n ( G )
C m a x ( G ) = C m a x 1 ( G ) C m a x 2 ( G ) C m a x n ( G )
Theorem 1.
Let G = < V ( G ) , E ( G ) > and H = < V ( H ) , E ( H ) > be two digraphs with n nodes. Their adjacency matrices are A ( G ) and A ( H ) respectively. G H if and only if C m a x ( G ) = C m a x ( H ) .
Definition 8.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The complement G ¯ of G is a digraph satisfying the following condition: for all u , v V ( G ) , u v E ( G ¯ ) if and only if u v E ( G ) .
Lemma 1.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. G ¯ = < V ( G ¯ ) , E ( G ¯ ) > is the complement digraph of G. We have C ( G ) = C ( G ¯ ) ¯ and C ( G ¯ ) = C ( G ) ¯ .
Proof. 
The adjacency matrices of G and G ¯ satisfy the condition
A ( G ) + A ( G ¯ ) = J = 0 1 1 1 0 1 1 0 1 1 1 1 1 0 .
J is a n × n matrix of zeros and ones whose main diagonal elements are 0, and all other elements are 1. By A ( G ) = J A ( G ¯ ) and the complement graph G ¯ , we have C ( G ) = C ( G ¯ ) ¯ . Similarly, by A ( G ¯ ) = J A ( G ) , we have C ( G ¯ ) = C ( G ) ¯ for the complement graph G ¯ of a graph G. ☐
Theorem 2.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. G ¯ = < V ( G ¯ ) , E ( G ¯ ) > is the complement graph of G. We have
C m i n ( G ) = C m a x ( G ¯ ) ¯
C m a x ( G ) = C m i n ( G ¯ ) ¯
C m i n ( G ¯ ) = C m a x ( G ) ¯
C m a x ( G ¯ ) = C m i n ( G ) ¯
Proof. 
By Lemma 1, it follows that C ( G ) = C ( G ¯ ) ¯ . Clearly if the k-bit of C ( G ¯ ) is 0, the k-bit of C ( G ) is 1, and vice versa. Therefore, one can easily get the C m a x ( G ) by performing a complement operation on C m i n ( G ¯ ) . Similarly, by Lemma 1, the equality C ( G ¯ ) = C ( G ) ¯ holds. Clearly if the k-bit of C ( G ) is 0, the k-bit of C ( G ¯ ) is 1, and vice versa. Accordingly, one can obtain the C m a x ( G ¯ ) of G ¯ by performing a complement operation on C m i n ( G ) .
Because C ( K n ) is a constant binary number, to minimize C ( G ) one must maximize C ( G ¯ ) . On the contrary, to maximize C ( G ) , one must maximize C ( G ¯ ) . Similarly, to minimize C ( G ¯ ) one must maximize C ( G ) . Contrarily to maximize C ( G ¯ ) , one must minimize C ( G ) . From the above analysis, the following equations hold.
C m i n ( G ) = C m a x ( G ¯ ) ¯ . C m a x ( G ) = C m i n ( G ¯ ) ¯ . C m i n ( G ¯ ) = C m a x ( G ) ¯ . C m a x ( G ¯ ) = C m i n ( G ) ¯ .
By Theorem 2, it can be observed that if one has calculated the C m a x ( G ¯ ) , one can easily get C m i n ( G ) . Moreover, the calculation methods of C m a x ( G ¯ ) and C m a x ( G ) are same.
The paper focuses on the development of efficient methods to calculate C m a x ( G ) . A MaxEm digraph is a digraph with the greatest C ( G ) that corresponds to a permutation of the vertices.
For every u V ( G ) , the number of nodes with outdegree d G + ( u ) is the outdegree multiplicity of u, denoted by d m G + ( u ) . In addition, unless otherwise specified, throughout this paper, the outdegree sequence is non-increasing.
Definition 9.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The open neighborhood, in-neighborhood, out-neighborhood, outin-neighborhood, and mix-neighborhood subdigraphs of a vertex u in G are subdigraphs of G defined as
N ( u ) = ( V ( N ( u ) ) , E ( N ( u ) ) ) , N ( u ) = ( V ( N ( u ) ) , E ( N ( u ) ) ) , N + ( u ) = ( V ( N + ( u ) ) , E ( N + ( u ) ) ) , N + ( u ) = ( V ( N + ( u ) ) , E ( N + ( u ) ) ) , N + + ( u ) = ( V ( N + + ( u ) ) , E ( N + + ( u ) ) )
where
V ( N ( u ) ) = { v V ( G ) u | v u E ( G ) u v E ( G ) } , E ( N ( u ) ) = { v w E ( G ) | v , w V ( N ( u ) ) } ,
V ( N ( u ) ) = { v V ( G ) u | v u E ( G ) u v E ( G ) } , E ( N ( u ) ) = { v w E ( G ) | v , w V ( N ( u ) ) } ,
V ( N + ( u ) ) = { v V ( G ) u | u v E ( G ) v u E ( G ) } , E ( N + ( u ) ) = { v w E ( G ) | v , w V ( N + ( u ) ) } ,
V ( N + ( u ) ) = { v V ( G ) u | u v E ( G ) v u E ( G ) } , E ( N + ( u ) ) = { v w E ( G ) | v , w V ( N + ( u ) ) } .
V ( N + + ( u ) ) = V ( N + ( u ) ) V ( N + ( u ) ) , E ( N + + ( u ) ) = { v w E ( G ) | v , w V ( N + + ( u ) ) } .
The open k-neighborhood, k-in-neighborhood, k-out-neighborhood, k-outin-neighborhood, and k-mix-neighborhood subdigraphs of u with k ⩾ 2 are subdigraphs of G defined as
N k ( u ) = ( V ( N k ( u ) ) , E ( N k ( u ) ) ) , N k ( u ) = ( V ( N k ( u ) ) , E ( N k ( u ) ) ) , N k + ( u ) = ( V ( N k + ( u ) ) , E ( N k + ( u ) ) ) , N k + ( u ) = ( V ( N k + ( u ) ) , E ( N k + ( u ) ) ) , N k + + ( u ) = ( V ( N k + + ( u ) ) , E ( N k + + ( u ) ) )
where
V ( N k ( u ) ) = { v V ( G ) u | d ( u , v ) k d ( v , u ) k } , E ( N k ( u ) ) = { v w E ( G ) | v , w V ( N k ( u ) ) } ,
V ( N k ( u ) ) = { v V ( G ) u | d ( v , u ) k } , E ( N k ( u ) ) = { v w E ( G ) | v , w V ( N k ( u ) ) } ,
V ( N k + ( u ) ) = { v V ( G ) u | d ( u , v ) k } , E ( N k + ( u ) ) = { v w E ( G ) | v , w V ( N k + ( u ) ) } ,
V ( N k + ( u ) ) = { v V ( G ) u | d ( u , v ) = d ( v , u ) k } , E ( N k + ( u ) ) = { v w E ( G ) | v , w V ( N k + ( u ) ) } .
V ( N k + + ( u ) ) = V ( N k + ( u ) ) V ( N k + ( u ) ) , E ( N k + + ( u ) ) = { v w E ( G ) | v , w V ( N k + + ( u ) ) } .
Definition 10.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The close neighborhood, in-neighborhood, out-neighborhood, outin-neighborhood, and mix-neighborhood subdigraphs of a vertex u in G are subdigraphs of G defined as
N [ u ] = ( V ( N [ u ] ) , E ( N [ u ] ) ) , N [ u ] = ( V ( N [ u ] ) , E ( N [ u ] ) ) , N + [ u ] = ( V ( N + [ u ] ) , E ( N + [ u ] ) ) , N + [ u ] = ( V ( N + [ u ] ) , E ( N + [ u ] ) ) , N + + [ u ] = ( V ( N + + [ u ] ) , E ( N + + [ u ] ) )
where
V ( N [ u ] ) = V ( N ( u ) ) { u } , E ( N [ u ] ) = { v w E ( G ) | v , w V ( N [ u ] ) } ,
V ( N [ u ] ) = V ( N ( u ) ) { u } , E ( N [ u ] ) = { v w E ( G ) | v , w V ( N [ u ] ) } ,
V ( N + [ u ] ) = V ( N + ( u ) ) { u } , E ( N + [ u ] ) = { v w E ( G ) | v , w V ( N + [ u ] ) } ,
V ( N + [ u ] ) = V ( N + ( u ) ) { u } , E ( N + [ u ] ) = { v w E ( G ) | v , w V ( N + [ u ] ) } ,
V ( N + + [ u ] ) = V ( N + [ u ] ) V ( N + [ u ] ) , E ( N + + [ u ] ) = { v w E ( G ) | v , w V ( N + + [ u ] ) } .
The close k-neighborhood, k-in-neighborhood, k-out-neighborhood, k-outin-neighborhood, and k-mix-neighborhood subdigraphs of u with k ⩾ 2 are subdigraphs of G defined as
N k [ u ] = ( V ( N k [ u ] ) , E ( N k [ u ] ) ) , N k [ u ] = ( V ( N k [ u ] ) , E ( N k [ u ] ) ) , N k + [ u ] = ( V ( N k + [ u ] ) , E ( N k + [ u ] ) ) , N k + [ u ] = ( V ( N k + [ u ] ) , E ( N k + [ u ] ) ) , N k + + [ u ] = ( V ( N k + + [ u ] ) , E ( N k + + [ u ] ) )
where
V ( N k [ u ] ) = V ( N k ( u ) ) { u } , E ( N k [ u ] ) = { v w E ( G ) | v , w V ( N k [ u ] ) } ,
V ( N k [ u ] ) = V ( N k ( u ) ) { u } , E ( N k [ u ] ) = { v w E ( G ) | v , w V ( N k [ u ] ) } ,
V ( N k + [ u ] ) = V ( N k + ( u ) ) { u } , E ( N k [ u ] ) = { v w E ( G ) | v , w V ( N k + [ u ] ) } ,
V ( N k + [ u ] ) = V ( N k + ( u ) ) { u } , E ( N k + [ u ] ) = { v w E ( G ) | v , w V ( N k + [ u ] ) } ,
V ( N k + + [ u ] ) = V ( N k + [ u ] ) V ( N k + [ u ] ) , E ( N k + + [ u ] ) = { v w E ( G ) | v , w V ( N k + + [ u ] ) } .
Definition 11.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The open neighborhood, in-neighborhood, out-neighborhood, outin-neighborhood, and mix-neighborhood subdigraphs of a nodes set Q V ( G ) are subdigraphs of G defined as
N ( Q ) = ( V ( N ( Q ) ) , E ( N ( Q ) ) ) , N ( Q ) = ( V ( N ( Q ) ) , E ( N ( Q ) ) ) , N + ( Q ) = ( V ( N + ( Q ) ) , E ( N + ( Q ) ) ) , N + ( Q ) = ( V ( N + ( Q ) ) , E ( N + ( Q ) ) ) , N + + ( Q ) = ( V ( N + + ( Q ) ) , E ( N + + ( Q ) ) )
where
V ( N ( Q ) ) = { v V ( G ) Q | u Q ( v u E ( G ) u v E ( G ) ) } , E ( N ( Q ) ) = { v w E ( G ) | v , w V ( N ( Q ) ) } ,
V ( N ( Q ) ) = { v V ( G ) Q | u Q v u E ( G ) u v E ( G ) } , E ( N ( Q ) ) = { v w E ( G ) | v , w V ( N ( Q ) ) } ,
V ( N + ( Q ) ) = { v V ( G ) Q | u Q u v E ( G ) v u E ( G ) } , E ( N + ( Q ) ) = { v w E ( G ) | v , w V ( N + ( Q ) ) } ,
V ( N + ( Q ) ) = { v V ( G ) Q | u Q u v E ( G ) v u E ( G ) } , E ( N + ( Q ) ) = { v w E ( G ) | v , w V ( N + ( Q ) ) } ,
V ( N + + ( Q ) ) = V ( N + ( Q ) ) V ( N + ( Q ) ) , E ( N + + ( Q ) ) = { v w E ( G ) | v , w V ( N + + ( Q ) ) } .
The open k-neighborhood, k-in-neighborhood, k-out-neighborhood, k-outin-neighborhood, and k-mix-neighborhood subdigraphs of Q with k ⩾ 2 are subdigraphs of G defined as
N k ( Q ) = ( V ( N k ( Q ) ) , E ( N k ( Q ) ) ) , N k ( Q ) = ( V ( N k ( Q ) ) , E ( N k ( Q ) ) ) , N k + ( Q ) = ( V ( N k + ( Q ) ) , E ( N k + ( Q ) ) ) , N k + ( Q ) = ( V ( N k + ( Q ) ) , E ( N k + ( Q ) ) ) , N k + + ( Q ) = ( V ( N k + + ( Q ) ) , E ( N k + + ( Q ) ) )
where
V ( N k ( Q ) ) = { v V ( G ) Q | u Q ( d ( v , u ) k d ( u , v ) k ) } , E ( N k ( Q ) ) = { v w E ( G ) | v , w V ( N k ( Q ) ) } ,
V ( N k ( Q ) ) = { v V ( G ) Q | u Q d ( v , u ) k } , E ( N k ( Q ) ) = { v w E ( G ) | v , w V ( N k ( Q ) ) } ,
V ( N k + ( Q ) ) = { v V ( G ) Q | u Q d ( u , v ) k } , E ( N k + ( Q ) ) = { v w E ( G ) | v , w V ( N k + ( Q ) ) } ,
V ( N k + ( Q ) ) = { v V ( G ) Q | u Q d ( u , v ) = d ( v , u ) k } , E ( N k + ( Q ) ) = { v w E ( G ) | v , w V ( N k + ( Q ) ) } ,
V ( N k + + ( Q ) ) = V ( N k + ( Q ) ) V ( N k + ( Q ) ) , E ( N k + + ( Q ) ) = { v w E ( G ) | v , w V ( N k + + ( Q ) ) } .
Definition 12.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. The close neighborhood, in-neighborhood, out-neighborhood, outin-neighborhood, and mix-neighborhood subdigraphs of a nodes set Q V ( G ) are subdigraphs of G defined as
N [ Q ] = ( V ( N [ Q ] ) , E ( N [ Q ] ) ) , N [ Q ] = ( V ( N [ Q ] ) , E ( N [ Q ] ) ) , N + [ Q ] = ( V ( N + [ Q ] ) , E ( N + [ Q ] ) ) , N + [ Q ] = ( V ( N + [ Q ] ) , E ( N + [ Q ] ) ) , N + + [ Q ] = ( V ( N + + [ Q ] ) , E ( N + + [ Q ] ) )
where
V ( N [ Q ] ) = V ( N ( Q ) ) Q , E ( N [ Q ] ) = { v w E ( G ) | v , w V ( N [ Q ] ) } ,
V ( N [ Q ] ) = V ( N ( Q ) ) Q , E ( N [ Q ] ) = { v w E ( G ) | v , w V ( N [ Q ] ) } ,
V ( N + [ Q ] ) = V ( N + ( Q ) ) Q , E ( N + [ Q ] ) = { v w E ( G ) | v , w V ( N + [ Q ] ) } ,
V ( N + [ Q ] ) = V ( N + ( Q ) ) Q , E ( N + [ Q ] ) = { v w E ( G ) | v , w V ( N + [ Q ] ) } ,
V ( N + + [ Q ] ) = V ( N + [ Q ] ) V ( N + [ Q ] ) , E ( N + + [ Q ] ) = { v w E ( G ) | v , w V ( N + + [ Q ] ) } .
The close k-neighborhood, k-in-neighborhood, k-out-neighborhood, k-outin-neighborhood, and k-mix-neighborhood subdigraphs of Q with k ⩾ 2 are subdigraphs of G defined as
N k [ Q ] = ( V ( N k [ Q ] ) , E ( N k [ Q ] ) ) , N k [ Q ] = ( V ( N k [ Q ] ) , E ( N k [ Q ] ) ) , N k + [ Q ] = ( V ( N k + [ Q ] ) , E ( N k + [ Q ] ) ) , N k + [ Q ] = ( V ( N k + [ Q ] ) , E ( N k + [ Q ] ) ) , N k + + [ Q ] = ( V ( N k + + [ Q ] ) , E ( N k + + [ Q ] ) )
where
V ( N k [ Q ] ) = V ( N k ( Q ) ) Q , E ( N k [ Q ] ) = { v w E ( G ) | v , w V ( N k [ Q ] ) } ,
V ( N k [ Q ] ) = V ( N k ( Q ) ) Q , E ( N k [ Q ] ) = { v w E ( G ) | v , w V ( N k [ Q ] ) } ,
V ( N k + [ Q ] ) = V ( N k + ( Q ) ) Q , E ( N k + [ Q ] ) = { v w E ( G ) | v , w V ( N k + [ Q ] ) } ,
V ( N k + [ Q ] ) = V ( N k + ( Q ) ) Q , E ( N k + [ Q ] ) = { v w E ( G ) | v , w V ( N k + [ Q ] ) } ,
V ( N k + + [ Q ] ) = V ( N k + [ Q ] ) V ( N k + [ Q ] ) , E ( N k + + [ Q ] ) = { v w E ( G ) | v , w V ( N k + + [ Q ] ) } .
In the following section, unless otherwise specified, each k-neighborhood, k-in-neighborhood, k-out-neighborhood, k-outin-neighborhood, and k-mix-neighborhood subdigraphs are closed.
A digraph is connected if its underlying graph is connected. For k = 1 , we omit the subscript 1 and let N + + ( u ) = N 1 + + ( u ) , N + + [ u ] = N 1 + + [ u ] , N + + ( Q ) = N 1 + + ( Q ) , and N + + [ Q ] = N 1 + + [ Q ] .
Definition 13.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Suppose that H G and u V ( H ) . We denote by N H k ( u ) the open k-neighborhood subdigraph of u in H, by N H k [ u ] the close k − neighborhood subdigraph of u in H, by N H k + + ( u ) the open k-mix-neighborhood subdigraph of u in H, and by N H k + + [ u ] the close k-mix-neighborhood subdigraph of u in H.
For k = 1 , we omit the superscript 1 and let N H ( u ) = N H 1 ( u ) , N H [ u ] = N H 1 [ u ] , N H + + ( u ) = N H 1 + + ( u ) , and N H + + [ u ] = N H 1 + + [ u ] .
Definition 14.
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. For every u V ( G ) , there exists a positive integer k satisfying conditions N k 1 [ u ] G and N k [ u ] = G . The value of k is called the diffusion radius of u denoted by of u denoted by ρ G [ u ] , and the subscript G can be omitted when no ambiguity can arise.
By Definition 14, it is clear that N ρ [ u ] [ u ] = G for every u in G.
Definition 15.
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. For every u V ( G ) , there exists a positive integer k satisfying conditions N k 1 + + [ u ] G and N k + + [ u ] = N k 1 + + [ u ] . The value of k is called the mix diffusion radius of u denoted by of u denoted by ρ G + + [ u ] , and the subscript G can be omitted when no ambiguity can arise.
Definition 16.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k neighborhood subdigraph is N k [ u ] with k = 1 , 2 , . A node in N [ u ] is a one diffusion node of u. For k > 1 , a node v in N k [ u ] satisfying condition v N k 1 [ u ] is a k diffusion node of u.
Definition 17.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k-mix-neighborhood subdigraph is N k + + [ u ] with k = 1 , 2 , . A node in N + + [ u ] is a one mix diffusion node of u. For k > 1 , a node v in N k + + [ u ] satisfying condition v N k 1 + + [ u ] is a k mix diffusion node of u.
Every node v in G is assigned an attribute m_NearestNode whose function, described in Section 3.1.2.
Definition 18.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k neighborhood subdigraph is N k [ u ] with k = 1 , 2 , . Assume that H is a connected component of N k [ u ] with k 1 . Assume that V m V ( H ) with m = 0 , 1 , 2 , , t , where V 0 is in ascending order of attribute m _ N e a r e s t N o d e with v > m _ N e a r e s t N o d e 1 for every v V 0 , and V 1 , V 2 , , V t contain the 1 , 2 , , k diffusion nodes of u respectively, satisfying conditions V 0 V 1 V t = V ( H ) and V i V j = for i j , i , j = 0 , 1 , , t .
We define d σ + ( H ) = ( d N k [ u ] + ( V 0 ) , ⋯, d N k [ u ] + ( V i ) , ⋯, d N k [ u ] + ( V t ) ) to be the diffusion outdegree sequence of H where d N k [ u ] + ( V i ) with i = 0 , 1 , , t are the outdegree sequences in descending order induced by all vertices in V i respectively.
Definition 19.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k-mix-neighborhood subdigraph is N k + + [ u ] with k = 1 , 2 , . Assume that H is a connected component of N k + + [ u ] with k 1 . Assume that V m V ( H ) with m = 0 , 1 , 2 , , t , where V 0 is in ascending order of attribute m _ N e a r e s t N o d e with v > m _ N e a r e s t N o d e 1 for every v V 0 , and V 1 , V 2 , , V t contain the 1 , 2 , , k mix diffusion nodes of u respectively, satisfying conditions V 0 V 1 V t = V ( H ) and V i V j = for i j , i , j = 0 , 1 , , t .
We define d τ + ( H ) = ( d N k + + [ u ] + ( V 0 ) , ⋯, d N k + + [ u ] + ( V i ) , ⋯, d N k + + [ u ] + ( V t ) ) to be the mix diffusion outdegree sequence of H where d N k + + [ u ] + ( V i ) with i = 0 , 1 , , t are the outdegree sequences in descending order induced by all vertices in V i respectively.
Definition 20.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k neighborhood subdigraph is N k [ u ] with k = 1 , 2 , . Assume that N k [ u ] has p connected components H 1 , H 2 , ⋯, H p with diffusion outdegree sequences d σ + ( H 1 ) , d σ + ( H 2 ) , ⋯, d σ + ( H p ) respectively, satisfying conditions d σ + ( H 1 ) d σ + ( H 2 ) d σ + ( H p ) .
Define d G σ [ N k ( u ) ] = ( d σ ( H 1 ) , d σ ( H 2 ) , ⋯, d σ ( H p ) ) to be the entire mix diffusion outdegree sequence of N k ( u ) pertaining to u in G, and omit the subscript G when no ambiguity can arise.
Definition 21.
Let G = < V ( G ) , E ( G ) > be a simple digraph and u be a node in G whose close k-mix neighborhood subdigraph is N k + + [ u ] with k = 1 , 2 , . Assume that N k + + [ u ] has p connected components H 1 , H 2 , ⋯, H p with mix diffusion outdegree sequences d τ + ( H 1 ) , d τ + ( H 2 ) , ⋯, d τ + ( H p ) respectively, satisfying conditions d τ + ( H 1 ) d τ + ( H 2 ) d τ + ( H p ) .
Define d G τ [ N k + + [ u ] ] = ( d τ + ( H 1 ) , d σ + ( H 2 ) , ⋯, d τ + ( H p ) ) to be the entire mix diffusion outdegree sequence of N k + + [ u ] pertaining to u in G, and omit the subscript G when no ambiguity can arise.
Definition 22.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. For every u , v V ( G ) with u v and , let N 1 + + [ u ] , N 2 + + [ u ] , ⋯, N ρ + + [ u ] + + [ u ] be the close 1, 2, ⋯, ρ + + [ u ] mix-neighborhood subdigraph of u with entire mix diffusion outdegree sequences d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] , respectively. Let N 1 + + [ v ] , N 2 + + [ v ] , ⋯, N ρ + + [ v ] + + [ v ] be the 1, 2, ⋯, ρ + + [ v ] mix-neighborhood subdigraph of v with entire mix diffusion outdegree sequences d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] , respectively. Let Z 1 = ( d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] ) and Z 2 = ( d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] ) . If Z 1 > Z 2 , we write u v with respect to G. Otherwise, if Z 1 < Z 2 , we write u v with respect to G. Otherwise, if Z 1 = Z 2 , we write u v with respect to G, and omit the symbol G when no ambiguity can arise. Denote u v or u v by u v and u v or u v by u v .
It is clear that ≻, ≺, ≍, ≽ define a binary relation on the set of nodes V ( G ) . By Definition 22, for every u , v V ( G ) with u v , one of the following statements is true: (1) u v . (2) u v . (3) u v .
It can be shown that ( V ( G ) , ) is a well-ordered set, where ≽ denotes the binary relation u v on the set V ( G ) . By the well-ordering theorem, it follows that there exists a maximum and minimum element in V ( G ) , denoted by G m a x and G m i n respectively with G m a x V ( G ) and G m i n V ( G ) . The symbol ≽ can be omitted if no confusion arises. The following Lemmas 2–4 immediately follow from Definition 22.
Lemma 2.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. For every u , v V ( G ) with u v , if the symboldenotes the binary relation u v on the set V ( G ) , then, all of the nodes in G form a single chain L on G: v 1 v 2 v i v n with v i V ( G ) , i = 1 , 2 , , n .
Lemma 3.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . For every u , v S + ( G ) with u v , if the symboldenotes the binary relation u v on the set S + ( G ) , then, all of the nodes in S + ( G ) form a single chain L on G: v 1 v 2 v i v s with v i S + ( G ) , i = 1 , 2 , , s .
Lemma 4.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. For every u V ( G ) , suppose that N k + + [ u ] is the close k mix-neighborhood subdigraph of u in G. Let S + ( N k + + [ u ] ) = { v V ( N k + + [ u ] ) | d + ( v ) = Δ + ( N k + + [ u ] ) = t } .
For every v , w S + ( N k + + [ u ] ) with v w , if the symboldenotes the binary relation v w on the set S + ( N k + + [ u ] ) , then, all of the nodes in S + ( N k + + [ u ] ) form a single chain L on N k + + [ u ] : v 1 v 2 v i v t with v i S + ( N k + + [ u ] ) , i = 1 , 2 , , t .
The conclusions in the following Propositions 1 and 2 are obvious by Definitions 4, 5, and 22.
Proposition 1.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. For every u , v V ( G ) with u v and , let N 1 + + [ u ] , N 2 + + [ u ] , ⋯, N ρ + + [ u ] + + [ u ] be the close 1, 2, ⋯, ρ + + [ u ] mix-neighborhood subdigraph of u with entire mix diffusion outdegree sequences d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] , respectively. Let N 1 + + [ v ] , N 2 + + [ v ] , ⋯, N ρ + + [ v ] + + [ v ] be the close 1, 2, ⋯, ρ + + [ v ] mix-neighborhood subdigraph of v with entire mix diffusion outdegree sequences d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] , respectively. Let Z 1 = ( d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] ) = ( X 1 , Y 1 ) with X 1 = ( d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N k + + [ u ] ] ) and Y 1 = ( d τ [ N k + 1 + + [ u ] ] , d τ [ N k + 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] ) . Let Z 2 = ( d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] ) = ( X 2 , Y 2 ) with X 2 = ( d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N k + + [ v ] ] ) and Y 2 = ( d τ [ N k + 1 + + [ v ] ] , d τ [ N k + 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] ) . If X 1 = X 2 , then Y 1 > Y 2 leads to Z 1 > Z 2 . Otherwise, Y 1 < Y 2 leads to Z 1 < Z 2 . Otherwise, Y 1 = Y 2 leads to Z 1 = Z 2 . Accordingly, it follows that if X 1 = X 2 , then Y 1 > Y 2 leads to u v . Otherwise, Y 1 < Y 2 leads to u v . Otherwise, Y 1 = Y 2 leads to u v .
Proposition 2.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. For every u , v V ( G ) with u v and , let N 1 + + [ u ] , N 2 + + [ u ] , ⋯, N ρ + + [ u ] + + [ u ] be the close 1, 2, ⋯, ρ + + [ u ] mix-neighborhood subdigraph of u with entire mix diffusion outdegree sequences d τ [ N 1 + + [ u ] ] , d τ [ N 2 + + [ u ] ] , ⋯, d τ [ N ρ + + [ u ] + + [ u ] ] , respectively. Let N 1 + + [ v ] , N 2 + + [ v ] , ⋯, N ρ + + [ v ] + + [ v ] be the close 1, 2, ⋯, ρ + + [ v ] mix-neighborhood subdigraph of v with entire mix diff usion outdegree sequences d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N ρ + + [ v ] + + [ v ] ] , respectively. If d τ [ N 1 + + [ u ] ] = d τ [ N 1 + + [ v ] ] , d τ [ N 2 + + [ u ] ] = d τ [ N 2 + + [ v ] ] , ⋯, d τ [ N k 1 + + [ u ] ] = d τ [ N k 1 + + [ v ] ] , d τ [ N k + + [ u ] ] > d τ [ N k + + [ v ] ] , then u v with respect to G (see Definition 22).

3. Results and Discussion

Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. In the section, we will study how to compute the maximum element C m a x ( G ) of the digraph G. Without loss of generality, let M a x Q ( G ) = ( u 1 , u 2 , , u i , , u n ) . Throughout the paper, our algorithms mentioned use an adjacency list to store the digraph G.

3.1. Compute C m a x ( G ) of the Digraph G

In this subsection, we examine how to compute the maximum element C m a x ( G ) of a digraph G. What approach should one take to calculate the maximum element C m a x ( G ) ? From the connection between C m a x ( G ) and A m a x ( G ) , any method for calculating C m a x ( G ) must first obtain the permutation M a x Q ( G ) corresponding to the adjacency matrix A m a x ( G ) .

3.1.1. Compute the First Node u 1 Added into M a x Q ( G )

In this sub-subsection, we examine how to compute the first vertex u 1 of M a x Q ( G ) . Here, assume that G is a connected digraph of order n > 1 . Note that to maximize C ( G ) one must let a 1 , 2 = 1 (see (1)). a 1 , 2 = 1 can always be achieved since G is connected with order n > 1 . Furthermore, to obtain C m a x ( G ) , one must select u 1 from S + ( G ) . Only by so doing, there can be more “1”s in the high bits of C m a x 1 ( G ) such that ensures maximum C ( G ) . Otherwise, C ( G ) cannot reach the maximum value. From preceding discussion, we get the following result.
Proposition 3.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) } . Then the selection of u 1 of M a x Q ( G ) is from S + ( G ) for obtaining C m a x ( G ) .
Proof. 
Let us assume that t = Δ + ( G ) . By (1), it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n . Since Δ + ( G ) = t , it can be shown that a 1 , 1 = 0 , a 1 , 2 = 1 , ⋯, a 1 , t + 1 = 1 for C m a x 1 ( G ) . Therefore, the conclusion of Proposition 3 holds. ☐
Proposition 4.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) } . If | S + ( G ) | = 1 with v S + ( G ) , then u 1 = v for M a x Q ( G ) .
Proof. 
By Proposition 3, it immediately follows that the selection of u 1 of M a x Q ( G ) is from S + ( G ) for obtaining C m a x ( G ) . Since | S + ( G ) | = 1 , therefore, u 1 = v for M a x Q ( G ) . ☐
Lemma 5.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . Let S 1 be the set of all vertices v S + ( G ) satisfying | V ( N + ( v ) ) | > 0 . Then, u 1 S 1 for M a x Q ( G ) .
Proof. 
By Proposition 3, clearly u 1 S + ( G ) is true. Since G is a simple digraph with n nodes, then C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 2 = 0 (see (1)). Since Δ + ( G ) = s , it follows that a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 and a 1 , s + 2 = a 1 , s + 3 = = a 1 , n = 0 for C m a x 1 ( G ) .
If u 1 S 1 , one can assert that u 1 S + ( G ) S 1 . As a result, | V ( N + ( u 1 ) ) | = 0 holds by the condition of Lemma 5. Therefore, C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 and a 2 , 2 = 0 .
Otherwise, if u 1 S 1 , then | V ( N + ( u 1 ) ) | > 0 holds by the condition of Lemma 5. Therefore, C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 and a 2 , 2 = 0 .
By comparing the above two results obtained for C m a x 2 ( G ) , we have that u 1 S 1 holds for M a x Q ( G ) . ☐
Theorem 3.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . Assume that v S + ( G ) have the open outin-neighborhood subdigraph N + ( v ) with | V ( N + ( v ) ) | > 0 (see Definition 9). Suppose that there exists a node v 1 V ( N + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) .
For each w S + ( G ) w v with | V ( N + ( w ) ) | > 0 , suppose that there exists a node w 1 V ( N + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) . If condition d H + ( v 1 ) > d M + ( w 1 ) is satisfied, then u 1 = v for M a x Q ( G ) .
Proof. 
Since G is a simple digraph with n nodes, it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 2 = 0 (see (1)). Since Δ + ( G ) = s , it follows that a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 for C m a x 1 ( G ) .
By the conditions of Theorem 3, clearly d H + ( v 1 ) = Δ + ( H ) and d M + ( w 1 ) = Δ + ( M ) . For simplicity, let us assume that r = d H + ( v 1 ) , t = d M + ( w 1 ) .
If conditions r = d H + ( v 1 ) > t = d M + ( w 1 ) hold for each w S + ( G ) w v and let the u 1 = w , then at most C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , and a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = a 2 , s + 2 = = a 2 , n = 0 since there exists a node w 1 V ( N + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) .
Otherwise, if let the u 1 = v , then C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , r + 2 = 1 , and a 2 , r + 3 = a 2 , r + 4 = = a 2 , s + 1 = a 2 , s + 2 = = a 2 , n = 0 since there exists a node v 1 V ( N + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) .
Since r > t , Theorem 3 holds by comparing the above two results of C m a x 2 ( G ) obtained. ☐
Theorem 4.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . Assume that v S + ( G ) have the open outin-neighborhood subdigraph N + ( v ) with | V ( N + ( v ) ) | > 0 (see Definition 9). Suppose that there exists a node v 1 V ( N + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) .
For each w S + ( G ) w v with | V ( N + ( w ) ) | > 0 , suppose that there exists a node w 1 V ( N + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) . If conditions d H + ( v 1 ) = d M + ( w 1 ) and d G + ( v 1 ) > d G + ( w 1 ) hold, then u 1 = v for M a x Q ( G ) .
Proof. 
Since G is a simple digraph with n nodes, it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 2 = 0 (see (1)). Since Δ + ( G ) = s , one can assert that a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 and a 1 , s + 2 = a 1 , s + 3 = = a 1 , n = 0 for C m a x 1 ( G ) .
By the conditions of Theorem 4, clearly d H + ( v 1 ) = d M + ( w 1 ) = Δ + ( H ) . For simplicity, let us assume that t = d H + ( v 1 ) = d M + ( w 1 ) and l = d G + ( v 1 ) > m = d G + ( w 1 ) .
If conditions d G + ( v 1 ) > d G + ( w 1 ) hold for each w S ( G ) w v and let the u 1 = w , then at most C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = 0 , a 2 , s + 2 = a 2 , s + 3 = = a 2 , s + m t = 1 , and a 2 , s + m t + 1 = a 2 , s + m t + 2 = = a 2 , n = 0 since the node w 1 V ( N + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) (see (1)).
On the contrary, if let the u 1 = v , then C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = 0 , a 2 , s + 2 = a 2 , s + 3 = = a 2 , s + l t = 1 , a 2 , s + l t + 1 = a 2 , s + l t + 2 = = a 2 , n = 0 since the node v 1 V ( N + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) (see (1)).
Since l > m , then the binary number a 2 , s + 2 a 2 , s + 3 a 2 , s + l t > the binary number a 2 , s + 2 a 2 , s + 3 a 2 , s + m t . Therefore, Theorem 4 holds. ☐
Theorem 5.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . Suppose that | V ( N + ( u ) ) | = 0 holds for every u S + ( G ) . Let v S + ( G ) and v 1 V ( N + + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) . Let w S + ( G ) w v and w 1 V ( N + + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) . If condition d H + ( v 1 ) > d M + ( w 1 ) holds, then u 1 = v for M a x Q ( G ) .
Proof. 
Since G is a simple digraph with n nodes, it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 2 = 0 (see (1)). Since Δ + ( G ) = s , it follows that a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 for C m a x 1 ( G ) .
By the conditions of Theorem 5, clearly d H + ( v 1 ) = Δ + ( H ) and d M + ( w 1 ) = Δ + ( M ) . For simplicity, let us assume that r = d H + ( v 1 ) , t = d M + ( w 1 ) .
If conditions r = d H + ( v 1 ) > t = d M + ( w 1 ) hold for each w S + ( G ) w v and let the u 1 = w , then at most C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , and a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = a 2 , s + 2 = = a 2 , n = 0 since | V ( N + ( w ) ) | = 0 holds and w 1 V ( N + + ( w ) ) satisfies condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) .
Conversely, if let the u 1 = v , then C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , r + 2 = 1 , and a 2 , r + 3 = a 2 , r + 4 = = a 2 , s + 1 = a 2 , s + 2 = = a 2 , n = 0 since | V ( N + ( v ) ) | = 0 holds and v 1 V ( N + + ( v ) ) satisfies condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) .
Since r > t , Theorem 5 holds by comparing the above two results of C m a x 2 ( G ) obtained. ☐
Theorem 6.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . Suppose that | V ( N + ( u ) ) | = 0 holds for every u S + ( G ) . Let v S + ( G ) and v 1 V ( N + + ( v ) ) satisfying condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) . Let w S + ( G ) w v and w 1 V ( N + + ( w ) ) satisfying condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) . If conditions d H + ( v 1 ) = d M + ( w 1 ) and d G + ( v 1 ) > d G + ( w 1 ) hold, then u 1 = v for M a x Q ( G ) .
Proof. 
Since G is a simple digraph with n nodes, it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 2 = 0 (see (1)). Since Δ + ( G ) = s , one can assert that a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 and a 1 , s + 2 = a 1 , s + 3 = = a 1 , n = 0 for C m a x 1 ( G ) .
By the conditions of Theorem 6, clearly d H + ( v 1 ) = d M + ( w 1 ) = Δ + ( H ) . For simplicity, let us assume that t = d H + ( v 1 ) = d M + ( w 1 ) and l = d G + ( v 1 ) > m = d G + ( w 1 ) .
If conditions d G + ( v 1 ) > d G + ( w 1 ) hold for each w S ( G ) w v and let the u 1 = w , then at most C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = 0 , a 2 , s + 2 = a 2 , s + 3 = = a 2 , s + m t = 1 , and a 2 , s + m t + 1 = a 2 , s + m t + 2 = = a 2 , n = 0 since | V ( N + ( w ) ) | = 0 holds and w 1 V ( N + + ( w ) ) satisfies condition d M + ( w 1 ) = Δ + ( M ) where M = N + + ( w ) (see (1)).
Conversely, if let the u 1 = v , then C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 , a 2 , 2 = 0 , a 2 , 3 = a 2 , 4 = = a 2 , t + 2 = 1 , a 2 , t + 3 = a 2 , t + 4 = = a 2 , s + 1 = 0 , a 2 , s + 2 = a 2 , s + 3 = = a 2 , s + l t = 1 , a 2 , s + l t + 1 = a 2 , s + l t + 2 = = a 2 , n = 0 since | V ( N + ( v ) ) | = 0 holds and v 1 V ( N + + ( v ) ) satisfies condition d H + ( v 1 ) = Δ + ( H ) where H = N + + ( v ) (see (1)).
Since l > m , then the binary number a 2 , s + 2 a 2 , s + 3 a 2 , s + l t > the binary number a 2 , s + 2 a 2 , s + 3 a 2 , s + m t . Therefore, Theorem 6 holds. ☐
Conjecture 1.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } with | S + ( G ) | > 1 . If there exists a vertex v S + ( G ) satisfying conditions C m a x ( G v ) C m a x ( G w ) for each w S + ( G ) w v , then u 1 = v for M a x Q ( G ) .

3.1.2. Calculate the Intermediate Vertices Added into M a x Q ( G )

When our algorithm has computed the first node u 1 of M a x Q ( G ) , how would it determine the subsequent nodes for calculating C m a x ( G ) ? Note that a directed edge of G corresponds to 1 bit of the adjacency matrix A ( G ) . To maximize C ( G ) by maximizing C 2 ( G ) , one must let u 2 belong to the mix-neighborhood subdigraph N + + ( u 1 ) so that makes a 1 , 2 = 1 (see (1)). Otherwise, if u 2 N + + ( u 1 ) , then a 1 , 2 = 0 (see (1)) and C ( G ) C m a x ( G ) . The following Lemma 6 summarizes the above results.
Lemma 6.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . Assume that u 1 is the first node of M a x Q ( G ) obtained for computing C m a x ( G ) . By (12) of Definition 9, if condition | V ( N + ( u 1 ) ) | 1 holds, then u 2 V ( N + ( u 1 ) ) for computing the second node of M a x Q ( G ) so that obtaining C m a x ( G ) . Further, if | V ( N + ( u 1 ) ) | = 1 with v V ( N + ( u 1 ) ) , then u 2 = v .
Proof. 
We now prove the first statement of Lemma 6 by contradiction. Assume by contradiction that u 2 V ( N + ( u 1 ) ) . By Definition 9 and the condition that u 1 is the first node of M a x Q ( G ) , it follows that u 2 V ( N ( u 1 ) ) V ( N + ( u 1 ) ) for obtaining C m a x ( G ) . By the condition Δ + ( G ) = s , clearly C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = 1 , ⋯, a 1 , s + 1 = 1 , a 1 , s + 2 = 0 , ⋯, a 1 , n = 0 since G is a simple digraph, and C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n . It can be seen that if u 2 V ( N + ( u 1 ) ) , then there are a 1 , 2 = 1 consistent with the requirement of C m a x 1 ( G ) and a 2 , 1 = 1 for C m a x 2 ( G ) (see (1)).
If u 2 V ( N ( u 1 ) ) , by (10) of Definition 9 then a 1 , 2 = 0 for C m a x 1 ( G ) , leading to a contradiction with the constraint a 1 , 2 = 1 satisfied by C m a x 1 ( G ) . Otherwise, if u 2 V ( N + ( u 1 ) ) , by (11) of Definition 9 then a 1 , 2 = 1 for C m a x 1 ( G ) and a 2 , 1 = 0 for C m a x 2 ( G ) , resulting in a contradiction with the result a 2 , 1 = 1 obtained for C m a x 2 ( G ) . Therefore, the assumption that u 2 V ( N + ( u 1 ) ) does not hold. The second claim of Lemma 7 immediately follows from the previous result. ☐
Lemma 7.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . Assume that u 1 is the first node of M a x Q ( G ) obtained for computing C m a x ( G ) . By Definition 9, if conditions | V ( N + ( u 1 ) ) | = | V ( N ( u 1 ) ) | = 0 | V ( N + ( u 1 ) ) | 1 hold, then u 2 V ( N + ( u 1 ) ) for computing the second node of M a x Q ( G ) so that getting C m a x ( G ) .
Proof. 
Since u 1 is the first node of M a x Q ( G ) and G is a simple digraph, by + ( G ) = s then C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = 1 , , a 1 , s + 1 = 1 , a 1 , s + 2 = 0 , , a 1 , n = 0 (see (1)). By the conditions | V ( N + ( u 1 ) ) | = | V ( N [ u 1 ] ) u 1 | = 0 , it follows that a 2 , 1 = = a n , 1 = 0 for C m a x ( G ) . Therefore, u 2 V ( N + ( u 1 ) ) for M a x Q ( G ) due to | V ( N + ( u 1 ) ) | 1 holds. ☐
Lemma 8.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . Assume that u 1 is the first node of M a x Q ( G ) obtained for computing C m a x ( G ) . By Definition 9, if conditions | V ( N + ( u 1 ) ) | = 0 | V ( N ( u 1 ) ) | 1 | V ( N + ( u 1 ) ) | 1 hold, then u 2 V ( N + ( u 1 ) ) for computing the second node of M a x Q ( G ) so that getting C m a x ( G ) .
Proof. 
Since u 1 is the first node of M a x Q ( G ) , G is a simple digraph, and + ( G ) = s , then C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = 1 , , a 1 , s + 1 = 1 , a 1 , s + 2 = 0 , , a 1 , n = 0 (see (1)). If | V ( N + ( u 1 ) ) | = 0 , clearly u 2 V ( N + ( u 1 ) ) for M a x Q ( G ) . If u 2 V ( N ( u 1 ) ) , it follows that a 1 , 2 = 0 for C m a x 1 ( G ) , which is a contradiction with previous result a 1 , 2 = 1 derived for C m a x 1 ( G ) . Therefore, if | V ( N + ( u 1 ) ) | 1 , then u 2 V ( N + ( u 1 ) ) . ☐
Theorem 7.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . By Definition 9, let H = N + + ( v ) be the mix-neighborhood subdigraph of v. For computing C m a x ( G ) , suppose that M a x Q ( G ) already contains the first node u 1 = v with V ( N + ( v ) ) = { v 1 , v 2 , , v t } , t > 1 . If one of the following conditions holds, then u 2 = v 1 for M a x Q ( G ) .
1. 
d H + ( v 1 ) > d H + ( v i ) for i = 2 , , t .
2. 
d G + ( v 1 ) > d G + ( v i ) hold for d H + ( v 1 ) = d H + ( v i ) with i { 2 , , t } .
Proof. 
(1) By Lemma 6, it follows that if condition | V ( N + ( v ) ) | 1 holds, then u 2 V ( N + ( v ) ) for M a x Q ( G ) . By the conditions of Theorem 7, there is C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = 1 , , a 1 , s + 1 = 1 , a 1 , s + 2 = 0 , , a 1 , n = 0 (see (1)).
Note that C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 since v 1 V ( N + ( v ) ) and G is a simple digraph. For simplicity, let us assume that r = d H + ( v 1 ) . If u 2 = v 1 , it can be seen that a 2 , 3 = 1 , a 2 , 4 = 1 , , a 2 , r + 2 = 1 by properly arranging the nodes of V ( H ) (see (1)). Otherwise, if u 2 = v i with i { 2 , , t } , no matter how the vertices in H are ordered such that there is, at least, one 0 among the r entries a 2 , 3 , a 2 , 4 , , a 2 , r + 2 since d H + ( v i ) < d H + ( v 1 ) for i = 2 , , t (see (1)). Therefore, the conclusion (1) of Theorem 7 holds.
(2) Observe that C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 1 , a 2 , 2 = 0 since v 1 V ( N + ( v ) ) and G is a simple digraph. For simplicity, let us assume that j = | V ( H ) | , r = d H + ( v 1 ) , l = d G + ( v 1 ) , and m = max { d G + ( v i ) } with i { 2 , , t } . Without loss of generality assume w { v 2 , , v t } with d G + ( w ) = m and k = l m . If u 2 = v 1 , one can let a 2 , 3 = 1 , a 2 , 4 = 1 , , a 2 , r + 2 = 1 , a 2 , r + 3 = 0 , , a 2 , j + 2 = 1 by properly ordering the nodes of V ( H ) since r = d H + ( v 1 ) (see (1)). Since d G + ( v 1 ) > d G + ( v i ) hold for d H + ( v 1 ) = d H + ( v i ) with i { 2 , , t } , it follows that k > 0 . Further, one can let a 2 , j + 3 = 1 , a 2 , j + 4 = 1 , , a 2 , j + k + 2 = 1 , a 2 , j + k + 3 = 0 , , a 2 , n = 0 by properly sorting the nodes of V ( G ) V ( H ) v since k > 0 (see (1)). Otherwise, if u 2 = w , no matter how the vertices of V ( G ) V ( H ) v are ordered such that there is, at least, one 0 among the k entries a 2 , j + 3 , a 2 , j + 4 , , a 2 , j + k + 2 since m = d G + ( w ) < l = d H + ( v 1 ) (see (1)). Therefore, the conclusion (2) of Theorem 7 holds. ☐
Theorem 8.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . For computing C m a x ( G ) , suppose that M a x Q ( G ) already contains the first node u 1 = v satisfying conditions | V ( N + ( v ) ) | = 0 | V ( N ( v ) ) | 1 | V ( N + ( v ) ) | 1 with V ( N + ( v ) ) = { v 1 , v 2 , , v t } , t = | V ( N + ( v ) ) | > 1 (see Definition 9). If one of the following conditions holds, then u 2 = v 1 for M a x Q ( G ) .
1. 
d N + ( v ) + ( v 1 ) > d N + ( v ) + ( v i ) for i = 2 , , t .
2. 
d G + ( v 1 ) > d G + ( v i ) hold for d N + ( v ) + ( v 1 ) = d N + ( v ) + ( v i ) with i { 2 , , t } .
Proof. 
By Lemma 8, it follows that if conditions | V ( N + ( v ) ) | = 0 | V ( N ( v ) ) | 1 | V ( N + ( v ) ) | 1 hold, then u 2 V ( N + ( v ) ) for M a x Q ( G ) . By the conditions of Theorem 8, there is C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = 1 , , a 1 , s + 1 = 1 , a 1 , s + 2 = 0 , , a 1 , n = 0 (see (1)). Note that C m a x 2 ( G ) = a 2 , 1 a 2 , 2 a 2 , 3 a 2 , n with a 2 , 1 = 0 , a 2 , 2 = 0 since | V ( N + ( u 1 ) ) | = 0 and G is a simple digraph.
(1) For simplicity, let us assume that r = d N + ( v ) + ( v 1 ) . If u 2 = v 1 , it can be seen that a 2 , 3 = 1 , a 2 , 4 = 1 , , a 2 , r + 2 = 1 by properly arranging the nodes v 1 , v 2 , , v t of V ( N + ( v ) ) (see (1)). Conversely, if u 2 = v i with i { 2 , , t } , no matter how the vertices in V ( N + ( v ) ) are ordered such that there is, at least, one 0 among the r entries a 2 , 3 , a 2 , 4 , , a 2 , r + 2 since d N + ( v ) + ( v i ) < d N + ( v ) + ( v 1 ) for i = 2 , , t (see (1)). Therefore, the conclusion (1) of Theorem 7 holds.
(2) For convenience, let us assume that j = | V ( N + ( v ) ) | , r = d N + ( v ) + ( v 1 ) , l = d G + ( v 1 ) , and m = max { d G + ( v i ) } with i { 2 , , t } . Without loss of generality assume w { v 2 , , v t } with d G + ( w ) = m and k = l m .
If u 2 = v 1 , one can let a 2 , 3 = 1 , a 2 , 4 = 1 , , a 2 , r + 2 = 1 , a 2 , r + 3 = 0 , , a 2 , j + 2 = 1 by properly ordering the nodes of V ( N + ( v ) ) since r = d N + ( v ) + ( v 1 ) (see (1)). Since d G + ( v 1 ) > d G + ( v i ) hold for d N + ( v ) + ( v 1 ) = d N + ( v ) + ( v i ) with i { 2 , , t } , it follows that k > 0 . Further, one can let a 2 , j + 3 = 1 , a 2 , j + 4 = 1 , , a 2 , j + k + 2 = 1 , a 2 , j + k + 3 = 0 , , a 2 , n = 0 by properly sorting the nodes of V ( G ) V ( N + ( v ) ) v since k > 0 (see (1)).
Conversely, if u 2 = w , no matter how the vertices of V ( G ) V ( N + ( v ) ) v are ordered such that there is, at least, one 0 among the k entries a 2 , j + 3 , a 2 , j + 4 , , a 2 , j + k + 2 since m = d G + ( w ) < l = d N + ( v ) + ( v 1 ) (see (1)). Therefore, the conclusion (2) of Theorem 8 holds. ☐
When our algorithm has computed the first i vertices u 1 , u 2 , , u i of M a x Q ( G ) , how does it determine the subsequent nodes u i + 1 , u i + 2 , , u n for calculating C m a x ( G ) ? Similar to the above discussion for obtaining u 2 , it can be shown that the selections of the successor vertices u i + 1 , u i + 2 , , u n of M a x Q ( G ) are from N ( S ) with S = { u 1 , u 2 , , u i } .
Our algorithm assigns each node in G an attribute called m _ N e a r e s t N o d e . Once the ith node u i has been added into M a x Q ( G ) , it writes the index information i of u i into the attribute domain m _ N e a r e s t N o d e of each node v j N ( u i ) = { v 1 , v 2 , ⋯, v t } with j = 1 , 2 , , t . If v j > m _ N e a r e s t N o d e = 0 , then let v j > m _ N e a r e s t N o d e = i for each v j N ( u i ) with j = 1 , 2 , , t .
Lemma 9.
Let G = < V ( G ) , E ( G ) > be a simple digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . When computing C m a x ( G ) , if M a x Q ( G ) already contains the first node u 1 = v whose open mix-neighborhood subdigraph is N + + ( v ) (see Definition 9), then u 2 , u 3 , ⋯, u s , u s + 1 N + + ( v ) .
Proof. 
Since the condition + ( G ) = s holds, it can be asserted that | N + + ( v ) | = s by Definition 9. Because G is a simple digraph with n nodes, it follows that C m a x 1 ( G ) = a 1 , 1 a 1 , 2 a 1 , 3 a 1 , n with a 1 , 1 = 0 , a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 , a 1 , s + 2 = a 1 , s + 3 = = a 1 , n = 0 for obtaining C m a x ( G ) (see (1)). To ensure a 1 , 2 = a 1 , 3 = = a 1 , s + 1 = 1 to maximize C 1 ( G ) (see (1)), the assertion u 2 , u 3 , ⋯, u s , u s + 1 N + + ( v ) is true. ☐
Theorem 9 (Diffusion Theorem of Digraphs).
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. For computing C m a x ( G ) , suppose that M a x Q ( G ) already contains the first m vertices u 1 , u 2 , , u m . Let Q = { u 1 , u 2 , , u m } whose open neighborhood subdigraph is N ( Q ) (see Definition 11). If | V ( N ( Q ) ) | 1 , then the following two conclusions hold.
1. 
By Definition 11, the selection of the ( m + 1 ) th vertex of M a x Q ( G ) for computing C m a x ( G ) is from the open neighborhood subdigraph N ( Q ) of the nodes set Q.
2. 
the vertex-induced subdigraph of the first m vertices is connected.
Proof. 
(1) We prove by contradiction. If u m + 1 V ( N ( Q ) ) , without loss of generality let us assume that π 1 = { u 1 , u 2 , , u m , v 1 , u m + 2 , , v 2 , , u n } is a permutation of V ( G ) , satisfying conditions v 1 = u m + 1 V ( N ( Q ) ) , v 2 = u i V ( N ( Q ) ) with m + 2 i n .
Further, we may assume that if condition u m + 1 V ( N ( Q ) ) holds, the C ( G ) corresponding to π 1 is the greatest. Assume that the node v 2 = u i V ( N ( Q ) ) is the node whose index i in π 1 is the smallest index in π 1 than the indexes of other nodes belonging to V ( N ( Q ) ) in π 1 . This means that no node belonging to V ( N ( Q ) ) is between u m + 2 and u i 1 of π 1 such that for every node v { u m + 2 , u m + 3 , , u i 1 } , v V ( N ( Q ) ) follows ( see Definition 11).
Let A 1 ( G ) be the matrix corresponding to the permutation π 1 . Let W 1 , W 2 , W 3 , and W 4 be the block submatrices of A 1 ( G ) containing the first m rows and the ( m + 1 ) th column, the ( m + 2 ) th to ( i 1 ) th columns, the ith column, and the ( i + 1 ) th to nth columns, respectively.
Since v 1 V ( N ( Q ) ) , then W 1 = 0 holds. From the above result, for every node v { u m + 2 , u m + 3 , , u i 1 } , v V ( N ( Q ) ) holds such that W 2 = 0 . For v 2 V ( N ( Q ) ) = V ( N ( Q ) ) V ( N + + ( Q ) ) , if v 2 V ( N ( Q ) ) , then W 3 = 0 . Otherwise, if v 2 V ( N + + ( Q ) , then W 3 > 0 . Therefore, W 3 0 .
Similarly, let X 1 , X 2 , X 3 , and X 4 be the block submatrices of A 1 ( G ) formed by the first m columns and the ( m + 1 ) th row, the ( m + 2 ) th to ( i 1 ) th rows, the ith row, and the ( i + 1 ) th to nth rows, respectively.
Since v 1 V ( N ( Q ) ) , then X 1 = 0 holds. For every node v { u m + 2 , u m + 3 , , u i 1 } , since v V ( N ( Q ) ) holds, then X 2 = 0 . For v 2 V ( N ( Q ) ) = V ( N ( Q ) ) V ( N + + ( Q ) ) , if v 2 V ( N ( Q ) ) , then X 3 > 0 by Definition 11. Otherwise, if v 2 V ( N + + ( Q ) , then X 3 > 0 . Therefore, X 3 > 0 .
By merely swapping v 1 and v 2 of π 1 , one can obtain another permutation π 2 = { u 1 , u 2 , , u m , v 2 , u m + 2 , , v 1 , , u n } with v 1 V ( N ( Q ) ) , v 2 V ( N ( Q ) ) .
Similar to A 1 ( G ) , let A 2 ( G ) be the matrix corresponding to the permutation π 2 . Let Y 1 , Y 2 , Y 3 , and Y 4 be the block submatrices of A 2 ( G ) containing the first m rows and the ( m + 1 ) th column, the ( m + 2 ) th to ( i 1 ) th columns, the ith column, and the ( i + 1 ) th to nth columns, respectively.
For v 2 V ( N ( Q ) ) = V ( N ( Q ) ) V ( N + + ( Q ) ) , if v 2 V ( N ( Q ) ) , then Y 1 = 0 . Otherwise, if v 2 V ( N + + ( Q ) , then Y 1 > 0 . Therefore, Y 1 0 . For every node v { u m + 2 , u m + 3 , , u i 1 } , since v V ( N ( Q ) ) holds, then Y 2 = 0 . Since v 1 V ( N ( Q ) ) , then Y 3 = 0 holds.
Simila, Let Z 1 , Z 2 , Z 3 , and Z 4 be the block submatrices of A 2 ( G ) formed by the first m columns and the ( m + 1 ) th rows, the ( m + 2 ) th to ( i 1 ) th rows, the ith row, and the ( i + 1 ) th to nth rows, respectively.
For v 2 V ( N ( Q ) ) = V ( N ( Q ) ) V ( N + + ( Q ) ) , if v 2 V ( N ( Q ) ) , then Z 1 > 0 by Definition 11. Otherwise, if v 2 V ( N + + ( Q ) , then Z 1 > 0 . Therefore, Z 1 > 0 . For every node v { u m + 2 , u m + 3 , , u i 1 } , since v V ( N ( Q ) ) holds, then Z 2 = 0 . Since v 1 V ( N ( Q ) ) , then Z 3 = 0 holds.
By Definition 10, observe that W 4 = Y 4 since W 4 and Y 4 are both the m × ( n i ) block submatrices defined by the same nodes sequence u i + 1 , u i + 2 , , u n , and X 4 = Z 4 since X 4 and Z 4 are both the ( n i ) × m block submatrices corresponding to the same nodes sequence u i + 1 , u i + 2 , , u n .
Furthermore, by Definition 10 note that W 2 = Y 2 since W 2 and Y 2 are both the m × ( i m 2 ) block submatrices generated by the same nodes sequence u m + 2 , u m + 3 , , u i 1 , and X 2 = Z 2 since X 2 and Z 2 are both the ( i m 2 ) × m block submatrices corresponding to the same nodes sequence u m + 2 , u m + 3 , , u i 1 .
By Definition 10, it follows from the results discussed above that W 1 = W 2 = 0 , W 3 0 , Y 1 0 , Y 2 = Y 3 = 0 , X 1 = X 2 = 0 , X 3 > 0 , Z 1 > 0 , Z 2 = Z 3 = 0 .
Therefore, the new C ( G ) derived from A 2 ( G ) is greater than the C ( G ) stemmed from A 1 ( G ) such that brings a contradiction with the previous assumption that u m + 1 N ( Q ) . This contradiction shows the statement (1) holds.
(2) The result immediately follows from the conclusion (1). ☐
Theorem 10 (Mix Diffusion Theorem of Digraphs).
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. For computing C m a x ( G ) , suppose that M a x Q ( G ) already contains the first m vertices u 1 , u 2 , , u m . Let Q = { u 1 , u 2 , , u m } whose open mix-neighborhood subdigraph is N + + ( Q ) . If | V ( N + + ( Q ) ) | 1 , then the following two conclusions hold.
1. 
By Definition 11, the selection of the ( m + 1 ) th vertex of M a x Q ( G ) for computing C m a x ( G ) is from the open mix-neighborhood subdigraph N + + ( Q ) of the nodes set Q.
2. 
the vertex-induced subdigraph of the first m vertices is connected.
Proof. 
(1) We prove by contradiction. If u m + 1 V ( N + + ( Q ) ) , without loss of generality let us assume that π 1 = { u 1 , u 2 , , u m , v 1 , u m + 2 , , v 2 , , u n } is a permutation of V ( G ) , satisfying conditions v 1 = u m + 1 V ( N + + ( Q ) ) , v 2 = u i V ( N + + ( Q ) ) with m + 2 i n .
Further, we may assume that if condition u m + 1 V ( N + + ( Q ) ) holds, the C ( G ) corresponding to π 1 is the greatest. Assume that the node v 2 = u i V ( N + + ( Q ) ) is the node whose index i in π 1 is the smallest index in π 1 than the indexes of other nodes belonging to V ( N + + ( Q ) ) in π 1 . This means that no node belonging to V ( N + + ( Q ) ) is between u m + 2 and u i 1 of π 1 such that for every node v { u m + 2 , u m + 3 , , u i 1 } , v V ( N + + ( Q ) ) follows ( see Definition 11).
Let A 1 ( G ) be the matrix corresponding to the permutation π 1 . Let W 1 , W 2 , W 3 , and W 4 be the block submatrices of A 1 ( G ) containing the first m rows and the ( m + 1 ) th column, the ( m + 2 ) th to ( i 1 ) th columns, the ith column, and the ( i + 1 ) th to nth columns, respectively.
Since v 1 V ( N + + ( Q ) ) , then v 1 V ( N ( Q ) ) v 1 V ( N ( Q ) ) . If v 1 V ( N ( Q ) ) , then W 1 = 0 by Definition 11. Otherwise, if v 1 V ( N ( Q ) ) , then W 1 = 0 . Therefore, W 1 = 0 for v 1 V ( N + + ( Q ) ) . From the above result, for every node v { u m + 2 , u m + 3 , , u i 1 } , v V ( N + + ( Q ) ) holds such that v V ( N ( Q ) ) v V ( N ( Q ) ) . If v V ( N ( Q ) ) , then W 2 = 0 by Definition 11. Otherwise, if v V ( N ( Q ) ) , then W 2 = 0 . Therefore, W 2 = 0 . Since v 2 V ( N + + ( Q ) ) , then W 3 > 0 .
By merely swapping v 1 and v 2 of π 1 , one can obtain another permutation π 2 = { u 1 , u 2 , , u m , v 2 , u m + 2 , , v 1 , , u n } with v 1 V ( N + + ( Q ) ) , v 2 V ( N + + ( Q ) ) .
Similar to A 1 ( G ) , let A 2 ( G ) be the matrix corresponding to the permutation π 2 . Let Y 1 , Y 2 , Y 3 , and Y 4 be the block submatrices of A 2 ( G ) containing the first m rows and the ( m + 1 ) th column, the ( m + 2 ) th to ( i 1 ) th columns, the ith column, and the ( i + 1 ) th to nth columns, respectively.
Clearly Y 1 > 0 holds for v 2 V ( N + + ( Q ) ) . For every node v { u m + 2 , u m + 3 , , u i 1 } , since v V ( N + + ( Q ) ) holds, then v V ( N ( Q ) ) v V ( N ( Q ) ) . If v V ( N ( Q ) ) , then Y 2 = 0 by Definition 11. Otherwise, if v V ( N ( Q ) ) , then Y 2 = 0 . Therefore, Y 2 = 0 . Since v 1 V ( N + + ( Q ) ) , then v 1 V ( N ( Q ) ) v 1 V ( N ( Q ) ) . If v 1 V ( N ( Q ) ) , then Y 3 = 0 by Definition 11. Otherwise, if v 1 V ( N ( Q ) ) , then Y 3 = 0 . Therefore, Y 3 = 0 .
By Definition 10, observe that W 4 = Y 4 since W 4 and Y 4 are both the m × ( n i ) block submatrices corresponding to the same nodes sequence u i + 1 , u i + 2 , , u n .
Furthermore, by Definition 10 note that W 2 = Y 2 since W 2 and Y 2 are both the m × ( i m 2 ) block submatrices corresponding to the same nodes sequence u m + 2 , u m + 3 , , u i 1 , and X 2 = Z 2 since X 2 and Z 2 are both the ( i m 2 ) × m block submatrices corresponding to the same nodes sequence u m + 2 , u m + 3 , , u i 1 .
It follows from the results discussed above that W 1 = W 2 = 0 , W 3 > 0 , Y 1 > 0 , Y 2 = Y 3 = 0 .
Therefore, the new C ( G ) derived from A 2 ( G ) is greater than the C ( G ) stemmed from A 1 ( G ) such that brings a contradiction with the previous assumption that u m + 1 N + + ( Q ) . This contradiction shows the statement (1) holds.
(2) The result immediately follows from the conclusion (1). ☐
Corollary 1.
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. Let S + ( G ) = { u V ( G ) | d + ( u ) = Δ + ( G ) = s } . For computing M a x Q ( G ) , suppose that M a x Q ( G ) already contains the first m vertices u 1 , u 2 , , u m . By Definition 11, if Q = { u 1 , u 2 , , u m } satisfies conditions | V ( N + + ( Q ) ) | = 0 | V ( N ( Q ) ) | 1 , then u m + 1 V ( N ( Q ) ) .
Proof. 
By Neighborhood Diffusion Theorem 9, we have that u m + 1 V ( N ( Q ) ) . By Mix Diffusion Theorem 10, it follows that u m + 1 V ( N + + ( Q ) ) . Since conditions | V ( N + + ( Q ) ) | = 0 | V ( N ( Q ) ) | 1 hold, the result of Corollary 1 is true. ☐
Corollary 2.
Let G = < V ( G ) , E ( G ) > be a simple connected digraph with n nodes. For computing C m a x ( G ) , suppose that M a x Q ( G ) already contains the first m vertices u 1 , u 2 , , u m . If Q = { u 1 , u 2 , , u m } has open neighborhood subdigraph N ( Q ) satisfying conditions | V ( N ( Q ) ) | 1 . If | V ( N + ( Q ) ) | = 0 | V ( N + ( Q ) ) | > 0 , then u m + 1 N + ( Q ) .
Proof. 
It follows from Mix Diffusion Theorem 10. ☐

3.2. Compute C m a x ( G ) for a Disconnected Digraph

Let G = < V ( G ) , E ( G ) > be a simple disconnected digraph with n nodes and p connected components. Suppose that the p connected components are G 1 , G 2 , ⋯, G p . In this subsection, we study how to compute the maximum element C m a x ( G ) of G.
If Δ + ( G 1 ) > Δ + ( G 2 ) > > Δ + ( G p ) , how does our algorithm work to compute the maximum element C m a x ( G ) of G? Observe that to obtain C m a x ( G ) one had to arrange all vertices of each connected component G i with i { 1 , 2 , , p } together when constructing the adjacency matrix A ( G ) . The result also follows from the proof of Diffusion Theorem of Digraphs 9.
First, we analyze the features of the adjacency matrix A ( G ) . When constructing the adjacency matrix A ( G ) , we arrange all vertices of each connected component G i with i { 1 , 2 , , p } together. As a result, the adjacency matrix A ( G ) is a block matrix, each block of which corresponds to a connected component. Next, we study the relationship between C ( G ) and A ( G ) . Furthermore, we show how to solve the C m a x ( G 1 ) of the adjacency matrix A ( G ) .
Lemma 10.
Let G = < V ( G ) , E ( G ) > be a simple disconnected digraph that have two disjoint connected components G 1 = < V ( G 1 ) , E ( G 1 ) > and G 2 = < V ( G 2 ) , E ( G 2 ) > with k and l nodes respectively. Suppose that
C m a x ( G 1 ) = C m a x 1 ( G 1 ) C m a x 2 ( G 1 ) C m a x k 1 ( G 1 ) , C m a x ( G 2 ) = C m a x 1 ( G 2 ) C m a x 2 ( G 2 ) C m a x l 1 ( G 2 ) .
If Δ + ( G 1 ) > Δ + ( G 2 ) , then C m a x ( G ) satisfies the following equality:
C m a x ( G ) = C m a x 1 ( G ) C m a x 2 ( G ) C m a x k 1 ( G ) C m a x k ( G ) C m a x k + 2 ( G ) C m a x k + l 1 ( G ) ,
where
C m a x 1 ( G ) = C m a x 1 ( G 1 ) 00 0 l , C m a x 2 ( G ) = C m a x 2 ( G 1 ) 00 0 l C m a x k 1 ( G ) = C m a x k 1 ( G 1 ) 00 0 l , C m a x k ( G ) = 00 0 l , C m a x k + 1 ( G ) = C m a x 1 ( G 2 ) , C m a x k + 2 ( G ) = C m a x 2 ( G 2 ) , , C m a x k + l 1 ( G ) = C m a x l 1 ( G 2 ) .
Proof. 
If Δ + ( G 1 ) > Δ + ( G 2 ) holds, then Δ + ( G ) = Δ + ( G 1 ) . By Proposition 3, it follows that to obtain C m a x ( G ) , one must choose the vertex with the maximum outdegree from G 1 as the first vertex u 1 of M a x Q ( G ) .
By Diffusion Theorem of Digraphs 9, the subsequent k 1 vertices added into M a x Q ( G ) must be taken from G 1 . Similarly, by Proposition 3, it follows that to obtain C m a x ( G ) , one must choose the ( k + 1 ) th vertex from G 2 with the maximum outdegree as the ( k + 1 ) th vertex u k + 1 of M a x Q ( G ) . By Diffusion Theorem of Digraphs 9, the next l 1 vertices added into M a x Q ( G ) must be from G 2 . Carefully examining (1), it is not difficult to find that (49) holds. ☐
Note that to ensure the maximization of C m a x ( G ) , one must add l 0 after C m a x 1 ( G 1 ) , C m a x 2 ( G 1 ) , ⋯, C m a x k 1 ( G 1 ) respectively so that let C m a x k ( G ) be equal l 0.
Theorem 11.
Let G = < V ( G ) , E ( G ) > be a simple disconnected digraph with n nodes and p connected components. Suppose that the p connected components are G 1 , G 2 , ⋯, G p with | V ( G 1 ) | = n 1 , | V ( G 2 ) | = n 2 , ⋯, | V ( G p ) | = n p . If C m a x ( G 1 ) > C m a x ( G 2 ) > > C m a x ( G p ) , then C m a x ( G ) satisfies the following equality:
C m a x ( G ) = C m a x 1 ( G 1 ) 0 0 n n 1 C m a x n 1 1 ( G 1 ) 0 0 n n 1 0 0 n n 1 C m a x 1 ( G 2 ) 0 0 n n 1 n 2 C m a x n 2 1 ( G 2 ) 0 0 n n 1 n 2 0 0 n n 1 n 2 [ 0.5 ] C m a x 1 ( G p 1 ) 0 0 n p C m a x n p 1 1 ( G p 1 ) 0 0 n p 0 0 n p C m a x 1 ( G p ) C m a x n p 1 ( G p ) .
Proof. 
We prove (50) by induction on the number p of branches. By the preceding definition, we have C m a x ( G ) = C m a x 1 ( G ) C m a x 2 ( G ) C m a x n 1 ( G ) for p = 1 . Thus, (50) in Theorem 11 holds for p = 1 . By Lemma 10, (50) holds for p = 2 .
By induction, suppose that (50) holds for p = k . In the following, we prove that the equality (50) also holds for p = k + 1 . We can now treat the front k branch digraphs as the digraph H. Therefore, (50) also holds for the digraph H.
C m a x ( H ) = C m a x 1 ( G 1 ) 0 0 n n k + 1 n 1 C m a x n 1 1 ( G 1 ) 0 0 n n k + 1 n 1 0 0 n n k + 1 n 1 C m a x 1 ( G 2 ) 0 0 n n k + 1 n 1 n 2 C m a x n 2 1 ( G 2 ) 0 0 n n k + 1 n 1 n 2 0 0 n n k + 1 n 1 n 2 [ 0.5 ] C m a x 1 ( G k 1 ) 0 0 n k C m a x n k 1 1 ( G k 1 ) 0 0 n k 0 0 n k C m a x 1 ( G k ) C m a x 2 ( G k ) C m a x n k 1 ( G k ) ,
where
C m a x 1 ( H ) = C m a x 1 ( G 1 ) 0 0 n n k + 1 n 1 , [ 0.35 ] C m a x n 1 1 ( H ) = C m a x n 1 1 ( G 1 ) 0 0 n n k + 1 n 1 , C m a x n 1 ( H ) = 0 0 n n k + 1 n 1 ,
C m a x n 1 + 1 ( H ) = C m a x 1 ( G 2 ) 0 0 n n k + 1 n 1 n 2 , [ 0.35 ] C m a x n 1 + n 2 1 ( H ) = C m a x n 2 1 ( G 2 ) 0 0 n n k + 1 n 1 n 2 , C m a x n 1 + n 2 ( H ) = 0 0 n n k + 1 n 1 n 2 , [ 0.35 ] C m a x n n k + 1 n k n k 1 + 1 ( H ) = C m a x 1 ( G k 1 ) 0 0 n k , [ 0.35 ] C m a x n n k + 1 n k 1 ( H ) = C m a x n k 1 1 ( G k 1 ) 0 0 n k ,
By Lemma 10, we have
C m a x ( G ) = C m a x 1 ( H ) 0 0 n k + 1 C m a x 2 ( H ) 0 0 n k + 1 C m a x n n k + 1 1 ( H ) 0 0 n k + 1 0 0 n k + 1 C m a x 1 ( G k + 1 ) C m a x 2 ( G k + 1 ) C m a x n k + 1 1 ( G k + 1 ) .
By (51), substituting C m a x 1 ( H ) to C m a x n n k + 1 1 ( H ) into (52), we obtain
C m a x ( G ) = C m a x 1 ( G 1 ) 0 0 n n k + 1 n 1 0 0 n k + 1 C m a x 2 ( G 1 ) 0 0 n n k + 1 n 1 0 0 n k + 1 C m a x n k 1 ( G k ) 0 0 n k + 1 0 0 n k + 1 C m a x 1 ( G k + 1 ) C m a x 2 ( G k + 1 ) C m a x n k + 1 1 ( G k + 1 ) .
Thus, we have
C m a x ( G ) = C m a x 1 ( G 1 ) 0 0 n n 1 C m a x n 1 1 ( G 1 ) 0 0 n n 1 0 0 n n 1 C m a x 1 ( G 2 ) 0 0 n n 1 n 2 C m a x n 2 1 ( G 2 ) 0 0 n n 1 n 2 0 0 n n 1 n 2 [ 0.35 ] C m a x 1 ( G k ) 0 0 n k + 1 C m a x n k 1 ( G k ) 0 0 n k + 1 0 0 n k + 1 C m a x 1 ( G k + 1 ) C m a x n k + 1 1 ( G k + 1 ) .
Thus, the equality (50) holds for p = k + 1 . ☐
By Theorem 11, it can be seen that one must first calculate C m a x ( G i ) of each branch for i = 1 , 2 , , p for obtaining C m a x ( G ) , respectively. Furthermore, one substitutes C m a x ( G i ) into (50) sequentially to obtain C m a x ( G ) of a simple disconnected digraph G.
If the above conditions are not satisfied, how does one calculate C m a x ( G ) of a disconnected undirected G? Based on an analysis of the preceding results, establish the following Theorem 12 that is more general than Lemma 10.
Theorem 12.
Let G = < V ( G ) , E ( G ) > be a simple disconnected digraph that have two disjoint connected components G 1 = < V ( G 1 ) , E ( G 1 ) > and G 2 = < V ( G 2 ) , E ( G 2 ) > with k and l nodes respectively. Let S + ( G 1 ) = { u V ( G 1 ) | d + ( u ) = Δ + ( G 1 ) } and S + ( G 2 ) = { u V ( G 2 ) | d + ( u ) = Δ + ( G 2 ) } satisfying condition Δ + ( G 1 ) = Δ + ( G 2 ) . Suppose that
C m a x ( G 1 ) = C m a x 1 ( G 1 ) C m a x 2 ( G 1 ) C m a x k 1 ( G 1 ) ,
C m a x ( G 2 ) = C m a x 1 ( G 2 ) C m a x 2 ( G 2 ) C m a x l 1 ( G 2 ) ,
If there exists a node u S + ( G 1 ) satisfying condition | N + ( u ) | > 0 Δ + ( N + + ( u ) ) > Δ + ( N + + ( v ) ) for v S 2 , then C m a x ( G ) satisfies the following equality:
C m a x ( G ) = C m a x 1 ( G ) C m a x 2 ( G ) C m a x k 1 ( G ) C m a x k ( G ) C m a x k + 2 ( G ) C m a x k + l 1 ( G ) ,
where
C m a x 1 ( G ) = C m a x 1 ( G 1 ) 00 0 l , C m a x 2 ( G ) = C m a x 2 ( G 1 ) 00 0 l C m a x k 1 ( G ) = C m a x k 1 ( G 1 ) 00 0 l , C m a x k ( G ) = 00 0 l , C m a x k + 1 ( G ) = C m a x 1 ( G 2 ) , C m a x k + 2 ( G ) = C m a x 2 ( G 2 ) , , C m a x k + l 1 ( G ) = C m a x l 1 ( G 2 ) .
Proof. 
By the condition of Theorem 12, Δ + ( G ) = max { Δ + ( G 1 ) , Δ + ( G 2 ) } = Δ + ( G 1 ) = Δ + ( G 2 ) since Δ + ( G 1 ) = Δ + ( G 2 ) holds.
If there exists a node u S + ( G 1 ) satisfying condition | N + ( u ) | > 0 Δ + ( N + + ( u ) ) > Δ + ( N + + ( v ) ) for v S 2 , by Theorem 3, one must choose the first vertex u 1 added into M a x Q ( G ) from G 1 so that obtain C m a x ( G ) .
By Diffusion Theorem of Digraphs 9, one must select u 2 , u 3 , , u k into M a x Q ( G ) from G 1 to obtain C m a x ( G ) . In addition, one must choose the subsequent l nodes into M a x Q ( G ) from G 2 . By (55) and (56), it follows that (58) holds.
C m a x ( G ) = C m a x 1 ( G ) C m a x 2 ( G ) C m a x k 1 ( G ) C m a x k ( G ) C m a x k + 2 ( G ) C m a x k + l 1 ( G ) ,
where
C m a x 1 ( G ) = C m a x 1 ( G 1 ) 00 0 l , C m a x 2 ( G ) = C m a x 2 ( G 1 ) 00 0 l , , C m a x k 1 ( G ) = C m a x k 1 ( G 1 ) 00 0 l , C m a x k ( G ) = 00 0 l , C m a x k + 1 ( G ) = C m a x 1 ( G 2 ) , C m a x k + 2 ( G ) = C m a x 2 ( G 2 ) , , C m a x k + l 1 ( G ) = C m a x l 1 ( G 2 ) .
Note that to ensure the maximization of C m a x ( G ) , l 0 must be added after C m a x 1 ( G 1 ) , C m a x 2 ( G 1 ) , ⋯, C m a x k 1 ( G 1 ) respectively and let C m a x k ( G ) be equal l 0. ☐

4. Our Algorithms for Computing the Canonical Labelings of Digraphs

In the section, based on the results of the previous sections, we present our algorithms for computing canonical labelings of digraphs. We display the major steps required for calculating the maximum element C m a x ( G ) of G. When our algorithm has calculated the node u 1 of M a x Q ( G ) , then, it constructs the close mix-neighborhood subdigraph N + + [ u 1 ] of the set S 1 = { u 1 } (see Figure 1a), from which it picks a few vertices into M a x Q ( G ) . For clarity of presentation, we call this process P R O G R E S S 1. Then again, it builds the close mix-neighborhood subdigraph N + + [ S 2 ] of the nodes set S 2 = { u 1 , u 2 } (see Figure 1b), from which it picks a few vertices into M a x Q ( G ) . We call this process P R O G R E S S 2. ⋯. Then again, it builds the close mix-neighborhood subdigraph N + + [ S r ] of the nodes set S r = { u 1 , u 2 , , u r } (see Figure 1c,d), from which it picks a few vertices into M a x Q ( G ) . We call this process PROGRESS r⋯. This process continues until it puts all vertices in G into M a x Q ( G ) (see Figure 1e,f).
For P R O G R E S S 1, after calculating N + + [ S 1 ] , by Lemma 2, our algorithm arranges all nodes of N + + [ S 1 ] into a single chain L 1 (see Algorithm 1). For simplify, let V 1 = V ( N + + [ S 1 ] ) . If there are two nodes v i , v j L 1 satisfying condition v i v j with respect to N + + [ S 1 ] , then it continues to determine whether v i v j or v i v j with respect to G. If v i v j , it rearranges v i in front of the v j in L 1 . Otherwise, it rearranges v i in back of the v j in L 1 .
For each P R O G R E S S r, r = 2 , 3 , , when calculating N + + [ S r ] , our algorithm continues to calculate the close in-neighborhood subdigraph N [ S r ] and let N + + [ S r ] = N [ S r ] if condition N + + [ S r ] = holds for some r.
For each P R O G R E S S r, r = 2 , 3 , , after calculating N + + [ S r ] , our algorithm in turn computes V 2 = V ( N + + ( S r 1 ) ) V ( N + + ( u r ) ) (see Figure 2d), V 3 = V ( N + + ( S r 1 ) ) V ( N + + ( u r ) ) (see Figure 2e), V 4 = V ( N + + ( u r ) ) V ( N + + ( S r 1 ) ) (see Figure 2f), and the outdegree sequences d N + + [ S r ] + ( V 2 ) , d N + + [ S r ] + ( V 3 ) , d N + + [ S r ] + ( V 4 ) in decreasing order respectively, where S r 1 = { u 1 , u 2 , , u r 1 } . It can be shown that V 2 V 3 V 4 = V ( N + + ( S r ) ) and V i V j = for i j , i , j = 2 , 3 , 4 . By Lemma 2, it arranges all nodes of V i into a single chain L i (see Algorithm 1) with i = 2 , 3 , 4 , respectively.
Algorithm 1: Arrange all nodes of V i into a single chain L i for a close mix-neighborhood subdigraph N + + [ S r ] with i = 1 , 2 , 3 , 4 , respectively where V 1 = V ( N + + [ S 1 ] ) , V 2 = V ( N + + ( S r 1 ) ) V ( N + + ( u r ) ) , V 3 = V ( N + + ( S r 1 ) ) V ( N + + ( u r ) ) , and V 4 = V ( N + + ( u r ) ) V ( N + + ( S r 1 ) ) .
Entropy 19 00079 i001
Algorithm 2: Compare the entire mix diffusion outdegree sequences d H τ [ N 1 + + [ v ] ] , d H τ [ N 2 + + [ v ] ] , ⋯, d H τ [ N ρ [ v ] + + [ v ] ] and d H τ [ N 1 + + [ w ] ] , d H τ [ N 2 + + [ w ] ] , ⋯, d H τ [ N ρ [ w ] + + [ w ] ] of two nodes v and w in H.
Entropy 19 00079 i002
Algorithm 3: Compare two mix diffusion outdegree sequences d τ + ( H k ) and d τ + ( J k ) of two nodes v and w in H.
Entropy 19 00079 i003
Algorithm 4: Compare d 1 and d 2 .
Entropy 19 00079 i004
Next, our algorithm sequentially performs the following steps for the nodes of L i with i = 2 , 3 , 4 :
  • Starting from the head of L 2 , our algorithm successively determines whether each node u L 2 satisfies the outdegree multiplicity condition d m N + + ( S r ) + ( u ) = 1 . If the number of vertices satisfying condition d m N + + ( S r ) + ( u ) = 1 is less than 2 in L 2 , it puts u into M a x Q ( G ) . If there are two nodes v i , v j L 2 satisfying condition v i v j with respect to N + + [ S r ] , then it continues to determine whether v i v j or v i v j with respect to G. If v i v j , it rearranges the v i in front of the v j in L 2 (see Algorithm 1). Otherwise, it rearranges the v i in back of the v j in L 2 (see Algorithm 1).
  • Except the nodes added into M a x Q ( G ) , it uses a queue Q to store the intermediate nodes to be added to M a x Q ( G ) . After performing Step 1, it sequentially determines whether or not each node u L 2 is in Q. If u is in Q and the number of nodes added into M a x Q ( G ) is less than 2 in the preceding procedures, it puts u into M a x Q ( G ) and simultaneously deletes u from Q. Otherwise, it inputs u into Q.
  • For L 3 , if the number of vertices of L 2 added into M a x Q ( G ) is 0 and the number of vertices satisfying condition d m N + + ( S r ) + ( u ) = 1 with u L 3 is less than 2, it puts u into M a x Q ( G ) . The remaining processing steps are the same as for L 2 .
  • For L 4 , if the number of vertices of L 2 and L 3 added into M a x Q ( G ) is 0 and the number of vertices satisfying the condition d m N + + ( S r ) + ( u ) = 1 with u L 4 is less than 2, it puts u into M a x Q ( G ) . The remaining processing steps are the same as for L 2 .
Our algorithm uses an array M a x Q to store the nodes of M a x Q ( G ) and an array Q to keep the nodes to be added to M a x Q ( G ) temporarily.
Experiments demonstrate that our approach is a novel way by which one can accurately calculate MaxEm digraphs (defined in Section 2) for many types of digraphs. Figure 3, Figure 4, Figure 5, Figure 6, Figure 7, Figure 8, Figure 9, Figure 10, Figure 11, Figure 12, Figure 13, Figure 14, Figure 15, Figure 16, Figure 17, Figure 18, Figure 19, Figure 20 and Figure 21 produced by our software show the correctness of our software for calculating MaxEm digraphs of these digraph classes aforementioned.

5. Software Implementation

Applying the principles described in the preceding sections, we have developed a set of software tools called GraphLabel 1.0 for computing canonical labelings of Digraphs. Our development environment includes an Intel(R) Core(TM)2 Quad CPU Q6600 @2.40GHz with 4.00 GB of RAM. The operating system is Microsoft Windows 8.1 Professional Edition. The graphics card is an NVIDIA GeForce 9800 GT. The display resolution is 1024 × 768 × 32 bits (RGB). The internal hard drive is 500 GB. The programming environment is the Microsoft Visual C++ 2012.
The software adopts object-oriented technology to design several relevant classes including the classes CNode, CNodeNeighbor, CEdge, CEdgeNeighbor, CGraph, and so on. A detailed description of the software functions is outside the scope of this article. We will explain it in another paper. All the figures presented in this paper are produced by using our software system.
We selected a digraph set to test the accuracy of our algorithms. Using our own software platform, we randomly produced a large number of digraphs as the test cases, including Figure 3e, Figure 5c,e and Figure 6. To increase the breadth and depth of our testing, we also select many test cases from the library of benchmarks [29] and online library [30] includings Figure 3a,c, Figure 4, Figure 5a and Figure 7, Figure 8, Figure 9, Figure 10, Figure 11, Figure 12, Figure 13, Figure 14, Figure 15, Figure 16, Figure 17, Figure 18, Figure 19, Figure 20 and Figure 21.
We apply our algorithms to as many types of digraphs as possible. These digraphs shown in the article are just a small part of tested digraphs due to the limited length of the article. Each digraph displayed in the paper includes both the original digraph and the resulting digraph to compare entirely.

6. Conclusions and Future Work

In summary, we obtain the following conclusions: By Theorems 2–12, the paper has established a relatively complete theoretical system for calculating the MaxEm digraphs of digraphs. Algorithms 1–4 are novel and can accurately calculate MaxEm digraphs for many types of digraphs (see Figure 3, Figure 4, Figure 5, Figure 6, Figure 7, Figure 8, Figure 9, Figure 10, Figure 11, Figure 12, Figure 13, Figure 14, Figure 15, Figure 16, Figure 17, Figure 18, Figure 19, Figure 20 and Figure 21). Algorithms 1–4 are also available for simple disconnected digraphs. For each node in a digraph G, the introduction of the attribute m_NearestNode improves the accuracy of calculating canonical labeling. Through software testing, the correctness of our algorithms is preliminarily verified. Our method can be utilized to mine the frequent subdigraph. Besides, it offers Conjecture 1.
Of course, there are still many places we need to improve, including to prove the conjectures proposed by us, enhance our software system, and use more test cases to test our procedures. In particular, we need to strengthen our algorithms so that it can calculate the canonical labeling for more types of digraphs. In future studies, we will extend our approach to mine the frequent subdigraphs and calculate the canonical labelings of weighted graphs and digraphs.

Acknowledgments

The work described in this paper was supported by Key Project of the National Natural Science Foundation of China (No. 91318301), National Natural Science Foundation of China (No. 61202080), China Postdoctoral Science Foundation (No. 2015M581032).

Author Contributions

Jianqiang Hao and Yunzhan Gong wrote the paper; Jianqiang Hao, Yawen Wang, Li Tan and Jianzhi Sun developed the software; All authors conceived and designed the experiments; Jianqiang Hao, Li Tan, and Jianzhi Sun performed the experiments; Jianqiang Hao, Yawen Wang, and Li Tan analyzed the data. All authors have read and approved the final manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. McKay, B. Computing automorphisms and canonical labellings of graphs. In Combinatorial Mathematics; Lecture Notes in Mathematics; Springer: Berlin/Heidelberg, Germany, 1978; Volume 686, pp. 223–232. [Google Scholar]
  2. Piperno, A. Search space contraction in canonical labeling of graphs. arXiv 2008. [Google Scholar]
  3. Junttila, T.; Kaski, P. Engineering an Efficient Canonical Labeling Tool for Large and Sparse Graphs. In Proceedings of the Ninth Workshop on Algorithm Engineering and Experiments and the Fourth Workshop on Analytic Algorithmics and Combinatorics, New Orleans, LA, USA, 6 January 2007; SIAM: Philadelphia, PA, USA, 2007; pp. 135–149. [Google Scholar]
  4. Babai, L.; Luks, E.M. Canonical Labeling of Graphs. In Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing; ACM: New York, NY, USA, 1983; pp. 171–183. [Google Scholar]
  5. Ivanciuc, O. Canonical Numbering and Constitutional Symmetry. In Handbook of Chemoinformatics; Wiley-VCH Verlag GmbH: Weinheim, Germany, 2008; pp. 139–160. [Google Scholar]
  6. Shah, Y.J.; Davida, G.I.; McCarthy, M.K. Optimum Featurs and Graph Isomorphism. IEEE Trans. Syst. Man Cybern. 1974, 3, 313–319. [Google Scholar]
  7. Arvind, V.; Das, B.; Köbler, J. A Logspace Algorithm for Partial 2-Tree Canonization. In Computer Science—Theory and Applications; Springer: Berlin/Heidelberg, Germany, 2008; Volume 5010, pp. 40–51. [Google Scholar]
  8. Huan, J.; Wang, W.; Prins, J. Efficient Mining of Frequent Subgraphs in the Presence of Isomorphism; IEEE Computer Society: Washington, DC, USA, 2003; pp. 549–552. [Google Scholar]
  9. Kuramochi, M.; Karypis, G. Finding Frequent Patterns in a Large Sparse Graph. Data Min. Knowl. Discov. 2005, 11, 243–271. [Google Scholar]
  10. Kuramochi, M.; Karypis, G. An efficient algorithm for discovering frequent subgraphs. IEEE Trans. Knowl. Data Eng. 2004, 16, 1038–1051. [Google Scholar]
  11. He, P.R.; Zhang, W.J.; Li, Q. Some further development on the eigensystem approach for graph isomorphism detection. J. Frankl. Inst. Eng. Appl. Math. 2005, 342, 657–673. [Google Scholar]
  12. Kashani, Z.; Ahrabian, H.; Elahi, E.; Nowzari-Dalini, A.; Ansari, E.; Asadi, S.; Mohammadi, S.; Schreiber, F.; Masoudi-Nejad, A. Kavosh: A new algorithm for finding network motifs. BMC Bioinform. 2009, 10, 318. [Google Scholar]
  13. Babai, L.; Kucera, L. Canonical labelling of graphs in linear average time. In Proceedings of the 20th Annual Symposium on Foundations of Computer Science, San Juan, Puerto Rico, 29–31 October 1979; pp. 39–46.
  14. Arnborg, S.; Proskurowski, A. Canonical Representations of Partial 2- and 3-Trees. In Proceedings of the 2nd Scandinavian Workshop on Algorithm Theory; Springer: Berlin/Heidelberg, Germany, 1990; Volume 477, pp. 197–214. [Google Scholar]
  15. Hao, J.; Gong, Y.; Tan, L.; Duan, D. Apply Partition Tree to Compute Canonical Labelings of Graphs. Int. J. Grid Distrib. Comput. 2016, 9, 241–263. [Google Scholar]
  16. McKay, B.D. Practical Graph Isomorphism. Congr. Numer. 1981, 30, 45–87. [Google Scholar]
  17. McKay, B.D. Isomorph-Free Exhaustive Generation. J. Algorithms 1998, 26, 306–324. [Google Scholar]
  18. McKay, B.D.; Piperno, A. Practical graph isomorphism, II. J. Symb. Comput. 2014, 60, 94–112. [Google Scholar]
  19. Ullmann, J.R. An Algorithm for Subgraph Isomorphism. J. ACM 1976, 23, 31–42. [Google Scholar]
  20. Yan, X.; Han, J. gSpan: Graph-based substructure pattern mining. In Proceedings of the 2002 IEEE International Conference on Data Mining (ICDM 2003), Maebashi City, Japan, 9–12 December 2002; pp. 721–724.
  21. Miyazaki, T. The complexity of McKay’s canonical labeling algorithm. In Groups and Computation II; American Mathematical Society: Providence, RI, USA, 1997; Volume 28, pp. 239–256. [Google Scholar]
  22. Tener, G.; Deo, N. Efficient isomorphism of miyazaki graphs. Algorithms 2008, 5, 7. [Google Scholar]
  23. Junttila, T.; Kaski, P. Conflict Propagation and Component Recursion for Canonical Labeling. In Theory and Practice of Algorithms in (Computer) Systems; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6595, pp. 151–162. [Google Scholar]
  24. López-Presa, J.L.; Anta, A.F.; Chiroque, L.N. Conauto-2.0: Fast Isomorphism Testing and Automorphism Group Computation. arXiv 2011. [Google Scholar]
  25. Katebi, H.; Sakallah, K.; Markov, I. Graph Symmetry Detection and Canonical Labeling: Differences and Synergies. In Proceedings Turing-100; EPIC: Manchester, UK, 2012; Volume 10, pp. 181–195. [Google Scholar]
  26. Bang-Jensen, J.; Gutin, G.Z. Digraphs: Theory, Algorithms and Applications, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
  27. Bollobás, B. Modern Graph Theory; Springer: Berlin/Heidelberg, Germany, 2013; Volume 184. [Google Scholar]
  28. Chartrand, G.; Tian, S. Distance in digraphs. Comput. Math. Appl. 1997, 34, 15–23. [Google Scholar]
  29. ALENEX 2007 Submission: Source Code, Benchmark Instances, and Summary Results. Available online: http://www.tcs.hut.fi/Software/benchmarks/ALENEX-2007/ (accessed on 17 February 2017).
  30. Weisstein, E.W. Simple Directed Graph. From MathWorld—A Wolfram Web Resource. Available online: http://mathworld.wolfram.com/SimpleDirectedGraph.html (accessed on 18 February 2017).
Figure 1. Each close mix-neighborhood subdigraph of different nodes sets of an 8 × 8 grid digraph G 8 , 8 consists of pink and green nodes and edges. (a) The close mix-neighborhood subdigraph N + + [ 1 ] ; (b) N + + [ 1 , 2 ] ; (c) N + + [ 1 , 2 , 3 ] ; (d) N + + [ 1 , 2 , 3 , 4 ] ; (e) N + + [ 1 , 2 , 3 , 4 , 5 ] ; (f) N + + [ 1 , 2 , 3 , 4 , 5 , 6 ] .
Figure 1. Each close mix-neighborhood subdigraph of different nodes sets of an 8 × 8 grid digraph G 8 , 8 consists of pink and green nodes and edges. (a) The close mix-neighborhood subdigraph N + + [ 1 ] ; (b) N + + [ 1 , 2 ] ; (c) N + + [ 1 , 2 , 3 ] ; (d) N + + [ 1 , 2 , 3 , 4 ] ; (e) N + + [ 1 , 2 , 3 , 4 , 5 ] ; (f) N + + [ 1 , 2 , 3 , 4 , 5 , 6 ] .
Entropy 19 00079 g001
Figure 2. A wheel graph G, two open mix-neighborhood subdigraphs N + + ( 1 ) and N + + ( 2 ) , and the three relevant nodes sets generated by the boolean operations of N + + ( 1 ) and N + + ( 2 ) . (a) A wheel digraph G; (b) The open mix-neighborhood subdigraph N + + ( 1 ) ; (c) The open mix-neighborhood subdigraph N + + ( 2 ) ; (d) V ( N + + ( 1 ) ) V ( N + + ( 2 ) ) = { 3 , 4 } ; (e) V ( N + + ( 1 ) ) V ( N + + ( 2 ) ) = { 5 , 6 , 7 } ; (f) V ( N + + ( 2 ) ) V ( N + + ( 1 ) ) = .
Figure 2. A wheel graph G, two open mix-neighborhood subdigraphs N + + ( 1 ) and N + + ( 2 ) , and the three relevant nodes sets generated by the boolean operations of N + + ( 1 ) and N + + ( 2 ) . (a) A wheel digraph G; (b) The open mix-neighborhood subdigraph N + + ( 1 ) ; (c) The open mix-neighborhood subdigraph N + + ( 2 ) ; (d) V ( N + + ( 1 ) ) V ( N + + ( 2 ) ) = { 3 , 4 } ; (e) V ( N + + ( 1 ) ) V ( N + + ( 2 ) ) = { 5 , 6 , 7 } ; (f) V ( N + + ( 2 ) ) V ( N + + ( 1 ) ) = .
Entropy 19 00079 g002
Figure 3. The MaxEm digraphs of three digraphs G 3 , 3 , 3 , G 4 , 4 , 4 , and G 1 . (a) The 3 × 3 × 3 grid digraph G 3 , 3 , 3 with 27 nodes and 54 directed edges; (b) The MaxEm digraph of G 3 , 3 , 3 ; (c) The 4 × 4 × 4 grid digraph G 4 , 4 , 4 with 64 nodes and 144 directed edges; (d) The MaxEm digraph of G 4 , 4 , 4 ; (e) A digraph G 1 with 77 nodes and 196 directed edges; (f) The MaxEm digraph of G 1 .
Figure 3. The MaxEm digraphs of three digraphs G 3 , 3 , 3 , G 4 , 4 , 4 , and G 1 . (a) The 3 × 3 × 3 grid digraph G 3 , 3 , 3 with 27 nodes and 54 directed edges; (b) The MaxEm digraph of G 3 , 3 , 3 ; (c) The 4 × 4 × 4 grid digraph G 4 , 4 , 4 with 64 nodes and 144 directed edges; (d) The MaxEm digraph of G 4 , 4 , 4 ; (e) A digraph G 1 with 77 nodes and 196 directed edges; (f) The MaxEm digraph of G 1 .
Entropy 19 00079 g003
Figure 4. The MaxEm digraphs of three digraphs G 2 , G 12 , 12 , and G 3 . (a) A 10 × 10 king digraph G 2 with 100 vertices and 342 directed edges ; (b) The MaxEm digraph of G 2 ; (c) A 12 × 12 grid digraph G 12 , 12 with 144 nodes and 264 edges; (d) The MaxEm digraph of G 12 , 12 ; (e) A wheel digraph G 3 with 51 nodes and 100 directed edges; (f) The MaxEm digraph of G 3 .
Figure 4. The MaxEm digraphs of three digraphs G 2 , G 12 , 12 , and G 3 . (a) A 10 × 10 king digraph G 2 with 100 vertices and 342 directed edges ; (b) The MaxEm digraph of G 2 ; (c) A 12 × 12 grid digraph G 12 , 12 with 144 nodes and 264 edges; (d) The MaxEm digraph of G 12 , 12 ; (e) A wheel digraph G 3 with 51 nodes and 100 directed edges; (f) The MaxEm digraph of G 3 .
Entropy 19 00079 g004
Figure 5. The MaxEm digraphs of G 4 , T 1 , and T 2 . (a) A digraph G 4 with 50 nodes and 90 directed edges; (b) The MaxEm digraph of G 4 ; (c) A directed tree T 1 with 39 nodes and 38 directed edges; (d) The MaxEm digraph of T 1 ; (e) A directed tree T 2 with 42 nodes and 41 directed edges; (f) The MaxEm digraph of T 2 .
Figure 5. The MaxEm digraphs of G 4 , T 1 , and T 2 . (a) A digraph G 4 with 50 nodes and 90 directed edges; (b) The MaxEm digraph of G 4 ; (c) A directed tree T 1 with 39 nodes and 38 directed edges; (d) The MaxEm digraph of T 1 ; (e) A directed tree T 2 with 42 nodes and 41 directed edges; (f) The MaxEm digraph of T 2 .
Entropy 19 00079 g005
Figure 6. The MaxEm digraphs of three digraphs G 5 , G 6 , and G 7 . (a) A digraph G 5 with 22 nodes and 37 directed edges; (b) The MaxEm digraph of G 5 ; (c) A digraph G 6 with 53 nodes and 80 directed edges; (d) The MaxEm digraph of G 6 ; (e) A graph G 7 with 49 nodes and 78 directed edges; (f) The MaxEm digraph of G 7 .
Figure 6. The MaxEm digraphs of three digraphs G 5 , G 6 , and G 7 . (a) A digraph G 5 with 22 nodes and 37 directed edges; (b) The MaxEm digraph of G 5 ; (c) A digraph G 6 with 53 nodes and 80 directed edges; (d) The MaxEm digraph of G 6 ; (e) A graph G 7 with 49 nodes and 78 directed edges; (f) The MaxEm digraph of G 7 .
Entropy 19 00079 g006
Figure 7. The MaxEm digraphs of three digraphs G 8 , G 9 , and G 10 . (a) The Doyle digraph G 8 with 27 nodes and 54 directed edges; (b) The MaxEm digraph of G 8 ; (c) The Clebsch digraph G 9 with 16 nodes and 40 directed edges; (d) The MaxEm digraph of G 9 ; (e) The 4-hypercube digraph G 10 with 16 nodes and 32 directed edges; (f) The MaxEm digraph of G 10 .
Figure 7. The MaxEm digraphs of three digraphs G 8 , G 9 , and G 10 . (a) The Doyle digraph G 8 with 27 nodes and 54 directed edges; (b) The MaxEm digraph of G 8 ; (c) The Clebsch digraph G 9 with 16 nodes and 40 directed edges; (d) The MaxEm digraph of G 9 ; (e) The 4-hypercube digraph G 10 with 16 nodes and 32 directed edges; (f) The MaxEm digraph of G 10 .
Entropy 19 00079 g007
Figure 8. The MaxEm digraphs of three digraphs G 11 , G 12 , and G 13 . (a) The coxeter digraph G 11 with 28 nodes and 42 directed edges; (b) The MaxEm digraph of G 11 ; (c) The Dyck digraph G 12 with 32 vertices and 48 directed edges; (d) The MaxEm digraph of G 12 ; (e) A Shrikhande digraph G 13 with 16 vertices and 48 directed edges; (f) The MaxEm digraph of G 13 .
Figure 8. The MaxEm digraphs of three digraphs G 11 , G 12 , and G 13 . (a) The coxeter digraph G 11 with 28 nodes and 42 directed edges; (b) The MaxEm digraph of G 11 ; (c) The Dyck digraph G 12 with 32 vertices and 48 directed edges; (d) The MaxEm digraph of G 12 ; (e) A Shrikhande digraph G 13 with 16 vertices and 48 directed edges; (f) The MaxEm digraph of G 13 .
Entropy 19 00079 g008
Figure 9. The MaxEm digraphs of three digraphs G 14 , G 15 , and G 16 . (a) The 6th order cube-connected cycle digraph G 14 with 24 vertices and 36 directed edges; (b) The MaxEm digraph of G 14 ; (c) A triangle-replaced digraph G 15 with 30 nodes and 45 directed edges; (d) The MaxEm digraph of G 15 ; (e) The Thomassen digraph G 16 with 34 vertices and 52 directed edges; (f) The MaxEm digraph of G 16 .
Figure 9. The MaxEm digraphs of three digraphs G 14 , G 15 , and G 16 . (a) The 6th order cube-connected cycle digraph G 14 with 24 vertices and 36 directed edges; (b) The MaxEm digraph of G 14 ; (c) A triangle-replaced digraph G 15 with 30 nodes and 45 directed edges; (d) The MaxEm digraph of G 15 ; (e) The Thomassen digraph G 16 with 34 vertices and 52 directed edges; (f) The MaxEm digraph of G 16 .
Entropy 19 00079 g009
Figure 10. The MaxEm digraphs of three digraphs G 17 , G 18 , and G 19 . (a) The musical digraph G 17 with 24 nodes and 60 directed edges; (b) The MaxEm digraph of G 17 ; (c) The 12-crossed prism digraph G 18 with 24 nodes and 36 directed edges; (d) The MaxEm digraph of G 18 ; (e) The Icosidodecahedral digraph G 19 with 30 nodes and 60 directed edges; (f) The MaxEm digraph of G 19 .
Figure 10. The MaxEm digraphs of three digraphs G 17 , G 18 , and G 19 . (a) The musical digraph G 17 with 24 nodes and 60 directed edges; (b) The MaxEm digraph of G 17 ; (c) The 12-crossed prism digraph G 18 with 24 nodes and 36 directed edges; (d) The MaxEm digraph of G 18 ; (e) The Icosidodecahedral digraph G 19 with 30 nodes and 60 directed edges; (f) The MaxEm digraph of G 19 .
Entropy 19 00079 g010
Figure 11. The MaxEm digraphs of three digraphs G 20 , G 21 , and G 22 . (a) The 7-antiprism digraph G 20 with 14 vertices and 28 edges; (b) The MaxEm digraph of G 20 ; (c) A fullerene digraph G 21 with 24 vertices and 36 directed edges; (d) The MaxEm digraph of G 21 ; (e) The great rhombicuboctahedron digraph G 22 with 48 vertices and 72 directed edges; (f) The MaxEm digraph of G 22 .
Figure 11. The MaxEm digraphs of three digraphs G 20 , G 21 , and G 22 . (a) The 7-antiprism digraph G 20 with 14 vertices and 28 edges; (b) The MaxEm digraph of G 20 ; (c) A fullerene digraph G 21 with 24 vertices and 36 directed edges; (d) The MaxEm digraph of G 21 ; (e) The great rhombicuboctahedron digraph G 22 with 48 vertices and 72 directed edges; (f) The MaxEm digraph of G 22 .
Entropy 19 00079 g011
Figure 12. The MaxEm digraphs of three digraphs G 23 , G 24 , and G 25 . (a) A Hamiltonian digraph G 23 with 20 nodes and 30 directed edges; (b) The MaxEm digraph of G 23 ; (c) The Folkman digraph G 24 with 20 nodes and 40 directed edges; (d) The MaxEm digraph of G 24 ; (e) The snark digraph G 25 with 20 vertices and 30 directed edges; (f) The MaxEm digraph of G 25 .
Figure 12. The MaxEm digraphs of three digraphs G 23 , G 24 , and G 25 . (a) A Hamiltonian digraph G 23 with 20 nodes and 30 directed edges; (b) The MaxEm digraph of G 23 ; (c) The Folkman digraph G 24 with 20 nodes and 40 directed edges; (d) The MaxEm digraph of G 24 ; (e) The snark digraph G 25 with 20 vertices and 30 directed edges; (f) The MaxEm digraph of G 25 .
Entropy 19 00079 g012
Figure 13. The MaxEm digraphs of three digraphs K ( 5 , 5 ) , G 26 , and G 27 . (a) The complete bipartite digraph K ( 5 , 5 ) with 10 nodes and 25 directed edges; (b) The MaxEm digraph of K ( 5 , 5 ) ; (c) The triangular digraph G 26 with 10 nodes and 30 directed edges; (d) The MaxEm digraph of G 26 ; (e) A generalized quadrangle digraph G 27 with 15 nodes and 45 directed edges; (f) The MaxEm digraph of G 27 .
Figure 13. The MaxEm digraphs of three digraphs K ( 5 , 5 ) , G 26 , and G 27 . (a) The complete bipartite digraph K ( 5 , 5 ) with 10 nodes and 25 directed edges; (b) The MaxEm digraph of K ( 5 , 5 ) ; (c) The triangular digraph G 26 with 10 nodes and 30 directed edges; (d) The MaxEm digraph of G 26 ; (e) A generalized quadrangle digraph G 27 with 15 nodes and 45 directed edges; (f) The MaxEm digraph of G 27 .
Entropy 19 00079 g013
Figure 14. The MaxEm digraphs of three digraphs G 28 , G 29 , and G 30 . (a) The 6-Andrásfai digraph G 28 with 17 nodes and 51 directed edges; (b) The MaxEm digraph of G 28 ; (c) The 4-dimensional Keller digraph G 29 with 16 nodes and 46 directed edges; (d) The MaxEm digraph of G 29 ; (e) The 6 × 6 knight digraph G 30 with 36 vertices and 80 directed edges; (f) The MaxEm digraph of G 30 .
Figure 14. The MaxEm digraphs of three digraphs G 28 , G 29 , and G 30 . (a) The 6-Andrásfai digraph G 28 with 17 nodes and 51 directed edges; (b) The MaxEm digraph of G 28 ; (c) The 4-dimensional Keller digraph G 29 with 16 nodes and 46 directed edges; (d) The MaxEm digraph of G 29 ; (e) The 6 × 6 knight digraph G 30 with 36 vertices and 80 directed edges; (f) The MaxEm digraph of G 30 .
Entropy 19 00079 g014
Figure 15. The MaxEm digraphs of three digraphs G 31 , G 32 , and G 33 . (a) The Loupekine snarks digraph G 31 with 22 nodes and 33 directed edges; (b) The MaxEm digraph of G 31 ; (c) The Errera digraph G 32 with 17 nodes and 45 directed edges; (d) The MaxEm digraph of G 32 ; (e) The Sierpinski sieve digraph G 33 with 42 nodes and 72 directed edges; (f) The MaxEm digraph of G 33 .
Figure 15. The MaxEm digraphs of three digraphs G 31 , G 32 , and G 33 . (a) The Loupekine snarks digraph G 31 with 22 nodes and 33 directed edges; (b) The MaxEm digraph of G 31 ; (c) The Errera digraph G 32 with 17 nodes and 45 directed edges; (d) The MaxEm digraph of G 32 ; (e) The Sierpinski sieve digraph G 33 with 42 nodes and 72 directed edges; (f) The MaxEm digraph of G 33 .
Entropy 19 00079 g015
Figure 16. The MaxEm digraphs of three digraphs G 34 , G 35 , and G 36 . (a) The Grinberg digraph G 34 with 44 nodes and 67 directed edges; (b) The MaxEm digraph of G 34 ; (c) A digraph G 35 with 38 nodes and 57 directed edges; (d) The MaxEm digraph of G 35 ; (e) The Grinberg digraph G 36 with 42 vertices and 63 directed edges; (f) The MaxEm digraph of G 36 .
Figure 16. The MaxEm digraphs of three digraphs G 34 , G 35 , and G 36 . (a) The Grinberg digraph G 34 with 44 nodes and 67 directed edges; (b) The MaxEm digraph of G 34 ; (c) A digraph G 35 with 38 nodes and 57 directed edges; (d) The MaxEm digraph of G 35 ; (e) The Grinberg digraph G 36 with 42 vertices and 63 directed edges; (f) The MaxEm digraph of G 36 .
Entropy 19 00079 g016
Figure 17. The MaxEm digraphs of three digraphs G 37 , G 38 , and G 39 . (a) A pentagonal icositetrahedral digraph G 37 with 38 nodes and 60 directed edges; (b) The MaxEm digraph of G 37 ; (c) The Faulkner-Younger digraph G 38 with 42 vertices and 62 directed edges; (d) The MaxEm digraph of G 38 ; (e) The Faulkner-Younger digraph G 39 with 44 nodes and 65 directed edges; (f) The MaxEm digraph of G 39 .
Figure 17. The MaxEm digraphs of three digraphs G 37 , G 38 , and G 39 . (a) A pentagonal icositetrahedral digraph G 37 with 38 nodes and 60 directed edges; (b) The MaxEm digraph of G 37 ; (c) The Faulkner-Younger digraph G 38 with 42 vertices and 62 directed edges; (d) The MaxEm digraph of G 38 ; (e) The Faulkner-Younger digraph G 39 with 44 nodes and 65 directed edges; (f) The MaxEm digraph of G 39 .
Entropy 19 00079 g017
Figure 18. The MaxEm digraphs of three digraphs G 40 , G 41 , and G 42 . (a) The Celmins Swart snarks digraph G 40 with 26 vertices and 39 directed edges; (b) The MaxEm digraph of G 40 ; (c) The truncated octahedron digraph G 41 with 24 nodes and 36 directed edges; (d) The MaxEm digraph of G 41 ; (e) The Nauru digraph G 42 with 24 nodes and 36 directed edges; (f) The MaxEm digraph of G 42 .
Figure 18. The MaxEm digraphs of three digraphs G 40 , G 41 , and G 42 . (a) The Celmins Swart snarks digraph G 40 with 26 vertices and 39 directed edges; (b) The MaxEm digraph of G 40 ; (c) The truncated octahedron digraph G 41 with 24 nodes and 36 directed edges; (d) The MaxEm digraph of G 41 ; (e) The Nauru digraph G 42 with 24 nodes and 36 directed edges; (f) The MaxEm digraph of G 42 .
Entropy 19 00079 g018
Figure 19. The MaxEm digraphs of three digraphs G 43 , G 44 , and G 45 . (a) The Wiener-Araya digraph G 43 with 42 nodes and 67 directed edges; (b) The MaxEm digraph of G 43 ; (c) The Zamfirescu digraph G 44 with 48 nodes and 76 directed edges; (d) The MaxEm digraph of G 44 ; (e) The Folkman digraph G 45 with 20 nodes and 40 directed edges; (f) The MaxEm digraph of G 45 .
Figure 19. The MaxEm digraphs of three digraphs G 43 , G 44 , and G 45 . (a) The Wiener-Araya digraph G 43 with 42 nodes and 67 directed edges; (b) The MaxEm digraph of G 43 ; (c) The Zamfirescu digraph G 44 with 48 nodes and 76 directed edges; (d) The MaxEm digraph of G 44 ; (e) The Folkman digraph G 45 with 20 nodes and 40 directed edges; (f) The MaxEm digraph of G 45 .
Entropy 19 00079 g019
Figure 20. The MaxEm digraphs of three digraphs G 46 , G 47 , and G 48 . (a) The 24-cell digraph G 46 with 24 nodes and 94 directed edges; (b) The MaxEm digraph of G 46 ; (c) A disconnected graph G 47 with 12 nodes and 12 directed edges; (d) The MaxEm digraph of G 47 ; (e) A disconnected digraph G 48 that has four connected components and a total of 100 nodes and 160 directed edges; (f) The MaxEm> digraph of G 48 .
Figure 20. The MaxEm digraphs of three digraphs G 46 , G 47 , and G 48 . (a) The 24-cell digraph G 46 with 24 nodes and 94 directed edges; (b) The MaxEm digraph of G 46 ; (c) A disconnected graph G 47 with 12 nodes and 12 directed edges; (d) The MaxEm digraph of G 47 ; (e) A disconnected digraph G 48 that has four connected components and a total of 100 nodes and 160 directed edges; (f) The MaxEm> digraph of G 48 .
Entropy 19 00079 g020
Figure 21. The MaxEm digraphs of three digraphs G 49 , G 50 , and G 51 . (a) The projective plane digraph G 49 with 26 nodes and 52 directed edges; (b) The MaxEm digraph of G 49 ; (c) The Miyazaki digraph G 50 with 40 nodes and 60 directed edges; (d) The MaxEm digraph of G 50 ; (e) The Cubic Hypohamiltonian digraph G 51 with 44 nodes and 75 directed edges; (f) The MaxEm digraph of G 51 .
Figure 21. The MaxEm digraphs of three digraphs G 49 , G 50 , and G 51 . (a) The projective plane digraph G 49 with 26 nodes and 52 directed edges; (b) The MaxEm digraph of G 49 ; (c) The Miyazaki digraph G 50 with 40 nodes and 60 directed edges; (d) The MaxEm digraph of G 50 ; (e) The Cubic Hypohamiltonian digraph G 51 with 44 nodes and 75 directed edges; (f) The MaxEm digraph of G 51 .
Entropy 19 00079 g021

Share and Cite

MDPI and ACS Style

Hao, J.; Gong, Y.; Wang, Y.; Tan, L.; Sun, J. Using k-Mix-Neighborhood Subdigraphs to Compute Canonical Labelings of Digraphs. Entropy 2017, 19, 79. https://doi.org/10.3390/e19020079

AMA Style

Hao J, Gong Y, Wang Y, Tan L, Sun J. Using k-Mix-Neighborhood Subdigraphs to Compute Canonical Labelings of Digraphs. Entropy. 2017; 19(2):79. https://doi.org/10.3390/e19020079

Chicago/Turabian Style

Hao, Jianqiang, Yunzhan Gong, Yawen Wang, Li Tan, and Jianzhi Sun. 2017. "Using k-Mix-Neighborhood Subdigraphs to Compute Canonical Labelings of Digraphs" Entropy 19, no. 2: 79. https://doi.org/10.3390/e19020079

APA Style

Hao, J., Gong, Y., Wang, Y., Tan, L., & Sun, J. (2017). Using k-Mix-Neighborhood Subdigraphs to Compute Canonical Labelings of Digraphs. Entropy, 19(2), 79. https://doi.org/10.3390/e19020079

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