Top Banner
CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave … downloaded by me, and rearranged a bit, from http://infolab.stanford.edu/~ullm an/ialc/spr10/spr10.html 1
56

CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Dec 22, 2015

Download

Documents

Buck Oliver
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: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

CS 503 Spring semester 2015 WPI

Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors).

They are slides from a course he gave … downloaded by me, and rearranged a bit, fromhttp://infolab.stanford.edu/~ullman/ialc/spr10/spr10.html

1

Page 2: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Extended Example

• Thanks to Jay Misra for this example.• On a distant planet, there are three

species, a, b, and c.• Any two different species can mate. If

they do:1. The participants die.2. Two children of the third species are born.

2

Page 3: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet – (2)

• Observation: the number of individuals never changes.

• The planet fails if at some point all individuals are of the same species.– Then, no more breeding can take place.

• State = sequence of three integers – the numbers of individuals of species a, b, and c.

3

Page 4: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet with 2 Individuals

4

200 002020

110101011

a cb

Page 5: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet with 3 Individuals

5

300 003030

111a c

b

102210

a

c

201021

bb

012120

a

c

State 111 has several transitions.

Page 6: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet – Questions

• In a given state, must the planet eventually fail?

• In a given state, is it possible for the planet to fail, if the wrong breeding choices are made?

6

Page 7: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Questions – (2)

• These questions mirror real ones about protocols.– “Can the planet fail?” is like asking whether a

protocol can enter some undesired or error state.

– “Must the planet fail” is like asking whether a protocol is guaranteed to terminate.• Here, “failure” is really the good condition of

termination.

7

Page 8: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet – Transitions

• An a-event occurs when individuals of species b and c breed and are replaced by two a’s.

• Analogously: b-events and c-events.• Represent these by symbols a, b, and c,

respectively.

8

Page 9: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet with 2 Individuals

9

200 002020

110101011

a cb

Notice: all states are “must-fail” states.

Page 10: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet with 3 Individuals

10

300 003030

111a c

b

Notice: four states are “must-fail” states.The others are “can’t-fail” states.

102210

a

c

201021

bb

012120

a

c

State 111 has several transitions.

Page 11: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strange Planet with 4 Individuals

11

Notice: states 400, etc. are must-fail states.All other states are “might-fail” states.

400

022

130103

211a

c b

b c

a

040

202

013310

121b

a c

c a

b

004

220

301031

112c

b a

a b

c

Page 12: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Taking Advantage of Symmetry

• The ability to fail depends only on the set of numbers of the three species, not on which species has which number.

• Let’s represent states by the list of counts, sorted by largest-first.

• Only one transition symbol, x.

12

Page 13: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

The Cases 2, 3, 4

13

110

200

x

111

210

300

220

400

310

211x

x

xx

x

x

Notice: for the case n = 4, there is nondeterminism : differenttransitions are possible from 211 on the same input.

Page 14: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

5 Individuals

14

410

500

320 311

221

Notice: 500 is a must-fail state; all othersare might-fail states.

Page 15: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

6 Individuals

15

321

600

411 330

222

Notice: 600 is a must-fail state; 510, 420, and321 are can’t-fail states; 411, 330, and 222 are“might-fail” states.

420

510

Page 16: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

7 Individuals

16

331

700

430

421

322

Notice: 700 is a must-fail state; All othersare might-fail states.

511

520

610

Page 17: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Questions for Thought

1. Without symmetry, how many states are there with n individuals?

2. What if we use symmetry?3. For n individuals, how do you tell whether a

state is “must-fail,” “might-fail,” or “can’t-fail”?

17

Page 18: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Introduction to Finite Automata

LanguagesDeterministic Finite AutomataRepresentations of Automata

18

Page 19: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Alphabets

• An alphabet is any finite set of symbols.• Examples: ASCII, Unicode, {0,1} (binary

alphabet ), {a,b,c}.

19

Page 20: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Strings

• The set of strings over an alphabet Σ is the set of lists, each element of which is a member of Σ.– Strings shown with no commas, e.g., abc.

• Σ* denotes this set of strings.• ε stands for the empty string (string of length

0).

20

Page 21: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: Strings

• {0,1}* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, . . . }• Subtlety: 0 as a string, 0 as a symbol look the

same.– Context determines the type.

21

Page 22: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Languages

• A language is a subset of Σ* for some alphabet Σ.

• Example: The set of strings of 0’s and 1’s with no two consecutive 1’s.

• L = {ε, 0, 1, 00, 01, 10, 000, 001, 010, 100, 101, 0000, 0001, 0010, 0100, 0101, 1000, 1001, 1010, . . . }

22

Hmm… 1 of length 0, 2 of length 1, 3, of length 2, 5 of length3, 8 of length 4. I wonder how many of length 5?

Page 23: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Deterministic Finite Automata

• A formalism for defining languages, consisting of:

1. A finite set of states (Q, typically).2. An input alphabet (Σ, typically).3. A transition function (δ, typically).4. A start state (q0, in Q, typically).

5. A set of final states (F ⊆ Q, typically).1. “Final” and “accepting” are synonyms.

23

Page 24: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

The Transition Function

• Takes two arguments: a state and an input symbol.

• δ(q, a) = the state that the DFA goes to when it is in state q and input a is received.

24

Page 25: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Graph Representation of DFA’s

• Nodes = states.• Arcs represent transition function.– Arc from state p to state q labeled by all those

input symbols that have transitions from p to q.

• Arrow labeled “Start” to the start state.• Final states indicated by double circles.

25

Page 26: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: Graph of a DFA

26

Start

1

0

A CB1

0 0,1

Previousstring OK,does notend in 1.

PreviousString OK,ends in a single 1.

Consecutive1’s havebeen seen.

Accepts all strings without two consecutive 1’s.

Page 27: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Alternative Representation: Transition Table

27

0 1

A A BB A CC C C

Rows = states

Columns =input symbols

Final statesstarred

**Arrow for

start state

Page 28: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Extended Transition Function

• We describe the effect of a string of inputs on a DFA by extending δ to a state and a string.

• Induction on length of string.• Basis: δ(q, ε) = q• Induction: δ(q,wa) = δ(δ(q,w),a)– w is a string; a is an input symbol.

28

Page 29: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Extended δ: Intuition

• Convention:– … w, x, y, x are strings.– a, b, c,… are single symbols.

• Extended δ is computed for state q and inputs a1a2…an by following a path in the transition graph, starting at q and selecting the arcs with labels a1, a2,…,an in turn.

29

Page 30: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: Extended Delta

30

0 1

A A BB A CC C C

δ(B,011) = δ(δ(B,01),1) = δ(δ(δ(B,0),1),1) =

δ(δ(A,1),1) = δ(B,1) = C

Page 31: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Delta-hat

• In book, the extended δ has a “hat” to distinguish it from δ itself.

• Not needed, because both agree when the string is a single symbol.

• δ(q, a) = δ(δ(q, ε), a) = δ(q, a)

31

˄˄

Extended deltas

Page 32: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Language of a DFA

• Automata of all kinds define languages.• If A is an automaton, L(A) is its language.• For a DFA A, L(A) is the set of strings

labeling paths from the start state to a final state.

• Formally: L(A) = the set of strings w such that δ(q0, w) is in F.

32

Page 33: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

33

Page 34: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: String in a Language

34

Start

1

0

A CB1

0 0,1

String 101 is in the language of the DFA below.Start at A.

Page 35: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: String in a Language

35

Start

1

0

A CB1

0 0,1

String 101 is in the language of the DFA below.Start at A.

Page 36: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: String in a Language

36

Start

1

0

A CB1

0 0,1

Follow arc labeled 1.

String 101 is in the language of the DFA below.

Page 37: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: String in a Language

37

Start

1

0

A CB1

0 0,1

Then arc labeled 0 from current state B.

String 101 is in the language of the DFA below.

Page 38: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: String in a Language

38

Start

1

0

A CB1

0 0,1

Finally arc labeled 1 from current state A. Resultis an accepting state, so 101 is in the language.

String 101 is in the language of the DFA below.

Page 39: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example – Concluded

• The language of our example DFA is:{w | w is in {0,1}* and w does not have

two consecutive 1’s}

39

Read a set former as“The set of strings w…

Such that… These conditionsabout w are true.

Page 40: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Proofs of Set Equivalence

• Often, we need to prove that two descriptions of sets are in fact the same set.

• Here, one set is “the language of this DFA,” and the other is “the set of strings of 0’s and 1’s with no consecutive 1’s.”

40

Page 41: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Proofs – (2)

• In general, to prove S=T, we need to prove two parts: S ⊆ T and T ⊆ S. That is:

1. If w is in S, then w is in T.2. If w is in T, then w is in S.

• As an example, let S = the language of our running DFA, and T = “no consecutive 1’s.”

41

Page 42: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Part 1: S ⊆ T

• To prove: if w is accepted bythen w has no consecutive 1’s.

• Proof is an induction on length of w.• Important trick: Expand the inductive

hypothesis to be more detailed than you need.

42

Start

1

0

A CB 10 0,1

Page 43: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

The Inductive Hypothesis

1. If δ(A, w) = A, then w has no consecutive 1’s and does not end in 1.

2. If δ(A, w) = B, then w has no consecutive 1’s and ends in a single 1.

• Basis: |w| = 0; i.e., w = ε.1. (1) holds since ε has no 1’s at all.2. (2) holds vacuously, since δ(A, ε) is not B.

43

“length of”Important concept:If the “if” part of “if..then” is false,the statement is true.

Page 44: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Inductive Step• Assume (1) and (2) are true for strings shorter

than w, where |w| is at least 1.• Because w is not empty, we can write w = xa,

where a is the last symbol of w, and x is the string that precedes.

• IH is true for x.

44

Start

1

0

A CB 10 0,1

Page 45: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Inductive Step – (2)

• Need to prove (1) and (2) for w = xa.• (1) for w is: If δ(A, w) = A, then w has no

consecutive 1’s and does not end in 1.• Since δ(A, w) = A, δ(A, x) must be A or B, and a

must be 0 (look at the DFA).• By the IH, x has no 11’s.• Thus, w has no 11’s and does not end in 1.

45

Start

1

0

A CB 10 0,1

Page 46: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Inductive Step – (3)

• Now, prove (2) for w = xa: If δ(A, w) = B, then w has no 11’s and ends in 1.

• Since δ(A, w) = B, δ(A, x) must be A, and a must be 1 (look at the DFA).

• By the IH, x has no 11’s and does not end in 1.• Thus, w has no 11’s and ends in 1.

46

Start

1

0

A CB 10 0,1

Page 47: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Part 2: T ⊆ S

• Now, we must prove: if w has no 11’s, then w is accepted by

• Contrapositive : If w is not accepted by

then w has 11.

47

Start

1

0

A CB 10 0,1

Start

1

0

A CB 10 0,1

Key idea: contrapositiveof “if X then Y” is theequivalent statement“if not Y then not X.”

X

Y

Page 48: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Using the Contrapositive• Every w gets the DFA to exactly one state.– Simple inductive proof based on:• Every state has exactly one transition on 1, one

transition on 0.

• The only way w is not accepted is if it gets to C.

48

Start

1

0

A CB 10 0,1

Page 49: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Using the Contrapositive – (2)

• The only way to get to C [formally: δ(A,w) = C] is if w = x1y, x gets to B, and y is the tail of w that follows what gets to C for the first time.

• If δ(A,x) = B then surely x = z1 for some z.• Thus, w = z11y and has 11.

49

Start

1

0

A CB 10 0,1

Page 50: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Regular Languages

• A language L is regular if it is the language accepted by some DFA.– Note: the DFA must accept only the strings in L, no

others.

• Some languages are not regular.– Intuitively, regular languages “cannot count” to

arbitrarily high integers.

50

Page 51: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: A Nonregular LanguageL1 = {0n1n | n ≥ 1}

• Note: ai is conventional for i a’s.– Thus, 04 = 0000, e.g.

• Read: “The set of strings consisting of n 0’s followed by n 1’s, such that n is at least 1.

• Thus, L1 = {01, 0011, 000111,…}

51

Page 52: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Another Example

L2 = {w | w in {(, )}* and w is balanced }– Note: alphabet consists of the parenthesis

symbols ’(’ and ’)’.– Balanced parens are those that can appear in an

arithmetic expression.• E.g.: (), ()(), (()), (()()),…

52

Page 53: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

But Many Languages are Regular

• Regular Languages can be described in many ways, e.g., regular expressions.

• They appear in many contexts and have many useful properties.

• Example: the strings that represent floating point numbers in your favorite language is a regular language.

53

Page 54: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Example: A Regular Language

L3 = { w | w in {0,1}* and w, viewed as a binary integer is divisible by 23}

• The DFA:– 23 states, named 0, 1,…,22.– Correspond to the 23 remainders of an integer

divided by 23.– Start and only final state is 0.

54

Page 55: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Transitions of the DFA for L3

• If string w represents integer i, then assume δ(0, w) = i%23.

• Then w0 represents integer 2i, so we want δ(i%23, 0) = (2i)%23.

• Similarly: w1 represents 2i+1, so we want δ(i%23, 1) = (2i+1)%23.

• Example: δ(15,0) = 30%23 = 7; δ(11,1) = 23%23 = 0.

55

Key idea: design a DFAby figuring out whateach state needs toremember about the past.

Page 56: CS 503 Spring semester 2015 WPI Most of the slides below are due to Jeffrey Ullman (one of our textbok’s authors). They are slides from a course he gave.

Another Example

L4 = { w | w in {0,1}* and w, viewed as the reverse of a binary integer is divisible by 23}

• Example: 01110100 is in L4, because its reverse, 00101110 is 46 in binary.

• Hard to construct the DFA.• But theorem says the reverse of a regular

language is also regular.56