你认为刘慈欣的「宇宙点状文明」模拟软件应该有哪些参数呢?

引自《三体》后记:我曾经陷入【宇宙文明点状化】的这种思维游戏中不可自拔,上世纪九十年代初,为打发时间,我常常编些无聊但自觉有趣的软件,现在网上重新流行的电子诗人就是那时的产物。那个时期,我还编过一个宇宙点状文明体系总体状态的模拟软件,将宇宙间的智慧文明简化为点,每个点只具有描述该文明基本特征的十几个简单参数,然后将文明的数量设置得十分巨大,在软件中模拟这个体系的整体演化过程。为此我请教了一位可敬…
关注者
670
被浏览
57,606

11 个回答

感谢 @李名扬 网友将文件上传至GitHub,链接为

GitHub - tslmy/ThreeBodyUpdate: A universe-scale civilization simulator.

-------------------------------------------------------------------------------

@三等公民
补充,自建1000半径3000星系100文明宇宙,目前唯一一个2型文明有248个星系,物理等级和扩张范围都是14,而别的文明都只有一到两个星系,最多的也就是一个拥有5个星系,物理等级和扩张范围都是13的3型文明。。。
神隐的星际帝国不屑于理会虫子们嘛?



谢谢这位网友的测试。这个评论非常有意思我就拿出来说一下。

不是星际帝国不屑于理会虫子,而是这个星际帝国到达了扩张极限。在它们的视野里,已经没有距离它们14以内的恒星可供征服了。
这种恒星间的鸿沟有两种:一种是天然的,因为宇宙的中心恒星较为密集,边缘区较空旷。还有一种是炸出来的,因为文明沿着自己的边境使用末日武器,最后把可以作为中转的恒星都炸毁了。

根据我的经验,大体上,一个控制200多恒星的文明可以升级到20级左右,之后就会因为陷入马尔萨斯陷阱导致技术停滞。所以你这个游戏接着玩下去有两种可能:
第一,这个最庞大的帝国在陷入马尔萨斯陷阱前发生了技术突破,可以到达更远的星系,开始新一轮扩张;
第二,这个帝国没能完成足以达到新星系的技术突破就陷入马尔萨斯陷阱,那么他们就永远被钉在这248个星系,剩余十分之九的世界,处于了光锥之外,和他们再无瓜葛。而那些只有一两个星系的小文明,会像我们人类一样,仰望着星空发出疑问:如果这个宇宙中还有其他的文明,他们为何至今没有现身?

我想,这也是对费米悖论的一种解答。


------------------------------------------------------------------------------------------------


经过这一个星期的努力,我目前使用MATLAB制作了一个程序, 对大刘的点状宇宙文明进行了模拟,得到了一些有用的结论,比如《银河系漫游指南》算错了,宇宙的终极答案不是42而是41。


MATLAB文件地址: pan.baidu.com/s/1dFoMyt

有同学反应链接被删除,应该是知乎出了一些BUG,把链接复制,粘贴到地址栏直接搜索应该就可以了。

有同学反应链接被删除,应该是知乎出了一些BUG,把链接复制,粘贴到地址栏直接搜索应该就可以了。


有同学反应链接被删除,应该是知乎出了一些BUG,把链接复制,粘贴到地址栏直接搜索应该就可以了。

首先在模拟中我加入了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型文明会像第一次模拟中一样被迅速消灭。另外第二次模拟文明要稀疏的多,资源相对丰富,因此大部分文明离马尔萨斯陷阱还有相当远的距离,用不着不顾一切发动战争。

给大家带来一个小玩具




模拟地址:xtutu.me/simulation/


两个月前,就看到了这个提问。因为本身很喜欢这本小说,而且除了三体,大刘的其它短篇,我也都全看过。所以还是很有兴趣来写这样一个模拟程序的。

不过不管怎么写,这个就是一个玩具,所以大家也别太较真。

当然如果这个模拟程序的数学模型比较有意思的话,那这个也会是一个比较有意思的玩具!

目前界面上提供的可配参数,已经可以模拟出不少有意思的结果。大家可以自己试试看。


因为还没遇到可敬的学者,帮我修正数学模型,所以现在的数学模型会存在不少问题。

同时这个程序,还有很多东西没有做,比如:UI优化,性能提升,文明模拟日志记录等等等。。。


如果您发现BUG,或者有什么更好的想法,欢迎给我发私信,或者邮件,当然如果愿意打赏,那就更好了...

(点击网页上的“贡献按钮”,有我的联系方式。)

我会抽时间更新下程序的。大家可以保持关注!

感谢。




基本使用指南

三角形:表示被文明占领的星系

正方形:表示未被占领的星系

线:表示文明的所拥有的星系范围


查看控制台模拟日志:

F12->Console



目前的设定

宇宙中的资源是恒定的,文明存在技术爆炸。

文明主要属性:

生命值:表示文明资源之类的信息,小于0时,文明毁灭

科技值:表示文明科技

技术爆炸概率:每回合一定概率提高科技值

友善度:决定文明之间接触时,进行友善交流与发生战争的概率

(1表示最友善,0表示充满恶意)


除此之外,还有许多其它属性:

搜索距离

攻击力

每回合生命消耗

每回合生命获取

每回合科技增长

每回合操作次数

文明对其它文明的可见性

文明控制的星系数量

等等等。。。