Algorithmicists are well-aware that fast dynamic programming algorithms are very often the correct choice when computing on compositional (or even recursive) graphs. Here we initiate the study of how to generalize this folklore intuition to mathematical structures writ large. We achieve this horizontal generality by adopting a categorial perspective which allows us to show that: (1) structured decompositions (a recent, abstract generalization of many graph decompositions) define Grothendieck topologies on categories of data (adhesive categories) and that (2) any computational problem which can be represented as a sheaf with respect to these topologies can be decided in linear time on classes of inputs which admit decompositions of bounded width and whose decomposition shapes have bounded feedback vertex number. This immediately leads to algorithms on objects of any C-set category; these include -- to name but a few examples -- structures such as: symmetric graphs, directed graphs, directed multigraphs, hypergraphs, directed hypergraphs, databases, simplicial complexes, circular port graphs and half-edge graphs. Thus we initiate the bridging of tools from sheaf theory, structural graph theory and parameterized complexity theory; we believe this to be a very fruitful approach for a general, algebraic theory of dynamic programming algorithms. Finally we pair our theoretical results with concrete implementations of our main algorithmic contribution in the AlgebraicJulia ecosystem.
翻译:算法学家们非常清楚地意识到,快速动态编程算法在计算成份(甚至递归)图形时往往是正确的选择。 在这里, 我们开始研究如何将民俗直觉推广到数学结构中, 使数学结构变大。 我们通过采用一个分类视角来达到这种横向一般性, 这让我们能够显示:(1) 结构分解( 近期对许多图形分解的抽象概括性) 定义了Grothendieck 数据类别( 高级类别) 的生态系统结构学( 高级类别), 以及 (2) 任何计算问题, 在计算这些表层学时, 可以作为外表的缩略图。 可以在线性时间内决定, 如何将这种民俗直视直观直观的直观直观推到数学结构结构结构结构结构结构学中。 这立即导致任何C组对象的算法; 包括 -- 仅举几个例子 -- 诸如: 对称图形、 定向编程图、 定向多面图、 高级图学、 定向高比学、 高理学、 高理学、 数据库、 精度复杂度、 结构学、 循环结构学、 理论推理学、 最终理论、 理论、 我们的图、 理论、 理论、 理论推介、 我们的精极、 、 、 理论、 理论、 理论、 理论、 理论、 理论、 理论、 等。