discrete math by r.s. chang, dept. csie, ndhu1 languages: finite state machines chapter 6...

Post on 29-Mar-2015

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 1

Languages: Finite State Machines

Chapter 6

problems strings (languages) machines answers

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 2

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

: a nonempty finite set of symbols, collectively called an alphabet.

{0,1,2,11} or {a,b bb} is not considered as an alphabet.That is, juxtaposition of symbols is not included in an alphabet.

Def. 6.1 If is an alphabet and Z we define the of recursively as follows:(1) and(2) where denotes the justaposition of and .In general, for all Z |Def. 6.2 Define where denotes the .

Note (1) { } since and (2) { }

+

1

+ ,

+

0

n powers

xy x y xyx y

nempty string

n n

n n

,

,{ | ,

, | | |{ },

}1

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 3

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Def. 6.3 If is any alphabet, then

(a) and (b)

Ex. 6.2 For = {0,1}, the set consists of all strings of 0' sand 1' s together with the empty string.

Def. 6.4 string equivalence if and

Def. 6.5 length of a string: , then Furthermore, = 0.

+ *

*

n

n

n

n

m ni i

n

w x x x w y y y w w m nx y i m

w x x x w n

1 0

1 1 2 2 1 2 1 2

1 2

1

, ., .

.

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 4

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Def. 6.6 operation

We have and for any

If then

But,

Def. 6.7 The power of a string

1

concatenationx x x x y y y y xy x x x y y y

x x x xy x y x y

a b c

x x x x xx x xx

m n m n

n

1 2 1 2 1 2 1 2

2 12

23

23

12

22

13

13

22

12

23

23

12

22

13

13

22

0 1 2 1

0 1 2

5

, ,, , .

{ , , }, { , , }, .

.

, , , ,

*

n

n

n

x x nn

x n x

,

.

Ex. 6.3 If = {0,1} and = 01, then a string of 0' s and

1' s where the first symbol is 0 and the symbols alternate. Here

L={xn|x=01,n in N}y recognizer of

Lyes, y in L

no

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 5

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Def. 6.8 If , and = , then is called a prefix of , andif , then is said to be a proper prefix. Similarly, is called asuffix of ; it is a proper suffix when .

= has + 1 prefixes (suffixes), of which are proper.

Def. 6.9 If , , and = , then is called a substring of .When , is a proper substring.How many substrings are there for =

*

*

x y w xy x wx x y

w xx x x x n n

x y z w xyz y wy w y

x x x xx n x n x x x x n

n

nn n n n

1 2

1 21 2 1 11 1 2 3

?, ( ), ( ), , , , : ( )

,

1

Def. 6.10 For a given alphabet , any subset of is called a language over . This includes the empty language.

*

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 6

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Def. 6.11 For an alphabet and languages , theconcatenation of and , denoted , is { | , }.

Ex. 6.10 = { , , }, = { , , }, = { , }.Then = { , , , , }, = { , , , , , }So, (1) | |= =| | and (2) | |= =| | | |In general, for finite languages and , | | | | | | .

Also for , the decomposition into = where and is not unique. For example,

* A BA B AB ab a A b B

S x y z A x xy z B yAB x xy z xyy zy BA x xy z yx yxy yz

AB BA AB A BA B AB A B

x AB x ab a Ab B

,

5 6 5 6

AB x

= {0,1,00}, = {11,10,011}. Then = 0011 = (00)(11) = (0)(011).

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 7

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Theorem 6.1 For an alphabet , let , , Then(a) { } = { } = (b) ( ) = ( ) (c) ( ) =(d) ( ) = (e) ( )(f) ( ) .Proof of (f): ( ) = , ,

, , , .And with = { , , }, B = { , , }, = { , }, and = { , }.Then

*

A B CA A A AB C A BC A B C AB ACB C A BA CA A B C AB ACB C A BA CA

x B C A x yz y B C z Ay B y C z A yz BA yz CA yz BA CA

x y z x xx y C y xy A y yyxyy BA

.

CA xyy B C A

A A A A ab a A b AA A A

A A A

n n

nn Z

nn N

, but ( ) .

Def. 6.12 (a) b the positive closure of

(c) the Kleene closure of A

+

+

0 1 1{ }, , { | , }( ) ,

{ },

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 8

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Ex. 6.12 Let = { , }.(a) If = { , , , } = then is the language of allstrings in where the length of the string is even.(b) If = { , }, then consists of all the strings in ofodd length. Also Bd) { }

Ex. 6.13 = { , , = { then but .

2 *

*

* *

*

*

x yA xx xy yx yy A

B x y BAA A B A BA

x y x y

A x x x B x nA B B A B

n

,

, .( { } { , }

, , }, | },,

* * * *

* *

3 4

2 20

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 9

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Lemma 6.1 Let be an alphabet, with languages ,If , then A for all ZProof: Let ( ):

is true. Assume ( ) is true. For where and by definition). Therefore,

and

*

n +

+

k+1

A BA B B n

S n A B A BS S k x A x x x

x A x Ax B x B x B

n

n n

k

k

k

..

.( ) ,

(, , .

1 11 2

1 2

1 2

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 10

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Theorem 6.2 For an alphabet and languages ,(a) (b) (c) d) (e) f) g) ( )

Proof of (g): (1) Conversely, ,

*

* * +

* *

*

*

*

*

A BA AB A B A A B A BA B A B AA A A AA A A A A A

A B A B A BA A B B A B A B

A B A B A B A B A BA B

,

(( ( ) ( ) ( )( ( ) ( )

, ( ) ( )( ) ( ) . ,

( )

* *

* * * * * *

* * * * * *

* * *

* * * * *

* A B A B A BA B A B A B A B A B

A B A B xy A Bx A y B xy A B xy A B

A B A B B A B

* * * * * *

* * * * * * * *

* * * * * * *

* * * * *

* * * * * * * * *

( ) ( )( ) ,

( ) ( ) ., . ( ) .

( ) ( ) ( ) .

(2) Conversely, if where

Then So A

*

*

* *

* *

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 11

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Ex. 6.14 = {0,1}, define = { | contains only 1 occurrence of the symbol 0}. Then can be recurively defined asfollows: (1) 0 (2) for any , , .

Ex. 6.15 = {(, )} and consisting of those nonemptystrings of parentheses that are grammatically correct for algebraicexpressions. can de defined as (1) () (2) for any , ,

and ( ) .

Ex. 6.16 = {0,1} and where if the number of 0' sin is equal to the number of 1' s. Then can be defined as(1) (2) if , then , , , , ,

*

*

*

A x x xA

A x A x x A

A

A A x y Axy A x A

A x Ax A

A x A x x x x x

,

1 1

01 01 0 1 10 10 .1 0x A

Which languages in the above examples are harder to recognize?

recursively defined sets

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 12

Chapter 6 Languages: Finite State Machines6.1 Language: The Set Theory of Strings

Ex. 6.17 Given an alphabet , consider the string x = xin Define the reversal of x, x x can berecursively defined as (1) (2) for any n N, if xthen we can write x = zy where z , y Then xUsing this definition, we can prove that (xProof: Induction on the length of x If x then x and

(x Assume theresult is true for any y, x

1* R R

R n+1

n R

11 1 1

1

2

x xx x x

y zx x x

x x x x x x x

n

n n

R

R R R

R R R R R R R R

2

1 1

2 2 1

2 2 2 2 2 2 1

0

. .

,. .

) .. ,

) ( ) .

* . ,

, . ) ( )

( ) ( ) .

where y Now for x

where x with z (1

1

k x

zy y k x x zy x

y x z x y z x zy x x

R R

R R R R R R R

2

1 1 1 2 1 2

1 2 2 1 2 1 2 1

1

Which one is harder, xx or xxR?If x=xR, x is called a palindrome. (noon, madam, did,...)

6.16

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 13

Chapter 6 Languages: Finite State Machines6.2 Finite State Machines: A First Encounter

A vending machine: 20cc for cola (C), root beer(RB)and accepting 5c, 10c, and 25c, and returning the necessary changes

State s s s s sInput 5c 5c 10c WOutput N N N RB

0 1 2 3 0

t t t t t0 1 2 3 4Purchase root beer (white button)

State s s sInput 25c BOutput 5c C

0 3 0

t t t0 1 2Purchase cola(black button)

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 14

Chapter 6 Languages: Finite State Machines6.2 Finite State Machines: A First Encounter

The major features of such a machine:(1) in only one of finitely many states at a given time (state set S)(2) accept as input only a finite number of symbols (input alphabet set I)(3) state transition function depending on input and current state ( is the next state function)(4) finite set of output alphabet set O (optional) ( is the output function)(5) deterministic (vs. nondeterministic)

v S I S:

w S I O:

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 15

Chapter 6 Languages: Finite State Machines6.2 Finite State Machines: A First Encounter

Def. 6.13 A finite state machine is a five - tuple = ( , , , , ).M S I O v w

(or use final states set F instead of O)

1

v w

s s ss s ss s s

0 1 0 1

0 00 00

0 0 11 2 12 0 1

Ex. 6.17

state transition table

s0 s1 s2

start

0,0

1,0

1,0

0,0

1,1

0,0state transition diagram

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 16

Chapter 6 Languages: Finite State Machines6.2 Finite State Machines: A First Encounter

language A={x|x in {0,1}* and has at least 1 0's}

s0

s1

1,0

start

0,10,11,1

x

x is in A if the output contains 1's.

s0

s1

1

001

x

start

x is in A if the machine stays ats1 when the input is consumed.

final state

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 17

Chapter 6 Languages: Finite State Machines6.2 Finite State Machines: A First Encounter

Ex. 6.19 Design a 1-bit binary adder.

s0 s1

start

00,001,110,1

01,010,011,111,0

00,1

state to remember a carry

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 18

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

sequence recognizer

Ex. 6.20 Construct a machine that recognizes each occurrenceof the sequence 111 as it is encountered in any input string of {0,1}*.For example, input 1110101111, the output should be 0010000011.

s0 s1s2

start

0,0

1,01,0

1,1

0,00,0

s3

0,0

1,1

1,1a minimal machine (3 states)

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 19

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

Ex. 6.21 recognize the occurrences of 111 that endin a position that is a multiple of three. (input 1110111,output 0010000)

s0 s1 s2

s3s4

start1,0 1,0

1,10,0

0,00,0

0,01,0

0,01,0

used to consumeextra symbolsbefore counting

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 20

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

Ex. 6.23 Languages that cannot be recognized by a finite state machine. A={0i1i|i is a positive integer}

Assume there is a FSM that recognizes A with n states.

s0 s1 s2 ... si ... sj ... sn-1start

transition for x= 0n1n by the pigeonhole principle,this cycle must exist

If x is recognized, then 0n-(j-i+1)1n would also be recognized.Therefore, such FSM cannot exist.

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 21

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

k-unit delay machinesinput = output (1

'

x x x x w s x x x xmk s

m2 00

1 200 0 , , ) .

Ex. 6.25 1-unit delay machine

s0

s1

s2

start0,0

1,0

0,1 1,0

0,0

1,1

remembering 0

remembering 1

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 22

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

Ex. 6.25 2-unit delay machine

s3 s4 s5 s6

s1 s2

s0

start

0,0 1,0

0,0 1,0 0,0 1,0

1,1

1,00,1

0,10,0

1,1

1,00,0

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 23

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

Def. 6.14 (a) reachable v(si,x)=sj (b) transient statev(s,x)=s implies x= , s2 is the only transient state.

s0

s2s1

s3

s4 s5

s7 s6

0,0

0,11,0

1,1

0,1

1,00,0

1,1

0,1

1,1

1,10,0

1,0

1,1

0,00,1

(c) sink state v(s,x)=s for all x s3 is the only sink(d) submachine(e) strongly connected for any si,sj, si is reachable from sj

a stronglyconnectedsubmachine

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 24

Chapter 6 Languages: Finite State Machines6.3 Finite State Machines: A Second Encounter

Def. 6.15 Let be two distinct states. shortest

input string is called a (or ) sequencefrom to if(a) ( (b) ( (may not be unique)

+s s A

x I transfer transitions s

v s x s v s y s y x

i j

i j

i j i j

,

, ) , ) .

Ex. 6.26 v w

0 1 0 1s0 s6 s1 0 1s1 s5 s0 0 1s2 s1 s2 0 1s3 s4 s0 0 1s4 s2 s1 0 1s5 s3 s5 0 1s6 s3 s6 0 1

Find a transfer sequence from s0 to s2.

s0 s1s6

s6

s5

s5

s3

s3

s0

s0

s1 s2

s4

0

0

0

0

1

1

1

1

0 1

1 0

Discrete Math by R.S. Chang, Dept. CSIE, NDHU 25

Chapter 6 Languages: Finite State Machines

Exercise: P291: 16 P298: 6 P305: 4,6

top related