Symbolic Functional Decomposition: A Reconfiguration Approach
By: Mateus de Oliveira Oliveira, Wim Van den Broeck
Functional decomposition is the process of breaking down a function $f$ into a composition $f=g(f_1,\dots,f_k)$ of simpler functions $f_1,\dots,f_k$ belonging to some class $\mathcal{F}$. This fundamental notion can be used to model applications arising in a wide variety of contexts, ranging from machine learning to formal language theory. In this work, we study functional decomposition by leveraging on the notion of functional reconfiguration. In this setting, constraints are imposed not only on the factor functions $f_1,\dots,f_k$ but also on the intermediate functions arising during the composition process. We introduce a symbolic framework to address functional reconfiguration and decomposition problems. In our framework, functions arising during the reconfiguration process are represented symbolically, using ordered binary decision diagrams (OBDDs). The function $g$ used to specify the reconfiguration process is represented by a Boolean circuit $C$. Finally, the function class $\mathcal{F}$ is represented by a second-order finite automaton $\mathcal{A}$. Our main result states that functional reconfiguration, and hence functional decomposition, can be solved in fixed-parameter linear time when parameterized by the width of the input OBDD, by structural parameters associated with the reconfiguration circuit $C$, and by the size of the second-order finite automaton $\mathcal{A}$.
Similar Papers
Automated Functional Decomposition for Hybrid Zonotope Over-approximations with Application to LSTM Networks
Systems and Control
Makes complex computer brains easier to understand.
Bringing Algebraic Hierarchical Decompositions to Concatenative Functional Languages
Formal Languages and Automata Theory
Builds smarter computer programs from math ideas.
Functional Information Decomposition: A First-Principles Approach to Analyzing Functional Relationships
Information Theory
Unlocks how parts work together to create a whole.