Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 2

50 27 0
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 2

Đ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

Tham khảo bài thuyết trình ''bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - chương 2'', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chương Ơtơmát hữu hạn 2.1 Accepter hữu hạn đơn định 2.2 Accepter hữu hạn không đơn định 2.3 Sự tương đương accepter hữu hạn đơn định accepter hữu hạn không đơn định 2.4 Rút gọn số trạng thái ôtômát hữu hạn Trang 47 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Accepter hữu hạn đơn định „ Định nghĩa 2.1 „ „ „ Một accepter hữu hạn đơn định (deterministic finite state accepter) hay dfa định nghĩa năm M = (Q, Σ, δ, q0, F), Q tập hữu hạn trạng thái nội (internal states), Σ tập hữu hạn ký hiệu gọi bảng chữ ngõ nhập (input alphabet), δ: Q × Σ → Q hàm chuyển trạng thái (transition function) Để chuyển trạng thái ôtômát dựa vào trạng thái hành q ∈ Q vào kí hiệu nhập a ∈ Σ đọc được, chuyển sang trạng thái kế định nghĩa sẵn δ Trang 48 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Accepter hữu hạn đơn định (tt) „ „ „ q0 ∈ Q trạng thái khởi đầu (initial state), F ⊆ Q tập trạng thái kết thúc (final states) (hay gọi trạng thái chấp nhận) Chú ý „ Ơtơmát hữu hạn khơng có nhớ so với mơ hình tổng qt Trang 49 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Hoạt động dfa „ Hoạt động dfa „ „ „ Tại thời điểm khởi đầu, giả thiết trạng thái khởi đầu q0, với cấu nhập (đầu đọc) kí hiệu bên trái chuỗi nhập Trong suốt lần di chuyển, cấu nhập tiến phía phải kí hiệu, lần di chuyển lấy kí hiệu ngõ nhập Khi gặp kí hiệu kết thúc chuỗi, chuỗi chấp nhận (accept) ôtômát vào trạng thái kết thúc Ngược lại có nghĩa chuỗi bị từ chối Trang 50 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Đồ thị chuyển trạng thái „ Để biểu diễn cách trực quan cho dfa người ta sử dụng đồ thị chuyển trạng thái Cách biểu diễn sau „ „ „ „ „ „ Các đỉnh biểu diễn trạng thái Các cạnh biểu diễn chuyển trạng thái Các nhãn đỉnh tên trạng thái Các nhãn cạnh giá trị kí hiệu nhập Trạng thái khởi đầu nhận biết mũi tên vào không mang nhãn mà không xuất phát từ đỉnh Các trạng thái kết thúc vẽ vịng trịn đơi Trang 51 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ „ Cho dfa sau M = (Q, Σ, δ, q0, F) Q = {q0, q1, q2}, Σ = {0, 1}, F = {q1}, δ cho δ(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 0 1 q2 q1 q0 Trang 52 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Hàm chuyển trạng thái mở rộng „ Hàm chuyển trạng thái mở rộng δ* định nghĩa cách đệ qui sau „ „ „ Ví dụ „ „ „ δ*(q, λ) = q, δ*(q, wa) = δ(δ*(q, w), a), ∀ q ∈ Q, w ∈ Σ*, a ∈ Σ Nếu δ(q0, a) = q1, δ(q1, b) = q2, Thì δ*(q0, ab) = q2 Chú ý „ δ khơng có định nghĩa cho chuyển trạng thái rỗng, tức không định nghĩa cho δ(q, λ) Trang 53 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Ngôn ngữ dfa „ Định nghĩa 2.2 „ „ „ Ngôn ngữ chấp nhận dfa M = (Q, Σ, δ, q0, F) tập tất chuỗi Σ chấp nhận M L(M) = {w ∈ Σ*: δ*(q0, w) ∈ F} Nhận xét: „ L( M ) = {w ∈ Σ* : δ*(q0, w) ∉ F} Trang 54 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ a Ví dụ „ „ „ „ „ Xét dfa M sau q0 a, b b q1 a, b q2 Dfa chấp nhận ngôn ngữ sau L(M) = {anb : n ≥ 0} Trạng thái bẫy (trap state): trạng thái mà sau ôtômát vào khơng Trạng thái bẫy trạng thái kết thúc khơng Định nghĩa mở rộng cho nhóm trạng thái bẫy kết thúc hay không kết thúc Trang 55 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Định lý, bảng truyền „ Định lý 2.1 „ „ Cho M = (Q, Σ, δ, q0, F) accepter hữu hạn đơn định, GM đồ thị chuyển trạng thái tương ứng Thì ∀ qi, qj ∈ Q, w ∈ Σ+, δ*(qi, w) = qj có GM đường mang nhãn w từ qi đến qj Bảng truyền - (transition table) „ Là bảng nhãn hàng (ơ tơ đậm hàng hình bên) biểu diễn cho trạng thái tại, cịn nhãn cột (ơ tơ đậm cột hình bên) biểu diễn cho ký hiệu nhập Các điểm nhập (entry) bảng định nghĩa cho trạng thái Trang 56 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Rút gọn số trạng thái dfa (tt) „ Nhận xét (tt) „ „ „ „ Các chuyển trạng thái từ sau đỉnh q1 q2 "có vẻ giống nhau", đối xứng ơtơmát thứ hai "có vẻ như" kết hợp hai phần Từ dẫn tới định nghĩa hai trạng thái giống hay không phân biệt Khái niệm giống định nghĩa tổng quát dựa việc: với chuỗi xuất phát từ hai trạng thái kết mặt chấp nhận chuỗi giống tức rơi vào trạng thái kết thúc, không rơi vào trạng thái kết thúc Như hai trạng thái gom chung lại với mà kết chấp nhận chuỗi khơng thay đổi Trang 82 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Định nghĩa hai trạng thái giống „ Định nghĩa 2.7 „ „ Hai trạng thái p q dfa gọi không phân biệt (indistinguishable) hay giống với w ∈ ∑* δ*(q, w) ∈ F suy δ*(p, w) ∈ F, δ*(q, w) ∉ F suy δ*(p, w) ∉ F, Còn tồn chuỗi w ∈ ∑* cho δ*(q, w) ∈ F δ*(p, w) ∉ F, hay ngược lại p q gọi phân biệt (distinguishable) hay khác chuỗi w Nhận xét „ Trạng thái kết thúc không kết thúc khơng thể giống Trang 83 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Nhận xét (tt) „ Chú ý „ „ Quan hệ giống quan hệ tương đương Vì quan hệ phân hoạch tập trạng thái Q thành tập rời nhau, tập bao gồm trạng thái giống Trang 84 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Thủ tục đánh dấu - mark „ „ „ Để xác định cặp trạng thái không phân biệt được, người ta thực công việc ngược lại xác định cặp trạng thái không giống Để làm điều người ta sử dụng thủ tục mark (đánh dấu) bên Thủ tục: mark „ „ Input: Các cặp trạng thái, gồm (|Q| × (|Q| -1)/2) cặp, dfa đầy đủ Output: Các cặp trạng thái đánh dấu phân biệt Trang 85 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Thủ tục đánh dấu - mark B1 Loại bỏ tất TTKĐTĐ B2 Xét tất cặp trạng thái (p, q) Nếu p ∈ F q ∉ F hay ngược lại, đánh dấu cặp (p, q) phân biệt Các cặp trạng thái đánh dấu bước ghi đánh dấu bước số (gọi bước bản) Lặp lại bước B3 không cịn cặp khơng đánh dấu trước đánh dấu bước B3 Đối với cặp (p, q) chưa đánh dấu a ∈ ∑, tính δ(p, a) = pa δ(q, a) = qa Nếu cặp (pa, qa) đánh dấu phân biệt lần lặp trước đó, đánh dấu (p, q) phân biệt Các cặp đánh dấu bước ghi đánh dấu bước thứ i lần thứ i băng qua vòng lặp Trang 86 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Thủ tục đánh dấu – mark (tt) „ Định lý 2.3 „ „ Thủ tục mark, áp dụng cho dfa đầy đủ M = (Q, ∑, δ, q0, F), kết thúc xác định tất trạng thái phân biệt Bổ đề „ Cặp trạng thái qi qj phân biệt chuỗi có độ dài n, có chuyển trạng thái δ(qi, a) = qk δ(qj, a) = ql với a ∈ ∑, qk ql cặp trạng thái phân biệt chuỗi có độ dài n-1 Trang 87 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Thủ tục đánh dấu – mark (tt) „ Bổ đề „ „ Khi băng qua vòng lặp bước⎫lần thứ n, thủ tục đánh dấu thêm tất cặp trạng thái phân biệt chuỗi có độ dài n mà chưa đánh dấu Bổ đề „ Nếu thủ tục dừng lại sau n lần băng qua vịng lặp bước 3, khơng có cặp trạng thái dfa mà phân biệt chuỗi có chiều dài lớn n Trang 88 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Thủ tục rút gọn - reduce „ Thủ tục: reduce „ Input: dfa M = (Q, Σ, δ, q0, F) ⎛∧ ∧ ∧ ∧⎞ M = ⎜⎜ Q, Σ, δ, q0 , F ⎟⎟ ⎝ ⎠ B1 Sử dụng thủ tục mark để tìm tất cặp trạng thái phân biệt Từ tìm tập tất trạng thái không phân biệt được, gọi {qi, qj, … , qk}, {ql, qm, … , qn}, B2 Đối với tập {qi, qj, … , qk} trạng thái không phân biệt ∧ được, tạo trạng thái có nhãn ij … k cho M „ Output: dfa tối giản ∧ Trang 89 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Thủ tục rút gọn - reduce B3 Đối với quy tắc chuyển trạng thái M có dạng δ(qr, a) = qp, tìm tập mà qr qp thuộc Nếu qr ∈ {qi, qj, … , qk} qp ∈ ∧ ∧ {ql, qm, … , qn}, thêm vào δ quy tắc δ ( ij … k, a) = lm … n ∧ q B4 Trạng thái khởi đầu trạng thái mà nhãn có chứa ∧ B5 F tập tất trạng thái mà nhãn chứa i cho qi ∈ F Trang 90 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ Hãy rút gọn trạng thái dfa sau (cho kèm bảng truyền tương ứng bên cạnh) 0 q1 q2 q0 q3 0,1 1 q4 q0 q1 q2 q3 q1 q3 q2 q4 q1 q4 q2 q4 q4 q4 Trang 91 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin q4 Ví dụ (tt) q0 (q0, q1) 91 (q0, q3) 91 (q1, q2) (q1, q4) 90 (q2, q4) 90 q1 (q0, q2) 91 (q0, q4) 90 (q1, q3) (q2, q3) (q3, q4) 90 q2 q3 q4 0, 1,2,3 0,1 123 4 Trang 92 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin q1 q3 q2 q4 q1 q4 q2 q4 q4 q4 Định lý „ Định lý 2.4 „ Cho dfa M bất kỳ, áp dụng thủ tục reduce tạo dfa ∧ M khác cho L(M) = L( M∧ ) Hơn tối giản theo nghĩa khơng có dfa khác có số trạng thái nhỏ mà chấp nhận L(M) Trang 93 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ Hãy rút gọn trạng thái dfa sau (cho kèm bảng truyền tương ứng bên cạnh) 0 q3 q1 q0 q4 q2 0,1 0,1 q5 q6 0,1 Trang 94 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin q0 q1 q2 q3 q4 q5 q6 q1 q3 q5 q3 q5 q6 q6 q2 q4 q5 q4 q5 q5 q6 Ví dụ (tt) (q0, q1)90 (q1, q2)90 (q2, q4) (q0, q2)90 (q1, q3) (q4, q5)90 (q2, q5)90 (q4, q6)90 (q0, q3)90 (q1, q4)91 (q2, q6)90 (q5, q6) (q0, q4)90 (q1, q5)90 (q3, q4)91 (q0, q5)91 (q1, q6)90 (q3, q5)90 (q0, q6)91 (q2, q3)91 (q3, q6)90 1,3 2,4 5,6 q0 q1 q2 q3 q4 q5 q6 1,3 2,4 0,1 Trang 95 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin 5,6 0,1 q1 q3 q5 q3 q5 q6 q6 q2 q4 q5 q4 q5 q5 q6 Bài tập rút gọn dfa „ Rút gọn dfa sau thành dfa tối giản Dfa M1 a b q0 q1 q4 q1 q4 q2 q2 q4 q3 q3 q3 q4 q4 q5 q5 q4 q6 q6 q7 q6 q7 q7 Dfa M2 a b q0 q1 q2 q1 q2 q3 q2 q2 q3 q3 q5 q4 q4 q5 q3 q5 q5 q5 q6 q1 q7 q7 q6 q4 Dfa M3 a b q0 q1 q2 q1 q2 q3 q2 q1 q4 q3 q4 q0 q4 q3 q0 Trang 96 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Dfa M4 a b q0 q1 q3 q1 q2 q4 q2 q0 q3 q3 q1 q4 q4 q2 q3 ... q4 q4 F = {q2} q4 a Nfa M3 b λ a b λ q0 q1, q3 q3 q3 q0 q1 q2 q1 q1 q2 q1 q1, q2 q3 q3 q2 q0 q2 q1 q3 q4 q4 q4 q4 q2 q0, q2 q3 q2, q3 q3 F = {q4} Trang 79 Lý thuyết Ơtơmát & NNHT - Khoa Cơng... Trang 56 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Bảng truyền (tt) q0 q1 q2 „ „ a q0 q2 q2 b q1 q2 q2 a, b a q0 b q1 a, b q2 Bảng truyền gợi ý cho cấu trúc liệu để mô tả cho ôtômát hữu... (q2, q3) (q3, q4) 90 q2 q3 q4 0, 1 ,2, 3 0,1 123 4 Trang 92 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin q1 q3 q2 q4 q1 q4 q2 q4 q4 q4 Định lý „ Định lý 2. 4 „ Cho dfa M bất kỳ, áp dụng thủ

Ngày đăng: 12/04/2021, 08:42

Tài liệu cùng người dùng

Tài liệu liên quan