Table of Contents
Fetching ...

Did Fourier Really Meet Möbius? Fast Subset Convolution via FFT

Mihail Stoian

TL;DR

The paper addresses the practical limitations of the classic subset convolution algorithm, which traditionally runs in $O(2^n n^2)$ time using zeta/Möbius transforms but suffers from floating-point rounding and large intermediate values. It introduces SubsetConvolutionViaFFT, an FFT-based method that avoids set-function transforms by representing set functions as binary-subset vectors split into rank-$i$ components and performing frequency-domain convolutions; the key step uses $a+b=(a|b)+(a&b)$ to enforce disjointness, with an inverse FFT returning the result per cardinality and zeroing to maintain $|S|=k$. The approach preserves the original running time $O(2^n n^2)$, requires no zero-padding, and enables leveraging decades of FFT optimizations in practice. By clarifying the continued relevance of zeta/Möbius transforms in other settings and linking to related FFT-based work, the paper highlights practical pathways for applying subset convolution in algorithm engineering, including dynamic programming on tree decompositions and problems like minimum Steiner tree and chromatic number.

Abstract

In their seminal work on subset convolution, Björklund, Husfeldt, Kaski and Koivisto introduced the now well-known $O(2^n n^2)$-time evaluation of the subset convolution in the sum-product ring. This sparked a wave of remarkable results for fundamental problems, such as the minimum Steiner tree and the chromatic number. However, in spite of its theoretical improvement, large intermediate outputs and floating-point precision errors due to alternating addition and subtraction in its set function transforms make the algorithm unusable in practice. We provide a simple FFT-based algorithm that completely eliminates the need for set function transforms and maintains the running time of the original algorithm. This makes it possible to take advantage of nearly sixty years of research on efficient FFT implementations.

Did Fourier Really Meet Möbius? Fast Subset Convolution via FFT

TL;DR

The paper addresses the practical limitations of the classic subset convolution algorithm, which traditionally runs in time using zeta/Möbius transforms but suffers from floating-point rounding and large intermediate values. It introduces SubsetConvolutionViaFFT, an FFT-based method that avoids set-function transforms by representing set functions as binary-subset vectors split into rank- components and performing frequency-domain convolutions; the key step uses to enforce disjointness, with an inverse FFT returning the result per cardinality and zeroing to maintain . The approach preserves the original running time , requires no zero-padding, and enables leveraging decades of FFT optimizations in practice. By clarifying the continued relevance of zeta/Möbius transforms in other settings and linking to related FFT-based work, the paper highlights practical pathways for applying subset convolution in algorithm engineering, including dynamic programming on tree decompositions and problems like minimum Steiner tree and chromatic number.

Abstract

In their seminal work on subset convolution, Björklund, Husfeldt, Kaski and Koivisto introduced the now well-known -time evaluation of the subset convolution in the sum-product ring. This sparked a wave of remarkable results for fundamental problems, such as the minimum Steiner tree and the chromatic number. However, in spite of its theoretical improvement, large intermediate outputs and floating-point precision errors due to alternating addition and subtraction in its set function transforms make the algorithm unusable in practice. We provide a simple FFT-based algorithm that completely eliminates the need for set function transforms and maintains the running time of the original algorithm. This makes it possible to take advantage of nearly sixty years of research on efficient FFT implementations.
Paper Structure (3 sections, 1 theorem, 1 equation, 1 algorithm)

This paper contains 3 sections, 1 theorem, 1 equation, 1 algorithm.

Key Result

Theorem 1

Algorithm alg:subset_conv_via_fft correctly computes the subset convolution in the $(+, \times)$-ring.

Theorems & Definitions (1)

  • Theorem 1