Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors

© Andreas Björklund and Ryan Williams; licensed under Creative Commons License CC-BY We show that the permanent of an n × n matrix over any finite ring of r ≤ n elements can be computed with a deterministic 2n−Ω(nr ) time algorithm. This improves on a Las Vegas algorithm running in expected 2n−Ω(n/(...

Full description

Bibliographic Details
Main Authors: Williams, Richard Ryan, Björklund, Andreas
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Format: Article
Language:English
Published: 2021
Online Access:https://hdl.handle.net/1721.1/137488
_version_ 1826211679567872000
author Williams, Richard Ryan
Björklund, Andreas
author2 Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
author_facet Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Williams, Richard Ryan
Björklund, Andreas
author_sort Williams, Richard Ryan
collection MIT
description © Andreas Björklund and Ryan Williams; licensed under Creative Commons License CC-BY We show that the permanent of an n × n matrix over any finite ring of r ≤ n elements can be computed with a deterministic 2n−Ω(nr ) time algorithm. This improves on a Las Vegas algorithm running in expected 2n−Ω(n/(r log r)) time, implicit in [Björklund, Husfeldt, and Lyckberg, IPL 2017]. For the permanent over the integers of a 0/1-matrix with exactly d ones per row and column, we provide a deterministic 2n−Ω(d3 n /4) time algorithm. This improves on a 2n−Ω(nd ) time algorithm in [Cygan and Pilipczuk ICALP 2013]. We also show that the number of Hamiltonian cycles in an n-vertex directed graph of average degree δ can be computed by a deterministic 2n−Ω(nδ ) time algorithm. This improves on a Las Vegas algorithm running in expected 2n−Ω(poly(n δ)) time in [Björklund, Kaski, and Koutis, ICALP 2017]. A key tool in our approach is a reduction from computing the permanent to listing pairs of dissimilar vectors from two sets of vectors, i.e., vectors over a finite set that differ in each coordinate, building on an observation of [Bax and Franklin, Algorithmica 2002]. We propose algorithms that can be used both to derandomise the construction of Bax and Franklin, and efficiently list dissimilar pairs using several algorithmic tools. We also give a simple randomised algorithm resulting in Monte Carlo algorithms within the same time bounds. Our new fast algorithms for listing dissimilar vector pairs from two sets of vectors are inspired by recent algorithms for detecting and counting orthogonal vectors by [Abboud, Williams, and Yu, SODA 2015] and [Chan and Williams, SODA 2016].
first_indexed 2024-09-23T15:09:48Z
format Article
id mit-1721.1/137488
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T15:09:48Z
publishDate 2021
record_format dspace
spelling mit-1721.1/1374882023-02-14T20:09:38Z Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors Williams, Richard Ryan Björklund, Andreas Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory © Andreas Björklund and Ryan Williams; licensed under Creative Commons License CC-BY We show that the permanent of an n × n matrix over any finite ring of r ≤ n elements can be computed with a deterministic 2n−Ω(nr ) time algorithm. This improves on a Las Vegas algorithm running in expected 2n−Ω(n/(r log r)) time, implicit in [Björklund, Husfeldt, and Lyckberg, IPL 2017]. For the permanent over the integers of a 0/1-matrix with exactly d ones per row and column, we provide a deterministic 2n−Ω(d3 n /4) time algorithm. This improves on a 2n−Ω(nd ) time algorithm in [Cygan and Pilipczuk ICALP 2013]. We also show that the number of Hamiltonian cycles in an n-vertex directed graph of average degree δ can be computed by a deterministic 2n−Ω(nδ ) time algorithm. This improves on a Las Vegas algorithm running in expected 2n−Ω(poly(n δ)) time in [Björklund, Kaski, and Koutis, ICALP 2017]. A key tool in our approach is a reduction from computing the permanent to listing pairs of dissimilar vectors from two sets of vectors, i.e., vectors over a finite set that differ in each coordinate, building on an observation of [Bax and Franklin, Algorithmica 2002]. We propose algorithms that can be used both to derandomise the construction of Bax and Franklin, and efficiently list dissimilar pairs using several algorithmic tools. We also give a simple randomised algorithm resulting in Monte Carlo algorithms within the same time bounds. Our new fast algorithms for listing dissimilar vector pairs from two sets of vectors are inspired by recent algorithms for detecting and counting orthogonal vectors by [Abboud, Williams, and Yu, SODA 2015] and [Chan and Williams, SODA 2016]. 2021-11-05T14:48:48Z 2021-11-05T14:48:48Z 2019 2021-03-25T11:50:36Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137488 Williams, Richard Ryan and Björklund, Andreas. 2019. "Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors." Leibniz International Proceedings in Informatics, LIPIcs, 132. en 10.4230/LIPIcs.ICALP.2019.25 Leibniz International Proceedings in Informatics, LIPIcs Creative Commons Attribution 4.0 International license https://creativecommons.org/licenses/by/4.0/ application/pdf DROPS
spellingShingle Williams, Richard Ryan
Björklund, Andreas
Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title_full Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title_fullStr Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title_full_unstemmed Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title_short Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors
title_sort computing permanents and counting hamiltonian cycles by listing dissimilar vectors
url https://hdl.handle.net/1721.1/137488
work_keys_str_mv AT williamsrichardryan computingpermanentsandcountinghamiltoniancyclesbylistingdissimilarvectors
AT bjorklundandreas computingpermanentsandcountinghamiltoniancyclesbylistingdissimilarvectors