关于复杂性的探讨

郝宁 擅长:计算机 「软件工程」 116浏览 编辑于:2017-12-29 12:06:26
生活中总会遇到这样的对话,我感觉A的做法简单,B的做法复杂,但很多时候往往停留在感觉的层面而未加思索,可是感觉始终是感觉,并不一定靠得住。我想谈复杂和简单的第一步我们是需要选择一个衡量标准,这个衡量标准是关系F和运算结果D的集合,D的单位选取最基本的两个单...
显示全部

生活中总会遇到这样的对话,我感觉A的做法简单,B的做法复杂,但很多时候往往停留在感觉的层面而未加思索,可是感觉始终是感觉,并不一定靠得住。

我想谈复杂和简单的第一步我们是需要选择一个衡量标准,这个衡量标准是关系F和运算结果D的集合,D的单位选取最基本的两个单位之一,时间或空间,物质存在则必然存在空间,物质运动则产生时间,这样选取是因为时空的基础性。为了F的简单化,我们简单的将F认为是累加,这样问题就转化为用时间或者空间的累加量去衡量问题的复杂性。

guandn-pic

进一步我们可以去定义复杂和简单,因为一旦复杂性可以得以计算,那么当复杂性大于某个度我们认为方式是复杂的,小于某个度可以认为方式是简单的,当然我们也可以定义更多的层次,比如:稍微复杂、有点复杂、稍微简单、有点简单等,这个就看我们对度的选取了。

前文已经提到了我们衡量复杂性通过时或空的累加量,这里继续探讨,当用什么第三方参考的时空累加量去衡量方式的复杂性?这里有必要说一下第三方参考的问题,选取第三方参考是必然的,因为但凡度量则必然是“以他度他”,不存在没有参考的度量。由于日常领域的复杂性,这里我也很难给出一个普适的第三方参考,但可以提2个相对普适的第三方参考(仅仅说时间量):1、计算机运算速度。2、人处理某事的基本劳动时间。正是因为衡量标准的不能普适,所以就会出现这样的情况,某个衡量标准下简单的方式对另外一个衡量标准未必就是简单,如让人来抽象一只鸡所耗费0.5s,于人来说轻而易举,所以人感觉很简单。但是对电脑而言,他抽象一只鸡所耗费的时间或许就是无限大,对他来说就非常复杂。

上一段举了两个衡量标准的时间量去衡量复杂性,那么同样的情况下我们可以用空间量去衡量嘛?回答是肯定的,时空确实是可以转化的,只是往往有些情形下时间要直观,有些情况下空间要直观,比如计算机的运算时间为20s,那么他必然会刷过一定数量的指令,这些指令的集合存储到硬盘自然就是空间量。比如人处理某事用了3个月,把这三个月的步骤总和写到纸上存下来就是空间量。这里必须说清楚的是,我们的第三方参考的基本单位必须是单一的,比如说计算机除法运算的速度和加法运算的速度不可能是相等的,但我们还是认为他基本相等。比如人举手和放手的速度一不定是相等的,但是我们还是认为他基本相等,只有这样的衡量才是有意义的。

guandn-pic

到此我认为复杂性的探讨可以先暂时画个句号了,文字的内容并不长,但往往长篇累牍的内容并没有太多实质的东西,复杂性的认识是很多领域可以使用的,只是我也只能给出定性的看法,定量的模型需要具体情况下具体建立,不多说了,就此打住。



收起
收起
 | 3 0条回复 更多 收藏
举报
分享 观点证
观点区
扫一扫提取内容
新浪微博
微信扫一扫