Lý thuyết automata ngơn ngữ hình thức Automata Grammar GIảNG VIÊN: TS HÀ CHÍ TRUNG Languague Bộ MƠN: KHMT khoa cntt, hvktqs Đt:0168.558.21.02 EMAIL: HCT2009@YAHOO.COM ©copyright by PhD C.T.Ha, Le Quy Don Technical University Bài Máy Turing (Turing machine) MỤC ĐÍCH: Trang bị khái niệm vềềmáy Turing, văn phạm loại 0, kỹ thuật thiềế kềếmáy Turing; t Khái niệm vềềLBA, văn phạm loại 1; Sơ lược vềềác hướng nghiền cứu liền quan đềế TA&FL; n YÊU CẦẦ : U Sinh viền vềềnhà tìm hiểu thềm vềềcác nội dung giới thiệu hướng học thuật mở ©copyright by PhD C.T.Ha, Le Quy Don Technical University Bài Máy Turing 7.1 Máy hữu hạn trạng thái có đầẦ u 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Bài Máy Turing 7.1 Máy hữu hạn trạng thái có đầẦ u 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.1 Máy hữu hạn trạng thái có đầề u Một hạn chềế FA có khả đốn nhận từ hay chầế nhận ngôn ngữ c p (acceptors and recognizers) , với chuỗi nhập vào có tín hiệu dạng true (đạt đềế n trạng thái kềế thúc) false (không thể xử lý không rơi vào trạng thái kềế thúc); t t Trong tốn thực tềếrõ ràng qua bước tính tốn, FA có th ể đ ưa x lý t ương ứng (các , OUPUT) Như vậy, hồn tồn mở rộng FA để giải quyềế l ớp tốn rộng h ơn (FA có đầề t u – transducers): Mealy machine (Developed by G.H Mealy in 1955) Moore machine (Developed by E.F Moore in 1956) Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.1 Máy hữu hạn trạng thái có đầề u Định nghĩa 7.1: Mealy machine 6: M = (Q, Σ, Δ, q0, δ, φ) đó: Σ : tập hữu hạn gọi tập kí hiệu vào; Δ : tập hữu hạn gọi tập kí hiệu ra; Q : tập hữu hạn gọi tập trạng thái; q0 : trạng thái băế đầề ; t u δ : ánh xạ từ Q x Σ sang Q (gọi hàm chuyển trạng thái); φ : ánh xạ từ tập Q x Σ sang tập Δ (gọi hàm ra) Δ(t) = φ[q(t),x(t)] Automat Mealy hoạt động theo chềế phát tín hiệu ph ụ thuộc vào tín hi ệu vào tr ạng thái nh ận tín hiệu Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.1 Máy hữu hạn trạng thái có đầề u Ví dụ: Một người cha gửi trai đềế n trường học, bé đem vềề điểm điểm 9, người cha không muôế lầề n n dùng đềế roi lầề đứa bé bị n n điểm khơng, mà mế có chiềế lược n n giáo dục tinh tềế ơn qua hành đ ộng h khác q0 9, d 9, e 0, c [Hành động] = {a, b, c, d, e, f}; a = ”cầầ roi”; b= “mắắ g chửi”; c = “d ỗ m n dành”; d = “hy vọng”; e = “vui sướng”; f = “ca ngợi” 9, d q1 0, c 0, b q2 0, a Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 q3 9, f 7.1 Máy hữu hạn trạng thái có đầề u Máy trễ đơn vị Máy cộng sôế ị phần nh 1, q1 1, q0 0, 1, 0, q2 0, Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.1 Máy hữu hạn trạng thái có đầề u Ví dụ: giả sử sơ đơề hóa thơng tin đó, nềế có bit xuầế liền tục mã u t trạm thu thơng báo q trình truyềề tin xảy lỗi, thiềế kềế n t automata có th ể thực điềề u 1, ε q0 q1 1, ε q2 1, 0, ε 0, ε 0, ε Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.1 Máy hữu hạn trạng thái có đầề u 10 Ví dụ: Thiềế kềế ột máy bán hàng tự động đáp ứng yều cầề sau: t m u Máy bán nước Cocacola nước cam, trị giá 30 xu/lon; p n Máy chầế nhận đôề g xu, 10 xu, 25 xu; tiềề n Khi thả vào máy lớn 30 xu, máy trả l ại sôế n vượt quá, người dùng nhầế nút màu đỏ (R) nhận nước Coca, nhầế nút màu cam (O) nhận nước cam; n Ý tưởng: thiềế kềế trạng thái, cho để đạt trạng thái thứ i, ng ười dùng phải b ỏ t vào máy 5i xu, cho phép nhận lại tiềề thừa nước uôế g sau bỏ vào máy không n n 30 xu Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Bài Máy Turing 36 7.1 Máy hữu hạn trạng thái có đầẦ u 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan 6/27/14 7.3.4 Sử dụng nhiềề rãnh trền băng u 37 ĐL 7.1: Nềế L nhận diện TM với băng vơ hạn hai chiềề L nhận u u diện băề g TM vô hạn chiềề băng n u ĐL 7.2: Nềế L nhận dạng máy Turing nhiềề băng vô hạn hai chiềề u u u nhận dạng máy Turing băng vô hạn hai chiềề u ĐL 7.3: Nềế L chầế nhận máy Turing khơng đơn định M1 L chầế u p p nhận máy Turing đơn định M2 ĐL 7.4: Nềế L chầế nhận máy Turing k chiềề M1 L chầế nhận u p u p máy Turing chiềề M2 u Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Bài Máy Turing 38 7.1 Máy hữu hạn trạng thái có đầẦ u 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.4 Sự tương đương TM REL 39 ĐL 7.5: Nềế L chầế nhận máy Turing k đầề đọc M1 L đ ược chầế nh ận TM u p u p đầề đọc M2 u ĐL 7.6: Một máy Turing mơ RAM (Random Access Machine), với điềề kiện u thị RAM mơ TM ĐL 7.7: Một ngôn ngữ tập đệ qui liệt kề nềế nềế G(M2) với TM M2 u u ĐL 7.8: Nềế L L(G) với văn phạm không hạn chềế L ngơn ngữ đ ệ quy li ệt kề u G ĐL 7.9: Nềế L ngôn ngữ đệ quy liệt kề L = L(G) với văn ph ạm khơng h ạn chềế u G Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Bài Máy Turing 40 7.1 Máy hữu hạn trạng thái có đầẦ u 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.5 Automata tuyềế tính giới nội (LBA) n 41 LBA (Linear Bounded Automata) TM khơng đơn định băng nhập có giới hạn hai đầề u (cận phải cận trái) Vì vậy, phải thỏa mãn hai điềề kiện sau: u u Bộ chữ nhập có chứa thềm hai ký hiệu đặc biệt ⊄ $ dùng làm ký hiệu đánh dầế mút trái mút phải LBA không thực phép chuyển sang trái (L) từ ⊄ không thực phép chuyển sang phải (R) từ $, không viềế ký hiệu khác lền ⊄ $ t 6/27/14 7.5 Automata tuyềế tính giới nội (LBA) n 42 Định nghĩa 7.6: LBA hệ thôế g thành phầề n n M(Q, Σ, Γ,δ,qo,⊄, $, F), Q, Σ, Γ, qo, F định nghĩa máy Turing, ⊄, $ ∈ Σ hàm chuy ển δ: Q × Γ → (Q × Γ × { L, R}) phải thỏa mãn điềề kiện: u Nềế (p, Y, E) ∈ δ(q, ⊄) Y = ⊄ E = R u Nềế (p, Y, E) ∈ δ(q, $) Y = $ E = L u Ngôn ngữ chầế nhận LBA: Ngôn ngữ L(M) đoán nhận LBA M tập h ợp : p L(M) = { w | w ∈ (Σ - {⊄, $})* qo⊄w$ → M* αqβ với q ∈ F αβ ∈ Γ* } Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.5 Automata tuyềế tính giới nội (LBA) n 43 ĐL 7.6: Tôề giải thuật để xác định với ngôn ngữ cảm ngữ cảnh CSG G(V, T, P, S) bầế kỳ n t chuỗi nhập w ∈ T*, liệu chuỗi w có thuộc ngôn ngữ L(G) hay không ĐL 7.6: Nềế L CSG L chầế nhận LBA u p ĐL 7.6: Nềế L = L(M) với LBA M (Q, Σ, Γ,δ,qo,⊄, $, F) L – {ε} ngơn ng ữ c ảm ng ữ u cảnh Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.6 Các hướng nghiền cứu mở liền quan 44 Giả thuyềế Church-Turing: Any algorithm can be expressed as a TM t Giả thuyềế Church-Turing mở rộng: t Any polynomial-time algorithm can be expressed as a TM that operates in polynomial time; A polynomial-time TM: number of state transition is a polynomial function of input length A polynomial-time algorithm: number of element operations is a polynomial function of input length; 6/27/14 Bài Máy Turing 45 7.1 Sự mở rộng automata hữu hạn 7.2 Khái niệm vềẦ máy Turing 7.3 Kỹ thuật thiềế kềế t TM 7.3.1 Kỹ thuật lưu trữ điều kiển 7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình 7.3.4 Sử dụng nhiều rãnh băng 7.4 Sự tương đương TM REL 7.5 Automata tuyềế tính giới nội (LBA) n 7.6 Các hướng nghiền cứu mở liền quan Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Vi o ma em gL pin um sP l at e FLs Index C For 7.6 Các hướng nghiền cứu mở liền quan 46 s mmar e d Gr a The Story So Far 0n n 2n n n Vi o late sP um p in gL em ma n w De Described by DFA, NFA, RegExp, RegGram scr ibe db yL L( k) Gr For am RL ma s r De ed rib sc by CF Regular Languages LL F ic C an g (k) L e Cont Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University A PD D N G, Dete is t rmin Ls s uage x t -F an g ree L s uage 6/27/14 7.6 Các hướng nghiền cứu mở liền quan C For FLs The Story So Far (Simplified) g pin um sP l at e Vi o ma Lem 47 n n Vi o late sP um p in gL em ma n w For RL s Described by DFA, NFA, RegExp, RegGram De e rib sc d G CF by ,N Regular Languages A PD D e Cont a angu ree L x t -F g es 6/27/14 7.6 Các hướng nghiền cứu mở liền quan 48 Languages recognizable by any mechanical computing machine Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.6 Các hướng nghiền cứu mở liền quan 49 Undecidable Problems Decidable Problems Recognizable Languages Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 7.6 Các hướng nghiền cứu mở liền quan 50 Decidable Problems P Decidable Problems NP Note: not known if P ⊂ NP or P = NP Problems that can be solved by a computer (eventually) Problems that can be solved by a computer in a reasonable time Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 ... hiệu nhập vào δ Trạng thái X Y B q0 (q1, X, R) - - (q3, Y, R) - q1 (q1, 0, R) (q2, Y, L) - (q1, Y, R) - q2 (q2, 0, L) - (q0, X, R) (q2, Y, L) - q3 - - - (q3, Y, R) (q4, B, Ø) q4 - - - - - Automata. .. nhận máy Turing k chiềề M1 L chầế nhận u p u p máy Turing chiềề M2 u Automata ngơn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don Technical University 6/27/14 Bài Máy Turing 38 7.1 Máy hữu... ([q , A , A ], A , R) i-2 i-1 i i-1 i i-2 δ([q , A , A ], B) = ([q , A , B], A , R) n-1 n n n-1 δ([q , A , B], B) = ([q , B, B], A , L) n n Automata ngôn ngữ hình thức - ©copyright by PhD C.T.Ha,