昨天和某人聊到算命,我借此发表了一下自己对这方面的看法(虽然我才说了几句对方就睡了过去),我自己之前一向是对这些东西嗤之以鼻的,但今年经过一些思考,对这方面的态度有了一些改变,不过从本质上来讲我仍然是一个无神论者,只是自己用数学和计算机方面的知识去理解命运这回事。
我们好似每天身边都在发生或是经历一些不可预知的事情,有时候我们常会陷于纠结某个决定的时刻,这些抉择时刻或对自己的未来很重要,也或者轻描淡写,但有时候两种不同的抉择确实会影响到人的一生,但倘若我们的这些“抉择时刻”,以及最终的抉择都是必然的呢(也就是大多数江湖术士口中的“定数”)?很多从事互联网工作的朋友包括我,也许都不信这一套,不过如果从某些科学的角度去解读,发觉倒也不全无道理。
先就拿我们计算机中的随机事件来说,做技术的朋友一定都知道都是伪随机,这里为了方便非技术朋友的理解,我简单介绍下:
若我们希望得到一个随机值,我们可以通过一个计算方法(称作为函数f)来获得,而这个函数f需要一个初始参数a(也即种子),通过这个参数a,f能求得另外一个值r(或是一系列),这个r即是我们需要的随机数值。
r = f(a)
学过高中数学的应该都懂这个,也许有人会问为什么不直接取值a,因为a的值可能符合某一定的自然规律,不具备随机性,而函数f能将a通过某种计算方式以获得一个能够被我们所接受的随机数,但这里也有一个问题,即是同样值的a给予到函数f将会得到同样的值,所以参数a的值在选定时也需要考虑一下,通常我们将a赋予一个当前时间的值。
计算机中的随机事件,就是依照这样的形式所生成的,玩单机游戏的人可能知道在某个时间去打某个怪就一定会掉落某件宝物,这就是因为上面这种计算方式所造成的。
这样,我们可以想象周围世界中的所有触发的事件都是经过这种计算而发生的,那么现实中的计算种子参数从何而来?
通常我们认为一件事都有它的起因:你今天很愉快,因为加了薪。这里加薪就是种子参数(也即是前提),而愉快则是产出的结果,就如同我们上面提到的伪随机算法。而加薪这件事也是有前提的,是你过往的工作很努力,加薪这时就是作为一个产出的结果了,而不是前提了。
如果用这种观点来看的话,其实我们这个世界就好像是计算机学中的伪随机了,一切的发生都有其前提条件,而产出的结果又可作为以后某件事的起因(种子参数)
在数学中,这样的情况被称作为“马尔可夫链”,即随机过程中某个状态的概率,只与它的前一个状态有关。但现实总是复杂的,我们所生活的这个宇宙的规律复杂得超乎我们的想象(在一定程度上,所谓的科学也即是不断地追求宇宙的规律),简单的“马尔可夫链”模型根本不可能表示现实所有场景,它只是非常粗略地计算一些概率问题,只是有时候它真的很方便。例如,我们加薪,还有可能是因为公司里有人照顾,且工作出色,且被老板潜规则。。。等多个因素所造成。
计算机数学中,还有一种论述叫做贝叶斯网络,它是马尔可夫链的扩展,能更真实地表达我们世界的近似,它就能解决以上多因素条件所带来的问题(在此不做扩展)。
以上所说,是如今计算机学结合数学的知识,对现实世界的一些模拟,但注意,它有它的内在规律,只能作为对现实世界的近似模拟,因为这个宇宙的复杂程度我们无法完全复现模拟(起码目前的人类文明是没可能了),但值得考虑的是,我们的世界,我们的宇宙,是否也是如此,只是复杂许多的一个计算系统,我们现在所经历的一切,都是在宇宙系统中实时计算出来,而最早的种子参数,就是宇宙大爆炸理论中大爆炸时所输入,之后计算系统则不停地演算,造成了现在这副场景。
你将一枚硬币,抛入空中,究竟会是正还是反?
可能在你抛出的那一刻已经决定了。。。
假期回来的第一天,以上均是扯淡,大家一笑而过吧~
另外欢迎大家来我的个人技术博客玩儿:http://www.cppthinker.com