structured-decomp
StructuredDecompositions.jl sheaves on tree decompositions for FPT algorithms with bidirectional navigation
SKILL.mdies/music-topos/.agents/skills/structured-decomp
GitHubStructured Decompositions Skill
Core Concepts
StrDecomp = Functor d: ā«G ā C where:
- ā«G = category of elements of shape graph
- C = target category (Graph, FinSet, etc.)
using StructuredDecompositions
# Create decomposition from graph
d = StrDecomp(graph)
# Access components
bags(d) # Local substructures
adhesions(d) # Overlaps
adhesionSpans(d) # Span morphisms
The š Functor
Lifts decision problems to decomposition space:
# Define problem as functor
k_coloring(G) = homomorphisms(G, K_k)
# Lift and solve
solution = š(k_coloring, decomp, CoDecomposition)
(answer, _) = decide_sheaf_tree_shape(k_coloring, decomp)
FPT Complexity
Runtime: O(f(width) Ć n) where width = max adhesion size
GF(3) Triads
dmd-spectral (-1) ā structured-decomp (0) ā koopman-generator (+1) = 0 ā
sheaf-cohomology (-1) ā structured-decomp (0) ā colimit-reconstruct (+1) = 0 ā
References
- Bumpus et al. arXiv:2207.06091
- algebraicjulia.github.io/StructuredDecompositions.jl