GIẢ NG V I Ê N : T S . H À C H Í T R U N G B Ộ M Ô N : K H M T K H O A C N T T , H V K T Q S Đ T : 0 1 6 8 . 5 5 8 . 2 1 . 0 2 E M A I L : H C T 2 0 0 9 @ Y A H O O . C O M Lý thuyết automata và ngôn ngữ hình thức © PhD. C.T.Ha, Le Quy Don Technical University Languague Grammar Automata 2 Bài 3. Ngôn ngữ và automata hữu hạn (Formal Languagues and Finite Automata) MỤC ĐÍCH: Trang bị những khái niệm về automata hữu hạn (FA); Phân loại FA; các phép biến đổi tương đương giữa các loại FA; Biểu thức chính qui (RE) và sự tương đương với FA; YÊU CẦU: Sinh viên nắm vững các khái niệm, các thuật toán biến đổi và làm các dạng bài tập. © PhD. C.T.Ha, Le Quy Don Technical University Bài 3. Ngôn ngữ và automata hữu hạn 3.1. Các khái niệm sơ lược 3.2. Automata hữu hạn đơn định (DFA) 3.3. Automata hữu hạn đa định (NFA) 3.4. Automata với dịch chuyển ε (NFAε) 3.5. Sự tương đương giữa DFA và NFA 3.6. Sự tương đương giữa NFAε và DFA 3.7. Biểu thức chính quy 3.7.1. khái niệm về biểu thức chính quy 3.7.2. Sự tương đương giữa FA và RE 3.7.3. Sự tương đương giữa DFA và RE 3 28/03/2012 Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University Bài 3. Ngôn ngữ và automata hữu hạn 3.1. Các khái niệm sơ lược 3.2. Automata hữu hạn đơn định (DFA) 3.3. Automata hữu hạn đa định (NFA) 3.4. Automata với dịch chuyển ε (NFAε) 3.5. Sự tương đương giữa DFA và NFA 3.6. Sự tương đương giữa NFAε và DFA 3.7. Biểu thức chính quy 3.7.1. khái niệm về biểu thức chính quy 3.7.2. Sự tương đương giữa FA và RE 3.7.3. Sự tương đương giữa DFA và RE 4 28/03/2012 Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University 3.1. Các khái niệm sơ lược 28/03/2012 5 Automata là một máy trừu tượng (mô hình tính toán) có cơ cấu và hoạt động đơn giản nhưng có khả năng đoán nhận ngôn ngữ. Finite automata (FA) - mô hình tính toán hữu hạn: có khởi đầu và kết thúc, mọi thành phần đều có kích thước hữu hạn cố định và không thể mở rộng trong suốt quá trình tính toán; Hoạt động theo theo từng bước rời rạc (steps); Nói chung, thông tin ra sản sinh bởi một FA phụ thuộc vào cả thông tin vào hiện tại và trước đó. Nếu sử dụng bộ nhớ (memory), giả sử rằng nó có ít nhất một bộ nhớ vô hạn; Sự phân biệt giữa các loại automata khác nhau chủ yếu dựa trên việc thông tin có thể được đưa vào memory hay không; Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University 3.1. Các khái niệm sơ lược 28/03/2012 6 Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University DFA (Deterministic Finite Automata) NFA (Nondeterministic Finite Automata) RE (Regular Expression) RG (Regular Grammar) or RL FA (Finite Automata) 3.1. Các khái niệm sơ lược 28/03/2012 7 Đoán nhận ngôn ngữ: đoán nhận các từ của ngôn ngữ đó. Hoạt động của automata bắt đầu từ một trạng thái đặc biệt, trang thái đầu tiên (start state); Giả sử rằng tại mỗi thời điểm (step, time step), automata đang ở một trạng thái nào đó (current state), đầu vào của automata đón nhận một ký tự của chuỗi cần xử lý, dưới tác động của ký tự đó automata chuyển sang một trạng thái kế tiếp (next state); Chuỗi được đoán nhận nếu trạng thái cuối cùng của automata rơi vào một trong các trạng thái kết thúc (finish states). Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University Bài 3. Ngôn ngữ và automata hữu hạn 3.1. Các khái niệm sơ lược 3.2. Automata hữu hạn đơn định (DFA) 3.3. Automata hữu hạn đa định (NFA) 3.4. Automata với dịch chuyển ε (NFAε) 3.5. Sự tương đương giữa DFA và NFA 3.6. Sự tương đương giữa NFAε và DFA 3.7. Biểu thức chính quy 3.7.1. khái niệm về biểu thức chính quy 3.7.2. Sự tương đương giữa FA và RE 3.7.3. Sự tương đương giữa DFA và RE 8 28/03/2012 Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University 3.2. Automata hữu hạn đơn định (DFA) 28/03/2012 9 Định nghĩa 3.1: một DFA là một bộ năm: A=(Q, Σ, δ, q 0 , F), trong đó: Q : tập khác rỗng, tập hữu hạn các trạng thái (p, q…); Σ : bộ chữ cái nhập vào (a, b, c …); δ : D→ Q, hàm chuyển (hay ánh xạ), D Q × Σ, có nghĩa là δ(p, a) =q hoặc δ(p, a) = Ø, trong đó p, q Q , a Σ; q 0 Q : trạng thái bắt đầu (start state); F Q : tập các trạng thái kết thúc (finish states). Trong trường hợp D = Q × Σ ta nói A là một DFA đầy đủ. Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University 3.2. Automata hữu hạn đơn định (DFA) 28/03/2012 10 Biểu diễn automata: Cho một automata thực chất là cho hàm chuyển trạng thái của nó, có thể cho dưới dạng bảng chuyển trạng thái hoặc cho dưới dạng đồ thị chuyển. Định nghĩa 3.2: Đồ thị chuyển là một đa đồ thị có hướng (có thể có khuyên) G: Tập đỉnh của G được gán nhãn bởi các phần tử thuộc Q, các cung được gán nhãn bởi các phần tử thuộc Σ, nếu a Σ, p,q Q và δ(q, a) = p thì sẽ có một cung từ đỉnh q tới đỉnh p được gán nhãn a. Đỉnh vào của đồ thị chuyển ứng với trạng thái ban đầu q 0 . Định nghĩa 3.3: Bảng chuyển – bảng có kích cỡ |Q|×|Σ|, trong đó dòng i cột j của bảng là hoặc bỏ trống. Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University [...]... dụ 3. 6: Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 25 Ví dụ 3. 7: Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 26 Ví dụ 3. 8: Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 Bài 3 Ngôn ngữ và automata. .. 28/ 03/ 2012 Bài 3 Ngôn ngữ và automata hữu hạn 36 3. 1 Các khái niệm sơ lược 3. 2 Automata hữu hạn đơn định (DFA) 3. 3 Automata hữu hạn đa định (NFA) 3. 4 Automata với dịch chuyển ε 3. 5 Sự tương đương giữa DFA và NFA 3. 6 Sự tương đương giữa NFAε và DFA 3. 7 Biểu thức chính quy 3. 7.1 khái niệm về biểu thức chính quy 3. 7.2 Sự tương đương giữa FA và RE 3. 7 .3 Sự tương đương giữa DFA và RE Automata và ngôn ngữ hình. .. Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 Bài 3 Ngôn ngữ và automata hữu hạn 17 3. 1 Các khái niệm sơ lược 3. 2 Automata hữu hạn đơn định (DFA) 3. 3 Automata hữu hạn đa định (NFA) 3. 4 Automata với dịch chuyển ε (NFAε) 3. 5 Sự tương đương giữa DFA và NFA 3. 6 Sự tương đương giữa NFAε và DFA 3. 7 Biểu thức chính quy 3. 7.1 khái niệm về biểu thức chính quy 3. 7.2 Sự... automata hữu hạn 27 3. 1 Các khái niệm sơ lược 3. 2 Automata hữu hạn đơn định (DFA) 3. 3 Automata hữu hạn đa định (NFA) 3. 4 Automata với dịch chuyển ε (NFAε) 3. 5 Sự tương đương giữa DFA và NFA 3. 6 Sự tương đương giữa NFAε và DFA 3. 7 Biểu thức chính quy 3. 7.1 khái niệm về biểu thức chính quy 3. 7.2 Sự tương đương giữa FA và RE 3. 7 .3 Sự tương đương giữa DFA và RE Automata và ngôn ngữ hình thức - © PhD C.T.Ha,... thái Ví dụ 3. 3: automata đa định sau nhận dạng các xâu kết thúc bằng 01 Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 19 Xét quá trình automata A nhận dạng xâu 00101: Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 20 Định nghĩa 3. 5: Automat... (NFA) 22 Ví dụ 3. 4: cho automata (hình vẽ) và xét chuỗi nhập 01001 q0 0 q0 0 q0 0 1 1 q3 q0 0 q1 0 q0 1 0 q3 0 q0 1 q3 q4 q1 1 q4 Ngôn ngữ được đoán nhận bởi automata cho ở trên??? Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 23 Ví dụ 3. 5: xét chuỗi nhập w=01001 và NFA đã cho ở trên A = ( {q0, q1, q2, q3, q4}, {0, 1},... {1*0*01x : x {0, 1}*} Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 2 Automata hữu hạn đơn định (DFA) 14 Ví dụ 3. 2: Automat sau nhận dạng ngôn ngữ gồm chẵn các số 1 và chẵn các số 0 Quá trình đoán nhận các xâu: 001011, 101010, 10010 Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 2 Automata hữu hạn đơn định... dấu + hoặc - ở đầu 2 Sau đó là một xâu ký tự "0", "9" 3 Dấu chấm 4 Một xâu ký tự "0", "9" khác 0,1, ,9 q0 ,+ ,- q1 0,1, ,9 q2 0,1, ,9 0,1, ,9 q3 q5 q4 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 4 NFA với dịch chuyển ε 31 Ví dụ 3. 11: Automat cho ví dụ trước: Bảng chuyển của automata E có dạng: Automata và ngôn ngữ hình thức - ©copyright... đương giữa FA và RE 3. 7 .3 Sự tương đương giữa DFA và RE 3. 7.4 Sự tương đương giữa NFAε và RE Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 3 Automata hữu hạn đa định (NFA) 18 DFA tại một thời điểm với một trạng thái và một ký tự nhập vào thì máy chỉ có thể chuyển đến không nhiều hơn một trạng thái NFA là automata mà ứng với một trạng thái và một ký tự... Thứ tự đọc từ trái qua phải 1 Automata đoán nhận chuỗi khi đọc hết xâu và rơi vào trạng thái kết thúc Automata và ngôn ngữ hình thức - © PhD C.T.Ha, Le Quy Don Technical University 28/ 03/ 2012 3. 2 Automata hữu hạn đơn định (DFA) 13 Ví dụ 3. 1: Cho automata A = ({q0; q1; q2}; {0, 1}, , q0, {q1}) với hàm chuyển được cho dưới dạng bảng chuyển và đồ thị chuyển như sau: Ngôn ngữ được đoán nhận bởi automat . FA và RE 3. 7 .3. Sự tương đương giữa DFA và RE 3 28/ 03/ 2012 Automata và ngôn ngữ hình thức - © PhD. C.T.Ha, Le Quy Don Technical University Bài 3. Ngôn. M Lý thuyết automata và ngôn ngữ hình thức © PhD. C.T.Ha, Le Quy Don Technical University Languague Grammar Automata 2 Bài 3. Ngôn ngữ và automata