THUẬT TOÁN THAM LAM: BỒI DƯỠNG HSG MÔN TIN HỌC THPT

11 278 8
THUẬT TOÁN THAM LAM: BỒI DƯỠNG HSG MÔN TIN HỌC THPT

Đ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

1. Chuyên đề biên soạn2. Lí thuyết và bài tập ngôn ngữ lập trình pascal3. Sáng tạo trong lập trình – tập 14. Tuyển chọn các bài toán tin học dành cho học sinh giỏi THPT5. Tuyển tập đề thi Olympic các năm6. Sách chuyên tin 1, 2, 3 + Sách bài tập7. 100 bài toán tin học nhà trường (file)8. Các chuyên đề tin học của Lê Minh Hoàng (file). 

HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 THUẬT TOÁN THAM LAM TRẦN NGỌC AN Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Một toán thực cấu trúc tối ưu (optimal substructure) cách giải tối ưu toán chứa đựng cách giải tối ưu tốn  Đối với nhiều toán, thuật toán tham lam khơng cho lời giải tối ưu tồn cục, chúng thường khơng chạy tất trường hợp Tuy nhiên, thuật tốn hữu ích chúng dễ thiết kế cho ước lượng tốt lời giải tối ưu  Nếu thuật toán tham lam cho kết tối ưu tồn cục cho lớp tốn đó, thuật tốn thường chọn lựa, chạy nhanh phương pháp tối ưu hóa khác quy hoạch động … Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật tốn tham lam  Thuật tham lam có 05 thành phần:  Một tập hợp ứng viên C (candidate), để từ tạo lời giải  Một hàm lựa chọn Select(C), để theo lựa chọn ứng viên tốt để bổ sung vào lời giải  Một hàm khả thi Feasible(S  x), dùng để định ứng viên dùng để xây dựng lời giải  Một hàm mục tiêu Solution(S), ấn định giá trị lời giải lời giải chưa hoàn chỉnh  Một hàm đánh giá, ta tìm lời giải hồn chỉnh Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Bài toán tối ưu tổ hợp  Là dạng tốn tối ưu, có dạng tổng qt sau:  Cho hàm f(X) = xác định tập hữu hạn phần tử D Hàm f(X) gọi hàm mục tiêu  Mỗi phần tử X Є D có dạng X = (x1, x2 xn) gọi phương án  Cần tìm phương án X Є D cho hàm f(X) đạt (max) Phương án X gọi phương án tối ưu  Ta tìm thấy phương án tối ưu phương pháp “vét cạn” nghĩa xét tất phương án tập D (hữu hạn) để xác đinh phương án tốt Mặc dù tập hợp D hữu hạn để tìm phương án tối ưu cho tốn kích thước n phương pháp “vét cạn” ta cần thời gian mũ Các phần chương trình bày số kĩ thuật giải tốn tối ưu tổ hợp mà thời gian chấp nhận Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Nội dung kĩ thuật tham ăn  Tham ăn hiểu cách dân gian là: mâm có nhiều ăn, ngon ta ăn trước ăn cho hết chuyển sang ngon thứ hai, lại ăn hết ngon thứ hai chuyển sang ngon thứ ba… Kĩ thuật tham ăn thường vận dụng để giải toán tối ưu tổ hợp cách xây dựng phương án X Phương án X xây dựng cách lựa chọn thành phần Xi X hoàn chỉnh (đủ n thành phần) Với Xi, ta chọn Xi tối ưu Với cách bước cuối ta khơng để chọn mà phải chấp nhận giá trị cuối lại  Áp dụng kĩ thuật tham ăn cho giải thuật thời gian đa thức, nhiên nói chung đạt phương án tốt chưa tối ưu Có nhiều tốn mà ta giải kĩ thuật Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật tốn tham lam  Đặc tính lựa chọn tham lam  Tồn phương pháp tối ưu đạt từ việc chọn tối ưu bước chọn  Về khía cạnh giải thuật tham lam khác với giải thuật quy hoạch động chỗ: Trong qui hoạch động thực chọn cho bước, việc lựa chọn phụ thuộc vào cách giải toán Với giải thuật tham lam, bước chọn tốt vào thời điểm tại, sau giải vấn đề phát sinh từ việc chọn Vấn đề chọn thực giải thuật tham lam không phụ thuộc vào việc lựa chọn tương lai hay cách giải toán Vì khác với quy hoạch động, giải toán theo kiểu bottom up (từ lên), giải thuật tham lam thường sử dụng giải pháp top-down (từ xuống) Chúng ta phải chứng minh với giải thuật tham lam, tồn tốn giải cách tối ưu bước việc chọn thực tối ưu Các bước chọn thực tương tự bước đầu tiên, với toán nhỏ Ph- ương pháp qui nạp ứng dụng giải thuật tham lam sử dụng cho tất bước chọn Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Cấu trúc tối ưu  Một toán thực optimal substructure cách giải tối ưu toán chứa đựng cách giải tối ưu tốn Tính chất đánh giá thành phần áp dụng thuật toán quy hoạch động tốt thuật toán tham lam Một ví dụ optimal substructure, A đáp án tối ưu toán với hành động chọn 1, tập hợp A’= A- {1} đáp án tối ưu cho toán  S’= {i Є S: si ≥ f1 } Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam           Sơ đồ chung phương pháp Đặc điểm chung thuật toán tham lam Mục đích xây dựng tốn giải nhiều lớp toán khác nhau, đưa định dựa vào thuật tốn có, tương lai khơng xem xét lại định khứ Vì thuật tốn dễ đề xuất, thời gian tính nhanh thường khơng cho kết Lời giải cần tìm mơ tả gồm hữu hạn thành phần thoả mãn điều kiện định, ta phải giải toán cách tối ưu -> hàm mục tiêu Để xây dựng lời giải ta có tập ứng cử viên Xuất phát từ lời giải rỗng, thực việc xây dựng lời giải bước, bước lựa chọn tập ứng cử viên để bổ xung vào lời giải có Xây dựng hàm nhận biết tính chấp nhận lời giải có -> Hàm Solution(S) -> Kiểm tra thoả mãn điều kiện chưa Một hàm quan trọng nữa: Select(C) cho phép bước thuật toán lựa chọn ứng cử viên có triển vọng để bổ xung vào lời giải có -> dựa vào ảnh hưởng vào hàm mục tiêu, thực tế ứng cử viên phải giúp phát triển tiếp tục toán Xây dựng hàm nhận biết tính chấp nhận ứng cử viên lựa chọn, để định bổ xung ứng cử viên lựa chọn hàm Select vào lời giải -> Feasible(S   x) Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam                 Sơ đồ thuật toán Procedure Greedy; {*G i ả sử C l à t ập các ứng cử viên*} begin S :=Ø   ; {* S là l ời giải xây dựng theo thuật toán *} While(C≠ 0)andnotSolution(S)do Begin x ← size 12{ leftarrow } {}Select( C ); C:=C\x; If feasible(S  x) then S:=S  x End; If solution(S) then return S; End; Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 II MỘT SỐ VÍ DỤ:  Bài toán trả tiền máy rút tiền tự động ATM  Trong máy rút tiền tự động ATM, ngân hàng chuẩn bị sẵn loại tiền có mệnh giá 100.000 đồng, 50.000 đồng, 20.000 đồng 10.000 đồng Giả sử loại tiền có số lượng khơng hạn chế Khi có khách hàng cần rút số tiền n đồng (tính chẵn đến 10.000 đồng, tức n chia hết cho 10000) Hãy tìm phương án trả tiền cho trả đủ n đồng số tờ giấy bạc phải trả  Gọi X = (X1, X2, X3, X4) phương án trả tiền, X1 số tờ giấy bạc mệnh giá 100.000 đồng, X2 số tờ giấy bạc mệnh giá 50.000 đồng, X3 số tờ giấy bạc mệnh giá 20.000 đồng X4 số tờ giấy bạc mệnh giá 10.000 đồng Theo yêu cầu ta phải có X1 + X2 + X3 + X4 nhỏ X1 * 100.000 + X2 * 50.000 + X3 *  20.000 + X4 * 10.000 = n  Áp dụng kĩ thuật tham ăn để giải tốn là: để có số tờ giấy bạc phải trả (X1 +  X2 + X3 + X4) nhỏ tờ giấy bạc mệnh giá lớn phải chọn nhiều Trước hết ta chọn tối đa tờ giấy bạc mệnh giá 100.000 đồng, nghĩa X1 số nguyên lớn cho X1 * 100.000 ≤ n Tức X1 = n DIV 100.000  Xác định số tiền cần rút lại hiệu n – X1 * 100000 chuyển sang chọn loại giấy  bạc 50.000 đồng… Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 II MỘT SỐ VÍ DỤ:  Bài toán trả tiền máy rút tiền tự động ATM  Khách hàng cần rút 1.290.000 đồng (n = 1290000), phương án trả tiền sau: X1 = 1290000 DIV 100000 = 12  Số tiền cần rút lại 1290000 – 12 * 100000 = 90000 X2 = 90000 DIV 50000 =  Số tiền cần rút lại 90000 – * 50000 = 40000 X3 = 40000 DIV 20000 =  Số tiền cần rút lại 40000 – * 20000 = X4 = DIV 10000 =  Ta có X = (12, 1, 2, 0), tức máy ATM trả cho khách hàng 12 tờ 100.000 đồng, tờ 50.000 đồng tờ 20.000 đồng Nguyễn Thanh ... bày số kĩ thuật giải toán tối ưu tổ hợp mà thời gian chấp nhận Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Nội dung kĩ thuật tham ăn  Tham ăn hiểu...HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Một toán thực cấu trúc tối ưu (optimal substructure) cách giải tối ưu toán chứa đựng cách giải tối ưu toán  Đối... đầu tiên, với toán nhỏ Ph- ương pháp qui nạp ứng dụng giải thuật tham lam sử dụng cho tất bước chọn Nguyễn Thanh HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015 I Đặc điểm chung thuật toán tham lam  Cấu

Ngày đăng: 23/05/2020, 14:11

Từ khóa liên quan

Mục lục

  • HỘI THẢO BỒI DƯỠNG HỌC SINH GiỎI 2015

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

Tài liệu cùng người dùng

Tài liệu liên quan