Độ phức tạp trạng thái của phép toán trên ngôn ngữ chính quy

38 129 0
Độ phức tạp trạng thái của phép toán trên ngôn ngữ chính quy

Đ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

ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN NGUYỄN PHƯƠNG THẢO ĐỘ PHỨC TẠP TRẠNG THÁI CỦA PHÉP TOÁN TRÊN NGƠN NGỮ CHÍNH QUY KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Toán ứng dụng Người hướng dẫn khoa học TS TRẦN VĨNH ĐỨC HÀ NỘI - 2014 LỜI CẢM ƠN Để hồn thành khóa luận tốt nghiệp này, lời em xin bày tỏ lòng biết ơn chân thành sâu sắc tới thầy giáo hướng dẫn TS Trần Vĩnh Đức giao đề tài tận tình hướng dẫn, giúp đỡ em suốt trình nghiên cứu thực đề tài Em xin bày tỏ lòng biết ơn chân thành tới tồn thể thầy giáo khoa Tốn, thầy trường ĐH Sư phạm Hà Nội trang bị cho em kiến thức, kinh nghiệm quý giá suốt thời gian học tập, rèn luyện trường tạo điều kiện thuận lợi để em thực đề tài Đồng thời, lời động viên, khích lệ từ gia đình, chia sẻ, học hỏi từ bạn bè góp phần nhiều cho em thực khóa luận tốt nghiệp Mặc dù có nhiều cố gắng, song trình độ thời gian nghiên cứu thân hạn chế nên vấn đề mà em trình bày khóa luận khơng tránh khỏi thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy cô giáo bạn sinh viên để khóa luận em hồn thiện Em xin chân thành cảm ơn! Hà Nội, tháng 05 năm 2014 Sinh viên Nguyễn Phương Thảo LỜI CAM ĐOAN Trong trình nghiên cứu khóa luận “Độ phức tạp trạng thái phép tốn ngơn ngữ quy” em có sử dụng số tài liệu tham khảo để hoàn thành khóa luận Danh sách tài liệu tham khảo em đưa vào mục tài liệu tham khảo khóa luận Em xin cam đoan khóa luận hình thành cố gắng, nỗ lực thân với hướng dẫn tận tình thầy giáo TS Trần Vĩnh Đức Đây đề tài không trùng với đề tài tác giả khác Em mong nhận đóng góp ý kiến thầy bạn để khóa luận hoàn thiện Hà Nội, tháng 05 năm 2014 Sinh viên Nguyễn Phương Thảo Mục lục Lời mở đầu Ơtơmát ngơn ngữ quy 1.1 Bảng chữ cái, từ ngôn ngữ 1.2 Ơtơmát hữu hạn Độ phức tạp trạng thái 13 2.1 Phép hợp giao 14 2.2 Phép thương phải thương trái 17 Độ phức tạp trạng thái phép ghép phép 19 3.1 Phép ghép 19 3.2 Phép 24 Độ phức tạp trạng thái phép lũy thừa 28 4.1 Cận 29 4.2 Cận 30 Tài liệu tham khảo 37 LỜI MỞ ĐẦU Chúng ta sống kỉ XXI, kỉ vượt trội mặt khoa học, công nghệ kĩ thuật Thực tế ngày đòi hỏi có nhiều loại máy móc đại thay sức lao động người, phục vụ hữu ích cho sống Hệ thống điều khiển tự động ngày phổ biến hầu hết lĩnh vực công nghệ phát triển song song với kĩ thuật tiên tiến khác điện điện tử máy tính Lí thuyết ơtơmát ngơn ngữ quy góp phần quan trọng việc mơ tả dãy tính tốn điều khiển tự động, phát sinh nhiều ngành khoa học khác Ơtơmát ngơn ngữ hình thức áp dụng rộng rãi nhiều lĩnh vực khoa học có ứng dụng như: mơ hình hố, mơ hệ thống tính tốn, kỹ thuật dịch, thơng dịch, trí tuệ nhân tạo, công nghệ tri thức, Khi nghiên cứu với tư cách đối tượng toán học, kết nghiên cứu có nhiều ứng dụng ngành toán học trừu tượng Đến nay, lý thuyết có sở tốn học vững kết có nhiều ứng dụng nhiều lĩnh vực khác Độ phức tạp trạng thái phép tốn ngơn ngữ quy nội dung quan trọng lí thuyết ơtơmát ngơn ngữ quy Việc nghiên cứu độ phức tạp trạng thái phép tốn ngơn ngữ quy sở, động lực phát triển lý thuyết ơtơmát ngơn ngữ quy, góp phần giải toán thực tế Luận văn xem xét số vấn đề sau: - Các phép tốn ngơn ngữ quy - Độ phức tạp trạng thái phép hợp, giao, thương phải thương trái - Độ phức tạp trạng thái phép ghép, ngơn ngữ quy - Độ phức tạp trạng thái phép lũy thừa ngơn ngữ quy chia thành chương: Chương 1: Trình bày tóm tắt bảng chữ, từ, ngôn ngữ ôtômát hữu hạn liên quan đến khóa luận Chương 2: Trình bày ý tưởng độ phức tạp trạng thái giới thiệu độ phức tạp trạng thái phép hợp, giao thương phải, thương trái Chương 3: Tập trung xem xét định lí, bổ đề độ phức tạp trạng thái phép ghép phép ngôn ngữ quy Chương 4: Trình bày định nghĩa, định lí bổ đề độ phức tạp trạng thái phép lũy thừa Chương Ơtơmát ngơn ngữ quy Trong lịch sử phát triển lồi người, ngơn ngữ phát sinh nhu cầu giao tiếp người với Ngôn ngữ công cụ người ta dùng để biểu đạt ý nghĩa tình cảm người khác, qua để người ta hiểu Ngôn ngữ để người giao tiếp với gọi ngôn ngữ tự nhiên Ngày nay, với phát triển ngành khoa học máy tính nói riêng khoa học kĩ thuật nói chung, người muốn máy móc thực cơng việc, phải đưa yêu cầu để máy hiểu Như vậy, người muốn giao tiếp với máy tính phải dùng đến ngơn ngữ Ngơn ngữ gọi ngơn ngữ lập trình Theo định nghĩa, ngơn ngữ lập trình xem tập từ hữu hạn chữ Mơ hình tính tốn mơ tả lớp ngơn ngữ, ví dụ ơtơmát mơ tả lớp ngơn ngữ quy 1.1 Bảng chữ cái, từ ngơn ngữ Định nghĩa 1.1.1 Một bảng chữ tập hữu hạn khác rỗng Các phần tử bảng chữ gọi chữ hay kí hiệu Ví dụ 1.1 Dưới số bảng chữ quen thuộc • {a, b, c, z} bảng chữ tiếng anh • {α, β , γ, , ω} bảng chữ Hy Lạp • {0, 1} bảng chữ nhị phân Trong luận văn này, ta dùng Σ để kí hiệu bảng chữ Định nghĩa 1.1.2 Từ bảng chữ Σ dãy hữu hạn (gồm số lớn 0) chữ Σ Dãy khơng có chữ từ, gọi từ rỗng kí hiệu ε Ví dụ 1.2 aabba, ababab ε từ bảng chữ Σ = {a, b} Theo định nghĩa, hai từ w1 = a1 a2 an w2 = b1 b2 bm n = m = bi với i = 1, 2, , n Định nghĩa 1.1.3 Cho hai từ w1 w2 bảng chữ Σ, phép ghép hai từ w1 w2 kí hiệu w1 w2 từ tạo cách đặt từ w2 sau w1 Ví dụ 1.3 Cho Σ = {a, b} hai từ w1 = ab w2 = bbaa Ghép hai từ ta từ w1 w2 = abbbaa Từ rỗng phần tử đơn vị phép ghép, nghĩa wε = εw = w với từ w Định nghĩa 1.1.4 Nếu w từ n số tự nhiên wn kí hiệu từ tạo cách ghép n lần w Theo định nghĩa, w0 = ε w1 = w với từ w Định nghĩa 1.1.5 Xét w = a1 a2 an từ bảng chữ Σ Ta ký hiệu • |w| số chữ có từ w gọi độ dài từ Dễ thấy |w1 w2 | = |w1 | + |w2 | |wn | = n|w| • #a (w) số chữ a từ w Ví dụ 1.4 Cho w = abbaa Ta có |w| = #a (abbaa) = Định nghĩa 1.1.6 Ta kí hiệu Σ∗ tập tất từ Σ kể từ rỗng Σ+ tập tất từ Σ trừ từ rỗng Có nghĩa rằng: Σ+ = Σ∗ \ {ε} Ví dụ 1.5 {a, b}∗ = {ε, a, b, aa, ab, } Định nghĩa 1.1.7 Một tập Σ∗ gọi ngơn ngữ hình thức hay ngắn gọn ngơn ngữ Σ Ví dụ 1.6 Cho Σ = {a, b} Các tập L0 = φ L1 = {ε, a, b, abab, aa, bb} L2 = {an bn | n ∈ N} ba ngôn ngữ bảng chữ Σ Trong đó, L0 L1 ngôn ngữ hữu hạn, L2 ngôn ngữ vô hạn Trong toán học, đối tượng sở số cơng cụ phép tính xác định chúng + ×; lí thuyết ngơn ngữ hình thức, đối tượng ngơn ngữ cơng cụ phép tính ngơn ngữ Ta định nghĩa ba phép tính ngơn ngữ, gọi phép tính quy sử dụng chúng để nghiên cứu đặc trưng ngơn ngữ quy Cho A B hai ngôn ngữ bảng chữ Σ Ta định nghĩa ba phép tốn quy ngơn ngữ: • Phép hợp: A ∪ B = {x | x ∈ A x ∈ B} • Phép ghép: A.B = {xy | x ∈ A y ∈ B} • Phép sao: A∗ = {x1 x2 xk | k ≥ xi ∈ A} ngồi phép tốn tập hợp khác hay dùng nghiên cứu ngôn ngữ quy phép giao A ∩ B = {x | x ∈ A x ∈ B} Ví dụ 1.7 Cho Σ bảng chữ chuẩn gồm 26 chữ {a, b, c, , z} hai ngôn ngữ A = {yes, no}, B = { f un, sad} Ta có A ∪ B = {yes, no, f un, sad} A.B = {yes f un, yessad, no f un, nosad} A∗ = {ε, yes, no, yesyes, nono, yesno, noyes, yesyesyes, · · · } B∗ = {ε, f un, sad, f un f un, sadsad, f unsad, sad f un, f un f un f un, · · · } 1.2 Ơtơmát hữu hạn Ơtơmát hữu hạn mơ hình tính tốn hệ thống với mô tả input output Tại thời điểm, hệ thống xác định số trạng thái Mỗi trạng thái hệ thống thể tóm tắt thông tin liên quan đến input chuyển qua xác định phép chuyển dãy input Trong khoa học máy tính, ta tìm thấy nhiều ví dụ hệ thống trạng thái hữu hạn lý thuyết ôtômát hữu hạn cơng cụ thiết kế hữu ích cho hệ thống Chẳng hạn, hệ chuyển mạch điều khiển (Control Unit) máy tính Các hệ thống trạng thái hữu hạn có khả ứng dụng đa dạng nhiều lĩnh vực thực tế Ôtômát hữu hạn chia thành loại: ôtômát hữu hạn đơn định (Deter9 Xét x, y ∈ {a, b}∗ cho S(x) = S(y) Cho k ∈ S(x)−S(y) (hoặc S(y)−S(x)) Khi đó, xbn−1−k ∈ L(A)L(B) ybn−1−k ∈ L(A)L(B) Vì vậy, x y khơng tương đương Với x ∈ {a, b}∗ , ta định nghĩa T (x) = max{|z| | x = yz z ∈ a∗ } Xét u, v ∈ {a, b}∗ mà S(u) = S(v) T (u) > T (v) mod m Cho i = T (u) mod m w = cam−1−i bn−1 Khi đó, uw ∈ L(A)L(B) vw ∈ L(A)L(B) Để ý thấy không tồn từ w ∈ Σ∗ cho ∈ S(w) T (w) = m − Vì T (w) = m − từ thấy ∈ S(w) Với tập s = {i1 , , it } {0, , n − 1}, i1 > · · · > it , số nguyên j ∈ {0, , m − 1} trừ trường hợp ∈ s j = m − 1, tồn từ x = am−1 bi1 −i2 am−1 bi2 −i3 am−1 am−1 bit +n a j để S(x) = s T (x) = j Khi đó, có m2n − 2n−1 lớp tương đương phân biệt Khi m ≥ 1, n = ta có kết đây: Định lý 3.1.2 Trong trường hợp xấu nhất, số trạng thái cần đủ để DFA chấp nhận ngơn ngữ ghép ngơn ngữ đốn nhận DFA m trạng thái ngơn ngữ đốn nhận DFA với trạng thái m Chứng minh Cho Σ bảng chữ a ∈ Σ Rõ ràng, DFA đốn nhận ngơn ngữ L = {w ∈ Σ∗ | #a (w) ≡ m − mod m} với m > cần m trạng thái Chú ý Σ∗ chấp nhận DFA trạng thái Khi đó, ta thấy DFA chấp nhận LΣ∗ = {w ∈ Σ∗ | #a (w) ≥ m − 1} cần m trạng thái Ta hoàn thành chứng minh điều kiện cần Cho A B tương ứng DFA m trạng thái DFA trạng thái Vì B DFA, L(B) 0/ Σ∗ Ta xem xét trường hợp L(B) = Σ∗ Cho A = (Q, Σ, δA , q0 , FA ) Định nghĩa C = (Q, Σ, δC , q0 , FA ), đó, với bất 23 kì X ∈ Σ q ∈ Q, hàm chuyển trạng thái sau: δC (q, X) =    δA (q, X) q ∈ FA q ∈ FA  q Ơtơmát C xác A trừ trạng thái cuối giữ lại: tính tốn đến trạng thái cuối q, dừng lại Rõ ràng, L(C) = L(A)Σ∗ 3.2 Phép Cho L ngôn ngữ bảng chữ Σ Ta nhắc lại định nghĩa phép sau: L∗ = {x1 x2 xk | k ≥ xi ∈ L} Trong [2] B Ravikumar O H Ibarra ví dụ cho thấy DFA chấp nhận phép ngơn ngữ DFA n trạng thái cần 2n−1 trạng thái số trường hợp n > Ở đây, ta chứng minh kết 2n−1 + 2n−2 số trạng thái cần trường hợp xấu cho DFA chấp nhận phép ngôn ngữ DFA n trạng thái với n > Ta sử dụng bảng chữ hai chữ Trước hết, ta đưa điều kiện đủ Định lý 3.2.1 Với n > 1, DFA n trạng thái A = (Q, Σ, δ , q0 , F) cho | F \ {q0 } | = k ≥ 1, tồn DFA có nhiều 2n−1 + 2n−k−1 trạng thái chấp nhận (L(A))∗ Chứng minh Cho A = (Q, Σ, δ , q0 , F) L = L(A) Kí hiệu F0 = F \ {q0 } Khi đó, | F0 |= k ≥ Ta xây dựng DFA A = (Q , Σ, δ , q0 , F ), • q0 ∈ Q trạng thái bắt đầu mới, 24 / • Q = {q0 } ∪ {P|P ⊆ (Q \ F0 ) P = 0} ∪{R|R ⊆ Q q0 ∈ R R ∩ F0 = 0}, / • δ (q0 , a) = {δ (q0 , a)} với a ∈ Σ, δ (R, a) = δ (R, a) với R ⊆ Q a ∈ Σ δ (R, a) ∩ F0 = 0, / δ (R, a) = δ (R, a) ∪ {q0 } trái lại / • F = {q0 } ∪ {R|R ⊆ Q R ∩ F = 0} Dễ thấy L(A ) = L∗ Ta xét số trạng thái Q Trong Q , tập thứ hai phép hợp có 2n−k − trạng thái, tập thứ ba có (2k − 1)2n−k−1 trạng thái Vì vậy, |Q | = 2n−1 + 2n−k−1 Chú ý q0 trạng thái cuối A, (L(A))∗ = L(A) Hệ 3.2.1 Với DFA A n trạng thái, n > 1, tồn DFA A có nhiều 2n−1 + 2n−2 trạng thái cho L(A ) = (L(A))∗ Chứng minh Với k định nghĩa Nếu k = 0, A cần n trạng thái Nếu k ≥ 1, trình bày định lí Định lý 3.2.2 Với số nguyên n ≥ 2, tồn DFA A n trạng thái cho DFA chấp nhận (L(A))∗ cần 2n−1 + 2n−2 trạng thái Chứng minh Với n = 2, ta có L = {w ∈ {a, b}∗ | #a (w) lẻ} chấp nhận DFA hai trạng thái L∗ = {ε} ∪ {w ∈ {a, b}∗ | #a (w) ≥ 1} chấp nhận DFA không ba trạng thái Với n > ta xây dựng: An = (Qn , Σ, δn , 0, {n − 1}) với Qn = {0, , n − 1}, Σ = {a, b}, δ (i, a) = (i + 1) mod n với ≤ i < n δ (i, b) = (i + 1) mod n với ≤ i < n δ (0, b) = An Hình 3.4 25 p1 a, b p2 b a a, b p0 a, b pn−1 a, b Hình 3.4: DFA An Ta xây dựng DFA An = (Qn , Σ, δn , q0 , Fn ) từ An mơ tả chứng minh định lí trước Ta cần hai điều: (1) trạng thái đạt từ trạng thái bắt đầu (2) trạng thái định nghĩa lớp tương đương phân biêt a) Ta chứng minh (1) quy nạp kích thước tập trạng thái (Biết rằng, trạng thái tập Qn chấp nhận q0 ) Xét tất q mà q ∈ Q |q| = Ta có {0} = δn (q0 , b) {i} = δn (i − 1, a) với < i < n − Giả sử tồn q cho |q| < k Xét q mà |q| = k Cho q = {i1 , i2 , , ik } cho ≤ i1 < i2 < · · · < ik < n − n − ∈ q; trái lại, i1 = n − = i2 < · · · < ik < n − Có bốn trường hợp: (i) i1 = n − i2 = Khi q = δn ({n − 2, i3 − 1, , ik − 1}, a) trạng thái sau chứa k − trạng thái (ii) i1 = i2 = Khi q = δn (q , a) với q = {n − 1, 0, i3 − 1, , ik − 1} xét trường hợp (i) (iii) i1 = i2 = + t với t > Khi q = δn (q , bt ) với q = {0, 1, i3 − t, , ik − t} Trạng thái sau xem xét trường hợp (ii) 26 (iv) i1 = t > Khi q = δn (q , at ) q = {0, i2 −t, , ik −t} xét trường hợp (ii) (iii) b) Ta chứng minh (2), cho i ∈ p−q với p, q ∈ Qn p = q Khi đó, δn (p, an−1−i ) ∈ Fn δn (q, an−1−i ) ∈ Fn Như DFA chấp nhận phép ngôn ngữ DFA trạng thái cần tới hai trạng thái Ví dụ, 0/ chấp nhận DFA 1-trạng thái DFA chấp nhận 0/ ∗ = {ε} có hai trạng thái 27 Chương Độ phức tạp trạng thái phép lũy thừa Cho L ngôn ngữ bảng chữ Σ∗ Ta nhắc lại định nghĩa phép lũy thừa sau: Với k ≥ Lk = {x1 x2 xk | xi ∈ L} hay tương đương, Lk định nghĩa cách đệ quy sau:   ε k = k L =   L.Lk−1 k ≥ Trong phần này, ta trình bày lại kết từ [3] Trước hết, ta đưa định nghĩa đạt được, tương đương không tương đương Cho DFA A = (Q, Σ, δ , q0 , F), trạng thái q ∈ Q gọi đạt có từ w ∈ Σ∗ cho δ (q0 , w) = q Hai trạng thái q1 , q2 ∈ Q, gọi tương đương δ (q1 , w) ∈ F δ (q2 , w) ∈ F với tất w ∈ Σ∗ Nếu khơng, ta nói chúng không tương đương Trong phần ta xem xét vấn đề độ phức tạp trạng thái Lk với k số bảng chữ có kích thước hai Đặc biệt, giới hạn 28 cho Lk với k ≥ Ta xây dựng cận từ sở trạng thái đạt được; đó, cận xét bảng chữ sáu chữ 4.1 Cận Ta xây dựng DFA cho Lk Cho A = (Q, Σ, δ , 0, F) DFA Giả sử khơng tính tổng quát, Q = {0, 1, n − 1} Cho tập P ⊆ Q, với w ∈ Σ∗ , ta kí hiệu δ (P, w) = {δ (p, w)|p ∈ P} DFA đoán nhận L(A)k định nghĩa Ak = (Qk , Σ, δk , Sk , Fk ) với tập trạng thái Qk = Q × (2Q )k−1 có trạng thái ban đầu Sk = (0, φ , , φ ) ∈ F Sk = (0, {0}, , {0}) ∈ F, đó, tập trạng thái cuối Fk gồm tất trạng thái (i, P1 , P2 , , Pk−1 ) ∈ Qk cho Pk−1 ∩ F = φ Hàm chuyển trạng thái δk : Qk × Σ → Qk định nghĩa δk ((i, P1 , P2 , , Pk−1 ), a) = (i , P1 , P2 , , Pk−1 ) đó: i = δ (i, a) Nếu i ∈ F P1 = {0} ∪ δ (P1 , a) Nếu trái lại, P1 = δ (P1 , a) Với tất ≤ j ≤ k − 2, Pj ∩ F = φ Pj+1 = {0} ∪ δ (Pj+1 , a) Nếu trái lại, Pj+1 = δ (Pj+1 , a) Theo định nghĩa, dễ thấy δk (Sk , w) = (i, P1 , , Pk−1 ) δ (0, w) = i l ∈ Pj tồn từ w = u0 u1 u j−1 v với u0 , u1 , , u j−1 ∈ L(A) với δ (0, v) = l Do đó, L(Ak ) = L(A)k 29 Hình 4.1: Mơ tả trạng thái từ Qk biểu diễn Trạng thái từ Qk mơ tả Hình 4.1 Mỗi hàng biểu diễn k thành phần Qk , nghĩa hàng thứ j biểu diễn thành phần thứ j Hàng phần tử Q hàng khác biểu diễn tập Q Một dấu chấm trạng thái riêng biệt phần tử thành phần: cột bên trái biểu diễn trạng thái 0, cột Vì |Qk | = n2(k−1)n , cận độ phức tạp trạng thái lũy thừa k sau: Bổ đề 4.1.1 Với k ≥ L ngơn ngữ quy mà sc(L) = n độ phức tạp trạng thái Lk nhiều n2(k−1)n 4.2 Cận Để xây dựng cận cho độ phức tạp trạng thái lũy thừa mũ k, điều kiện đủ trình bày lớp ơtơmát Ak,n (2 ≤ k < n) bảng chữ sáu chữ Σ = {a, b, c, d, e, f } với Ak,n có n trạng thái cho L(Ak,n )k cần n2(k−1)n trạng thái Với Ak,n có tập trạng thái Q = {0, 1, , n − 1} mà trạng thái ban đầu, n − trạng thái cuối hàm chuyển trạng thái định 30 Hình 4.2: Bảng chuyển đổi Ak , n hoạt động (Ak , n)n Trạng thái khơng có mũi tên không thay đổi với chữ nghĩa sau:    j + ≤ j ≤ n − k −    δ ( j, a) = j = n − k      j trái lại    j+1 n − k + ≤ j ≤ n −    δ ( j, b) = n − k + j = n −      j trái lại    j =    δ ( j, c) = j =      j trái lại    j = n − k + δ ( j, d) =   j trái lại    n − j =    δ ( j, e) = j − n − k + ≤ j ≤ n −      j trái lại    n − j = δ ( j, f ) =   n − trái lại Ta xây dựng DFA (Ak,n )k cho ngôn ngữ L(Ak,n )k mô tả 31 phần 4.1 Tập hợp trạng thái Qk = Q × (2Q )k−1 có tập trạng thái bắt đầu (0, φ , , φ ) Hình 4.2 cho thấy tác động chữ Σ trạng thái Qk Đặc biệt, chữ a đảo trạng thái khoảng {1, , n − k} trước khơng làm thay đổi trạng thái lại Chữ b đảo trạng thái khoảng {n − k + 1, , n − 1} trước, trạng thái lại khơng thay đổi Chữ c hoán đổi trạng thái 1, tất trạng thái khác không thay đổi Trong đó, d thu hẹp trạng thái n − k + phía trạng thái 0, trạng thái lại khác khơng thay đổi Chữ e ánh xạ lên trạng thái trạng thái n − 1, đồng thời chuyển trạng thái khoảng {n − k + 1, , n − 1} trở lại Cuối cùng, chữ f thu hẹp tất trạng thái trừ n − ánh xạ tới n − Theo cách xây dựng (Ak,n )k , n − ∈ Pi kéo theo ∈ Pi+1 với i cho ≤ i ≤ k − Trong sơ đồ, điều nghĩa trạng thái cuối hàng kéo theo tồn trạng thái bắt đầu hàng Ta đưa có khơng tương đương tập mở rộng trạng thái, mà tạo cận Hai bổ đề trình bày trạng thái đạt được, bổ đề 4.2.3 tất trạng thái không tương đương Bổ đề 4.2.1 Mỗi trạng thái tập (n − k + 1, P1 , , Pk−1 ) Pi \ {1, , n − k} = {0, n − k + i + 1} với ≤ i < k − Pk−1 \ {1, , n − k} = {0} đạt từ trạng thái ban đầu Có 2(k−1)(n−k) trạng thái dạng chung chúng biểu diễn sơ đồ Hình 4.3(b) Trên sơ đồ, vùng màu trắng khơng có dấu chấm khoảng rỗng: khơng có trạng thái biểu diễn Vùng màu xám sơ đồ biểu diễn khoảng mà khơng thể lấp đầy: trạng thái 32 Hình 4.3: Mơ tả chứng minh thu cho Lk Pi vùng màu xám khơng thể biểu diễn Bổ đề 4.2.2 Mỗi trạng thái tập ( j0 , P1 , , Pk−1 ) ≤ j0 ≤ n − k, Pi \ {1, , n − k} = {0, n − k + i + 1} với ≤ i < k − Pk−1 \ {1, , n − k} = {0} đạt từ trạng thái ban đầu Có (n − k)2(k−1)(n−k) trạng thái thế, minh họa Hình 4.3(c), mũi tên biểu diễn tập giá trị j0 Bổ đề 4.2.3 Các trạng thái đạt cặp không tương đương Chứng minh Trước hết, ta đưa ba khẳng định đây: Khẳng định 4.2.1 Cho ( j, P1 , , Pk−1 ) trạng thái ≤ i ≤ k −1 Sau đọc từ (c f )k−1 , ơtơmát (Ak,n )k có trạng thái cuối ∈ Pi Chứng minh Chứng minh quy nạp i, bắt đầu với i = k − Cho i = k − 1, giả sử ∈ Pk−1 Khi đó, sau đọc c, ôtômát trạng thái ( j , P1 , , Pk−1 ) với ∈ Pk−1 Sau đọc f , ôtômát trạng thái ( j , P1 , , Pk−1 ) mà n − ∈ Pk−1 Đây trạng thái kết thúc khẳng định Bây giờ, ta giả sử ∈ Pk−1 Sau đọc c, ta có trạng thái ( j , P1 , , Pk−1 ) với ∈ Pk−1 Sau đọc f , ôtômát trạng thái ( j , P1 , , Pk−1 ) mà n − ∈ Pk−1 Như vậy, f ánh xạ lên tất trạng thái mà đến trạng thái n − Vì vậy, n − ∈ Pk−1 khơng trạng thái cuối 33 Giả sử câu lệnh khai báo với tất i mà l < i ≤ k − Ta biểu diễn với i = l < k − Đầu tiên, ta giả sử ∈ Pl Một lần nữa, sau đọc c f , chúng trạng thái ( j , P1 , , Pk−1 ) mà n − ∈ Pl Do đó, c f khơng thêm vào Pl+1 Mặt khác, áp dụng c f đảm bảo Pl+1 ⊆ {n − 2, n − 1}, f ánh xạ lên tất trạng thái thành cặp không thêm vào Pl+1 sau đọc c f Vì vậy, ∈ Pl+1 Bằng quy nạp, sau đọc (c f )k−l−1 từ ( j , P1 , , Pk−1 ) ta khơng có trạng thái kết thúc Bây giờ, giả sử ∈ Pl Sau đọc c f , ta thấy có trạng thái ( j , P1 , , Pk−1 ) mà n − ∈ Pl ; đó, ∈ Pl+1 Bằng quy nạp, sau đọc (c f )k−l−1 ta có trạng thái kết thúc Khẳng định 4.2.2 Với tất j (0 ≤ j ≤ n − 1), từ an−k− j+1 f (c f )k−1 chấp nhận ( j0 , P1 , , Pk−1 ) j = j0 Chứng minh Nếu j = j0 , an−k− j+1 chuyển tới trạng thái (1, P1 , , Pk−1 ) mà sau ánh xạ đến (n−1, P1 , , Pk−1 ) f Vì vậy, sau đọc an−k− j+1 f ta có ∈ P1 Từ khẳng định 4.2.1, sau đọc (c f )k−1 chúng chuyển đến trạng thái kết thúc Mặt khác, j = j0 , an−k− j+1 chuyển j0 tới trạng thái mà ánh xạ tới n − sau đọc f Vì vậy, sau đọc an−k− j+1 f , DFA trạng thái (n − 2, P1 , P2 , , Pk−1 ) với ∈ P1 : đọc f , ánh xạ tất phần tử tới n − n − phần tử không n − 1, thêm vào P1 Tiếp tục sử dụng khẳng định 4.2.1, đọc (c f )k−1 trạng thái (n − 2, P1 , , Pk−1 ) tới trạng thái phi- kết thúc Khẳng định 4.2.3 Với ≤ i ≤ k −1 ≤ j ≤ n−1, từ an−k− j+1 f (c f )k−1− j chấp nhận trạng thái ( j0 , P1 , , Pk−1 ) j ∈ Pi 34 Chứng minh Nếu j ∈ Pi sau đọc an−k− j+1 ôtômát chuyển tới trạng thái ( j0 , P1 , , Pk−1 ) với ∈ Pi , mà sau ánh xạ tới trạng thái ( j0 , P1 , , Pk−1 ) với n − ∈ Pi f Vì vậy, i < k − ∈ Pi+1 Với khẳng định 4.2.1, sau đọc (c f )k−i−1 , ( j0 , P0 , , Pk−1 ) tiếp tục đến trạng thái cuối Trái lại, i = k − 1, (c f )k−i−1 = ε, n − ∈ Pk−1 , trạng thái ( j0 , P1 , , Pk−1 ) kết thúc Nếu j ∈ Pi , sau đọc an−k− j+1 ôtômát chuyển tới trạng thái ( j0 , P1 , , Pk−1 ) với ∈ Pi sau q trình chuyển đổi f chuyển tới ( j0 , P1 , , Pk−1 ) với n − ∈ Pi Nếu i = k − 1, từ kết thúc khơng chấp nhận Trái lại, i < k − 1, ta xét đọc f , mà ánh xạ phần tử tới n − n − n − ∈ Pi , ta có ∈ Pi+1 Với khẳng định 4.2.1, sau đọc (c f )k−1−i chúng đến trạng thái phi- kết thúc Với ba khẳng định trên, ta thấy ( j0 , P1 , P2 , , Pk−1 ) = ( j0 , P1 , P2 , Pk−1 ) tồn từ w ∈ a∗ f (c f )∗ cho có trạng thái dẫn tới trạng thái kết thúc đọc w Ta hoàn thành chứng minh bổ đề Định lý 4.2.1 Với ngơn ngữ quy L đoán nhận DFA với n ≥ trạng thái DFA đốn nhận ngơn ngữ Lk cần nhiều n2(k−1)n trạng thái Hơn nữa, với k ≥ 2, n ≥ k + bảng chữ Σ mà |Σ| ≥ 6, tồn ngôn ngữ quy L đốn nhận DFA với n-trạng thái mà Lk cần (n − k)2(k−1)(n−k) trạng thái 35 KẾT LUẬN Do thời gian có hạn lực hạn chế nên khóa luận nghiên cứu kiến thức độ phức tạp trạng thái phép nối, phép sao, thương phải, thương trái phép lũy thừa mũ k ngơn ngữ quy Phép tốn ảnh gương phép toán khác với bảng chữ lớn, bảng chữ nhị phân thu nhiều kết song tiếp tục nghiên cứu Mặc dù cố gắng bước đầu làm quen với nghiên cứu khoa học nên khóa luận em khơng tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến quý thầy cô bạn sinh viên để khóa luận em hồn chỉnh Em xin chân thành cảm ơn! 36 Tài liệu tham khảo [1] Arto Salomaa, Derick Wood, Sheng Yu, On the state complexity of reversals of regular languages, Theoretical Computer Science 320 (2004) 315-329 [2] B Ravikumar and O H Ibarra, Relating the type of ambiguity of finite automata to the succinctness of their representation, SIAM J Comput 18 (6) (1989) 1263-1282 [3] Michael Domaratzki, Alexander Okhotin, State complexity of power, Theoretical Computer Science 410 (2009) 2377-2392 [4] Michael Sipser, 2012, Introduction to the Theory of Computation, Cengage Learning, USA [5] Sheng Yu, Quingyu Zhuang and Kai Salomaa, The state complexities of some basic operation on regular language, Theoretical Computer Science 125 (1994) 315-328 37 ... Các phép toán ngơn ngữ quy - Độ phức tạp trạng thái phép hợp, giao, thương phải thương trái - Độ phức tạp trạng thái phép ghép, ngơn ngữ quy - Độ phức tạp trạng thái phép lũy thừa ngơn ngữ quy. .. qua phép ảnh gương Nếu ngơn ngữ có độ phức tạp trạng thái n ảnh gương nhận NFA n trạng thái Khi đó, kết luận độ phức tạp trạng thái phép ảnh gương nhiều 2n Ngoài ra, độ phức tạp trạng thái phép. .. phép ngôn ngữ DFA trạng thái cần tới hai trạng thái Ví dụ, 0/ chấp nhận DFA 1 -trạng thái DFA chấp nhận 0/ ∗ = {ε} có hai trạng thái 27 Chương Độ phức tạp trạng thái phép lũy thừa Cho L ngôn ngữ

Ngày đăng: 04/05/2018, 09:16

Mục lục

    Ôtômát và ngôn ngữ chính quy

    Bảng chữ cái, từ và ngôn ngữ

    Độ phức tạp trạng thái

    Phép hợp và giao

    Phép thương phải và thương trái

    Độ phức tạp trạng thái của phép ghép và phép sao

    Độ phức tạp trạng thái của phép lũy thừa

    Tài liệu tham khảo

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

  • Đang cập nhật ...

Tài liệu liên quan