登录
OEIS由OEIS基金会的许多慷慨捐赠者.

 

标志
提示
(来自的问候整数序列在线百科全书!)
A371949型 反对角线读取的数组:T(n,k)是当n支进攻军在一个领土内面对k支防守军时,攻击者在风险游戏中获胜概率的分子。 0

%I#77 2024年4月21日19:19:03

%S 32406415042004560624012702096000170514616320430865593920,

%电话25150150800000075341157626880023982717526732803552119332387200,

%电话:4979729715840000025957855082225664001336937398476152832022330694114078617602815500051019598080

%反对角线读取的N数组:T(N,k)是在风险游戏中,当N支进攻军队在一个领土上面对k支防守军队时,进攻方获胜概率的分子。

%C在风险游戏中,当玩家将一定数量的军队移动到另一玩家的军队保卫的领土时,就会发生攻击,攻击的结果是根据存在的攻击和防御军队的数量,反复滚动6面骰子来决定的,攻击者和防御者最多可以掷3和2个骰子,分别是。一些军队被淘汰,与最高与最高排名(失败者失去一支军队)、第二高与第二高排名(失利者再次失去一支部队)相对应,与防守方平局。这种情况会一直持续下去,直到侵略者决定在下一轮之前撤退,或者直到一方失去其在该领土上的所有军队(在这种情况下,胜利者与其余军队共同拥有该领土)。

%例如:爱丽丝的三支军队入侵了鲍伯的三支部队占领的领土;爱丽丝掷a(1,2,5),鲍伯掷a(4,2)。爱丽丝的5胜鲍伯的4,鲍伯的2胜爱丽丝2(鲍伯正在防守)。因此,每方损失一支军队,每方剩余两支军队。请注意,在本例中,如果Alice继续攻击,她现在将只对Bob的2掷骰子,从而降低她在该领土上消灭Bob军队的几率。可以看出,在一组任意大的掷骰中,几率对攻击者有利。当进攻方掷骰子3次,防守方掷骰2次时,在6^5=7776次可能的掷骰中,有

%C 2890导致防守方损失2支军队,

%C 2275导致攻击者损失2支军队,以及

%C 2611导致每人损失1支军队。

%然而,在1对1的情况下,防守方在7月12日至5月12日受到青睐,因为防守方赢得平局。因此,概率并不是那么微不足道,对于哪种配对是有利的。中间规模的军队需要反复翻滚,这使得情况更加复杂,例如上面的3-3对-3示例,其中攻击者有近2/3的机会会失去低于三军门槛的部队,但防御者有1/3的机会会减少到1名防御者对抗3名攻击者,这在很大程度上有利于攻击者。这需要递归计算进一步下游结果的概率。

%H<a href=“https://www.hasbro.com/common/instruct/risk.pdf“>风险官方游戏规则。

%H<a href=“https://en.wikipedia.org/wiki/Risk_(游戏)“>风险-维基百科。

%e这个序列列出了分子T(n,k)以及n支进攻部队战胜k支防守部队的概率的反对角线。每个概率的分母为7776^(n+k-1)。序列从T(1,1)开始,移动到T(1,2),T(2,1);T(1,3)、T(2,2)和T(3,1);因此,第一个值为3240/7776=5/12。

%e由4支或更少的军队进行的k对k攻击,直到完全消灭,将有利于防守方,但5对-5或更多的军队将有利于进攻方,随着双方每增加一个死亡,进攻方获胜的概率稳步增加。

%o(Python)

%o来自itertools导入产品

%o从集合导入计数器

%o从functools导入lru_cache

%o从馏分进口馏分

%o def get_elims(o,d):返回元组(-''。join(['od'[int(o>d)]for o,d in zip(*[排序(i)[-2:][::-1]for i in[o,d]])])。count(j)for j in'od')

%o@lru_cache()

%o def elim_p(o_n,d_n):返回{j:计数器中j,k的分数(k,7776)(乘积中i的[get_elims(i[:o_n],i[o_n:o_n+d_n])(范围(1,7),重复=5)]).most_common()}

%o@lru_cache()

%o定义resp(on,dn):返回{(on+i[0],dn+i[1]):i的j,elim_p中的j(min(3,on),min(2,d_n)).items()}

%o定义get_final_result(o_n,d_n):

%od,g={(on,dn):1},[(on、dn)]

%o而g:

%o w,p=g[0],d.pop(g[0])

%o表示res_p(*w).items()中的i,j:

%o d[i]=d.get(i,0)+j*p

%o g=[i代表d.keys()中的i,如果min(i)>0]

%o返回d

%o def get_win_count(o_n,d_n):返回(总和(j代表i,j在get_final_result(o-n,d\un).items(),如果i[0]>i[1])*(7776**(o_n+d_n-1))).分子

%o a=[get_win_count(on,t-on)对于范围(2,30)中的t对于范围(1,t)中的on]

%K non,tabl,压裂

%O 1,1

%A _尼古拉斯·斯特凡·乔治斯库,2024年4月12日

查找|欢迎光临|维基|注册|音乐|地块2|演示|索引|浏览|更多|网络摄像头
贡献新序列。或评论|格式|样式表|转换|超级搜索|最近
OEIS社区|维护人OEIS基金会。

许可协议、使用条款、隐私政策。.

上次修改时间:美国东部夏令时2024年6月21日20:04。包含373559个序列。(在oeis4上运行。)