动态规划

✍ dations ◷ 2024-07-07 20:53:54 #动态规划
动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构(英语:Optimal substructure)性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划保存递归时的结果,因而不会在解决同样的问题时花费时间。动态规划只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。背包问题作为NP完全问题,暂时不存在多项式时间算法。动态规划属于背包问题求解最优解的可行方法之一。此外,求解背包问题最优解还有搜索法等,近似解还有贪心法等,分数背包问题有最优贪心解等。 背包问题具有最优子结构和重叠子问题。动态规划一般用于求解背包问题中的整数背包问题(即每种物品所选的个数必须是整数)。 解整数背包问题: 设有 n {displaystyle n} 件物品,每件价值记为 P i {displaystyle P_{i}} ,每件体积记为 V i {displaystyle V_{i}} ,用一个最大容积为 V max {displaystyle V_{text{max}}} 的背包,求装入物品的最大价值。 用一个数组 f [ i , v ] {displaystyle f} 表示取 i {displaystyle i} 件商品填充一个容积为v的背包的最大价值,显然问题的解就是 f [ n , V max ] {displaystyle f} 。f [ i , v ] = { f [ i − 1 , v ] , v < V i max { f [ i − 1 , v ] , f [ i − 1 , v − V i ] + P i } , v ≥ V i 0 , i v = 0 {displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}对于特例01背包问题(即每件物品最多放1件,否则不放入)的问题,状态转移方程:f [ i , v ] = { f [ i − 1 , v ] , v < V i max { f [ i − 1 , v ] , f [ i − 1 , v − V i ] + P i } , v ≥ V i 0 , i v = 0 {displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}参考Pascal代码参考C++代码(不含include和数组声明)

相关

  • 肝豆状核变性肝豆状核变性(英语:hepatolenticular degeneration),亦称威尔森氏症(英语:Wilson's Disease),是一种遗传性疾病,患者的体内会积聚铜。典型的症状都跟脑部和肝脏有关,肝脏相关症状有呕
  • 洛杉矶坐标:34°N 118°W / 34°N 118°W / 34; -118洛杉矶都会区,又称南部地区(Southland),为世界第18大都会区,为美国第二大城市群。洛杉矶都会区位于加利福尼亚州南部。以下列出为美
  • 文京区文京区(日语:文京区/ぶんきょうく Bunkyō ku */?)是日本东京都的23个特别区之一,划分上属于23区西部,实际位于中央偏北的位置,现任区长是成泽广修。文京区的面积11.31平方千米,在
  • 拟声词拟声词(onomatopoeia)也称为象声词、摹声词、状声词。它是摹拟事物的声音的一种词汇。在汉语里,它只是汉字当成“音标”符号,用来表音,而和字义无关。象声词可以描绘物体的声音,如
  • 医学工程人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学生物医学工程(Biomedical engineering)
  • 语言发展迟缓语言发育迟缓是指儿童语言发展的能力比同龄儿童水平低,或以较长时间在达到同样的语言能力。和语音发育迟缓不同,语言发育迟缓不包括发音的问题,而专指理解和运用语言的能力。即
  • 美国儿科学会美国儿科学会(英语:American Academy of Pediatrics,簡稱AAP)是美国的儿科研究学会,总部位于伊利诺伊州埃尔克格罗夫村(英语:Elk Grove Village),并在华盛顿特区设有办公室。该学会由
  • 加拿大航天局加拿大航天局(英语:Canadian Space Agency,CSA,法语:Agence spatiale canadienne,ASC)该组织是由加拿大工业部管理,成立于1989年,总部在魁北克省蒙特利尔。组织的目标是成为开发和利
  • 小说小说是文学的一种样式,一般描写人物故事,塑造多种多样的人物形象,但亦有例外。它是拥有不完整布局、发展及主题的文学作品。而对话是不是具有鲜明的个性,每个人物说的没有独特的
  • 恐头兽亚目恐头兽亚目(学名:Dinocephalia)是个大型早期兽孔目演化支,繁盛于二叠纪的瓜德鲁普世,但之后灭绝而且没有留下任何后代。除了巴莫鳄亚目与始巨鳄科以外,恐头兽类是兽孔目中最原始的