Lý thuyết Automat hữu hạn

63 461 1
Lý thuyết Automat hữu hạn

Đ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

Lý thuyết Automat hữu hạn Nội dung: 1. Automat hữu hạn (finite automata) 2. Automat hữu hạn đơn định (deterministic finite automata) 3. Automat hữu hạn không đơn định (nondeterministic finite automata) 4. Automat hữu hạn và ngôn ngữ chính quy

CHƢƠNG AUTOMAT HỮU HẠN Finite Automata LOGO Nội dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy Nội dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy Automat hữu hạn Một mơ hình trừu tượng máy tính thực cơng việc cách tự động bao gồm thành phần: Automat hữu hạn Thiết bị đầu vào (Input file)  Nơi mà chuỗi nhập (input string) ghi lên, automat đọc không thay đổi nội dung Automat hữu hạn Đầu đọc/ Cơ cấu nhập  Bộ phận đọc input file từ trái qua phải  Đọc ký tự thời điểm Automat hữu hạn Đơn vị điều khiển (control unit)  Mỗi automat có đơn vị điều khiển  Từ trạng thái chuyển sang trạng thái Automat hữu hạn Hoạt động khung thời gian rời rạc Tại thời điểm, đơn vị điều khiển trạng thái nội (internal state) đó, đầu đọc quét ký tự input file Tại thời điểm kế tiếp, đơn vị điều khiển trạng thái (next state) Việc xác định trạng thái nhờ vào hàm chuyển trạng thái (transition function) Nội dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy Automat hữu hạn đơn định Định nghĩa Hoạt động Đồ thị chuyển trạng thái (transition graph) Ngôn ngữ chấp nhận DFA 10 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  Hàm chuyển trạng thái mở rộng  a, qQ, xét: *(q, a) = ?   *  q, a     q, a  49 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  Hàm chuyển trạng thái mở rộng  Ví dụ: Xét NFA M sau: 0, 1 q0 q2 *(q0, 1101) = ? 50 q1 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận bở NFA 0, 1 q0 q2 q1 *(q0, 1) = (q0 , 1)= {q0, q1} *(q0, 01) = (q0, 0)  (q1, 0) = {q0}  = {q0} *(q0, 101) = (q0, 1) = {q0, q1} *(q0, 1101) = (q0, 1)  (q1, 1) = {q0, q1}  {q2} = {q0, q1, q2} 51 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  Cho NFA M = (Q, , , q0, F) chuỗi w  Ta nói M chấp nhận w *(q0, w)  F    Tập hợp tất chuỗi chấp nhận M gọi ngôn ngữ chấp nhận M, ký hiệu L(M) L  M   w   /  * 52 *  q0 , w   F   Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  Định lý: Nếu M = (Q, , , q0, F) NFA chấp nhận ngơn ngữ L tồn DFA M1 = (Q1, , 1, p0, F1) chấp nhận L Trong đó: Q1  P (Q ) p0  {q } F1  {p  Q1 | p  F  } 1 (p,a) =   (r , a) r p 53 Automat hữu hạn không đơn định – Ngơn ngữ chấp nhận NFA  Ví dụ: Cho M = (Q, , , q0, F) NFA Q = {q0, q1, q2, q3}  = {0, 1} F = {q0} q (q,0) (q,1) q0 {q0} {q0, q1} q1 {q2} {q2} q2 {q3} {q3} q3   Đồ thị chuyển trạng thái? Ngôn ngữ chấp nhận NFA Tìm DFA chấp nhận ngơn ngữ 54 Automat hữu hạn không đơn định – Ngơn ngữ chấp nhận NFA  Ví dụ: Cho M = (Q, , , q0, F) NFA Q = {q0, q1, q2, q3}  = {0, 1} F = {q0} q (q,0) (q,1) q0 {q0} {q0, q1} q1 {q2} {q2} q2 {q3} {q3} q3   Đồ thị chuyển trạng thái? 55 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  Ví dụ: Cho M = (Q, , , q0, F) NFA Q = {q0, q1, q2, q3}  = {0, 1} F = {q0} q (q,0) (q,1) q0 {q0} {q0, q1} q1 {q2} {q2} q2 {q3} {q3} q3   Ngôn ngữ chấp nhận NFA L(M) = {0,1}*{1}*{0,1}2 56 Automat hữu hạn không đơn định – Ngơn ngữ chấp nhận NFA  Ví dụ: Cho M = (Q, , , q0, F) NFA Q = {q0, q1, q2, q3}  = {0, 1} F = {q0} q (q,0) (q,1) q0 {q0} {q0, q1} q1 {q2} {q2} q2 {q3} {q3} q3   Tìm DFA chấp nhận ngơn ngữ 57 Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  DFA M1 = (Q1, , 1, p0, F1) p0 = {q0} p1 = {q0, q1} p3 = {q0, q3} p4 = {q0, q1, q2} p5 = {q0, q1, q3} p6 = {q0, q2, q3} p7 = Q F = {p3 ,p5 , p6 , p7} 58 p2 = {q0, q2} Automat hữu hạn không đơn định – Ngôn ngữ chấp nhận NFA  DFA M1 = (Q1, , 1, p0, F1) p 1(p,0) 1(p,1) P0 p0 p1 P1 p2 p4 P2 p3 p5 P3 p0 p1 P4 p6 p7 P5 p2 p4 p6 p3 p5 p7 p6 p7 59 Next  Seminar lần  Nhóm - NFA với chuyển trạng thái   Nhóm 10 - So sánh DFA NFA 60 Nội dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy 61 Automat hữu hạn ngơn ngữ quy  Định lý Kleene  Mọi ngơn ngữ qui chấp nhận automat hữu hạn  Định lý Kleene  Mọi ngôn ngữ chấp nhận automat hữu hạn ngơn ngữ qui 62 Next  Seminar lần  Nhóm - Text Search (Chapter2.4/68 – Introduction to AutomataTheory, Languages and Computation)  Nhóm 4- Văn phạm phi ngữ cảnh & ngôn ngữ phi ngữ cảnh (5.1)  Nhóm 8– Cây suy dẫn tượng nhập nhằng (5.2) 63 ... dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngôn ngữ quy Automat. .. dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy Automat. .. dung Automat hữu hạn (finite automata) Automat hữu hạn đơn định (deterministic finite automata) Automat hữu hạn không đơn định (nondeterministic finite automata) Automat hữu hạn ngơn ngữ quy 35 Automat

Ngày đăng: 20/06/2014, 09:12

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

Tài liệu liên quan