Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112859
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-08 01:34:25

计算智能笔记之总结传统算法

计算智能笔记之总结传统算法:

传统算法这一章,老师讲不同方法时主要举例了以下三种实例:

1. 求解SAT问题:即可满足性问题

对于某些类型的SAT问题,局部搜索算法的结果十分有效。但进行反位操作还很盲目,需要对于GSAT问题进行进一步讨论。

2. 求解NLP问题:

nonlinear programminnonlinear programming)具有非线性约束条件或目标函数的数学规划。非线性规划研究一个 n元实函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。目标函数和约束条件都是线性函数的情形则属于线性规划。

1 由枚举法可求解(如根据路径,前提是生成所有的路径)

2 局部搜索法:

二分法:与二分查找同样的思路,查找非常高效,线性收敛,但要求结果非常精确时仍不行

弦截法:比①收敛得更快,运算也并不复杂,割线的方程有:(y-f(b))/(x-b)

①②均为迭代次数越多越接近

不动点法:有波动 Sn-1=Sn-f(Sn)/f’(Sn) (n=0,1,^)称为根的n+1次近似值,称为牛顿迭代公式

一个比一个效率更高,但都有限制。

3. 求解TSP问题

 即旅行商问题(Traveling Salesman Problem)假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个组合优化问题。

1)枚举法:可以通过采取适当的“粒度”,使得问题可以采用枚举法求解

2)局部搜索法:2-optimize(以及有关k-optimize的进一步讨论)

3)动态规划法:如求解5城市的非对称TSP问题(所有可行解5!)

初始化,S为空

第一步:找到S基数为1的所有问题的解:3*1*4=12

第二步:找到S基数为2的所有问题的解:3*2*4=24

第三步:找到S基数为3的所有问题的解:1*3*4=12

最后一步:即求解原始问题:4*1*3=12

正着去算递归,倒着去算迭代。

另外还有翻饼排序

 

 

阅读(266) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~