优化算法入门系列文章目录(更新中): 1. 模拟退火算法 2. 遗传算法一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其.....
分类:
编程语言 时间:
2015-07-07 00:38:35
阅读次数:
234
要求:TSP 算法(Traveling Salesman Problem)是指给定 n 个城市和各个城市之间的距离,要求确定一条经过各个城市当且仅当一次的最短路径,它是一种典型的优化组合问题,其最优解得求解代价是指数级的。TSP 问题代表一类优化组合问题,在实际工程中有很多应用,如计算机联网、电子地...
分类:
编程语言 时间:
2015-07-06 11:50:17
阅读次数:
186
SMO要点总结: SMO使用坐标上升的方法,求解SVM的最优解。和原始坐标上升方法的不同点在于: 1. 由于SVM的限制条件 ,所以不能只使用一个坐标,改为更新两个 2. 采用启发式方法,找到每次更新的坐标,而不是按顺序来 SMO的终止条件即,所有参数都符合KKT条件: 对应在margin以外的点 ...
分类:
其他好文 时间:
2015-06-30 23:28:39
阅读次数:
218
转载请注明出处:http://www.cnblogs.com/StartoverX/p/4611544.html 贪心算法在每一步都做出当时看起来最佳的选择。也就是说,它总是做出局部最优的选择,寄希望(证明)这样的选择能够导致全局最优解。 贪心算法和动态规划都依赖于最优子结构,也就是一个问题的最.....
分类:
编程语言 时间:
2015-06-30 21:41:00
阅读次数:
135
动态规划(DP)是一种解决复杂问题特别是主问题包含重复子问题的常用算法思想。它将待求解问题分解成若干子问题,先求解子问题,然后再从子问题中得到原问题的解。不同于分治法,子问题常常不是互相独立的。
利用动态规划求解问题的有效性 依赖于问题本身具有的两个重要性质,也就是如果待解决问题具有以下两个性质,就可以考虑使用动态规划求解。
1 最优子结构:问题的最优解包含了其子问题的最优解。
2 重叠子问...
分类:
其他好文 时间:
2015-06-29 22:18:52
阅读次数:
148
模拟退火算法解决旅行商问题。
根据概率产生新解主要包含两个途径:二交换和三交换
二交换是在TSP回路中选择两个城市直接交换
三交换是在TSP回路中选择三个点,p1,p2,p3,然后将p1,p2之间的城市直接与p3之前对应长度的城市交换
这里产生新解的方法不唯一,只要能够保证产生的新解可以包含最优解所在的解空间即可
是否接受新解主要包含两种情况:
新解比历史最优解好,则百分百接受新解
新...
分类:
编程语言 时间:
2015-06-29 10:17:58
阅读次数:
240
题:如果资料D线性可分,PLA如何保证最后能得到最优解。 思路:假设$w_f$能够分割资料D,$w_{t+1}$经过更新$w_{t+1}=w_t + y_{n(t)}x_{n(t)}$后,与$w_f$更接近 两个向量更接近,则有$Z=\frac{w_f^Tw_t}{||w_f||||w_t||}$越...
分类:
其他好文 时间:
2015-06-28 16:55:05
阅读次数:
166
去掉K位求取最小数 一个n位的数,去掉其中的k位,怎样使留下来的(n-k)位数按原来的前后顺序组成的数最小例如8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123。解决方案贪心算法,在每次被访问的位置保证有最优解。思路一分析:求一共n位,求其中的m位组成的数最小。....
分类:
其他好文 时间:
2015-06-25 18:58:30
阅读次数:
125
贪心算法看似普普通通的一个算法、说难也难、说简单也简单、不过确实不太容易解释清楚、 在理解贪心算法之前最好先了解一下动态规划、因为贪心和动态规划很像、都具有最优子结构的性质、 甚至可以说贪心是一种特殊的动态规划、 贪心顾名思义就是每次决策的都是都取当前最优解、最后得到全局最优解、 所以很多贪...
分类:
编程语言 时间:
2015-06-23 06:21:37
阅读次数:
153
本文给出了动态规划的简要定义、适用场景、算法实现。并给出了四种经典动态规划:钢条切割求最大收益问题、矩阵链相乘求最小乘法次数问题、最长公共子序列问题、求最小的搜索代价的最优二叉搜索树的c++代码实现。定义
性质 适用条件
算法实现过程首先观察问题是否满足最优子结构性质
写出递归等式递归的定义子问题的最优解
求解子问题的最优解
构造最优解
四个经典问题的cpp实现
1 钢条切割
2 矩阵链相乘
3...
分类:
编程语言 时间:
2015-06-22 11:07:25
阅读次数:
205