Abstract
Practical algorithms for computing canonical forms of multi-digraphs do not exist in the literature. This paper proposes two practical approaches for finding canonical forms, from the perspective of nD symbolic computation. Initially, the approaches turn the problem of finding canonical forms of multi-digraphs into computing canonical forms of indexed monomials in computer algebra. Then, the first approach utilizes the double coset representative method in computational group theory for canonicalization of indexed monomials and shows that finding the canonical forms of a class of multi-digraphs in practice has polynomial complexity of approximately or by the computer algebra system (CAS) tool Tensor-canonicalizer. The second approach verifies the equivalence of canonicalization of indexed monomials and finding canonical forms of (simple) colored tripartite graphs. It is found that the proposed algorithm takes approximately time for a class of multi-digraphs in practical implementation, combined with one of the best known graph isomorphism tools Traces, where k and p are the vertex number and edge number of a multi-digraph, respectively.
1. Introduction
The canonical labeling problem is to relabel a graph in such a way that all isomorphic graphs are identical after relabeling [1]. In other words, a canonical labeling of a graph is a unique representative of its isomorphism class, also called a canonical form [2], a canonical code [3], or an optimum code [4]. It is an approach used most frequently in practice to determine whether two graphs are isomorphic, since it overcomes the disadvantages of testing isomorphism directly for the problems of rejecting isomorphs from a graph database or identifying a graph. For instance, a large number of direct isomorphism tests are not required when we look up a given molecule in a database whose elements are all stored in their canonical forms. Instead, we only need to compute the canonical form of the given molecule [5]. Until now, no polynomial-time algorithm exists for either the isomorphism problem or calculating canonical forms of graphs (except for special classes of graphs).
In the literature, there are at least a few hundred algorithms for finding canonical forms of undirected graphs or specific graphs. For example, Babai showed that a canonical form can be constructed in quasipolynomial time [6], following Babai’s breakthrough on the quasipolynomial-time algorithm for graph isomorphism [7]. Huan et al. [8], Kuramochi et al. [9,10], He et al. [11], and Kashani et al. [12] computed canonical form via adjacency matrix. Arvind et al. [13] and Arnborg et al. [14] provided algorithms with complexity of for partial 2- and 3-trees. The most successful approach in practice is the individualization-refinement paradigm, which was introduced by Parris et al. [15] and developed by Corneil et al. [16] and Arlazarov et al. [17]. It is utilized by virtually all modern competitive and efficient software tools (for canonical labeling or isomorphism), including nauty [18,19], Bliss [20,21], conauto [22,23], saucy [24], and Traces [25].
Among the above algorithms for computing canonical forms, no algorithm other than nauty accepts directed graphs. There are also other research works on finding canonical forms of (specific) simple directed graphs. For example, Hao [26] utilized k-mix-neighborhood subdigraphs to investigate canonical forms of simple directed graphs without loops. Wang [27] proposed a distributed algorithm for finding canonical forms of directed split-stars.
However, there are no (practical) algorithms for computing canonical forms of multi-digraphs in the literature. On the other hand, there is a natural connection between graphs and algebraic polynomials. Methods and techniques in computer algebra are used to investigate only undirected graphs or simple graphs in the literature. For example, polynomial ideals in a polynomial ring are used to investigate basic problems in graph theory, such as graph coloring [28,29,30,31,32,33,34,35], S-packing k-coloring [36], independence number of graphs [37,38], and matching problem [39]. In these research works, the vertices of a graph are represented by the variables in , and the adjacency between vertices is represented by certain polynomials. Unfortunately, such representation is poorly suited for multi-digraphs since it is not easy to describe multi-edges and directions simultaneously. Moreover, there is no approach for using computer algebra to describe multi-digraphs in the literature. Although Ref. [40] reveals some relations between indexed monomials and digraphs, its motivation is to use digraphs to simplify indexed expressions, rather than to solve basic problems in graph theory. Therefore, it does not provide a method for describing multi-digraphs (for example, a multi-digraph corresponds to various indexed monomials in [40]). Then, there are the questions: How do we develop practical algorithms for computing canonical forms of multi-digraphs? Is it possible via computer algebra?
To address these questions, we describe multi-digraphs by indexed monomials (for the first time), propose two practical approaches for canonical labeling from the perspective of nD symbolic computation, and provide some results on the time complexity of the approaches for certain multi-digraphs. More precisely, we initially verify the equivalence of the two problems of finding canonical forms of multi-digraphs and canonicalization of indexed monomials in computer algebra. Then, the first approach computes the canonical forms of indexed monomials based on the double coset representative method in computational group theory and shows that the canonical forms of a class of multi-digraphs can be obtained in practice with polynomial complexity of approximate or by the CAS tool Tensor-canonicalizer, where k is the vertex number, and p is the edge number. The second approach turns the problem of canonicalization of indexed monomials into the problem of finding canonical forms of (simple) colored tripartite graphs. It is shown that for a class of multi-digraphs with k vertices and p edges, practical implementation of the second approach is completed in approximately time, with the graph isomorphism tool Traces.
2. Preliminaries
In this section, we first review some basic notions and notations regarding indexed monomials in computer algebra. Most of them are also presented in [41]. Then, some notations about graphs are also reviewed.
Definition 1.
An indexed function is composed of four parts: function name, sequence of upper indices, sequence of lower indices, and variables. An indexed monomial is the product of indexed functions and elements in , and obeys the Einstein summation convention, where is a field. The product of some indexed functions within an indexed monomial is called a sub-monomial. In an indexed monomial, a free index occurs only once, and a dummy index occurs twice, as an upper index and a lower one, respectively. The F-degree of an indexed monomial is the number of indexed functions contained in the monomial.
Definition 2.
If an indexed monomial with coefficient 1 cannot be divided into two sub-monomials without common dummy indices, it is called an elementary indexed monomial. If the indices of an indexed monomial are all dummy indices, we say that the monomial is fully contracted.
Any indexed monomial obeys rules that involve the renaming of dummy indices (Ren), and commutativity of multiplication (Com), defined as follows.
- (1)
- Renaming of dummy indices (Ren): Suppose m is an indexed monomial; are some of its dummy indices; and is the set of dummy indices of m. For (), let be the indexed monomial obtained by replacing in m with , respectively. Then,
- (2)
- Commutativity of multiplication (Com): Suppose and are two indexed functions of an indexed monomial m. Let be the indexed monomial obtained by exchanging the positions of in m. Then,
Moreover, in this paper, the indexed monomials that are used to describe multi-digraphs also have the following properties called G-inner symmetries.
- (1)
- Suppose m is an indexed monomial that takes as the upper (lower) index sequence of one indexed function, and is an arbitrary permutation on . Let be the indexed monomial obtained by replacing the sequence in m with the sequence . Then,
- (2)
- Suppose is an indexed function of an indexed monomial m. Let be the indexed monomial obtained by replacing in m with . Then,
We refer to Ren, Com, and G-inner symmetries as monoterm properties (Mon) in this paper.
Two monomials m, being equivalent with respect to Mon means that belongs to the ideal generated by the left side of Equations (1)–(4) in the indexed polynomial ring. A canonical form of an indexed monomial m with respect to Mon is a unique representative of the indexed monomials that are equivalent to m with respect to Mon.
Remark 1.
Theorem 3.10 in [42] proves that a canonical form of m with respect to Mon is the normal form of m with respect to a Gröbner basis in the ST-fundamental restricted ring. Proposition 2.8 and Corollary 3.3 in [42] show that each element in the Gröbner basis is in the form of , where f is an elementary indexed monomial in the restricted ring, and is a unique representative of the elementary indexed monomials that can be rewritten as f by Mon. Therefore, by a direct computation, the canonical form of m with respect to Mon is also a unique representative of the indexed monomials that can be rewritten as m by Mon. In addition, in what follows, we do not distinguish between “two indexed monomials are equivalent with respect to Mon” and “one indexed monomial can be rewritten as another one by Mon”.
Example 1.
is an indexed monomial. are indexed functions. are all dummy indices. m is also an elementary indexed monomial and a fully contracted monomial. It obeys Ren, such as .
Notation 1.
- (1)
- In what follows, we sometimes write an indexed function in the form of as for simplicity, where F is an indexed function name, and and are index sequences.
- (2)
- is used to denote the set of fully contracted monomials whose coefficients are 1 and whose indexed functions are in the form of or with , where is the indexed function name.
- (3)
- For an indexed monomial m, denotes the set of indexed functions contained in m.
- (4)
- Let denote a multi-digraph (whose vertices and edges are labelled and , respectively). Let denote the set of multi-digraphs.
- (5)
- denotes the set of edges directed from u to v. For each vertex v, find the edges whose initial (resp. terminal) vertex is v, sort them by edge label in a lexicographical order, and obtain an index sequence denoted by (resp. ).
Definition 3.
Two multi-digraphs are isomorphic if there is a bijection ψ between V and such that for , in which case we write , where denotes the element number of a set.
Definition 4.
A canonical form of G is a function such that , and for . In other words, a canonical form of G is a unique representative of its isomorphism class.
3. The First Approach
As introduced in Section 1, we will provide two approaches for canonical labeling of multi-digraphs, and each of them generates some interesting results with regard to time complexity. This section presents the first one.
Proposition 1.
Let be a multi-digraph. Then, G can be described by an indexed monomial in . In other words, there exists a mapping, denoted by δ, from to .
Proof.
First, define a function by letting be the ordered pair (, , where × refers to a Cartesian product.
Then, let be an indexed function whose function name is and whose upper index sequence and lower index sequence are and , respectively. Finally, let be the indexed monomial . It is clear that is a mapping from to . □
Example 2.
Figure 1.
An example of a multi-digraph.
Finally, .
Corollary 1.
δ in Proposition 1 induces a surjection (denoted by) from to /∼, where ∼ is the equivalence relation defined as if and only if can be rewritten as by Mon.
Proof.
Define as , where denotes the equivalence class containing .
Suppose is an element in , satisfying the condition that the upper index sequence and lower index sequence are both sorted in lexicographical order, with . Then, let the vertices of a multi-digraph be , and let , be the upper index sequence and the lower index sequence of the ith indexed function of , respectively, where k is the F-degree of . It is clear that according to the proof of Proposition 1. Hence, . □
Proposition 2.
and are isomorphic if and only if and are equivalent with respect to Mon.
Proof.
Assume that . Then, there exists a bijection between and such that for . Consequently, , (resp. ) can be rewritten as (resp. ) by exchanging positions of edge labels, and renaming the edge label, where is defined in the proof of Proposition 1. In other words, can be rewritten as by Ren, G-inner symmetries, and Com.
Conversely, assume that and are equivalent with respect to Mon. Then, there exists a bijection between and , such that each indexed function can be rewritten as by renaming the index and exchanging index positions. Define a mapping from to , such that . It is clear that and are isomorphic under . □
The corollary below implies that finding canonical forms of multi-digraphs is equivalent to finding indexed monomials in , following immediately from Proposition 2 and the proof for Corollary 1.
Corollary 2.
- (1)
- There is a bijection between /≈ and /∼, where ≈ is the equivalence relation defined as if and only if and are isomorphic, and ∼ is defined in Corollary 1.
- (2)
- The canonical form of a multi-digraph G can be obtained by letting the vertices of be , and , be the upper index set and the lower index set of the ith indexed function of , respectively, where is a canonical form of with respect to Mon, and k is the F-degree of .
According to Corollary 2, we have the following Algorithm 1 for computing canonical forms of multi-digraphs.
| Algorithm 1 Canonical form of a multi-digraph. |
|
Remark 2.
It is clear that Step 1, Step 2, and Step 4 have polynomial complexity of at most . The methods, algorithms and complexity for Step 3 are discussed below.
Canonicalization of indexed polynomials is a classical and important topic in computer algebra, as modern differential geometry and physics often involve the massive calculation of such polynomials. It is also a challenging problem since the ideal generated by the basic syzygies cannot be finitely generated, mainly due to the property of Ren. In particular, monoterm canonicalization of an indexed monomial (i.e., finding canonical form of an indexed monomial with respect to monoterm symmetries) is indispensable in polynomial canonicalization, as shown in [41,42,43]. Various efforts have been made to present methods and algorithms for monoterm canonicalization.
In the literature, the representative approaches for monoterm canonicalization of arbitrary indexed expressions include renaming reference [44,45,46], double coset representative [47,48], classification theory and undirected graph labelling [49], and digraph labelling [40]. For specific expressions such as Riemann tensor monomials and indexed differential monomials, representative methods include graph algebra extension [50] and the distance invariant method [51,52,53].
The double coset representative method turns the monoterm canonicalization problem into the problem of finding the canonical representative of a double coset in representation theory. For example, suppose m is a fully contracted indexed monomial with dummy indices. First express m as a single tensor, denoted by T. Then, the property of Ren and metric symmetry (if it exists) can be described by a subgroup D of the direct product , i.e., the action of D on (the indices of) T yields all the indexed monomials that are equivalent to T with respect to Ren and metric symmetry, where is a symmetric group, and , which is used to indicate sign changes when applying symmetries to a monomial. Similarly, the other symmetries of T are described by a subgroup S of . Consequently, the set of monomials equivalent to T is given by the action of on T, where is the double coset of S and D in . Sort the indices of T in alphabetical order to get , and let g be an element in satisfying the condition that the action of g on is T. Finally, the canonical form of m is obtained by the action of on T, where is the canonical representative of the double coset and can be found within loops based on a base for S and strong generating sets for S and D. As illustrated in [48,50], the double coset representative method has exponential complexity in the worst case. The renaming reference method mainly splits the indices in classes, establishes the index order, and rename indices. It has factorial complexity. Other methods for arbitrary indexed expressions also present factorial complexity. In other words, the Butler–Portugal algorithm based on the double coset representative method [47] is the most efficient in theory. In practice, it is also the most efficient, since numerous experimental implementations show polynomial complexity in the number of indices in most common cases. Many popular CAS software packages based on the Butler–Portugal algorithm have also been developed, including the open-source Canon package [48] for Maple; xPerm package for Mathematica [54]; Cadabra [55] and SymPy [56], which are both standalone open-source; and Tensor-canonicalizer, which is based on the improved Butler–Portugal algorithm by Niehoff for Mathematica [57].
Among all these packages, Tensor-canonicalizer [57] performs the best in most common cases, especially in tensor calculus in higher dimensions. For example, while other software packages present nearly factorial complexity in practice for indexed monomials with total symmetry and contracted dummy indices, Tensor-canonicalizer is of polynomial complexity.
Therefore, we adopt Tensor-canonicalizer to find canonical forms of indexed monomials with respect to Mon.
Example 3.
Suppose is the multi-digraph shown in Figure 2a. Compute the canonical form of G as follows.
Figure 2.
An example of computing canonical forms of multi-digraphs. (a) A multi-digraph G. (b) The canonical form of G.
- Step 1.
- G is described by the indexed monomial
- Step 2.
- The canonical form of m is .
- Step 3.
- The canonical form of G is shown in Figure 2b, by Step 4 of Algorithm 1.
According to the analysis of experimental implementations in Ref. [57], we have the following conclusions.
Proposition 3.
Suppose G is a multi-digraph with k indices and p edges. If for each vertex v, , then finding the canonical form of G has polynomial complexity of approximately or in practice.
Proof.
According to Algorithm 1 or Corollary 1, is in the form of
which has the same symmetries as Riemann tensor monomials. Section 5.2 in Ref. [57] shows that Tensor-canonicalizer can canonicalize contracted Riemann tensor monomials in polynomial time in practice, which together with Remark 2 completes the proof. □
4. The Second Approach
As illustrated in Section 3, we only need to consider monoterm canonicalization of indexed monomials in . In this section, another efficient method is proposed. It turns canonicalization of indexed monomials into finding canonical forms of tripartite graphs. First, the indexed monomials in are described by simple colored undirected graphs. Then, the most efficient approach and the best known software Traces are applied to obtain some properties of time complexity in practice.
Notation 2.
denotes a simple undirected graph. We use to denote a simple colored (undirected) graph, where π is a coloring of , i.e., a surjection from to , and . denotes the set of simple colored undirected graphs.
Definition 5.
Suppose . They are isomorphic if there is a bijection ψ between and such that , and if and only if for , in which case we write .
Definition 6.
A canonical form of is a function such that , and for .
Proposition 4.
Let m be an indexed monomial in . Then, m can be described by a simple colored undirected graph. In other words, there exists a mapping, denoted by ρ, from to .
Proof.
Suppose . Then, is constructed as follows. First, let the indexed function names (according to their appearance in m) be vertices , and for . Secondly, let the upper indices of m be vertices , the lower indices be vertices , for , and for . An edge of satisfies one of the following conditions: (1) correspond to an upper index and a lower index with the same name, (2) correspond to the indexed function name and one index of an indexed function, respectively. □
Example 4.
Suppose , as given in Example 2.
First, let the vertices of the colored graph represent the function names , respectively, represent the upper indices , and correspond to the lower indices . Then, are 1, are 2, and are 3. The edges are
is shown in Figure 3.
Figure 3.
Graphical description of Example 4 (red = 1, green = 2, yellow = 3).
Remark 3.
In the literature, Ref. [49] also uses an undirected graph to describe an indexed monomial. The graph takes each index of the indexed monomial as a vertex and has an extra vertex 1, which is adjacent to free indices. However, it does not take the indexed function names as vertices. The graphical description proposed in (the proof of) Proposition 4 integrates all the elements of an indexed monomial into a graph. What is more important, the proposed graphical representation can lead to some good properties, as shown in the following Propositions 6 and 7.
The following claim will verify the equivalence of finding canonical forms of indexed monomials and of colored graphs.
Proposition 5.
Suppose . Then, m and are equivalent with respect to Mon, if and only if and are isomorphic.
Proof.
Assume that m and are equivalent. Then, there exists a bijection between and such that for each indexed function f, can be rewritten as f by Ren (in one step), and then by G-inner symmetries and Com. Define a mapping from the vertex set of to that of , such that either v and represent the indexed function names of f and , respectively, or the index represented by v can be rewritten as the one represented by via Ren, where . It is clear that and are isomorphic under .
Conversely, assume that and are isomorphic (under a bijection ). Suppose are vertices of colored in . Then, is an edge of if and only if is an edge of , where . In other words, there exists a bijection between the index sets of m and such that are in the same indexed function if and only if and are in the same indexed function, and is a pair of dummy indices of m if and only if is a pair of dummy indices of . Therefore, m can be rewritten as by Mon. □
By Proposition 5, the following corollary is straightforward.
Corollary 3.
- (1)
- There is a bijection between /≈ and /∼, where ≈ is the equivalence relation defined as , if and only if and are isomorphic, and ∼ is defined as a∼b if and only if a can be rewritten as b by Mon.
- (2)
- A canonical form of m can be obtained from , a canonical form of , as follows: Sort the vertices of with the color 2 in a lexicographical order, and obtain a vertex sequence denoted by VS. Define a mapping ξ from VS to by mapping the ith element in VS to i. ξ induces a mapping from the set of vertices with the color 3 to such that , where and v are adjacent, and are vertices with the colors 2 and 3 respectively. Then, is , satisfying the condition that represents the ith element of the sequence of vertices with the color 1, and are subsequences of , and (resp. ) is adjacent to the vertex represented by , where A is in (resp. ).
Combining Proposition 4 and Corollary 3, we have the following method for finding canonical forms of multi-digraphs.
Remark 4.
It is clear that Steps 2 and 4 have polynomial complexity of at most . Steps 1 and 5 have polynomial complexity by Remark 2. The methods and complexity of Step 3 for finding canonical forms of simple colored undirected graphs are discussed as follows.
The following proposition shows that we only need to consider canonical forms of simple colored tripartite graphs in Step 3 of Algorithm 2.
| Algorithm 2 Another method for finding canonical forms of multi-digraphs. |
|
Proposition 6.
Suppose . Then, is a tripartite graph.
Proof.
The vertex set of can be divided into three disjoint subsets, consisting of vertices with the color 1, 2, and 3, respectively. According to Proposition 4, the two ends of an edge must have different colors. □
As mentioned in Section 1, the most successful approach in practice for finding canonical forms of graphs or solving the isomorphism problem is the individualization-refinement paradigm, which is utilized by virtually all modern competitive and efficient software tools, including nauty, Bliss, conauto, saucy, and Traces. Among the five tools, conauto and saucy do not perform canonical labeling. Nauty is the first highly efficient program that can handle structurally regular graphs with hundreds of vertices. Bliss is specially designed for large and sparse graphs. Traces, developed by Piperno et al. [25], made a major revision of the way the search tree is scanned. Mckay et al. [1] compared the performance of Traces with nauty, Bliss, saucy, and conauto, showing that for finding canonical forms, nauty is generally the fastest for small graphs and some easier families of graphs, while Traces is better for most of the difficult (colored) graph families. In particular, Traces is the fastest for tripartite graphs. Therefore, Algorithm 2 combined with these modern competitive tools, especially Traces, can provide an efficient approach for finding canonical forms of multi-digraphs, according to Remark 4.
Remark 5.
The experiments in [1] show that computing canonical forms of (non-disjoint) union of (small) tripartite graphs take polynomial time. We repeat such an experiment, and find that the time complexity is approximately , as shown in Figure 4.
Figure 4.
Performance of computing canonical forms of (non-disjoint) union of tripartite graphs by Traces (horizontal: number of vertices; vertical: time in seconds).
By Remarks 4 and 5, the following conclusion is straightforward.
Proposition 7.
For a multi-digraph G with k vertices and p edges, if is a non-disjoint union of small tripartite graphs, then computing the canonical form of G takes approximately time in practice by Algorithm 2 and Traces, where are defined in Propositions 4 and 1, respectively.
5. Conclusions and Future Work
This paper proposed a novel description of multi-digraphs as a class of indexed monomials, presented two efficient and practical approaches for computing canonical forms of multi-digraphs from the perspective of computer algebra, and explored some interesting results on complexity. Initially, we verified the equivalence of the two problems of finding canonical forms of multi-digraphs and of indexed monomials in . Then, the first approach employed the double coset representative method from computational group theory for canonicalization of indexed monomials and found that finding the canonical forms of a class of multi-digraphs in practice has polynomial complexity via Tensor-canonicalizer. The second approach turned canonicalization of indexed monomials into finding canonical forms of (colored) tripartite graphs. It was shown that the proposed algorithm combined with the Traces tool also takes polynomial time for computing canonical forms of a class of multi-digraphs.
In future work, ideals and syzygies in indexed polynomial rings will be used to investigate other basic problems in multi-digraphs, especially graph operations.
Author Contributions
Conceptualization, J.L. and F.N.; methodology, J.L.; validation, S.Y. and W.L.; formal analysis, J.L. and C.Z.; investigation, J.L. and F.N.; resources, J.L.; writing—original draft preparation, J.L.; writing—review and editing, J.L. and S.Y.; supervision, F.N. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Natural Science Foundation of China (Grant No. 12371508).
Data Availability Statement
The original contributions presented in the study are included in the article. Further inquiries can be directed to the corresponding authors.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- McKay, B.D.; Piperno, A. Practical graph isomorphism, II. J. Symb. Comput. 2014, 60, 94–112. [Google Scholar] [CrossRef]
- Babai, L.; Luks, E.M. Canonical labeling of graphs. In Proceedings of the 15th Annual ACM Symposium on Theory of Computing, Boston, MA, USA, 25–27 April 1983; pp. 171–183. [Google Scholar]
- Ivanciuc, O. Canonical numbering and constitutional symmetry. In Handbook of Chemoinformatics; Wiley–VCH Verlag GmbH: Weinheim, Germany, 2008; pp. 139–160. [Google Scholar]
- 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] [CrossRef]
- Grohe, M.; Pascal, S. The graph isomorphism problem. Commun. ACM 2020, 63, 128–134. [Google Scholar] [CrossRef]
- Babai, L. Canonical form for graphs in quasipolynomial time. In Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, Phoenix, AZ, USA, 23–26 June 2019; pp. 1237–1246. [Google Scholar]
- Babai, L. Graph isomorphism in quasipolynomial time. In Proceedings of the 48th Annual ACM Symposium on Theory of Computing, Cambridge, MA, USA, 19–21 June 2016; pp. 684–697. [Google Scholar]
- Huan, J.; Wang, W.; Prins, J. Efficient mining of frequent subgraphs in the presence of isomorphism. In Proceedings of the 3rd IEEE International Conference on Data Mining, Melbourne, FL, USA, 19–22 November 2003; pp. 549–552. [Google Scholar]
- Kuramochi, M.; Karypis, G. Finding frequent patterns in a large sparse graph. Data Min. Knowl. Discov. 2005, 11, 243–271. [Google Scholar] [CrossRef]
- Kuramochi, M.; Karypis, G. An efficient algorithm for discovering frequent subgraphs. IEEE Trans. Knowl. Data Eng. 2004, 16, 1038–1051. [Google Scholar] [CrossRef]
- 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] [CrossRef]
- 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] [CrossRef]
- Arvind, V.; Das, B.; Köbler, J. A logspace algorithm for partial 2–tree canonization. In Proceedings of the 3rd International Computer Science Symposium in Russia, Moscow, Russia, 7–12 June 2008; pp. 40–51. [Google Scholar]
- Arnborg, S.; Proskurowski, A. Canonical representations of partial 2– and 3–trees. BIT 1992, 32, 197–214. [Google Scholar] [CrossRef]
- Parris, R.; Read, R.C. A Coding Procedure for Graphs; Scientific Report UWI/CC 10; University of West Indies Computer Centre: Mona, Jamaica, 1969. [Google Scholar]
- Corneil, D.G.; Gotlieb, C.C. An efficient algorithm for graph isomorphism. J. ACM 1970, 17, 51–64. [Google Scholar] [CrossRef]
- Arlazarov, V.L.; Zuev, I.I.; Uskov, A.V.; Faradzev, I.A. An algorithm for the reduction of finite non–oriented graphs to canonical form. Ž. Vycisl. Mat. Mat. Fiz. 1974, 14, 737–743. [Google Scholar] [CrossRef]
- McKay, B.D. 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]
- McKay, B.D. Practical graph isomorphism. Congr. Numer. 1980, 30, 45–87. [Google Scholar] [CrossRef]
- Junttila, T.; Kaski, P. Engineering an efficient canonical labeling tool for large and sparse graphs. In Proceedings of the 9th Workshop on Algorithm Engineering and Experiments and the 4th Workshop on Analytic Algorithms and Combinatorics, New Orleans, LA, USA, 6 January 2007; pp. 135–149. [Google Scholar]
- Junttila, T.; Kaski, P. Conflict propagation and component recursion for canonical labeling. In Proceedings of the 1st International ICST Conference on Theory and Practice of Algorithms, Rome, Italy, 18–20 April 2011; pp. 151–162. [Google Scholar]
- López–Presa, J.L.; Fernández Anta, A. Fast algorithm for graph isomorphism testing. In Proceedings of the 8th International Symposium on Experimental Algorithms, Dortmund, Germany, 4–6 June 2009; pp. 221–232. [Google Scholar]
- López–Presa, J.L.; Fernández Anta, A.; Núñez Chiroque, L. Conauto–2.0: Fast isomorphism testing and automorphism group computation. arXiv 2011, arXiv:1108.1060. [Google Scholar]
- Darga, P.T.; Liffiton, M.H.; Sakallah, K.A.; Markov, I.L. Exploiting structure in symmetry detection for CNF. In Proceedings of the 41st Design Automation Conference, San Diego, CA, USA, 7–11 June 2004; pp. 530–534. [Google Scholar]
- Piperno, A. Search space contraction in canonical labeling of graphs. arXiv 2008, arXiv:0804.4881. [Google Scholar]
- 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. [Google Scholar] [CrossRef]
- Wang, F. An efficient distributed algorithm for canonical labeling on directed split–stars. Discret. Appl. Math. 2008, 156, 3475–3482. [Google Scholar] [CrossRef]
- De Loera, J.A. Groebner bases and graph colorings. Beitr. Algebra Geom. 1995, 36, 89–96. [Google Scholar]
- De Loera, J.A.; Lee, J.; Malkin, P.N.; Margulies, S. Hilbert’s Nullstellensatz and an algorithm for proving combinatorial infeasibility. In Proceedings of the 21st Annual Meeting of the International Symposium on Symbolic Computation, ISSAC, Linz, Austria, 20–23 July 2008; pp. 197–206. [Google Scholar]
- De Loera, J.A.; Lee, J.; Margulies, S.; Onn, S. Expressing combinatorial optimization problems by systems of polynomial equations and the Nullstellensatz. Comb. Probab. Comput. 2009, 18, 551–582. [Google Scholar] [CrossRef]
- De Loera, J.A.; Margulies, S.; Pernpeintner, M.; Riedl, E.; Rolnick, D.; Spencer, G.; Stasi, D.; Swenson, J. Graph–coloring ideals: Nullstellensatz certificates: Groebner bases for chordal graphs, and hardness of Groebner bases. In Proceedings of the 40th ACM International Symposium on Symbolic and Algebraic Computation, ISSAC, Bath, UK, 6–9 July 2015; pp. 133–140. [Google Scholar]
- Hashemi, A.; Ghaeli, Z. Note on Groebner bases and graph colorings. Miskolc Math. Notes 2013, 14, 103–109. [Google Scholar] [CrossRef]
- Mnuk, M. Representing graph properties by polynomial ideals. In Proceedings of the 4th International Workshop on Computer Algebra in Scientific Computing (CASC), Constance, Germany, 22–26 September 2001; pp. 431–444. [Google Scholar]
- Matiyasevich, Y.V. Some algebraic methods for calculation of the number of colorings of a graph. J. Math. Sci. 2004, 121, 2401–2408. [Google Scholar] [CrossRef]
- Hillar, C.; Windfeldt, T. Algebraic characterization of uniquely vertex colorable graphs. J. Comb. Theory Ser. B 2008, 98, 400–414. [Google Scholar] [CrossRef]
- Maarouf, H. Groebner bases techniques for an S–packing k–coloring of a graph. Electron. J. Comb. 2017, 24, P3.33. [Google Scholar] [CrossRef] [PubMed]
- Li, S.R.; Li, W.W. Independence number of graphs and generators of ideals. Combinatorica 1981, 1, 55–61. [Google Scholar] [CrossRef]
- Alon, N.; Tarsi, M. Colorings and orientations of graphs. Combinatorica 1992, 12, 125–134. [Google Scholar] [CrossRef]
- Fischer, K.G. Symmetric polynomials and Hall’s theorem. Discret. Math. 1988, 69, 225–234. [Google Scholar] [CrossRef]
- Obeid, N. On the Simplification of Tensor Expressions. Master’s Thesis, Department of Computer Science, University of Western Ontario, London, ON, Canada, August 2001. [Google Scholar]
- Liu, J. Normalization in Riemann tensor polynomial ring. J. Syst. Sci. Complex. 2018, 31, 569–580. [Google Scholar] [CrossRef]
- Liu, J. An extension of Gröbner basis theory to indexed polynomials without eliminations. J. Syst. Sci. Complex. 2020, 33, 1708–1718. [Google Scholar] [CrossRef]
- Liu, J.; Ni, F.; Song, S.H.; Du, M.J. Normalization of indexed differentials by extending Gröbner basis theory. J. Syst. Sci. Complex. 2022, 35, 2016–2028. [Google Scholar] [CrossRef]
- Portugal, R. An algorithm to simplify tensor expressions. Comput. Phys. Commun. 1998, 115, 215–230. [Google Scholar] [CrossRef]
- Portugal, R. Algorithmic simplification of tensor expressions. J. Phys. A Math. Gen. 1999, 32, 7779–7789. [Google Scholar] [CrossRef]
- Portugal, R. The Riegeom package: Abstract tensor calculation. Comput. Phys. Commun. 2000, 126, 261–268. [Google Scholar] [CrossRef]
- Manssur, L.R.U.; Portugal, R.; Svaiter, B.F. Group-theoretic approach for symbolic tensor manipulation. Internat. J. Modern Phys. C 2002, 13, 859–879. [Google Scholar] [CrossRef]
- Manssur, L.R.U.; Portugal, R. The Canon package: A fast kernel for tensor manipulators. Comput. Phys. Commun. 2004, 157, 173–180. [Google Scholar] [CrossRef]
- Li, Z.; Shao, S.; Liu, W. Classifications and canonical forms of tensor product expressions in the presence of permutation symmetries. arXiv 2016, arXiv:1604.06156v1. [Google Scholar]
- Li, H.B.; Li, Z.; Li, Y. Riemann tensor polynomial canonicalization by graph algebra extension. In Proceedings of the 42th ACM International Symposium on Symbolic and Algebraic Computation, Kaiserslautern, Germany, 25–28 July 2017; pp. 269–276. [Google Scholar]
- Liu, J. Normalization of indexed differentials based on function distance invariants. In Proceedings of the 19th International Workshop on Computer Algebra in Scientific Computing, Beijing, China, 18–22 September 2017; pp. 285–300. [Google Scholar]
- Liu, J. Block distance invariant method for monoterm canonicalization of Riemann tensor polynomials. ACM Commun. Comput. Algebra 2019, 53, 134–137. [Google Scholar] [CrossRef]
- Liu, J.; Ni, F. Distance invariant method for normalization of indexed differentials. J. Symb. Comput. 2021, 104, 256–275. [Google Scholar] [CrossRef]
- Martín-García, J.M. xPerm: Fast index canonicalization for tensor computer algebra. Comput. Phys. Commun. 2008, 179, 597–603. [Google Scholar] [CrossRef]
- Peeters, K. A field-theory motivated approach to symbolic computer algebra. Comput. Phys. Commun. 2007, 176, 550–558. [Google Scholar] [CrossRef]
- Meurer, A.; Smith, C.P.; Paprocki, M.; Čertík, O.; Kirpichev, S.B.; Rocklin, M.; Kumar, A.; Ivanov, S.; Moore, J.K.; Singh, S.; et al. SymPy: Symbolic computing in Python. PeerJ Comput. Sci. 2017, 3, e103. [Google Scholar] [CrossRef]
- Niehoff, B.E. Faster tensor canonicalization. Comput. Phys. Commun. 2018, 228, 123–145. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).