chapter 5: finite automata - university of ottawazaguia/csi3104/chapter5.pdfchapter 5: finite...

22
Dr. Nejib Zaguia CSI3104-W11 1 CSI 3104 /Winter 2011: Introduction to Formal Languages Chapter 5: Finite Automata Chapter 5: Finite Automata We introduce the simplest deterministic theoretical machines: Finite Automata.

Upload: others

Post on 27-Mar-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 1

CSI 3104 /Winter 2011: Introduction to Formal Languages Chapter 5: Finite Automata

Chapter 5: Finite Automata

We introduce the simplest deterministic theoretical

machines: Finite Automata.

Page 2: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 2

Chapter 5: Finite Automata

A finite automaton (FA) is the following 3 things:

1. a finite set of states, one of which is designated as the start state, and some (maybe none) of which are designated the final states (or accepting states)

2. an alphabet of input letters

3. a finite set of transitions that indicate, for each state and letter of the input alphabet, the state to go to next

state stateletter

Page 3: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 3

Chapter 5: Finite Automata

The language defined or accepted by a finite

automaton is the set of words that end in a final

state.

If w is in the language defined by a finite

automaton, then we also say that the finite

automaton accepts w.

Page 4: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 4

Chapter 5: Finite Automata

Example: = {a,b}

states = {x,y,z}

start state : x

final states: {z}

a b

x y z

y x z

z z z

aaa:a

x ya ax y y is not final;

aaa is not accepted

aaba:a

x ya bx z z is final;

aaba is accepted

za

transitions:

Page 5: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 5

Chapter 5: Finite Automata

x

–y

z

+

a

a

a

b b

b

a b

x y z

y x z

z z z

Regular expression: (a+b)*b(a+b)*

aaaabba?

bbaabbbb?

Transition Diagram

Page 6: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 6

Chapter 5: Finite Automata

x

–y

z

+

a

a

a

b b

b

x

–y

z

+

a

a

a

b

b

aa

b

x

–y

z

+a

b

ab

b

bb

aaaabba?bbaabbbb?

Page 7: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 7

Chapter 5: Finite Automata

+ a,b

(a+b)(a+b)* = (a+b)+

– +a

b

a,b

(a+b)*

Page 8: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 8

Chapter 5: Finite Automata

No final state

The middle state is not a final state and all transitions that go

into this state do not exit.

–a

b

a,b

–a,b

a,b

+a,b

Finite Automata that Accept No Words

Page 9: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 9

Chapter 5: Finite Automata

Two Ways to Study Finite Automata

1. Starting with a finite automaton (FA), analyze it to determine the language it accepts.

2. Starting from a language, build an FA.

Page 10: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 10

Chapter 5: Finite Automata

Example with 2 states: The language of all words with an

even number of letters over the alphabet {a,b}:

● Two states: 1 – even number, 2 – odd number

● Start state: 1

● Final state: 1

● The transitions:

a b

1 2 2

2 1 1

1+ 2a,b

a,b

Page 11: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 11

Chapter 5: Finite Automata

x

y

z

+

a,b

a,b

b

a

a(a+b)*

Not necessarily unique:

+

a,b

a,b

b

a

+a,b

Remark: 2 final states

Page 12: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 12

Chapter 5: Finite Automata

From Languages to Finite Automata

There is not necessarily a unique FA that accepts a given language.

Is there always at least one FA:

that accepts each possible language?

that defines a language associated with a given regular expression?

Page 13: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 13

Chapter 5: Finite Automata

Example: Build an FA that accepts all words containing a

triple letter (either aaa or bbb).

1. Build an FA that accepts aaa

2. Add a path that accepts bbb.

3. Add paths for words that contain a’s and b’s before or

after the aaa or bbb.

Page 14: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 14

Chapter 5: Finite Automata

Does this FA accept the word ababa?

The word babbb?

2 ways to get to state 4

The only way to get to state 2 is by reading an input a.

The only way to get to state 3 is by reading an input b.

What language?

1–

2

4

+

a,ba

b 3

a

a

b

b

This example shows that it is possible to characterize states by the purposes they serve.

From Finite Automata to Languages

Page 15: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 15

Chapter 5: Finite Automata

The third letter is b.

(aab + abb + bab + bbb)(a+b)*

(a+b)(a+b)b(a+b)*

The regular expression is not unique.

Is there always at least one regular expression defining the

language accepted by an FA?

+

a,b

a,b

a

b–

a,ba,b

Page 16: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 16

Chapter 5: Finite Automata

Regular expression: baa

A “collecting bucket” state for all other words.

a,b

b +a

a

a

bb a,b

Page 17: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 17

Chapter 5: Finite Automata

Regular expression: baa + ab

a,b

b +aa

bb a,b

+b a

a,b a

Page 18: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 18

Chapter 5: Finite Automata

+a,b

a,b

+

b

a

ba

– +a

a

bb

– +a

b

ab

L (a+b)*a + L

Words that do not end in b.

(a+b)*a

Words that end in a.?

Page 19: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 19

Chapter 5: Finite Automata

The only letter that can change state is a.

(b*ab*)(ab*ab*)*

an odd number of a’s

– +a

a

bb

Page 20: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 20

Chapter 5: Finite Automata

Words that contain a double a

(a+b)*aa(a+b)*

Start state: the previous letter (if there is one) was not an a.

Middle state: we have just seen an a that was not preceded

by an a.

Final state: we have seen a double a.

– +a

b

a,bb

a

Page 21: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 21

Chapter 5: Finite Automata

+

b

a

ba

+

a

b

a

b

b

a

+

ba

aa

a

b

b

b

aabbaabb

Page 22: Chapter 5: Finite Automata - University of Ottawazaguia/csi3104/Chapter5.pdfChapter 5: Finite Automata A finite automaton (FA) is the following 3 things: 1. a finite set of states,

Dr. Nejib Zaguia CSI3104-W11 22

Chapter 5: Finite Automata

1

+2

b

b

a

3 4

b

b

a a a

The Language EVEN-EVEN