我是靠谱客的博主 俏皮芝麻,最近开发中收集的这篇文章主要介绍真随机与伪随机,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

真随机:即我们常见意义上的随机事件,事件发生的概率是独立的。例如抛硬币,每次出现1的概率都是1/6,与之前几次抛几次的结果无关。
伪随机:真随机对于人类来说有些不近人情,例如在某些抽卡游戏中,如果是真随机的话,有些人运气不好,可能抽几百次也抽不到SSR。为了照顾人的感受,引入了伪随机。
伪随机分为以下几类:

  1. (Pseudo Random Distribution)PRD,通常用于游戏中计算概率,为了平衡一些极端情况对游戏体验的影响(例如Dota中虚空先知有百分之25的概率免疫所有伤害,如果有人运气特别好,一个丝血的JB脸,就是死不掉,会很让对面崩溃),所以设计师引入了伪随机:例如第一次JB脸被攻击时,不是有25%的概率躲掉,而是10%,如果这次没躲掉,那么下次概率躲掉的概率变为20%,再变为30%。个人认为可能阴阳师抽卡也是伪随机
  2. 洗牌算法。例如音乐播放器中常见的“随机播放”,如果是真随机的话,有可能出现一首歌你永远都听不到,或者不停的播放同一首歌(极端情况)。所以播放器的做法是像洗牌一样把这些歌打乱顺序,然后按顺序播放这个乱序数组。

另外要说的是计算机中产生随机数的方法,叫赝随机数算法(Pseudo-Random Number Generator,简称PRNG),由于计算机中只有确定的0和1,所以要产生真正的随机数是不可能的,通过随机数算法得到的只是看起来像是,即如果输入随机数算法的值是一样的,那么得到的随机数也是一样的。

最后

以上就是俏皮芝麻为你收集整理的真随机与伪随机的全部内容,希望文章能够帮你解决真随机与伪随机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部