Download presentation
Presentation is loading. Please wait.
Published byBuck Oliver Modified over 9 years ago
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 … downloaded by me, and rearranged a bit, from http://infolab.stanford.edu/~ullman/ialc/spr10/ spr10.html 1
2
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
3
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
4
Strange Planet with 2 Individuals 4 200002020 110101011 acb
5
Strange Planet with 3 Individuals 5 300003030 111 ac b 102210 a c 201021 bb 012120 a c State 111 has several transitions.
6
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
7
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
8
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
9
Strange Planet with 2 Individuals 9 200002020 110101011 acb Notice: all states are “ must-fail ” states.
10
Strange Planet with 3 Individuals 10 300003030 111 ac 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.
11
Strange Planet with 4 Individuals 11 Notice: states 400, etc. are must-fail states. All other states are “ might-fail ” states. 400 022 130103 211 a cb bc a 040 202 013310 121 b ac ca b 004 220 301031 112 c ba ab c
12
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
13
The Cases 2, 3, 4 13 110 200 x 111 210 300 220 400 310 211 x x x x x x Notice: for the case n = 4, there is nondeterminism : different transitions are possible from 211 on the same input.
14
5 Individuals 14 410 500 320311 221 Notice: 500 is a must-fail state; all others are might-fail states.
15
6 Individuals 15 321 600 411330 222 Notice: 600 is a must-fail state; 510, 420, and 321 are can ’ t-fail states; 411, 330, and 222 are “ might-fail ” states. 420 510
16
7 Individuals 16 331 700 430 421 322 Notice: 700 is a must-fail state; All others are might-fail states. 511 520 610
17
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
18
Introduction to Finite Automata Languages Deterministic Finite Automata Representations of Automata 18
19
Alphabets An alphabet is any finite set of symbols. Examples: ASCII, Unicode, {0,1} (binary alphabet ), {a,b,c}. 19
20
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
21
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
22
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 length 3, 8 of length 4. I wonder how many of length 5?
23
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 (q 0, in Q, typically). 5.A set of final states (F ⊆ Q, typically). “ Final ” and “ accepting ” are synonyms. 23
24
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
25
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
26
Example: Graph of a DFA 26 Start 1 0 ACB 1 0 0,1 Previous string OK, does not end in 1. Previous String OK, ends in a single 1. Consecutive 1 ’ s have been seen. Accepts all strings without two consecutive 1 ’ s.
27
Alternative Representation: Transition Table 27 01 AABBACCCCAABBACCCC Rows = states Columns = input symbols Final states starred * * Arrow for start state
28
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
29
Extended δ : Intuition Convention: – … w, x, y, x are strings. – a, b, c,… are single symbols. Extended δ is computed for state q and inputs a 1 a 2 …a n by following a path in the transition graph, starting at q and selecting the arcs with labels a 1, a 2,…,a n in turn. 29
30
Example: Extended Delta 30 01 AABBACCCCAABBACCCC δ (B,011) = δ ( δ (B,01),1) = δ ( δ ( δ (B,0),1),1) = δ ( δ (A,1),1) = δ (B,1) = C
31
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
32
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 δ (q 0, w) is in F. 32
33
33
34
Example: String in a Language 34 Start 1 0 ACB 1 0 0,1 String 101 is in the language of the DFA below. Start at A.
35
Example: String in a Language 35 Start 1 0 ACB 1 0 0,1 String 101 is in the language of the DFA below. Start at A.
36
Example: String in a Language 36 Start 1 0 ACB 1 0 0,1 Follow arc labeled 1. String 101 is in the language of the DFA below.
37
Example: String in a Language 37 Start 1 0 ACB 1 0 0,1 Then arc labeled 0 from current state B. String 101 is in the language of the DFA below.
38
Example: String in a Language 38 Start 1 0 ACB 1 0 0,1 Finally arc labeled 1 from current state A. Result is an accepting state, so 101 is in the language. String 101 is in the language of the DFA below.
39
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 conditions about w are true.
40
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
41
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
42
Part 1: S ⊆ T To prove: if w is accepted by then 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 ACB 1 0 0,1
43
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) holds since ε has no 1 ’ s at all. – (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.
44
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 ACB 1 0 0,1
45
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 ACB 1 0 0,1
46
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 ACB 1 0 0,1
47
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 ACB 1 0 0,1 Start 1 0 ACB 1 0 0,1 Key idea: contrapositive of “ if X then Y ” is the equivalent statement “ if not Y then not X. ” X Y
48
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 ACB 1 0 0,1
49
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 ACB 1 0 0,1
50
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
51
Example: A Nonregular Language L 1 = {0 n 1 n | n ≥ 1} Note: a i is conventional for i a ’ s. – Thus, 0 4 = 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, L 1 = {01, 0011, 000111,…} 51
52
Another Example L 2 = {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
53
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
54
Example: A Regular Language L 3 = { 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
55
Transitions of the DFA for L 3 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 DFA by figuring out what each state needs to remember about the past.
56
Another Example L 4 = { w | w in {0,1}* and w, viewed as the reverse of a binary integer is divisible by 23} Example: 01110100 is in L 4, 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.