
榨菜真好吃
30岁面了好几次阿里巴巴都没过,但这并不意味着我应该结束程序员生涯,自己再多学点,学深点,我就是一个优秀的打工人������..大学动态规划挂科边缘飘过不以为然,真是验了书到用时方恨少.
作者回复:学习永远没有迟不迟的,懂得把决心转化成行动就行。
2020-11-05
早起不吃虫
“最重要的其实不是要有梦想,而是把握现实和当下,以梦想为基础,竭尽所能去改善现实。” -- 前面学的再多再好,感觉都不如这句话的价值!感谢老师!
作者回复:顶
2020-12-15

BBQ
感觉作者用心打造的课程,周末把这门课刷了一遍。其实之前也刷了不少的DP,但是最近的面试出了一道稍微变一下的凑硬币问题,就不知所措了。感觉动态规划还是没有学到位,经过周末的天,在作者的引导下,对DP又有了系统性的认识,感谢作者。
作者回复:谢谢,感谢你的肯定!对你有帮助就是我最开心的事情。
2021-03-07

樟树林
老师,关于背包问题哈,背包容量为2,物品个数为3的背包,按照你上述计算得出的结果是3,但实际结果应为6。这个问题,老师能解释一下吗?
作者回复:这个背包内可以容纳的物品只取决于背包的容量和物品的重量,示例数据里背包容量为2的情况下,最优解肯定是3,因为永远只能装下一个物品,这个是不是对问题的理解有什么偏差。
2021-01-20
1

小熊
第二讲暴力递归
要得到整体最优解需要找出所有符合的情况,选出其中一个最优组合,符合整体最优。
全部跑出结果再判断,这会浪费很多空间来存储结果组合
所以在递归过程中,进入最内层返回得到结果时舍弃不符合的,保留更符合的,直到退回递归的顶层,就可以得到唯一的结果。
递归的方法是为了保存之前的状态,回退时使用,这其实就是栈的数据结构,可以改为非递归的方式。
使用递归,失败了可以回退,这种回退找正确答案的思路就是回溯,每次都找到树型结构的底部就叫深度优先的思路。
这种全部结果都遍历出来,取最优解的做法是暴力递归,性能差难以调试,效率低,可读性差,可以使用剪枝优化。
贪心算法是动态规划的源头,但是他局限于求局部最优解,但是用到暴力递归里,就可以达到剪枝的效果。
第二种优化策略,重叠子问题,余额相同的时候搜索路径是完全一致。所以可以把大问题拆分为小问题,这就是备忘录和动态规划的基础。
作者回复:理解没有问题。
2021-01-20
4

子夜2104
之前对贪心算法的理解是:因为总是局部最优,所以不能用来解决实际问题。学完了这一节,明白了贪心算法的局限性及其应用场景。
作者回复:嗯嗯,你的理解是正确的。贪心算法的局限性体现在它在每一步计算中只考虑局部最优解,这导致了它的局限性。对于需要考虑整体最优的问题,我们需要别的方法。
后面的课程就会提到穷举、回溯以及动态规划。
2020-09-15
1

梅亮宏@创造力
老师说的很生动!用递归加局部最优的方法一定能得到正解。但是如果问题变得更加复杂的情况下,例如我们有1亿中硬币可以用,总币值为几万亿。可能还需要优化一下算法性能或者用分布式计算把性能提高?
这让我想到了ai中的reinforcement learning。个人认为有些偏全局优化?就如alphaGo,每一步棋都需要以整个棋局为出发点考虑。有点像老师这个算法里面的递归,即每尝试走一步的时候都会记录状态,用树状结构罗列所有可能性然后回溯。通过神经网络来的weight值估算是不是应该回溯。另外即使找到最优解了,还可以设置exploit更多最优的可能。纯个人理解,有点发散,希望老师指正!
作者回复:没错,寻找最优解的时候,本质上还是需要进行枚举(穷举),因此优化算法性能是最重要的第一步,如果使用了动态规划,就可以大幅压缩计算时间,在此基础上,如果性能仍不满意(即数据规模实在太巨大),那么则可以考虑使用工程化的方法,比如你提到的分布式计算来提高计算性能。
AI 中的强化学习,本质上它的目的是寻找全局最优解。但是,我们最终能找的只是一定范围内的局部最优解,使得这个局部最优解在一定条件下,最接近我们期望的全局最优解。这个发散点很好,算法发展到一定高度就会进入机器学习领域,无论如何,基本的算法思路其实没有本质差别。
2020-09-15
10

托尼斯威特
原来如此,用搜索解这个题,可以带上贪心的思路
作者回复:贪心算法只是在一定条件下,希望能加快搜索的速度。但是,往往在大多数情况下,都不满足这种条件。因此,贪心很难直接得到整体最优解。
贪心算法的本质决定了它能解决问题的范围和高度。如果不辅以别的工具函数或算法,它关注的是局部最优解。
2020-09-15
1

山茶花
最近刚好遇到一个动态规划问题,极客时间就出了这门课,希望学完能解答自己的疑惑
作者回复:欢迎进入动态规划世界,一起学习,进步。
2020-09-15
3

al-byte
处理动态规划类问题就像解一个puzzle
作者回复:事实上,动态规划是模板届的典范,解决它的方法是有规可循的。而且,我们能够提炼归纳出动态规划的题型,并根据其特点提供解题框架(模板,或者说套路)。
跟着课程学习,你就能获得这些工具和经验总结,所以动态规划也没有想象中那么难。期待着这门课能够让你掌握动归的要领,看到相关问题就有思路。
2020-09-15
7

编辑推荐

讲师的其他课程

看过的人还看了





