+ All Categories
Home > Documents > Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except...

Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except...

Date post: 25-Apr-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
25
Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs Context-Free Grammars Harry Lewis September 26, 2013 Reading: Sipser, §2.1 (except Chomsky Normal Form).
Transcript
Page 1: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 and CSCI E-207Lecture 8: Minimizing DFAs

Context-Free Grammars

Harry Lewis

September 26, 2013

Reading: Sipser, §2.1 (except Chomsky Normal Form).

Page 2: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

A Final Note on Regular Languages and Finite Automata

For any regular language L, there are infinitely many differentfinite automata accepting L, and infinitely many differentregular expressions representing L. Why?

For any regular language L, there is a unique minimal finiteautomaton M such that L(M) = L.

That is, L(M) = L, and for any other finite automaton M ′ suchthat L(M ′) = L, either M ′ has more states than M or its statediagram is isomorphic to that of M .

The minimal equivalent finite automaton can be foundconstructively.

1

Page 3: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

A Final Note on Regular Languages and Finite Automata

For any regular language L, there are infinitely many differentfinite automata accepting L, and infinitely many differentregular expressions representing L. Why?

For any regular language L, there is a unique minimal finiteautomaton M such that L(M) = L.

That is, L(M) = L, and for any other finite automaton M ′ suchthat L(M ′) = L, either M ′ has more states than M or its statediagram is isomorphic to that of M .

The minimal equivalent finite automaton can be foundconstructively.

2

Page 4: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Minimizing DFAs

Finding the minimal equivalent DFA:

• Let M be a DFA

• Without loss of generality assume all states are reachable

• Say that states p, q of M are distinguishable if there is a stringw such that exactly one of δ∗(p, w) and δ∗(q, w) is final.

• Plan: Merge indistinguishable states

• Start by dividing the states of M into two equivalence classes:the final and non-final states

3

Page 5: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Minimizing DFAs, continued

• Break up the equivalence classes according to this rule: If p, q

are in the same equivalence class but δ(p, σ) and δ(q, σ) arenot equivalent for some σ ∈ Σ, then p and q must be separatedinto different equivalence classes

• When all the states that must be separated have been found,form a new and finer equivalence relation

• Repeat

• How do we know that this process stops?

4

Page 6: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Generalizations of FA

Can add:

• probabilistic transitions (like Markov chains)

• outputs at each state

• rewards at each state

• infinite state spaces

Often referred to as “state machines”.

5

Page 7: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

FORTRAN

6

Page 8: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

John Backus

7

Page 9: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

The Fortran Automatic Coding System for the IBM 704EDPM (October 15, 1956)

8

Page 10: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

A Fortran Lexical Definition

9

Page 11: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

A Fortran Syntactic Definition

10

Page 12: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Peter Naur

11

Page 13: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Revised Report on the Algorithmic Language Algol 60 (1962)

12

Page 14: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Noam Chomsky

13

Page 15: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

1956

14

Page 16: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Parse Trees

Expressing Probabilistic Context-Free Grammars in the Relaxed Unification Formalism5

❍❍ ✟✟❡❡❡✏✏

❚❚❚❚❚✘✘✘

❚❚❚❚❚✭✭✭

Time anflies like arrow

N V D NP

NP NP

PP

VP

S

Figure 1. Parse 1—a possible parse tree for time flies like an arrow

having a special type of flies that like an arrow, i.e., time flies is a noun phrase and like is averb. It is conclusive from this example that a more powerful formalism than CFG is requiredin order to deal with ambiguous sentences. PCFG add the ability to distinguish between theappropriateness of a particular parse of a sentence based on a probabilistic model of thelanguage constructs.

❅❅ ��❡❡❡✥✥

❅❅��

✥✥✥✥

Time anflies like arrow

N N D NV

NP

VP

NP

S

Figure 2. Parse 2—a possible parse tree for time flies like an arrow

Table 2. Sample Probabilistic Context-Free Grammar

S → NP VP /1.0 VP → V PP /0.5 D → an /1.0NP → N /0.4 PP → P NP /1.0 V → like /0.3NP → N N /0.2 N → time /0.5 V → flies /0.7NP → D N /0.4 N → arrow /0.3 P → like /1.0VP → V NP /0.5 N → flies /0.2

We revisit the same sentence after transforming the CFG in table 1 into the PCFG listedin table 2 by assigning probabilities to the production rules. PCFGs allow us to compute

15

Page 17: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Parse Trees

Expressing Probabilistic Context-Free Grammars in the Relaxed Unification Formalism5

❍❍ ✟✟❡❡❡✏✏

❚❚❚❚❚✘✘✘

❚❚❚❚❚✭✭✭

Time anflies like arrow

N V D NP

NP NP

PP

VP

S

Figure 1. Parse 1—a possible parse tree for time flies like an arrow

having a special type of flies that like an arrow, i.e., time flies is a noun phrase and like is averb. It is conclusive from this example that a more powerful formalism than CFG is requiredin order to deal with ambiguous sentences. PCFG add the ability to distinguish between theappropriateness of a particular parse of a sentence based on a probabilistic model of thelanguage constructs.

❅❅ ��❡❡❡✥✥

❅❅��

✥✥✥✥

Time anflies like arrow

N N D NV

NP

VP

NP

S

Figure 2. Parse 2—a possible parse tree for time flies like an arrow

Table 2. Sample Probabilistic Context-Free Grammar

S → NP VP /1.0 VP → V PP /0.5 D → an /1.0NP → N /0.4 PP → P NP /1.0 V → like /0.3NP → N N /0.2 N → time /0.5 V → flies /0.7NP → D N /0.4 N → arrow /0.3 P → like /1.0VP → V NP /0.5 N → flies /0.2

We revisit the same sentence after transforming the CFG in table 1 into the PCFG listedin table 2 by assigning probabilities to the production rules. PCFGs allow us to compute

16

Page 18: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Context-Free Grammars

• Originated as abstract model for:

• Structure of natural languages (Chomsky)

• Syntactic specification of programming languages(Backus-Naur Form)

• A context-free grammar is a set of generative rules for strings

e.g.G = S → aSb

S → ε

• A derivation looks like:

S ⇒ aSb ⇒ aaSbb ⇒ aabb

L(G) = {ε, ab, aabb, . . .} = {anbn : n ≥ 0}17

Page 19: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Equivalent Formalisms

1. Backus-Naur Form (aka BNF, Backus Normal Form)

due to John Backus and Peter Naur

< term > ::= < factor > | < factor > ∗ < term >

| < factor > / < term >

“|” means “or” in the metalanguage = same left-hand side

2. “Railroad Diagrams”

Context-Free Grammars 1

• Reading: Sipser, §2.1 (except Chomsky Normal Form).

Context-Free Grammars

• Originated as abstract model for:

– Structure of natural languages (Chomsky)

– Syntactic specification of programming languages (Backus-Naur Form)

• A context-free grammar is a set of generative rules for strings

e.g.

G = S ! aSbS ! !

• A derivation looks like:

S " aSb " aaSbb " aabb

L(G) = {!, ab, aabb, . . .} = {anbn : n # 0}

Equivalent Formalisms

1. Backus-Naur Form (aka BNF, Backus Normal Form)

due to John Backus and Peter Naur

< term > ::= < factor > | < factor > $ < term >| < factor > / < term >

| % “or” = same left-hand side

2. “Railroad Diagrams”

factor

factor

/$

term

18

Page 20: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Formal Definitions of CFG G = (V,Σ, R, S)

V = Finite set of variables (or nonterminals)

Σ = The alphabet, a finite set of terminals (V ∩ Σ = ∅).

R = A finite set of rules, each of the form A → w for A ∈ V andw ∈ (V ∪ Σ)∗.

S = The start variable, a member of V

e.g. ({S}, {a, b}, {S → aSb, S → ε}, S)

• Derivations: For α, β ∈ (V ∪ Σ)∗,

α ⇒G β if α = uAv, β = uwv for some u, v ∈ (V ∪ Σ)∗ and rule A → w.

α ⇒∗G β (“α yields β”) if there is a sequence α0, . . . , αk for k ≥ 0 such thatα0 = α, αk = β, and αi−1 ⇒G αi for each i = 1, . . . , k.

• L(G) = {w ∈ Σ∗ : S ⇒∗G w} (Strings of terminals only!)

19

Page 21: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Formal Definitions of CFG G = (V,Σ, R, S)

V = Finite set of variables (or nonterminals)

Σ = The alphabet, a finite set of terminals (V ∩ Σ = ∅).

R = A finite set of rules, each of the form A ⇒ w for A ∈ V andw ∈ (V ∪ Σ)∗.

S = The start variable, a member of V

e.g. ({S}, {a, b}, {S → aSb, S → ε}, S)

• Derivations: For α, β ∈ (V ∪ Σ)∗ (strings of terminals and nonterminals),

α ⇒G β if α = uAv, β = uwv for some u, v ∈ (V ∪ Σ)∗ and rule A → w.

α ⇒∗G β (“α yields β”) if there is a sequence α0, . . . , αk for k ≥ 0 such thatα0 = α, αk = β, and αi−1 ⇒G αi for each i = 1, . . . , k.

• L(G) = {w ∈ Σ∗ : S ⇒∗G w} (strings of terminals only!)

20

Page 22: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Another example of a CFG

L = {x ∈ {a, b}∗ : x has the same # of a’s and b’s}.

21

Page 23: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

Same Number of a’s and bs

G = ({S, }, {a, b}, R, S) where R has rules:

S → ε

S → SS

S → aSb

S → bSa

Claim: L(G) = {x : x has the same # of a’s and b’s}

22

Page 24: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

x ∈ L(G) ⇒ x has the same # of a’s and b’s

Pf: Easy, every RHS has the same number of a’s and b’s.Formal proof by induction on length k of the derivation.

(a) k = 1: The derivation is S ⇒ e = x ande has 0 a’s, 0 b’s. 4

(b) k > 1: Then either:1) S ⇒ SS ⇒∗ xy

2) S ⇒ aSb ⇒∗ axb

3) S ⇒ bSa ⇒∗ bxa

Since S ⇒∗ x, S ⇒∗ y by derivs. of length < k,x, y have equal #’s of a’s and b’s (IH)

But then so do xy, axb, and bxa. 4

23

Page 25: Harvard CS 121 and CSCI E-207 Lecture 8: Minimizing DFAs ... · Reading: Sipser, §2.1 (except Chomsky Normal Form). Harvard CS 121 & CSCI E-207 September 26, 2013 A Final Note on

Harvard CS 121 & CSCI E-207 September 26, 2013

x has the same # of a’s and b’s ⇒ x ∈ L(G)Proof: by induction on |x| (omit base case, let |x| = k + 2)

4 subcases depending on first and last symbols of x

(i) x = ayb for some y ∈ Σ∗:So |y| = k, and y has the same # of a’s & b’s.By induction hypothesis, S ⇒∗ y

Hence S ⇒ aSb ⇒∗ ayb = x

(ii) x = aya for some y ∈ Σ∗.|y| = k and y has 2 more b’s than a’s.y = uv for some u and v such that:

· u, v each has one more b than a.Hence S ⇒∗ au and S ⇒∗ va

So S ⇒∗ SS ⇒∗ auva = x, etc.

24


Recommended