44
NGÔN NGỮ HÌNH THỨC GV: Nguyễn Thị Hồng Email: [email protected]

NGÔN NGỮ HÌNH THỨC

  • Upload
    burke

  • View
    104

  • Download
    1

Embed Size (px)

DESCRIPTION

NGÔN NGỮ HÌNH THỨC. GV: Nguyễn Thị Hồng Email: [email protected]. Giớ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ì

Citation preview

Page 1: NGÔN NGỮ HÌNH THỨC

NGÔN NGỮ HÌNH THỨC

GV: Nguyễn Thị Hồng

Email: [email protected]

Page 2: NGÔN NGỮ HÌNH THỨC

Giớ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

Page 3: 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Ữ

Page 4: NGÔN NGỮ HÌNH THỨC

Nộ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

Page 5: NGÔN NGỮ HÌNH THỨC

I. Một số kiến thức toán liên quan

Tập hợp Kí hiệu: A, B, C, … Cách cho:

- Liệt kê: A={0, 2, 4, 6, 8}

- Chỉ ra tính chất của phần tử: B={x/x là số chẵn}

Page 6: NGÔN NGỮ HÌNH THỨC

Tập hợp

Các phép toán trên tập hợp:• Hợp: AB={x/xA hoặc xB}• Giao: AB={x/xA và xB}• Hiệu: A\B={x/xA và xB}• Tích Đề-các A×B={(a,b)/aA và bB}• Lũy thừa 2A hay (A) là tập mọi tập con của A

Page 7: NGÔN NGỮ HÌNH THỨC

Tậ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ên

VD: 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

Page 8: NGÔN NGỮ HÌNH THỨC

Quan 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

Page 9: NGÔN NGỮ HÌNH THỨC

Quan 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ộ

phận Quan hệ thứ tự bộ phận sao cho a, bA: aRb hoặc bRa

quan hệ thứ tự toàn phần VD: quan hệ <, ≤, =, đồng dư modun m là các các quan hệ

có tính chất gì?

Page 10: NGÔN NGỮ HÌNH THỨC

Quan 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 xứng)

Ví dụ: Cho quan hệ R={(x1,x1); (x1,x2); (x2,x3)} Quan hệ R xác định trên A={x1, x2, x3} Bao đóng phản xạ của R:{(x1,x1); (x1,x2); (x2,x3); (x2,x2); (x3,x3)}

Page 11: NGÔN NGỮ HÌNH THỨC

Đồ thị

Định nghĩa:Đồ thị G=(V, E) trong đó:

- V là một tập hữu hạn các đỉnh hay nút

- E là tập hợp các cặp đỉnh (cạnh) Ví dụ: G=(V,E) trong đó:

- V={1,2,3,4,5,6}

- E={(1,2), (1,5), (2,3), (2,5),

(3,4), (4,5), (4,6) }

Page 12: NGÔN NGỮ HÌNH THỨC

Đồ thị …

Đồ thị có hướng: G=(V,E) trong đó E là cặp đỉnh có thứ tự (cung)

Cây: là đồ thị có hướng có một nút là Gốc, các nút cha, nút con

Page 13: NGÔN NGỮ HÌNH THỨC

Phép chứng minh quy nạp

Phép chứng minh quy nạp: Quy nạp theo biến nào? Cơ sở quy nạp: P(0) Giả thiết quy nạp: P(n-1) kéo theo P(n)

Page 14: NGÔN NGỮ HÌNH THỨC

II. Ngôn ngữ

Bộ chữ Xâu Các phép toán trên xâu Ngôn ngữ Các phép toán trên ngôn ngữ

Page 15: NGÔN NGỮ HÌNH THỨC

Mộ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”, …

Tập hợp các câu Tiếng Việt có nghĩa được xây dựng từ các từ Tiếng Việt:

“Tôi ăn cơm”“Tôi đi ngủ”

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

Page 16: NGÔN NGỮ HÌNH THỨC

Mộ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ố.

Page 17: NGÔN NGỮ HÌNH THỨC

Mộ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

Page 18: NGÔN NGỮ HÌNH THỨC

Ngô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.

Page 19: NGÔN NGỮ HÌNH THỨC

II. 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

Page 20: NGÔN NGỮ HÌNH THỨC

Xâu…

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

Page 21: NGÔN NGỮ HÌNH THỨC

Xâ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

Page 22: NGÔN NGỮ HÌNH THỨC

Xâ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 Vi (i>0)

Page 23: NGÔN NGỮ HÌNH THỨC

Cá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 uR=edcba

Page 24: NGÔN NGỮ HÌNH THỨC

Định nghĩa ngôn ngữ Định nghĩa:

Ta gọi ngôn ngữ trên bộ chữ V là một tập hợp bất kì các xâu trên V.

, {} là ngôn ngữ trên bộ chữ bất kì V* là tập tất cả các xâu trên V kể cả 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

Page 25: NGÔN NGỮ HÌNH THỨC

Đị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

Page 26: NGÔN NGỮ HÌNH THỨC

Cá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}

Page 27: NGÔN NGỮ HÌNH THỨC

Các phép toán trên ngôn ngữ Lũy thừa nguyên:

L0={ε} Li=L.Li-1 (với i=1,2,3, …)

Ghép lặp * và +: L*=L0L1L2… L+=L1L2…

Page 28: NGÔN NGỮ HÌNH THỨC

III. 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ữ

là hữu hạn) Cách 2: Chỉ ra các tính chất của phần tử

- Cho cơ chế sản sinh ra các xâu thuộc ngôn ngữ (văn phạm)

- Cho cơ chế đoán nhận các xâu thuộc ngôn ngữ (Ôtômát)

Page 29: NGÔN NGỮ HÌNH THỨC

Hệ 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

Page 30: NGÔN NGỮ HÌNH THỨC

Hệ 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 sao cho: x=uv

y=uv là một sản xuất trong P

Kí hiệu: x=>y hoặc x=>yw

Page 31: NGÔN NGỮ HÌNH THỨC

Hệ 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=>*yw

Page 32: NGÔN NGỮ HÌNH THỨC

Hệ viết lại…

Ví dụ: Cho hệ viết lại sau: V={0, 1, +} P={0+00, 0+11, 1+01, 1+10}

Các suy dẫn trong hệ này: 0+0+1+1 => 0+1+1 => 1+1 => 0 0+0+1+1 => 0+1+1 => 0+0 => 0

Page 33: NGÔN NGỮ HÌNH THỨC

Hệ viết lại…

Định lý hợp suy dẫn:

Cho hệ viết lại (V, P) và cho u1, …un , v, …vn là các xâu trong V*.

Nếu: u1 =>* v1

un =>* vn

Thì: u1…un => * v1 …vn

Page 34: NGÔN NGỮ HÌNH THỨC

IV.Văn phạm Định nghĩa: là một bộ bốn G=(, , P, S) trong đó:

là bộ chữ kết thúc (tập kí hiệu kết thúc) là bộ chữ không kết thúc (tập kí hiệu không kết

thúc) S là kí hiệu bắt đầu P là tập các sản xuất , là hai bộ chữ rời nhau, V= là bộ chữ của

văn phạm

Page 35: NGÔN NGỮ HÌNH THỨC

IV.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

Page 36: NGÔN NGỮ HÌNH THỨC

Văn phạm

Ví dụ: Văn phạm Tiếng Việt <Câu><Chủ ngữ><vị ngữ> <Chủ ngữ> <danh từ>|<tên> <vị ngữ> <động từ> <danh từ> ”bố”| “mẹ”| “gà”| “bò”| … <Tên> ”Minh”| ”Hà”| ”Hồng”| “Lan”… <động từ>”Ăn”| “ngủ”| “chơi”…

Page 37: NGÔN NGỮ HÌNH THỨC

Vă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

Page 38: NGÔN NGỮ HÌNH THỨC

Văn phạm

Ngôn ngữ sinh bởi văn phạm: L(G)={x*|S=>*

px} L(G) là tập tất cả các xâu gồm toàn kí hiệu kết thúc

được suy dẫn ra từ kí hiệu bắt đầu Hai văn phạm được gọi là tương đương nếu chúng

sản sinh ra cùng một ngông ngữ:

G tương đương G’ L(G)=L(G’)

Page 39: NGÔN NGỮ HÌNH THỨC

Vă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 tổng quát

Văn phạm loại 1 (Văn phạm cảm ngữ cảnh): mọi quy tắc có dạng:

A w (, V*; A, wV+) Văn phạm loại 2 (văn phạm phi ngữ cảnh) mọi quy

tắc có dạng: Aw (A, wV*) Aε là sản xuất ε; AB(B ) là sản xuất đơn

Page 40: NGÔN NGỮ HÌNH THỨC

Văn phạm …

Ví dụ 2: Cho văn phạm G=({a,b},{},S,P) trong đó P gồm các sản xuất:

SaS|Sb| Ngôn ngữ được sinh bởi văn phạm:

L={anbm| n,m≥0} Ngôn ngữ được sinh bởi văn phạm L là ngôn ngữ

gồm các kí hiệu a và b trong đó các kí hiệu a đứng trước các kí hiệu b.

Page 41: NGÔN NGỮ HÌNH THỨC

Phâ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 hai dạng sau:

ABw (A, B , w*) Aw (A, w*) Nếu |w|≤1VPTT trái đơn

Page 42: NGÔN NGỮ HÌNH THỨC

Vă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

Page 43: NGÔN NGỮ HÌNH THỨC

Vă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.

Page 44: NGÔN NGỮ HÌNH THỨC

Vă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ó