相关疑难解决方法(0)

替代熵源

好吧,我猜这完全是主观的,但我正在考虑随机数生成器的熵源.大多数发电机都按当前时间播种,对吗?好吧,我很好奇其他资源可以用来生成完全有效的,随机的(宽松的定义)数字.

使用多个来源(例如时间+当前硬盘寻找时间[我们在这里是非常奇妙的])一起创建一个比单个来源更"随机"的数字?来源数量的逻辑限制是什么?真的够多少钱?选择时间只是因为方便吗?

如果不允许这种事情,请原谅我,但我对这些消息来源背后的理论感到好奇.

theory random entropy

13
推荐指数
3
解决办法
4701
查看次数

java中的随机gen方法似乎并不随机

可能重复:
Java Java中的真随机生成
随机总是在我设置种子时返回相同的数字?

我在我的一个程序中运行这段代码.

public String[] gen_phase_zero() {
        Random generator = new Random();
        int r = generator.nextInt(2);
        if (r == 1) {
            String big = "A";
            String small = "a";
            return new String[] { big, small };
        } else {
            String big = "B";
            String small = "b";
            return new String[] { big, small };
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我运行这几次我的输出是这样的.

Aa Aa Aa Aa Bb Aa Aa Aa Bb

按顺序它并不是真的.但它几乎从未接近50/50

更新:

我不是在考虑五十五,但似乎如果首先选择"Aa",那么它将接下来大约3次,但如果首先选择Bb,那么它也将在接下来的三次被选中.

java random

2
推荐指数
1
解决办法
350
查看次数

Java中的随机生成器问题

我正在从事涉及模拟802.11 MAC协议的无线项目。我在其中使用了随机生成器,问题是我们变得越来越不稳定而不是平滑图,我相信这个错误是由于随机生成器造成的。为了进行测试,我运行了下面的代码,该代码生成0到19之间的100个随机数。如果仔细查看输出,那么会有几个连续的数字相同或非常接近(例如17,15,15,16 ...或1,1 ,...)。这会导致在我们的仿真中发生碰撞,并且相应的吞吐量在该点下降(即,变形)。在这种情况下,增加仿真运行时间并没有太大帮助。

谁能帮我弄清楚如何在Java循环中生成真正随机的n个随机数(没有这种模式)?

这是尝试的代码:

import java.util.Random;

public class RandomTest {

    public static void main(String[] args){

        int [] counter = new int [20];

        Random generator = new Random();
        int randomIndex = 0;

        for (int i=0; i<100; i++){

            randomIndex = generator.nextInt(20);
            counter[randomIndex]++;
            System.out.println(randomIndex);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java random

1
推荐指数
1
解决办法
6454
查看次数

标签 统计

random ×3

java ×2

entropy ×1

theory ×1