Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
212,62 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Nguyễn Thế Quyền TÌM HIỂU ĐỘ PHỨC TẠP MỘT SỐ THUẬT TOÁN BẢN TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Nguyễn Thế Quyền TÌM HIỂU ĐỘ PHỨC TẠP MỘT SỐ THUẬTTOÁN Chuyên ngành: Bảo đảm toán học cho máy tính hệ thống tính toán Mã số: 60.46.35 BẢN TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYỄN HỮU NGỰ Hà Nội - 2013 MỞ ĐẦU Lý thuyết độ phức tạp lĩnh vực trung tâm khoa học máy tính với kết liên quan chặt chẽ với phát triển sử dụng thuật toán Nghiên cứu lý thuyết độ phức tạp giúp hiểu biết sâu sắc khám phá ranh giới vấn để “có thể” tính toán với nguồn tài nguyên hợp lý Bản luận văn gồm có chương Trong đó, chương trình bày tóm tắt kiến thức lý thuyết độ phức tạp như: máy Turing, thuật toán, Chương trình bày khái niệm toán, độ phức tạp toán lý thuyết độ phức tạp Trong chương liệt kê số nhóm toán quan trọng lý thuyết độ phức tạp toán người bán hàng, toán xếp ba lô, Trong chương 3, trình bày việc phân lớp toán bao gồm toán lớp P, NP NPC Chúng quan tâm đặc biệt đến lớp NPC, chứng minh số toán thuộc lớp NPC dựa khái niệm quan trọng phép dẫn đa thức Bây xin trình bày chương, chương CHƯƠNG 1: KIẾN THỨC CHUẨN BỊ Chúng bắt đầu với khái niệm máy Turing 1.1 Máy Turing Máy Turing gồm có: - Tập trạng thái hữu hạn - Băng vô hạn hai phía (về lý thuyết kéo dài tuỳ ý hai phía), bảng tín hiệu vào, bảng tín hiệu băng, đầu đọc-ghi q ↓ B B B B a1 a2 an B B B Một bước làm việc máy gồm: - Đầu đọc-ghi đọc tín hiệu băng - Căn vào trạng thái tín hiệu đọc băng, đầu đọc-ghi ghi tín hiệu băng, dịch chuyển sang phải sang trái ô, chuyển sang trạng thái Quy ước máy bắt đầu làm việc trạng thái trạng thái đầu máy, với input hữu hạn băng, đầu đọc-ghi nằm ký tự bên trái input Tiếp theo, ta xét hai mô hình máy Turing tất định máy Turing không tất định 1.2 Máy Turing tất định (deterministic) Có thể định nghĩa cách hình thức máy Turing tất định sau: M = (Q, Σ, Γ, F, q0, B, t1 ) đó: - Γ: bảng tín hiệu băng (hữu hạn) - Σ: bảng tín hiệu vào (hữu hạn), Σ ⊂ Γ - Q: tập trạng thái (trong) (hữu hạn) - F: hàm chuyển F: Q x Γ → Q x Γ x {L,R} - q0: trạng thái ban đầu (q0 ∈ Q) - t1: trạng thái kết thúc (t1 ∈ Q) - B: ký tự trắng, B ∈ Γ, B ∉ Σ Hàm chuyển F(q, a) = (q', a', D) cho bảng sau: a q (q', a', D) - Tại bước, máy trạng thái q, đầu đọc-ghi đọc tín hiệu ô băng, hình trạng máy có dạng a1a2 ai-1qai ak Theo hàm chuyển F(q, ai) = (q', c, D), máy chuyển sang trạng thái q', ghi c lên băng (thay cho ai), đầu đoc/ghi chuyển sang phải hay sang trái ô tùy theo D R L Ta nói máy M chuyển từ hình trạng H = a1a2 ai-1qai ak sang hình trạng H' = a1a2 q'ai-1cai+1 ak D = L H' = a1a2 ai-1cq'ai+1 ak D = R Ký hiệu H − H' Máy làm việc bước gặp hình trạng mà hàm chuyển F(s,a) không xác định gặp trạng thái kết thúc t1 Xâu x (input) bảng tín hiệu Σ (tức x ∈ Σ*) gọi đoán nhận máy M tồn dãy hình trạng H0, H1, , Hm cho H0 − H1 − − Hm H0 hình trạng ban đầu, input x ghi băng, đầu đọc-ghi nhìn vào ký tự input, trạng thái máy q0, tức là: H0 = q0a1a2 ai-1ai an với x = a1a2 ai-1ai an Hm có trạng thái t1 Tập N xâu (ngôn ngữ Σ) thuộc Σ* gọi đoán nhận máy M N = {x | x∈Σ*, x đoán nhận máy M} Ký hiệu q0 trạng thái đầu, t1 trạng thái kết thúc khẳng định Ví dụ: Máy Turing đoán nhận ngôn ngữ {x | x có độ dài chẵn} b q0 (q1, B, R) (q1, B, R) (t1, B, ' ') q1 (q0, B, R) (q0, B, R) - Với input 010110 ta có dãy hình trạng (q0)010110 − 0(q1)10110 − 01(q0)0110 − 010(q1)110 − 0101(q0)10 − 01011(q1)0 − 010110(q0) − 010110(t1) trạng thái cuối trạng thái kết thúc đoán nhận t1 1.3 Máy Turing không tất định (non deterministic) Định nghĩa máy Turing tất định, hàm chuyển F hàm đa trị, nghĩa F : Q x Σ → 2Q x Γ x {L,R} Tại bước, chuyển sang bước sau khả tùy theo hàm chuyển F Nếu có nhánh đoán nhận input x xem máy đoán nhận input Giả sử F(s, a) = {(si1, ai1, Di1), (si2, ai2, Di2), , (sim, aim, Dim)} tập (có thể rỗng) Với hình trạng H với trạng thái s tín hiệu a đọc máy chuyển đến hình trạng H − Hi1 , H − Hi2 , , H − Him Hik có trạng thái sik tín hiệu ghi aik, Ví dụ: B q1 (q2,0,L) (t1,' ',' ') q2 (q0,1,R) q0 (q0,1,R) (q1,1,R) Với w = 010 (q0)010 1(q0)10 1(q1)10 111(q0) 111(q1)B (t1) (q2)100 1(q0)00 11(q0)0 11(q1)0 Bây chúng trình bày thuật toán dộ phức tạp thuật toán Với toán cần có thuật toán đề giải toán 1.2 Khái niệm thuật toán (algorithm) 1.2.1 Khái niệm Một cách không hình thức thuật toán việc mô tả cách xác trình thực đối tượng để nhằm đạt kết theo yêu cầu cho trước Cần ý đặc trưng hữu hạn thuật toán: - Đối tượng hữu hạn, thao tác hữu hạn - Cho kết qua số hữu hạn bước - Về lý thuyết cho phép khả kéo dài tuỳ ý (vô hạn tiềm năng) Ta phân biệt hai loại thuật toán: tất định không tất định Đối với thuật toán tất định thời điểm có không bước Đối với thuật toán không tất định thời điểm có số khả để lựa chọn bước 1.2.2 Ví dụ thuật toán Ví dụ: Thuật toán dãy số tăng đổi chỗ trực tiếp Input: n dãy số n phần tử a1, a2, , an Output: Dãy số a1, a2, , an xếp tăng Mô tả cụ thể bước: i = k = i + Nếu > ak hoán vị với ak k = k + Nếu k ak then hoán vị giá trị với ak cho Sơ đồ khối: Nhập n, dãy số a1, , an i=1 k = i+1 ai>ak Đ S k = k+1 Đ k[...]... 2.3 Độ phức tạp của bài toán Đối với một bài toán thì có rất nhiều thuật toán để giải bài toán đó Ký hiệu TA(n) = max {T(x), x là đầu vào có độ dài n} là độ phức tạp của một thuật toán A Ta có thể định nghĩa độ phức tạp của một bài toán như sau: TB(n) = inf {TA(n), A là một thuật toán giải bài toán B} Thường thì rất khó tính được độ phức tạp của bài toán mà chỉ biết được cận trên và cận dưới của độ phức. .. Hình 7 Sơ đồ chứng minh một số bài toán NPC 22 KẾT LUẬN Như vậy trong bản luận văn này, chúng tôi đã đi tìm hiểu một số khái niệm quan trọng của lý thuyết thuật toán, lý thuyết độ phức tạp và phân lớp độ phức tạp của các bài toán Trong lý thuyết thuật toán còn những nội dung trọng tâm như các thuật toán thông dụng và độ phức tạp của các thuật toán này, Trong lý thuyết độ phức tạp còn những nội dung... kết quả chính xác không rõ ràng Việc tìm kiếm đường đi ngắn nhất từ một đỉnh s đến một đỉnh t rõ ràng là một bài toán Sau đây ta sẽ liệt kê danh sách một số bài toán quan trọng trong lý thuyết độ phức tạp 2.2 Một số bài toán quan trọng 1) Các bài toán người bán hàng (TSP) Bài toán người bán hàng (TSP): là bài toán tìm kiếm một chu trình ngắn nhất qua n thành phố đúng một lần và quay trở lại điểm xuất... chỉ biết được cận trên và cận dưới của độ phức tạp của bài toán Cuối cùng chúng chúng tôi trình bày về các lớp bài toán dựa trên độ phức tạp của chúng 12 CHƯƠNG 3: PHÂN LỚP CÁC BÀI TOÁN THEO ĐỘ PHỨC TẠP 3.1 Lớp các bài toán P, NP và mối quan hệ giữa chúng 3.1.1 Lớp P Bao gồm các bài toán giải được bằng máy Turing trong thời gian đa thức Ví dụ: bài toán tìm ước chung lớn nhất, bài toán kiểm nghiệm tính... chặn bởi một hàm đa thức của n = |x| Cho trước L, chúng ta chọn một chương trình NDTM nào đó là M đoán nhận L trong thời gian bị chặn bởi một đa thức p Giới hạn đa thức của việc tính toán tập các biến U và tập mệnh đề C được suy trực tiếp một khi chúng ta chứng tỏ rằng Length[fL(x)] là bị chặn trên bởi một hàm đa thức của n, trong đó Length[I] là độ dài của một chuỗi mã hóa thể hiện I theo một lược...Chương 2 BÀI TOÁN VÀ ĐỘ PHỨC TẠP CỦA BÀI TOÁN 2.1 Bài toán là gì? Trong giới hạn của luận văn này thì bài toán là một vấn đề phù hợp với việc tính toán của máy tính và tập các kết quả chính xác Ví dụ: Việc tìm kiếm một bản án cho bị cáo hay việc dịch một văn bản tiếng Đức sang một ngôn ngữ khác không phải là các bài toán vì chúng phụ không phù hợp... đó Luồng tổng đạt đến một đỉnh v ∉ {s, t}, nghĩa là tổng số f(e) với e = (., v) phải bằng luồng tổng rời khỏi v, tức là tổng số f(e) với e = {v, } Đỉnh nguồn s không có bất kỳ cạnh nào đi vào và đỉnh đích t không có bất kỳ cạnh nào đi qua 8) Các bài toán vô địch trong giải đấu thể thao Bài toán vô địch (CHAMPIONSHIP) cơ bản là một bài toán quyết định Một cổ động viên tự hỏi tại một thời điểm cụ thể... xâu phỏng đoán có độ dài tối đa p(n) Vì vậy ta sẽ có: x∈L ⇔ có một tính toán chấp nhận được của M trên x ⇔ có một tính toán chấp nhận được của M trên x với p(n) bước hoặc ít hơn trong giai đoạn kiểm tra và với xâu được đoán có độ dài chính xác bằng p(n) ⇔ có một phép gán thực trị thỏa được cho tập mệnh đề trong fL(x) Điều này có nghĩa là fL thỏa mãn một trong hai điều kiện yêu cầu của một biến đổi đa... về mặt lý thuyết) đội bóng yêu thích của mình sẽ vô địch trong giải đấu được không Cho biết xếp hạng hiện tại của mỗi đội chơi và có một danh sách các trận đấu còn được chơi Đội được chọn có thể trở thành nhà vô địch nếu có kết quả tiềm năng của các các trận đấu còn lại sao cho đến cuối giải không đội nào khác có nhiều điểm hơn (nếu cần thiết, đội chơi có thể cũng cần phải có hiệu số bàn thắng thua... thị G = (V,E) và số nguyên dương k thoả mãn k ≤ |V| - Câu hỏi: Tồn tại hay không một tập con V’ của V sao cho |V’| ≥ k mà mọi cặp đỉnh trong V’ đều được nối bởi một cạnh trong E 3.2.4.6 Bài toán HAMILTON CIRCUIL (HC) - Đầu vào: Cho đồ thị G = (V,E) - Câu hỏi: G có chứa một chu trình đơn đi qua mọi đỉnh hay không? 3.2.4.7 Bài toán PARTITION - Đầu vào: Một tập hữu hạn A và một “trọng số s(a) ∈ Z+ cho