欢迎来到天天文库
浏览记录
ID:10957529
大小:168.18 KB
页数:27页
时间:2018-07-09
《本科毕业设计论文--回溯法回溯法的分析与应用.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、算法创新与实践论文沈阳理工大学算法实践与创新论文题目回溯法的分析与应用学生姓名:学号:学生姓名:学号:学生姓名:学号:24算法创新与实践论文摘要对于计算机科学来说,算法的概念是至关重要的,算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。为了更加的了解算法,本篇论文中,我们先研究一个算法---回溯法。回溯法是一种常用的重要的基本设计方法。它的基本做法是在可能的范围之内搜索,适于解一些组合数相当大的问题。圆排列描述的是在给定n个大小不等的圆C1,C2,„,Cn
2、,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。图着色问题用数学定义就是给定一个无向图G=(V,E),其中V为顶点集合,E为边集合,图着色问题即为将V分为K个颜色组,每个组形成一个独立集,即其中没有相邻的顶点。其优化版本是希望获得最小的K值。符号三角形问题要求对于给定的n,计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相同。在本篇论文中,我们将运用回溯法来解决着图的着色问题,符号三角形问题,图排列问题,将此三个问题
3、进行深入的探讨。关键词:回溯法图的着色问题符号三角形问题图排列问题I24算法创新与实践论文目录第1章引言1第2章回溯法的背景2第3章图的着色问题43.1问题描述43.2四色猜想43.3算法设计53.4源代码63.5运行结果图10第4章符号三角形问题114.1问题描述114.2算法设计114.3源代码124.4运行结果图16第5章圆的排列问题175.1问题描述175.2问题分析175.3源代码185.4运行结果图22结论23参考文献24II24算法创新与实践论文第1章引言在现实世界中,有相当一类问题试求
4、问题的全部解或求问题的最优解。最基本的方法是通过枚举法搜索问题的解空间。但许多问题解空间的大小随问题规模n的增长呈指数规律增长,这就使问题理论上可解而实际不可行。为了使搜索空间减少到尽可能小,就需要采用良好的搜索技术。回溯法就是一种较好的搜索技术。回溯法又称为试探法,它是一种有效的试探回溯搜索技术。即运用回溯法求解问题不是基于某种确定的法则,而是通过大量反复的试探和回溯。它的基本做法是搜索,能避免不必要搜素的穷举式搜索。回溯法在问题的解空间树中按深度优先策略,从根结点出发搜索解空间树,算法搜索至解空间
5、树的任意一点时,先判断该节点是否包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。简单地说,采用回溯法求解问题的整个过程贯穿了搜索---试探—决定回溯或前进这三种基本运算。通过运用回溯法,可以解决很多问题,譬如我们所熟知的“八皇后问题”,“0/1背包问题”,这只是在教学阶段中的运用,在实际运用中也产生很大的作用在学习过程中,我们会遇到这样的问题,让我们去寻找给定问题的解集或者让我们找出满足某些约束条件的最优解,这时候我们就可以
6、采用回溯法来解决这一类的问题。通过运用回溯法,可以解决很多问题,譬如我们所熟知的“八皇后问题”,“0/1背包问题”,这只是在教学阶段中的运用,在实际运用中也产生很大的作用回溯法的优点是容易理解,可行性比较强。[1]原福永算法设计与分析.机械工业出版社,1998;P213-21424算法创新与实践论文第2章回溯法的背景回溯法是一种穷举类型的算法,与其说它是一种算法,倒不如说它是一种试法。回溯法并没有什么高深的算法思想,虽然名字起的很高规格,但其实它的算法性连二分查找都比不上。这里说的算法性其实就是指技巧
7、性,对问题特性了解越深入,越能创造出很巧妙的算法,在时间复杂度的级别上提高算法效率。这体现了算法效率与适用性之间的矛盾,二分查找效率很高,但适用性比较低,类似的还有著名的KMP算法。而穷举法效率最低,但几乎适用于所有问题。。回溯法是一种试探性算法,从这一点上看,它很像穷举法。但它终究不是穷举法,回溯法是有组织的进行穷举,在试探过程中不断通过题设要求减少搜索空间,而这种减少不是一个一个解的减少,而是对搜索空间进行大规模剪枝,从而使得实际搜索空间远远小于问题的解空间,所以回溯法的实际运行效率还是比较高的。
8、回溯法的应用背景说大很大,说小很小。算法大都在“不得不”的情况下才会使用,如果有别的算法,那它很有可能比回溯法高效,别忘了,回溯法是基于穷举的。回溯法适用于解排列组合类问题,也就是说目标解是从一个候选空间中选择出来的。从数量级上考虑,设候选空间的大小为n,如果选择是可重复的,那生成的搜索树为完全n叉树,搜索空间为n^n(如0-1背包问题,生成的解空间为高度为n完全二叉树,其中n为物体个数)。如果选择不能重复,那生成的解空间为n!(如TSP问题生成的解空间
此文档下载收益归作者所有