1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Một số tính chất của ngôn ngữ chính quy

28 455 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 539,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Em xin khẳng định kết quả của đề tài “ Một số tính chất của ngôn ngữ chính quy” là kết quả của việc nghiên cứu , học tập và nỗ lực của bản thân, không có sự trùng lặp với các kết quả c

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA TOÁN

-

BÙI THỊ MAI

MỘT SỐ TÍNH CHẤT CỦA NGÔN NGỮ CHÍNH QUY

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuyên ngành: Toán ứng dụng

HÀ NỘI – 2017

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA TOÁN

-

BÙI THỊ MAI

MỘT SỐ TÍNH CHẤT CỦA NGÔN NGỮ CHÍNH QUY

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuyên ngành: Toán ứng dụng

Người hướng dẫn khoa học

TS KIỀU VĂN HƯNG

HÀ NỘI – 2017

Trang 3

LỜI CẢM ƠN

Để hoàn thành khóa luận tốt nghiệp này, em xin bày tỏ lòng biết ơn chân thành tới các thầy giáo và cô giáo trong Khoa Toán – Trường Đại học Sư phạm

Hà Nội 2, đã tận tình giúp đỡ chỉ bảo trong suốt thời gian em theo học tại khoa

và trong thời gian làm khóa luận

Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới TS Kiều Văn Hưng – người thầy đã trực tiếp hướng dẫn em, luôn tận tâm chỉ bảo và định hướng cho

em trong suốt quá trình làm khóa luận để em có được kết quả như ngày hôm nay

Mặc dù đã có rất nhiều cố gắng, song thời gian và kinh nghiệm bản thân còn nhiều hạn chế nên khóa luận không thể tránh khỏi những thiếu sót rất mong được sự đóng góp ý kiến của các thầy cô giáo, các bạn sinh viên và bạn đọc

Em xin chân thành cảm ơn

Hà Nội,ngày 24 tháng 04 năm 2017

Sinh viên

Bùi Thị Mai

Trang 4

LỜI CAM ĐOAN

Khóa luận này là kết quả nghiên cứu của bản thân em dưới sự hướng dẫn

tận tình của thầy giáo TS.Kiều Văn Hưng

Trong khi nghiên cứu hoàn thành đề tài nghiên cứu này em đã tham khảo một số tài liệu đã ghi trong phần tài liệu tham khảo

Em xin khẳng định kết quả của đề tài “ Một số tính chất của ngôn ngữ

chính quy” là kết quả của việc nghiên cứu , học tập và nỗ lực của bản thân,

không có sự trùng lặp với các kết quả của đề tài khác Nếu sai em xin chịu hoàn toàn trách nhiệm

Hà Nội,ngày 24 tháng 04 năm 2017

Sinh viên

Bùi Thị Mai

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1 NGÔN NGỮ CHÍNH QUY VÀ BIỂU THỨC CHÍNH QUY 3

1.1 Định nghĩa ngôn ngữ chính quy và biểu thức chính quy .3

1.2 Sự liên hệ giữa otomat và ngôn ngữ chính quy 6

1.3 Điều kiện cần của ngôn ngữ chính quy 10

1.3.1 Otomat tối tiểu 10

1.3.2 Điều kiện cần của ngôn ngữ chính quy 12

CHƯƠNG 2 TÍNH CHẤT CỦA NGÔN NGỮ CHÍNH QUY 17

2.1 Đóng đối với các phép toán tập hợp đơn giản 17

2.2 Đóng đối với các phép toán khác 19

KẾT LUẬN CHUNG 22

TÀI LIỆU THAM KHẢO 23

Trang 6

1

LỜI MỞ ĐẦU

Ngôn ngữ là một phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con người với nhau, giao tiếp giữa người với máy hay giao tiếp giữa máy với máy Nếu như ngôn ngữ mà con người có thể giao tiếp được với nhau được gọi là ngôn ngữ tự nhiên , thì ngôn ngữ mà chúng ta vẫn thường sử dụng

để giao tiếp với máy, hay giữa máy với máy được gọi là ngôn ngữ hình thức Con người muốn máy tính thực hiện công việc phải viết các yêu cầu đưa cho máy bằng ngôn ngữ máy hiểu được Việc viết các yêu cầu như thế gọi là lập trình Ngôn ngữ dùng để lập trình được gọi là ngôn ngữ lập trình Các ngôn ngữ lập trình đều là ngôn ngữ hình thức Trong đó, ngôn ngữ chính quy là một nội dung khá mới mẻ giúp chúng ta hiểu sâu hơn về cấu trúc ngôn ngữ lập trình, đặc biệt nội dung Một số tính chất của ngôn ngữ chính quy là một nội dung khá hay với em

Xuất phát từ sự yêu thích đối với chuyên ngành Toán Ứng dụng và lòng

đam mê nghiên cứu khoa học, em đã chọn đề tài Một số tính chất của ngôn

ngữ chính quy để làm nội dung nghiên cứu khóa luận tốt nghiệp

Khóa luận của em gồm 2 chương

Chương 1 : “ Ngôn ngữ chính quy và biểu thức chính quy ” sẽ định nghĩa

các ngôn ngữ chính quy trực tiếp từ các khái niệm về ngôn ngữ Đồng thời với các ngôn ngữ chính quy, chúng ta đưa ra khái niệm về biểu thức chính quy , là công cụ để biểu diễn các ngôn ngữ chính quy

Chương 2 : “ Tính chất của ngôn ngữ chính quy” nêu ra các ngôn ngữ

chính quy và các ví dụ minh họa để chúng ta thấy rằng ngôn ngữ chính quy cũng

có các tính chất đặc trưng

Tác giả luận văn chân thành cảm ơn TS.Kiều Văn Hưng đã tận tình hướng dẫn tác giả đọc các tài liệu và tập dượt nghiên cứu

Trang 7

2

Tác giả chân thành cảm ơn các thầy cô giáo Khoa Toán trường Đại học

Sư phạm Hà Nội 2 , đặc biệt là tổ Toán ứng dụng , đã tạo điều kiện thuận lợi cho tác giải trong quá trình học Đại học và thực hiện bản khóa luận này

Trang 8

3

CHƯƠNG 1 NGÔN NGỮ CHÍNH QUY VÀ BIỂU THỨC CHÍNH QUY

Trong chương này, chúng ta sẽ định nghĩa các ngôn ngữ chính quy trực tiếp từ các khái niệm về ngôn ngữ, ta cũng sẽ chỉ ra rằng các định nghĩa này là tương đương Đồng thời với các ngôn ngữ chính quy, chúng ta đưa ra các khái niệm về biểu thức chính quy, là công cụ để biểu diễn ngôn ngữ chính quy

1.1 Định nghĩa ngôn ngữ chính quy và biểu thức chính quy

Để diễn đạt các ngôn ngữ chính quy ,ta đưa vào khái niệm biểu thức chính quy , được định nghĩa như sau:

Định nghĩa 1.2

Cho bảng chữ cái  = {a a1, 2, ,a n }, khi đó biểu thức chính quy được định nghĩa như sau:

Trang 9

3, Không có các biểu thức chính quy nào khác trên bảng chữ cái  ngoài các biểu thức chính quy được định nghĩa như trên

Chú ý:

Trong biểu thức chính quy, ta có thể bỏ các dấu ngoặc và quy ước thứ tự thực hiện các phép tính là phép lặp , phép ghép, phép hợp Chẳng hạn biểu thức chính quy ab*a + ba thay cho biểu thức (((a(b*))a)+(ba) Ngoài ra nếu không sợ nhầm lẫn ta có thể sử dụng kí hiệu a thay cho biểu thức chính quy a với mỗi a  

Trang 10

Giả sử tồn tại một biểu thức chính quy trên bảng chữ cái  = {a a1, 2, ,a n

} biểu diễn L Theo định nghĩa biểu thức chính quy thì L là tập hợp được tạo thành từ các tập cơ sở {} , {ε} , {a1 } ,…, {a n } bằng việc áp dụng một số hữu hạn các phép hợp, lặp, ghép Vì các tập cơ sở trên là ngôn ngữ chính quy và hợp, ghép, lặp của một số hữu hạn của chúng cũng là ngôn ngữ chính quy Do đó L

là một ngôn ngữ chính quy

Giả sử L là một ngôn ngữ chính quy trên bảng chữ cái  Khi đó L = T(A), với

A =< Q, , δ, q0, F >, ω * là một otomat hữu hạn đơn định

Giả sử Q = { q q1, 2, ,q n } Kí hiệu k

y

R là tập hợp tất cả các từ mà dưới tác động

của chúng, otomat A chuyển từ trạng thái qi đến qj , thêm vào đó các trạng thái

mà A đi qua có chỉ số không vượt quá k Trên đồ thị chuyển của A , k

y

R là tập hợp các từ ứng với các đường đi từ qi đến qj không đi qua

Ví dụ 1.1

Xác định ngôn ngữ chính quy được biểu diễn bởi biểu thức r = ( 01* + 02)1

Ta có

r = ( 01* + 02)1 = 01*1 + 021, vậy ngôn ngữ chính quy biểu diễn bởi r là

L(r) = L(01*1 + 021) = L(01*1)  L(021) = { 01n , 021 | n  1 }

Trang 11

(A n2,a n1),E   (A a n1 n )Từ đó ta có S →a A1 1, A1 →a A2 2 ,…,A n1 →a n  P

Trang 12

Cho ngôn ngữ L = { ωa n

b ab| n ≥ 0, ω  {a, b}*} Ta có L = L(G) trong đó G =

<{a, b}, {S, A, B}, S, {S → aS, S → bS, S → aA, A → bA, A → aB, B → b}>

là văn phạm chính quy

Xây dựng otomat hữu hạn không đơn định A = <{ S, A, B, E}, {a, b}, δ, S, {E}>, trong đó δ(S,a) = {S, A}, δ(S,b) = {S}, δ(A,a) = {B}, δ(A,b) = {A}, δ(B,a) =, δ(B,b) = {E}, δ(E,a) =  , δ(E,b) =  Đồ thị chuyển của A được cho trong hình 1.1

Hình 1.1 Đồ thị chuyển của otomat A

Theo định lý trên, otomat A đoán nhận ngôn ngữ chính quy L, thật vậy ta có: T(A) = { ωa n

Trang 13

8

định Xét văn phạm G = ( , Q, qo, P), trong đó P = {q →ap| δ(q,a) = p}  {q

→a| δ(q,a) = p  F} Khi đó G là một văn phạm chính quy

Ta chứng minh L(G) = L, với giả thiết ε  L

+, Lấy ω = a a1 2 a n L(G), ω ≠ ε, trong G tồn tại suy dẫn q0 ╞ω hay q0 ├ a q1 1├

 { ε} Vậy ta luôn có L(G) = L Vậy định lý được chứng minh

Trang 14

9

Dễ thấy rằng T(A) = { ω00  ω { 01, 001}*} là ngôn ngữ chính quy Kết luận Từ các định lý trên ta có kết luận về sự liên hệ giữa otomat hữu hạn và ngôn ngữ chính quy như sau:

+, Gọi D là lớp các ngôn ngữ được đoán nhận bởi otomat hữu hạn đơn định ,N là lớp các ngôn ngữ được đoán nhận bởi otomat hữu hạn không đơn định

và R là lớp các ngôn ngữ chính quy

Định lý 1.4 cho biết R  N

Định lý 1.5 cho biết D  R

Vậy D = N = R

+, Ngôn ngữ L là chính quy khi và chỉ khi:

Tồn tại một biểu thức chính quy biểu diễn L

Tồn tại một văn phạm chính quy sinh ngôn ngữ L

Tồn tại một otomat hữu hạn đoán nhận L

Ví dụ 1.4

Với ngôn ngữ chính quy L = {01n, 021 n ≥ 1} ta có:

Biểu thức chính quy biểu diễn L là

r = 01*1 + 021

Văn phạm chính quy sinh ngôn ngữ L

G = <{ 0,1,2}, {S, A, B, C}, S, {S→ 0A, A→ 1A, A→ 1, S→ 0B, B→ 2C, C→ 1}>

Otomat hữu hạn A đoán nhận L có đồ thị chuyển là:

1

0

0 q

Trang 15

10

Hình 1.3 Đồ thị chuyển của otomat A

1.3 Điều kiện cần của ngôn ngữ chính quy

Khi một ngôn ngữ được đoán nhận bởi một otomat hữu hạn , hoặc được sinh bởi một văn phạm chính quy, hoặc được xác định bởi một biểu thức chính quy thì nó là ngôn ngữ chính quy Như vậy việc chứng minh một ngôn ngữ chính quy là khá dễ dàng bằng cách chỉ ra rằng nó được xác định bằng một trong những cách trên Tuy nhiên để khẳng định một ngôn ngữ L không phải là ngôn ngữ chính quy thì lại không hề đơn giản Dù ta không xây dựng được otomat hữu hạn, văn phạm chính quy hay biểu thức chính quy để xác định L, nhưng ta vẫn không thể kết luận ngôn ngữ này không phải là ngôn ngữ chính quy, bởi vì ta không thể khẳng định được rằng không tồn tại những văn phạm chính quy hay những otomat hữu hạn sinh ra L Như vậy, cần có một tiêu chuẩn để căn cứ vào

đó có thể kết luận một ngôn ngữ không phải là ngôn ngữ chính quy , tiêu chuẩn

đó là điều kiện cần của ngôn ngữ chính quy

1.3.1 Otomat tối tiểu

Cùng một ngôn ngữ chính quy L có thể có nhiều otomat hữu hạn đoán nhận nó Tuy nhiên, trong số đó, trước hết chúng ta quan tâm đến các otomat có

số trạng thái ít nhất cùng đoán nhận ngôn ngữ L

Trang 16

Otomat M là đơn định có 4 trạng thái và có đồ thị chuyển ở hình bên

Dễ thấy rằng otomat M đoán nhận ngôn ngữ :

L = T(M) = {anb ω n ≥ 0, ω  {a, b}*}

Nhìn vào đồ thị chuyển của M ta thấy ngay rằng không có đường đi nào từ t0

đến được đỉnh kết thúc t1 , vì vậy otomat M sẽ tương đương với otomat M’ có

đồ thị chuyển như sau:

Hình 1.5 Đồ thị chuyển của otomat tối tiểu M’

Trang 17

12

Rõ ràng là otomat M’ cũng đoán nhận ngôn ngữ L = T(M’) = {anb ω n ≥ 0, ω

 {a, b}*}, M’ chỉ có hai trạng thái và là otomat tối tiểu của ngôn ngữ L= {anb

ω n ≥ 0, ω  {a, b}*}

1.3.2 Điều kiện cần của ngôn ngữ chính quy

Định lý 1.6

Nếu L là ngôn ngữ chính quy thì tồn tại số nguyên dương n sao cho với

mọi ω  L mà ω≥ n đều có thể phân tích được dưới dạng ω = uvw, ( với |v| ≥

1 hay v ≠  ) mà với mọi chỉ số i =0, 1, 2, … ta có uviw  L

Chứng minh :

Vì L là một ngôn ngữ chính quy, khi đó tồn tại 1 otomat hữu hạn đoán nhận nó Giả sử L = T(A) , với A = <Q, , δ, q0, F> là một otomat tối tiểu có n trạng thái, tức là |Q| = n Ta chứng minh n là số tự nhiên cần tìm

Giải sử ω = a a1 2 a n  L với m ≥ n Khi đó ta có  ( , )q0  F tức là

0 , , , 1 m

  sao cho  (q i1, )a iq i , 1≤ i≤ m và qm  F Do m ≥ n nên trong dãyq q0, 1, ,q m có ít nhất hai trạng thái trùng nhau, giả sử đó là q iq k , i < k ≤ n, (với k là số nhỏ nhất mà ta có qi =qk)

Trang 18

13

Định lý được chứng minh

Ví dụ 1.6 :

Chứng minh L = {a b n n :n 0} là không chính quy

+, Giả sử L là chính quy, dễ thấy L vô hạn Theo định lý 1.6 tồn tại số nguyên dương m

+, Chọn ω = m m

a bL , | ω | = 2m ≥m Theo định lý 1.6 tồn tại một cách phân tích ω thành bộ ba

ω = uvw, trong đó | uv| ≤ m(1), |v| = k ≥ 1(2)

Từ cách chọn ω có m kí hiệu a đi đầu, kết hợp với (1) suy ra uv chỉ chứa a, từ đây suy ra v cũng chỉ chứa a Vậy v = ak

+, Đối thủ lấy m

+, Với m đã cho chúng ta lấy một chuỗi ω  L thỏa mãn | ω | = ≥ m +, Đối thủ chọn phân hoạch uvw thỏa mãn | uv| ≤ m, |v| = k ≥ 1 Chúng ta phải giả thiết rằng đối thủ chọn lựa làm sao cho chúng ta khó thắng ván chơi nhất

+, Chúng ta chọn i sao cho chuỗi được đẩy lên không thuộc L

+, Bước quyết định ở đây là bước 2 Trong khi chúng ta không thể ép buộc đối thủ lấy một phân hoạch cụ thể của chuỗi ω , chúng ta có thể chọn chuỗi ω sao cho đối thủ bị hạn chế nghiêm ngặt trong bước 3, ép buộc một sự lựa chọn

Trang 19

Điều kiện đủ là hiển nhiên Bây giờ cho L ≠  Giả sử mọi từ trong L đều

có độ dài ≥ n Gọi  là từ có độ dài nhỏ nhất trong L, mà || ≥ n Theo định lý 1.6 ta có  = uvw, trong đó |v| ≥ 1 và với mọi i = 0, 1, 2… ta có uviw  L Với i

= 0, uw  L mà |uw| < || Điều này mâu thuẫn với tính nhỏ nhất của || Vậy tồn tại   L sao cho || < n

Nguyên lý 2 1 ( Nguyên lý chuồng chim bồ câu)

Nếu chúng ta đặt n vật thể vào trong m hộp và nếu n > m thì ít nhất có một hộp chứa nhiều hơn một vật thể

Ví dụ 1.7

Ngôn ngữ L = {a b n n :n 0} có chính quy không ?

Câu trả lời là không, chúng ta sẽ chứng tỏ bằng phương pháp phản chứng sau : Giả sử L là chính quy thì tồn tại dfa M = <Q, {a, b}, δ, q0, F> nào đó cho L Xét *(q0,ai) với i = 0, 1,2,…Vì có một số không giới hạn các I, nhưng chỉ có một

số hữu hạn các trạng thái trong M, theo nguyên lý chuồng chim bồ câu thì phải

có một trạng thái nào đó, chẳng hạn q, sao cho

Trang 20

một otomat phải phân biệt giữa mọi tiếp đầu ngữ an và am Nhưng vì chỉ có một

số hữu hạn các trạng thái nội để thực hiện điều này nên phải có một n và một m nào đó mà đối với chúng otomat không thể phân biệt được

= T(A) với A = <Q, , δ, q0, F> là một otomat hữu hạn đơn định Với n đủ lớn,

α = anbn có |α| ≥ |Q| Ta có thể biểu diễn anbn = uvw, trong đó |v| ≥ 1, uviw L,

i = 0,1,2…Ta hãy tập trung phân tích từ v và vi:

+, Nếu v chỉ chứa a (|v|a > 0 và (|v|b = 0) thì với i đủ lớn |uviw|a > |uviw|b +, Nếu v chỉ chứa b (|v|b > 0 và (|v|a = 0) thì với i đủ lớn |uviw|b > |uviw|a +, Nếu |v|a > 0, |v|b > 0 thì với i = 2 ta có v = (ab)2 = abab tức là a và b xen

kẽ nhau trong uviw, khi đó uviw không thể có dạng anbn

Cả 3 trường hợp đều mâu thuẫn với uviw  L Vậy không tồn tại một otomat hữu hạn đơn định nào đoán nhận L, tức là L không phải là một ngôn ngữ chính quy

Hệ quả này là một ứng dụng điều kiện cần của ngôn ngữ chính quy, để chứng minh một ngôn ngữ không phải là chính quy nếu nó không thỏa mãn điều kiện này

Trang 22

17

CHƯƠNG 2 TÍNH CHẤT CỦA NGÔN NGỮ CHÍNH QUY

2.1 Đóng đối với các phép toán tập hợp đơn giản

Định lí 2.1

Nếu L1 và L2 là các ngôn ngữ chính quy thì L1  L2, L1 L2 , L1 L2, L

và L1* cũng vậy Chúng ta nói rằng họ ngôn ngữ chính quy là đóng dưới các phép hội, giao, kết nối, bù và bao đóng – sao

Chứng minh

+, Nếu L1, L2 là chính quy thì  các biểu thức chính quy r r1, 2 sao cho L1

= L(r1 ), L2 = L(r2 ) Theo định nghĩa r1 + r2, r1 r2và r1* là các biểu thức chính quy định nghĩa các ngôn ngữ L1 L2, L1 L2, L1* Vì vậy họ ngôn ngữ chính quy

là đóng đối với các phép toán này

+, Để chứng minh tính đóng đối với phép bù, cho M = ( Q, , δ, q0, F ) là dfa chấp nhận L1, thì dfa M = ( Q, , δ, q0, Q - F ) chấp nhận L

+, Để chứng minh với phép giao,dựa vào qui tắc De Morgan ta có

Dựa vào tính đóng của phép bù và phép hội vừa được chứng minh ở trên ta suy

ra tính đóng đối với phép giao

Trang 24

+, Mở rộng nếu ω = a a1 2 a n thì

h(ω) = h a h a( ) (1 2) (h a n) +, Nếu L là ngôn ngữ trên  thì ảnh đồng hình của nó được định nghĩa là

h(L) = {h(ω): ω L}

Ví dụ 2.2 :

+, Cho  = {a, b},  = {a, b, c} và h được định nghĩa như sau

h(a) = ab h(b) = bbc Thì h(aba) = abbbcab Ảnh đồng hình của L = {aa, aba} là ngôn ngữ h(L) = {abab, abbbcab}

+, Cho  = {a, b},  = { b, c, d} và h được định nghĩa như sau

h(a) = dbcc h(b) = bdc Nếu L là ngôn ngữ được biểu thị bởi biểu thức chính quy

r = (a + b*)(aa)* thì r1 = (dbcc + (bdc)*)(dbccdbcc)* là biểu thức chính quy biểu thị cho h(L) Từ đó dẫn tới định lý sau:

Định lý 2.3 Cho h là một đồng hình Nếu L là một ngôn ngữ chính quy , thì

ảnh đồng hình của nó h(L) cũng là ngôn ngữ chính quy Họ các ngôn ngữ chính quy vì vậy là đóng dưới phép đồng hình bất kỳ

Ngày đăng: 26/06/2017, 12:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w