Jump to content

[原创]闪光机制的个人猜想


Recommended Posts

一,前言

闪光机制的讨论一直没有停止过,但一直都没有一个定论,最近讨论的也蛮多的,因此有感而发。我现在也没有得出一个定论,所以下面的叙述对你来说很可能没什么帮助。

 

二,结合概率来推测现象

官方给出的闪光几率是三万分之一,用这个概率我们可以推测一些现象。
假设在一段时间内,有一些玩家一共刷了三万只精灵,现在我来研究出现闪光精灵的概率。
这里可以使用泊松公式来简化二次项分布概率的计算。

折叠

posion1.jpg.9f2ae645d635534ac811853effd447fd.jpgposion2.jpg.cf1ed43c73f884f1a169719dc50cc562.jpg

p{出闪概率} = p{出现至少一只闪光的概率} = 1 - p{没有闪光的概率} =  1 - p{X=0} = 1 - e^(-1) ≈ 63%

(入 =np = 3w * 1/3w = 1)

现在,我将这些玩家分成三类:
1.我,刷了1k只精灵;
2.刷努力的玩家们,刷了2w只精灵;
3.其他散人玩家,刷了9k只精灵;

那么
p{我出闪的概率} =  p{落在我这里的概率} * p{出闪的概率} = 1k/ 3w * 63% ≈ 2.1%
p{刷努力出闪的概率} =  p{落在刷努力玩家里的概率} * p{出闪的概率} = 1.4w/ 3w * ≈ 29.4%

由此可以推测
1.即使再小概率的事件,只要发生次数够多,它就能发生甚至发生多次。
2.相较于单独刷闪,聚集刷闪(看作整体)更容易出闪。
3.很多人总说为什么出闪的总是别人,因为别人是一个群体概念,而我就是特指自己。

 

三,用概率反推闪光机制是不可靠的

举一个例子,丢硬币的概率是正面50%反面50%,这个是我们观测出来的近似值,也即是频率的极限 = 概率,所以我们可以用这个推测一下丢10个硬币正面反面的情况。
但是要研究为什么会出现正面或者反面,一定是去研究这个事情的本质,在这里,可以理解为丢硬币的参数影响硬币出现正反面。比如硬币的起始位置,丢硬币的抛射角度,抛射力度等等会影响硬币呈现正面还是反面。
类比于丢硬币,我认为闪光机制的研究也是如此,我们应该去研究哪些参数会影响闪光机制,另外这些参数是如何运算从而判断的,也就是闪光机制的算法。

 

四,闪光机制的研究难度较大

在这里,我先引用一个物理学上的典故,开普勒第三公式的发现基于开普勒的老师对行星运动轨迹的长期观测,在老师去世后,开普勒继承这些观测值,进过很多年的努力终于得出了开普勒第三公式

折叠

kaipule.thumb.jpg.ab632952721d7a8bcb5d6c83f9b9538d.jpg


在这些大量的观测值中,开普勒确定了这些参数才是影响行星运动轨迹的主因,但在这些观测值中,有很多都是无关参数。
举这个例子我想说明:
1.闪光机制的参数可能很多;
2.闪光的事件成型慢,收集大量观测值难度大;
3.即使有大量观测值,辨别出有用参数和无用参数的难度依旧很大;
4.开普勒第三定律是人类对自然界法则的伟大发现,闪光机制是人为创造的,它就像一本关在保险柜里的使用说明,设计师不告诉你它的内容但是却可以随意改动。

 

五,垫刀截胡是否存在

我以前在说垫刀和截胡是存在的,但是现在经过这些时间,我改变了我之前的看法,我认为没有证据可以证明。

现在我要假设一个我认为存在垫刀和截胡的情况,有一些复杂而且可能漏洞百出。

假设闪光机制的参数有:

1.来自服务器产生的宝可梦提供的参数类型A(比如宝可梦内Id。。。)

2.来自玩家的参数类型B(比如玩家内Id,捐赠闪付情况。。。)

3.来自游戏环境的参数类型C(比如你在哪,几点,是否下雨。。。)

这些都是我假设的有效的参数,和实际没有任何关联。

假设闪光算法:

R = F(A,B,C),R是一个值,F是闪光算法,ABC是它需要的参数,如果这个值掉落在某个范围内,则判定出闪,否则不出闪。

现在我有一个假设的场景如图所示:

situation.thumb.jpg.5058a081397935f5d5a2e6c67da68339.jpg

现在来简单解释一下这个图
系统会一直产生宝可梦,而产生的宝可梦提供的参数类型A是一个对每个玩家来说都是一样的随机序列a0,a1,a....a1004,也就是说,接下来即将被玩家刷出来的精灵的参数a0,...,an 对每一个玩家来说都是一样的,只不过这些参数由谁获得是随机的。这里,我认为的宝可梦参数类型A是共同并且需要竞争的,也就是垫刀和截胡的前提条件。

现在有三名玩家他们还有其他两种闪光算法参数类型B,C(假设他们的B,C参数不变,实际上有可能经常变化),这些参数不是共同且竞争的,
而即将由系统产出的宝可梦提供的参数类型A序列a0,a1,....an对他们来说是共同且需要竞争的,对于相同的参数A(a0,...an),由于玩家的其他参数不同,继而由闪光算法算出的值域R = F(A,B,C)也不同,而这个值域是一个范围,会导致它落到闪光判定的范围的概率也不同,这里我简单的归为三种类型:低概率,中等概率,高概率.

现在针对这个图和我的假设,我来阐述一些现象:


1.截胡
我们来看到a0对应的三位玩家的情况,玩家2和玩家3都是高概率出闪,但是只能有一个玩家获得,所以如果玩家2抢在玩家3之前获得,这就是我们说的玩家2截胡玩家3。

 

2.垫刀
现在归零,服务器还没产生a0,玩家3很明显在a0,...a1004序列里面,可以被认为是一个非酋,现在玩家1和玩家2开始刷闪,服务器开始运作,产生宝可梦a0,..an,玩家3这时突然上线而且正好他刷出的精灵正好是服务器对应的a1004,那么玩家1,玩家2帮玩家3抽走了本来他概率就很低的情况,让他有点运气好地上来就抽中了他的高概率闪牌,而且同时这个高概率的牌通过计算正好变成了闪,这就是玩家1,玩家2给玩家3垫刀了。

 

3."损人不利己"(打引号,不是真的那个意思)
接着垫刀的情况说,假如这时本来可能由玩家3抽走的a1004号牌被玩家1抽走了,这个牌玩家1是低概率出闪的,所以这就有点"损人不利己"。

 

4.“相安无事”
现在看到a3,这时玩家1不玩了下线,对于玩家2和玩家3来说,谁抽中a3都是低概率的,所以说是"相安无事"。

 

5.总结
因为玩家刷闪是不知道自己的情况的,所以以上行为是不受控制的。而且现实情况中有太多玩家了,情况会非常错综复杂。


另外,这里只是我的一个不严谨的假设,我得意思是想表达:
1.垫刀和截胡的前提是共享资源的竞争。
2.竞争的这个资源,或者说参数,在闪光机制里有重大影响,能改变"战局"。

 

然而现在我没有什么证据能证明垫刀和截胡的这些前提条件是存在的,也就不能证明垫刀和截胡是否是真的。

 

六,结束语

闪光机制在我看来是一个非常困难的课题,我对求解出它不抱太大希望,走一步算一步,想到哪算到哪。

游戏应该是快乐的,当我们开始变得不快乐的时候,应该停下来好好想想是哪里出现了问题。

 

Link to comment

按照编程的思路 (也是我认为的宝可梦闪的底层算法), 应该就是获取一个1到3w之间的随机值,然后判断是否闪. 然而实际上计算机给出的随机值并不是完全意义上的随机,而是通过当前时间结合复杂公式给出的一个伪随机值, 所以在一定意义上来说是可以预测到的 (来自一个编程菜鸟的看法).

Link to comment
10分钟前,Yogui1999 说:

按照编程的思路 (也是我认为的宝可梦闪的底层算法), 应该就是获取一个1到3w之间的随机值,然后判断是否闪. 然而实际上计算机给出的随机值并不是完全意义上的随机,而是通过当前时间结合复杂公式给出的一个伪随机值, 所以在一定意义上来说是可以预测到的 (来自一个编程菜鸟的看法).

我赞同你后面说的,计算机的随机函数确实有的是时间参数结合复杂算法的伪随机值,但是前半句的宝可梦闪光底层算法,宝可梦百科已经写过了,一个基本的算法是根据玩家内id同宝可梦内Id做一个异或运算得到值R,如果R值落到闪光值域内则判定为闪。任意R值落在闪的值域内的概率大约是1/8000,那么三万分之一,捐赠,闪付可能仅仅修改的只是闪的值域范围,不过我觉得按设计者的水平,至少还会加入更多参数,更复杂的算法,让情况变得更复杂更随机一点。

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.