Top Banner
Finite Automata Question: What is a computer? real computers too complex for any theory Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1
51

Finite automata and regular languages

Jan 01, 2017

Download

Documents

duongphuc
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: Finite automata and regular languages

Finite AutomataQuestion: What is a computer?

real computers too complex for any theory

need manageable mathematical abstraction

idealized models: accurate in some ways, but notin all details

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 2: Finite automata and regular languages

Finite AutomataQuestion: What is a computer?

real computers too complex for any theory

need manageable mathematical abstraction

idealized models: accurate in some ways, but notin all details

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 3: Finite automata and regular languages

Finite AutomataQuestion: What is a computer?

real computers too complex for any theory

need manageable mathematical abstraction

idealized models: accurate in some ways, but notin all details

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 4: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 5: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 6: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 7: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 8: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 9: Finite automata and regular languages

Finite Automata – Important ideas

formal definition of finite automata

deterministic vs. non-deterministic finiteautomata

regular languages

operations on regular languages

regular expressions

pumping lemma

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 10: Finite automata and regular languages

Example: An Automatic Door

frontpad

rearpad

door

open when person approaches

hold open until person clears

don’t open when someone standing behind door

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3

Page 11: Finite automata and regular languages

Example: An Automatic Door

frontpad

rearpad

door

open when person approaches

hold open until person clears

don’t open when someone standing behind door

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3

Page 12: Finite automata and regular languages

Example: An Automatic Door

frontpad

rearpad

door

open when person approaches

hold open until person clears

don’t open when someone standing behind door

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3

Page 13: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:

OPENCLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 14: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPEN

CLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 15: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 16: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:

FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 17: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:FRONT: someone on rear pad

REAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 18: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear pad

BOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 19: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both pads

NEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 20: Finite automata and regular languages

The Automatic Door as DFA

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

States:OPENCLOSED

Sensor:FRONT: someone on rear padREAR: someone on rear padBOTH: someone on both padsNEITHER no one on either pad.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 21: Finite automata and regular languages

The Automatic Door as DFA

DFA is Deterministic Finite Automata

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

neither front rear bothclosed closed open closed closedopen closed open open open

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5

Page 22: Finite automata and regular languages

The Automatic Door as DFA

DFA is Deterministic Finite Automata

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

neither front rear bothclosed closed open closed closedopen closed open open open

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5

Page 23: Finite automata and regular languages

The Automatic Door as DFA

DFA is Deterministic Finite Automata

closed open

FRONT

NEITHER

FRONTREARBOTH

REARBOTH

NEITHER

neither front rear bothclosed closed open closed closedopen closed open open open

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5

Page 24: Finite automata and regular languages

DFA: Informal Definition

q1

0

q2 3q

11 0

0,1

The machine � :

states: � ���

��� , and ��� .

start state: (arrow from “outside”).

accept state: (double circle).

state transitions: arrows.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 25: Finite automata and regular languages

DFA: Informal Definition

q1

0

q2 3q

11 0

0,1

The machine � :

states: � ���

��� , and ��� .

start state: � � (arrow from “outside”).

accept state: (double circle).

state transitions: arrows.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 26: Finite automata and regular languages

DFA: Informal Definition

q1

0

q2 3q

11 0

0,1

The machine � :

states: � ���

��� , and ��� .

start state: � � (arrow from “outside”).

accept state: �� (double circle).

state transitions: arrows.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 27: Finite automata and regular languages

DFA: Informal Definition

q1

0

q2 3q

11 0

0,1

The machine � :

states: � ���

��� , and ��� .

start state: � � (arrow from “outside”).

accept state: �� (double circle).

state transitions: arrows.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 28: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input string

DFA begins in start stateafter reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:accept if DFA is an accepting state.reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 29: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input stringDFA begins in start state � �

after reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:accept if DFA is an accepting state.reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 30: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input stringDFA begins in start state � �

after reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:accept if DFA is an accepting state.reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 31: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input stringDFA begins in start state � �

after reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:

accept if DFA is an accepting state.reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 32: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input stringDFA begins in start state � �

after reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:accept if DFA is an accepting state.

reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 33: Finite automata and regular languages

DFA: Informal Definition (cont.)

q1

0

q2 3q

11 0

0,1

On an input stringDFA begins in start state � �

after reading each symbol, DFA makesstate transition with matching label.

After reading last symbol, DFA produces output:accept if DFA is an accepting state.reject otherwise.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 34: Finite automata and regular languages

Informal Definition - Example

q1

0

q2 3q

11 0

0,1

What happens on input strings

� � � �

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 35: Finite automata and regular languages

Informal Definition - Example

q1

0

q2 3q

11 0

0,1

What happens on input strings

� � � �

� � � �

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 36: Finite automata and regular languages

Informal Definition - Example

q1

0

q2 3q

11 0

0,1

What happens on input strings

� � � �

� � � �

� � � � �

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 37: Finite automata and regular languages

Informal Definition

q1

0

q2 3q

11 0

0,1

This DFA accepts

all input strings that end with a 1

all input strings that contain at least one 1, andend with an even number of 0’s

no other strings

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.9

Page 38: Finite automata and regular languages

Languages and Alphabets

An alphabet is a finite set of letters.

� ����

��

��� � � �

� �

– the English alphabet.

� ��� �

� � � � �

� �

– the Greek alphabet.

� � ��

� �

– the binary alphabet.

� � ��

��� � � �

� �

– the digital alphabet.

The collection of all strings over is denoted by .

For the binary alphabet, , , , ,

are all members of .

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.10

Page 39: Finite automata and regular languages

Languages and Alphabets

An alphabet is a finite set of letters.

� ����

��

��� � � �

� �

– the English alphabet.

� ��� �

� � � � �

� �

– the Greek alphabet.

� � ��

� �

– the binary alphabet.

� � ��

��� � � �

� �

– the digital alphabet.

The collection of all strings over is denoted by

.

For the binary alphabet, , , , ,

are all members of .

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.10

Page 40: Finite automata and regular languages

Languages and Alphabets

An alphabet is a finite set of letters.

� ����

��

��� � � �

� �

– the English alphabet.

� ��� �

� � � � �

� �

– the Greek alphabet.

� � ��

� �

– the binary alphabet.

� � ��

��� � � �

� �

– the digital alphabet.

The collection of all strings over is denoted by

.

For the binary alphabet, �,

,

,

� � � � � � � � �

,

� � � � � � � � � �

are all members of

.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.10

Page 41: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

has at most seventeen 0’s

has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 42: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

has at most seventeen 0’s

has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 43: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

has at most seventeen 0’s

has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 44: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

� � � � � has at most seventeen 0’s

has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 45: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

� � � � � has at most seventeen 0’s

� � � � � � �� � �

has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 46: Finite automata and regular languages

Languages and Examples

A language over is a subset

� �

. For example

Modern English.

Ancient Greek.

All prime numbers, writen using digits.

� � � � � has at most seventeen 0’s

� � � � � � �� � �

� � � � � has an equal number of 0’s and 1’s

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 47: Finite automata and regular languages

Languages and DFA

Definition:

� � �

, the language of a DFA , is theset of strings

that accepts,

� � � � �.

Note that

may accept many strings, but

accepts only one language

What language does accept if it accepts no strings?

A language is called regular if some deterministic finite

automaton accepts it.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 48: Finite automata and regular languages

Languages and DFA

Definition:

� � �

, the language of a DFA , is theset of strings

that accepts,

� � � � �.

Note that

may accept many strings, but

accepts only one language

What language does accept if it accepts no strings?

A language is called regular if some deterministic finite

automaton accepts it.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 49: Finite automata and regular languages

Languages and DFA

Definition:

� � �

, the language of a DFA , is theset of strings

that accepts,

� � � � �.

Note that

may accept many strings, but

accepts only one language

What language does accept if it accepts no strings?

A language is called regular if some deterministic finite

automaton accepts it.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 50: Finite automata and regular languages

Languages and DFA

Definition:

� � �

, the language of a DFA , is theset of strings

that accepts,

� � � � �.

Note that

may accept many strings, but

accepts only one language

What language does accept if it accepts no strings?

A language is called regular if some deterministic finite

automaton accepts it.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 51: Finite automata and regular languages

Formal DefinitionsA deterministic finite automaton (DFA) is a 5-tuple

� �

��

��� �

, where

is a finite set called the states,

is a finite set called the alphabet,

��� � is the transition function,

�� � is the start state, and

is the set of accept states.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.13