![2d6531d67e02b868f3b7d97594a2239d.png](https://i-blog.csdnimg.cn/blog_migrate/2e44d3adb0b0fde738d527918ccd2c34.jpeg)
什么是0-1背包问题?
0-1背包问题是这样的一个问题,假设有一个背包,其容量为
用人话来说就是,我要找到一个物品的组合,使得它们的重量小于等于最大容量,并且其价值最大。
什么是动态规划?
动态规划是运筹学里的一个概念,它适用于寻找多决策问题的最优解。因为各阶段的决策相互关联,所以要找到整体最优的策略,而不是某个阶段“局部”的效果最优。
动态规划适用于什么情况?
动态规划能解决的问题是无后效性的问题(也称马尔科夫性问题)。所谓无后效性指系统到达某个状态前的过程的决策将不影响到该状态以后的决策。[指系统从某个阶段往后的发展,仅由本阶段所处的状态及其往后的决策所决定,与系统以前经历的状态和决策(历史)无关。过程的过去历史只能通过当前的状态去影响它未来的发展]。
也就是说,动态规划每一个阶段选择的决策,是不会影响到过去已经做过的决策的。只有这种问题,才可以用动态规划算法求解。
为什么0-1背包问题可以用动态规划?
因为我们解决0-1背包问题的时候,假设我们不会为了拿当前想拿的物品,而把之前已经装进背包里的物体扔掉。也就满足无后效性了。
说了那么多,我都困了。
看完再睡哈,接下来就用一个例子,讲述0-1背包问题的解。
我们假设背包的
假设一个物体空间