Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
579,72 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công nghệ Thơng tin Truyền thơng BÀI TẬP LỚN MƠN HỌC THIẾT KẾ VÀ PHÂN TÍCH THUẬT TỐN LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đề tài: BÀI TOÁN CÁI TÚI Học viên thực hiện: Đào Duy Thành SHHV:20082364 Mã lớp: 29106 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Giáo viên hướng dẫn: PGS Nguyễn Đức Nghĩa HÀ NỘI – 2011 Mục lục Giới thiệu : LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương I : Bài toán túi 1.1 Giới thiệu 1.2 Bài toán túi dạng 0-1 1.3 Bài toán túi dạng phân số 11 Chương 2: Giải toán túi thuật toán trực tiếp (Brute-force) 12 Chương 3: Giải toán túi thuật toán tham lam 12 3.1 Greedy 12 3.2 Greedy 13 3.3 Greedy 14 3.4 Greedy 14 3.5 Thực toán túi theo Greedy C++ 15 Chương IV: Giải toán túi thuật toán quy hoạch động 17 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.1 Mô tả: 18 4.2 Nhận xét: 20 Tài liệu tham khảo chính: 21 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Giới thiệu : Báo cáo trình bày thuật tốn giải tốn túi Trong có sử dụng giải thuật là: giải thuật tham lam (Greedy) Quy hoạch động (Dynamic progaming) Từ đưa đánh giá độ phức tạp thuật toán lựa chọn phương án tối ưu Xin chân thành cám ơn thầy Nguyễn Đức Nghĩa giúp đỡ em thực toán Hà Nội tháng 12 năm 2011 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương I : Bài toán túi 1.1 Giới thiệu Bài tốn túi (hay cịn gọi tốn xếp ba lơ) tốn tối ưu tổ hợp Bài toán đặt tên từ vấn đề chọn quan nhét vừa vào túi (với giới hạn khối lượng) để mang theo chuyến Nội dung toán sau: Một kẻ trộm đột nhập vào cửa hiệu tìm thấy có n mặt hàng có trọng lượng giá trị khác nhau, mang theo túi có sức chứa trọng lượng tối đa M Vậy kẻ trộm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com nên bỏ vào túi số lượng để đạt giá trị cao khả mà mang Ví dụ tốn túi giới hạn chiều: chọn hộp để làm cho giá trị tiền cực trại tổng trọng lượng khơng vượt q 15kg? Bài tốn đa chiều xét đến khối lượng riêng kích thước hộp, tốn xếp vali điển hình(packing problem) Ta có n loại đồ vật, từ tới n Mỗi đồ vật thứ i có trọng lượng w[i] giá trị v[i] Trọng lượng tối đa mà túi mang S LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2 Bài toán túi dạng 0-1 Hạn chế số đồ vật thuộc loại (không chọn ) (được chọn) Bài tốn túi phát biểu tốn học sau: Cực đại hóa Sao cho với Bài toán túi bị chặn hạn chế số đồ vật huộc loại khơng vượt lượng Có thể phát biểu tốn học sau Cực đại hóa Sao cho với Bài túi khơng bị chặn khơng có hạn chế số lượng đồ vật loại LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Một trường hợp đặc biệt toán nhận nhiều quan tâm, tốn với tính chất: tốn định toán 0/1 với đồ vật, chi phí giá trị: C = V Trường hợp đặc biệt gọi toán tổng tập (subset sum problem) Với số lý do, ngành mật mã học, người ta thường dùng cụm từ "bài tốn túi thực có ý nói "bài tốn tổng con" Bài tốn túi thường giải quy hoạch động, chưa có thuật tốn thời gian đa thức cho toán tổng quát Cả túitổng 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com quát toán tổng NP-khó, điều dẫn đến cố gắng sử dụng tổng làm sở cho hệ thống mật mã hóa khóa công khai, chẳng hạn Merkle-Hellman Các cố gắng thường dùng nhóm thay số ngun Merkle-Hellman số thuật toán tương tự khác bị phá, toán tổng cụ thể mà họ tạo thực lại giải thuật toán thời gian đa thức Phiên toán định tốn túi mơ tả NP-đầy đủ thực tế 21 toán NP-đầy đủ Karp 1.3 Bài toán túi dạng phân số Với loại, chọn phần (ví dụ: 1Kg bơ cắt thành nhiều phần để bỏ vào ba lô) 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương 2: Giải toán túi thuật toán trực tiếp (Brute-force) Phương pháp duyệt tất khả chất đồ vào túi, tìm cách chất có tổng giá trị lớn số cách chất co tổng trọng lượng đồ vật không dung lượng túi Tuy nhiên, phương pháp sử dụng có độ phức tạp O (n2) Chương 3: Giải toán túi thuật toán tham lam 3.1 Greedy Giải thuật: xếp đồ vật theo thứ tự không tăng giá trị Lần lượt xét đồ vật theo thứ tự , chất đồ xét vào túi dung lượng cịn lại túi đủ chứa (tức tổng 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trọng lượng đồ vật xếp vào túi trọng lượng đồ vật xét không vượt khả túi) Tuy nhiên, phương pháp chưa cho lời giải xác 3.2 Greedy Sắp xếp đồ vật theo thứ tự không giảm trọng lượng Lần lượt xét đồ vật theo thứ tự , chất đồ xét vào túi dung lượng lại túi đủ chứa (tức tổng trọng lượng đồ vật xếp vào túi trọng lượng đồ vật xét không vượt dung lượng túi) Tương tự Greedy 1, phương pháp chưa mang lại độ xác cần thiết 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3 Greedy Sắp xếp đồ vật theo thứ tự không tăng giá trị đơn vị trọng lượng ( ) Lần lượt xét đồ vật theo thứ tự sắp, chất đồ vật xét vào túi dung lượng lại túi đủ chứa 3.4 Greedy Gọi lời giải thu theo thuật toán Greedy j , j=1;2;3 Gọi lời giải đạt Định lý: Lời giải thỏa mãn đẳng thức 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.5 Thực toán túi theo Greedy C++ Các hàm sử dụng : swap (x,y) dùng để đổi chỗ biến x y xếp nhap() dùng để nhập liệu từ bàn phím sapxep() dùng để xếp lại mảng theo thứ tự giảm dần tỉ lệ v[i]/w[i] , tức tỉ lệ giảm dần giá trị khối lượng đồ vật thamlam() trọn đồ vật xếp theo thứ tự giảm dần giá trị khối lượng, biến kỉ lục ghi nhận kết tốt thực Độ phức tạp: 15 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nếu sử dụng xếp đơn giản (chèn, bọt…) độ phức tạp toán O(n2) Nếu sử dụng quick sort merge sort độ phức tạp O(nlogn) tốt so với giải trực tiếp Giao diện nhập số liêu 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết thu Chương IV: Giải toán túi thuật toán quy hoạch động 17 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.1 Mô tả: Với , xét toán Tính tổng giá trị lớn đồ vật chọn số k đồ vật có tổng trọng lượng khơng q S Có tất toán Bài toán cần giải Giá trị tối ưu cần tìm Với k=1 ta có o o Gỉa sử tính để tính với Khi đó, ta lập luận sau 18 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com o Nếu đồ vật thứ k khơng thể chất vào túi, cách chất tối ưu sử dụng k-1 đồ vật trước có giá trị o Nếu cách chất tối ưu cần lựa chọn cách chất sau Không chất đồ vật k vào túi, giá trị cách chất tối ưu Chất đồ vật k vào túi, trọng lượng lại chất tối ưu từ đồ vật với giá trị tối ưu o Từ ta có cơng thức đệ quy 19 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.2 Nhận xét: Thuật tốn giải tốn túi có thời gian đánh giá O(nL) Thời gian phụ thuộc tuyến tính vào liệu vào L, xét hàm độ dài liệu vào , phụ thuộc lại hàm mũ.Trên thực tế,thuật toán làm việc hiệu L không lớn 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo chính: Nguyễn Đức Nghĩa Bài giảng Thiết kế phân tích thuật toán ĐHBK Hà nội, 2010 Wikipedia.org nguồn khác từ internet 21 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... luanvanchat@agmail.com Chương I : Bài toán túi 1.1 Giới thiệu 1.2 Bài toán túi dạng 0-1 1.3 Bài toán túi dạng phân số 11 Chương 2: Giải toán túi thuật toán trực tiếp (Brute-force)... thuật toán tương tự khác bị phá, toán tổng cụ thể mà họ tạo thực lại giải thuật toán thời gian đa thức Phiên toán định toán túi mô tả NP-đầy đủ thực tế 21 toán NP-đầy đủ Karp 1.3 Bài toán túi dạng... thực toán Hà Nội tháng 12 năm 2011 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương I : Bài toán túi 1.1 Giới thiệu Bài toán túi (hay cịn gọi tốn xếp ba lơ) toán tối ưu tổ hợp Bài