- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
利用动态规划算法求解最长公共子序列问题研究
目录
TOC\o1-3\u摘要 1
引言 2
1.最长公共子序列 3
1.1基本概念 3
1.2蛮力法求解最长公共子序列问题 3
2.动态规划算法 6
2.1动态规划算法中的几个基本概念 6
2.2动态规划算法的基本思想 6
2.3动态规划算法的基本要素 7
2.4动态规划算法的适用条件和一般步骤 7
2.4.1适用条件 7
2.4.2一般步骤 7
3.利用动态规划算法求解最长公共子序列问题 8
3.1动态规划算法求解最长公共子序列问题 8
3.1.1最长公共子序列问题的特征分析 8
3.1.2递归定义最优值 9
3.1.3计算最长公共子序列的长度 10
3.1.4构造LCS 12
3.2蛮力法与动态规划算法比较分析 15
结束语 17
参考文献 18
PAGE6
摘要:动态规划算法通常应用于研究和解决那些在过程中具有特定的最优化和特殊性质的问题.它的基本设计思想是把要解决的问题分成许多的子问题,然后先对分出来的子问题求解,得到了这些子问题的解后就可以根据他们的解来找到原问题的解.并且这些分出来的子问题相互之间并不是独立的,通常要采用动态规划算法来求得.本文首先介绍最长公共子序列和动态规划算法的相关概念,包括最优化原理、重叠子问题等.然后结合具体例子了解如何运用动态规划算法来求解最长公共子序列问题,并从中发现利用动态规划算法的优势,包括有效地解决冗余、节省时间等.
关键词:动态规划算法;子问题;最长公共子序列;重叠子问题
引言
动态规划是一种用于设计算法的方法,可用于优化决策过程.它也是使求解决策过程中实现最优化的一种数学方法.在20世纪中叶,数学家们提出了有名的最优化原理,以多方面深入地研究多阶段决策问题.最优化原理就是将一个多步骤的过程一步一步变成一系列独特的问题,并一步一步地解决它们,从而创立了针对解决过程优化问题的动态规划算法这一新方法.动态规划算法在现代数学、经济学和计算机科学中已经有着广泛的研究和应用,也普遍在最优控制、生产调度、机器学习等领域得到了广泛的应用,如最短路线问题、图像数据压缩、资源分配问题、背包问题、库存管理问题、信息检索,以及本文中将要探讨的最长公共子序列问题.
目前关于动态规划算法与最长公共子序列的相关研究成果有很多,文献[1]-[3]主要介绍了动态规划算法的基本思想和基本概念原理等;文献[4]主要介绍子序列、公共子序列、最长公共子序列等相关概念;文献[5]-[6]主要介绍求解最长公共子序列的具体方法,如蛮力法、动态规划算法等;文献[7]-[12]主要介绍了运用动态规划算法的求解步骤以及相对于其他算法所具备的优势;文献[13]-[14]主要介绍了动态规划的算法实现.
本文阐述了动态规划算法的基本思想、相关的几个基本概念和基本要素以及适用条件,了解运用动态规划算法求解问题的一般步骤.接着介绍了与最长公共子序列相关的一些概念,然后结合具体的最长公共子序列问题,应用动态规划算法巧妙地解决问题.在利用动态规划算法求解最长公共子序列问题的过程中,先对问题进行特征分析,然后根据递归公式创建DP数组,通过数组确定最长公共子序列的长度从而获得最长公共子序列,并给出了C++语言算法的实现.
1.最长公共子序列
1.1基本概念
定义1[1]子序列:给定一个序列和一个序列,如果存在序列是的下标序列,且严格递增,并且对所有的,都满足,那么就是的子序列.
定义2[1]公共子序列:给定一个序列和一个序列,如果序列既是的子序列,也是的子序列,那么称是和的公共子序列.
定义3[1]最长公共子序列(LCS):在序列和序列的所有公共子序列中,如果是其中长度最长的,那么序列就是和的最长公共子序列.
一组序列的最长公共子序列问题是用来查找所有序列中最长子序列的问题.最长公共子串与最长公共子序列的有以下差异:在原字符串中最长公共子序列不需要是连续的,但最长公共子串必须是连续的,只要相对顺序保持一致即可.
最长公共子序列问题具有最优子结构:可以将该问题分解成更简单的,更小的“子问题”,并且这些子问题细分出几的子问题,从而简化了整个问题.在最长公共子序列问题中,子问题的解可以重复使用,也就是说,高级子问题通常会重复使用低级子问题的解.然后就可以利用动态规划算法来解决,此时通过储存子问题的解可以防止其被重复计算.
1.2蛮力法求解最长公共子序列问题
蛮力法也可以叫做枚举法,用蛮力法求最长公共子序列的基本思想是将满足条件的所有序列都列举出来,从中找到最长公共子序列.这也是求解问题最容易想到的方法.
蛮力法的求解步骤如下:
(1)枚举序列里的每一个子序列;
(2)枚举序列里的每一个子序列;
(3)检查子序列是否也是序列里的子序列;
(4)在和的共同子序列里找到最长的
您可能关注的文档
- 《190英尺游艇的初步设计》11000字.docx
- 《300MW燃煤电厂环保工程设计》18000字.docx
- 《350吨日产量的浮法玻璃窑炉工艺分析及配料计算设计》9400字.docx
- 《2022年江苏省如东县病媒生物监测分析6000字论文》.doc
- 《A包装公司应收账款管理存在的问题及完善对策研究》5800字.doc
- 《A风景区特色小镇温泉酒店设计》7500字.doc
- 《L市工业污染排放的库兹涅兹曲线特征分析》3800字.docx
- 《L市工业污染物产生排放情况调研分析报告》6700字.docx
- 《L乡农村厕所改建过程中面临的问题及完善对策》9000字.docx
- 《L新能源汽车哈尔滨地区营销策略研究概念界定及理论基础综述5800字》.doc
- 高中地理历史政治必修一二三知识点总结(完整版)文理科生水平测专用.docx
- 新媒体运营与营销 课件 1任务一 图片处理.pptx
- Creo数字化建模技术(微课版)课件 模块5 工程图设计.pptx
- 新媒体运营与营销 课件 2任务二 百家号运营.pptx
- 新媒体运营与营销 课件 2任务二 新媒体舆情监控与管理.pptx
- 《中药调剂技术》课件 模块三任务十八儿科疾病荐药.pptx
- 《After Effects 2024影视特效实例教程(微课版)》课件 第12章 抠像与运动跟踪.ppt
- 智能交通地理信息系统 教案全套.docx
- 《数字影音编辑与合成》 4.4 航天宝贝参赛片教案.pdf
- 城市轨道交通运营管理(第2版)课件全套 第1--12章 客流的量 --- 运营规程管理.pdf
最近下载
- 广东省二级注册建造师第四周期继续教育所有专业(必修课)练习题及答案.pdf VIP
- 香港《公司条例》Cap 622 PDF (24-10-2022) (English and Simplified Chinese).pdf
- 2024-2025学年中职思想政治心理健康与职业生涯高教版(2023)教学设计合集.docx
- JCT60014-2022地下工程混凝土结构自防水技术规范.pdf
- 泵体铸造工艺设计.doc
- 护士个人简历模板表格(可编辑).pdf VIP
- 基于PLC分拣系统设计.doc
- 一年级下册数学苏教版课件第1课时 认识图形(二).ppt
- 2024年二级建造师之二建矿业工程实务真题精选附答案.docx VIP
- 《规范化创伤中心运行指南》(TSZSMDA 009-2024).pdf VIP
文档评论(0)