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

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

Jan 12, 2016

Download

Documents

Erin Turner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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: