Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Bài toán cái túi trong Pascal
MIỄN PHÍ
Số trang
4
Kích thước
74.3 KB
Định dạng
PDF
Lượt xem
995

Bài toán cái túi trong Pascal

Nội dung xem thử

Mô tả chi tiết

Bài toán cái túi

Võ Khắc Huấn

Bài toán: Cho một tập hữu hạn U = {ui; i =1..n} mỗi phần tử ui U có kích cỡ S(ui) và

số tự nhiênB.

Liệucó một tập con U' U sao cho S(ui)= B. Trong đó: ui U'.

Đểminh hoạ cho bài toán, chúng ta lấy ví dụ sau: giả sử tập u có 4 phần tử {u1,u2, u3, u4},

kích cỡ lần lượt là S(u1)= 1, S(u2) = 5, S(u3) = 2, S(u4 ) = 3 và B = 3.Bạn dễ dàng thấy rằng

có hai phương án:

+ U1' = {u1, u3}vì S(u1)+ S(u3) = 3

+ U2' = {u4}vì S (u4 ) = 3

Đôikhi, tập U' được biểu diễn như là dãy có thứ tự các số nhị phân, phần tử là 1 -nếu nó

thuộc U', hoặc 0 - nếu ngược lại là không thuộc. Như ví dụ trên ta có:

+ U1' = {u1, u3} (1, 0, 1, 0)

+ U2' = {u4} (0, 0, 0, 1)

Knapsackthuộc lớp bài toán NPC (không đa thức). Nghĩa là, nói chung không có thuật

toánhữu hiệu nào để giải nó cho trường hợp bất kỳ. Điều này không có nghĩa là tấtcả các

trường hợp đều có cùng độ phức tạp. Chúng ta phát biểu lại bài toán dướidạng có thể giải

được bằng thuật toán có thời gian tuyến tính. Và gọi nó là bàitoán Knapsack dễ.

Bài toán EKN:Cho n đồ vật, có khối lượng lần lượt là S1, S2,..., Snsao cho:

vàmột cái ba lô có sức chứa B.

Câuhỏi đặt ra là liệu có cách nào để bỏ vào ba lô một số vật để tổng khối lượngcủa chúng

bằng B? Chúng ta minh hoạ bằng hai phương pháp sau:

Chon = 6, B = 45

Tải ngay đi em, còn do dự, trời tối mất!