Functional graphs (FGs) model the graph structures used to analyze the behavior of functions from a discrete set to itself. In turn, such functions are used to study real complex phenomena evolving in time. As the systems involved can be quite large, it is interesting to decompose and factorize them into several subgraphs acting together. Polynomial equations over functional graphs provide a formal way to represent this decomposition and factorization mechanism, and solving them validates or invalidates hypotheses on their decomposability. The current solution method breaks down a single equation into a series of \emph{basic} equations of the form $A\times X=B$ (with $A$, $X$, and $B$ being FGs) to identify the possible solutions. However, it is able to consider just FGs made of cycles only. This work proposes an algorithm for solving these basic equations for general connected FGs. By exploiting a connection with the cancellation problem, we prove that the upper bound to the number of solutions is closely related to the size of the cycle in the coefficient $A$ of the equation. The cancellation problem is also involved in the main algorithms provided by the paper. We introduce a polynomial-time semi-decision algorithm able to provide constraints that a potential solution will have to satisfy if it exists. Then, exploiting the ideas introduced in the first algorithm, we introduce a second exponential-time algorithm capable of finding all solutions by integrating several `hacks' that try to keep the exponential as tight as possible.
翻译:暂无翻译