第三次写博客,终于开始涉足M↓,界面也进行了优化,评论功能彻底开放,欢迎大家在文章评论区或者博客留言板中提出宝贵的意见。

实验设想来源

记得很久以前听说过一个关于“囚徒困境”的研究:研究人员制作了关于囚徒困境的不同策略(例如不论对方是谁都选择背叛、如果自己被背叛过则选择背叛等),并生成了大量不同策略的虚拟“囚徒”,让他们在一个虚拟监狱中不停地被进行“囚徒困境”考验,最终角逐出被判刑年数较少的一些人作为“优胜策略”。他们角逐出的“优胜策略”为“一报还一报”,即如果自己被背叛了,则下次角逐中背叛下一个人,如果自己没有背叛,则选择保守秘密。
我希望将这种研究方法作用于“宇宙社会学”的“研(gao)究(xiao)”中,于是决定利用类似的规则来寻找在刘慈欣科幻小说中所描述的“黑暗森林”世界观中的最佳生存策略。

实验方法

符号声明:如果未加特意说明,[a,b]表示在一个随机的x使 $ x\in[a,b] $ 。

一、背景设定

首先,设定一个宇宙“沙盘”,大小为1000*1000,将大量具有不同“黑暗森林生存规则”(“黑暗森林生存规则”在实验中被体现为一个函数,详见第三部分“文明规则”)的文明随机生成在整个地图中。文明可以通过“探测”(“探测”行为详见第四部分“交互行为”)随机获得其他文明的坐标,并通过文明自己的“黑暗森林生存规则”决定对其中的哪些文明采取哪些应对方法。文明居住的星球具有0-9共10种“舒适度”等级,“舒适度”将会影响文明发展的难易程度。文明的发达程度通过“发展程度值”(简称“科技值”)体现,在经历一定时间后“科技值”将会反应文明的排名。

二、基本规则

1.模拟采用回合制,每回合中所有文明会按照(在沙盘中的位置)从左往右,从上往下的顺序获得行动机会,后文简称一回合为“一年”或“一次迭代”。
2.每个文明活动开始时将会获得一定的科技值加成,规则如下
(1).所有文明的科技点随机增加[-1,+1]点
(2).一小部分文明发生“技术爆炸”,科技再增加[10,20]点,发生技术爆炸的概率为 $\frac{“舒适度”}{100}\times100%+6%$
(3).一小部分文明发生“灾难”,科技点降低[20%,50%],发生灾难的概率为 $14% -\frac{“舒适度”}{100}\times100%$
3.每个文明活动开始时将会对周围太空进行探索,规则如下
(1).每个文明的探索范围受科技值影响,探索的范围为 $min(5\times\sqrt{“科技值”},500)$
(2).所有与该文明的距离小于探测范围的文明都有可能被探测到,概率为$min(1%+”科技值”\times100%,100%)$
(3).一个文明发现另一个文明后有极小概率获知该文明的科技值,概率为$min(\frac{“科技值”}{100}\times100%,10%)$

三、文明规则

每个文明每回合只会得知目前经历的时间(迭代次数)、自己的科技值、自己的盟友状况(见第四部分“交互行为”)、以及自己探测成功的文明坐标(也可能包括其中一部分的科技值),然后文明会遵从设计者提前设定好的确定的规则(注意:这里的“确定”指无法人为干预,并不代表设定的规则中不能包括不确定的随机算法,事实上,我很期待全随机算法的表现)确定自己对已经探测到的哪些文明发动攻击、哪些申请结盟(攻击和结盟见第四部分“交互行为”)

四、交互行为

1.攻击
(1).假定所有战争都是在一瞬间发生的,且不会留下任何痕迹。
(2).战争中,若双方“科技值”之差不超过20,则任意一方的获胜概率均正比于该文明的“科技值”,且获胜方不会获得任何战利品。
(3).战争中,若双方“科技值”之差高于20,则科技值高的一方占有绝对优势,弱势方只有$max(15%,20%-\frac{\sqrt{“科技值之差”}}{100}\times100%)$的概率获得胜利,此时若弱势方获得胜利,则弱势文明的科技值增加20。
(4).战争不设平局、不设求和。战争中失败的文明直接退出游戏。
2.结盟
(1).两文明结盟后其中一个文明的“科技值” 变化将会有$50%$附加到其盟友文明中。e.g.:若文明A和B结盟,一回合中A先行动,若应该增加N点“科技值”,则A先增加N点,然后B增加$\frac{N}{2}$点,然后B行动时,若应该增加M点,则B先增加M点,然后A增加$\frac{M}{2}$点。
(2).一个文明A向另一个文明B申请结盟后,B开始行动时将会得知A的坐标,可以选择发动战争或者同意结盟
(3).盟友间若距离小于10,则战争中可以相互支援,即战争中两个文明视为一个整体,“科技值”取较高的一方。若距离高于10,则无法相互支援。

投稿方式

1.可以直接在本文章评论区投稿,也可以私信我投稿,但是不要再在朋友圈里盖楼了,秋梨膏!
2.投稿格式:
·文明名称:XX文明
·文明描述:这里可以写一些有趣的文案
·文明规则:可以写文字描述、可以画程序流程图描述、也可以提交python或者C++代码(没错我歧视pascal和PHP和JVAV玩家)
3.在最终较量中表现优异的文明的提出者可以获得五块钱红包哦(穷学生把自己化竞奖学金全拿出来了,给点力吧)

目前已经写出的文明策略

醉汉文明

醉汉走路定理:对于每个点A,不论其距离远点有多远,醉汉的随机走路都能在有限长的时间内到达。宇宙霸权也一样。
完全随机地向自己探测到的文明宣战或者结盟,完全随机的向与自己结盟的文明宣战或者结盟。

黑暗文明

宇宙就是一座黑暗森林,每个文明都是一个带枪的猎人,如幽灵般前行于林间,连呼吸都小心翼翼。
攻击每个自己知道坐标的文明。

孤独文明

虽然我富有攻击性,似乎是随时爆炸的火药桶,但是我渴望朋友,任何接近我的人都会被温柔对待。
攻击自己探测到的文明,接受所有结盟邀请。

莽夫文明

一个字,干!两个字,揍他!三个字,统统推倒!等等,还可以结盟?结盟是什么???
攻击每个自己发现的文明,不理会所有结盟邀请

和平文明

我们坚持和平共处原则,不主动挑事,以地区和平稳定为自己的责任,我们相信和平才能换来发展。
不攻击任何文明,接受所有结盟邀请。

孤立文明

不要找我,我是重度社交恐惧症患者,重度尴尬癌患者,我现在只想回家静一静。
不攻击任何文明,不理会任何结盟邀请。

脑残文明

我也不知道我怎么想的,但是我就是想这么做。至于我为什么这么想,我更不知道为什么,因为我是脑残!
向所有自己发现的文明申请结盟,但是攻击所有向自己发送结盟申请的文明

保守文明

果断就会白给!只有摸清了敌军的底牌,才可以超级加倍而不被十七张牌一套带走。否则就只有超级慈善一条路。
对于自己发现的文明,确定了其“科技值”比自己低20以上才会攻击,确定了其比自己高才会申请结盟,否则不予理会。同时不理会任何结盟申请。

激进文明

犹豫就会败北!只有超级加倍,才可以在胜利之后唱响“得得得得得”的凯旋之歌!
对于自己发现的文明,除非其“科技值”比自己高20以上,否则一律攻击,并且攻击任何申请结盟的文明。

婴儿文明

提出者:三体粉丝群网友@蓝色空间
我们就像是无知的孩子,点燃了一堆篝火,还在高喊着,我在这,我在这。
通过所有文明发来的结盟,并向所有发现的文明发送结盟申请。

北辰文明

提出者:三体粉丝群网友@Bill Hines
由于此文明过于暴躁,故用提出者语文老师的笔名命名
对所有探测到的文明发出结盟申请,并在下一回合攻击本回合拒绝结盟的文明。同意所有结盟申请。