1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Phương pháp tham lam

24 26 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 424,94 KB

Nội dung

Giải thuật tham lam (tiếng Anh: Greedy algorithm) là một thuật toán giải quyết một bài toán theo kiểu metaheuristic để tìm kiếm lựa chọn tối ưu địa phương ở mỗi bước đi với hy vọng tìm được tối ưu toàn cục. Mời các bạn cùng tham khảo.

Phương pháp tham lam Ngày 19 tháng năm 2020 Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Ý tưởng tham lam: Xây dựng lời giải toán với việc chấp nhận lựa chọn tốt giai đoạn (chấp nhận lựa chọn tối ưu cục bộ) Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Ý tưởng tham lam: Xây dựng lời giải toán với việc chấp nhận lựa chọn tốt giai đoạn (chấp nhận lựa chọn tối ưu cục bộ) Những tốn giải phương pháp tham lam Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Ý tưởng tham lam: Xây dựng lời giải toán với việc chấp nhận lựa chọn tốt giai đoạn (chấp nhận lựa chọn tối ưu cục bộ) Những tốn giải phương pháp tham lam Bài tốn có lời giải tối ưu; Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Ý tưởng tham lam: Xây dựng lời giải tốn với việc chấp nhận lựa chọn tốt giai đoạn (chấp nhận lựa chọn tối ưu cục bộ) Những tốn giải phương pháp tham lam Bài tốn có lời giải tối ưu; Bài toán trải qua nhiều bước, bước tìm lời giải tối ưu cho toán nhỏ; Phương pháp tham lam / 15 Giới thiệu Cho trước tập A gồm n đối tượng, ta cần phải chọn tập S từ tập A Với tập S chọn thỏa mãn yêu cầu toán, ta gọi nghiệm chấp nhận Nghiệm tối ưu nghiệm chấp nhận mà hàm mục tiêu đạt giá trị nhỏ (lớn nhất) Ý tưởng tham lam: Xây dựng lời giải tốn với việc chấp nhận lựa chọn tốt giai đoạn (chấp nhận lựa chọn tối ưu cục bộ) Những tốn giải phương pháp tham lam Bài tốn có lời giải tối ưu; Bài toán trải qua nhiều bước, bước tìm lời giải tối ưu cho toán nhỏ; Lời giải toán bổ sung bước thông qua lời giải toán Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu toàn cục giải cách thực lựa chọn tối ưu cục Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu tồn cục giải cách thực lựa chọn tối ưu cục Tính chất cấu trúc tối ưu: Một giải pháp tối ưu tốn chứa giải pháp tối ưu cho toán nó; Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu tồn cục giải cách thực lựa chọn tối ưu cục Tính chất cấu trúc tối ưu: Một giải pháp tối ưu tốn chứa giải pháp tối ưu cho tốn nó; Mơ hình Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu toàn cục giải cách thực lựa chọn tối ưu cục Tính chất cấu trúc tối ưu: Một giải pháp tối ưu tốn chứa giải pháp tối ưu cho tốn nó; Mơ hình Chọn S từ tập A S= ; Trong A = : Chọn phần tử x tốt A; Cập nhật đối tượng để chọn A = A \ {x}; Nếu S ∪ {x} thỏa mãn điều kiện tốn cập nhật lời giải S = S ∪ {x}; Phương pháp tham lam / 15 Giới thiệu Sơ đồ thuật toán input A[1 n]; output S; greedy (A, n) S = ; while(A = ){ x = selection(A); A = A \ {x}; if (S∪{x} chấp nhận được) S = S∪{x}; } Phương pháp tham lam / 15 Một số tốn điển hình Bài tốn người đưa hàng Bài toán: Một người bán hàng muốn tham quan n thành phố T1 , T2 , , T Xuất phát từ thành phố đó, người bán hàng muốn qua tất thành phố lại Mỗi thành phố qua lần quay trở lại phành phố xuất phát Gọi Cij chi phí từ thành phố Ti đến thành phố Tj Yêu cầu: Tìm hành trình thỏa mãn u cầu tốn cho tổng chi phí nhỏ Phương pháp tham lam / 15 Một số tốn điển hình Bài tốn người đưa hàng Ý tưởng: Đây tốn tìm chu trình có trọng số nhỏ đơn đồ thị liên thơng, có hướng có trọng số; Thuật tốn tham lam cho tốn chọn thành phố có chi phí nhỏ tính từ thành phố thời đến thành phố chưa qua Phương pháp tham lam / 15 Một số tốn điển hình Bài toán người đưa hàng Các bước tiến hành thuật toán Chọn đỉnh bắt đầu v; Chọn đỉnh đỉnh gần với đỉnh chưa qua Đánh dấu qua đỉnh vừa chọn; Nếu cịn đỉnh chưa qua quay lại bước 2; Quay lại đỉnh v Phương pháp tham lam / 15 Một số toán điển hình Bài tốn người đưa hàng input: c = cij output: X // hành trình tối ưu; cost // chi phí tối ưu Mơ tả: daxet[n]; // đánh dấu đỉnh sử dụng; min;//Chọn cạnh bước Phương pháp tham lam / 15 Một số tốn điển hình Bài tốn người đưa hàng greedy_TSP(c, n) while (i < n){ = ∞; for (k = 1; k c[v][k]){ = c[v][k]; w = k; } } } v = w; i++; x[i] = v; daxet[v] = 1; cost += min; Phương pháp tham lam } / 15 Một số tốn điển hình Bài tốn túi Bài tốn: Có n loại đồ vật, loại có số lượng khơng hạn chế Đồ vật loại i có trọng lượng wi giá trị sử dụng vi , i ∈ {1, , n} Yêu cầu: Chọn đồ vật để đặt vào túi có giới hạn trọng lượng m, cho tổng giá trị lựa chọn lớn Phương pháp tham lam 10 / 15 Một số tốn điển hình Bài tốn túi Áp dụng thuật tốn tham lam Tính “đơn giá” (đơn giá = vi wi ) cho loại đồ vật; Xếp theo đơn giá giảm dần; Với loại đồ vật lấy số lượng tối đa mà trọng lượng túi cho phép; Xác định lại trọng lượng túi, quay lại bước không bỏ thêm vào nữa; Phương pháp tham lam 11 / 15 Một số tốn điển hình Bài tốn túi greedy_backpack() sort(); //Sắp xếp đồ vật giảm dần theo sum = 0; for (i=1; i= w[i]){ x[i] = (int)m / w[i]; m -= x[i]*w[i] ; sum += x[i]*v[i] ; } } Phương pháp tham lam 12 / 15 vi wi Một số toán điển hình Bài tốn đổi tiền Bài tốn: Có lượng tiền M đơn vị (đồng), k đồng tiền mệnh giá giảm dần m1 , m2 , , mk Với giả thiết số lượng đồng tiền không hạn chế Yêu cầu: Hãy đổi M lượng tiền thành đồng tiền cho số lượng tờ tiền Phương pháp tham lam 13 / 15 Một số tốn điển hình Bài toán đổi tiền Bài toán đổi tiền Gọi X = (x1 , x2 , , xk ) phương án trả tiền Mục tiêu x1 + x2 + + xk nhỏ nhất, với ràng buộc x1 ∗ m1 + x2 ∗ m2 + + xk ∗ mk = M Ý tưởng Để x1 + x2 + + xk nhỏ đồng tiền có mệnh giá lớn phải chọn nhiều Không tính tổng quát, giả sử đồng tiền xếp giảm dần m1 > m2 > > mk Trước hết chọn tối đa đồng tiền có mệnh giá m1 , x1 số nguyên lớn cho x1 ∗ m1 ≤ M Số tiền lại M − x1 ∗ m1 Chuyển sang chọn đồng tiền có mệnh giá nhỏ Phương pháp tham lam 14 / 15 Một số tốn điển hình Bài tốn đổi tiền greedy_ATM(m, M) for (i = 0; i< k; i++){ if (M >= m[i]){ x[i] = M/m[i]; M = M - m[i]*x[i]; } } if (M!=0) printf("Khong co cach doi tien"); else inNghiem(x); Phương pháp tham lam 15 / 15 ... giải toán Phương pháp tham lam / 15 Giới thiệu Tính chất thuật toán tham lam Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu... trúc tối ưu: Một giải pháp tối ưu toán chứa giải pháp tối ưu cho tốn nó; Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu tồn cục... tối ưu: Một giải pháp tối ưu tốn chứa giải pháp tối ưu cho toán nó; Mơ hình Phương pháp tham lam / 15 Giới thiệu Tính chất thuật tốn tham lam Tính chất lựa chọn tham lam: Một giải pháp tối ưu tồn

Ngày đăng: 17/10/2020, 17:14

HÌNH ẢNH LIÊN QUAN

Một số bài toán điển hình - Bài giảng Phương pháp tham lam
t số bài toán điển hình (Trang 18)
Một số bài toán điển hình - Bài giảng Phương pháp tham lam
t số bài toán điển hình (Trang 21)
Một số bài toán điển hình - Bài giảng Phương pháp tham lam
t số bài toán điển hình (Trang 24)

TỪ KHÓA LIÊN QUAN

w