1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài giảng Thiết kế và đánh giá thuật toán: Tham ăn - TS. Lê Nguyên Khôi

25 2 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 25
Dung lượng 608,51 KB

Nội dung

Microsoft PowerPoint BaiGiang11 ThamAn Thiết Kế & Đánh Giá Thuật Toán Tham Ăn TS Lê Nguyên Khôi Trường Đại Học Công Nghệ ĐHQGHN Nội Dung � Bài toán � Trả tiền thừa � Ba lô � Chiến lược tham ăn � Cây b[.]

Thiết Kế & Đánh Giá Thuật Toán Tham Ăn TS Lê Nguyên Khôi Trường Đại Học Công Nghệ - ĐHQGHN Nội Dung  Bài toán Trả tiền thừa  Ba lô  Chiến lược tham ăn  Cây bao trùm nhỏ  Thuật toán Prim  Thuật toán Kruskal  Bài Toán Trả Tiền Thừa Các loại đồng xu 100c, 25c, 10c, 5c, 1c  Với khoản tiền cần trả lại, cho số lượng đồng xu  Ví dụ: trả lại 189c  189 xu 1c => 189  18 xu 10c, xu 5c, xu 1c => 23  Bài Toán Trả Tiền Thừa Số lượng đồng xu trả lại nhất?  Ý tưởng:  Sử dụng đồng xu có mệnh giá từ lớn đến nhỏ  Hy vọng số lượng đồng xu   Ví dụ: trả lại 189c xu 100c, xu 25c, xu 10c, xu 1c =>  xu chưa  Lập Trình Động – Nhắc Lại Thường áp dụng cho toán tối ưu  Xác định lời giải tối ưu   Dựa lời giải tối ưu tốn Có thể phức tạp hóa vấn đề  Khơng khả thi với tốn thực tế  Khơng gian tìm kiếm rộng  Thời gian tìm kiếm lâu  Chiến Lược Tham Ăn Xác định phương án (lời giải) tốt thời điểm định  Chọn tối ưu cục (local optimal)  Hi vọng tìm tối ưu tồn cục (global optimum)  Có thể tìm lời giải tối ưu với số toán  Hiệu thực tế  Tham Ăn – Lập Trình Động   Đều áp dụng tìm lời giải tối ưu Lập trình động Thiết kế lên (bottom-up design) Giải tốn nhỏ Sau xác định phương án lời giải   Tham ăn Thiết kế xuống (top-down design) Xác định phương án lời giải Sau giải tốn nhỏ  Trả Tiền Thừa – Lập Trình Động  Giải tốn nhỏ Có sử dụng loại xu xxx hay khơng (co/khơng)  Số tiền trả tăng dần từ  Thiết kế bảng chiều  Gần tương tự toán ba lô?  Trả Tiền Thừa – Tham Ăn Các loại đồng xu 100c, 25c, 10c, 1c  Với khoản tiền cần trả lại, cho số lượng đồng xu  Ví dụ: trả lại 133c   Kỹ thuật tham ăn? 1 xu 100c, xu 25c, xu 1c => 10 xu 100c, xu 10c, xu 1c =>  Tham ăn khơng cho lời giải tối ưu  Bài Tốn Ba Lơ  Nhặt đầy đồ vật vào ba lô cho tối ưu Điều kiện khối lượng ba lô  Mục tiêu tối ưu lợi nhuận   Bài tốn: Có N đồ vật, với khối lượng wi giá trị ti  Khối lượng ba lô không vượt M  Xác định tập đồ vật để tổng giá trị lớn  Sử dụng kỹ thuật tham ăn  Bài Tốn Ba Lơ – Tham Ăn N = 5, M = 100 i A B wi 10 20 ti 20 30 C 30 66 D 40 40 E 50 50 10 Bài Toán Ba Lô – Tham Ăn N = 5, M = 100 i A B wi 10 20 ti 20 30 C 30 66 D 40 40 Tham ăn theo cân nặng (wi) Xi 1 1  E 50 50 = 156 11 Bài Tốn Ba Lơ – Tham Ăn N = 5, M = 100 i A B wi 10 20 ti 20 30 C 30 66 Tham ăn theo giá trị (ti) Xi 1  D 40 40 E 50 50 = 146 12 Bài Tốn Ba Lơ – Tham Ăn N = 5, M = 100 i A B wi 10 20 ti 20 30 C 30 66 D 40 40 Tham ăn theo tỉ trọng (ti / wi) Xi 1 1  E 50 50 = 156 13 Đồ Thị – Định Nghĩa Đồ thị có hướng  = ( , ) bao gồm     Tập đỉnh Tập ⊆ × cạnh Đồ thị vơ hướng  Cặp cạnh khơng có thứ tự ,  = (, ) Đồ thị định hướng  Cặp cạnh có thứ tự ,  ≠ ,  Cả hai trường hợp, = (  ) Nếu  liên thông, ≥ − 1, ⟹ log =  log 14 Đồ Thị – Ví Dụ vơ hướng định hướng Cầu Giấy Cầu Giấy BX Kim Mã ĐHQG Ngã tư Sở BX Kim Mã ĐHQG Ngã tư Sở 15 Đồ Thị – Ví Dụ trọng số khơng trọng số Cầu Giấy Cầu Giấy ĐHQG 11 Ngã tư Sở BX Kim Mã BX Kim Mã ĐHQG 15 Ngã tư Sở 16 Đồ Thị – Ví Dụ liên thơng khơng liên thơng 17 Đồ Thị – Biểu Diễn  Biểu diễn  = ( , , với  1, 2, … ,  , ma trận !"1 , $ %, & ∈ ! %, &  ' %, & ∉   lưu trữ 18 Bài Toán Cây Bao Trùm Nhỏ Nhất   Input: Đồ thị liên thông, vô hướng   ( , ) có trọng số : → ℝ Output: Cây bao trùm – kết nối tất đỉnh với trọng số nhỏ =  (, ) 3,4 ∈5 19 Cây Bao Trùm Nhỏ Nhất – Ví Dụ  Input: 20 Cây Bao Trùm Nhỏ Nhất – Ví Dụ  Output 21 Cấu Trúc Con Tối Ưu Xóa cạnh (, ) ∈ Thì, chia thành 26 2 Định lý Cây T6 bao trùm nhỏ 6 = ( 6 , ), 6 đồ thị  bao gồm đỉnh 26 = đỉnh 26 = 8, ∈ : 8, ∈ Tương tự với 2 22 Thuật Toán Prim :: tập đỉnh kề cạnh tập cạnh Ban đầu tập : chứa đỉnh tuỳ chọn đồ thị , rỗng Tại bước lặp: Chọn (, ) ngắn nhất,  ∈ :,  ∈ − : Thêm đỉnh  vào tập đỉnh : Thêm cạnh (, ) vào tập cạnh Tiếp tục phát triển : = , ta nhận bao trùm 23 Thuật Toán Kruskal Tập cạnh xây dựng dần bước xuất phát từ rỗng Tại bước cạnh (, ) chọn thêm vào cạnh ngắn cạnh lại khơng tạo thành chu trình với cạnh có 24

Ngày đăng: 29/06/2023, 05:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN