Table of Contents
Fetching ...

Polynomial-delay generation of functional digraphs up to isomorphism

Oscar Defrain, Antonio E. Porreca, Ekaterina Timofeeva

TL;DR

The paper addresses the enumeration of functional digraphs up to isomorphism (mapping patterns) and develops a reverse-search-based generator with $O(n^2)$ delay and linear space. A canonical isomorphism code for connected digraphs is built from unordered rooted-tree codes and a minimal-rotation criterion, enabling duplicates-free generation. The method extends to arbitrary digraphs via partition-based composition of connected components, preserving the delay and memory bounds. This work establishes the first polynomial-delay generator for functional digraphs and lays groundwork for generating restricted classes or broader graph families without sacrificing efficiency.

Abstract

We describe a procedure for the generation of functional digraphs up to isomorphism; these are digraphs with uniform outdegree 1, also called mapping patterns, finite endofunctions, or finite discrete-time dynamical systems. This procedure is based on a reverse search algorithm for the generation of connected functional digraphs, which is then applied as a subroutine for the generation of arbitrary ones. Both algorithms output solutions with $O(n^2)$ delay and require linear space with respect to the number $n$ of vertices.

Polynomial-delay generation of functional digraphs up to isomorphism

TL;DR

The paper addresses the enumeration of functional digraphs up to isomorphism (mapping patterns) and develops a reverse-search-based generator with delay and linear space. A canonical isomorphism code for connected digraphs is built from unordered rooted-tree codes and a minimal-rotation criterion, enabling duplicates-free generation. The method extends to arbitrary digraphs via partition-based composition of connected components, preserving the delay and memory bounds. This work establishes the first polynomial-delay generator for functional digraphs and lays groundwork for generating restricted classes or broader graph families without sacrificing efficiency.

Abstract

We describe a procedure for the generation of functional digraphs up to isomorphism; these are digraphs with uniform outdegree 1, also called mapping patterns, finite endofunctions, or finite discrete-time dynamical systems. This procedure is based on a reverse search algorithm for the generation of connected functional digraphs, which is then applied as a subroutine for the generation of arbitrary ones. Both algorithms output solutions with delay and require linear space with respect to the number of vertices.
Paper Structure (5 sections, 7 theorems, 14 equations, 3 figures)

This paper contains 5 sections, 7 theorems, 14 equations, 3 figures.

Key Result

lemma 1

Let $C = \langle T_1, \ldots, T_k\rangle$ be a component in canonical form with at least one nontrivial tree, and let $T_h$ be the leftmost such nontrivial tree. Furthermore, let $(U_1, U_2) = \mathop{\mathrm{unmerge}}\nolimits(T_h)$ with $V_1 = \min \{U_1, U_2\}$ and $V_2 = \max \{U_1, U_2\}$. Then is also in canonical form; we call $C^*$ the parent of $C$ and denote it by $\mathop{\mathrm{Parent

Figures (3)

  • Figure 1: Isomorphism codes for a tree (Definition \ref{['def:tree-code']}), a connected (Definition \ref{['def:component-code']}) and a disconnected functional digraph (Definition \ref{['def:funcdigraph-code']}). Notice the different nesting depths for the angled brackets of the three codes.
  • Figure 2: Reverse search tree for the generation of components of $4$ vertices, represented both in graphical form (top) and as isomorphism codes (bottom); the order of generation by the algorithm of Theorem \ref{['thm:generates-all-connected']} is displayed on the top left. Note that the actual ordering of children of each node depends on the (arbitrary) order we chose for the generation of the candidate merges; in the picture we first compute $L_i(C^*)$ for $i$ from $1$ to $k-1$, then the same for the $R_i(C^*)$: this is the ordering that has been adopted in our implementation and that will be considered in the remaining of the paper.
  • Figure 3: Generation (top to bottom, left to right) of the set of functional digraphs $\mathcal{G}_p$ over $8$ vertices with partition $p = (0, 1, 2, 0, 0, 0, 0, 0)$, corresponding to components of $2$, $3$, $3$ vertices respectively. Each component is labelled by its generation order according to the algorithm of Theorem \ref{['thm:generates-all-connected']}. As an example, the functional digraph in grey (the 7th generated one in $\mathcal{G}_p$) has isomorphism code $\langle\langle\langle1\rangle,\langle1\rangle\rangle, \langle\langle3,2,1\rangle\rangle, \langle\langle1\rangle,\langle2,1\rangle\rangle\rangle$.

Theorems & Definitions (23)

  • definition 1: code of a tree
  • definition 2: code of a connected functional digraph
  • definition 3: tree merging
  • remark 1
  • definition 4: tree unmerging
  • lemma 1
  • proof
  • proposition 1
  • proof
  • definition 5
  • ...and 13 more