对现代优化算法学习的一点体会(我的第一篇博客)

如何设计好的算法?将问题以怎样的方式表达出来显得很重要。算法运行中,问题解会在各种状态中来回跳跃。那么,跳跃规则和解的表达就很重要。比如邻域的定义、邻域中解的转换规则的选择就很有学问。

华中科大黄文奇老师的拟人思想,以以下事例来说明。在房间里铺地面砖,都是墙角先铺,其次是壁下,最终延伸到房门口;下围棋的第一步很少会是下在棋盘正中央,而是靠近自己一些的边上。能有什么共性抽象出来么?人在处理事情时,好的方法是尽量利用有限资源,将约束最大的资源留在最后。这样的算法一般不会差到哪去。

模拟退火:
物理系统-------TSP问题
系统状态------>可行解
系统能量------->目标函数值
这样的对应关系能否改进呢?关键在于系统状态与能量之间的函数性态与可行解与目标函数值之间的函数性态是否相同。去查查热力学的资料看看。

学习算法理论的基本路线:
《算法导论》                                                                                     《计算机复杂性》
                                                    ------>《计算机和难解性》------>                                     ------>论文。
《近世计算理论导引》                                                                     《计算机编程艺术》

P=NP?蛮有意思的一个问题,不过我对此等式持否定观点。

要求是能对上面读过的书有独立的思考,动手动脑过一遍。

你可能感兴趣的:(对现代优化算法学习的一点体会(我的第一篇博客))