The problem of computing the permanent of a matrix has attracted interest
since the work of Ryser(1963) and Valiant(1979). On the other hand, trellises
were extensively studied in coding theory since the 1960s. In this work, we
establish a connection between the two domains. We introduce the canonical
trellis Tn that represents all permutations, and show that the permanent of
a n by n matrix A can be computed as a flow on this trellis. Under
certain normalization, the trellis-based method invokes slightly less
operations than best known exact methods. Moreover, if A has structure, then
Tn becomes amenable to vertex merging, thereby significantly reducing its
complexity.
- Repeated rows: Suppose A has only t<n distinct rows. The best known
method to compute per(A), due to Clifford and Clifford (2020), has complexity
O(nt+1). Merging vertices in Tn, we obtain a reduced trellis that has
complexity O(nt).
- Order statistics: Using trellises, we compute the joint distribution of t
order statistics of n independent, but not identically distributed, random
variables in time O(nt+1). Previously, polynomial-time methods were known
only when the variables are drawn from two non-identical distributions.
- Sparse matrices: Suppose each entry in A is nonzero with probability
d/n with d is constant. We show that Tn can be pruned to exponentially
fewer vertices, resulting in complexity O(ϕn) with ϕ<2.
- TSP: Intersecting Tn with another trellis that represents walks, we
obtain a trellis that represents circular permutations. Using the latter
trellis to solve the traveling salesperson problem recovers the well-known
Held-Karp algorithm.
Notably, in all cases, the reduced trellis are obtained using known
techniques in trellis theory. We expect other trellis-theoretic results to
apply to other structured matrices.