chương 2: ÔtÔmÁt hỮu hẠn vÀ biỂu thỨc chÍnh quy

61
Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Upload: tallis

Post on 02-Feb-2016

62 views

Category:

Documents


0 download

DESCRIPTION

Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY. Nội dung. Biểu thức chính quy Ôtômat hữu hạn Ôtômat hữu hạn tiền định Ôtômat hữu hạn không tiền định Sự tương đương giữa ô tô mát hữu hạn tiền định và không tiền định Sự tương đương giữa ô tô mát và biểu thức chính quy Văn phạm chính quy - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Chương 2:ÔTÔMÁT HỮU HẠN VÀ BIỂU

THỨC CHÍNH QUY

Page 2: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Nội dung

I. Biểu thức chính quyII. Ôtômat hữu hạn

Ôtômat hữu hạn tiền định Ôtômat hữu hạn không tiền định Sự tương đương giữa ô tô mát hữu hạn tiền định và

không tiền địnhIII. Sự tương đương giữa ô tô mát và biểu thức chính quyIV. Văn phạm chính quyV. Các ngôn ngữ chính quy

Các tính chất đóng của các ngôn ngữ chính quy Định lý “đùn”

Page 3: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

I. Biểu thức chính quy (BTCQ)

Định nghĩa: Cho bộ chữ là một BTCQ ε là một BTCQ a thì a là một BTCQ , là các BTCQ(+), (.), (*) là các BTCQ

Chú ý: Trong BTCQ chỉ có 3 phép toán và thứ tự ưu tiên là *,.,+ Toán tử ghép tiếp “.” có thể viết:

Page 4: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Giá trị của BTCQ

Một BTCQ trên biểu diễn một ngôn ngữ trên L()= ; L(ε)= {ε} L(a)={a} với a L((+))=L()L() L(())=L().L() L((*))=(L())*

Ta gọi ngôn ngữ chính quy là mọi ngôn ngữ có thể được chỉ định bởi một biểu thức chính quy.

Page 5: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ví dụ về BTCQ và giá trị

Ví dụ:

BTCQ Giá trị

00 {00}

(0+1)* {0,1}*

(0+1)*00(0+1)* {x|x{0,1}* và x chứa 2 con 0 liên tiếp}

(1+10)* {x|x {0,1}* x có con 1 ở đầu và không có hai con 0 liên tiếp}

Page 6: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Tính chất của BTCQ Cho r, s, t là các BTCQ:

(1) r+s=s+r

(2) r+(s+t)=(r+s)+t

(3) r(s+t)=rs+rt

(4) rε= εr=r

(5) r+=r

(6) (ε+r)*=r*

(7) (r*)*=r*

(8) r+r=r

(9) r(st)=(rs)t

(10) (r+s)t=rt+st

(11) r=r=

(12) *= ε

(13) r+r*=r*

(14) (r*s*)*=(r+s)*

Page 7: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ví dụ

Hãy mô tả bằng lời các tập hợp chỉ định bởi các biểu thức chính quy sau: (11+0)*(00+1)* (1+01+001)*(ε+0+00)* [00+11+(01+10)(00+11)*(01+10)]*

Page 8: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Cấu tạo của OHT Cấu tạo:

Một băng vào: chứa xâu cần xử lý (xâu vào), mỗi ô chứa một kí tự

Một đầu đọc: tại mỗi thời điểm trỏ vào một ô của băng vào và cho phép đọc kí hiệu trong ô đó

Cái điều khiển (bộ chuyển trạng thái): tại mỗi thời điểm có một trạng thái:

Các trạng thái là hữu hạn Có một trạng thái đầu và các trạng thái thừa nhận

Một hàm dịch chuyển: cho phép xác định trạng thái tiếp theo dựa và trạng thái và kí hiệu đọc được hiện tại

Page 9: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

II. Ôtômát hữu hạn

Là máy đoán nhận ngôn ngữ Có hai loại:

Ôtômát hữu hạn tiền định (đơn định)(ÔHT) Ôtômát hữu hạn không tiền định(ÔHK)

Page 10: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Cấu tạo của OHT

1 0 0 1 1 1 0

q Cái điều khiển

Đầu đọc

Hình. Ôtômát hữu hạn tiền định

Băng vào

Page 11: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Nguyên lý hoạt động Ban đầu: OHT ở trạng thái đầu, đầu đọc trỏ vào kí hiệu đầu tiên

của xâu vào Lặp:

ÔHT đọc kí hiệu trên băng, xác định trạng thái tiếp theo dựa vào hàm dịch chuyển, đẩy đầu đọc sang phải một ô

OHT dừng khi đọc hết xâu vào, nếu trạng thái cuối là trạng thái thừa nhận thì xâu và được thừa nhận (thuộc ngôn ngữ mà ôtômát mô tả)

Page 12: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ôtômát hữu hạn tiền định

Ví dụ: Cho ôtômát tiền định M, trong đó: Bộ chữ vào ={0,1} Q={q0, q1, q2, q}, q0 là trạng

thái đầu F={q0} là tập trạng thái kết

thúc Hàm dịch chuyển : Q×

Q, cho bởi bảng bên Xâu vào: 1001 , 11, 0110

0 1

q0 q2 q1

q1 q3 q0

q2 q0 q3

q3 q1 q2

Page 13: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Định nghĩa OHT

Định nghĩa: OHT là một bộ năm M=(,Q,,q0,F) trong đó: - tập hữu hạn các kí hiệu (bộ chữ vào) Q – tập hữu hạn các trạng thái, Q= :Q× Q là hàm dịch chuyển q0 Q là trạng thái đầu FQ là các trạng thái thừa nhận (trạng thái cuối)

Page 14: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ôtômát tiền định

Hệ viết lại ngầm định của ôtômát M là W=(V,P), trong đó: V=Q P: tập các sản xuất được xây dựng như sau:

Nếu (q,a)=p thì qap là một quy tắc trong P Ngôn ngữ đoán nhận bởi M là:

L(M)={| *, q0*qF}

Page 15: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Biểu diễn đồ thị của OHT

Biểu diễn OHT bằng đồ thị: Mỗi nút biểu diễn một trạng thái cụ thể: Mỗi nút là một vòng tròn có tên trạng thái Có bao nhiêu trạng thái thì có bấy nhiêu nút Mỗi cung là một mũi tên chỉ hướng chuyển có kèm

kí hiệu gây ra sự chuyển Nút trạng thái đầu có mũi tên chỉ vào Nút trạng thái cuối vẽ bằng nét kép

Page 16: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Biểu diễn đồ thị của OHT

Ví dụ: M=(,Q,,q0,F)

={0,1}; Q={q0, q1, q2}; F={q1} được cho bởi:

(q0, 0)=q0, (q0, 1)=q1

(q1, 0)=q0, (q1, 1)=q2

(q2, 0)=q2, (q2, 1)=q1

ĐỒ thị chuyển trạng

thái tương ứng:

Page 17: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ôtômát hữu hạn không tiền định

Định nghĩa: OHK là bộ 5 M=(,Q,,q0,F) trong đó: - bộ chữ vào Q – tập hữu hạn các trạng thái, Q= :Q×({ε})(Q) là hàm dịch chuyển q0 Q là trạng thái đầu FQ là các trạng thái thừa (trạng thái cuối)

Page 18: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ôtômát hữu hạn không tiền định

Ví dụ: Sơ đồ chuyển trạng thái của một OHK

Page 19: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ôtômát hữu hạn không tiền định

OHK khác OHT: Từ một trạng thái gặp một kí hiệu được đọc vào có

thể chuyển sang một số trạng thái tiếp theo (hàm chuyển là hàm đa trị)

Từ một trạng thái có thể không cần kí hiệu vào OHK cũng chuyển trạng thái (dịch chuyển ε)

Page 20: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Ta gọi: L(OHT) là lớp các ngôn ngữ được đoán nhận bởi

OHT L(OHK) là lớp các ngôn ngữ được đoán nhận bởi

OHK Ta chứng minh: L(OHT)=L(OHK) (tức là ngôn ngữ L

được đoán nhận bởi OHT L cũng được đoán nhận bởi một OHK)

Page 21: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

L được đoán nhận bởi OHT thì cũng được đoán nhận bởi một OHK: Thêm một số trạng thái qi và một số bước chuyển sao cho:

Các qi không thể đến được đích F Phá vỡ tính tiền định Như vậy, OHT trở thành OHK và cũng đoán nhận ngôn ngữ L

L được đoán nhận bởi OHK thì cũng được đoán nhận bởi một OHT: Loại bỏ dịch chuyển Loại bỏ các đặc tính không tiền định

Page 22: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Loại bỏ dịch chuyển –ε: Định lý II.1: Nếu một ngôn ngữ được thừa nhận

bởi một ô tô mát hữu hạn thì nó cũng sẽ được thừa nhận bởi một ô tô mát hữu hạn không có dịch chuyển ε

(CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba)

Page 23: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Loại bỏ dịch chuyển Cho OHK M= (, Q, , q0, F), dựng OH

M’=(’, Q’, ’, q0’, F’) không còn dc- E(s)={qQ|s=>*q nhờ toàn dc - } (sQ, sE(s)) ’= ; Q’=Q; q0’= q0

’: p’(q,a)rE(q) sao cho p(r,a) F’=F{s Q|E(s)F}

Page 24: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Loại bỏ dịch chuyển

Ví dụ: cho OHK có sơ đồ dịch chuyển sau:

Tìm OH tương đương với OHK đã cho

Page 25: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ví dụ

Loại bỏ dịch chuyển-ε: OHK đã cho: M=(,Q,,p,F)

={0,1,2} Q={p,q,r} p- trạng thái đầu F={r}

Ta cần tìm M’ =(,Q,’,p,F’) không còn dịch chuyển - ε

Page 26: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ví dụ

Tính E(s) cho mọi trạng thái s: E(p)={p,q,r}; E(q)={q,r}; E(r)={r}

Tính F’: F’={r} {sQ|rE(s)}={r} {p,q,r}={p,q,r}

Hàm ’:0 1 2

p {p} {q} {r}

q {q} {r}

r {r}

Page 27: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Ví dụ

Ô tô mát hữu hạn không còn dịch chuyển tương đương:

Page 28: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Loại bỏ tính không tiền định: Định lý II.2: Nếu một ngôn ngữ được thừa nhận

bởi một ô tô mát hữu hạn không có dịch chuyển ε thì nó cũng được thừa nhận bởi một ô tô mát hữu hạn tiền định.

(CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba)

Page 29: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Loại bỏ tính không tiền định

Cho OHK M= (, Q, , q0, F) không còn dc- , dựng OHT M’=(’, Q’, ’, q0’, F’)

’= ; q0’= q0

Q’=(Q) ( tập các tập con của Q) ’: ’(S,a)=U (s, a) với mọi SQ’, sS, a F’= {S Q’|SF}

Page 30: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Ví dụ: Cho ôtômat hữu hạn M={,Q,,q0,F} như sau:

Tìm Otomat hữu hạn tiền định tương đương

Page 31: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Loại bỏ tính không tiền định OHK đã cho: M=(,Q,,p,F)

={0,1} Q={p,q,r} p- trạng thái đầu F={r}

Page 32: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Ta cần tìm M’ =(,(Q),’,{p},F’) trong đó: (S,a)=U(s,a) với S(Q), a

F’={S (Q)|SF}

Page 33: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK Hàm dịch chuyển ’

được biểu diễn như sau:

(Q) 0 1

Đầu {p} {p,q} {p}

{q} {r} Cuối {r}

{p,q} {p,q,r} {p}

Cuối {p,r} {p,q} {p}

Cuối {q,r} {r} Cuối {p,q,r} {p,q,r}

Page 34: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Ôtômat tiền định tương đương:

Page 35: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa OHT và OHK

Định lý II.3: Một ngôn ngữ được thừa nhận bởi một ô tô mát

hữu hạn khi và chỉ khi nó được thừa nhận bởi một ô tô mát tiền định

(CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba)

Page 36: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

III. Sự tương đương giữa ô tô mát hữu hạn và BTCQ

Từ biểu thức chính quy đến Ô tô mat hữu hạn Từ ô tô mát hữu hạn tới ngôn ngữ chính quy

Page 37: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ biểu thức chính quy đến Ô tô mat hữu hạn

Định lý II.4 Mọi ngôn ngữ chính quy trên đều là ngôn ngữ

trạng thái hữu hạn trên (ngôn ngữ được đoán nhận bởi OH)

Chứng minh: Giả sử có một ngôn ngữ được chỉ định bởi một

biểu thức chính quy Ta đi xây dựng một ô tô mát hữu hạn không tiền

định thừa nhận ngôn ngữ đó.

Page 38: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ biểu thức chính quy đến Ô tô mat hữu hạn

Thiết lập các ô tô mát tương ứng với các biểu thức chính quy: được đoán nhận bởi: ( trạng thái đầu) ε được đoán nhận bởi: ( trạng thái cuối) a được đoán nhận bởi:

Page 39: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ biểu thức chính quy đến Ô tô mat hữu hạn

1, 2 lần lượt được đoán nhận bởi hai ô tô mát hữu hạn M1 và M2:

Thì 1.2 được đoán nhận bởi:

Page 40: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ biểu thức chính quy đến Ô tô mat hữu hạn

1* được đoán nhận bởi ô tô mát:

Page 41: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ biểu thức chính quy đến Ô tô mat hữu hạn

1 +2

Page 42: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ ô tô mát hữu hạn tới ngôn ngữ chính quy

Định lý II.5(Kleene) Mọi ngôn ngữ trạng thái hữu hạn đều có thể phân

tích được thành các ngôn ngữ thành phần sao cho khi kết hợp các ngôn ngữ thành phần đó lại bằng các phép toán: hợp, ghép tiếp, ghép lặp(*).

(CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba)

Page 43: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ ô tô mát hữu hạn tới ngôn ngữ chính quy

Cho Ô tô mát hữu hạn M=(, {q1, q2, …, qn},, q1, F). Gọi L(M) là ngôn ngữ được đoán nhận bởi M:

Đặt Rijk là tập các xâu trên cho phép M dịch chuyển từ

trạng thái qi đến qj mà chỉ đi qua các trạng thái ql (l≤k, i,j có thể >k) (qix=>*qj): Hoặc là M không đi qua qk=> xRk-1

ij

Hoặc là M đi qua qk(một số lần) Như vậy Rn

1j chính là ngôn ngữ L (qj F)

Page 44: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Từ ô tô mát hữu hạn tới ngôn ngữ chính quy

Nếu M đi qua trạng thái qk, x có thể cắt thành các xâu con: Một xâu dẫn M từ qi đến qk đầu tiên (Rk-1

ik) Một xâu dẫn M từ qk đến qk tiếp theo (Rk-1

kk) (có thể không có hoặc có nhiều xâu này)

Một xâu dẫn M từ qk cuối đến qj (Rk-1kj)

Như vậy: Rkij=Rk-1

ijRk-1ik(Rk-1

kk)*Rk-1kj

Page 45: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa ô tô mát hữu hạn và BTCQ

Định lý II.6: Mọi ngôn ngữ trạng thái hữu hạn trên bộ chữ

đều là ngôn ngữ chính quy trên

Từ định lý II.4 và II.6 ta có Định lý II.7: Một ngôn ngữ trên bộ chữ là một ngôn ngữ trạng

thái hữu hạn khi và chỉ khi nó là một ngôn ngữ chính quy

Page 46: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Văn phạm chính quy

Văn phạm chính quy là văn phạm tuyến tính (trái hoặc phải)

Văn phạm chính quy sinh ra ngôn ngữ chính quy Ngôn ngữ chính quy có thể được ký hiệu đơn giản bằng

một biểu thức chính quy Tập hợp các chuỗi được ký hiệu bởi một biểu thức

chính quy được gọi là tập hợp chính quy

Page 47: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Sự tương đương giữa VPTT và OH

Định lý II.8Cho văn phạm tuyến tính phải G. Tồn tại một văn phạm

tuyến tính phải đơn G’ tương đương với G. Định lý II.9

Mọi ngôn ngữ chính quy đều có thể được sản sinh bởi một văn phạm tuyến tính phải

Định lý II.10Mọi ngôn ngữ sản sinh từ văn phạm tuyến tính phải là

ngôn ngữ chính quy Định lý II.11

Mọi ngôn ngữ được sản sinh bởi một văn phạm tuyến tính phải khi và chỉ khi nó là chính quy

Page 48: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

48

Sự tương đương giữa VPTT phải đơn và FA

Định lý II.9:

Mọi ngôn ngữ chính quy đều có thể được sản sinh bởi một văn phạm tuyến tính phải.

Chứng minh: Cho một ngôn ngữ chính quy L được

thừa nhận bởi một Ô tô mát hữu hạn tiền định M=(,Q,,q0,F).

Ta xây dựng văn phạm G=(,,S,P).

Page 49: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

49

Sự tương đương giữa VPTT phải đơn và FA

Xây dựng văn phạm G=(,,S,P) trong đó: =Q; q0 là kí hiệu đầu (tiên đề); P gồm:

qap nếu (q,a)=p; q nếu qF.

Page 50: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

50

Sự tương đương giữa VPTT phải đơn và FA

Ví dụ 2: Cho DFA như sau:

Y/c: Tìm văn pham tuyến tính phải tương đương với DFA đã cho.

Page 51: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

51

Sự tương đương giữa VPTT phải đơn và FA

DFA đã cho:

M=({0,1},{p, r},,p, {r}) trong đó gồm:

(p,1)=p; (p,0)=r; (r,0)=r. Văn phạm tương đương với DFA:

G=({0, 1}, {p, r}, p, P) trong đó P gồm:

p1p; p0r ; r0r; r.

Page 52: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

52

Sự tương đương giữa VPTT phải đơn và FA

Định lý II.10:

Mọi ngôn ngữ sinh từ văn phạm tuyến tính phải đều là ngôn ngữ chính quy:

Chứng minh: Cho L là một ngôn ngữ sinh bởi một văn phạm

tuyến tính phải (giả sử G đơn); Ta lập một ô tô mát không tiền định M tương

đương với G thừa nhận L.

Page 53: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

53

Sự tương đương giữa VPTT phải đơn và FA

Xây dựng NFA:

M=(, {f}, , S, {f}) Trong đó:

f ; (A,a)={B|(B và AaBP) hay (B=f và AaP)}

( với mọi a{} và với mọi A)

Page 54: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

54

Sự tương đương giữa VPTT phải đơn và FA

Ví dụ 3: Cho Văn phạm:

S|aS|bT|b

TbT|b Y/c: Tìm Ô tô mát hữu hạn tương đương với văn

phạm đã cho.

Page 55: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

55

Sự tương đương giữa VPTT phải đơn và FA

Ô tô mát hữu hạn tương đương:

M=({a,b}, {S, T, f}, , S, {f}) trong đó gồm:

(S,)=f (S,a)=S (S,b)=T

(S,b)=f (T,b)=T (T,b)=f Sơ đồ dịch chuyển của Ô tô mát:

Page 56: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

56

Sự tương đương giữa VPTT phải đơn và FA

Định lý II.11:

Một ngôn ngữ được sản sinh bởi một văn phạm tuyến tính phải khi và chỉ khi nó là chính quy.

Chứng minh:

Định lý là hệ quả trực tiếp từ các Định lý II.9 và II.10

Page 57: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

V. Các ngôn ngữ chính quy

Các phương tiện xác định ngôn ngữ chính quy: Biểu thức chính quy Các ô tô mát hữu hạn tiền định Các ô tôt mát hữu hạn không tiền định Các văn phạm tuyến tính phải

Page 58: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Các tính chất đóng của NNCQ

L1, L2 là các ngôn ngữ chính quy thì: L1L2 là ngôn ngữ chính quy

L1 L2 là ngôn ngữ chính quy

L1 . L2 là ngôn ngữ chính quy

L1* là ngôn ngữ chính quy

L1 =*-L1 là ngôn ngữ chính quy

Page 59: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Các bài toán quyết định trên NNCQ

Bài toán từ: Cho L là NNCQ và một từ x*. Phải chăng xL

Bài toán ngôn ngữ rỗng: Cho L là NNCQ. Phải chăng L=

Bài toán ngôn ngữ đầy: Cho L là NNCQ. Phải chăng L=*

Bài toán bao hàm ngôn ngữ: L1 L2 là NNCQ. Phải chăng L1 L2

Bài toán ngôn ngữ bằng nhau: L1 L2 là NNCQ. Phải chăng L1 =L2

Page 60: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Định lý Đùn (Bổ đề Bơm)

Cho L là ngôn ngữ chính quy vô hạn và một xâu wL sao cho w#Q (Q là tập các trạng thái của một ô tô mát hữu hạn tiền định thừa nhận L). Khi đó tồn tại x,u,y sao cho w=xuy (uε và |xu|#Q) và xuny L

Định lý đùn là điều kiện cần đối với các ngôn ngữ chính quy, mọi ngôn ngữ không thỏa định lý đùn thì không thể là ngôn ngữ chính quy

Page 61: Chương 2: ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY

Một số ví dụ

L=an bn không là ngôn ngữ chính quy vì không thể tìm thấy xâu xuy sao cho xunyanbn

L=an2 không là ngôn ngữ chính quy.