Computing Generalized Convolutions Faster Than Brute Force
-
Published:2023-10-06
Issue:1
Volume:86
Page:334-366
-
ISSN:0178-4617
-
Container-title:Algorithmica
-
language:en
-
Short-container-title:Algorithmica
Author:
Esmer Barış CanORCID, Kulik Ariel, Marx DánielORCID, Schepper PhilippORCID, Węgrzycki KarolORCID
Abstract
AbstractIn this paper, we consider a general notion of convolution. Let $$D$$
D
be a finite domain and let $$D^n$$
D
n
be the set of n-length vectors (tuples) of $$D$$
D
. Let $$f :D\times D\rightarrow D$$
f
:
D
×
D
→
D
be a function and let $$\oplus _f$$
⊕
f
be a coordinate-wise application of f. The $$f$$
f
-Convolution of two functions $$g,h :D^n \rightarrow \{-M,\ldots ,M\}$$
g
,
h
:
D
n
→
{
-
M
,
…
,
M
}
is $$\begin{aligned} (g \mathbin {\circledast _{f}}h)(\textbf{v}) {:}{=}\sum _{\begin{array}{c} \textbf{v}_g,\textbf{v}_h \in D^n\\ \text {s.t. } \textbf{v}= \textbf{v}_g \oplus _f \textbf{v}_h \end{array}} g(\textbf{v}_g) \cdot h(\textbf{v}_h) \end{aligned}$$
(
g
⊛
f
h
)
(
v
)
:
=
∑
v
g
,
v
h
∈
D
n
s.t.
v
=
v
g
⊕
f
v
h
g
(
v
g
)
·
h
(
v
h
)
for every $$\textbf{v}\in D^n$$
v
∈
D
n
. This problem generalizes many fundamental convolutions such as Subset Convolution, XOR Product, Covering Product or Packing Product, etc. For arbitrary function f and domain $$D$$
D
we can compute $$f$$
f
-Convolution via brute-force enumeration in $$\widetilde{{\mathcal {O}}}(|D|^{2n} \cdot \textrm{polylog}(M))$$
O
~
(
|
D
|
2
n
·
polylog
(
M
)
)
time. Our main result is an improvement over this naive algorithm. We show that $$f$$
f
-Convolution can be computed exactly in $$\widetilde{{\mathcal {O}}}( (c \cdot |D|^2)^{n} \cdot \textrm{polylog}(M))$$
O
~
(
(
c
·
|
D
|
2
)
n
·
polylog
(
M
)
)
for constant $$c {:}{=}3/4$$
c
:
=
3
/
4
when $$D$$
D
has even cardinality. Our main observation is that a cyclic partition of a function $$f :D\times D\rightarrow D$$
f
:
D
×
D
→
D
can be used to speed up the computation of $$f$$
f
-Convolution, and we show that an appropriate cyclic partition exists for every f. Furthermore, we demonstrate that a single entry of the $$f$$
f
-Convolution can be computed more efficiently. In this variant, we are given two functions $$g,h :D^n \rightarrow \{-M,\ldots ,M\}$$
g
,
h
:
D
n
→
{
-
M
,
…
,
M
}
alongside with a vector $$\textbf{v}\in D^n$$
v
∈
D
n
and the task of the $$f$$
f
-Query problem is to compute integer $$(g \mathbin {\circledast _{f}}h)(\textbf{v})$$
(
g
⊛
f
h
)
(
v
)
. This is a generalization of the well-known Orthogonal Vectors problem. We show that $$f$$
f
-Query can be computed in $$\widetilde{{\mathcal {O}}}(|D|^{\frac{\omega }{2} n} \cdot \textrm{polylog}(M))$$
O
~
(
|
D
|
ω
2
n
·
polylog
(
M
)
)
time, where $$\omega \in [2,2.372)$$
ω
∈
[
2
,
2.372
)
is the exponent of currently fastest matrix multiplication algorithm.
Funder
European Research Council Helmholtz-Zentrum für Informationssicherheit – CISPA gGmbH
Publisher
Springer Science and Business Media LLC
Subject
Applied Mathematics,Computer Science Applications,General Computer Science
Reference41 articles.
1. Abboud, A., Williams, R.R., Yu, H.: More applications of the polynomial method to algorithm design. In: Indyk, P. (ed.) Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015, San Diego, CA, USA, January 4–6, 2015, pp. 218–230. SIAM (2015) 2. Alman, J., Williams, V.V.: A refined laser method and faster matrix multiplication. In: Marx D (ed.) Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms, SODA 2021, Virtual Conference, January 10–13, 2021. SIAM, pp. 522–539 (2021) 3. Bennett, M.A., Martin, G., O’Bryant, K., Rechnitzer, A.: Explicit bounds for primes in arithmetic progressions. Ill. J. Math. 62(1–4), 427–532 (2018) 4. Beth, T.: Verfahren der schnellen Fourier-Transformation: die allgemeine diskrete Fourier-Transformation–ihre algebraische Beschreibung, Komplexität und Implementierung, vol. 61. Teubner (1984) 5. Björklund, A., Husfeldt, T.: The parity of directed Hamiltonian cycles. In: 54th Annual IEEE Symposium on Foundations of Computer Science, FOCS 2013, 26–29 October, 2013, Berkeley, CA, USA, pp. 727–735. IEEE Computer Society (2013)
|
|