English

A Heuristic for Direct Product Graph Decomposition

Data Structures and Algorithms 2025-11-06 v1

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~GG with adjacency matrix Adj(GG), our heuristic searches for a pair of graphs~G1G_1 and~G2G_2 such that G=G1G2G = G_1 \otimes G_2, where G1G2G_1 \otimes G_2 is the direct product of~G1G_1 and~G2G_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.

Keywords

Cite

@article{arxiv.2107.03133,
  title  = {A Heuristic for Direct Product Graph Decomposition},
  author = {Luca Calderoni and Luciano Margara and Moreno Marzolla},
  journal= {arXiv preprint arXiv:2107.03133},
  year   = {2025}
}
R2 v1 2026-06-24T03:57:42.713Z