1 / 61

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

tallis
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 • 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”

  3. 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: 

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

  5. 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}

  6. Tính chất của BTCQ • Cho r, s, t là các BTCQ: (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)* • r+s=s+r • r+(s+t)=(r+s)+t • r(s+t)=rs+rt • rε= εr=r • r+=r • (ε+r)*=r* • (r*)*=r*

  7. 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)]*

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

  9. 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)

  10. Cấu tạo của OHT Băng vào Đầu đọc Cái điều khiển Hình. Ôtômát hữu hạn tiền định

  11. 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ả)

  12. Ô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

  13. Đị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 • FQ là các trạng thái thừa nhận (trạng thái cuối)

  14. Ô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ì qap là một quy tắc trong P • Ngôn ngữ đoán nhận bởi M là: • L(M)={| *, q0*qF}

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

  16. 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:

  17. Ô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 • FQ là các trạng thái thừa (trạng thái cuối)

  18. Ô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

  19. Ô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 ε)

  20. 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)

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

  22. 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)

  23. 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)={qQ|s=>*q nhờ toàn dc - } (sQ, sE(s)) • ’= ; Q’=Q; q0’= q0 • ’: p’(q,a)rE(q) sao cho p(r,a) • F’=F{s Q|E(s)F}

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

  25. 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 - ε

  26. 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} {sQ|rE(s)}={r} {p,q,r}={p,q,r} • Hàm ’:

  27. Ví dụ • Ô tô mát hữu hạn không còn dịch chuyển  tương đương:

  28. 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)

  29. 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 SQ’, sS, a  • F’= {S Q’|SF}

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

  31. 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}

  32. 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)|SF}

  33. Sự tương đương giữa OHT và OHK • Hàm dịch chuyển ’ được biểu diễn như sau:

  34. Sự tương đương giữa OHT và OHK • Ôtômat tiền định tương đương:

  35. 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)

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

  37. 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ữ đó.

  38. 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:

  39. 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:   

  40. 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:

  41. Từ biểu thức chính quy đến Ô tô mat hữu hạn • 1 +2

  42. 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)

  43. 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=> xRk-1ij • Hoặc là M đi qua qk(một số lần) • Như vậy Rn1j chính là ngôn ngữ L (qj F)

  44. 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-1ik) • Một xâu dẫn M từ qk đến qk tiếp theo (Rk-1kk) (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-1ijRk-1ik(Rk-1kk)*Rk-1kj

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

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

  47. Sự tương đương giữa VPTT và OH • Định lý II.8 Cho 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.10 Mọ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

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

  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: • qap nếu (q,a)=p; • q nếu qF.

  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.

More Related