Bài giảng Lý thuyết độ phức tạp: Lý thuyết NP - Đầy đủ - PGS. TSKH Vũ Đình Hòa
lượt xem 16
download
Bài giảng "Lý thuyết độ phức tạp: Lý thuyết NP - Đầy đủ" cung cấp cho người đọc các kiến thức: Xác định bài toán, bài toán, thuật toán và độ phức tạp một số khái niệm cơ bản, thuật toán thời gian đa thức và những bài toán không giải được,... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lý thuyết độ phức tạp: Lý thuyết NP - Đầy đủ - PGS. TSKH Vũ Đình Hòa
- LÝ THUYẾT ĐỘ PHỨC TẠP LÝ THUYẾT NP - ĐẦY ĐỦ (THE THEORY OF NP - COMPLETENESS) Giáo viên : PGS TSKH Vũ Đình Hoà The theory of NP-Completeness 1
- MỞ ĐẦU TÌNH HUỐNG Bạn được làm thuê cho một công ty với tư cách là nhà thiết kế thuật toán. Công ty sẽ tham gia thị trường cạnh tranh “bandersnatch cao cấp”. Có phương pháp nào để tạo ra một tập các quy cách kĩ thuật cho mỗi bài toán của thị trường bandersnatch đặt ra?
- MỞ ĐẦU PHẢI LÀM GÌ? Xác định chính xác bài toán = tham vấn phòng bandersnatch. Lao vào công việc với đầy bầu nhiệt huyết
- MỞ ĐẦU KẾT QUẢ Vài tuần trôi qua Giấy tờ tràn ngập Không tìm được bất kì thuật toán nào phải mất hàng năm để xây dựng một thuật toán cho một modun Có rất nhiều modun cho bài toán
- MỞ ĐẦU PHẢI LÀM THẾ NÀO Nếu viết báo cáo rằng “Tôi thật ngu ngốc vì không thể tìm được thuật toán nào” →Bạn sẽ bị sa thải’ Cần chứng minh rằng bài toán được giao là không thể giải dễ dàng được
- MỞ ĐẦU LỜI KHUYÊN Việc chứng minh tính không thể giải được = chứng minh không tồn tại một thuật toán hữu hiệu. Lý thuyết sau đây chỉ ra rằng cần chứng minh bài toán của bạn là bài toán NP-đầy đủ. Nó có độ khó tương đương với độ khó lớp các bài toán khác mà nhiều chuyên gia phải bó tay.
- MỞ ĐẦU LỜI KHUYÊN Tính NP-đầy đủ cho ta thấy: →Khả năng tìm ra thuật toán tốt cho bài toán khó. →Cách chuyển hướng tiếp cận: giải gần đúng hoặc tìm lời giải cho những trường hợp đặc biệt
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Một bài toán/vấn đề là gì?: →Một câu hỏi có tính tổng quát cần được trả lời. →Thường chứa một số tham số hay biến tự do chưa được xác định giá trị. →Miêu tả:(1) các tham số, (2) các yêu cầu về câu trả lời.
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Bài toán: →Ví dụ: Bt “Người du lịch”. ٧ Các thành phố C c1 , c2 , , cm ٧ Các khoảng cách d ci , c j ? Yêu cầu: tìm hoán vị tròn c 1 , c 2 , , c m m 1 sao cho tổng trọng số cạnh: d (c ( i ) , c ( i 1) ) d (c ( m ) , c (1) ) i 1 nhỏ nhất. ٭Ý nghĩa:
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Một dữ kiện/input của bài toán: C c1 , c2 , c3 , c4 c1 d c1 , c2 10 10 5 9 c3 d c1 , c3 5 c2 6 3 d c1 , c4 9 c4 9 d c2 , c3 6 Sắp xếp: c1 , c2 , c4 , c3 d c2 , c4 9 Là lời giải: lengthmin 27 d c3 , c4 3
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Thuật toán: →Gồm các thủ tục “từng bước-từng bước” giải quyết bài toán. →Có thể xem như một chương trình viết bằng ngôn ngữ máy. Một TT giải quyết được bài toán П nếu nó có lời giải cho mọi dữ kiện/input I của bài toán đó.
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Thuật toán: Thế nào là một TT hiệu quả (efficiency)? Chạy được với tất cả các input. Thời gian tính toán nhanh nhất. Yêu cầu về thời gian có tính quyết định xem một thuật toán có hiệu quả để đưa vào thực tế hay không
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Thuật toán: Yêu cầu về thời gian Có thể miêu tả hàm một biến (Kích thước của một bài toán cụ thể) Đo kích thước của bài toán cụ thể theo cách thông thường –Để tínhbài Ex, mộttoán cách“người chính thương xác thì phải gia đixét ducảlịch” số các khoảng có kích thước cách và độ lớn các khoảng cách giữa các thành phố. là số lượng m các thành phố.
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Lược đồ mã hóa: Miêu tả đầu vào của một bài toán cụ thể bằng một chuỗi kí tự. Độ dài đầu vào của trường hợp I của bài toán П là số kí tự trong chuỗi kí tự của lược đồ mã hóa. Độ dài này là cách đo hình thức của kích thước bài toán cụ thể П(I).
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Lược đồ mã hóa: Ví dụ: Bài toán người thương gia đi du lịch. ٭Sử dụng bộ kí tự: {c, [, ], /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ٭Chuỗi mã hóa: “c[1] c[2] c[3] c[4] // 10 / 5 / 9 // 6 / 9 // 3” ٭Độ dài đầu vào là 32. ٭Các trường hợp bài toán phức tạp, có thể mã hóa bằng chuỗi tương tự, không phải chuỗi rời rạc.
- BÀI TOÁN, THUẬT TOÁN VÀ ĐỘ PHỨC TẠP MỘT SỐ KHÁI NIỆM CƠ BẢN Hàm thời gian: Cho mỗi kích thước đầu vào một lượng thời gian lớn nhất để giải quyết trường hợp của bài toán đó
- THUẬT TOÁN THỜI GIAN ĐA THỨC VÀ NHỮNG BÀI TOÁN KHÔNG GIẢI ĐƯỢC 1 hàm f(n) là O(g(n)) khi hằng c, k: |f(n)|=k 1 thuật toán thời gian đa thức có độ phức tạp là O(p(n)) với p(n) là một hàm đa thức. n chỉ kích thước đầu vào 1 thuật toán thời gian lũy thừa nếu hàm phức tạp thời gian của nó không có giới hạn. log n n (bao gồm cả một số hàm phức tạp thời gian không đa thức như )
- THUẬT TOÁN THỜI GIAN ĐA THỨC VÀ NHỮNG BÀI TOÁN KHÔNG GIẢI ĐƯỢC Bảng so sánh một số hàm phức tạp thời gian lũy thừa và đa thức. Time Size n complexity 10 20 30 40 50 60 function n .00001s .00002s .00003s .00004s .00005s .00006s n2 .0001s .0004s .0009s .0016s .0025s .0036s n3 .001s .008s .0027s .064s .125s .216s n5 .1s 3.2s 24.3s 1.7m 5.2m 13.0m 2n .001s 1.0s 17.9m 12.7d 35.7y 366c 3n .059s 58m 6.5y 3855c 2 x 108 c 1.3 x 1013 c
- THUẬT TOÁN THỜI GIAN ĐA THỨC VÀ NHỮNG BÀI TOÁN KHÔNG GIẢI ĐƯỢC Ảnh hưởng của công nghệ máy tính đến các hàm phức tạp thời gian Time Computer 100 Computer Present complexity computer times faster 1000 times function faster n N1 100N1 1000N1 n2 N2 10N2 31.6N2 n3 N3 4.64N3 10N3 n5 N4 2.5N4 3.98N4 2n N5 N5+6.64 N5+9.97 3n N6 N6+4.19 N6+6.29
- THUẬT TOÁN THỜI GIAN ĐA THỨC VÀ NHỮNG BÀI TOÁN KHÔNG GIẢI ĐƯỢC Một bài toán là không thể giải được nếu quá khó để tìm ra một thuật toán thời gian đa thức để giải quyết nó. Với kích thước bài toán có hạn thì việc so sánh giữa thuật toán đa thức hữu hiệu và thuật toán lũy thừa không hữu hiệu có nhiều ngoại lệ. Ex: xem bảng so sánh ở slide trước, thuật toán 2n nhanh hơn thuật toán n5 với n
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lý thuyết và bài tập Pascal nâng cao part 1
44 p | 1185 | 426
-
Bài giảng Kỹ thuật lập trình
156 p | 334 | 157
-
Bài giảng Cơ sở lý thuyết mật mã: Chương I - Hoàng Thu Phương
47 p | 374 | 76
-
Bài giảng Lý thuyết độ phức tạp: Lý thuyết NP - Đầy đủ - PGS. TSKH Vũ Đình Hòa (tt)
41 p | 221 | 51
-
Bài giảng chuyên đề - Lê Minh Hoàng
0 p | 249 | 41
-
ĐỀ THI MÔN TÓAN RỜI RẠC & LÝ THUYẾT ĐỒ THỊ LỚP: LT2011-Lần 1-Đề 1
2 p | 200 | 32
-
Bài giảng đồ họa : Tổng quan về đồ họa máy tính part 3
4 p | 107 | 16
-
Bài giảng An toàn thông tin - Chương 2: Mật mã học
39 p | 161 | 15
-
Bài giảng Cơ sở đồ họa máy tính: Phần 2 - ĐH CNTT&TT
34 p | 102 | 14
-
Bài giảng Lý thuyết thông tin trong các hệ mật: Chương 1 - Hoàng Thu Phương
46 p | 104 | 12
-
Bài giảng đồ họa : CÁC PHÉP BIẾN ĐỔI 3 CHIỀU part 2
0 p | 197 | 9
-
Bài giảng Lý thuyết độ phức tạp: Chương 3 - PGS. TSKH Vũ Đình Hòa
21 p | 101 | 9
-
ĐỀ THI HẾT MÔN TRR & LTDT - LẦN 1 (Đề 1) LỚP: Khóa 10 - Học kỳ phụ
2 p | 91 | 9
-
ĐỀ THI HẾT MÔN TRR & LTDT - LẦN 2 (Đề 3) LỚP: Cao đẳng khóa 8 – năm học 2008-2009
1 p | 137 | 9
-
Bài giảng môn Toán tin - Chương 6: Lý thuyết đồ thị
77 p | 103 | 8
-
Bài giảng An toàn và bảo mật dữ liệu trong hệ thống thông tin: Chương 2 - ThS. Trương Tấn Khoa
34 p | 45 | 6
-
ĐỀ THI HẾT MÔN TRR & LTDT - LẦN 2 (Đề 4) LỚP: Cao đẳng khóa 8 – năm học 2008-2009
1 p | 91 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn