劉慈欣的宇宙文明點狀化模擬到底是什麼樣的結果?
劉慈欣在《地球往事一》的後記里寫道:
……我曾經陷入宇宙文明點狀化的這種思維遊戲中不可自拔,上世紀九十年代初,為打發時間,我常常編些無聊但自覺有趣的軟體,現在網上重新流行的電子詩人就是那時的產物。那個時期,我還編過一個宇宙點狀文明體系總體狀態的模擬軟體,將宇宙間的智慧文明簡化為點,每個點只具有描述該文明基本特徵的十幾個簡單參數,然後將文明的數量設置得十分巨大,在軟體中模擬這個體系的整體演化過程。為此我請教了一位可敬的學者,他是研究電網理論的,是建立教學模型的高手,算不上科幻迷但也是愛好者,他對我那個錯誤百出的模型進行了修正。軟體運行時最多的一次曾在十萬光年半徑內設定了三十萬個文明,這個用現在看來很簡陋的TUBO C編的程序在286機上運行了幾個小 時,結果很有趣。當然,我只是個工程師,沒有能力進行這樣級別的研究,只是一個科幻迷玩玩兒而已,從科學角度講得出的結果肯定沒什麼意義,但從科幻角度講卻極有價值,因為那些結果展示的宇宙間點狀文明的演化圖景,不管正確與否,其詭異程度是很難憑空想出來的。這個「詭異」的結果究竟是什麼?有沒有朋友自己搞過,或是從大劉那裡要來源代碼運行過?還有,這裡有個相似的問題,可惜不是我想知道的 http://www.zhihu.com/question/21296837水貨勿答!!!
我從網上得到了據說是大劉的那個程序,結果直接運行錯誤……
-------------------------------------------自食其力的分割線------------------------------------
MATLAB文件地址:
https://pan.baidu.com/s/1dFoMytV
有同學反應鏈接被刪除,應該是知乎出了一些BUG,把鏈接複製,粘貼到地址欄直接搜索應該就可以了。
有同學反應鏈接被刪除,應該是知乎出了一些BUG,把鏈接複製,粘貼到地址欄直接搜索應該就可以了。
有同學反應鏈接被刪除,應該是知乎出了一些BUG,把鏈接複製,粘貼到地址欄直接搜索應該就可以了。
經過這一個星期的努力,我目前使用MATLAB製作了一個程序, 對大劉的點狀宇宙文明進行了模擬,得到了一些有用的結論,比如《銀河系漫遊指南》算錯了,宇宙的終極答案不是42而是41。
首先在模擬中我加入了3種文明:
1型:主動交流型。主動交流型文明會主動與其他文明進行交流。他們每個回合都會點亮自己的星系,好讓自己被其他文明注意。當主動交流型擴張時,他們會花費額外資源首先派遣科考隊進行勘測。如果目標星系有人佔據,當佔據者也是1型時,雙方將進入交流組。當佔據者是2型或3型時,佔據者將會因坐標暴露而宣戰,雙方進入戰爭組。對於矚目度高的星系,主動交流者會進行勘測試圖建立交流。
2型:孤立主義型。孤立主義者不會主動攻擊其他文明,除非自己的星系遭到入侵或坐標暴露(比如被1型文明勘測到)。孤立主義者在擴張時會盡量避開有其他文明的星系。孤立主義者對於矚目度高的星系不會有任何反應。
3型:惡意攻擊型。惡意攻擊者會在每個回合利用所有資源全力擴張,攻擊碰到的所有文明。對於有其他文明的星系,惡意攻擊者會選擇攻擊。當惡意攻擊者發現一個矚目度高的星系,當他們擁有末日武器時,他們會進行末日打擊。當他們沒有末日武器的技術水平時,他們會選擇標記改坐標交由其他文明執行打擊。
需要注意的是這些文明並不總以自己的特點行事。當資源不足時,所有文明都會暫時轉化成3型,直到資源量脫離危險區。當文明的資源已經不能滿足需求時,文明會陷入馬爾薩斯陷阱,其需求和科技都會倒退,直到脫離危險區。
使用末日武器將會使一個星系被徹底消滅。
星系的基本屬性。
文明的基本屬性。
交流組:
在交流組中,雙方的交流範圍都必須大於距離,交流才會發生。交流進展是由雙方的科技值差距決定的,差距越小,交流越容易。每個回合的交流進展將被加到交流完成度中,當交流完成度大於1,雙方將整合成一個更強大的文明。
戰爭組:
戰爭組的雙方會搜索並消滅視野內一切敵對方星系。當他們手中有末日武器時,他們會毫不猶豫地使用。在戰爭組中佔下風的一方由於無力對對手構成傷害,會轉而對對手的星系進行標記。第一次模擬:
第一次模擬是在半徑30的100個星系中建立80個文明。由於文明數量眾多,資源嚴重緊缺,在第二個回合就爆發了波及全宇宙的大規模戰爭,52號文明被人用末日武器剷平,只有17個文明撐到了第二輪。倖存的文明有15個物理等級高於8。也就是說低於8的文明,幾乎在一輪戰爭中全滅。擁有22個星系的55號文明和15星系的66號文明成為了宇宙最強大的力量。
第三回合時,倖存的強大文明在宇宙中瘋狂使用末日武器互相攻擊,有21個星系,也就是超過全宇宙兩成的星系在一輪戰爭中被毀滅。前宇宙霸主55號文明的星系下降到12個,損失了9個星系,而66號文明直接滅亡了。這一輪之後僅剩下7個文明倖存,最強大的41號文明已經佔據了剩餘78個星系中的48個。
第四回合,戰局已經明朗,又有18個星系被毀。而倖存文明僅剩下兩個:41號文明,佔據59個星系。34號文明,佔據一個星系。需要注意的是34號文明佔據的是16號星系,並不是自己的母星系。而他們的母世界34號星系已經被41號文明徵服(轉進台灣)。34號文明還在做最後掙扎,標記視野內所以41號文明的星系,但已經沒有更強大的文明替他們實施末日打擊了。果然在下一回合末日打擊降臨,遊戲就結束了。
所以我說《銀河系漫遊指南》算錯了,宇宙的終極答案不是42而是41。42號文明第一輪戰爭就出局了。經歷了4輪殘酷的戰爭,宇宙損失了100個星系中的41個,剩下的59個星系被41號文明徵服。第一次模擬較好地模擬了黑暗森林理論的情況,自我暴露的1型文明或遭到標記的星系幾乎都在下一回合被滅亡。
第二次模擬:
第二次模擬規模更加宏大,在半徑100的宇宙中放下1000個星系和300個文明。結果144個文明在第二輪開戰後毀於戰火。但是這次與上次不同,佔據優勢的文明有相當多是1型文明。這些強大的1型文明有利的保障了宇宙秩序,而且他們互相都建立了聯繫。
到第三輪,被毀的文明到達232個,但與此同時,有9組1型文明發生了合併,這種合併使1型文明的優勢迅速擴大。
可以看到,最強大的幾個文明幾乎都是1型文明,更重要的是他們互相還在聯繫,極有可能組建出更加龐大的1型文明。
到第4輪,雖然2,3型文明還在擴張,但速度已經明顯跟不上合併的龐大1型文明:
注意,上一輪排第4的218並沒有被消滅。它被併入了121號文明。264被併入273。另外較小的5個1型文明4,154,58,109,221合併後,組成了一個強大的新文明221,一躍上升到了第三位。本輪後由於文明過於龐大,計算無法繼續進行,但我們可以推測接下來的情況。273號與92號的交流已經達到臨界值,他們將在下一回合整合成新的273號文明,極有可能成為宇宙的第一強國。另外121和221正在交流之中,雙方的合併也只是時間問題。最後的結果極有可能是1型文明都整合進一個強大的文明,而所有螳臂當車的2,3型文明都會自取滅亡。一些較小的1型文明,因為科技實力不濟,無法被整合,他們將長期存在,直到宇宙陷入馬爾薩斯陷阱,戰端再起。
第二次模擬的情況與黑暗森林理論相去甚遠,原因何在?
我分析,這次模擬恰恰說明了「技術爆炸」和「猜疑鏈」這兩個條件的重要。遊戲中的交流是以雙方科技差距決定的,然而由於首輪戰事的殘酷,弱小的1型文明基本都被篩掉了,導致剩餘的1型文明科技水平都差不多,交流變得非常方便,這使得「猜疑鏈」失效了。而技術爆炸的概率較低,使得合併其他文明較之技術爆炸對科技提升有更穩定的作用,導致幾個1型強國與其他文明的差距迅速拉大。另外,這也包括一定的運氣成分。在遊戲初期,3型文明就非常弱勢,強國都是1型或2型,這是一個偶然情況,但恰好發生在本次遊戲中。如果幾大強國都是戰爭狂,宇宙的秩序會完全不同,自我暴露的1型文明會像第一次模擬中一樣被迅速消滅。另外第二次模擬文明要稀疏的多,資源相對豐富,因此大部分文明離馬爾薩斯陷阱還有相當遠的距離,用不著不顧一切發動戰爭。多圖預警
項目github 地址: rem2016/SimUniverse
參考了@扶保聖清毛東珠 的回答,我也將文明設定為保守型、進攻型和外交型。但和大劉以及上面高票回答不同的是我假設沒有末日武器存在。因為有末日武器存在,信息交流又很困難的情況下相當於是一個囚徒困境,此時為獲得最大利益最好的方式就是在發現一個文明時直接使用末日武器。
為了能夠測試不同的策略對於一個文明的影響,首先就應當確定這個世界的基本行為與規則以及基本因素。只有在定義了這個世界的基本規則之後才可以將不同策略的文明代入,從而觀測不同決策的文明所面臨的不同結局。但是因為沒有相應的測試數據,很難驗證與調整模型當中的參數以及假設行為,所以在本問題中我將設置多種情境,測試在這些情境下各類文明的生存率等因素。
先放模擬結果:
兵力發展動圖(比較大,我就放個鏈接~)(動圖中的一個圓代表一個文明,其半徑代表其軍事強度,橫縱坐標代表了它的首都的位置):https://github.com/rem2016/SimUniverse/blob/master/imgs/mlst.gif
(下面圖片中的橫軸為時間,縱軸為存活數量,其中的藍線(DIP)為外交型的文明,綠線(ATT)為進攻型文明,紅線(CON)為保守型文明)
情景一:戰爭死亡率低,但資源不充足的情況下,保守型文明有較高的死亡率
下面三個圖代表了同等生存面積(假設其世界是二維的)下,不同文明數量下(即不同文明密度情況之下)三種文明的剩餘生存數量。因為引入了資源不充足的情況所以這對於保守型文明是一種考驗,因為保守型文明不主動掠奪與結盟,長期依賴於自身的資源,所以它在資源不充足的情況下容易死亡。
低密度:
中等密度:
高密度:
情景二:盟軍支援充足,資源充足,戰爭型文明強大
這裡加強戰爭型文明的原因是,若盟軍的支援很充足,那麼顯然這對於戰爭型文明是很不利的。並且好戰型的文明沒有辦法從別的地方獲取到別的資源和利益,若不將其加強則其將極快滅亡。而當戰爭型文明滅亡時,文明間的衝突就少了而失去了觀察價值。所以將其加強是合理的。第一張圖是保持了一種僵持態。
低密度:
中等密度:
高密度:
情景三:支援少,資源不足
這種情況主要是與其它情景作為對照觀察。可以看到在這種情況下外交型文明極易死亡,保守型文明相對於外交型文明更不容易死亡,而好戰型文明在這種情況下生存能力最強。
低密度:
中等密度:
高密度:
情景四:支援量適中,資源適中
如下圖所示,在這種情況下,三個文明的死亡數呈現高度相似。在前面的大部分時間裡,文明之間沒有很多因為戰爭死亡的例子。而在500年(時間單位可以隨意調整,用年描述方便一些)左右就開始了因為戰爭而死亡的例子。而到700至800年可以看到死亡率存在增速,這裡是因為資源過少而產生的死亡。因為勢均力敵,所以這三條線在後半個模擬階段基本處於重合的狀態
低密度
中等密度
高密度
情景五:探測速度慢,其他量適中情景五:探測速度慢,其他量適中情景五:探測速度慢,其他量適中
通過與情景四對比,可以發現文明開始死亡的時間延後了很多,並且通過日誌文件的分析可以判斷得到其死亡原因大都是因為資源不足。左圖中,因為無人星系較多,所以資源數量相對多,所以死亡量少;中圖則死亡了更大比例的文明數量;右圖中可以看到有接近50%的文明都死亡了。
低密度
中等密度
高密度
根據以上模擬結果我們可以觀察到,當資源不足時,保守型和外交型的文明相對於進攻型的文明更容易死亡,尤其是當無人星系(含有資源)數量少的時候進攻性文明更容易生存。而當資源充足時,若盟軍之間的支援足夠及時則進攻型文明則很難生存(除非其有強大很多的科技技術,並且無人星係數量較少)。而在探測速度很慢時,資源就成為了文明能否生存的決定性因素。
綜上所述,不可再生資源、在宇宙內的探測速度、含資源的無人星系、盟軍支援的及時程度、宇宙內各種策略的文明的構成比例都是決定最佳策略的關鍵因素。而在上述的所有關鍵因素當中,最為關鍵的就是宇宙內不可再生資源相對於文明數量的比例,由模擬的結果可以看到這個比例在決定最佳策略當中佔有很大的權重:在資源不足時,好戰型策略有更好的表現,在資源充足時,外交型策略往往能存活更久。
模型假設:
1.所有星系均視作為二維平面上的點。
2. 資源是星系固有不可再生的,資源只有一種類型僅用一個數值來表示。
3. 文明只有三種策略,好戰型、外交型、保守型。
4. 外交型文明會主動進行外交,若遇到好戰性文明則會造成一定比例的兵力損失,若遇到其它外交型文明或保守型文明則建交。好戰型文明遇到任何文明都主動宣戰,若戰爭勝利則佔據該領地。保守型文明發現其他文明後不採取任何行動。
5. 任何文明碰到無人星系都會主動佔領。
6. 經濟方面只考慮勞動力、勞動資料、自然資源、產值四個指標
7. 戰爭方面只考慮進攻型科技、防禦性科技以及兵力
8. 盟國無條件支援更弱的國家。
9. 每個文明在星繫上的偵查範圍的面積固定增長。
10.沒有末日武器存在,每場戰爭都要持續一段時間。
11.盟國之間不會分裂。
12.在滿足其他生產條件(兵力,科技)後才會發展勞動力。
模型
模型主要使用了正規戰爭模型和道格拉斯生產函數模型,其中還包括勞動力變化模型、偵測行為模型。
其中正規戰爭模型為星系之間的戰爭行為定好框架,道格拉斯生產函數用於設定星系的經濟發展與資源消耗的具體行為,勞動力變化模型用於定義星系殖民行為,偵測行為模型定義了不同文明之間如何發現彼此以及沒有人居住的星系,以及他們發現彼此之後的行為。
具體細節我就不贅述啦,有興趣的話可以看rem2016/SimUniverse ,我在這裡寫的比較詳細~。
讓我想起p社不完善科幻戰略遊戲《群星》,估計能夠完善模型的話,大概會有個比較有趣的結果,目前不行因為本身它是個遊戲為了遊戲性和平衡做了很多設定導致本該極其有優越性的難以發展(比如全文明以及最頂級文明對人工智慧文明極其排斥,遊戲會設定出來一定某文明對人工智慧開發過度就會被AI逆襲失去大量底盤還難以圍剿而沒有一個和平共處的解決方案)~《群星》給出的遊戲雖然是個半成品,但是設定上還是很講究的,雖然腦洞相對不夠大~
圍觀,一直很喜歡大劉的作品,腦洞太大了。
這個和初始設定欄位和值相關吧,但更加和主觀因素相關。例如,一開始就設定是零和遊戲,基本都不用演算就猜得出結果。。
簽售的時候我搶著問過劉叔,他也說得不很清楚(人太多了,都在催),大概就是文明越來越少,剩下的越來越強大
編寫了一段程序模擬文明進化過程,設定:
1.文明隨機誕生在宇宙星系中,科技能力0-30000,起始階段每輪自然成長值0-20.
2.文明友好度隨機0-100
3.有一定幾率發生科技爆炸
4.戰爭取勝科技能力會有一定增長,失敗會有一定程度跌落
5.消滅其他文明,獲取對方科技成果,科技能力會獲取較大增長
6.戰爭取勝幾率與雙方科技能力相關,但並不絕對
7.發生戰爭後,雙方記錄對方為自己敵對文明,時間資源允許條件下,優先攻擊敵對文明,後探索宇宙空間其他星系
8.科技能力超過某一上限後,有一定幾率引發危險實驗,科技倒退
9.成為頂級文明後,沒有強大威脅,友好度大概率下降
10.每輪中,單個文明發動戰爭和探索次數限制為10
11.雙方友好度相加小於100,則發生戰爭
下面是幾次模擬中比較有趣的文明檔案,應該就是大劉所說的匪夷所思光靠想像不可預見:
=====================================================================
文明1:誕生後,科技自然增長為0,一直未與其他文明接觸,首次被其他文明發現即被消滅。
文明2:誕生後,科技增長多輪,發現文明61,攻打,戰勝幾率始終為0,後被62號文明消滅,有趣的是,61號文明敵人眾多,始終未來得及報復2號文明。61號文明後與62號文明互相成為強大對手。
文明61:初始階段發生兩次科技爆炸,取得極大優勢
=====================================================================
文明3:消滅一個對手後被84號文明消滅,此類文明非常常見
文明84: 曾經極度強大,消滅多個對手,後被77號文明消滅
=====================================================================
文明27: 科技指數及增長率都極低,但處在宇宙邊緣,之道宇宙中雙雄爭霸時竟然還在存活
文明49:科技指數10,增長率0,友好度1,被友善度較高的文明發現後,消滅。。。
=====================================================================
文明92: 友好度99,成為最後宇宙霸主唯一friend
=====================================================================
2號文明安靜地成長到第42輪,期間與85號文明發生過一次友好交流(85號文明後來成為頂級文明,展開對外侵略後,被逐漸削弱後滅亡)。第42輪被95號文明發現,彼此進入長期戰爭,第45輪,95號文明被11號文明消滅。2號文明後遭遇19號文明,第56輪被消滅。11號文明也在後來被19號文明消滅,19號文明最後成為宇宙唯一霸主。19號文明在第6輪發生科技爆炸,奠定優勢,但後來與8號文明發生膠著戰爭並落入下風,後與周邊其他文明發生戰爭並奪取大量資源及科技成果,反擊15號文明並將其消滅。
=====================================================================
24號文明在擴張,發現或搶佔多個星系,但母星也被其他文明侵佔,居然一路從宇宙一端遷移到另一端。
=====================================================================
文明17:誕生後科技自然增長,34輪發生科技爆炸,連續擊敗87號文明和95號文明,迅速膨脹,但遇到73號文明時,已經無法理解對方的科技發達程度,主動發動戰爭後被逐漸消滅。
文明5: 經歷多輪自然成長,剛剛向外探索時即遭遇後來的宇宙霸主,無路可逃,無奈發動戰爭,但獲勝幾率一直為0,後被消滅
=====================================================================
文明32與文明44在後期成為宇宙中勢均力敵的兩大勢力,各自佔有眾多星系,戰爭互有勝負,直到第2000輪仍然激烈交戰。
推薦閱讀:
※VR技術的發展會不會讓很多行業倒閉?
※gear VR的實際使用體驗以及應用開發難度如何?
※想從事虛擬現實行業,該怎麼入行?
※Oculus Rift 遊戲頭盔戴眼鏡可以用么?我是近視
※最近被「裸眼3D」刷屏了!是比VR好玩,還是比VR怎樣?