star height of regular languages - uni-freiburg.de · 2015. 4. 1. · thomas lang star height of...

98
Star height of regular languages Thomas Lang 14 July 2014

Upload: others

Post on 13-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular languages

Thomas Lang

14 July 2014

Page 2: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 2 / 29

Page 3: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 3 / 29

Page 4: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 5: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 6: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 7: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|

I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 8: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 9: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 10: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Motivation

Let L1, L2 be regular languages.

Aim: Give meaning to the statement

L1 is more complicated than L2.

Attempt 1: L1 is more complicated than L2 if |L1| > |L2|I Problem: Infinite languages not comparable

Attempt 2: L1 is more complicated than L2 if the minimal automatonof L1 has more states than the minimal automaton of L2

I Problem: {a1000} more complicated than {an|n ∈ N0}

Thomas Lang Star height of regular languages July 2014 4 / 29

Page 11: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 5 / 29

Page 12: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 13: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 14: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, then

I (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 15: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 16: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 17: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 18: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Regular expressions

Let A be an alphabet, then we have:

∅, ε and a ∈ A are regular expressions.

If e and e ′ are regular expressions, thenI (e + e′),

I (e · e′),

I e∗

are regular expressions.

The language described by a regular expression e is denoted by L(e).

Thomas Lang Star height of regular languages July 2014 6 / 29

Page 19: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 20: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 21: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 22: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 23: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 24: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 25: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, then

h(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 26: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular expressions

Let e be a regular expression over an alphabet A, then its star height isdefined as

If e = ∅, e = ε or e = a ∈ A, then

h(e) := 0.

If e = e ′ + e ′′ or e = e ′ · e ′′, then

h(e) := max(h(e ′), h(e ′′)).

If e = e ′∗, thenh(e) := 1 + h(e ′).

Thomas Lang Star height of regular languages July 2014 7 / 29

Page 27: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 28: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) =

2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 29: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 30: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) =

3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 31: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 32: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but

h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 33: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

e1 := a∗(ba∗)∗ ⇒ h(e1) = 2

e2 := a∗ + ((b∗ab∗)∗a)∗ ⇒ h(e2) = 3

Caution: L(a∗) = L((a∗)∗), but h(a∗) = 1 6= 2 = h((a∗)∗)

Thomas Lang Star height of regular languages July 2014 8 / 29

Page 34: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular languages

Let L be a regular language, then its star height is defined as

h(L) := min({h(e) | L(e) = L}).

Thomas Lang Star height of regular languages July 2014 9 / 29

Page 35: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular languages

Let L be a regular language, then its star height is defined as

h(L) := min({h(e) | L(e) = L}).

Thomas Lang Star height of regular languages July 2014 9 / 29

Page 36: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Star height of regular languages

Let L be a regular language, then its star height is defined as

h(L) := min({h(e) | L(e) = L}).

Thomas Lang Star height of regular languages July 2014 9 / 29

Page 37: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 10 / 29

Page 38: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Description

Brzozowski-McCluskey algorithm

Operates on generalized automaton A, i.e. an automaton whoseedges are labeled with regular expressions

Computes regular expression e with L(e) = L(A)

Thomas Lang Star height of regular languages July 2014 11 / 29

Page 39: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Description

Brzozowski-McCluskey algorithm

Operates on generalized automaton A, i.e. an automaton whoseedges are labeled with regular expressions

Computes regular expression e with L(e) = L(A)

Thomas Lang Star height of regular languages July 2014 11 / 29

Page 40: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Description

Brzozowski-McCluskey algorithm

Operates on generalized automaton A, i.e. an automaton whoseedges are labeled with regular expressions

Computes regular expression e with L(e) = L(A)

Thomas Lang Star height of regular languages July 2014 11 / 29

Page 41: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Description

Brzozowski-McCluskey algorithm

Operates on generalized automaton A, i.e. an automaton whoseedges are labeled with regular expressions

Computes regular expression e with L(e) = L(A)

Thomas Lang Star height of regular languages July 2014 11 / 29

Page 42: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 43: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 44: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 45: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 46: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 47: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 48: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

BMC algorithm

1 Insert new state i and ε-transitions from i to all initial states

2 Insert new state t and ε-transitions from all final states to t

3 Successively remove the states of A, updating the edges in thefollowing manner:

A X Be1

e2

e3

A Be1e∗2e3

4 Join all expressions on edges from i to t using ’+’

Thomas Lang Star height of regular languages July 2014 12 / 29

Page 49: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2 3

a

b

a

istart X 2 3 tε

a

b

a ε

istart 2 3 ta

ba

a ε

Thomas Lang Star height of regular languages July 2014 13 / 29

Page 50: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2 3

a

b

a

istart X 2 3 tε

a

b

a ε

istart 2 3 ta

ba

a ε

Thomas Lang Star height of regular languages July 2014 13 / 29

Page 51: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2 3

a

b

a

istart X 2 3 tε

a

b

a ε

istart 2 3 ta

ba

a ε

Thomas Lang Star height of regular languages July 2014 13 / 29

Page 52: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2 3

a

b

a

istart X 2 3 tε

a

b

a ε

istart 2 3 ta

ba

a ε

Thomas Lang Star height of regular languages July 2014 13 / 29

Page 53: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

istart X 3 ta

ba

a ε

istart 3 ta(ba)∗a ε

Thomas Lang Star height of regular languages July 2014 14 / 29

Page 54: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

istart X 3 ta

ba

a ε

istart 3 ta(ba)∗a ε

Thomas Lang Star height of regular languages July 2014 14 / 29

Page 55: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

istart X ta(ba)∗a ε

istart ta(ba)∗a

Thomas Lang Star height of regular languages July 2014 15 / 29

Page 56: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

istart X ta(ba)∗a ε

istart ta(ba)∗a

Thomas Lang Star height of regular languages July 2014 15 / 29

Page 57: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 16 / 29

Page 58: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Graph-theoretic concepts

A set of vertices V of a graph is called

strongly connected, if every vertex in V is reachable by every othervertex in V .

a ball, if V is strongly connected and has at least one edge.

Thomas Lang Star height of regular languages July 2014 17 / 29

Page 59: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Graph-theoretic concepts

A set of vertices V of a graph is called

strongly connected, if every vertex in V is reachable by every othervertex in V .

a ball, if V is strongly connected and has at least one edge.

Thomas Lang Star height of regular languages July 2014 17 / 29

Page 60: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Graph-theoretic concepts

A set of vertices V of a graph is called

strongly connected, if every vertex in V is reachable by every othervertex in V .

a ball, if V is strongly connected and has at least one edge.

Thomas Lang Star height of regular languages July 2014 17 / 29

Page 61: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Graph-theoretic concepts

A set of vertices V of a graph is called

strongly connected, if every vertex in V is reachable by every othervertex in V .

a ball, if V is strongly connected and has at least one edge.

Thomas Lang Star height of regular languages July 2014 17 / 29

Page 62: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

Figure : A graph

Figure : Its strongly connected components

Figure : Its ball

Thomas Lang Star height of regular languages July 2014 18 / 29

Page 63: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

Figure : A graph

Figure : Its strongly connected components

Figure : Its ball

Thomas Lang Star height of regular languages July 2014 18 / 29

Page 64: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

Figure : A graph

Figure : Its strongly connected components

Figure : Its ball

Thomas Lang Star height of regular languages July 2014 18 / 29

Page 65: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 66: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 67: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no ball

lc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 68: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 69: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 70: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 71: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 72: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Loop complexity

Let G be a graph, then its loop complexity is defined as follows:

If G contains no balllc(G ) := 0

If G is not a ball

lc(G ) := max({lc(B)|B is a ball of G})

If G is a ball

lc(G ) := 1 + min({lc(G \ {v})|v is a vertex of G})

Thomas Lang Star height of regular languages July 2014 19 / 29

Page 73: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

Figure : A graph G

We have lc(G ) = 1.

Thomas Lang Star height of regular languages July 2014 20 / 29

Page 74: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Examples

Figure : A graph G

We have lc(G ) = 1.

Thomas Lang Star height of regular languages July 2014 20 / 29

Page 75: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 21 / 29

Page 76: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Theorem

The loop complexity of a trim automaton A is equal to the minimum ofthe star heights of the expressions obtained by the different possible runsof the BMC algorithm on A.

In general, given an automaton A and two total orders on its states ω1

and ω2, we have

h(BMC(A, ω1)) 6= h(BMC(A, ω2))

as the following example shows:

Thomas Lang Star height of regular languages July 2014 22 / 29

Page 77: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Theorem

The loop complexity of a trim automaton A is equal to the minimum ofthe star heights of the expressions obtained by the different possible runsof the BMC algorithm on A.

In general, given an automaton A and two total orders on its states ω1

and ω2, we have

h(BMC(A, ω1)) 6= h(BMC(A, ω2))

as the following example shows:

Thomas Lang Star height of regular languages July 2014 22 / 29

Page 78: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Theorem

The loop complexity of a trim automaton A is equal to the minimum ofthe star heights of the expressions obtained by the different possible runsof the BMC algorithm on A.

In general, given an automaton A and two total orders on its states ω1

and ω2, we have

h(BMC(A, ω1)) 6= h(BMC(A, ω2))

as the following example shows:

Thomas Lang Star height of regular languages July 2014 22 / 29

Page 79: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2

34

a

b a

b

a

ba

b

Star height of result of BMC algorithm: 3

Thomas Lang Star height of regular languages July 2014 23 / 29

Page 80: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

1start 2

34

a

b a

b

a

ba

b

Star height of result of BMC algorithm: 3

Thomas Lang Star height of regular languages July 2014 23 / 29

Page 81: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

1start 3

24

a

b a

b

a

ba

b

Star height of result of BMC algorithm: 2

Thomas Lang Star height of regular languages July 2014 24 / 29

Page 82: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example continued

1start 3

24

a

b a

b

a

ba

b

Star height of result of BMC algorithm: 2

Thomas Lang Star height of regular languages July 2014 24 / 29

Page 83: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Minimal automata

Consider now a regular language L.

Does the loop complexity of its minimal automaton correspond toh(L)?

Not necessarily, as the following example shows.

Thomas Lang Star height of regular languages July 2014 25 / 29

Page 84: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Minimal automata

Consider now a regular language L.

Does the loop complexity of its minimal automaton correspond toh(L)?

Not necessarily, as the following example shows.

Thomas Lang Star height of regular languages July 2014 25 / 29

Page 85: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Minimal automata

Consider now a regular language L.

Does the loop complexity of its minimal automaton correspond toh(L)?

Not necessarily, as the following example shows.

Thomas Lang Star height of regular languages July 2014 25 / 29

Page 86: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Minimal automata

Consider now a regular language L.

Does the loop complexity of its minimal automaton correspond toh(L)?

Not necessarily, as the following example shows.

Thomas Lang Star height of regular languages July 2014 25 / 29

Page 87: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3, lc(B) = 2, lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 88: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3,

lc(B) = 2, lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 89: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3, lc(B) = 2,

lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 90: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3, lc(B) = 2, lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 91: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3, lc(B) = 2, lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 92: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Example

Figure : Minimal automata A, B, C for their respective languages1

lc(A) = 3, lc(B) = 2, lc(C) = 1

But: L(A) = L(B) ∪ L(C)

Therefore: h(L(A)) ≤ 2 < 3 = lc(A)

1LoSa00, On the star height of regular languagesThomas Lang Star height of regular languages July 2014 26 / 29

Page 93: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Computability

Is the star height of a regular language computable?

Not in general

But: For a subset of the regular languages (pure-group languages) itis computable

Thomas Lang Star height of regular languages July 2014 27 / 29

Page 94: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Computability

Is the star height of a regular language computable?

Not in general

But: For a subset of the regular languages (pure-group languages) itis computable

Thomas Lang Star height of regular languages July 2014 27 / 29

Page 95: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Computability

Is the star height of a regular language computable?

Not in general

But: For a subset of the regular languages (pure-group languages) itis computable

Thomas Lang Star height of regular languages July 2014 27 / 29

Page 96: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Computability

Is the star height of a regular language computable?

Not in general

But: For a subset of the regular languages (pure-group languages) itis computable

Thomas Lang Star height of regular languages July 2014 27 / 29

Page 97: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

Overview

1 Introduction

2 Star height

3 BMC algorithm

4 Loop complexity

5 Connection between star height and loop complexity

6 References

Thomas Lang Star height of regular languages July 2014 28 / 29

Page 98: Star height of regular languages - uni-freiburg.de · 2015. 4. 1. · Thomas Lang Star height of regular languages July 2014 4 / 29. Overview 1 Introduction 2 Star height 3 BMC algorithm

References

[LoSa00] Lombardy, S.; Sakarovitch, J.: On the star height of ra-tional languages. In: Proceedings of the 3rd InternationalConference on Words, Languages and Combinatorics, Kyoto(Japan), March 2000

Thomas Lang Star height of regular languages July 2014 29 / 29