1. Trang chủ
  2. » Tất cả

Bài toán chọn hoạt động ch02 greedyalgos

4 3 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài toán chọn hoạt động (Activity-Selection Problem)
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Kỹ Thuật Thuật Toán
Thể loại Báo cáo môn học
Năm xuất bản 2004
Thành phố Hà Nội
Định dạng
Số trang 4
Dung lượng 47,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dynamic Programming Baøi toaùn choïn hoaït ñoäng (activity selection problem) Cho Moät taäp caùc hoaït ñoäng S = {1, 2, , n} Moät taøi nguyeân chung maø taïi moïi thôøi ñieåm noù ñöôïc duøng bôûi nhie[.]

Trang 1

Bài toán chọn hoạt động (activity-selection

problem)

– Một tập các hoạt động S = {1, 2,…, n}

– Một tài nguyên chung mà tại mọi thời điểm

nó được dùng bởi nhiều lắm là một hoạt

động

– Hoạt động i có thời điểm bắt đầu là si

thời điểm chấm dứt là fi

– Nếu hoạt động i được chọn thì i tiến hành trong thời gian [si , fi )

– Hai hoạt động i và j là tương thích nhau

(“compatible”) nếu

[si , fi ) và [sj , fj ) không chạm nhau.

° Bài toán chọn hoạt động là tìm một tập các

hoạt động tương thích nhau mà có số phần tử

lớn nhất.

Trang 2

Giải thuật greedy cho bài toán chọn hoạt

động

° Giải thuật

– Giả sử: f1  f2  …  fn

GREEDY-ACTIVITY-SELECTOR(s, f)

1 n  length[s]

5 do if si  fj

6 then A  A  {i}

7 j  i

Trang 3

Chạy G REEDY -A CTIVITY -S ELECTOR lên một ví dụ

1 1 4

2 3 5

3 0 6

4 5 7

5 3 8

6 5 9

7 6 10

8 8 11

9 8 12

10 2 13

11 12 14

1 1

1 1 1 1 1 1 1 1 1

4 4 4 4 4 4 4 4

8 8 8 8

11

2

4 3

5

6 7

8 9 10

11

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 thời gian

i s i f i

vòng lặp for với i = 2 vòng lặp for với i = 3

Trang 4

Correctness của giải thuật greedy cho bài

toán chọn hoạt động

giải tối ưu cho bài toán chọn hoạt động

– Gọi S = {1, 2,…, n} là tập hợp các hoạt động Các

hoạt động được xếp thứ tự theo thời điểm chấm dứt

Do đó hoạt động 1 có thời điểm chấm dứt sớm

nhất

– Ta chứng minh có lời giải tối ưu bắt đầu bằng hoạt động do chọn lựa greedy, tức là bắt đầu bằng hoạt động 1:

• Giả sữ A  S là lời giải tối ưu, ta xếp thứ tự các hoạt động trong A theo thời điểm chấm dứt Giả sữ k là hoạt động đầu tiên trong A.

• Nếu k = 1 thì ta xong Nếu k  1, ta xét B = A  {k} 

– Nếu A là lời giải tối ưu cho bài toán nguyên thủy S, thì A’ = A  {1} là lời giải tối ưu cho bài toán S’ = {i 

S : s i  f1}

Ngày đăng: 25/03/2023, 08:34

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

TÀI LIỆU LIÊN QUAN

w