匠心观道

局部最优和全剧最优

2018-07-02  本文已影响0人  两文钱

无论是早期学算法的时候,还是后来学习机器学习的时候,局部最优和全局最优都是算法考虑的一个重要方面。站在上帝角度上当然知道需要全局最优是最好的,但是在设计算法的时候,怎么才能保持全局最优又不至于一个一个枚举或者模拟,却是一个非常复杂的问题。

时间和空间,历史和算法的局部最优

比如如何找到在容量有限的背包中放入最大价值的物品,可以用很简单的算法去在每一步的时候都选择性价比最高的,但最后结果不一定最优;也可以把所有放置方案都试一遍,但问题复杂的时候会变得非常困难。这时候要设计一个时间上不会很久但又能确保最优的方案就非常困难了。

同样的机器学习中,对于目标函数很有可能不断调整参数过程中,越来越接近一个范围内的极大值,但是却不是整个问题的最大值,算法很可能设计上就不可能跳出这个范围。

其实社会或者历史也是这个问题,比如中国两千年封建史就是在一个局部最优的状态下不断优化的过程,最后的社会架构非常有益于封建统治者,但是却不是人类历史最优的,这直到光绪帝的时候才被大家认识清楚。

这当然不能完全归罪于皇帝们只顾自己私利,不想着整个国家的优化。事实上,清朝以正统自居,皇帝们平均勤政程度可能也是历朝历代中在前列的。实在是因为,作为系统里的玩家,即便是最大权利和最重要玩家,也是没有能力直到全局最优是怎么样的。

不像我们设计算法的时候,明确知道问题的范围和最优的标准,社会和历史中的各个玩家是没有办法直到问题的范围和最优标准的,所以最后很可能会陷入到局部最优的状态中。这就好像下围棋时的劫,如果没有规则限定,双方会互相打劫无限循环。

这种局部最优有空间上的,比如在一个缺乏竞争的社会系统中,个体晋升的途径是通过关系和血缘,这并不是因为大家意识不到任人唯贤的重要性,所有的教育考核系统的改革都是往这方面努力的,但从没有成功过,这是因为没有竞争的状态,对于系统最优的方式是选用更加可靠的人,这导致了最终社会系统会选择熟悉的人。

也有时间上的局部最优,比如中国封建社会随着朝代的更迭,皇权是逐步加强的,这就是在时间轴上不断优化前一个时间点的系统设计导致的。

为什么至今人类历史总是能跳出小历史循环中的局部最优呢?

外部原因是因为走另一条道路的社会在扩张过程中和陷入局部最优的社会相遇,打破了原有的平衡,设定了新的全局最优方向。比如东亚在皇权局部最优过程中遭遇了西方文明,设定了新的走工业科技的方向,在优化过程中又不断调整目标,如走政治文明路线等等。

内部原因是内部平衡因为气候或其他意外打破,跌入一个并非最优的状态,并探索到了走向更优的状态。比如明末诸多事件导致汉族主体的华夏平衡被破坏,在过程中探索到了外东北外蒙和西北的状态。

我很担心的一点是,现在虽然有各种科技进步、政治改革,但本质上并没有根本改变,是在加速进入一个更大的局部最优中,科技让绝大多数人生活的很舒适,政治体系让战争可能性变小。但是这个平衡更难打破,因为虽然有诸多问题,这些问题都没有成为打破平衡的资格,所以大多是慈善机构和其他非营利机构略显徒劳的进行改进。而如果平衡因为地球环境改变或外星入侵而打破,不是承平日久的人类所能承受的。

怎么才能保持走向全局最优呢?

从算法设计中的思路是这样的,第一种方法是通过空间上的多方案备份来得到未来的最优,这个思路来自于当前的次优不意味着未来的次优。可惜在这个时间线上,西方文明扩张太快,导致大量其他大陆文明的消失。也许在另外一个时间线上,利用西方科技文明和玛雅神秘主义会进化出不一样的文明。比如玛雅文明向往月球,可能在接受西方文明后,更多的社会资源会投向月球殖民。

第二种方法是不断突变当前环境和方案,这个很难自我生成,因为很难强迫百分之多少的人口进行思维的突变,而且非常依赖于整个社会的状态。而依靠外界的话,例如环境变化等等,那就是非常危险的了。

上一篇下一篇

猜你喜欢

热点阅读