code.club

標題: 為什麼說宇宙很可能是「程序員」創造的? [打印本頁]

作者: 543    時間: 2016-12-8 02:42
標題: 為什麼說宇宙很可能是「程序員」創造的?
這不是玩笑。許多科學家都認爲宇宙很可能是虛擬的。世界就是一個模擬程序,我們人類和意識很可能只是運行在虛擬程序中的數據。甚至有人說,宇宙是虛擬的可能性大於 99.9999%。這也許有些極端,聽起來有點可怕。然而這一切又有可能是真的,爲什麽呢?


1.我們宇宙幾乎肯定有一個開端



為什麼說宇宙很可能是「程序員」創造的?


現在宇宙大爆炸理論幾乎已經家喻戶曉,該理論認爲宇宙誕生於大約 140 億年前的一個「奇點」的一次爆炸。而這個爆炸在宇宙誕生之初只需要有限的幾個參數來描述即可,隨後它才演化成現在複雜的宇宙。這一點非常像程序運行時的入口函數,通常只需要有限的配置和參數,就可以啓動程序,然後進行一系列非常複雜的演算。


總體來說,宇宙的歷史非常像是某種計算演化的產物。


2.我們宇宙的基本規律有一個「上限」


為什麼說宇宙很可能是「程序員」創造的?



沒錯,我說的就是光速。光在真空中的速度c = 299792.458km/s。相對論表明任何有質量的物體的運動速度都無法超越光速。程序員肯定知道,程序的數值表示同樣有「上限」,如果數值計算上溢出的話,可能會導致程序的崩潰。這也許為宇宙是程序提供了一個可靠的論據。



為什麼說宇宙很可能是「程序員」創造的?


有趣的是,曾經在科幻世界上看到一篇短片科幻小說(好像是阿西莫夫的短篇科幻,名字忘記了),說的是物理學家們設計大型粒子對撞機,希望能夠通過超越創世級的能量將粒子加速超過光速。而主導實驗的物理學家有個數學家朋友,研究的是虛擬宇宙在計算機中的演化。結果數學家發現自己的宇宙每過幾天就會崩潰,需要重新啓動,一開始不明白爲什麽,後來仔細排查程序,發現其中因爲演算的原因,不可避免的出現了數值的上溢出導致崩潰。於是數學家趕緊打電話給物理學家,讓他們停止超光速實驗,但還是晚了,於是真實宇宙就被這些物理學家玩崩了 ╮(╯_╰)╭。


3.我們的宇宙不是無限可分的


現代物理研究已經證明,真實的宇宙中的一切,質量、能量、空間甚至時間都是有限可分的。在微觀世界裡,幾乎所有的物理量都是以最小單位跳躍進行的,連續性並不真實存在。甚至我們的時間也不是連續流淌的,而是由一份一份的普朗克時間構成。如果把普朗克時間定義成「一刻」,那麽「這一刻」和「下一刻」之間不存在時間!這讓人感覺有些燒腦。你可以想像一條連續流動的河流,在宏觀世界裡,水流是連續流淌的。但如果我們把自己縮小,進入微觀世界,我們將看到水分子是一顆一顆地在河床上運動。



為什麼說宇宙很可能是「程序員」創造的?


物理世界的這個特性和計算機世界如出一轍。我們知道計算機世界是數字的世界。「數字」和「模擬」之間的基本區別就是連續和不連續。計算機存儲的最小單位是比特,一個比特只存在 0 和 1 兩個狀態。所以計算機程序中的一切物理量都是由比特最小單位疊加成的,自然有精度問題。浮點數能夠表示的量有最小精度,小於這個精度的量是表示不出來的。原本我們以爲物理世界是「模擬世界」,而現在我們越來越確定,我們的所謂物理世界,也是一個有限精度的數字世界。


4.我們的宇宙有「作用域」和「閉包」



為什麼說宇宙很可能是「程序員」創造的?


這一點可能很少有人仔細想過。程序是有作用域和閉包的,尤其是動態語言,一段代碼在執行時作用於一個「封閉」的運行時環境,在這個環境中,程序有自己的變數和獨立的上下文環境。宇宙也同樣如此。宇宙的作用域被我們叫做「參照系」。根據相對論,不同的參照系有各自獨立的時間流速!這和閉包非常的相似。在不同的參照系中,光速都是相同的,時間流動速度不同,這像不像是因為光速是限制常量,所以是全局的,而時間則是每個作用域(各個參照系的時空)中的局部變數?


5.我們宇宙的非純性和不確定性可能是用來避免無窮遞歸


程序里有一個專業的概念叫做純函數。純函數的意思是一個函數,它的輸出由輸入的參數唯一確定。只要輸入參數是同樣的,輸出結果一定是相同的。把這個概念應用到宇宙來說,就是如果宇宙是由純函數(確定的物理定律)構成的,那麼我們如果知道了大爆炸時的參數,就可以將宇宙重新演算出來!


如果我們能將宇宙重演出來,那麼就有一個大問題——無窮遞歸:



為什麼說宇宙很可能是「程序員」創造的?



假設說某個聰明人,比如張三,於公元 2016 年建成了一台超級計算機,用正確的啓動參數成功模擬了整個宇宙,這個宇宙和我們真實的世界將擁有完全相同的曆史,或者說這個模擬宇宙其實就是我們真實宇宙的一個完美複制的時空鏡像!這個模擬宇宙的任何曆史將和我們的宇宙完全相同。這也就意味著當這個宇宙演化到公元 2016 年時,又會出現一個同樣的張三,在這個模擬宇宙裏再模擬出相同的宇宙,然後那個宇宙裏又會有張三繼續模擬宇宙,這樣無限遞歸下去,最後耗盡整個系統的資源 ╮(╯_╰)╭。


那麽如何避免這個問題呢?聰明的宇宙創造者在宇宙誕生初期便引入不確定性,也就是我們現在在微觀世界裡所見的量子作用。不僅僅是基本粒子,就連真空本身都有量子漲落,而這些作用看上去是具有隨機性的,它確保即使我們以完全相同的參數啓動宇宙,由於量子效應的不確定性,宇宙的演化曆史也會有所不同。


6.宇宙也許存在著 bug


與所有的計算機程序一樣,宇宙這種規模的龐大系統也許存在有 bug。在微觀尺度上,也許某些量子隧穿其實是宇宙本身的小 bug,一些不可能的事件在發生,就像是程序員寫的程序裡面,一些不可能的結果出現。



為什麼說宇宙很可能是「程序員」創造的?



在宏觀尺度上,目前還沒有發現大的 bug,但是我們人類的活動空間相比於整個宇宙來說實在是太小了,也許科技發展了,人類空間擴大了,我們能夠發現宇宙的 bug,甚至可以利用 bug 來做一些看似違反基本規律,不可能做到的事情。


7.宇宙的真相可能比我們想像的還要簡單



為什麼說宇宙很可能是「程序員」創造的?



奧卡姆剃刀原則,是科學界常用的一個準則。簡單來說,這個原理的含義為:「如無必要,勿增實體」。現在我們還沒法解釋宇宙是如何誕生的,如果我們真的能證明宇宙不能無緣無故誕生,那麼也許宇宙只是一個虛擬程序,反而是最簡單的假設。


宇宙真相離我們生活很遙遠,然而思考這些,也許能讓我們終有一天理解終極答案的真正含義,到那個時候,人類文明必將邁上一個全新的台階。




歡迎光臨 code.club (https://code.club/) Powered by Discuz! X3.2