Chương trình dịch - 21


5) Operator +-*/**

6) delim blank | tab | newline ;

+

ws delim .

7) letter A | B | ...| Z | a | b |...| z ; digit 0 | 1 | ...| 9 ;

*

id (letter| _ ) (letter | digit | _ ) .

b) Xây dựng sơ đồ chuyển để nhận biết mỗi tthẻ từ.


Start

0,1,2,3,4,5,6,7,8,9

q0

q1

1) Digit:


digit


Start

q2

digit

q3

Digits:


Start

0,1,2,3,4,5,6,7,8,9

q0

q1

Start

q2

+, -

q3

2) Digit: sign:


sign

Start

q4

q5

digit

q6

digit


Digits:


Start

0

+,- ,1 digit 2

.

3

digit

4

3)


number:

digit

digit


4 nums Start 15  16 digit digit 17  digit 18 digit 19 E 20  21 digit digit 1

4)

nums: Start


15 +,- ,16


digit

digit 17 .


digit

18

digit


19 E


20 +,- ,21


digit

digit 22

5) operator:


6)

delim:


*


Start

q0

Blank, tab, linenew

q1

Start

0

*

1

*

2

other

3

/

5

+

5

-

6

delim


Start

21

delim

23

Ws:


Start

q0

A,…,Z, a, …,z

q1

7) Letter:


Digit:


id:


Start

0,1,2,3,4,5,6,7,8,9

q2

q3

Start

9

letter

10

letter, digit


Hình BT 2.12 Các sơ đồ chuyển


2.13. Lời giải tóm tắt

a) – M = , , q0, F> trong đó:

+ Q = {q1, q2, q3, q4};

= {0, 1};

+ q0 = q1 ;

+ F = q4




Q

0

1

q1

q2

q2

q2

q3

q2

q3

q4

q4

q4

q4

q4

Có thể bạn quan tâm!

Xem toàn bộ 224 trang tài liệu này.

Chương trình dịch - 21

Bảng BT 2.13.

- Automat M là Automat hữu hạn đơn định; vì qQ và a, ta có:

(q, a) 1

b) 1) 1010101100$


Bước

q

c

khởi tạo

q1

1

1

q2

0

2

q3

1

3

q4

0

4

q4

1

5

q4

0

6

q4

1

7

q4

1

8

q4

0

9

q4

0

10

q4

$

Bảng BT 2.13b1


Ta có q = q4 F. Vậy automat trên đoán nhận được từ w = 1010101100$.

2) 110011101$


Bước

q

c

khởi tạo

q1

1

1

q2

1

2

q2

0

3

q3

0

4

q4

1

5

q4

1

6

q4

1

7

q4

0

8

q4

1

9

q4

$

Bảng BT 2.13b2

Ta có q = q4 F. Vậy automat trên đoán nhận được từ w = 110011101$.

3) 000000000$


Bước

q

c

khởi tạo

q1

0

1

q2

0

2

q3

0

3

q4

0

4

q4

0

5

q4

0

6

q4

0

7

q4

0

8

q4

0

9

q4

$

Bảng BT 2.13b3

Ta có q = q4 F. Vậy automat trên đoán nhận được từ w = 000000000$. c) L(M) = (0+1)1*0(0+1)(0+1)*


2.14. Lời giải tóm tắt

a) M = , , q0, F> trong đó:

+ Q = {A, B, C, D};

= {0, 1};

+ q0 = A;

+ F = D




Q

0

1

A

{B}

{A, B}

B

{B, C}


C

{D}

{C, D}

D



Bảng BT 2.14a

b) Dùng giải thuật đoán nhận từ vị tương ứng với automat trên để đoán nhận các từ: Automat M là Automat hữu hạn không đơn định; vì AQ và 1

(A, 1) = {A, B} = 2 1.

+ w = 1110011$

Sử dụng giải thuật automat không đơn định NFA đoán nhận từ vị bằng bảng sau:


Bước

q = (q, c)

c

khởi tạo

A

1

1

{A, B}

1

2

{A, B}

1

3

{A, B}

0

4

{B, C}

0

5

{B, C, D}

1

6

{C, D}

1

7

{C, D}

$

Bảng BT 2.14b1


Ta có q F = {C, D} {D} = {D} . Vậy automat đoán nhận được từ w = 1110011$.

+ w = 100001110$


Bước

q = (q, c)

c

khởi tạo

A

1

1

{A, B}

0

2

{B, C}

0

3

{B, C, D}

0

4

{B, C, D}

0

5

{B, C, D}

1

6

{C, D}

1

7

{C, D}

1

8

{C, D}

0

9

{D}

$

Bảng BT 2.14b2

Ta có q F = {D} {D} = {D} . Vậy automat đoán nhận được từ w = 100001110$.

+ w = 111100000$


Bước

q = (q, c)

c

khởi tạo

A

1

1

{A, B}

1

2

{A, B}

1

3

{A, B}

1

4

{A, B}

0

5

{B, C}

0

6

{B, C, D}

0

7

{B, C, D}

0

8

{B, C, D}

0

9

{B, C, D}

$

Bảng BT 2.14b3


Ta có q F = {B, C, D} {D} = {D} . Vậy automat đoán nhận được từ w = 111100000$.

c) Chỉ ra ngôn ngữ đoán nhận bởi M N(M) = 

d) Xây dựng DFA đoán nhận cùng ngôn ngữ với Automat M DFA M‟ = ‟,‟,q‟0,>:

- q‟0 = {A} = q0;

- ‟ = {0,1};

- Xác định Q‟ và


Bước

Đánh dấu T

ai

B = (T, ai)

Bổ sung vào Q‟

Bổ sung vào

Kt



{A} = q0

q0


1

q0

0

{B} = q1

q1

‟(q0, 0) = q1



1

{A, B}= q2

q2

‟(q0, 1) = q2

2

q1

0

{B, C} = q3

q3

‟(q1, 0) = q3



1



3

q2

0

{B, C} = q3


‟(q2, 0) = q3



1

{A, B}= q2


‟(q2, 1) = q2

4

q3

0

{B, C, D}= q4

q4

‟(q3, 0) = q4



1

{C, D}= q5

q5

‟(q3, 1) = q5

5

q4

0

{B, C, D}= q4


‟(q4, 0) = q4



1

{C, D}= q5


‟(q4, 1) = q5

6

q5

0

{D}= q6

q6

‟(q5, 0) = q6



1

{C, D}= q5


‟(q5, 1) = q5

7

q6

0





1



Bảng BT 2.14c

- Xác định F‟ = {q4, q5, q6}

2.15. Lời giải tóm tắt

a) M = , , q0, F> trong đó:





+ Q = {0, 1, 2, 3, 4, 5, 6};

= {a, b};

+ q0 = 0;

+ F = 6


Q

a

b

0

{3}

{1}

1

{2}


2

{2}

{5}

3

{4}


4


{3, 4, 5}

5


{6}

6



Bảng BT 2.15a

b) Dùng giải thuật đoán nhận từ vị tương ứng với automat trên để đoán nhận các từ: Automat M là Automat hữu hạn không đơn định; vì 4Q và b

(4, b) = {3, 4, 5} = 3 1.

+ w = baaaabb$

Sử dụng giải thuật automat không đơn định đoán nhận w bằng bảng sau:


Bước

q = (q, c)

c

khởi tạo

0

b

1

{1}

a

2

{2}

a

3

{2}

a

4

{2}

a

5

{2}

b

6

{5}

b

7

{6}

$

Bảng BT 2.15b1

Xem tất cả 224 trang.

Ngày đăng: 28/06/2022
Trang chủ Tài liệu miễn phí