Python中怎么实现动态规划
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,今天就跟大家聊聊有关Python中怎么实现动态规划,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。动态规划动态规划的关键:在于大问题的最优解由对
千家信息网最后更新 2025年12月01日Python中怎么实现动态规划针对博物馆大盗问题,将问题函数化: m(i, w)
今天就跟大家聊聊有关Python中怎么实现动态规划,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
动态规划
动态规划的关键:在于大问题的最优解由对应的更小规模问题的最优解递推而来
i(1<=i<=5):表示前i个宝贝
w(1<=w<=20):重量不超过w
m(i, w) :前i个宝贝总重不超过w的最大价值是多少
函数的意义:前1个宝物重量不超过w的最大价值,前2个宝物重量不超过w的最大价值……前5个宝物重量不超过w的最大价值。问题的规模逐渐增大,从最小规模一直推导到目标规模的最优解
动态规划:从最小规模最优解推导到目标规模问题的最优解
m(i, w)要得到最大价值,那它如何计算呢?
既然规模是从小到大,那么就要讨论第i个宝贝能否加入到上一个规模中
若第i个宝贝太重了加不进去,则m(i, w)=m(i-1, w)
若第i个宝贝可以加进去,则m(i, w)=m(i-1, w-wi)+vi
从上述两个结果中取较大的
算法设计:两重循环,i从1加到5的同时w从1加到20
过程中你会发现后面的m(i, w)可以通过前面已经计算过的结果直接得到


递归解法
递归的方法要显得自然通俗一点
基本结束条件:宝贝为空或背包承重为
递归最大的问题在于会有许多的重复,故需要记录中间结果
规模减小方向:从宝物集合中逐个去掉(偷走)宝物,递归调用
tuple()方法
用于将列表、区间等转换为元组
a = [1, 2]b = {'1':2, '2':3}print(tuple(a))print(tuple(b))(1, 2)('1', '2')看完上述内容,你们对Python中怎么实现动态规划有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
规模
最大
宝贝
问题
动态
规划
价值
宝物
重量
递归
内容
结果
最小
函数
方法
目标
较大
通俗
从小到大
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长岛软件开发哪家好
什么专业可以炒股软件开发
湖南专业网络技术基础
金山区网络营销软件开发哪个好
华为手机互倒微信数据库
app免费服务器
百度网络技术有限公司历史
服务器对外出租空间
长沙网络安全系统公司
网络安全运营中心建设
安徽科技学院互联网加
企业微信服务器异常不能加入群聊
新的软件开发模型
实验四 数据库安全
网络安全法 规定
操作数据库的技术有哪些
科摩多软件开发公司
1 x网络安全运维
服务器切换会话
下列关于网络安全的说法正确的是
数据库实体关系识别
局域网服务器配置与管理教程
湖北创古互联网科技
宁波软件开发有哪些公司
是网络安全的重中之重包括领域
硬件网络安全系数设置
加强维护数据库英语作文
服务器3c认证的海拔多少
杭州恒生软件开发
上海汇九和软件开发公司