1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata...

39
1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

Transcript of 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata...

Page 1: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

1

Basics of automata theory

Nondeterministic Finite Automata (NFA)

Nondeterministic Finite Automata on infinite words (NFW)

Page 2: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

2

Nondeterministic finite automaton (NFA)

Transitions: (S0,A,S0), (S0,B,S0), (S0,A,S1),(S1,A,S1).

What is the language of this automaton? All words that have a path to an accepting

state.

A,B A AS0 S1

Page 3: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

3

Equivalent deterministic automaton

Every NFA can be transformed to DFA. How ?

The price may be exponential.

A,B A AS0 S1

B

AA

S0 S0,S1

B

Page 4: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

4

Determinization

Let M = (S, Σ, , I, F) be an NFA. Define a DFA Md = (Sd, Σd, d, Id, Fd), where

Sd = P(S) // power-set of S Σd = Σ Id = I d(q, a) = { (r,a) | r 2 q} for all q2 Sd, a 2 Σ Fd = {q | q 2 Sd ∧ q ∩ F ≠ ;}

Page 5: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

5

Example

Sd = {}{S0}{S1}{S0,S1} d = = {A,B} Id = I = {S0} d FDSS0,S1

A,B A AS0 S1

S0 S1

S0,S1

BB

A

A

AB

A,B

Page 6: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

6

Example 2

B A,B0 2

1 AA

0 1 2

01 02 12

012

Complete it yourself

A B

Page 7: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

7

Example 2

B A,B0 2

1 AA

0 2

12

012

A B B

A

A

B

1

01 02

A

B

A

BA B

A

B

A,B

Page 8: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

8

Few important questions (1)

Given two automata A1, A2... How do we build an automaton A3 such

that

L(A3) = L(A1) Å L(A2) A method to build A3: compute the product

A1 £ A2

We already saw how to compute a product...

Page 9: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

9

Product of two NFA-s (finite words)

A1=h , S1, , I1, F1 i and A2= h , S2, 2, I2, F2 i

A1 £ A2 =

Each state is a pair (s,t): s 2 S1 and t 2 S2.

Initial states: pairs (s,t) such that s 2 I1 and t 2 I2.

Accepting states: pairs (s,t) such that s 2 F1 and t 2 F2

((s,t) a (s’,t’)) is a transition if (s,a,s’) 2 1, and (t,a,t’) 2 2.

Reminder

Page 10: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

10

Example – product of two automata

L(A1) = (a+b)a + (words ending with ‘a’ + empty word)

What should be the language of A1 £ A2 ?

L(A2) = (ba)* + (ba)*b

A1:b

a

ab

s0 s1

A2:ab

t0 t1

Page 11: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

11

1. States: (s0,t0), (s0,t1), (s1,t0), (s1,t1).

2. Initial state: (s0,t0).

3. Accepting states: (s0,t0), (s0,t1).

A1 £ A2:

A1:

A2:

b

a

ab

s0 s1

ab

t0 t1

Example – product of two automata

Page 12: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

12

s0,t0

s0,t1

s1,t1

s1,t0b

b

a

aA1 £ A2:

L(A1 £ A2) = (ba)*

A1:

A2:

b

a

ab

s0 s1

ab

t0 t1

Example – product of two automata

Page 13: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

13

Example 2 – product of two automata

A1:

A2:

L(A1) = (ab)* + (ab)*a (words that alternate

between a and b(

What should be the language of A1 Å A2 ?

L(A2) = (ba)* + (ba)*b (words that alternate between b and a)

ab

s0 s1

ab

t0 t1

Page 14: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

14

1. States: (s0,t0), (s0,t1), (s1,t0), (s1,t1).

2. Initial state: (s1,t0).

3. Accepting states: (s0,t0), (s0,t1), (s1,t0), (s1,t1).

A1 Å A2:

A1:

A2:

ab

s0 s1

ab

t0 t1

Example 2 – product of two automata

Page 15: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

15

s0,t0

s0,t1

s1,t1

s1,t0b aA1 Å A2:

L(A1 Å A2) =

A1:

A2:

ab

s0 s1

ab

t0 t1

Example 2 – product of two automata

Page 16: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

16

Few important questions (2)

Given a DFA A:

How do we construct A’ such that L(A’) = * - L(A)

In other words, how do we build an automaton that accepts exactly those words that are rejected by A ?

Answer: compute the complement automaton. How ? Let F’ = S – F. (i.e., substitute accepting and non-accepting

states.)

Page 17: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

17

Example: complementation

The complementation of A is denoted by

b

a

ab

s0 s1

b

a

ab

s0 s1

Page 18: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

18

Few important questions (3)

Given an automaton A:

Universality: is L(A) = * ?

Emptiness: is L(A) = ; ?

Emptiness: is an accepting state reachable?

Universality: check whether

Page 19: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

19

And now....

... Automata on infinite words These are called !-automata

Page 20: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

20

Automata over infinite words (DFW / NFW)

Similar definition. Runs on infinite words over . Accepts when an accepting state occurs

infinitely often in the computation. This is called a Buchi automaton

a

a

b bS0 S1

Page 21: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

21

Formally, let F be the set of accepting states.

Let inf() µ S be the set of states appearing infinite number of times in a computation .

is accepted by the automaton if inf() Å F ;.

a

a

b bS0 S1

Automata over infinite words (DFW)

Page 22: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

22

Consider the word a b a b a b a b… The computation is S0 S0 S1 S0 S1 S0 S1 …

This computation is accepting, since S0 appears infinitely many times.

a

a

b bS0 S1

Automata over infinite words (DFW)

Page 23: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

23

Other computations

For the word b b b b b… the computation is S0 S1 S1 S1 S1… and is not accepting.

For the word a a a b b b b b …, thecomputation is S0 S0 S0 S0 S1 S1 S1 S1 …and ... (?)

What is the computation for a b a b b a b b b …? Is it accepting ?

a

a

b bS0 S1

Page 24: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

24

The language of a Buchi automaton

The language of a Buchi automaton is the set of infinite strings that are accepted by it.

Such languages are called ! – languages. Buchi automaton defines ! – regular

languages.

L(B) = (ab*)!

a

a

b bS0 S1B =

Page 25: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

25

As before, a string is accepted if there exists an accepting run.

L(B) = aa*b!

Surprise: there is no determinization procedure

We will focus on DFW

NonDeterministic Buchi automata (NFW)

aa bS0 S1B =

Page 26: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

26

Why do we need Buchi automata?

The compilation theorem: every LTL formula can be translated to a Buchi automaton B that accepts the same language as .

a

a

a

a

a

a

a

Fa

Ga

GFa

Page 27: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

What about the other direction ?

Can every Buchi automata be translated to an LTL formula ?

No LTL formula can express this property.

a

“a holds on every even step”

Page 28: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

28

About the alphabet...

So far a 2 ∑ meant that a is some atom (a,b...) from a given set AP.

We will also use a 2 2AP

This is useful for representing states

(cont’d on next slide)

b

a

a

b

a,b

a,:b

:a,:b

:a,b

a,b

a

b(same thing, only write positive literals)

Page 29: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

29

About the alphabet...

... or even a 2 22AP

This can give us a more compact representaiton

a Æ b

a Ç b

:a Æ :b

:aÆb Ç aÆ:b

:a Æ b aÇ:b

a,:b

:a, b

:a, :b

a,b:a, b

:a, b

Page 30: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

30

About the alphabet ...

A Buchi automaton can also be represented with labels on states.

There is 1-1 translation to a Buchi automaton with labels on transitions:

Move labels to outgoing edges.

Page 31: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

About the alphabet...

From labels on states to labels on transitions: Example.

Let ∑ µ 2AP

p,q

p

p

p,q

p

Recall that this is {p,q}

Page 32: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

32

For Buchi automata B1, B2:

How to compute L(B1) Å L(B2) ?

How to complement ? Find B’ s.t.

How to check for emptiness ? Is L(B) = ; ?

Again, important questions...

Page 33: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

33

Intersecting two Buchi automata (infinite words)

Previous method doesn’t work:

ab

s0 s1a

b Infinite a’s

ba

t0 t1b

a Infinite b’s

s0, t0

s0, t1 s1, t0

a bs1, t1

a

ba b

Empty language !

Page 34: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

34

Intersecting two Buchi automata (infinite words)

The reason: a path should be accepted if it fulfills two separate acceptance conditions:

passes infinitely many times through s0

passes infinitely many times through t0

An automaton has such multiple acceptance conditions is called a generalized Buchi automata.

We will learn about this later on. For now, we will see a reduction of this

condition to a standard Buchi automaton.

s0, t0

s0, t1 s1, t0

a bs1, t1

a

ba b

Empty language !

Page 35: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

35

Intersecting two Buchi automata (infinite words)

Strategy: “Multiply” the product automaton by 3

(S = S1 £ S2 £ {0,1,2} ) Start from the ‘0’ copy. Transition to the ‘1’ copy when entering a

state from F1 Transition to the ‘2’ copy if in a ‘1’ state and

entering a state from F2, and in the next state back to a ‘0’ state.

Make the ‘2’ copy an accepting set.

Page 36: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

36

s0, t0

s0, t1 s1, t0

a bs1, t1

a

ba b

s0, t0

s0, t1 s1, t0

a bs1, t1

a

ba b

s0, t0

s0, t1 s1, t0

a bs1, t1

a

ba b

0

1

2

Page 37: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

37

s0, t0

s0, t1 s1, t0

a ba

ba b

s0, t0

s0, t1 s1, t0

a ba

ba b

s0, t0

s0, t1 s1, t0

a ba

ba b

a

a

simplify by removing unreachable states

bb

0

1

2

Page 38: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

38

s0, t0

s0, t1 s1, t0

b

bb

s0, t1 s1, t0

aa

s0, t1 s1, t0

a

ba b

a

a

simplify by removing unreachable states

bba

a bb

a

a0

1

2

Page 39: 1 Basics of automata theory Nondeterministic Finite Automata (NFA) Nondeterministic Finite Automata on infinite words (NFW)

39

Intersecting two Buchi automata (infinite words)

ab

s0 s1a

b

ba

t0 t1b

a

a

a b

b

aa

a

a b

h s1,t0,2 i

h s0,t1,1 i

b b

h s0,t0,0 i

h s1,t0,0 i

h s0,t1,0 i

There are total of 12 states in the product automaton. The reachable part of A1 Å A2 is: