Mời các bạn tham khảo bài giảng Ngôn ngữ hình thức - Chương 1: Đại cương về ngôn ngữ và biểu diễn ngôn ngữ sau đây để nắm bắt được những kiến thức về toán liên quan, khái niệm chung về ngôn ngữ, hệ viết lại và vấn đề biểu diễn ngôn ngữ, văn phạm.
Trang 1NGÔN NGỮ HÌNH THỨC
GV: Nguyễn Thị HồngEmail: nguyenhong@hnue.edu.vn
Trang 2Giới thiệu môn học
Số tín chỉ: 3
Chuyên cần: nghỉ quá 20 % số buổi Cấm thi
Điểm giữa kì: 2 bài
Kiểm tra viết
Bài tập nhóm
Điểm giữa kì <3 Cấm thi
Thi hết học phần: Thi viết
Trang 3Chương 1
ĐẠI CƯƠNG VỀ NGÔN NGỮ VÀ
BIỂU DIỄN NGÔN NGỮ
Trang 4Nội dung
I. Nhắc lại một số kiến thức toán liên quan
II. Khái niệm chung về ngôn ngữ
III. Hệ viết lại và vấn đề biểu diễn ngôn ngữ
IV. Văn phạm
Trang 5I Một số kiến thức toán liên quan
Trang 7Tập hợp
Tập đếm được:
Khái niệm: Một tập hợp được gọi là đếm được nếu
tồn tại một song ánh từ tập đó vào tập N số tự nhiênVD: Tập số chẵn, tập số nguyên
Định lý: Tập hợp các tập con của một tập hợp đếm
được là không đếm được
Trang 8Quan hệ
Định nghĩa: Cho hai tập hợp A và B Ta gọi quan hệ(hai
ngôi) giữa A và B là tập hợp các cặp có thứ tự (a,b) sao cho aA và bB R A×B
Kí hiệu: R(a,b) R ta viết aRb
Tính chất: R={(a,a)|a A} là quan hệ đồng nhất trên A
Phản xạ: nếu a A: aRa
Bắc cầu (truyền ứng): a, b, c A: aRb và bRc kéo theo aRc
Đối xứng: a, b A: aRb kéo theo bRa
R là phản đối xứng nếu a, b A: aRb và bRa kéo theo a=b
Trang 9Quan hệ
Quan hệ phản xạ và truyền ứng quan hệ tiền thứ tự
Quan hệ tiền thứ tự đối xứng quan hệ tương đương
Quan hệ tiền thứ tự phản đối xứng quan hệ thứ tự bộ
Trang 10Quan hệ…
Bao đóng của quan hệ:
Bao đóng truyền ứng (phản xạ, đối xứng) của quan
hệ R trên tập A là tập nhỏ nhất chứa quan hệ đã cho mà có tính chất truyền ứng (phản xạ, đối
Trang 15Một số ví dụ
Ví dụ 1: ngôn ngữ Tiếng Việt
Tập hợp các từ Tiếng Việt: “Tôi”, “bạn”, “chơi”, “ăn”,
Các câu gồm hữu hạn các từ Tiếng Việt không có
nghĩa thì không thuộc ngôn ngữ Tiếng Việt
Trang 16Một số ví dụ
Ví dụ 2: Ngôn ngữ lập trình Pascal:
Từ các kí hiệu cơ sở: chu số(0, …,9), chữ cái (a,
…,z), các kí hiệu đặc biệt (#, &, …)
Các từ tố được xây dựng từ các kí hiệu cơ sở:
BEGIN, END, Return, :=, …
Không phải tất cả các từ được xây dựng từ các kí hiệu cơ sở đều là từ tố
Trang 17Một số ví dụ
Nhận xét:
Một ngôn ngữ (tự nhiên hoặc nhân tạo) đều gồm: tập
hợp hữu hạn các đối tượng sơ đẳng (từ Tiếng Việt, các
kí hiệu cơ sở) và từ các đối tượng này xây dựng được
các đơn vị mang nghĩa (câu, từ tố)
Như vậy, nghiên cứu ngôn ngữ phải đề cập đến:
Quy tắc tạo lập đơn vị mang nghĩa từ các đối tượng
sơ đẳng
Phương pháp xác định nghĩa của các câu
Trang 18Ngôn ngữ
Bộ chữ (bảng chữ): là tập hữu hạn các kí hiệu(chữ,
kí tự) Số phần tử của bộ chữ V kí hiệu là #V
Ví dụ:
Ngôn ngữ Tiếng Việt: bộ chữ là các từ Tiếng Việt.
Ngôn ngữ các từ tố Pascal: bộ chữ là các kí hiệu cơ sở: chữ cái, chữ số, kí hiệu đặc biệt.
Trang 19II Ngôn ngữ
Xâu (từ, câu): trên bộ chữ V là một dãy các kí hiệu trong V
viết liên liền nhau.
Ví dụ: Cho V là {0,1}
Xâu: 00101 là xâu trên bộ chữ V
0 0001 không là xâu trên V 10a001 không là xâu trên V
Trang 20 Chiều dài xâu: là số kí hiệu trong xâu
Xâu rỗng là xâu có chiều dài là 0 Kí hiệu:ε(hoặc )
Xâu con là một phần của xâu
Ví dụ: xâu w=abc có các xâu con là ε, a, b, c, ab, bc, abc
Cho bộ chữ V, Kí hiệu: V* là tập các xâu trên V, V+ là tập các xâu không rỗng trên V
Trang 21Xâu …
Tiền tố: của một xâu là xâu con ở đầu xâu
Hậu tố: của một xâu là xâu con ở cuối xâu
Ví dụ: w=abcd
Tiền tố: ε, a, ab, abc, abcd
Hậu tố: ε, d, cd, bcd, abcd
Trang 22Xâu …
Một số quy ước: Cho bộ chữ V
Vn (nN) là tập hợp các xâu trên V có độ dài n
V0={}: xâu rỗng là xâu trên mọi bộ chữ;
V1=V: các xâu có độ dài 1 là đồng nhất với các kí hiệu
V* là tập hợp tất cả các xâu trên V
V*= U Vi (i≥0)
V+ là tập các xâu không rỗng trên V
V + = U V i (i>0)
Trang 23Các phép toán trên xâu
Ghép tiếp (tích ghép): là kết nối hai xâu x và y thành xâu
xy.
Nếu x= a1a2…an, y= b1b2…bm thì x.y= c1c2…cn+m(ci=ai với i=1, …,n và cn+i=bi với i=1, …,m)
Ví dụ: xâu x=abc, y=bca
Kết quả ghép tiếp là xâu xy=abcbca
Đảo ngược: là viết xâu theo thứ tự ngược lại Kí hiệu: đảo
ngược của xâu u là xâu uR
Ví dụ: u=abcde
Xâu đảo ngược là xâu u R =edcba
Trang 24 V+ là tập tất cả các xâu trên V không kể
L là ngôn ngữ trên V nếu LV*
,{ε}, V1, V2, …, V* là ngôn ngữ trên V
Trang 25Định nghĩa ngôn ngữ
Ví dụ: V={a,b} Các ngôn ngữ trên V
, {} là ngôn ngữ trên V
V1 ={a, b} là ngôn ngữ gồm các xâu độ dài 1 trên V
V2 = {aa, ab, bb, ba} là ngôn ngữ gồm các xâu độ dài 2 trên V
V*={ε, a, b, ab, aab, abb, aaa, …}
L={a, b, ab} là ngôn ngữ trên V
Trang 26Các phép toán trên ngôn ngữ
Ghép tiếp(tích ghép): Cho hai ngôn ngữ L1 và L2, ghép tiếp của ngôn ngữ L1 và L2:
L1L2={xy|xL1, yL2}
Đảo ngược: là ngôn ngữ có được bằng cách đảo ngược
tất cả các xâu của ngôn ngữ đó:
LR={wR, w L}
Trang 27Các phép toán trên ngôn ngữ
Lũy thừa nguyên:
Trang 28III Hệ viết lại và vấn đề biểu diễn ngôn ngữ
Biểu diễn ngôn ngữ:
Cách 1: liệt kệ các phần tử của ngôn ngữ (ngôn ngữ
Trang 29Hệ viết lại
Định nghĩa:
Là một bộ đôi W=(V,P) trong đó:
- V là một bộ chữ
- P là tập hữu hạn các cặp xâu trên V có dạng (,)
Mỗi cặp (,) được gọi là một quy tắc viết lại (nếu gặp xâu thì ta có thể thay thế bằng xâu )
Cặp (,) có thể viết dưới dạng: , được gọi là một sản xuất
Nếu 1, 2, …, k thì ta viết:
1|2|…|k
Trang 30Hệ viết lại
Suy dẫn trực tiếp: Cho hệ viết lại W=(V, P), x,y V*
x suy dẫn trực tiếp ra y nếu tồn tại các xâu u, , , v
Trang 31Hệ viết lại
Suy dẫn (dẫn xuất): Cho hệ viết lại W=(V, P), x,y
V*, y được dẫn xuất từ x (x là đầu, y là đích) nếu tồn
tại các xâu 1, 2, 3, …k sao cho:
x= 1
y= k
i =>i+1 là suy dẫn trực tiếp
Kí hiệu: x=>*y hoặc x=>*y
w
Trang 35IV.Văn phạm
Ví dụ: Cho văn phạm
G=({S,A,B}, {a,b}, S, P) trong đó P:
SaAS|bBS|εAaaA|b
BbbA|a
Trang 37Văn phạm
Ví dụ: Văn phạm ngôn ngữ lập trình Pascal
<Tên><Chữ cái>|<Tên><Chữ cái>|<Tên><Chữ số>|<Tên> _
<Chữ cái>a|…|z|A|…|Z
<Chữ số>0|…|9
Trang 39Văn phạm
Phân loại văn phạm:
Văn phạm loại 0 (văn phạm ngữ cấu): văn phạm
Trang 41Phân loại văn phạm …
Văn phạm loại 3: (Văn phạm chính quy)
văn phạm tuyến tính (VPTT) phải nếu quy tắc có
một trong hai dạng sau:
AwB (A, B , w*)
Aw (A, w*)
Nếu |w|≤1VPTT phải đơn
Văn phạm tuyến tính trái nếu quy tắc có một trong
Trang 42Văn phạm loại 3…
Định lý: Cho VPTT phải G Tồn tại một VPTT phải
đơn G’ tương đương với G
Định lý: Cho VPTT trái G Tồn tại một VPTT trái đơn
G’ tương đương với G
Định lý: Cho VPTT phải G Tồn tại một VPTT trái G’
tương đương với G
Trang 43Văn phạm loại 3 …
Bài toán: Cho VPTT phải G, tìm VPTT phải đơn G’ tương đương G
Trang 44Văn phạm
Một ngôn ngữ được gọi là đệ quy kể được, cảm ngữ cảnh, phi ngữ cảnh, chính quy nếu có một văn phạm tổng quát, cảm ngữ cảnh, phi ngữ cảnh, chính quy phải sinh ra nó