Tải bản đầy đủ (.pdf) (36 trang)

Lý thuyết automata và ngôn ngữ hình thức - Bài 2 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.12 MB, 36 trang )

GIẢ NG V I Ê N : T S . H À C H Í T R U N G
B Ộ M Ô N : K H M T
K H O A C N T T , H V K T Q S
Đ T : 0 1 6 8 . 5 5 8 . 2 1 . 0 2
E M A I L : H C T 2 0 0 9 @ Y A H O O . C O M

Lý thuyết automata và
ngôn ngữ hình thức
©copyright by PhD. C.T.Ha, Le Quy Don Technical University
Languague
Grammar
Automata
2
Bài 2.  phạm và ngôn ngữ hình thức
Grammars and formal languagues
MỤC ĐÍCH:
 Trang bị những khái niệm cơ bản của môn học TA&FL;
YÊU CẦU:
 Sinh viên nắm vững các khái niệm làm cơ sở cho các bài
học tiếp theo.
©copyright by PhD. C.T.Ha, Le Quy Don Technical University
Bài 2. Văn phạm và ngôn ngữ hình thức
2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky
2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm


2.3. Sơ lược về automata

3
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
Bài 2. Văn phạm và ngôn ngữ hình thức
2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky
2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm
2.3. Sơ lược về automata

4
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
2.1.1. Các khái niệm cơ bản
5
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.1. Tập khác rỗng gồm hữu hạn hay vô hạn các ký
hiệu ược gọi là bảng chữ cái. Mỗi phần tử ược
gọi là một chữ cái hay một ký hiệu.
 bảng chữ cái tiếng Anh;
 ϕ
 bảng chữ cái nhị phân;

 ĐN 2.2. Cho , một dãy ,
ược gọi là một từ hay một xâu (chuỗi) trên bảng 
 , 0, 01, 101, 1010, 110011 là các từ trên bảng chữ cái 
{0,1};
 là các từ trên 

a
 
12
, , ,
m
a a a
12

i i it
a a a


ij
a 
2.1.1. Các khái niệm cơ bản
6
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.3. Độ dài chuỗi: là số các ký hiệu tạo thành chuỗi
• |abca| = 4
 ĐN 2.4. Chuỗi rỗng: ký hiệu ε, chuỗi không có ký hiệu nào
• || = 0
 ĐN 2.5. Chuỗi con: chuỗi v là chuỗi con của w nếu v ược
tạo bởi các ký hiệu liền kề nhau trong chuỗi w.

• Chuỗi 10 là chuỗi con của chuỗi 010001
 ĐN 2.6. Chuỗi tiền tố: là chuỗi con bất  nằm ở ầu chuỗi
 ĐN 2.7. Chuỗi hậu tố: là chuỗi con bất  nằm ở cuối chuỗi
• Chuỗi abc có các tiền tố a, ab, abc
• Chuỗi 0246 có các hậu tố 6, 46, 246, 0246

2.1.1. Các khái niệm cơ bản
7
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Ngôn ngữ: theo từ điển, là một hệ thống thích hợp cho việc biểu
thị các ý nghĩ, các sự kiện, hay các khái niệm, bao gồm tập các ký
hiệu, các qui tắc để vận dụng chúng.
 ĐN 2.8: Một ngôn ngữ (hình thức) L trên bộ chữ cái  là một
tập hợp các chuỗi từ các ký hiệu của bộ chữ cái .
 * : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng sinh
ra từ bộ chữ cái .
 
+
: tập hợp tất cả các chuỗi con, ngoại trừ chuỗi rỗng 
sinh ra từ bộ chữ cái .
* = 
+
 + = * - 

2.1.1. Các khái niệm cơ bản
8
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Ví dụ 1: Cho  = {0,1} thì:

 * = {ε
 
+

 Chuỗi 010210  * vì có số 2  

2.1.1. Các khái niệm cơ bản
9
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Biểu diễn ngôn ngữ:
 Liệt kê các phần tử (chuỗi): L = {aa, aba, baa, baba}
 Mô tả đặc điểm chủ yếu: L = {a
i
| i là số nguyên tố}
 Biểu diễn ngôn ngữ một cách tổng quát thông qua văn
phạm (grammar) và automata:
 Văn phạm: cơ chế sản sinh ra mọi chuỗi của ngôn ngữ;
 Automata: là một máy trừu tượng, hay một cơ chế cho
phép  nhận một chuỗi bất  có thuộc một ngôn ngữ
L hay không

Bài 2. Văn phạm và ngôn ngữ hình thức
2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky

2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm
2.3. Sơ lược về automata

10
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
2.1.2. Các phép toán trên từ
11
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.8. Chuỗi nối kết (concatenation): chuỗi ược tạo
thành bằng cách viết chuỗi thứ nhất, sau  chuỗi thứ hai,
o Nối ghép của chuỗi Long và Int là LongInt
o Nối kết của chuỗi rỗng:  =  = w (với mọi w) → là
ơn vị của phép nối kết
 ĐN 2.9. Chuỗi đảo ngược (reverse): của chuỗi w, ký hiệu
w
R
, là chuỗi w ược viết theo thứ tự ngược lại.
o w = abcd → w
R
= dcba 
R

 Phép cắt trái của từ  cho từ  - là phần còn lại của từ  sau khi
cắt bỏ phần đầu  trong từ .
 Phép cắt phải của từ  cho từ  - là phần còn lại của từ  sau khi
cắt bỏ phần đuôi  trong từ .
Bài 2. Văn phạm và ngôn ngữ hình thức

2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky
2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm
2.3. Sơ lược về automata

12
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
2.1.3. Các phép toán trên ngôn ngữ
13
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Vì mỗi ngôn ngữ là một tập hợp nên ta có các phép toán
đại số tập hợp như là phép hợp, phép giao, phép hiệu,
phép lấy bù trên các ngôn ngữ.
 Phép hợp:
 Phép giao:
 Phép phần bù (complement): = * \ L
 Phép nhân ghép (concatenation):
L
1
L
2
= {w

1
w
2
| w
1
 L
1
và w
2
 L
2
} trên bộ chữ cái 
1
 
2
o 
i
(kết nối i lần trên cùng ngôn ngữ L)
o L
0
= 

 
*
1 2 1 2
|L L L or L
  
    
 
*

1 2 1 2
|L L L and L
  
    
 
CL

2.1.3. Các phép toán trên ngôn ngữ
14
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.10. Ngôn ngữ lặp (bao  kleene, hoặc *-closure):
 ĐN 2.11. Ngôn ngữ lặp cắt (bao  dương  positive
closure):
 ĐN 2.12. Ngôn ngữ ngược:
 ĐN 2.13. Ngôn ngữ cắt trái của ngôn ngữ X cho ngôn ngữ Y:
 ĐN 2.14. Ngôn ngữ cắt phải của ngôn ngữ X cho ngôn ngữ Y:
 
*
|
RR
LL

  
 
*2
0

in
i

L L L L L



      
2
1

in
i
L L L L L



     
 
*
\ | ,Z Y X z x X y Y mà x yz     
 
/ | ,Z X Y z x X y Y mà x zy

     
Bài 2. Văn phạm và ngôn ngữ hình thức
2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky

2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm
2.3. Sơ lược về automata

15
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
2.2.1. Văn phạm và các khái niệm liên quan
16
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Theo từ ển, văn phạm là một tập các quy tắc về cấu tạo từ
và các quy tắc về cách thức liên kết từ lại thành câu.
 Ví dụ ơn giản về  phạm:
<câu>→<chủngữ><vịngữ>
<chủngữ>→tôi | anh | chị
<vịngữ>→<ộngtừ><danhtừ>
<ộngtừ>→ | uống
<danhtừ>→cơm | phở | sữa | café.

2.2.1. Văn phạm và các khái niệm liên quan
17
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.15:  phạm G là một bộ sắp thứ tự gồm 4 thành
phần trong :
 - bảng chữ cái, gọi là bảng chữ cái cơ bản (bảng chữ cái
kết thúc  terminal symbol);
 ∩ gọi là bảng ký hiệu phụ (báng chữ cái không
kết thúc  nonterminal symbol);

 S ∈ - ký hiệu xuất phát hay tiên ề (start variable);
 P - tập các luật sinh (production rules) dạng →
∈ ∪ trong chứa ít nhất một ký hiệu không kết
thúc ( khi, ta gọi chúng là các qui tắc hoặc luật viết lại).
2.2.1. Văn phạm và các khái niệm liên quan
18
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Qui ước: Trong môn học sử dụng:
 Chữ cái in hoa A, B, C,ể biểu thị các biến, trong  S là
ký hiệu xuất phát;
 X, Y, Z,… ể biểu diễn các ký tự chưa biết hoặc các biến;
 a, b, c, d, e,ể biểu diễn chữ cái;
 u, v, w, x, y, z,ể biểu diễn chuỗi chữ cái;
 α, β, ω,… biểu thị chuỗi các biến hoặc các ký hiệu kết thúc.
 Ví dụ 2: G = ({a, b}, {S, A, B}, S, P), trong :
P: S → aAS|bBS|,
A → aaA|b,
B → aaB|a

2.2.1. Văn phạm và các khái niệm liên quan
19
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 ĐN 2.16. Dẫn xuất trực tiếp: nếu → là một luật sinh thì
   →  
 ĐN 2.17. Dẫn xuất gián tiếp: nếu các chuỗi 
1
, 
2

, , 
m

 * và 
1
→ 
2
, 
2
→ 
3
, , 
m-1
→ 
m
thì 
m
có thể ược
dẫn xuất gián tiếp từ 
1


1
→ * 
m
 ĐN 2.18. Ngôn ngữ L sinh bởi văn phạm G:
L (G) = {w  w  * và S → * w}
 ĐN 2.19. Văn phạm tương đương: là 2  phạm sinh ra
cùng một ngôn ngữ (G
1

tương ương G
2
 L(G
1
)=L(G
2
))

2.2.1. Văn phạm và các khái niệm liên quan
20
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
 Cây dẫn xuất: Giả sử dẫn xuất của từ w= a
1
a
2
a
n
là dãy qui
tắc dạng:
S  A
11
A
12
A
1n
 A
21
A
22

A
2m
 a
1
a
2
a
n

 Khi , ta có thể biểu diễn nó dưới dạng cây như sau:

S
A
1n
A
2m

A
12


A
23


a
4

a
n


A
22

a
3
a
2
a
1
A
21

A
11

2.2.1. Văn phạm và các khái niệm liên quan
07/03/2012
21
 Ví dụ 3: Xét văn phạm G ={{a, b}, {S, A}, S, P}, trong
đó
P = { S → aS, S → aA, A → bA, A → b }
 Ngôn ngữ sinh bởi văn phạm G:
2.2.1. Văn phạm và các khái niệm liên quan
07/03/2012
22
 Ví dụ 4: Cho văn phạm:
SaAS; ASbA ; ASS; Sa; Aba
 Xét chuỗi:
S  aAS  aSbAS  aabAS  aabbaS  aabbaa


S
a
A
S
a
b b
S
a
a
A
Bài 2. Văn phạm và ngôn ngữ hình thức
2.1. Ngôn ngữ
2.1.1. Các khái niệm cơ bản
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn phạm
2.2.1. Văn phạm và các khái niệm liên quan
2.2.2. Phân loại văn phạm theo Chomsky
2.2.3. Tính chất của văn phạm và ngôn ngữ
2.2.4. Tính đóng của lớp ngôn ngữ sinh bởi văn phạm
2.3. Sơ lược về automata

23
07/03/2012
Automata và ngôn ngữ hình thức - ©copyright by PhD. C.T.Ha, Le Quy Don Technical University
2.2.2. Chomsky hierarchy -1956
07/03/2012
24
 Avram Noam Chomsky ưa ra một hệ thống phân loại

các  phạm dựa vào tính chất của các luật sinh.
 ĐN 2.20. Văn phạm loại 0   phạm không hạn chế (UG
– Unrestricted Grammar): không cần thỏa ều kiện
ràng buộc nào trên tập các luật sinh;
 ĐN 2.21. Văn phạm loại 1   phạm cảm ngữ cảnh (CSG
– Context Sensitive Grammar): nếu  phạm G có
các luật sinh dạng → và :
|;
 ĐN 2.22. Văn phạm loại 2   phạm phi ngữ cảnh (CFG
– Context-Free Grammar): có luật sinh dạng A→ với
A là một biến ơn và là chuỗi các ký hiệu thuộc (  )*;

 
, , , ,AA
     

   
     
2.2.2. Chomsky hierarchy -1956
07/03/2012
25
 ĐN 2.23. Văn phạm loại 3   phạm chính quy (RG –
Regular Grammar): có mọi luật sinh dạng tuyến tính
phải hoặc tuyến tính trái.
 Tuyến tính phải: A → aB hoặc A → a;
 Tuyến tính trái: A → Ba hoặc A → a;
 Với A, B là các biến ơn, a là ký hiệu kết thúc (có thể là
rỗng).

 Nếu ký hiệu L

0
, L
1
, L
2
, L
3
là lớp các ngôn ngữ ược sinh ra
bởi  phạm loại 0, 1, 2, 3 tương ứng, ta có:
L
3
 L
2
 L
1
 L
0
.

×