人人网 校内 - 浏览日志 - 为人原则与算法思想

来源:百度文库 编辑:神马文学网 时间:2024/05/01 09:37:41

算法设计与分析课程结束了。

学到了几个常用算法,贪心算法、分治算法、动态规划、分支定界、回溯算法等。

世界上没有万能的算法。每个算法都有一定的使用标准和范围,对于一个具体的问题而言都不一定能取得最优解,大多数情况下都需要做一定的修改或者多次尝试。

而之所以定义这些算法、建立这些算法的具体概念最最重要的作用是,当遇到具体的问题是我们可以有解决的头绪,可以有所依靠,可以迅速尝试。免得自己被过多的情况和过多地可能性搞得一头雾水、晕头转向、无所适从。

拿贪心算法来说吧。

在贪心算法中采用:

【1】分阶段逐步构造最优解的方法;

【2】在每个阶段,都作出一个在一定的标准下看似最有的策略;

【3】决策一旦做出,就不可再更改。上面的3条就是贪心算法的运用条件和程序。

下面具体分析【2】、【3】。

对于【2】,我们从其表述中就可以明白,这样做不一定能得到最优解,因为每一步都只是目前看起来最优。但之所以做出这样的规定,就是为了有规可依,不管标准是否可行,一切都等得出结果再说。至于解是否为最优再做检验即可。若为最优解,则大功告成,否则换用其他算法。

对于【3】,也许会觉得奇怪,为什么不让更改呢?假如这一步决策不能得到最优解的话改一下,不是更好吗?其实之所以如此规定也是为了有规可依,如果可以更改的话,情况也就变得更复杂了,变得难以控制了。

所以,总的来说,算法的作用就是让我们在解决问题的时候有确定的规则可以遵循,让问题限定在可控的范围之内。当然,有时可能得不到最优解,但是我们可以在已经得到的不完美的解的基础之上不断地修改和完善,使之逐渐趋于最优;而非一开始就没有章法又过于纠结于细枝末节,那样情况就会变得让人难以控制。

其实这和生活是非常类似的。在生活中,我们不得不为自己立下种种原则与标准。其实这些原则与标准和上面所说的算法的作用是类似的。使我们有规可依,使一切可以控制。靠着它们,我们就能应对生活的种种处境,化解各种问题。至少不会轻易乱了方寸。

正如没有一种算法是万能的,也没有万能的原则和标准。这也就是为什么不管我们的原则和标准是什么,我们在执行的时候总会有这样或那样的困难。比如因为坚持了原则,但结果并不像预期计划的那样或者反而破坏了原本平静的状态。但是我们不得不坚守,因为当我们放弃或者妥协的时候,一切就会变得不可控,我们就会被生活搞得心力交瘁;而且坚持原则的目的并不一定是为了都得到什么实际的结果,而是为了无愧于己心。

我们稍微想一下就明白,生活中那些值得我们尊敬的人,那些品质为人高尚的人都是有原则且忠于原则的人。他们明白那样做肯能得不到最好的结果,但也绝不会误入歧途,更不会后悔。因为人非神,不可能十全十美,也不可能面面俱到,他们所能做的就是在坚守他们自己的“算法思想”的前提下,尽可能做到好一些,这也是他们所能做的一切。

所以,人必须要有原则,并且当遇到与原则相冲突的问题时,请坚守,勿妥协。