Antoine Amarilli
Louis Jachiet
Charles Paperman
JNMI 2022
Checking membership to the regular language \((ab)^*\).
Complexity of maintaining the information:
We use the RAM model with \(O(\log n)\) register size
It is the dynamic word problem for regular languages.
Given a regular language \(L\) – e.g. \((ab)^*\)
Execute at each update a deterministic
automaton:
Incremental Complexity: \(O(n)\)
Given an automata, each word can be associated to a function from states to states
\(\tau_{\epsilon}\colon\begin{cases}0\mapsto 0\\ 1\mapsto 1\\ 2\mapsto 2\end{cases}\)
\(\tau_{a}\colon\begin{cases}0\mapsto 0\\ 1\mapsto 2\\ 2\mapsto 0\end{cases}\)
\(\tau_{b}\colon\begin{cases}0\mapsto 0\\ 1\mapsto 0\\ 2\mapsto 1\end{cases}\)
\(\tau_{ab}\colon\begin{cases} 0\mapsto 0\\ 1\mapsto 1\\ 2\mapsto 0\end{cases}\)
\(\tau_{ba}\colon\begin{cases} 0\mapsto 0\\ 1\mapsto 0\\ 2\mapsto 2\end{cases}\)
\(\tau_{bb}\colon\begin{cases} 0\mapsto 0\\ 1\mapsto 0\\ 2\mapsto 0\end{cases}\)
The set of all transitions functions is the transition monoid of the automaton.
\((ab^*a+b)^*c(a+b)^* = \textrm{Parity}\cdot c (a+b)^*\)
an incremental complexity in \(\Omega(\frac{\log n}{\log\log n})\)
The lower bound is from Fredman and Saks, 1989 in the cell-probe model.
Aim to understand properties on regular languages.
Syntactic properties:
Computability properties:
Complexity properties:
When all the following conditions are met, we have a variety of languages
It is better to have closure under:
If the monoid is commutative then it is \(O(1)\). (\(xy=yx\))
If the monoid is aperiodic then it is in \(O(\log\log n)\). (\(x^{\omega+1}=x^\omega\))
If the monoid is not in \(\mathbf{SG}\) it is in \(\Omega(\frac{\log{n}}{\log\log n})\). (\(x^{\omega+1}yx^\omega \neq x^\omega y x^{\omega+1}\))
They left open the full characterization and its extensions to regular languages
\(L=c^* a c^* a c^* b c^*\)
A \(O(1)\) algorithm:
Extends to any finite set of words separated by neutral letters
It is a colored priority queue:
A classical priority queue can implement a colored priority queue
A non-constant lower bound for priority queue is a long-standing open problem.
A direct application of the equations of \(\mathbf{ZG}\).
If a monoid is not in \(\mathbf{ZG}\) then: \(O(1)\) reduction colored priority queue
Predecessor data structure
Implemented in \(O(\log\log n)\) with van Emde Boas trees
We reduce in \(O(1)\) for monoids to \(\textbf{SG}\) to this data structure.
The proof is technical and based on Green’s relations
The main technical contribution.
Recall that we use monoid as an intermediate to find good algorithm for languages
The following languages have the same syntactic monoids:
… Not always!
given a regular language:
Algorithm for monoids give algorithm for semigroups:
In the \(O(\log\log n)\), \(S^1\) and \(S\) are \(O(1)\)-equivalent to each other.
In the \(O(1)\), it is not the case!
Take the semigroup \(S=\{(1, 1), (1, 2), (2, 1), (2, 2), 0\}\) with:
The product \((i_0, j_0)\cdot (i_1, j_1)\cdots (i_n, j_n)\)
We can count the sliding windows of size \(2\) and conclude
It doesn’t work for \(S^1\) because of the neutral element.
Semigroup theory tooling has been surprisingly efficient
We managed to classify the precise complexity of algorithmic problems parametrized by regular languages
We have linked algebraic analysis to data-structure complexity
It is reminiscent of what happens in CSP.
Is there an algebraic parametrized complexity theory waiting to be discovered?