Re: [专栏] 抽卡玄学?从科学角度来分析抽卡两三事

楼主: sixthday (姬[TORCH])   2018-04-04 14:18:45
又不是啥非常严谨的科学研究
我相信实作上就是直接呼叫 XX 语言内建的函式来产生乱数
一般来说这种函式的运作方式就是
根据一个输入值(称作 seed),去翻出一张已经写死的乱数表然后取出数字
说白一点,输入 1 就拿第一张乱数表;输入 2 就去拿第二张
只要 seed 不变,拿到的乱数表都会一样
范例: 开了两个 Python 终端用一样的 seed 产生乱数,连顺序都没变
https://i.imgur.com/Z3INgdv.png
那最常拿来决定 seed 的方式是啥? 用当下的系统时间当 seed
这不就刚好拿来解释整点神教52神教的合理性吗 XD
不过真正拿来当 seed 的也没人知道是啥,毕竟程式码没放出来
觉得不可能这么蠢拿当下时间当参数?
以为当年 MHP3 的护石真的是随机出吗?
游戏内建了好几张表格决定这次启动后可以挖到啥护石
而会读取哪张表格则是看游戏启动时的 PSP 时间(秒)
要是进错时间,就算从当年挖到现在大家都在刷历战古龙了
还是会挖不到特定护石
https://www43.atwiki.jp/mhpomamori/pages/25.html
所以单纯用科学说玄学不存在是有问题的
实作上就是会发生一些玄学(=乱数调整)的操作空间
记得离散数学会提到怎么产生够乱的乱数
不过我已经忘光了
有缺误请其他ㄉㄉ补充指正
作者: Wardyal (Wardyal)   2018-04-04 14:23:00
我只知道srand(time(NULL)而已
作者: dephille (一鍼同体!全力全快!)   2018-04-04 14:45:00
很多会用系统时间当seed没错。所以你知道系统时间精度会用到哪个单位吗?
作者: waloloo (ARIAxヨシノヤ )   2018-04-04 15:00:00
真三三还几要调系统时间刷护卫
作者: rofellosx (鏖)   2018-04-04 15:33:00
现在我都改用Guid.NewGuid().GetHashCode当种子
作者: AN94 (AN94)   2018-04-04 15:42:00
马的只有大学生才会拿时间来当乱数好吗
作者: tomwhite (小白)   2018-04-04 17:58:00
这就难说了 你怎么知道设计者有没有脑为了方便拿时间当参数当然有可能
作者: isaswa (黒丸)   2018-04-04 19:00:00
时间平方当参数 搞定

Links booklink

Contact Us: admin [ a t ] ucptt.com