自己研究了很多年的优化算法,也知道不少优化的思想,但很多东西做完之后,再回去体味当年那些方法的基本思想,感觉可能不一样。最近翻看Vaziranni的《Approximate Algorithm》时,发现其在前言中阐述算法设计与问题特性时的比喻非常好,其实也是做优化算法的一个原则,不多废话,摘录如下:
“与米开朗基罗部分艺术研究工作的下属类比能很好地说明我们关于算法设计和讲解的原则。米开朗基罗的主要工作是在采石场寻找能引起注意的石块,然后长时间凝视他们以确定他们自然地想要成为的形态。雕刻工作以最低限度的方式完成这个形态。同样,我们愿意开始于清晰、简单规定的问题(或许是实际想要求解的问题的简化形式)。大部分算法设计工作实际上是要认识问题与算法相关的组合结构。算法最低限度地利用这个结构。”
上述描述的确精彩,但最后一句话值得商榷,因为依据算法信息理论(Nesterov),我们应该尽量利用问题的结构,这样的算法才更有效率。当然,两位大家出发点不一样,Vaziranni更多是从离散优化角度来看,而Nesterov更多的是从连续优化角度来看。殊途同归,本质都一样,理解你要求解的问题。
时间: 2024-11-10 03:47:17