Quotient Complexity of Regular Languages Janusz Brzozowski David R. - - PowerPoint PPT Presentation

quotient complexity of regular languages
SMART_READER_LITE
LIVE PREVIEW

Quotient Complexity of Regular Languages Janusz Brzozowski David R. - - PowerPoint PPT Presentation

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results Quotient Complexity of Regular Languages Janusz Brzozowski David R. Cheriton School of Computer Science Tallinn University of Technology


slide-1
SLIDE 1

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Complexity of Regular Languages

Janusz Brzozowski

David R. Cheriton School of Computer Science

Tallinn University of Technology Tallinn, Estonia June 9, 2011

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-2
SLIDE 2

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-3
SLIDE 3

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages Quotient Complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-4
SLIDE 4

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages Quotient Complexity State Complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-5
SLIDE 5

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-6
SLIDE 6

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-7
SLIDE 7

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Outline

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results Conclusions

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-8
SLIDE 8

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Languages

Alphabet Σ a finite set of letters Set of all words Σ∗ free monoid generated by Σ Empty word ε Language L ⊆ Σ∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-9
SLIDE 9

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Operations on Languages

complement L = Σ∗ \ L union K ∪ L intersection K ∩ L difference K \ L symmetric difference K ⊕ L general binary boolean operation K ◦ L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-10
SLIDE 10

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Operations on Languages

complement L = Σ∗ \ L union K ∪ L intersection K ∩ L difference K \ L symmetric difference K ⊕ L general binary boolean operation K ◦ L product or (con)catenation, K · L = {w ∈ Σ∗ | w = uv, u ∈ K, v ∈ L} star K ∗ =

i≥0 K i

positive closure K + =

i≥1 K i

reverse LR εR = ε, (wa)R = awR

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-11
SLIDE 11

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Regular or Rational Languages

basic languages {∅, {ε}} ∪ {{a} | a ∈ Σ} use a finite number of rational operations ∪, ·, ∗, (−)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-12
SLIDE 12

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Regular or Rational Languages

basic languages {∅, {ε}} ∪ {{a} | a ∈ Σ} use a finite number of rational operations ∪, ·, ∗, (−) Notation clumsy L = ({ε} ∪ {a})∗ · {b} Free algebra over {ε, ∅} ∪ Σ with function symbols ∪, ·, ∗ Use regular expression E = (ε ∪ a)∗ · b

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-13
SLIDE 13

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Regular or Rational Languages

basic languages {∅, {ε}} ∪ {{a} | a ∈ Σ} use a finite number of rational operations ∪, ·, ∗, (−) Notation clumsy L = ({ε} ∪ {a})∗ · {b} Free algebra over {ε, ∅} ∪ Σ with function symbols ∪, ·, ∗ Use regular expression E = (ε ∪ a)∗ · b Mapping L from free algebra to regular languages L(∅) = ∅, L(ε) = {ε}, L(a) = {a} L(E ∪ F) = L(E) ∪ L(F) L(E · F) = L(E) · L(F), L(E ∗) = (L(E))∗ L(E) = L(E)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-14
SLIDE 14

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Complexity of a Language

Left quotient, or quotient of a language L by a word w The language Lw = {x ∈ Σ∗ | wx ∈ L}

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-15
SLIDE 15

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Complexity of a Language

Left quotient, or quotient of a language L by a word w The language Lw = {x ∈ Σ∗ | wx ∈ L} The quotient complexity of L is the number of quotients of L Denoted by κ(L) (kappa for both kwotient and komplexity) κ(L) defined for any language, and may be finite or infinite

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-16
SLIDE 16

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Complexity of a Language

Left quotient, or quotient of a language L by a word w The language Lw = {x ∈ Σ∗ | wx ∈ L} The quotient complexity of L is the number of quotients of L Denoted by κ(L) (kappa for both kwotient and komplexity) κ(L) defined for any language, and may be finite or infinite Example Example: Σ = {a, b}, L = aΣ∗ κ(L) = 3

Lε = L La = Σ∗ = Laa = Lab Lb = ∅ = Lba = Lbb

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-17
SLIDE 17

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Finding Quotients: The ε-Function

Does L contain the empty word? xε = ∅, if x = ∅, or x ∈ Σ; ε, if x = ε (L)ε = ∅, if Lε = ε; ε, if Lε = ∅

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-18
SLIDE 18

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Finding Quotients: The ε-Function

Does L contain the empty word? xε = ∅, if x = ∅, or x ∈ Σ; ε, if x = ε (L)ε = ∅, if Lε = ε; ε, if Lε = ∅ (K ∪ L)ε = K ε ∪ Lε (KL)ε = K ε ∩ Lε (L∗)ε = ε

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-19
SLIDE 19

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient by a Letter

xa = ∅, if x ∈ {∅, ε}, or x ∈ Σ and x = a; ε, if x = a

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-20
SLIDE 20

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient by a Letter

xa = ∅, if x ∈ {∅, ε}, or x ∈ Σ and x = a; ε, if x = a (L)a = (La) (K ∪ L)a = Ka ∪ La (KL)a = KaL ∪ K εLa (L∗)a = LaL∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-21
SLIDE 21

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient by a Word

Lε = L Lw = La, if w = a ∈ Σ Lwa = (Lw)a

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-22
SLIDE 22

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient by a Word

Lε = L Lw = La, if w = a ∈ Σ Lwa = (Lw)a Calculating quotients, we get expressions called derivatives There is an infinite number of distinct derivatives

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-23
SLIDE 23

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient by a Word

Lε = L Lw = La, if w = a ∈ Σ Lwa = (Lw)a Calculating quotients, we get expressions called derivatives There is an infinite number of distinct derivatives Example (a∗)a = (a)aa∗ = εa∗ (a∗)aa = (εa∗)a = εaa∗ ∪ ε(a∗)a = ∅a∗ ∪ ε(εa∗), etc.

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-24
SLIDE 24

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Similarity Laws

L ∪ L = L K ∪ L = L ∪ K K ∪ (L ∪ M) = (K ∪ L) ∪ M L ∪ ∅ = L L∅ = ∅L = ∅ Lε = εL = L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-25
SLIDE 25

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotients, Equations, Automata

Example Example: Σ = {a, b}, L = aΣ∗

Lε = L La = Σ∗ = Laa = Lab Lb = ∅ = Lba = Lbb

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-26
SLIDE 26

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotients, Equations, Automata

Example Example: Σ = {a, b}, L = aΣ∗

Lε = L La = Σ∗ = Laa = Lab Lb = ∅ = Lba = Lbb

L = aLa ∪ bLb, La = aLa ∪ bLa ∪ ε, Lb = aLb ∪ bLb.

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-27
SLIDE 27

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotients, Equations, Automata

Example Example: Σ = {a, b}, L = aΣ∗

Lε = L La = Σ∗ = Laa = Lab Lb = ∅ = Lba = Lbb

L = aLa ∪ bLb, La = aLa ∪ bLa ∪ ε, Lb = aLb ∪ bLb.

a, b La Lb L a b a, b

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-28
SLIDE 28

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Extended Regular Expressions

Example (L = Σ∗aΣ∗ ∩ Σ∗bbΣ∗) Lε = L La = Σ∗bbΣ∗ Lb = Σ∗aΣ∗ ∩ Σ∗bbΣ∗ ∪ bΣ∗ Laa = La Lab = Σ∗bbΣ∗ ∪ bΣ∗ Lba = Σ∗bbΣ∗ = La Lbb = ∅ Laba = La Labb = ∅

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-29
SLIDE 29

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Extended Regular Expressions

Example (L = Σ∗aΣ∗ ∩ Σ∗bbΣ∗) Lε = L La = Σ∗bbΣ∗ Lb = Σ∗aΣ∗ ∩ Σ∗bbΣ∗ ∪ bΣ∗ Laa = La Lab = Σ∗bbΣ∗ ∪ bΣ∗ Lba = Σ∗bbΣ∗ = La Lbb = ∅ Laba = La Labb = ∅ L = aLa ∪ bLb, La = aLa ∪ bLab ∪ ε, Lb = aLa ∪ b∅, Lab = aLa ∪ b∅

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-30
SLIDE 30

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Solving Equations X = AX ∪ B = ⇒ X = A∗B

Example (L = Σ∗aΣ∗ ∩ Σ∗bbΣ∗) L = aLa ∪ bLb La = aLa ∪ bLab ∪ ε Lb = aLa ∪ b∅ Lab = aLa ∪ b∅

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-31
SLIDE 31

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Solving Equations X = AX ∪ B = ⇒ X = A∗B

Example (L = Σ∗aΣ∗ ∩ Σ∗bbΣ∗) L = aLa ∪ bLb La = aLa ∪ bLab ∪ ε Lb = aLa ∪ b∅ Lab = aLa ∪ b∅ L = aLa ∪ bLb La = aLa ∪ bLb ∪ ε Lb = aLa ∪ b∅

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-32
SLIDE 32

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Solving Equations X = AX ∪ B = ⇒ X = A∗B

Example (L = Σ∗aΣ∗ ∩ Σ∗bbΣ∗) L = aLa ∪ bLb La = aLa ∪ bLab ∪ ε Lb = aLa ∪ b∅ Lab = aLa ∪ b∅ L = aLa ∪ bLb La = aLa ∪ bLb ∪ ε Lb = aLa ∪ b∅ L = (a ∪ ba)La La = (a ∪ ba)La ∪ ε = (a ∪ ba)∗ L = (a ∪ ba)(a ∪ ba)∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-33
SLIDE 33

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Automata

Deterministic finite automaton DFA A = (Q, Σ, δ, q0, F) Q set of states δ : Q × Σ → Q transition function q0 initial state F ⊆ Q set of final or accepting states

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-34
SLIDE 34

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Automata

Deterministic finite automaton DFA A = (Q, Σ, δ, q0, F) Q set of states δ : Q × Σ → Q transition function q0 initial state F ⊆ Q set of final or accepting states Nondeterministic finite automaton NFA N = (Q, Σ, δ, I, F) Q set of states δ : Q × Σ → 2Q transition function I set of initial states F ⊆ Q set of final or accepting states

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-35
SLIDE 35

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Automaton

DFA A = (Q, Σ, δ, q0, F) Q = {Lw | w ∈ Σ∗} δ(Lw, a) = Lwa q0 = Lε = L F = {Lw | ε ∈ Lw} accepting or final quotients

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-36
SLIDE 36

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Automaton

DFA A = (Q, Σ, δ, q0, F) Q = {Lw | w ∈ Σ∗} δ(Lw, a) = Lwa q0 = Lε = L F = {Lw | ε ∈ Lw} accepting or final quotients L is recognizable if and only if the number of quotients is finite (Nerode, 1958; Brzozowski, 1962)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-37
SLIDE 37

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-38
SLIDE 38

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L Why define the complexity of a language by the size of its automaton, a different object?

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-39
SLIDE 39

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L Why define the complexity of a language by the size of its automaton, a different object? Quotient DFA of L is isomorphic to the minimal DFA of L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-40
SLIDE 40

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L Why define the complexity of a language by the size of its automaton, a different object? Quotient DFA of L is isomorphic to the minimal DFA of L State complexity = quotient complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-41
SLIDE 41

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L Why define the complexity of a language by the size of its automaton, a different object? Quotient DFA of L is isomorphic to the minimal DFA of L State complexity = quotient complexity Quotient complexity is more natural

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-42
SLIDE 42

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

State Complexity

State complexity of L is the number of states in the minimal DFA recognizing L Why define the complexity of a language by the size of its automaton, a different object? Quotient DFA of L is isomorphic to the minimal DFA of L State complexity = quotient complexity Quotient complexity is more natural Quotients have some advantages

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-43
SLIDE 43

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Complexity of Operations

A subclass C of regular languages L1, . . . , Lk ∈ C with quotient complexities n1, . . . , nk A k-ary operation f on L1, . . . , Lk Quotient complexity of f (L1, . . . , Lk) Quotient complexity of f in C is the worst case quotient complexity of f (L1, . . . , Lk) as L1, . . . , Lk range over C A function of n1, . . . , nk

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-44
SLIDE 44

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Complexity of Operations

A subclass C of regular languages L1, . . . , Lk ∈ C with quotient complexities n1, . . . , nk A k-ary operation f on L1, . . . , Lk Quotient complexity of f (L1, . . . , Lk) Quotient complexity of f in C is the worst case quotient complexity of f (L1, . . . , Lk) as L1, . . . , Lk range over C A function of n1, . . . , nk Example Regular languages K and L with κ(K) = m, κ(L) = n Union: κ(K ∪ L) ≤ mn Complement: κ(L) = κ(L) = n

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-45
SLIDE 45

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Some Early Work on State Complexity

1957, Rabin and Scott: upper bound of mn for intersection 1962, Brzozowski: upper bounds for union, product and star 1963, Lupanov: NFA to DFA conversion bound of 2n is tight 1964, Lyubich: unary case 1966, Mirkin: 2n bound for reversal is attainable 1970, Maslov: examples meeting bounds for union, concatenation, star and other operations 1971, Moore: NFA to DFA conversion bound of 2n is tight (rediscovered)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-46
SLIDE 46

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Some Early Work on State Complexity

1957, Rabin and Scott: upper bound of mn for intersection 1962, Brzozowski: upper bounds for union, product and star 1963, Lupanov: NFA to DFA conversion bound of 2n is tight 1964, Lyubich: unary case 1966, Mirkin: 2n bound for reversal is attainable 1970, Maslov: examples meeting bounds for union, concatenation, star and other operations 1971, Moore: NFA to DFA conversion bound of 2n is tight (rediscovered) Renewed interest 1991, Birget: “state complexity” 1994, Yu, Zhuang, K. Salomaa: complexity of operations

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-47
SLIDE 47

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L))

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-48
SLIDE 48

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete”

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-49
SLIDE 49

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one?

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-50
SLIDE 50

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”?

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-51
SLIDE 51

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”?

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-52
SLIDE 52

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-53
SLIDE 53

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly Construct NFA, convert to DFA

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-54
SLIDE 54

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly Construct NFA, convert to DFA Use NFA with ε transitions

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-55
SLIDE 55

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly Construct NFA, convert to DFA Use NFA with ε transitions Use NFA with multiple initial states

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-56
SLIDE 56

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly Construct NFA, convert to DFA Use NFA with ε transitions Use NFA with multiple initial states

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-57
SLIDE 57

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper Bounds Using Automata

Given automata A, B of languages K, L, find κ(f (K, L)) Check if automata “complete” If there is a “sink state”, is there only one? Is every state “useful”? Construct DFA for f (K, L) directly Construct NFA, convert to DFA Use NFA with ε transitions Use NFA with multiple initial states There is an alternative: Quotient complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-58
SLIDE 58

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Formulas for Boolean Operations and Product

Theorem If K and L are regular expressions, then (L)w = Lw (K ◦ L)w = Kw ◦ Lw (KL)w = KwL ∪ K εLw ∪   

  • w=uv

u,v∈Σ+

K ε

uLv

  

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-59
SLIDE 59

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Example Formula for Product: (KL)w = KwL ∪ K εLw ∪

  • w=uv

u,v∈Σ+ K ε

uLv

  • Example

κ(G) = n (Σ∗G)w = Σ∗G ∪ Gw ∪

w=uv Gv

G is always present on the right-hand side At most 2n−1 subsets of quotients to be added to Σ∗G κ(Σ∗G) ≤ 2n−1

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-60
SLIDE 60

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Formula for Star

Theorem For the empty word (L∗)ε = ε ∪ LL∗ and for w ∈ Σ+ (L∗)w =   Lw ∪

  • w=uv

u,v∈Σ+

(L∗)ε

uLv

   L∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-61
SLIDE 61

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Quotient Formulas

All you have to do is count!

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-62
SLIDE 62

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper bounds for operations

Theorem For any languages K and L with κ(K) = m and κ(L) = n, κ(L) = n. κ(K ◦ L) ≤ mn. If K (L) has k (ℓ) accepting quotients, then

If k = 0 or ℓ = 0, then κ(KL) = 1. If k, ℓ > 0 and n = 1, then κ(KL) ≤ m − (k − 1). If k, ℓ > 0 and n > 1, then κ(KL) ≤ m2n − k2n−1.

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-63
SLIDE 63

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Upper bounds for operations

Theorem For any languages K and L with κ(K) = m and κ(L) = n, κ(L) = n. κ(K ◦ L) ≤ mn. If K (L) has k (ℓ) accepting quotients, then

If k = 0 or ℓ = 0, then κ(KL) = 1. If k, ℓ > 0 and n = 1, then κ(KL) ≤ m − (k − 1). If k, ℓ > 0 and n > 1, then κ(KL) ≤ m2n − k2n−1.

Claim for boolean operations is obvious since (L)w = Lw and (K ∪ L)w = Kw ∪ Lw

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-64
SLIDE 64

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Proof for product (KL)w = KwL ∪ K εLw ∪ (

w=uv u,v∈Σ+ K ε

uLv)

if k = 0 or ℓ = 0, then KL = ∅ and κ(KL) = 1 If k, l > 0, n = 1, then L = Σ∗ and w ∈ K ⇒ (KL)w = Σ∗ All k accepting quotients of K produce Σ∗ in KL (1) For each rejecting quotient of K, we have two choices for the union of quotients of L: the empty union or Σ∗ If we choose the empty union, at most m − k quotients of KL Choosing Σ∗ results in (KL)w = Σ∗, which has been counted Altogether, there are at most 1 + m − k quotients of KL

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-65
SLIDE 65

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Proof for product (KL)w = KwL ∪ K εLw ∪ (

w=uv u,v∈Σ+ K ε

uLv)

k, l > 0 and n > 1 If w / ∈ K, then we can choose Kw in m − k ways, and the union of quotients of L in 2n ways If w ∈ K, then we can choose Kw in k ways, and the set of quotients of L in 2n−1 ways, since L is then always present Thus we have (m − k)2n + k2n−1

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-66
SLIDE 66

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Star

Let M = L∗, w = ε Mw = (Lw ∪ Mε

wL ∪

w=uv u,v∈Σ+ Mε

uLv)M

Theorem If n = 1, then κ(L∗) ≤ 2. If n > 1 and only Lε accepts, then κ(L∗) = n. If n > 1 and L has l > 0 accepting quotients = L, then κ(L∗) ≤ 2n−1 + 2n−l−1.

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-67
SLIDE 67

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

This is a challenging problem Take a guess How do you prove the guess meets the bound? Use quotients, of course!

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-68
SLIDE 68

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-69
SLIDE 69

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-70
SLIDE 70

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-71
SLIDE 71

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-72
SLIDE 72

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-73
SLIDE 73

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn xu not full of a’s, is full of b’s, yu full of a’s and b’s

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-74
SLIDE 74

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn xu not full of a’s, is full of b’s, yu full of a’s and b’s Then xu / ∈ K, yu ∈ K, and xu, yu ∈ L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-75
SLIDE 75

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn xu not full of a’s, is full of b’s, yu full of a’s and b’s Then xu / ∈ K, yu ∈ K, and xu, yu ∈ L xu ∈ K ⊕ L, and yu / ∈ K ⊕ L, i.e., (K ⊕ L)x = (K ⊕ L)y

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-76
SLIDE 76

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn xu not full of a’s, is full of b’s, yu full of a’s and b’s Then xu / ∈ K, yu ∈ K, and xu, yu ∈ L xu ∈ K ⊕ L, and yu / ∈ K ⊕ L, i.e., (K ⊕ L)x = (K ⊕ L)y Case j < ℓ is similar

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-77
SLIDE 77

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Witnesses to bounds

Example Symmetric difference, K ⊕ L K = (b∗a)m−1(a ∪ b)∗, L = (a∗b)n−1(a ∪ b)∗ Words aibj, 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 Let x = aibj and y = akbℓ If i < k, let u = am−1−kbn xu not full of a’s, is full of b’s, yu full of a’s and b’s Then xu / ∈ K, yu ∈ K, and xu, yu ∈ L xu ∈ K ⊕ L, and yu / ∈ K ⊕ L, i.e., (K ⊕ L)x = (K ⊕ L)y Case j < ℓ is similar All quotients of K ⊕ L by these mn words are distinct

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-78
SLIDE 78

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Recent work on quotient complexity

TCS 1994: Yu, Zhuang, K. Salomaa: regular languages (state complexity) WIA 2001, Cˆ ampeanu, Culik, Salomaa, Yu: finite languages DCFS 2009: Brzozowski: regular languages (quotients) TCS 2009: Han Salomaa: suffix-free languages 2009: Han, Salomaa, Wood: prefix-free languages LATIN 2010, Brzozowski, Jir´ askov´ a, Li: ideal languages CSR 2010, Brzozowski, Jir´ askov´ a, Zou: closed languages AFL 2011, Brzozowski, Liu: star-free languages AFL 2011, Brzozowski, Jir´ askov´ a, Li, Smith: bifix-, factor-, subword-free languages

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-79
SLIDE 79

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-80
SLIDE 80

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-81
SLIDE 81

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-82
SLIDE 82

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w p¨ aev is suffix of laup¨ aev

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-83
SLIDE 83

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w p¨ aev is suffix of laup¨ aev w = uxv x is a factor of w

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-84
SLIDE 84

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w p¨ aev is suffix of laup¨ aev w = uxv x is a factor of w serv is a factor of konservatiivsus

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-85
SLIDE 85

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w p¨ aev is suffix of laup¨ aev w = uxv x is a factor of w serv is a factor of konservatiivsus w = w0a0w1a1 · · · anwn a0 · · · an is a subword of w

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-86
SLIDE 86

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Prefixes, Suffixes, Factors and Subwords

w = uv u is a prefix of w ¨ uks is a prefix of ¨ uksteist w = uv v is a suffix of w p¨ aev is suffix of laup¨ aev w = uxv x is a factor of w serv is a factor of konservatiivsus w = w0a0w1a1 · · · anwn a0 · · · an is a subword of w kaks is a subword of kaheksa

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-87
SLIDE 87

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Convex Languages

A language L is prefix-convex if u is a prefix of v, v is a prefix

  • f w and u, w ∈ L implies v ∈ L

L is prefix-closed if u is a prefix of v and v ∈ L implies u in L L is converse prefix-closed if u is a prefix of v, and u ∈ L implies v ∈ L right ideal L is prefix-free if u = v is a prefix of v and v ∈ L implies u ∈ L prefix code

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-88
SLIDE 88

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Convex Languages

A language L is prefix-convex if u is a prefix of v, v is a prefix

  • f w and u, w ∈ L implies v ∈ L

L is prefix-closed if u is a prefix of v and v ∈ L implies u in L L is converse prefix-closed if u is a prefix of v, and u ∈ L implies v ∈ L right ideal L is prefix-free if u = v is a prefix of v and v ∈ L implies u ∈ L prefix code L is suffix-convex L is factor-convex L is subword-convex L is bifix-convex

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-89
SLIDE 89

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Closed Languages

L is prefix-closed L is suffix-closed L is factor-closed L is subword-closed L is bifix-closed if it is both prefix- and suffix-closed if and only if it is factor closed

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-90
SLIDE 90

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Ideal Languages

L is nonempty Right ideal L = LΣ∗ Left ideal L = Σ∗L Two-sided ideal L = Σ∗LΣ∗ All-sided ideal L = Σ∗ L

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-91
SLIDE 91

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Ideal Languages

L is nonempty Right ideal L = LΣ∗ Left ideal L = Σ∗L Two-sided ideal L = Σ∗LΣ∗ All-sided ideal L = Σ∗ L Shuffle: let w = a1a2 · · · ak, ai ∈ Σ Σ∗ w = Σ∗ (a1a2 · · · ak) = Σ∗a1Σ∗a2Σ∗ · · · Σ∗akΣ∗ Σ∗ L =

w∈L(Σ∗

w)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-92
SLIDE 92

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

X-Free Languages

L is prefix-free: L is suffix-free L is factor-free L is subword-free L is bifix-free if it is both prefix- and suffix-free

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-93
SLIDE 93

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Star-Free Languages

∅, {ε}, {a}, a ∈ Σ are star-free If K and L are star-free, then so are

L K ∪ L KL

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-94
SLIDE 94

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Star-Free Languages

∅, {ε}, {a}, a ∈ Σ are star-free If K and L are star-free, then so are

L K ∪ L KL

The smallest class of languages containing finite languages and closed under boolean operations and product

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-95
SLIDE 95

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Tight Upper Bounds for Union (|Σ|)

mn regular (2), star-free (2), prefix-, factor-, subword-closed (2), suffix-closed (4), left ideal (4) mn − 2 prefix-free (2) mn − (m + n − 2) suffix-free (2), right, two-sided, all-sided ideal (2) mn − (m + n) bifix-, factor-free (3), subword-free (m + n − 3), finite (mn − 2(m + n) + 5) max(m, n) free unary, closed unary min(m, n) ideal unary Similar results for intersection, difference, symmetric difference

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-96
SLIDE 96

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Tight Upper Bounds for Product (|Σ|)

(m − 1)2n + 2n−1 regular (2), star-free (4) (m − 1)2n−1 + 1 suffix-free (3) (m + 1)2n−2 prefix-closed (3) m + 2n−2 right ideal (3) (m − 1)n + 1 suffix-closed (3) m + n − 1 left, two-sided, all-sided ideal (1), unary ideal, factor-closed (2), subword-closed (2) m + n − 2 closed unary, free unary, prefix-, bifix-, factor, subword-free (1)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-97
SLIDE 97

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Tight Upper Bounds for Star (|Σ|)

2n−1 + 2n−2 regular (2), star-free (4) 2n−2 + 1 prefix-closed (3), suffix-free (2) 2n−3 + 2n−4 finite (3) n2 − 7n + 13 finite unary, star-free unary n + 1 left, right, two-sided, all-sided ideals (2) n free unary, suffix-closed (2), prefix-free (2) n − 1 bifix-, factor-, subword-free (2) 2 closed unary, factor-, subword-closed (2)

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-98
SLIDE 98

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Tight Upper Bounds for Reversal (|Σ|)

2n regular (2), 2n − 1 star-free (n − 1) 2n−1 + 1 suffix-closed (3), left ideal (3) 2n−1 prefix-closed (2), right ideal (2) 2n−2 + 1 free unary, prefix-, suffix-free (3), factor-closed (3), subword-closed (2n), two-sided, all-sided ideal (3) 2n−3 + 2 bifix-, factor-free (3), subword-free (2n−3 − 1) 2(n+1)/2 − 1 finite, n odd (2) 3 · 2n/2−1 − 1 finite, n even (2) n unary

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-99
SLIDE 99

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-100
SLIDE 100

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-101
SLIDE 101

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations Verifying that witnesses meet these bounds

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-102
SLIDE 102

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations Verifying that witnesses meet these bounds A step towards a theory of complexity of languages

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-103
SLIDE 103

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations Verifying that witnesses meet these bounds A step towards a theory of complexity of languages An interesting theory

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-104
SLIDE 104

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations Verifying that witnesses meet these bounds A step towards a theory of complexity of languages An interesting theory Difficult problems

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-105
SLIDE 105

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Conclusions

Quotients provide a uniform approach Upper bounds for the complexity of operations Verifying that witnesses meet these bounds A step towards a theory of complexity of languages An interesting theory Difficult problems State complexity useful when implementing regular operations

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-106
SLIDE 106

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Related work

Combined operations, for example, KL∗

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-107
SLIDE 107

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Related work

Combined operations, for example, KL∗ Other operations, for example, shuffle

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-108
SLIDE 108

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Related work

Combined operations, for example, KL∗ Other operations, for example, shuffle Nondeterministic complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-109
SLIDE 109

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Related work

Combined operations, for example, KL∗ Other operations, for example, shuffle Nondeterministic complexity Transition complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-110
SLIDE 110

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

Related work

Combined operations, for example, KL∗ Other operations, for example, shuffle Nondeterministic complexity Transition complexity Syntactic complexity

Janusz Brzozowski Quotient Complexity of Regular Languages

slide-111
SLIDE 111

Regular Languages Quotient Complexity State Complexity Upper Bounds on Complexity of Operations Results

L˜ OPP

Janusz Brzozowski Quotient Complexity of Regular Languages