Bài giảng Thuật toán ứng dụng: Thuật toán Tham lam cung cấp cho người học những kiến thức như: Ý tưởng tham lam; Bài toán đổi tiền; Bài toán lập lịch; Tóm lược về tiếp cận tham lam; Bài tập. Mời các bạn cùng tham khảo!
THUẬT TỐN ỨNG DỤNG Thuật tốn Tham lam Nội dung Ý tưởng tham lam Bài tốn đổi tiền Bài tốn lập lịch Tóm lược tiếp cận tham lam Bài tập TRƯƠNG XUÂN NAM Phần Ý tưởng tham lam TRƯƠNG XUÂN NAM Ý tưởng tham lam ▪ Bài tốn tối ưu: tìm cực trị theo hàm mục tiêu 𝑧 = 𝑚𝑖𝑛 𝑓(𝑥) 𝑥 ∈ 𝑋 hoặc: 𝑥ҧ = 𝑎𝑟𝑔𝑚𝑖𝑛 𝑓 𝑥 𝑥 ∈ 𝑋 ▪ Quay lui: ▪ Duyệt toàn cấu hình x ▪ Ghi nhận cực trị hàm f(x) ▪ Nhánh cận: ▪ Vẫn quay lui ▪ Quay lui sớm đánh giá thấy nhánh không đủ tốt ▪ Vấn đề: thời gian thực q lớn (do độ phức tạp tính tốn hàm mũ) TRƯƠNG XUÂN NAM Ý tưởng tham lam ▪ Cấu hình rỗng: A = () ▪ Tìm cách xây dựng phần tử a1, a2, aN ▪ Quy tắc xây dựng phần tử ak: ▪ Nếu k > N: cấu hình A hoàn chỉnh, ghi nhận kết thúc ▪ Xây dựng tập Sk chứa giá trị ak ▪ Chọn giá trị Sk đem lại “lợi ích lớn nhất” cho hàm mục tiêu, gán cho ak nhận giá trị ▪ Lặp lại trình để xây dựng phần tử ak+1 ▪ Như vậy, tham lam dựa quay lui, nhưng: ▪ Khơng có bước quay lui ▪ Không cần viết đệ quy ▪ Thế “lợi ích lớn nhất” n; for (int i = 0; i < MAX; i++) { a[i] = n / c[i]; cout