Scalable Pattern Matching in Computation Graphs
Luca Mondada, Pablo Andrés-Martínez
TL;DR
The paper tackles pattern matching in port graphs for graph rewriting by introducing a pre-computed data structure that encodes a large set of patterns, enabling a single query to identify all embeddings without depending on the number of patterns. The core idea is to select anchor sets for each pattern and build a canonical tree (CT) representation via split graphs, turning pattern matching into tree-inclusion problems and string-prefix matching on encoded CTs. The authors derive theoretical complexity bounds showing exponential growth only in the pattern width w, with a pre-computation cost of O((d·ℓ)^w·ℓ + ℓ·w^2·d) and a per-subgraph query cost of O(|G|·(c^w)/w^{1/2}·d) where c=6.75, plus a practical Rust implementation that achieves up to a 20x speedup over state-of-the-art tools on datasets of thousands of quantum circuit patterns. Empirically, the approach scales well for large pattern sets and small widths, offering a promising avenue for scalable graph rewriting in computation graphs and quantum circuit optimization. The work provides both solid theoretical guarantees and a concrete open-source tool to accelerate pattern-based optimisations in real-world domains.
Abstract
Graph rewriting is a popular tool for the optimisation and modification of graph expressions in domains such as compilers, machine learning and quantum computing. The underlying data structures are often port graphs - graphs with labels at edge endpoints. A pre-requisite for graph rewriting is the ability to find graph patterns. We propose a new solution to pattern matching in port graphs. Its novelty lies in the use of a pre-computed data structure that makes the pattern matching runtime complexity independent of the number of patterns. This offers a significant advantage over existing solutions for use cases with large sets of small patterns. Our approach is particularly well-suited for quantum superoptimisation. We provide an implementation and benchmarks showing that our algorithm offers a 20x speedup over current implementations on a dataset of 10000 real world patterns describing quantum circuits.
