精华内容
下载资源
问答
  • 伪随机与真随机有什么不同?

    千次阅读 2020-05-22 22:41:09
    今日份离散学习:伪随机与真随机有什么不同? 随机很有趣。 真随机:你脑子里随便想几个数,想说啥说啥,这些数都没有联系,各个之间都是相互独立的。 伪随机:随机数是由随机种子根据一定的计算方法计算出来的数值...

    今日份离散学习:伪随机与真随机有什么不同?

    随机很有趣。
    真随机:你脑子里随便想几个数,想说啥说啥,这些数都没有联系,各个之间都是相互独立的。
    伪随机:随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。计算机常常以时间作为随机数种子,那计算后产生的数字看起来就是随机的。
    我们希望我们产生的伪随机数具有均匀性,我们希望我们产生的伪随机数具有独立性,不能在多个伪随机数之间产生内在联系从而让别人分析得出伪随机数产生的规律。但是归根结底,计算机产生随机数这件事,以我们目前的水平难以完美实现。
    下面摘了个例子
    真随机:有一天,小明在的班级上举办了一次抽奖活动。这个班级有40个学生,所以为了公平起见,保证每个学生都有1/40的几率中奖,老师准备了40个相同的纸盒,每个纸盒中都有40张纸条,有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖,但每个学生是否中奖并不受其他学生的影响。在极端情况下,这个班上可能40个学生都能中奖。这就是真随机。
    伪随机:小明班上举办了抽奖活动。为了公平起见,老师准备了1个纸盒,纸盒中有40张纸条,只有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖——但是显而易见,这个班上有且仅有一名学生能够中奖。一名学生在中奖后,余下的所有学生中奖几率都会减少至0。这就是伪随机。
    但实际上我并没有很理解这个例子。

    展开全文
  • Golang 伪随机/真随机取某个范围内的随机数 ???? Tue, 13 Nov 2018 by GolangNote golang 内置能实现伪随机(math/rand)和真随机(crypto/rand)的库。 真随机和伪随机概念 先大概了解一下伪随机和真随机的概念。根据...

    Golang 伪随机/真随机取某个范围内的随机数
    🕚 Tue, 13 Nov 2018 by GolangNote
    golang 内置能实现伪随机(math/rand)和真随机(crypto/rand)的库。

    真随机和伪随机概念
    先大概了解一下伪随机和真随机的概念。根据密码学原理,要想对一个“随机数”进行随机性检验有以下几个标准:

    统计学伪随机性 - 在给定的随机比特流样本中,1 的数量大致等于 0 的数量,也就是说,“10”“01”“00”“11” 四者数量大致相等。说人话就是:“一眼看上去是随机的”。
    密码学安全伪随机性 - 就是给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
    真随机性 - 其定义为随机样本不可重现。
    根据以上几个标准,其对应的随机数也就分为以下几类:

    伪随机数 - 满足第一个条件的随机数。
    密码学安全的伪随机数 - 同时满足前两个条件的随机数。可以通过密码学安全伪随机数生成器计算得出。
    真随机数 -同时满足三个条件的随机数。
    golang 实现伪随机
    golang 取某值范围的伪随机数实现

    package main
    
    import (
    	"fmt"
    	"math/rand"
    	"time"
    )
    
    func main() {
    	// 随机种子
    	rand.Seed(time.Now().Unix())
    
    	// 生成 20 个 [0, 100) 范围的伪随机数。
    	for i := 0; i < 20; i++ {
    		result := rand.Intn(100)
    		fmt.Println(result)
    	}
    }
    golang 真随机实现
    golang 取某值范围的真随机数实现
    
    package main
    
    import (
    	"crypto/rand"
    	"fmt"
    	"math/big"
    )
    
    func main() {
    	// 生成 20 个 [0, 100) 范围的真随机数。
    	for i := 0; i < 20; i++ {
    		result, _ := rand.Int(rand.Reader, big.NewInt(100))
    		fmt.Println(result)
    	}
    }
    
    展开全文
  • Java随机 Java真随机

    千次阅读 2016-12-30 14:17:56
    最近发现java自带的随机函数是可以遇见的,自己就根据随机的理解利用cpu和时间的随机种子写了一个随机类,希望对你有所启发!!! 不说这么多了直接上源码:public class Random { public static void main(String...

    最近发现java自带的随机函数是可以遇见的,自己就根据随机的理解利用cpu和时间的随机种子写了一个随机类,希望对你有所启发!!!

    不说这么多了直接上源码:

    public class Random {
    
    	public static void main(String[] args) {
    		Random r = new Random((short) 100);
    		for (int i = 0; i < 50; i++) {
    			try {
    				System.out.println(r.next());
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    
    	}
    
    	private short r=0 ;//随机对象范围
    	private boolean isCall =false ;
    	private boolean isCall2 =false ;
    
    
    	public Random (short r){
    		this.r=r;
    
    	}
    
    	Object obj = new Object();
    	public int  next() throws Exception{
    		isCall =false ;
    		isCall2 =false ;
    
    		RandomRunnable	rr1= new RandomRunnable(new Call() {
    			//启动线程后通知
    			@Override
    			void call() {
    				isCall=true;
    				synchronized (obj){
    					obj.notify();
    				}
    			}
    		});
    		RandomRunnable	rr2= new RandomRunnable(new Call() {
    			//启动线程后通知
    			@Override
    			void call() {
    				isCall2=true;
    				synchronized (obj){
    					obj.notify();
    				}
    			}
    		});
    
    		//启动子线程
    		new Thread(rr1).start();
    
    		new Thread(rr2).start();
    
    		//等待子线程启动挑出来
    		while(!isCall || !isCall2){
    			synchronized (obj) {
    				obj.wait();
    			}
    		}
    		long c = System.nanoTime();
    		int t = (int) (c%2 +1);
    		//睡眠1毫秒等运算好
    		//		Thread.sleep(1l);
    		//停止线程运算获取相关值
    		//停止线程运算获取相关值
    		int j1 =rr1.endRunnable();
    		int j2 =rr2.endRunnable();
             if(j1==0)
            	 j1=j2;
             if(j2==0)
            	 j2=j1;
    
    		int j =0;
    		//获取线程运算的数字
    		switch (t) {
    		case 1:
    			j=j1;
    			break;
    		case 2:
    			j=j2;
    			break;
    
    		default: 
    			break;
    		}
    
    		return  j%(r+1);
    	}
    
    
    }
    class RandomRunnable implements Runnable{
    	private int j =0; 
    
    	private Call call;
    
    	private boolean b = true;
    
    	public RandomRunnable(Call call){
    		this.call = call;
    	}
    
    
    
    	@Override
    	public void run() {
    		call.call();
    		while (b&&j<10000000) {
    			j++;
    		}
    	}
    
    
    
    	public int endRunnable(){
    		b=false;
    //				System.out.println(j);
    		return  j;
    	}
    
    
    }
    
    abstract class Call{
    	//运行线程了告诉主线程
    	abstract void call();
    }
    
    运行结果

    展开全文
  • 真随机发生数的设计,纯数字电路设计。设计模块占门级资源少,产生速度快。数据相关性高,能够通过美国各项指标。
  • 最近在研究随机函数,利用很多算法,改写了随机函数,但是我在想,改写后的随机函数的随机性能最好,谁最近真随机函数,需要用一种方法来检验。 我能想到的有以下几种: 希望大家能补充。 1.直接能用数学理论证明,...

     最近在研究随机函数,利用很多算法,改写了随机函数,但是我在想,改写后的随机函数的随机性能最好,谁最近真随机函数,需要用一种方法来检验。 我能想到的有以下几种:

    希望大家能补充。

    1.直接能用数学理论证明,就是真随机。

    2.用统计的方法,用足够大的样本空间,来计算没个数的随机概率,以及随机性比较;

    3.把随机数连成一个数据序列,来统计1 和0 的个数,  如果随机,应该是1:1.   我觉得这个只能是必要条件,而不是充分条件。

    4 .检测随机数组里的素数的比例,个数据,同真随机数比较;

    5.找一个真随机数序列,进行比较;


    展开全文
  • RANDI_ORG 函数的用法与 RANDI 函数类似。 但是,它不会返回伪随机数... 有关伪随机性和真随机性之间差异的讨论,请参阅网站。 请注意, http://www.random.org允许每天的流量有限,请查看该站点以了解更多详细信息。
  • 鼠标真随机连点器

    2016-05-31 15:37:07
    可设置毫秒,可用于网络游戏随机强化装备等
  • 行业资料-电子功用-光纤电流互感器用镜像对称真随机四态调制解调方法.pdf
  • 如果不加set.seed(1),一样可以生成随机数,但是每次执行的结果都会不同,这就会出现一个问题,比如某学者对某问题进行研究,如果每次都是用随机数据不固定随机数的话,就会导致前后数据的不一致,而且也无法让后来...
  • 真随机算法

    千次阅读 2010-03-22 13:34:00
  • 用“序列数交换法”产生真随机数组 “序列数交换法”是将有规律的数组,通过任意交换数组的序列号,而形成随机数的方法。 理论根据是热力学第二定理的推论“熵增加原理”,在自然作用下,从有序到无序是不可逆过程...
  • 提供真随机数源的网站

    千次阅读 2013-03-15 17:48:20
    https://www.random.org/   https://www.fourmilab.ch/hotbits/    http://www.randomserver.dyndns.org/forum/index.php
  • 不管是生成随机器件地址、强化加密算法还是创建独立产品密钥,可靠地生成随机数字都变得日益重要。这些随机数字对于日常嵌入式系统特别有用,比如车库门接收机必须一一对应地正确识别远程控制的随机数字,以防止非...
  • 我挂在这里了。 感觉只有一些模糊想法。  1. 可以用图来检查。用眼看. 怎么做图没有想好  2. 多次运行,每次生成的数不一样  3. 每个数字(0-9)出现的概率...除非有人的研究过! 
  • 本文经授权转载自漫话编程(ID:mhcoding) 周末,陪女朋友去电影院看了《复仇者联盟4:终局之战》,作为一个漫威粉三个...并且,灭霸还说,这个抹除过程是:随机性的、不夹私情、绝对公平、无论贵贱。 那么,...
  • 随机数分为随机数和伪随机数,我们程序中使用的基本都是伪随机数。 随机数,通过物理实验得出,比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等。需要满足随机性、不可预测性、不可重现性。 伪随机数,...
  • Random 常用随机数类 随机整数,随机真假,随机颜色,随机数组 Demo
  • 关于随机数和伪随机

    万次阅读 2015-09-25 13:32:11
    首先,「真随机」也有不同的含义, 真正的真随机目测只有量子力学了……一般的所谓真随机不是指这个,而是指 统计意义 上的随机,也就是具备不确定性,可以被安全的用于金融等领域,下面的真随机也均指这个。...
  • /伪随机数发生器类

    千次阅读 2013-12-13 16:28:47
    一直想要弄一个能够生成真随机数的类,但因未能找到合适的真随机因子而未能完成。前些天偶然了解到IA32的CPU具有一个时钟周期计数器,能够提供自CPU复位后至今累计的时钟周期数。忽然觉得这个正是最易得到而又最难...
  • 主要介绍了PHP的伪随机数与随机数详解,本文首先讲解了随机数和伪随机数的相关概念,并给出了比用mt_rand()函数产生更好的伪随机数的一段例子代码,需要的朋友可以参考下
  • 随机数和伪随机

    千次阅读 2019-03-15 17:34:37
    随机数的特性 ...随机数和伪随机随机数  随机数是伴随着物理实验的,比如:抛硬币、掷骰子、电子元件的噪音、核裂变等,它的结果符合三大特性的。  具体实现:intel通过电阻和振荡器生成...
  • 真随机”与“伪随机” 真随机:就是我们传统意义上理解的“随机”,随机事件如今天是否下雨,抛硬币的正反面,家门口的十字路口今天发生车祸等等。这些看似毫无规律而言的事件发生的概率是“随机的”。所谓的“...
  • 其实随机数是分为随机数和伪随机数的 所谓随机数,根据百科的解释,随机数必须依赖于物理现象,例如大乐透,抛硬币,公路上第五辆过来的车是单号还是双号 而伪随机数又区分为强伪随机和弱伪随机 弱随机数:...
  • 如何随机,才是随机

    千次阅读 2018-08-25 19:36:49
    一直以来,“架构师之路”都有个彩蛋:回复大于等于10的整数,例如10, 11, 12, 345, 6789等,都会得到一篇随机好文。例如:如上图:回复“11”会得到《秒杀...
  • 随机算法

    千次阅读 2018-05-17 08:35:26
    随机算法是一种在接受输入的同时,为了随机选择的目的,还接受一串随机比特流并且在运行过程中使用该比特流的算法(允许算法在执行过程中随机地选择下一个计算步骤)。 随机算法通常有两个优点: 较之那些我们所知...
  • Java随机产生昵称

    千次阅读 2019-06-03 13:14:26
    方法一中是产生随机的中文就行拼接,优势是代码量少,缺点是真正随机 方法二中是从设置好的百家姓中去随机抽取中文进行拼接,优点是可以设置一些想要的文字进行拼接,缺点是代码量大。 package com.util; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 342,829
精华内容 137,131
关键字:

真随机