In this paper we describe a heuristic for decomposing a directed graph into factors according to the direct product (also known as Kronecker, cardinal or tensor product). Given a directed, unweighted graph G with adjacency matrix Adj(G), our heuristic aims at identifying two graphs G 1 and G 2 such that G = G 1 × G 2 , where G 1 × G 2 is the direct product of G 1 and G 2 . For undirected, connected graphs it has been shown that graph decomposition is “at least as difficult” as graph isomorphism; therefore, polynomial-time algorithms for decomposing a general directed graph into factors are unlikely to exist. Although graph factorization is a problem that has been extensively investigated, the heuristic proposed in this paper represents – to the best of our knowledge – the first computational approach for general directed, unweighted graphs. We have implemented our algorithm using the MATLAB environment; we report on a set of experiments that show that the proposed heuristic solves reasonably- sized instances in a few seconds on general-purpose hardware. Although the proposed heuristic is not guaranteed to find a factorization, even if one exists; however, it always succeeds on all the randomly-generated instances used in the experimental evaluation.
Luca Calderoni, Luciano Margara, Moreno Marzolla (2023). A Heuristic for Direct Product Graph Decomposition. JOURNAL OF GRAPH ALGORITHMS AND APPLICATIONS, 27(7), 581-601 [10.7155/jgaa.00635].
A Heuristic for Direct Product Graph Decomposition
Luca Calderoni;Luciano Margara;Moreno Marzolla
2023
Abstract
In this paper we describe a heuristic for decomposing a directed graph into factors according to the direct product (also known as Kronecker, cardinal or tensor product). Given a directed, unweighted graph G with adjacency matrix Adj(G), our heuristic aims at identifying two graphs G 1 and G 2 such that G = G 1 × G 2 , where G 1 × G 2 is the direct product of G 1 and G 2 . For undirected, connected graphs it has been shown that graph decomposition is “at least as difficult” as graph isomorphism; therefore, polynomial-time algorithms for decomposing a general directed graph into factors are unlikely to exist. Although graph factorization is a problem that has been extensively investigated, the heuristic proposed in this paper represents – to the best of our knowledge – the first computational approach for general directed, unweighted graphs. We have implemented our algorithm using the MATLAB environment; we report on a set of experiments that show that the proposed heuristic solves reasonably- sized instances in a few seconds on general-purpose hardware. Although the proposed heuristic is not guaranteed to find a factorization, even if one exists; however, it always succeeds on all the randomly-generated instances used in the experimental evaluation.File | Dimensione | Formato | |
---|---|---|---|
635.pdf
accesso aperto
Descrizione: Versione editoriale
Tipo:
Versione (PDF) editoriale
Licenza:
Licenza per Accesso Aperto. Creative Commons Attribuzione (CCBY)
Dimensione
731.88 kB
Formato
Adobe PDF
|
731.88 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.