Re: [闲聊] 炉石的RNG

楼主: aaaaajack (丁丁是个人才)   2015-11-04 16:03:32
※ 引述《Hsu1025 ()》之铭言:
: 这游戏的RNG是怎么运作的?
: 举个例子:伐木机
: 虽然BZ没说(还是有说?),每个掉落的2费怪机率应该都相等
: 但是大家应该都有遇过在同一天内遇到重复的怪物的经验
: 这应该是跟算法有关吧 (我也不懂程式语言)
: 就我玩过BZ的游戏来说,这种情况算是屡见不鲜
: WC3信长,-V的时候也常常遇到同一天内选到重复的角色
: WOW、暗黑也有类似的经验
: 另外就是装备掉落、卡牌抽奖这种东西,刚开始都会给甜头
: 之后就会修正到(公司的)期望值
: 好像听过有人说程式的机率都不是真机率,只是写法不同,运作方式不同
: 这种游戏它应该都是写得稳赚不赔吧?
抱歉直接嘘下去有点太冲动了,生日问题的确比较反直觉
简单来说炉石有84张2费手下,随机生成两张相同的机率是1/84
那你可能会觉得随机生个15张重复的机率还是不高
事实上15张里面“两两比较”的组合高达105种
虽然跟做105次“随机生成两张并比较”不一样
不过作为一种直觉上的估计方式还是可以的
至少能够解释“重复的机率并不低”
详细的计算、估值公式就麻烦自己看看维基百科了
至于随机数的问题,写程式用的确实通常是“伪随机数”
之所以称为伪随机数,是因为它是由一个决定性的过程产生的
以C的rand()为例(可能受compiler跟执行环境影响)
我电脑上的gcc在不改变seed的情况下,产生出来的前5个数
固定会是41、18467、6334、26500、19169
简单来说大概就是你知道seed跟算法,就可以劈哩啪啦算出整串数字
至于所谓真随机数来自物理现象,比如某些量子力学效应
相较之下伪随机数的取得就容易得多,所以一般还是用伪随机数
伪随机数可能会有不少缺陷,我不懂统计就不乱说了
但至少均匀分布算是基本要求
程式写法上我想他们也不会自找麻烦,应该就是乱数在哪个区间就掉什么
此外,你能见到的只是乱数序列中的一小部分,取样上应该也没什么规律性
所以RNG有什么缺陷也不容易被你看到,除非真的很严重
我是觉得不太需要去怀疑RNG啦......

Links booklink

Contact Us: admin [ a t ] ucptt.com