Parikhs theorem from the complexity viewpoint Dmitry Chistikov - - PowerPoint PPT Presentation

parikh s theorem from the complexity viewpoint
SMART_READER_LITE
LIVE PREVIEW

Parikhs theorem from the complexity viewpoint Dmitry Chistikov - - PowerPoint PPT Presentation

Parikhs theorem from the complexity viewpoint Dmitry Chistikov University of Warwick, United Kingdom YR-OWLS, 03 June 2020 State complexity Program size complexity of problem: the minimum size of program that solves the problem State


slide-1
SLIDE 1

Parikh’s theorem from the complexity viewpoint

Dmitry Chistikov

University of Warwick, United Kingdom

YR-OWLS, 03 June 2020

slide-2
SLIDE 2

State complexity

Program size complexity of problem: the minimum size of program that solves the problem State complexity of language L: the minimum size of NFA that accepts L Why study these measures?

◮ We want to understand what makes problems difficult ◮ Programs and their models become data (e.g., in verification),

hence minimization questions

◮ Limitations of models of computation =

⇒ analysis algorithms

2/37

slide-3
SLIDE 3

Parikh image

[Parikh (1961); in JACM (1966)] Commutative/Parikh mapping: ψ(L) =

  • (m1, . . . , mr):

∃ w ∈ L with exactly mi occurrences of ai

  • ⊆ Nr

where Σ = {a1, . . . , ar} and L ⊆ Σ∗

Examples

ψ

  • { a a b b b b a }
  • = {(3, 4)}

ψ

  • { ambm : m ≥ 0 }
  • = ψ
  • (ab)∗

= {(m, m): m ≥ 0}

3/37

slide-4
SLIDE 4

Parikh’s theorem

Rohit J. Parikh

Theorem

For every context-free language there exists a regular language with the same Parikh image.

4/37

slide-5
SLIDE 5

Applications of Parikh’s theorem

Simple applications in formal language theory:

◮ Unary context-free languages are regular

[cf. Ginsburg, Rice (1962)]

◮ {am2 : m ≥ 0} and {a2m : m ≥ 0} are not regular

Many applications in verification of infinite-state systems!

5/37

slide-6
SLIDE 6

Through the ages: Proof ideas

◮ Safe unpumping

[Parikh (1966)]

◮ Small-index derivations

[Esparza, Ganty, Kiefer, Luttenberger (2011)]

◮ Presburger description via balance and connectivity

[Verma, Seidl, Schwentick, CADE’05]

6/37

slide-7
SLIDE 7

Outline

  • 1. Why Parikh’s theorem from the complexity viewpoint?
  • 2. One-counter languages: upper bound
  • 3. One-counter languages: lower bound

7/37

slide-8
SLIDE 8

Outline

  • 1. Why Parikh’s theorem from the complexity viewpoint?
  • 2. One-counter languages: upper bound
  • 3. One-counter languages: lower bound

8/37

slide-9
SLIDE 9

Parikh’s theorem, revisited

(from the complexity viewpoint)

Theorem

For every context-free grammar G there exists a nondeterministic finite-state automaton A with at most 4|G|+1 states such that ψ(L(G)) = ψ(L(A)).

9/37

slide-10
SLIDE 10

Parikh’s theorem: lower bound

An → An−1An−1 . . . A4 → A3A3 A3 → A2A2 A2 → A1A1 A1 → a Nonterminal An generates just one word of length 2n. Every NFA that accepts this languages must have > 2n states.

10/37

slide-11
SLIDE 11

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] Defined with regular expressions + following feature: (regexp with )constraint : “only keep w where each prefix ending with satisfies a Presburger constraint on the number of occurrences of letters” Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-12
SLIDE 12

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-13
SLIDE 13

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-14
SLIDE 14

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-15
SLIDE 15

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-16
SLIDE 16

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-17
SLIDE 17

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15]

11/37

slide-18
SLIDE 18

An application: Availability languages

[Hoenicke, Meyer, Olderog, CONCUR’10] a∗b∗c∗

  • #a≥#b
  • #b≥#c :

defines {anbmnk : n ≥ m ≥ k} Language emptiness: decidable in TOWER [Abdulla et al., FSTTCS’15] Relies on NFA for Parikh image of one-counter languages.

11/37

slide-19
SLIDE 19

One-counter automata (OCA)

= Pushdown automata with exactly 1 non-bottom stack symbol Example: p q r ε ε, = 0 a, +1 b, −1 L = {ambm : m ≥ 0} Key feature: Non-negative integer counter that supports +1, −1, test for 0 Input tape: a finite word w ∈ Σ∗, which can be accepted Language: all accepted words

12/37

slide-20
SLIDE 20

One-counter automata (OCA)

= Pushdown automata with exactly 1 non-bottom stack symbol Example: p q r ε ε, = 0 a, +1 b, −1 L = {ambm : m ≥ 0} Regular < One-counter < Context-free languages Separating examples: {ambm : m ≥ 0}, {wwrev : w ∈ Σ∗}

12/37

slide-21
SLIDE 21

Reasoning about OCA

Language universality is undecidable [Valiant, 1973] Deterministic case: language equivalence is in PSPACE [Valiant and Paterson, 1973] Deterministic case: language equivalence is NL-complete [B¨

  • hm, G¨
  • ller, Janˇ

car, STOC’13]

13/37

slide-22
SLIDE 22

Reasoning about OCA

Language universality is undecidable [Valiant, 1973] Deterministic case: language equivalence is in PSPACE [Valiant and Paterson, 1973] Deterministic case: language equivalence is NL-complete [B¨

  • hm, G¨
  • ller, Janˇ

car, STOC’13] Shortest accepted words are polynomial [Latteux (1983)]

13/37

slide-23
SLIDE 23

Parikh’s theorem, revisited

(from the complexity viewpoint)

Theorem

For every context-free grammar G there exists a nondeterministic finite-state automaton A with at most 4|G|+1 states such that ψ(L(G)) = ψ(L(A)).

Theorem

There exists G such that A has to be exponentially big.

14/37

slide-24
SLIDE 24

Parikh’s theorem, revisited

(from the complexity viewpoint)

Theorem

For every context-free grammar G there exists a nondeterministic finite-state automaton A with at most 4|G|+1 states such that ψ(L(G)) = ψ(L(A)).

Theorem

There exists G such that A has to be exponentially big. What if L is the language of a one-counter automaton? Upper bound remains valid. Lower bound fails.

14/37

slide-25
SLIDE 25

Outline

  • 1. Why Parikh’s theorem from the complexity viewpoint?
  • 2. One-counter languages: upper bound
  • 3. One-counter languages: lower bound

15/37

slide-26
SLIDE 26

Parikh’s theorem for OCL: upper bound

Atig, Chistikov, Hofman, Kumar, Saivasan, Zetzsche, LICS’16

Theorem

For every one-counter automaton A with n states there exists a nondeterministic finite-state automaton B with at most nO(log n) states such that ψ(L(A)) = ψ(L(B)).

16/37

slide-27
SLIDE 27

Proof strategy

  • A. Bound the number of reversals by poly(n)
  • B. Transform reversal-bounded OCA into NFA

17/37

slide-28
SLIDE 28

Bounding the number of reversals: ingredients

  • 1. Process counter updates in batches:

keep todo ∈ [−n, n] in control state, then flush it into the counter

  • 2. Shift around simple cycles:

Do all increasing cycles as soon as possible. Do all decreasing cycles as late as possible.

18/37

slide-29
SLIDE 29

Bounding the number of reversals: ingredients

  • 1. Process counter updates in batches:

keep todo ∈ [−n, n] in control state, then flush it into the counter

  • 2. Shift around simple cycles:

Do all increasing cycles as soon as possible. Do all decreasing cycles as late as possible. Claim: Can find another OCA A′ of size poly(n) such that ψ(L(A)) = ψ(runs of A′ with poly(n) reversals)

18/37

slide-30
SLIDE 30

Proof strategy

  • A. Bound the number of reversals by poly(n)
  • B. Transform reversal-bounded OCA into NFA

19/37

slide-31
SLIDE 31

From mountains to trees

20/37

slide-32
SLIDE 32

Complexity measure for trees

Intuition:

◮ Trees with small number of nodes are simple ◮ Unbalanced trees (e.g., single long branches) are simple ◮ Complete binary trees are complex 21/37

slide-33
SLIDE 33

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-34
SLIDE 34

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-35
SLIDE 35

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-36
SLIDE 36

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-37
SLIDE 37

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-38
SLIDE 38

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-39
SLIDE 39

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-40
SLIDE 40

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-41
SLIDE 41

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-42
SLIDE 42

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-43
SLIDE 43

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-44
SLIDE 44

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-45
SLIDE 45

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-46
SLIDE 46

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-47
SLIDE 47

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-48
SLIDE 48

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-49
SLIDE 49

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-50
SLIDE 50

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-51
SLIDE 51

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-52
SLIDE 52

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-53
SLIDE 53

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-54
SLIDE 54

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-55
SLIDE 55

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-56
SLIDE 56

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-57
SLIDE 57

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-58
SLIDE 58

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-59
SLIDE 59

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-60
SLIDE 60

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-61
SLIDE 61

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-62
SLIDE 62

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-63
SLIDE 63

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-64
SLIDE 64

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-65
SLIDE 65

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-66
SLIDE 66

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-67
SLIDE 67

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-68
SLIDE 68

Evaluating arithmetic expressions + ↑

  • *

/

14 15 92 65 35 89

How many registers are needed? Ri := Ri op Rj + - * / ↑ 4 registers

  • * / + ↑

3 registers In general?

22/37

slide-69
SLIDE 69

Smallest number of registers

= black pebbling number = 1 + Strahler number = 1 + max height of an embedded complete binary tree [Horton (1945), Strahler (1952), Ershov (1958)] [survey: Esparza et al., LATA’14] Strahler number s(tree): s1 s2 →

  • max(s1, s2),

s1 = s2 max(s1, s2) + 1, s1 = s2 → 0

23/37

slide-70
SLIDE 70

Putting things together: obligations

New NFA B guesses a tree with poly(n) leaves:

◮ The tree is traversed from root to leaves ◮ Whenever B does not enter a subtree, it records obligation

  • n the stack

◮ Obligations are discharged later 24/37

slide-71
SLIDE 71

Putting things together: obligations

New NFA B guesses a tree with poly(n) leaves:

◮ The tree is traversed from root to leaves ◮ Whenever B does not enter a subtree, it records obligation

  • n the stack

◮ Obligations are discharged later

For a good strategy, O(log n) obligations suffice (Strahler!). There are poly(n) possible obligations. Transforming stack of height O(log n) to NFA: nO(log n) states.

24/37

slide-72
SLIDE 72

Parikh’s theorem for OCL: upper bound

Atig, Chistikov, Hofman, Kumar, Saivasan, Zetzsche, LICS’16

Theorem

For every one-counter automaton A with n states there exists a nondeterministic finite-state automaton B with at most nO(log n) states such that ψ(L(A)) = ψ(L(B)).

25/37

slide-73
SLIDE 73

Outline

  • 1. Why Parikh’s theorem from the complexity viewpoint?
  • 2. One-counter languages: upper bound
  • 3. One-counter languages: lower bound

26/37

slide-74
SLIDE 74

Parikh’s theorem for OCL: lower bound

Chistikov, Vyalyi, LICS’20

Theorem

There exists a one-counter automaton A with n states such that every nondeterministic finite-state automaton B with ψ(L(A)) = ψ(L(B)) has size nΩ(√

log n/ log log n).

Recall the upper bound: nO(log n)

27/37

slide-75
SLIDE 75

Proof attempt: many trees to remember?

q1 q2 q3 · · · qn a1, +1 a2, −1 a3, +1 an, (−1)n+1 up∗ down∗ up∗ down∗ up∗ down∗

28/37

slide-76
SLIDE 76

Proof attempt: many trees to remember?

q1 q2 q3 · · · qn a1, +1 a2, −1 a3, +1 an, (−1)n+1 up∗ down∗ up∗ down∗ up∗ down∗ For n = 6, accepts words aℓ1

1 aℓ2 2 aℓ3 3 aℓ4 4 aℓ5 5 aℓ6 6 such that: ◮ ℓ1 − ℓ2 ≥ 0 ◮ ℓ1 − ℓ2 + ℓ3 − ℓ4 ≥ 0 ◮ ℓ1 − ℓ2 + ℓ3 − ℓ4 + ℓ5 − ℓ6 = 0

NFA can ignore trees: (a1a2)∗(a1a4)∗(a1a6)∗(a3a4)∗(a3a6)∗(a5a6)∗

28/37

slide-77
SLIDE 77

Another attempt: many subsets of states to remember?

q1 q2 q3 · · · qn c1,2 c2,3 c1,3 c1,n c2,n c3,n a1, +1 a2, −1 a3, +1 an, (−1)n+1 A variant of this OCA is provably the hardest example. [Atig et al., LICS’16]

29/37

slide-78
SLIDE 78

Another attempt: many subsets of states to remember?

q1 q2 q3 · · · qn c1,2 c2,3 c1,3 c1,n c2,n c3,n a1, +1 a2, −1 a3, +1 an, (−1)n+1 A variant of this OCA is provably the hardest example. [Atig et al., LICS’16] What’s happening for each subset?

29/37

slide-79
SLIDE 79

Re-pairing problem

Defined for Dyck words

( ( ) ( ) )

30/37

slide-80
SLIDE 80

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - + - -

30/37

slide-81
SLIDE 81

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - + - -

Move: erase any pair of + and − such that + is to the left of −

30/37

slide-82
SLIDE 82

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - -

Move: erase any pair of + and − such that + is to the left of −

30/37

slide-83
SLIDE 83

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - -

Move: erase any pair of + and − such that + is to the left of − General goal: erase everything

30/37

slide-84
SLIDE 84

Re-pairing problem

Defined for Dyck words over {+, −}

+

  • Move: erase any pair of + and − such that + is to the left of −

General goal: erase everything

30/37

slide-85
SLIDE 85

Re-pairing problem

Defined for Dyck words over {+, −} Move: erase any pair of + and − such that + is to the left of − General goal: erase everything

30/37

slide-86
SLIDE 86

Re-pairing problem

Defined for Dyck words over {+, −} Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-87
SLIDE 87

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - + - -

width: 1 → Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-88
SLIDE 88

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - -

width: 1 → 2 → Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-89
SLIDE 89

Re-pairing problem

Defined for Dyck words over {+, −}

+

  • width: 1 → 2 → 2 →

Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-90
SLIDE 90

Re-pairing problem

Defined for Dyck words over {+, −} width: 1 → 2 → 2 → 0 Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-91
SLIDE 91

Re-pairing problem

Defined for Dyck words over {+, −} width: 1 → 2 → 2 → 0 Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-92
SLIDE 92

Re-pairing problem

Defined for Dyck words over {+, −} Width of this re-pairing = 2 Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-93
SLIDE 93

Re-pairing problem

Defined for Dyck words over {+, −}

+ + - + - -

Width of this re-pairing = 2 Move: erase any pair of + and − such that + is to the left of − General goal: erase everything Objective: minimize the maximum width seen during the play Width = number of ‘islands’ of signs separated by blank space

30/37

slide-94
SLIDE 94

Minimizing width of re-pairings

The width of a Dyck word is the minimum width of its re-pairings.

31/37

slide-95
SLIDE 95

Minimizing width of re-pairings

The width of a Dyck word is the minimum width of its re-pairings. Do all Dyck words have re-pairings of width ≤ 2020 ?

31/37

slide-96
SLIDE 96

Minimizing width of re-pairings

The width of a Dyck word is the minimum width of its re-pairings. Do all Dyck words have re-pairings of width ≤ 2020 ? Can we prove lower bounds on the width?

31/37

slide-97
SLIDE 97

Width of words and NFA size: strategy

  • 1. There are sequences of words with unbounded width:

width(Yn) → ∞

  • 2. Lower bounds on width imply lower bounds on NFA size:

nΩ(width(wn))

32/37

slide-98
SLIDE 98

Simple re-pairings

  • 1. Every Dyck word w has a re-pairing of width O(log |w|).

33/37

slide-99
SLIDE 99

Simple re-pairings

  • 1. Every Dyck word w has a re-pairing of width O(log |w|).

This re-pairing is simple: always pairs up matching signs.

33/37

slide-100
SLIDE 100

Simple re-pairings

  • 1. Every Dyck word w has a re-pairing of width O(log |w|).

This re-pairing is simple: always pairs up matching signs.

  • 2. For simple re-pairings, we know the optimal width

up to a multiplicative constant. For Dyck words associated with binary trees: height of the largest complete binary tree that is a minor (Strahler number, tree dimension). Technique: black-and-white pebble games. [Lengauer and Tarjan (1980)]

33/37

slide-101
SLIDE 101

How powerful are simple re-pairings?

+ + . . . + +

  • k

w − − . . . − −

  • k

.

34/37

slide-102
SLIDE 102

How powerful are simple re-pairings?

Not very powerful: The width of + + . . . + +

  • k

w − − . . . − −

  • k

. is at most 2 if k ≥ |w|/2. But w can have big complete binary subtrees. = ⇒ Growing gap between simple and non-simple re-pairings

34/37

slide-103
SLIDE 103

Width of words and NFA size: results

  • 1. There are sequences of words with unbounded width

width(Yn) = Ω(

  • log n/ log log n)
  • 2. This implies lower bounds on NFA size:

nΩ(√

log n/ log log n) 35/37

slide-104
SLIDE 104

Parikh’s theorem for OCL: lower bound

Chistikov, Vyalyi, LICS’20

Theorem

There exists a one-counter automaton A with n states such that every nondeterministic finite-state automaton B with ψ(L(A)) = ψ(L(B)) has size nΩ(√

log n/ log log n).

Recall the upper bound: nO(log n)

36/37

slide-105
SLIDE 105

State complexity

Program size complexity of problem: the minimum size of program that solves the problem State complexity of language L: the minimum size of NFA that accepts L Why study these measures?

◮ We want to understand what makes problems difficult ◮ Programs and their models become data (e.g., in verification),

hence minimization questions

◮ Limitations of models of computation =

⇒ analysis algorithms Thank you! http://warwick.ac.uk/chdir

37/37