7 views

Uploaded by MELJUN CORTES, MBA,MPA

MELJUN CORTES -- AUTOMATA THEORY LECTURE

save

You are on page 1of 36

**CORTES, MBA,MPA,BSCS,ACS
**

CSC 3130: Automata theory and formal languages

DFA minimization algorithm

Andrej Bogdanov

http://www.cse.cuhk.edu.hk/~andrejb/csc3130

Example

• Construct a DFA over alphabet {0, 1} that accepts those strings that end in 111 0

0 0 0 qe 1 0 q1 1 q0 q00 q01 q10 q11 1 q000 1 q001

1

…

q111 1

…

1

• This is big, isn’t there a smaller DFA for this?

…

q101

1

…

Smaller DFA

• Yes, we can do it with 4 states:

0

q0 1 0 q1 0 1 q2 1 q3 1

0

– The state remembers the number of consecutive 1s at the end of the string (up to 3)

• Can we do it with 3 states?

**Even smaller DFA?
**

• Suppose we had a 3 state DFA M for L

• We do not know what this M looks like

**… but let’s imagine what happens when:
**

inputs: e, 1, 11, 111

M

• By the pigeonhole principle, on two of these inputs M ends in the same state

Pigeonhole principle

Suppose you are tossing m balls into n bins, and m > n. Then two balls end up in the same bin.

**• Here, balls are inputs, bins are states:
**

If you have a DFA with n states and you run it on m inputs, and m > n, then two inputs end up in same state.

A smaller DFA?

inputs: e, 1, 11, 111

M

**• What goes wrong if…
**

– M ends up in same state on input 1 and input 111? – M ends up in same state on input e and input 11?

A smaller DFA

• Suppose M ends up in the same state after reading inputs x = 1i and y = 1j, where 0 ≤ i < j ≤ 3

inputs: e, 1, 11, 111 M 1i, 1j

**• Then after reading the continuation z = 13 – j
**

– The state of yz should be accepting (yz = 111) – The state of xz should be rejecting (xz = e, 1, or 11)

… but they are both in the same state!

**No smaller DFA!
**

• Conclusion There is no DFA with 3 states for L

• So, this DFA is minimal

0

q0 1 0 q1 0 1 q2 1 q3 1

0

– In fact, it is the unique minimal DFA for L

DFA minimization

• There is an algorithm to start with any DFA and reduce it to the smallest possible DFA • The algorithm attempts to identify classes of equivalent states

• These are states that can be merged together without affecting the answer of the computation

**Examples of equivalent states
**

0 q0 0 q2 0, 1 0 q0 0, 1 1 q1 0, 1 0, 1 q3 q2

q1

1 1 0, 1

q3

q0, q1 equivalent

q0, q1 equivalent

q2, q3 also equivalent

**Equivalent and distinguishable states
**

• Two states q, q’ are equivalent if ^ ^ For every string w, the states d(q, w) and d(q’, w) are either both accepting or both rejecting

– Here, ^ w) is the state that the machine is in if it d(q, starts at q and reads the string w

• q, q’ are distinguishable if they are not equivalent: For some string w, one of the states d(q, w), d(q’, w) is accepting and the other is rejecting

**Examples of distinguishable states
**

0 q0 0 q2 0, 1 q01 0 1 0, 1 q2 0, 1

q1

1 1 0, 1

q3

q3

**q3 distinguishable from q0, q1, q2
**

q3 is accepting, others are rejecting they behave differently on input 0

(q0, q2) and (q1, q2) distinguishable q0, q1 equivalent

**DFA minimization algorithm
**

• Find all pairs of distinguishable states as follows:

For any pair of states q, q’: If q is accepting and q’ is rejecting Mark (q, q’) as distinguishable

Repeat until nothing is marked: For any pair of states (q, q’): For every alphabet symbol a: If (d(q, a), d(q’, a)) are marked as distinguishable Mark (q, q’) as distinguishable For any pair of states (q, q’): If (q, q’) is not marked as distinguishable Merge q and q’ into a single state

**Example of DFA minimization
**

0 0 0 qe 1 0 q1 1 q0 1 1 q00 q01 q10 q11 1 1 0 0 0 q0 q1 q00 q01 q10 q11 qe q0 q1 q00 q01 q10

1

**Example of DFA minimization
**

0 0 0 qe 1 0 q1 1 q0 1 1 q00 q01 q10 q11 1 1 0 0 0 q0 q1 q00 q01 q10 q11

1

x x x x x x

qe q0 q1 q00 q01 q10

q11 is distinguishable from all other states

**Example of DFA minimization
**

0 0 0 qe 1 0 q1 1 q0 1 1 q00 q01 q10 q11 1 1 0 0 0 q0 q1 q00 q01 q10 q11

x x x x x x x x x x

qe q0 q1 q00 q01 q10

1

** q1 is distinguishable from qe, q0, q00, q10
**

On transition 1, they go to distinguishable states

**Example of DFA minimization
**

0 0 0 qe 1 0 q1 1 q0 1 1 q00 q01 q10 q11 1 1 0 0 0 q0 q1 q00 q01 q10 q11

x x x

1

x x

x

x x x x x x x x

qe q0 q1 q00 q01 q10

** q01 is distinguishable from qe, q0, q00, q10
**

On transition 1, they go to distinguishable states

**Example of DFA minimization
**

0 0 q00 q01 1 q10 q11 1 0 0 0 q0 q1 q00 q01 q10 q11 1

A

qe

0 1

q0

1 0

B

q1

1

1

A x A x A x

x A x A x

x B x x A x x x x x

C

qe q0 q1 q00 q01 q10

** Merge states not marked distinguishable
**

qe, q0, q00, q10 are equivalent → group A q1, q01 are equivalent → group B q11 cannot be merged → group C

**Example of DFA minimization
**

0 0 q00 q01 1 q10 q11 1 0 0 0 q0 q1 q00 q01 q10 q11 1 q0

A

qe

0 1

1 0

q1

1

B

1

A x A x A x

x A x A x

x B x x A x x x x x

C

qe q0 q1 q00 q01 q10

0

minimized DFA:

qA

1 0

qB

0

1

qC

1

**Why does DFA minimization work?
**

• We need to convince ourselves of three properties:

M M’

• Consistency

– The new DFA M’ is well-defined

• Correctness

– The new DFA M’ is equivalent to the original DFA – The new DFA M’ is the smallest DFA possible for L

• Minimality

Main claim

Any two states q and q’ in M are distinguishable if and only if the algorithm marks them as distinguishable

• Proof outline:

– First, we assume q, q’ are marked distinguishable, and show they must be distinguishable – Then, we assume q, q’ are not marked distinguishable, and show they must be equivalent

Proof of part 1

• First, suppose q, q’ are marked as distinguishable

• Could it be that they are equivalent?

– No, because recall how the algorithm works:

q

w1

w1 x

w2

w2

…

…

wk-1

wk-1 x

wk

wk x

x

q’

**Proof idea for part 2
**

• Now suppose q, q’ are not marked as distinguishable

• Could it be that they are distinguishable? ^ ^ Suppose so • Then for some string w, d(q, w) accepts, but d(q’, w) rejects

• Working backwards, the algorithm will mark q and q’ as distinguishable at some point

Proof of part 2

q

w1 w1

w1 w1

… …

wk-1 wk-1

wk wk

q’

For any pair of states q, q’: If q is accepting and q’ is rejecting Mark (q, q’) as distinguishable

Proof of part 2

q

w1 w1 x

w2 w2

… …

wk-1 wk-1 x

wk wk

x

q’

x

Repeat until nothing is marked: For any pair of states (q, q’): For every alphabet symbol a: If (d(q, a), d(q’, a)) are marked as distinguishable Mark (q, q’) as distinguishable

**Why does DFA minimization work?
**

• We need to convince ourselves of three properties:

M M’

• Consistency

– The new DFA M’ is well-defined

• Correctness

– The new DFA M’ is equivalent to the original DFA – The new DFA M’ is the smallest DFA possible for L

• Minimality

Consistency of transitions

0 0 q00 q01 1 q10 q11 1 0 0 0 1

A

qe

0 1

q0

1 0

B

q1

1

C

1

• Why are the transitions between the merged states consistent?

Proof of consistency

B a q5

A

q1

q3 q7 a

q2

C q6

• Suppose there were two inconsistent transitions in M’ labeled a out of merged state qA

Proof of consistency

B a q5

A

q1

q3 q7 a

q2

q6

• States q5 and q6 must be distinguishable because they were not merged together

Proof of consistency

B a q5 w

A

q1

q3 q7 a

q2

C q6

w

• Then, q3 and q7 must also be distinguishable, and this is impossible

Consistency of states

0 0 q00 q01 1 q10 q11 1 0 0 0 1

A

qe

0 1

q0

1 0

B

q1

1

C

1

• Why are the merged states either all accepting or all rejecting?

Consistency of states

0 0 q00 q01 1 q10 q11 1 0 0 0 1

A

qe

0 1

q0

1 0

B

q1

1

C

1

• Because merged states are not distinguishable, so they are mutually equivalent

Correctness

0 0 q00 q01 1 q10 q11 1 q0

A

qe

0 1

1 0

0

0 0 1

B

q1

1

C

1

• Each state of M’ corresponds to a class of mutually equivalent states in M

Proof of correctness

• Claim: After reading input w, M’ is in state qA if and only if M is in one of the states represented by A

• Proof: True in start state, and stays true after, because transitions are consistent • At the end, M accepts w in state qi if and only if M’ on input w lands in the state qA that represents qi

– qA must be accepting by consistency of states

Proof of minimality

All pairs of states in M’ are distinguishable • Now suppose there is some smaller M’’ for L • By the pigeonhole principle, there is a state q’’ of M’’ such that

M’

q’’

v v’

q q’

M’’ v, v’

Proof of minimality

All pairs of states in M’ are distinguishable • Since q and q’ are distinguishable, for some w… • But in M’’, d(q’’, w) cannot both accept and reject!

**• So, M’’ cannot be smaller than M’
**

v v’

q q’

w w

M’

q’’

M’’ w v, v’

?

- CellML Workshop Marcell 2017Uploaded byAroli Marcellinus
- Minimize DfaUploaded byJaved Mala
- Chapter 6Uploaded byTaqi Shah
- DFA n NFAUploaded byjoyitsme
- 355mt1f16sol.pdfUploaded byCameron Harman
- Lexical Analysis SampleUploaded byGaurav Mishra
- PART AUploaded byrishikarthick
- HW1Uploaded bySiddhan T.a .rane
- Lecture 13Uploaded byHarpreet Kaur
- chapter 8Uploaded byMiljan Veljović
- Face Recognition Using Laplacian FacesUploaded byAditya Kumar
- Artifact Facet Ranking and It’s ApplicationsUploaded byIntegrated Intelligent Research
- UT Dallas Syllabus for math5320.501 05f taught by Thomas Butts (tbutts)Uploaded byUT Dallas Provost's Technology Group
- On Outliers and Activity CliffsUploaded byzym1003
- White Paper -AkselosUploaded bynadeem00786
- Cat 8Uploaded byharshsrivastavaalld
- ORUploaded byDeepankar Rawat

- MELJUN CORTES - MACHINE LEARNING Part 10Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 11Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 14Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 7Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 9Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 7Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 12Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 13Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 1Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES TCU Syllabus Ds 101 Discrete Structures 1 Syllabus Cortes Obe New Formats New Revisions 2018Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 6Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 4Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 5Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 3Uploaded byMELJUN CORTES, MBA,MPA
- MELJUN CORTES - MACHINE LEARNING Part 2Uploaded byMELJUN CORTES, MBA,MPA