Wooly Graphs : A Mathematical Framework For Knitting
Kathryn Gray, Brian Bell, Diana Sieper, Stephen Kobourov, Falk Schreiber, Karsten Klein, Seokhee Hong
TL;DR
The paper establishes Wooly Graphs as a graph-theoretic framework to model knitting by defining knit objects with knot-theoretic aspects and three graph representations: $G=(V,E)$, $Y=(V,E)$, and $B=(V,E,C)$. It introduces a taxonomy of knitting complexity (classes 0–3) tied to graph properties, and studies the knittability problem, showing NP-hardness in general while providing linear-time solutions for $1$-knittable DAGs and polynomial-time flow-based methods for broader DAG cases. Core contributions include formal definitions of knit graphs, and complexity results that connect Hamiltonian paths, Eulerian paths, and $k$-path covers to knittability, enabling both analysis and potential generation of knitting patterns from graphs. The framework lays groundwork for graph-driven knitting design and points to future work on elasticity, cables, brioche, and higher-dimensional or reversible knitting structures, broadening the intersection of textile arts and graph theory.
Abstract
This paper aims to develop a mathematical foundation to model knitting with graphs. We provide a precise definition for knit objects with a knot theoretic component and propose a simple undirected graph, a simple directed graph, and a directed multigraph model for any arbitrary knit object. Using these models, we propose natural categories related to the complexity of knitting structures. We use these categories to explore the hardness of determining whether a knit object of each class exists for a given graph. We show that while this problem is NP-hard in general, under specific cases, there are linear and polynomial time algorithms which take advantage of unique properties of common knitting techniques. This work aims to bridge the gap between textile arts and graph theory, offering a useful and rigorous framework for analyzing knitting objects using their corresponding graphs and for generating knitting objects from graphs.
