Professional Documents
Culture Documents
1
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Giới thiệu
Mục tiêu giáo trình
2
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Giới thiệu
Nội dung giáo trình
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 2. ÔTÔMÁT HỮU HẠN
CHƢƠNG 3. BIỂU THỨC VÀ VĂN PHẠM CHÍNH QUI
CHƢƠNG 4. VĂN PHẠM VÀ NGÔN NGỮ PHI NGỮ CẢNH
CHƢƠNG 5. ÔTÔMÁT ĐẨY XUỐNG
CHƢƠNG 6. MÁY TURING
3
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
4
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
5
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
15
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.1. Định nghĩa: G=(Σ, Δ, s, p) trong đó:
Σ: tập hữu hạn các ký hiệu kết thúc.
Δ: tập hữu hạn các ký hiệu chưa kết thúc.
s: ký hiệu bắt đầu; sΔ
p: tập hữu hạn các sản xuất có dạng với
- (Σ Δ)+, có ít nhất một ký hiệu chưa kết
thúc
17
- (ΣΔ)*
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
Qui ƣớc:
- Ký hiệu kết thúc được viết bằng chữ thường
- Ký hiệu chưa kết thúc được viết bằng chữ in
- Ký hiệu chưa kết thúc nằm bên trái của sản
xuất đầu tiên là ký hiệu bắt đầu.
18
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.2. Các khái niệm
Xâu (câu) và dạng câu:
- gọi là xâu khi Σ*
- gọi là dạng câu khi (ΣΔ)*
19
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.2. Các khái niệm
Quan hệ suy dẫn:
- A có quan hệ suy dẫn ra hay được suy dẫn
từ A, có nghĩa là từ A áp dụng các sản xuất sinh
ra được
- Quan hệ suy dẫn trực tiếp: từ A áp dụng một
sản xuất sinh được
Ký hiệu: A với AΔ và (ΣΔ)* 20
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.2. Các khái niệm
Quan hệ suy dẫn:
- Quan hệ suy dẫn nhiều lần: từ A áp dụng nhiều
sản xuất mới sinh được
Ký hiệu: A + với AΔ và (ΣΔ)*
- Độ dài suy dẫn: số lần áp dụng các sản xuất
- Độ dài của suy dẫn trực tiếp bằng 1
21
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.3. Ngôn ngữ đƣợc sinh ra từ văn phạm
- Tập hợp các câu được sinh ra từ văn phạm sẽ
tạo nên ngôn ngữ.
- Xác định câu được sinh ra từ văn phạm:
Từ ký hiệu bắt đầu của văn phạm áp dụng các
sản xuất để sinh các câu.
22
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.3. Ngôn ngữ đƣợc sinh ra từ văn phạm
(1) (2)
- Ví dụ: cho G: S0S1 |
(1) (2)
S==>0S1==>01
(1) (1) (2)
S==>0S1==>00S11==>0011
(1) (1) (1) (2)
S==>0S1==>00S11==>000S111==>000111
Vậy L(G)={0n1n | với n>=0}
23
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.3. Ngôn ngữ đƣợc sinh ra từ văn phạm
- Ví dụ 2: Cho G: SaA
AaA | b
L(G)={anb | n>0}
24
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.3. Ngôn ngữ đƣợc sinh ra từ văn phạm
- Bài tập:
a. SS(S)S |
b. SaSb | bSa|
c. S+ S S | * S S | a
d. S0S1 |
25
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.4. Phân cấp văn phạm của Chomsky
- Nếu các sản xuất đều có dạng Aa |aB với A,B
;a : văn phạm chính quy (VP loại 3)
- Nếu các sản xuất có dạng A với A;
()*: văn phạm phi ngữ cảnh (VP loại 2)
- Nếu các sản xuất có dạng với ,
()*: văn phạm cảm ngữ cảnh (VP loại 1)
- Nếu không có hạn chế gì trên sản xuất: văn26 phạm
tự do (VP loại 0)
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
2. Văn phạm
2.4. Phân cấp văn phạm của Chomsky
Lưu ý:
- Văn phạm loại 3 là trường hợp đặc biệt của văn
phạm loại 2.
- Văn phạm loại 2 là trường hợp đặc biệt của văn
phạm loại 1.
- Văn phạm loại 1 là trường hợp đặc biệt của văn
phạm loại 0. 27
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
CHƢƠNG 1. MỞ ĐẦU
29
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 1 0 1 1 Băng vào
Đầu đọc
Bộ điều
q
khiển
31
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
35
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
δ a b c
1 2
2 2 2 36
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a c
1 2
38
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
39
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
q q
46
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a b c a
0 1 2 3 4
c 47
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
48
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
51
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
52
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
53
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
55
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
56
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 1 0 1
{0} {0,1} {0} q0 q3 q0
{1} {2} q1 q2
*{2} *q2
{0,1} {0,1} {0,2} q3 q3 q4
*{0,2} {0,1} {0} * q4 q3 q0
*{1,2} {2} * q5 q2
58
*{1,2,0} {0,1} {0,2} * q6 q3 q4
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 1 0 1
q0 q3 q0 q0 q3 q4
0
q1 q2 1
*q2
q1 0 1
q3 q3 q4 1
q2 1
*q4 q3 q0 q5 q6
*q5 q2
*q6 q3 q4
59
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
60
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
4. Ứng dụng
- Đoán nhận từ khóa, số, ..., từ tố
- DFA đoán nhận khóa float
f l o a t
0 1 2 3 4 5
Bài tập
(1) Vẽ NFA đoán nhận
- các số nhị phân có độ dài là bội số của 4.
- các xâu 110, 101.
- Các xâu 0(101)+1
- Các số nguyên lẻ ở hệ 8 của NNLT C
(2) Chuyển NFA thành DFA
- Các NFA ở câu (1) 62
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Bài tập
- NFA ở hình vẽ sau:
0|1 0|1
0 0|1 0
0 1 2 3
- NFA có hàm chuyển sau:
a b c d
0 {1,2} {1} {2}
1 {0} {2} {0,1}
*2 63
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Bài tập
- NFA có hàm chuyển sau:
0 1
0 {1,3} {1}
*1 {2} {1,2}
2 {3} {0}
*3 {0}
64
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
65
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
67
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
69
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
70
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
71
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
76
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
78
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
- BTCQ là
79
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
r s
80
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
r
s
81
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
r
82
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0
1
83
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 1
84
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0|1 0 1
0 1 2 3
85
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
86
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
87
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
89
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
90
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
91
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a |b
a
S A
95
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 0|1 0
A B C D
99
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
101
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
0 0,1
0 B E
1 0,1
0,1
A D G
1 0 0
1 F
C
1 102
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
B X
C X
D X X
E X X
F X X X
G X X X
A B C D E F108
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
109
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
110
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
112
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
115
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
116
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
117
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
119
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
122
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
123
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
124
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
125
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
126
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
129
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
132
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
133
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
134
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
136
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
137
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
139
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
140
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
142
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
144
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
145
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
147
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
150
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
,z|
156
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
157
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
159
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
160
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
162
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
,z’|
,z’|zz’
M ,z’| qf
q0’ q0
164
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a,z|1z
a,1|11
b,1|
,z|
q0 q1
165
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a,z|1z
a,1|11
b,1|
,z|
q0 q1
167
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a,z|zz
a,z|zz b,z| ,z|
q0 q1 q2 q3
168
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
169
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
,’|
,z’|zz’
M ,’| qk
q0’ q0
,’|
170
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
171
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
a,z|1z ,z|
a,1|11 b,1|11 ,1|
b,z|1z ,z|
q0 b,1|11 q1 ,1| qf
,z|z
172
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
173
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Mô tả máy Turing
Biểu diễn máy Turing bằng biểu đồ
Ngôn ngữ đƣợc đoán nhận bởi máy Turing
Bài tập
174
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
1. Mô tả máy Turing
q Bộ điều khiển
175
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
1. Mô tả máy Turing
Định nghĩa: M(Σ, Q, , B, δ, q0, F)
Σ: bộ chữ vào
Q: tập hữu hạn các trạng thái
q0 Q: trạng thái đầu
F Q: tập các trạng thái kết thúc
: tập ký hiệu trên băng; Σ
B - Σ : ký hiệu trắng
δ: hàm chuyển trạng thái dạng δ(q,X)=(p,Y,D ) Với
q,p Q; X,Y ; D{L, R} 176
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
1. Mô tả máy Turing
Ví dụ:
Cho máy Turing M(Σ, Q, , B, δ, q0, F)
gồm các thành phần:
Σ: {a, b}
Q: {0,1, 2, 3, 4, 5, 6, 7}
q0: 0
F : {5}
: {a, b, B}
B : Ký hiệu trắng
177
δ:
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
1. Mô tả máy Turing
Ví dụ:
δ: δ(0, a)=(1, B, R); δ(1, a)=(1, a, R);
δ(1, b)=(2, b, R); δ(2, b)=(2, b, R)
δ(2, B)=(3, B, L); δ(3, b)=(4, B, L);
δ(4, B)=(5, B, R); δ(4, b)=(6, b, L)
δ(6, b)=(6, b, L); δ(6, a)=(7, a, L);
δ(7, a)=(7, a, L); δ(7, B)=(0, B,R)
178
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
179
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
180
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
181
TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Bài tập
(1) Xây dựng máy Turing đoán nhận ngôn ngữ:
- anbn với n>0
- an bn cn với n>0
(2) Xây dựng máy Turing tính hàm
- f(n)=n+1; n là số nhị phân
- f(n)=n-1; n là số nhị phân, n>0;
- f(n)=n xor 2; n là số nhị phân 182