首页 >资讯 > 正文

【技术积累】算法中的动态规划【二】 环球播资讯

2023-06-09 16:24:49
动态规划的优缺点是什么?

动态规划的优点是:


(资料图片)

可以解决一些复杂的问题,例如背包问题、最长公共子序列问题等;可以通过记忆化搜索来避免重复计算,提高效率;可以通过状态转移方程来简化问题,使问题更易于理解和解决;可以处理连续的问题,例如最大子段和问题。

动态规划的缺点是:

对于某些问题,动态规划的时间和空间复杂度非常高,难以处理大规模的问题;动态规划需要构建状态转移方程,需要一定的数学能力和思维能力;动态规划无法处理一些特殊的问题,例如NP完全问题。动态规划和递归的区别?

动态规划和递归的区别在于它们解决问题的方式。

递归是一种自上而下的解决问题的方法,它将问题分解成更小的子问题,并通过递归调用自身来解决这些子问题。

动态规划则是一种自下而上的解决问题的方法,它从最小的子问题开始解决,然后通过计算子问题的解来逐步解决更大的问题。

动态规划通常会使用一个表格来存储子问题的解,以避免重复计算。

因此,虽然递归和动态规划都可以解决相同的问题,但它们的解决方式不同,动态规划通常比递归更高效。

什么是最优子结构?为什么它对动态规划很重要?

最优子结构是指问题的最优解包含其子问题的最优解。

也就是说,如果我们能够通过求解子问题的最优解来得到原问题的最优解,那么这个问题就具有最优子结构性质。

最优子结构对于动态规划非常重要,因为它使得我们可以通过解决子问题来求解原问题,从而将原问题分解成更小的子问题。

这种分解问题的方式使得动态规划可以高效地解决大规模的问题。

同时,最优子结构还可以帮助我们设计状态转移方程,以便我们能够通过子问题的解来计算原问题的解。

因此,最优子结构是动态规划的一个重要概念,它使得我们能够高效地解决许多复杂的问题。

什么是重叠子问题?如何避免它们?

重叠子问题是指在解决一个问题的过程中,需要多次求解同一个子问题。这种重复计算会浪费计算资源,导致算法效率降低。

动态规划通过记忆化搜索来避免重叠子问题。

在动态规划中,我们通常会使用一个表格来存储子问题的解,以便在需要时可以直接查找,避免重复计算。

具体来说,当我们需要解决一个子问题时,我们首先检查表格中是否已经有了这个子问题的解,如果有,我们就直接返回表格中的解。

如果没有,我们就计算这个子问题的解,并将其存储到表格中。

这样,当我们需要解决同一个子问题时,就可以直接从表格中查找,避免重复计算,提高算法效率。

什么是记忆化搜索?它如何与动态规划相关?

记忆化搜索是一种优化搜索算法的方式,它通过记忆已经计算过的结果来避免重复计算。

在记忆化搜索中,我们通常会使用一个表格来存储已经计算过的结果,以便在需要时可以直接查找,避免重复计算。

记忆化搜索通常用于解决递归问题,例如斐波那契数列等。

动态规划实际上就是一种记忆化搜索的方法,它通过使用一个表格来存储子问题的解,避免了重复计算。

动态规划通常用于解决具有最优子结构的问题,例如背包问题、最长公共子序列问题等。

因此,记忆化搜索和动态规划在本质上是相同的,都是通过记忆已经计算过的结果来避免重复计算,提高算法效率。

什么是状态转移方程?如何构建它们?

状态转移方程是动态规划中的一个重要概念,它描述了如何通过子问题的解来计算原问题的解。通常情况下,状态转移方程可以通过以下步骤来构建:

定义状态:首先需要定义状态,也就是问题的子问题的解。状态应该尽量简单,以便于计算。定义状态转移方程:接下来需要定义状态转移方程,也就是描述如何通过子问题的解来计算原问题的解。状态转移方程应该尽量简单,以便于计算,并且应该具有最优子结构性质。初始化状态:在动态规划中,通常需要初始化一些状态,以便于计算后续的状态。初始化状态应该尽量简单,以便于计算。计算状态:最后需要计算状态,也就是根据状态转移方程计算出原问题的解。在计算状态时,应该遵循从小到大的顺序,以便于使用已经计算过的状态来计算后续的状态。

总之,状态转移方程是动态规划中的一个重要概念,它描述了如何通过子问题的解来计算原问题的解。构建状态转移方程的关键在于定义状态和状态转移方程,以及初始化状态和计算状态。

动态规划解决博弈论问题?

博弈论问题是指在多个参与者之间进行决策的情况下,如何制定最佳策略的问题。

在动态规划中,我们通常会使用一个表格来存储子问题的解,以便在需要时可以直接查找,避免重复计算。

下面我们以经典的石子游戏问题为例,说明如何用动态规划解决博弈论问题。

有一堆石子,两个玩家轮流取走石子,每次可以取走1个、2个或3个石子,取走最后一个石子的玩家获胜。假设两个玩家都采取最优策略,问先手玩家是否必胜?

定义状态:设f[i]表示还剩下i个石子时,先手玩家是否必胜。定义状态转移方程:当还剩下i个石子时,先手玩家可以取走1个、2个或3个石子,然后变成后手玩家,后手玩家也可以取走1个、2个或3个石子,然后变成先手玩家。因此,当先手玩家取走k个石子时,状态方程为f[i] = !f[i-k](1<=k<=3)。也就是说,当先手玩家取走k个石子时,如果后手玩家在剩下的i-k个石子中必败,则先手玩家必胜,否则先手玩家必败。初始化状态:f[0] = false,表示没有石子时先手玩家必败。计算状态:根据状态转移方程,从小到大计算f[i]的值,最终得到f[n]的值,表示还剩下n个石子时,先手玩家是否必胜。
stone_game(n):    f = [False] * (n+1)    f[0] = False    for i in range(1, n+1):        for k in range(1, 4):            if i >= k and not f[i-k]:                f[i] = True                break    return f[n]

以上就是用动态规划解决博弈论问题的一个例子,通过定义状态、状态转移方程、初始化状态和计算状态,我们可以解决多种博弈论问题。

动态规划解决最大二分配问题?

最大二分匹配问题是指在一个二分图中,找到最大的匹配数,即在图中找到最多的不相交的边数。

下面以一个简单的例子来说明如何用动态规划解决最大二分匹配问题。

有一个二分图,其中左侧有n个节点,右侧有m个节点,二分图中存在一些边连接左侧和右侧的节点,找出最大的匹配数。

定义状态:设f[i][j]表示左侧的前i个节点和右侧的前j个节点之间的最大匹配数。定义状态转移方程:当考虑节点i和节点j之间的匹配时,有两种情况:节点i和节点j不匹配,此时f[i][j] = f[i][j-1],即只考虑左侧的前i个节点和右侧的前j-1个节点之间的最大匹配数。节点i和节点j匹配,此时f[i][j] = f[i-1][j-1] + 1,即左侧的前i-1个节点和右侧的前j-1个节点之间的最大匹配数再加上节点i和节点j之间的一条边。初始化状态:f[0][0] = 0,表示左侧和右侧都没有节点时,匹配数为0。计算状态:根据状态转移方程,从小到大计算f[i][j]的值,最终得到f[n][m]的值,表示左侧的前n个节点和右侧的前m个节点之间的最大匹配数。
max_bipartite_matching(n, m, edges):    f = [[0] * (m+1) for _ in range(n+1)]    for i in range(1, n+1):        for j in range(1, m+1):            if (i-1, j-1) in edges:                f[i][j] = f[i-1][j-1] + 1            else:                f[i][j] = max(f[i][j-1], f[i-1][j])    return f[n][m]

以上就是用动态规划解决最大二分匹配问题的一个例子,通过定义状态、状态转移方程、初始化状态和计算状态,我们可以解决多种最大二分匹配问题。

动态规划解决字符串匹配问题?

字符串匹配问题是指在一个字符串中查找另一个字符串的位置。

下面以一个简单的例子来说明如何用动态规划解决字符串匹配问题。

给定两个字符串s和t,判断s中是否包含t。

定义状态:设f[i][j]表示字符串s的前i个字符和字符串t的前j个字符是否匹配。定义状态转移方程:当考虑字符s[i]和字符t[j]时,有两种情况:字符s[i]和字符t[j]不匹配,此时f[i][j] = False。字符s[i]和字符t[j]匹配,此时f[i][j] = f[i-1][j-1],即字符串s的前i-1个字符和字符串t的前j-1个字符是否匹配。初始化状态:f[0][0] = True,表示两个空字符串是匹配的。计算状态:根据状态转移方程,从小到大计算f[i][j]的值,最终得到f[m][n]的值,表示字符串s中是否包含字符串t。
string_matching(s, t):    m, n = len(s), len(t)    f = [[False] * (n+1) for _ in range(m+1)]    f[0][0] = True    for i in range(1, m+1):        for j in range(1, n+1):            if s[i-1] == t[j-1]:                f[i][j] = f[i-1][j-1]            else:                f[i][j] = False    return f[m][n]

以上就是用动态规划解决字符串匹配问题的一个例子,通过定义状态、状态转移方程、初始化状态和计算状态,我们可以解决多种字符串匹配问题。

动态规划解决序列模式匹配问题?

最大独立集问题是指在一个无向图中,找到一个最大的独立顶点集合,使得这些顶点之间没有边相连。动态规划是解决最大独立集问题的一种常用方法。下面

给定一个无向图G=(V,E),求出最大的独立顶点集合。

定义状态:设f[i]表示以顶点i为结尾的最大独立集大小。定义状态转移方程:当考虑顶点i时,有两种情况:顶点i不在最大独立集中,此时f[i] = f[i-1]顶点i在最大独立集中,此时f[i] = f[i-2] + w[i],其中w[i]表示顶点i的权值。因为如果顶点i在最大独立集中,那么顶点i-1一定不在最大独立集中,所以f[i] = f[i-2] + w[i]。初始化状态:f[0] = 0,f[1] = w[1]。计算状态:根据状态转移方程,从小到大计算f[i]的值,最终得到最大的独立集大小为max(f[i])。
max_independent_set(w):    n = len(w)    f = [0] * (n+1)    f[1] = w[0]    for i in range(2, n+1):        f[i] = max(f[i-1], f[i-2] + w[i-1])    return f[n]

以上就是用动态规划解决最大独立集问题的一个例子,通过定义状态、状态转移方程、初始化状态和计算状态,我们可以解决多种最大独立集问题。

上一篇:飞剑问道搜狗百科 飞剑问道360百科 下一篇:最后一页
x
推荐阅读

【技术积累】算法中的动态规划【二】 环球播资讯

2023-06-09

飞剑问道搜狗百科 飞剑问道360百科

2023-06-09

SMM分析:氧化铝行业知识科普系列四:氧化铝期货上市基本信息汇总

2023-06-09

天天即时看!百亿羊奶赛道内卷加速 佳贝艾特推出首款免疫营养新品

2023-06-09

天风证券:顺价工作稳步推进 看好城燃企业盈利修复 即时看

2023-06-09

万圣节快乐英语怎么说 天天观热点

2023-06-09

世界观天下!护航高考!宝安区城管局全力维护考场周边市容秩序

2023-06-09

北京市通信管理局就网络安全问题约谈瑞斯康达

2023-06-09

2023年06月09日全国外三元生猪价格行情涨跌表 即时

2023-06-09

搜狐汽车全球快讯 | 广汽集团:5月汽车销量209606辆 同比增长14.50%_天天信息

2023-06-09

羚羊挂角 不落窠臼_羚羊挂角是什么意思

2023-06-09

实时:布斯克茨即将加盟迈阿密国际,牵手梅西一同征战美职联

2023-06-09

奥特维(688516):签订4.8亿元订单 单晶炉业务有望成为第二增长点

2023-06-09

兆易创新(603986):6月8日北向资金增持10.28万股 环球观天下

2023-06-09

全球讯息:英国一年制研究生的含金量高不高?

2023-06-09

上海梅林:6月8日融资买入1812.64万元,融资融券余额4.81亿元

2023-06-09

冀光恒将全面负责平安银行各条线业务 包括零售条线

2023-06-09

前海与创投碰撞,深港合作热土激荡合作共赢强音

2023-06-09

【世界聚看点】专家初步判断:津南区八里台镇局部地面沉降属于突发地质灾害

2023-06-09

海尔智家(06690)6月8日回购52万股H股及61万股A股-天天讯息

2023-06-09

全球新消息丨一汽奔腾NAT续航达成率97.85%,青岛网约车司机都在夸

2023-06-09

南方出版传媒首席信息官孙波:用技术和想象力做乘法,勇敢拥抱新变革

2023-06-09

中工漫评丨线上线下同台竞技,共赴数字之约|消息

2023-06-09

每日速看!中方:美国内芬太尼危机根源在自身,要做的是反躬自省

2023-06-09

【时快讯】文圣指的是哪位圣人_文圣指的是哪个圣人

2023-06-09

焦点简讯:央行连续7个月 加仓 机构称当前黄金站在十年牛市起点

2023-06-09

地铁十八号线后通段首条盾构隧道顺利贯通

2023-06-09

全球快报:淮北市刘桥矿小学乡村少年宫(关于淮北市刘桥矿小学乡村少年宫介绍)

2023-06-09

凯尔特人试训NCAA总冠军成员,他正是球队急需的团队型球员?

2023-06-09

环球报道:水润沃野保粮丰——我国夯实夏粮丰收水利根基

2023-06-09

热推荐:软硬协同,全栈自主:华为云GaussDB二十年磨一剑

2023-06-09

什么素材发抖音可以上热门_什么是CF代码卡枪

2023-06-09

今日热议:安信尊享添益债基个人投资者限购

2023-06-09

阿坝经信局:凝心聚力打赢高考“保电战”_焦点观察

2023-06-09

今日热搜:罗汉果花的功效与作用_吃了之后有什么好处

2023-06-08

今头条!中专和职高有什么区别 区别有哪些

2023-06-08

第四家外商独资公募施罗德基金正式揭牌

2023-06-08

快报:北交所上市公司阵营扩至200家,高质量建设一揽子举措在路上

2023-06-08

被车追尾了怎么处理 天天观点

2023-06-08

环球热消息:北京市2023年6月8日19时00分解除大风蓝色预警信号

2023-06-08

儋州资规局开展严守森林资源底线活动|观察

2023-06-08

聚生态之力 创产业发展 北京银行第二届生态伙伴大会成功举办_环球关注

2023-06-08

武汉轨道交通赵家条配套综合项目幕墙施工过半

2023-06-08

观天下!“十项行动”见行见效|揭榜挂帅,专攻核心技术!这个实验室即将投用

2023-06-08

世界微动态丨首届文化强国建设高峰论坛召开 AI助力影视业发展 影视制作行业发展现状及未来发展方向分析

2023-06-08

三亚机场今年旅客吞吐量破千万 达历史同期最高水平 全球速看

2023-06-08

每日速递:lotnumber是什么意思中文 lotnumber

2023-06-08

资讯:“资助”3000收回2800,怎样识破短视频里的假慈善

2023-06-08

国产SSD价格竞争激烈 三星开始涨价应对

2023-06-08

环球动态:拉莫斯球衣几号?拉莫斯在皇马穿几号?

2023-06-08

中国42名骑友赴蒙古国赏美景尝美食

2023-06-08

微动态丨台达新一代激光位移传感器 助力快速实现精密测量

2023-06-08

端午首日火车票今日开售,青岛-南京、青岛-苏州等多趟班次已售罄|全球聚焦

2023-06-08

全球新消息丨MSI MAG 275CQRF-QD:全新 1000R 曲面游戏显示器预览 1440p 和 170 Hz 视觉效果

2023-06-08

天天热文:上海保交所赵雷:再保险“国际板”助力中国金融机构拓展海外市场

2023-06-08

6步!汉川城管全力护航高考!

2023-06-08

央行易纲:持续推动中欧绿色金融标准的趋同 趋同率达到80%

2023-06-08

微速讯:安卓14 Beta 3发布:终于流畅稳定了

2023-06-08

《关于加快推进上海国际再保险中心建设的实施细则》正式发布-全球聚看点

2023-06-08

我读柏叶的诗

2023-06-08

太平财富安赢年金保险怎么领钱?到期满可以领多少钱?-环球热门

2023-06-08

《蜘蛛侠:纵横宇宙》朋克蜘蛛侠人气C位重磅来袭 当前观点

2023-06-08

6月8日生意社硫酸钾基准价为3466.67元/吨

2023-06-08

当前播报:若你安好便是晴天电视剧_若你安好便是晴天 2021年黄天仁执导的电视剧

2023-06-08

青州“3+2+3”模式保障食品安全

2023-06-08

城市传媒:公司加快对AI领域重大技术突破的引入和应用,日前初步完成服务出版行业的专业大模型“万象”测试版开发,面向内部开启辅助专业图片生成等编发测试工作|热消息

2023-06-08

江苏吴中(600200.SH):响水恒利达收到退出补偿款1350万元|全球快资讯

2023-06-08

胃镜检查是糜烂性胃炎,

2023-06-08

克扣供应商10%货款?长安汽车:不实 已报案

2023-06-08

2024款雪佛兰探界者EV在墨西哥投产 有望今年秋季上市 当前热门

2023-06-08

音舞艺考考什么时候蹈试间查询蹈生的

2023-06-08

中信保诚基金:3200点,你可以更乐观一点

2023-06-08

今日精选:「基层工作者」洛江区双阳街道:以真心真情服务民情

2023-06-08

天天即时看!将淖铁路建设进入通车冲刺阶段

2023-06-08

丰原药业:公司没有治疗猴痘病毒的药品

2023-06-08

当前热门:中国长城收年报问询函 要求说明业绩对政府补助是否存在重大依赖

2023-06-08

不懂就要问这篇课文告诉我们什么道理 每日资讯

2023-06-08

要闻速递:芒种时节 天津乡间麦地金黄一片

2023-06-08

23安徽债60今日发布发行公告

2023-06-08

【全球报资讯】商誉超14亿未计提,去年现金流大波动,“国产机器人龙头”埃斯顿年报遭问询

2023-06-08

当前要闻:中国5月外汇储备31765.1亿美元 连续第7个月增加黄金储备

2023-06-08

2012年以来首次下跌!英国5月Halifax房价同比下降1%_全球热头条

2023-06-08

天天微头条丨试驾海鸥真实感受:底盘扎实,动力够用,极夜黑加深海蓝好看

2023-06-08

2499元起 荣耀90系列首销:全系2亿像素写真相机 天天热门

2023-06-08

2023父亲节手抄报内容资料

2023-06-08

金至尊今天黄金价格多少一克(2023年6月7日)

2023-06-08

国金证券:能拿好地且快速去化的房企更加受益

2023-06-08

月壤主要成分_月壤成分

2023-06-08

资讯推荐:3部作品获第十三届中国舞蹈“荷花奖”古典舞奖

2023-06-08

海联金汇:联动优势数字科技控股有限公司暂未开展业务

2023-06-08

鼎信通讯发布重大经营合同中标相关公告 天天观热点

2023-06-08

芒种时节 天津乡间麦地金黄一片 天天报道

2023-06-08

吉尔吉斯斯坦安全部门拘留30余名组织骚乱嫌疑人_全球观察

2023-06-08

嗯什么是人身自由的前提_什么是人身自由的前提_当前速讯

2023-06-08

【天天报资讯】百事可乐配料表_百事可乐

2023-06-08

天天快资讯丨塞尔达传说王国之泪你是萨派还是科派任务怎么做[多图]

2023-06-08

中华武数·潮涌科创|普陀推出“元”上新基建,为上海打造元宇宙超级场景筑牢技术底座-全球播报

2023-06-08

联通有编制和没编制的区别_有编制和没编制的区别 天天报资讯

2023-06-07

世界最资讯丨中国东航:8月旅客周转量同比上升62.14%

2023-06-07

初中女厕精品视频网站(0女厕大小便)_当前热门

2023-06-07