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 ô đ
Trang 1Chương 2:
ÔTÔMÁT HỮU HẠN VÀ BIỂU
THỨC CHÍNH QUY
Trang 2Nội dung
I Biểu thức chính quy
II Ô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
III Sự tương đương giữa ô tô mát và biểu thức chính quy
IV Văn phạm chính quy
V 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”
Trang 3 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: αβ
Trang 4 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
Trang 5(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}
Trang 6(12) φ *= ε (13) r+r*=r*
(14) (r*s*)*=(r+s)*
Trang 8Cấ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
Trang 9II Ô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)
Trang 10Cấu tạo của OHT
Trang 11Nguyê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
Trang 12Ôtômát hữu hạn tiền định
Ví dụ: Cho ôtômát tiền
Trang 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 đó:
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)={ω| ω∈∑*, q 0ω*q∈F}
Trang 15Biể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
Trang 16Biểu diễn đồ thị của OHT
Trang 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 đó:
Trang 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
Trang 19Ôtômát hữu hạn không tiền định
Trang 20Sự tương đương giữa OHT và OHK
Trang 21Sự 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 q i 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
Trang 22Sự 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)
Trang 24Loạ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
Trang 26Ví 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}
Trang 27Ví dụ
Ô tô mát hữu hạn không còn dịch chuyển ε tương đương:
Trang 28Sự 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)
Trang 29Loạ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’)
∑’= ∑; q 0 ’= q 0
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≠φ}
Trang 30Sự 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
Trang 31Sự tương đương giữa OHT và OHK
Loại bỏ tính không tiền định
Trang 32Sự 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≠φ}
Trang 33Sự tương đương giữa OHT và OHK
Cuối {p,q,r} {p,q,r} φ
Trang 34Sự tương đương giữa OHT và OHK
Ôtômat tiền định tương đương:
Trang 35Sự tương đương giữa OHT và OHK
Trang 36III 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
Trang 37Từ 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
Trang 38Từ 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:
Trang 39Từ biểu thức chính quy đến Ô tô mat hữu
Trang 40Từ 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:
Trang 41Từ biểu thức chính quy đến Ô tô mat
hữu hạn
α1 +α2
Trang 42Từ ô 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)
Trang 43Từ ô 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 q k => x∈R k-1ij
Hoặc là M đi qua q k (một số lần)
Như vậy Rn1j chính là ngôn ngữ L (qj ∈F)
Trang 44Từ ô 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ừ q i đến q k đầu tiên (R k-1 ik )
Một xâu dẫn M từ q k đến q k tiếp theo (R k-1 kk ) (có thể không có hoặc có nhiều xâu này)
Một xâu dẫn M từ q k cuối đến q j (R k-1 kj )
Như vậy: Rkij=Rk-1ij∪Rk-1ik(Rk-1kk)*Rk-1kj
Trang 45Sự 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
Trang 46Vă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
Trang 47Sự tương đương giữa VPTT và OH
Trang 48Sự tương đương giữa VPTT phải đơn và FA
Ta xây dựng văn phạm G=(∑,∆,S,P)
Trang 49Sự 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.
Trang 50Sự 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
Trang 51Sự tương đương giữa VPTT phải đơn và FA
Trang 52Sự tương đương giữa VPTT phải đơn và FA
Trang 53Sự tương đương giữa VPTT phải đơn và FA
Trang 54Sự tương đương giữa VPTT phải đơn và FA
Ví dụ 3: Cho Văn phạm:
Sε|aS|bT|bTbT|b
Y/c: Tìm Ô tô mát hữu hạn tương đương với văn phạm đã cho
Trang 55Sự tương đương giữa VPTT phải đơn và FA
Ô tô mát hữu hạn tương đương:
Trang 56Sự 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
Trang 57V 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
Trang 59Cá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 x∈L
Bài toán ngôn ngữ rỗng: Cho L là NNCQ Phải chăng
Trang 60Định lý Đùn (Bổ đề Bơm)
Cho L là ngôn ngữ chính quy vô hạn và một xâu w∈L 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