- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KnapsackProblem(背包問題)
Algorithms (Dr. Shi-Jay Chen, National United University) Knapsack Problem (背包問題) 指導教授:巫沛倉 博士 學生:宋明賢 The Knapsack Problem (背包問題) Def: 所謂Knapsack Problem,是指有N個物品和一個背包,其中: 物品具有重量 (w1, w2, …, wn) 和利潤 (p1, p2, …, pn) 背包的最大重量承受限制為W 問如何取物可得最高價值? 此問題可以表示如下: Knapsack Problem問題型態 Knapsack Problem可分成兩種問題型態: Fractional Knapsack Problem: 物品可被切割,亦即取物時可取部份 採用貪婪法則(Greedy Approach) 0/1 Knapsack Problem: 物品不可被切割,亦即取物時得取全部 採用動態規劃(Dynamic Programming) Greedy Approach v.s. Dynamic Programming 對於具有限制的最佳化問題,可以採用 “貪婪法則” 或 “動態規劃” 來設計演算法則。 所謂具有限制條件的最佳化問題,是指可以將這一個問題表示成為具有一個目標函數 (Objective Function)與一些限制函數 (Constraint Function;或稱限制條件)的式子。 對於求解具有限制條件的最佳化問題時所得到的不同答案類型而言: 符合限制函數 (條件) 的所有答案,一般通稱為可行解 (Feasible Solution) 但是在這一群可行解中,如果能夠讓目標函數最佳化,則這一個可行解就稱為最佳解 (Optimal Solution) Greedy Approach v.s. Dynamic Programming Greedy Approach 是一種階段性 (Stage) 的方法 具有一選擇程序 (Selection Procedure),自某起始點(值) 開始,在每一個階段逐一檢查每一個輸入是否適合加入答案中,重複經過多個階段後,即可順利獲得最佳解 一個選擇程序正確與否,會影響貪婪法則所設計出之演算法在執行過後的答案是否為最佳答案。 較為簡單 如果所要處理的最佳化問題無法找到一個選擇程序,則需要考慮所有的可能情況,就是屬於Dynamic Programming Greedy Approach v.s. Dynamic Programming Dynamic Programming 先把所有的情況都看過一遍,才去挑出最佳的結果 考慮問題所有可能的情況,將最佳化問題的目標函數表示成一個遞迴關係式,結合Table的使用以找出最佳解 範例 -以下列範例說明上述兩種類型的背包問題: 背包可承擔的最大重量: 30 lb(磅) 三個物品之重量及其利潤: Item 1: 5 lb, $50 Item 2: 10 lb, $60 Item 3: 20 lb, $140 Fractional Knapsack Problem 物品可被切割,亦即取物時可取部份 採用Greedy Approach,因此需設定「選擇程序」。 由於物品放入背包可以獲得利潤,但是也同時會增加重量,所以共有三種可供使用的選擇程序,分別是: 利潤: 採用最大利潤優先的選擇程序。自利潤最大之物品依序取物,直到物品拿完或負重 = W為止,就可以得到一個可行解 重量: 採用最小重量優先的選擇程序。自重量最小之物品依序取物,直到物品拿完或負重 = W為止,就可以得到一個可行解 利潤與重量比: 採用最大利潤與重量比的選擇程序。自利潤與重量比最大之物品依序取物,直到物品拿完或負重 = W為止,就可以得到一個可行解 以上三種選擇程序,只有利潤與重量比可以得到一個最佳解,其餘兩個只能得到可行解 因此,貪婪法則的選擇程序適題與否,對於是否可以得到一個問題之最佳解具有決定性的影響 最大利潤優先 根據題目定義,我們可以得到下列表格: 選擇程序採 “最大利潤優先”: Step 1: 取 20 bl的Item 1,可得利潤為 $140,背包剩餘重量: 10 bl Step 2: 取10 bl的Item 2,連同Step 1所取之20 bl的Item 1,可得總利潤為 $200,背包剩餘重量: 0 bl Step 3: 因為背包已無剩餘重量,故完全無法取得Item 3 所得總利潤 = $200 最小重量優先 最大利潤與重量比 0/1 Knapsack Problem 物品不可被切割,亦即取物時得取全部 若仍採用Greedy Approach,選擇程序為 “最大利潤與重量比”: Step 1: 取 5 bl的Item
您可能关注的文档
- 8、扬州漆器髹饰技艺非遗资源共享平台建设.ppt
- AMA-Main-2010-04-28-北一女-ForPrint-1.ppt
- B132第3章第2节细胞器---系统内的分工合作.ppt
- B03一个标准的system300配置,包括许多附加的选项System300的.doc
- CEOlife讓人生與專業之間平衡.ppt
- CMOSImageSensor單晶片設計-財團法人自強工業科學基金會.doc
- CH10_調查的執行與管理.ppt.ppt
- CH2.餐旅科技設備-教學資源平台.ppt
- CH2-義守大學公共政策與管理學系.ppt
- CH12_溝通有效地形成共識.ppt.ppt
- 创新初中音乐教学模式,培养学生音乐表现力的实证研究教学研究课题报告.docx
- 基于人工智能的初中数学与物理跨学科教学模式创新教学研究课题报告.docx
- 2025年量子计算技术商业应用创新驱动:发展现状与产业变革报告.docx
- 数字化营销助力2025年房地产企业项目推广报告.docx
- 2025年工业互联网平台在传统制造业数字化转型中的应用场景分析与评估报告.docx
- 生态修复微生物技术应用效果评估,2025年生态修复项目技术创新与产业政策影响报告.docx
- 2025年老旧小区改造市场技术创新与产品应用报告.docx
- 2025年新能源汽车分时租赁市场国际化发展策略报告.docx
- 2025年传统制造业数字化转型中工业互联网平台与供应链金融融合分析报告.docx
- 2025年智慧公交系统建设与运营管理变革研究.docx
文档评论(0)