返回列表 发帖

[历史] 对于RO的概率(精炼例子)

百般无聊小弟来猜测一下RO中的某些概率。大家都知道,RO里面攻击伤害是有浮动的,命中率、暴击、精炼等都是有概率的(官方资料是那么提供)。RO小站上的高人也有很多,对于概率这方面很多人都有过研究与猜想。有些已经被证实有些还只是猜想,因此小弟这次也说一下自己的猜想。
     概率学我想很多人都学过,不管是中学、大学里面学的。随机数的概率我想大家都有,而我想说的是程序中的随机数与概率性。
     为何说是程序中的,因为程序是人写的,程序中的随机数和概率可以说都是“假”的,只能作为一个参考,具体实现可以说有偏其本质。RO中的概率比如掉宝率,回避率,爆击率我想是大家研究最多也是最透彻的一些概率。但是我可以那么说(大家可以当我是猜想)因为它是程序不是我们所说的扔硬币,概率只是起着一个参考,为何那么说我只能说是程序员让程序有个大概的固定参考值,比如50%的爆击,95%的回避那些只是我们让机器有个参考范围,也就是说不要让其溢出的范围。而具体是否真如官方提供的那样的概率,我们无从得知,毕竟程序怎么写我不知道,随机概率加入哪些参考与附加值我都不知道。但是我为何敢说它说不同真的概率的,大家有没有觉得50%的爆击会连续爆击,也会连续不发生,命中和MISS这种情况更多。有人会说你试验1000 1w 10w次看看不就接近官方的数据了,但是我想说我们是玩游戏,没有多少人会去做这个事情。大多数情况是砍个几百下甚至10下左右看看命中和回避是否提高了(毕竟是玩游戏)正是这样,程序的概率就左右的很大。它的编写直接导致在低次数情况的出现规律。

    可能有些长,前面大家就当我什么都没有说好了,接下来我来说重点(个人猜想):
我拿大家做的比较多的(手动的)也比较有争议的“精炼事件”来做下个人猜想,以此来参考其它概率(因为我想一个游戏的整体系统概率性应该是差不多的,附加的数值参考也应该互相有参考性)
    大家有没注意过,精炼的概率甚至随机值是怎样产生的呢?是全范围内的等概率事件,还是如二项式曲线一样中间概率高、两边概率低?

  我的猜想是是:中间的数值概率高,两边的概率低。至于具体的分布概率,请看下面详解(都是个人猜想)。

  精炼数值的表述不是一个由下限到上限的具体数字范围,而是用的类似这样一个式子:
  A+BdC(其中ABC均为自然数)比如精炼+5吧,用一般表述方法就是>0-60%(也就是官方提供的数据),而用后一种表述方法则为:0+2d4(这个只是例子)有人可能会问了,这种表述方法是什么意思呢?


  这其实表示,RO概率分布使用的是d&d色子系统。通俗一点的理解就是:任何精炼机会都是有一个基础攻数值A(比如基础是0),B则代表色子数量,C则代表色子的面数。每精炼一次,系统就扔出两个4面的色子(色子扔出1-4的概率是相同的),假如扔出来的数值是2、4,那么这一次精炼的成功率就是0+2+4=6。当然啦,当扔出的都是1时,就是最小值2,当都是4时,就是最大值10。这个只是我的一个例子,具体A B C这个3个定量程序怎么设定就无从考证了。A的定义基本表示了程序所能接受的最小值(150双出2双+5)也就可以解释的通了。因为程序可能设置A为一个无穷小的数,B设置是决定其控制几次,而C的出现就有着决定意义,他可能是由0 10% 20% 30%这些数组成,也就决定了你最终精炼的成功率。那么为何有人说会经常出现连爆或者一个+10(其他爆击命中也是)大家继续看:

  现在来研究一下分布概率的问题。
  一种可能性1/101+1(30%+30%)
  两种可能性2/101+2、2+1(20%+30%、30+20%)
  三种可能性3/101+3、2+2、3+1(10%+30%、20%+20%、30%+10%)
  四种可能性4/101+4、2+3、3+2、4+1(30%+0%、10%+20%、20%+10%、30%+0%)
  可以看出来,越居中的数值随机出来的可能性越高,而两边的数值概率是对称的,越远概率越低(伤害浮动特别适用)。
   
    而精炼的头(1~4)可能被程序强制设置为100%,这样也就很好解释为何+5+6+7+8比较容易+9+10比较困难。(一个是市场需求,更左右的是“概率”)同时为何会出现某些rp事件,150爆148个,一个就+10的概率问题。那些只是程序中的设置,只要不超过数值的设定,什么都有可能发生。而且我更加怀疑的是RO整个系统使用的都是d&d色子系统,但是每个事件又是分开的,也就是ABC设的不同(甚至细分到+5+6+7……)每个数值都不一样。
    以上的我只想说明一点,对于计算机来说概率只是参考,它绝对有一些让你说不出来的规律可循。如果你偏要说概率可以适用的话(我打了几w几十w的怪物的确掉宝率是这个)那么只能说在量变的基础上任何事物都会像一个目标发展——那就是真正的概率(计算机那个时候也就回归了)。因为我是玩家,不可能进行大数量的测试,如果能在有限的基础上摸索出一些“概率”那不是很好吗?

[ 本帖最后由 哲也 于 2006-10-11 11:35 编辑 ]

谁挖的坟……
改变你能改变的,接受你不能改变的
NEW!!RO彩图相册——》http://bbs.rohome.net/thread-752477-1-1.html
飞空艇|KPL传送线路、钟楼|古城地图走法——》http://bbs.rohome.net/thread-770597-1-1.html
SY/TY/新生|自制预读教程——》http://bbs.rohome.net/thread-788813-1-1.html

TOP

在程序中实现现实的概率是完全可能的。不要怀疑计算机的每秒上亿次的计算能力。通常会有相当好的库函数以供调用,用过MATLAB的人肯定知道这一点。即使不是这样,那编写一个概率函数也并不困难,可以实现的比现实的概率还概率
所以lz我不同意程序中的概率和现实的有区别这个说法。

不过像千千所说的完美会导致负担加重会有可能的。但是我们不能判断RO程序编写是否真的遵循了现实的概率。而概率的统计必须在大数的基础之上。小数应该是靠所谓的RP咯,体现不了和概率的一致。。150双包148的这位同志其概率可以和偶尔买一张彩票中一亿美金的阿婆相比了,但绝非完全不可能哦。

[ 本帖最后由 havtousmaj 于 2006-12-17 15:26 编辑 ]

TOP

其实很简单,就是成功和失败.

程序里那和现实中不同的概率,也会遵循现实里的概率.

简单的比喻下,就是随机产生1个数(1-10),跟精炼值比较大小判定成功还是失败.我想官方的概率是针对产生的随机数而言的,至于玩家成功还是失败,看RP的.

TOP

计算机中最普遍最容易的做法是取余数:

x = 取当前系统时间 % n(n = 预设概率,比如:100、500、1000...)
if(x == 0)
  成功
else
  失败

所以,如果真的是采用这种方法,理论上讲完全相同的精炼状况在相同间隔时间产生完全相同的结果(即使是这样简单。很遗憾,你别忘了那是指服务器时间,由于网络传输信息的时间无法做到非常精准。所以你不用妄想用你的计算机和服务器时间做个同步,除非你在服务器上插了个时间控制木马)

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

为了防止连续出现成功(或失败)次数太多,可能会有成功(失败)记录,这就是为何有些人乐忠于频繁上下线和在成功精炼之后连续冲暴几个无关紧要的物品,那可不是受到FLG影响:
如果你连续多次成功(失败)多次,意味着你的成功(失败)率在下降,要靠下线清除纪录(不下线维持纪录)来争取最大成功率。

TOP

有啥好辩的 人品无敌才是王道

TOP

原帖由 OTL 于 2006-10-11 13:11 发表
概率,是在收集大量客观事实数据后所作的统计结果,而LZ很明显在只把概率当作是计算机里面的程序操作,无法交流

虽然我不同意楼主的看法,但是你的看法也不同意
实质上程序中的概率确实跟现实的概率有着本质的不同
实际上的概率是不可控制的,但是程序中的概率发生率却是人为控制的

虽然程序员都会学过概率学,但是却没人会吃饱了撑着把程序中概率的计算设定得过于复杂(过于复杂的结果有两个,其一是对硬件要求急剧提高,其二就是在进行程序debug的时候需要的时间更长)

看客的意思大概就是我的意思了。但是具体是如何操作的我也不知道。大方向就是设定了一个几率表而已。在程序运转的过程中提取这个表的值来做true和false的判定而已

程序中每个事件都依存这个表进行判定,但是这个表不可能极大。否则会大量的占用内存导致系统性能下降(指服务器)。CRO运行快4年了,这个表应该轮回了无数次。但是从未有提及50连暴的事件发生。故此推断此事件的发生概率为0。实际计算中这个事件的发生概率为7e-27,实际上计算也可以认定为0
再盛大的宴席,也终有他落幕的一刻

TOP

很多库例程产生的“随机”数是准备用于仿真、游戏等等;它们在被用于密钥生成一类的安全函数时是不够随机的。其问题在于这些库例程使用的算法的未来值可以被攻击者轻易地推导出来(虽然看起来它们可能是随机的)。对于安全函数,需要的随机值应该是基于量子效应之类的确实无法预测的值。

Linux 内核(1.3.30以上)包括了一个随机数发生器,对于很多安全目的是足够的。该随机数发生器收集来自设备驱动程序和其它来源的环境噪音放入一个熵池。在作为/dev/random被访问时,只返回熵池中预计的噪音比特数之内的随机字节(如果熵池为空,则调用被阻塞,直到收集了附加的环境噪音)。在作为 /dev/urandom被访问时,即使熵池为空也返回所要求的那么多字节。如果用随机值作加密用途(如产生一个密钥),则应使用 /dev/random。更多的信息可以在系统文档random(4)中找到。

TOP

某次服务器维修前10分钟连爆20双+8战靴
以后再也没敢在维修前冲装备
好喜欢的发型!!

TOP

精炼就像俄罗斯轮盘赌,一直押13总会有中的一次,不过是看你先中还是钱先用光.

TOP

学术研究...不懂的...阿门

支持3块钱..只要你帮我敲东西就够了.

TOP

设计精炼概率的人一定会考虑到连续成果过多或连续爆掉过多装备的可能性 为了避免这种可能性 一个稍微像样一点的游戏都会设定一个最大值例如冲+5是20个以内肯定成功 连续冲成功30个以上肯定会爆掉之类的 任何涉及概率的游戏基本上都会做这样一个设定 换句话说ro肯定也有这样的设定150双出两个+5就是无稽之谈 暂且不说连爆49双那个等于0的概率 我想游戏本身的设定也不会允许装备连爆49个以上

TOP

原帖由 OTL 于 2006-10-11 13:11 发表

概率,是在收集大量客观事实数据后所作的统计结果,而LZ很明显在只把概率当作是计算机里面的程序操作,无法交流



我的确在说程序操作,因为我们玩得是一个游戏。也就是说程序和概率只有一个小的交集

TOP

原帖由 看客 于 2006-10-11 12:25 发表
恩,承认,电脑程序的概率和真正的概率学还是有差距的
程序的概率只是一个伪概率而已,追求的是在大的数量级上符合正态分布,RO具体精练应该就是在一个很大的乱数表当中随即取数然后和预设的一个数字比大小决定成 ...

概率,是在收集大量客观事实数据后所作的统计结果,而LZ很明显在只把概率当作是计算机里面的程序操作,无法交流
似乎CISSP距离我很远,却非遥不可及....

关键,从今天,而不是明天,开始,努力

洗澡去了~

TOP

我还以为进了研究D&D的帖子~
再强的女战士也敌不过触手
- -+
貴方に会えた証をすべての記憶に刻みつけたい

『一人じゃ何も出来ないけれど、私は私らしく!』

TOP

返回列表