structured-decomp

Lift graph decision problems into decomposition spaces using StrDecomp.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill structured-decomp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: structured-decomp
Source: https://github.com/plurigrid/asi/tree/main/skills/structured-decomp
Command: npx skills add https://github.com/plurigrid/asi --skill structured-decomp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Uses tree decompositions and sheaf-theoretic ideas to enable efficient, structured decompositions for algorithmic problems.

Core Features & Use Cases

  • Bidirectional navigation: traverse bags, adhesions, and spans of decompositions.
  • FPT complexity: runtime depends on width, enabling scalable solutions on narrow graphs.
  • Integration with lispsyntax-acset: serialize decompositions for inspection and round-tripping.

Quick Start

Load a graph, create a decomposition, and inspect bags and adhesions.

Frequently Asked Questions about structured-decomp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I solve graph decision problems using tree decomposition?

Tree decomposition lifts graph problems into a structured space where algorithms run in FPT time O(f(width) * n), governed by adhesion width. StrDecomp enables this by accepting a graph, a functor representing your problem, and a decomposition strategy, then producing solutions through bags and adhesions.

What graph problems can FPT algorithms with tree decomposition solve?

FPT algorithms solve NP-hard graph problems like colorings and decision problems on graphs with bounded treewidth or adhesion. Tree decomposition expresses these as functors, making them tractable on narrow graphs where width-dependent runtime dominates.

How do bags, adhesions, and spans work in graph decomposition?

Bags partition graph vertices, adhesions are their intersections across bags, and spans connect them bidirectionally. StrDecomp provides navigation through these structures so you inspect decomposition geometry and apply functors locally at each bag.

Can I serialize and inspect tree decompositions after computing them?

Yes, decompositions integrate with lispsyntax-acset to serialize bags, adhesions, and spans for inspection and round-tripping, enabling reproducible analysis and debugging of decomposition structure.

What input format does tree decomposition require for graphs?

StrDecomp accepts a graph input along with a StrDecomp instance, a problem functor, and a target decomposition strategy like CoDecomposition. The framework then decomposes and solves the problem in FPT time.

When should I use sheaf-theoretic decomposition over standard algorithms?

Use sheaf-theoretic decomposition for problems on graphs with bounded width where FPT runtime O(f(width) * n) is faster than polynomial approaches. It scales on narrow graphs and supports problems expressible as functors over decompositions.