On the Complexity of the Cayley Semigroup Membership Problem
Lukas Fleischer
FMI, University of Stuttgart Universitätsstraße 38, 70569 Stuttgart, Germany fleischer@fmi.uni-stuttgart.de
June 24, 2018
1 / 16
On the Complexity of the Cayley Semigroup Membership Problem Lukas - - PowerPoint PPT Presentation
On the Complexity of the Cayley Semigroup Membership Problem Lukas Fleischer FMI, University of Stuttgart Universittsstrae 38, 70569 Stuttgart, Germany fleischer@fmi.uni-stuttgart.de June 24, 2018 1 / 16 The Cayley Semigroup Membership
FMI, University of Stuttgart Universitätsstraße 38, 70569 Stuttgart, Germany fleischer@fmi.uni-stuttgart.de
1 / 16
◮ Input: finite semigroup S, set X ⊆ S, element t ∈ S ◮ Question: Is t in the subsemigroup generated by X?
2 / 16
◮ Input: finite semigroup S, set X ⊆ S, element t ∈ S ◮ Question: Is t in the subsemigroup generated by X?
◮ S given as multiplication table (N2 log(N) bits for N = |S|) ◮ X given as a list of elements (k log(N) bits for k = |X|) ◮ t encoded using log(N) bits
2 / 16
◮ Input: finite semigroup S, set X ⊆ S, element t ∈ S ◮ Question: Is t in the subsemigroup generated by X?
◮ S given as multiplication table (N2 log(N) bits for N = |S|) ◮ X given as a list of elements (k log(N) bits for k = |X|) ◮ t encoded using log(N) bits
◮ Com: commutative semigroups (“xy = yx”) ◮ G: groups (“e2 = e = ⇒ ex = x = xe”) ◮ N: nilpotent semigroups (“e2 = e = ⇒ ex = e = xe”)
2 / 16
◮ Input: finite semigroup S, set X ⊆ S, element t ∈ S ◮ Question: Is t in the subsemigroup generated by X?
◮ S given as multiplication table (N2 log(N) bits for N = |S|) ◮ X given as a list of elements (k log(N) bits for k = |X|) ◮ t encoded using log(N) bits
◮ Com: commutative semigroups (“xy = yx”) ◮ G: groups (“e2 = e = ⇒ ex = x = xe”) ◮ N: nilpotent semigroups (“e2 = e = ⇒ ex = e = xe”)
2 / 16
3 / 16
3 / 16
3 / 16
4 / 16
4 / 16
4 / 16
4 / 16
4 / 16
4 / 16
5 / 16
5 / 16
5 / 16
5 / 16
5 / 16
5 / 16
6 / 16
6 / 16
6 / 16
6 / 16
6 / 16
6 / 16
6 / 16
7 / 16
7 / 16
7 / 16
7 / 16
7 / 16
7 / 16
7 / 16
7 / 16
7 / 16
8 / 16
8 / 16
8 / 16
8 / 16
8 / 16
8 / 16
p for p < i and
9 / 16
p for p < i and
p (s′′ i , s′ i , si) with s′′ i = spsp, s′ i = s′′ i sp, si = s′ i s′ i
9 / 16
p for p < i and
p (s′′ i , s′ i , si) with s′′ i = spsp, s′ i = s′′ i sp, si = s′ i s′ i
p
p
9 / 16
10 / 16
10 / 16
10 / 16
10 / 16
10 / 16
◮ checking whether an element in the sequence equals t: single comparison (actually, single AND gate with some NOT gates)
10 / 16
◮ checking whether an element in the sequence equals t: single comparison (actually, single AND gate with some NOT gates) ◮ checking whether an element belongs to X: n comparisons
10 / 16
◮ checking whether an element in the sequence equals t: single comparison (actually, single AND gate with some NOT gates) ◮ checking whether an element belongs to X: n comparisons ◮ checking whether an element is a product of two previous elements: at most (logc |S|)2 ≤ log2c(n) parallel table lookups and comparisons
10 / 16
11 / 16
11 / 16
12 / 16
12 / 16
12 / 16
1 · · · xik k for some k ≤ log(N), some x1, . . . , xk ∈ X
12 / 16
1 · · · xik k for some k ≤ log(N), some x1, . . . , xk ∈ X
1 , . . . , xik k
12 / 16
1 · · · xik k for some k ≤ log(N), some x1, . . . , xk ∈ X
1 , . . . , xik k
1 · · · xik k can be rewritten as an SLP of size log N.
12 / 16
13 / 16
13 / 16
13 / 16
13 / 16
14 / 16
14 / 16
14 / 16
14 / 16
14 / 16
14 / 16
15 / 16
15 / 16
15 / 16
15 / 16
15 / 16
15 / 16
15 / 16
16 / 16