分數揹包貪心策略證明

分數揹包介紹

相比於01揹包,分數揹包的每件物品都可以分割,比如重量爲10kg,價值70,那麼可以分割爲**單位重量(1kg)**的,價值爲7的十個物品,這使得我們可以不必拘泥於揹包的容量浪費,因爲不管怎麼搞你都可以把揹包裝滿

很容易想到,因爲物體可以分割爲原子(重量爲1),那麼評判物品的指標自然是【單位重量(1kg)物品的價值】了,這裏用密度來形容這個屬性

貪心策略:儘可能地選擇密度最大的物品

直觀證明:

因爲分割的最小單位是1kg,那麼我們分割之後,可以得到若干個重量爲1的物品,而這些物品的價格不盡相同,這就把問題轉變爲01揹包了,只是我們不再用容量制約物品的選擇,比如揹包容量10kg,那麼告訴我們只用選10個【原子物品】即可,沒有制約,隨便選,直觀地來講肯定選最值錢的啊,所以“證明”完成了

正經證明

  • 已知貪心策略是 “選密度最大的” 物品,假設密度最大的物品爲 o
  • 假設用別的策略得到最優解A,即不選密度最大的,那麼答案A不會包含 o 物品
  • 而我們可以適當地用 o 物品的一個原子,替換答案A中任意原子物品,得到的解都比A大
  • 這與A是最優解矛盾,變相說明了最優解一定含有密度最大的物品,而且說明不存在一種策略,不選密度最大的,而得到最大的價值
  • 那麼說明【選密度最大的】策略,因爲沒有一種策略能比他大,所以是最大的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章