javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

bash-如何对/ dev / random或/ dev / urandom进行base64编码?

cat /dev/urandom始终是在显示器上创建滚动字符的一种有趣方式,但是会产生太多不可打印的字符。

有没有一种简单的方法可以在命令行上进行编码,使其所有输出均为可读字符,例如base64或uuencode。

请注意,我更喜欢不需要创建其他文件的解决方案。

trans by 2020-07-13T22:28:15Z

使用种子的Java随机数

这是我的代码,使用种子作为参数来生成随机数:

double randomGenerator(long seed) {
    Random generator = new Random(seed);
    double num = generator.nextDouble() * (0.5);

    return num;
}

每次我提供种子并尝试生成100个数字时,它们都是相同的。
我怎样才能解决这个问题?

trans by 2020-07-12T12:23:25Z

javascript-Math.random()加密安全吗?

在不同的浏览器中,JavaScript random使用的算法有多好? 可以使用它生成盐和一次性密码吗?

我可以使用一个random中的多少位?

trans by 2020-07-11T20:00:46Z

postgresql-Postgres循环

我试图从一张桌子中获得25个15,000个ID的随机样本。 我没有每次都手动按下run,而是试图做一个循环。 我完全了解的不是Postgres的最佳用法,但这是我拥有的工具。 这是我到目前为止的内容:

for i in 1..25 LOOP
   insert into playtime.meta_random_sample
   select i, ID
   from   tbl
   order  by random() limit 15000
end loop
trans by 2020-07-10T03:09:36Z

android-如何生成一定范围内的随机数?

如何创建使用Eclipse在Android中生成随机数,然后在TextView字段中显示结果的应用程序? 随机数必须在用户选择的范围内。 因此,用户将输入范围的最大值和最小值,然后输出答案。

trans by 2020-07-09T15:54:04Z

随机数似乎不是很随机

我正在尝试生成6个字符或更少的随机base32数字。 这应该给出大约10亿种不同的组合。

我创建了一个程序来生成这些“随机”数字。 但是,它似乎平均每40,000代产生一次重复。

当存在超过十亿个不同组合时,为什么这些“随机”数字如此频繁地重复?

这是我的代码:

static void Main(string[] args)
{
    int seed = Environment.TickCount;
    Random r = new Random(seed);

    Dictionary<int, int> resultDictionary = new Dictionary<int, int>();
    for (int x = 1; x <= 1000; x++)
    {
        Dictionary<string, int> dictionary = new Dictionary<string, int>();
        try
        {
            while (true)
            {
                int rand = r.Next(0, 1073741823);
                CrockfordBase32Encoding encoding = new CrockfordBase32Encoding();
                string encodedRand = encoding.Encode((ulong)rand, false);
                dictionary.Add(encodedRand, rand);
            }
        }
        catch (Exception)
        {
        }
        Console.WriteLine(string.Format("{0} - {1}", x, dictionary.Count));
        resultDictionary.Add(x, dictionary.Count);
        x++;
    }

    Console.WriteLine();
    Console.WriteLine("Average Number Before Duplicate: " + resultDictionary.Average(x => x.Value));
    Console.ReadLine();
}
trans by 2020-07-08T08:01:27Z

c#-LINQ SQL中的List <T>的随机元素

我正在使用C# 3.5,当前正在使用Linq从用户表中获取所有用户,并将它们放在列表中。

现在,我想从该列表中返回一个随机用户。 这样做的最佳方法是什么?

trans by 2020-07-07T18:06:19Z

random-R中rbinom(prob = 0.5)的不稳定种子行为

我发现在prob结合使用29540167445428316316(使用prob=0.5)时使用种子时会考虑到不稳定的行为(但我希望对此有一个简单的解释)。 一般想法:对我来说,如果我设置了种子,则尽管将rbinom()的值设置为size,但还是运行一次size(即执行一个随机过程)种子应改变一增量。 然后,如果我再次将种子设置为相同的值,然后运行另一个随机过程(例如再次运行prob,但可能具有不同的值prob),则种子应再次更改为与上一个单个种子相同的值 随机过程。

我发现prob可以做到这一点,只要我将size与任何prob=0.5一起使用即可。这是一个示例:

比较除0.5以外的两个概率的种子向量prob

set.seed(234908)
x <- rbinom(n=1,size=60,prob=0.4)
temp1 <- .Random.seed

set.seed(234908)
x <- rbinom(n=1,size=60,prob=0.3)
temp2 <- .Random.seed

any(temp1!=temp2)
> [1] FALSE

比较prob = 0.5 vs.prob!= 0.5的种子向量prob

set.seed(234908)
x <- rbinom(n=1,size=60,prob=0.5)
temp1 <- .Random.seed

set.seed(234908)
x <- rbinom(n=1,size=60,prob=0.3)
temp2 <- .Random.seed
any(temp1!=temp2)
> [1] TRUE

temp1==temp2
> [1]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
> [8]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
...

我已经找到了prob与所有其他概率的所有比较在集合{0.1,0.2,...,0.9}中。 同样,如果我比较来自size的任何值{0.1,0.2,...,0.9}而不是0.5,则prob=0.5向量始终逐个元素相等。 这些事实对于rbinom()中的奇数或偶数size也成立。

更奇怪的是(我很抱歉,这有点令人费解-与我的函数编写方式有关),当我使用向量中另存为元素的概率时,如果第一个元素为0.5,则我遇到相同的问题,但不是 第二。 这是这种情况的示例:

第一种情况:0.5是向量中引用的第一个概率

set.seed(234908)
MNAR <- c(0.5,0.3)
x <- rbinom(n=1,size=60,prob=MNAR[1])
y <- rbinom(n=1,size=50,prob=MNAR[2])
temp1 <- .Random.seed

set.seed(234908)
MNAR <- c(0.1,0.3)
x <- rbinom(n=1,size=60,prob=MNAR[1])
y <- rbinom(n=1,size=50,prob=MNAR[2])
temp2 <- .Random.seed

any(temp1!=temp2)
> [1] TRUE

any(temp1!=temp2)
> [1]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
> [8]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

第二种情况:0.5是向量中引用的第二个概率

set.seed(234908)
MNAR <- c(0.3,0.5)
x <- rbinom(n=1,size=60,prob=MNAR[1])
y <- rbinom(n=1,size=50,prob=MNAR[2])
temp1 <- .Random.seed

set.seed(234908)
MNAR <- c(0.1,0.3)
x <- rbinom(n=1,size=60,prob=MNAR[1])
y <- rbinom(n=1,size=50,prob=MNAR[2])
temp2 <- .Random.seed

any(temp1!=temp2)
> [1] FALSE

再次,我发现尽管使用了probsize的值,但该模式仍然成立。 谁能向我解释这个谜? 这引起了一个很大的问题,因为本来应该相同的结果却有所不同,因为在prob=0.5时出于某种原因使用/计算种子的方式有所不同,但在其他情况下却没有。

trans by 2020-07-06T04:47:41Z

带有和不带替换的加权随机选择

最近,我需要从列表中对元素进行加权随机选择,无论是否替换。 虽然有众所周知的良好算法用于非加权选择,有些算法用于不进行替换的加权选择(例如对resevoir算法的修改),但我找不到用于替换加权的任何好的算法。 我还想避免使用resevoir方法,因为我在列表中选择了很大一部分,该部分足够小以保存在内存中。

在这种情况下,有人对最佳方法有什么建议吗? 我有自己的解决方案,但我希望找到更有效,更简单的方法,或兼而有之。

trans by 2020-07-05T16:25:45Z

sql-从mysql中的大表中快速选择随机行

从大型mysql表中选择随机行的快速方法是什么?

我正在使用php,但是我对任何解决方案都感兴趣,即使它是另一种语言也是如此。

trans by 2020-07-03T23:41:12Z

您如何从Python列表中选择“ x”个唯一数字?

我需要从列表中挑选出“ x”个非重复的随机数。 例如:

all_data = [1, 2, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 15, 15]

我该如何选择像[2, 11, 15]这样的列表,而不是[3, 8, 8]

trans by 2020-07-03T14:28:56Z

在PHP中获取随机布尔值true / false

在PHP中获得随机布尔值true / false的最优雅方法是什么?

我可以想到:

$value = (bool)rand(0,1);

但是,将整数转换为布尔值是否会带来任何不利条件?

还是这是一种“官方”方式?

trans by 2020-07-03T11:12:01Z

C#4.0-远程随机数,是这样吗?

有人可以验证这种方法。 我需要两个long范围内的long类型号。 我使用.NET Random.Next(min,max)函数,该函数返回int的。 如果我简单地将long除以2,生成随机数,然后再次将其再次乘以2,我的推理是否正确? 还是我太热情了...我知道我的随机分辨率会降低,但是还有其他错误会导致没有这样的随机数。

long min = st.MinimumTime.Ticks;    //long is Signed 64-bit integer
long max = st.MaximumTime.Ticks;
int minInt = (int) (min / 2);      //int is Signed 64-bit integer
int maxInt = (int) (max / 2);      //int is Signed 64-bit integer

Random random = new Random();
int randomInt = random.Next(minInt, maxInt);
long randomLong = (randomInt * 2);
trans by 2020-07-01T23:30:07Z

的std :: MT19937需要预热吗?

我读过许多伪随机数生成器需要很多样本才能“预热”。 使用std :: random_device播种std :: mt19937时会是这种情况,还是我们可以期望它在构建后就可以使用了? 有问题的代码:

#include <random>
std::random_device rd;
std::mt19937 gen(rd());
trans by 2020-07-01T21:15:00Z

c ++-rand()的作用-或谁应该调用`srand()`?

背景:我在代码中使用srand()rand()std::random_shuffle()和其他函数进行科学计算。 为了能够重现我的结果,我总是明确指定随机种子,并通过srand()进行设置。直到最近,当我发现libxml2首次使用时也会懒惰地调用srand()-这是在我早期srand()之后使用的 呼叫。

我向libxml2填写了有关其srand()调用的错误报告,但得到了答案:

然后先初始化libxml2。 这是从图书馆发出的完全合法的电话。 你应该 不要指望别人会打电话给srand(),而手册页无处可寻 指出应避免多次使用rand()

这实际上是我现在的问题。 如果一般的政策是每个lib可以/应该/将调用srand(),而我可以/也可以在这里和那里都调用它,那么我真的不知道这怎么可能有用。 还是rand()那么有用吗?

这就是为什么我认为,一般的(未写的)策略是,任何lib都不应调用srand(),而应用程序在开始时仅应调用一次。 (不考虑多线程。我想在那种情况下,您无论如何都应该使用其他方法。)

我还尝试研究其他库实际上称为srand()的内容,但没有找到任何内容。 有吗

我当前的解决方法是这个丑陋的代码:

{
    // On the first call to xmlDictCreate,
    // libxml2 will initialize some internal randomize system,
    // which calls srand(time(NULL)).
    // So, do that first call here now, so that we can use our
    // own random seed.
    xmlDictPtr p = xmlDictCreate();
    xmlDictFree(p);
}

srand(my_own_seed);

可能唯一干净的解决方案是根本不使用它,而仅使用我自己的随机数生成器(可能通过C ++ 11 srand())。 但这不是真正的问题。 问题是,谁应该致电srand(),如果每个人都这样做,那么rand()有什么用处?

trans by 2020-06-30T17:55:04Z

bash-从Shell脚本目录中选择随机文件的最佳方法

从Shell脚本的目录中选择随机文件的最佳方法是什么?

这是我在Bash中的解决方案,但是我对在Unix上使用的更具移植性(非GNU)的版本非常感兴趣。

dir='some/directory'
file=`/bin/ls -1 "$dir" | sort --random-sort | head -1`
path=`readlink --canonicalize "$dir/$file"` # Converts to full path
echo "The randomly-selected file is: $path"

还有其他想法吗?

编辑:lhunath很好地解析了ls。我想这取决于您是否想要携带。 如果您具有GNU findutils和coreutils,则可以执行以下操作:

find "$dir" -maxdepth 1 -mindepth 1 -type f -print0 \
  | sort --zero-terminated --random-sort \
  | sed 's/\d000.*//g/'

哇,那很有趣! 自从我说“随机文件”以来,它也更符合我的问题。 老实说,如今,很难想象在那里部署了Unix系统并安装了GNU而不是Perl 5。

trans by 2020-06-30T04:40:29Z

算法-JavaScript Math.random正态分布(高斯钟形曲线)?

我想知道JavaScript函数Math.random是否使用正态(相对于统一)分布。

如果没有,如何获得使用正态分布的数字? 对于创建随机正态分布数字的算法,我在Internet上找不到明确的答案。

我想重建一个施密特机器(德国物理学家)。 机器会产生0或1的随机数,它们必须是正态分布的,以便我可以将它们绘制为高斯钟形曲线。

例如,随机函数产生120个数字(0或1),并且这些求和值的平均值(均值)必须接近60。

trans by 2020-06-27T22:02:06Z

C#-.NET Framework:随机数生成器产生重复模式

编辑:这不是重复的,也不是对如何使用随机数生成器的天真的误解的结果。 谢谢。

我似乎在System.Random类生成的数字中发现了一种重复模式。 我正在使用“主”随机实例为第二个“主”随机实例生成种子。 此主要Random实例产生的值表现出重复模式。 特别是,产生的第三个数字是非常可预测的。

下面的程序演示了该问题。 请注意,每次循环使用不同的种子值。

using System;

class Program
{
    static void Main(string[] args)
    {
            // repeat experiment with different master RNGs
        for (int iMaster = 0; iMaster < 30; ++iMaster)
        {
                // create master RNG
            var rngMaster = new Random(iMaster + OFFSET);

                // obtain seed from master RNG
            var seed = rngMaster.Next();

                // create main RNG from seed
            var rngMain = new Random(seed);

                // print 3rd number generated by main RNG
            var ignore0 = rngMain.Next(LIMIT);
            var ignore1 = rngMain.Next(LIMIT);
            var randomNumber = rngMain.Next(LIMIT);
            Console.WriteLine(randomNumber);
        }
    }

    const int OFFSET = 0;
    const int LIMIT = 200;
}

我认为这应该产生随机输出,但是我盒子上的实际输出是:

84
84
84
84
84
84
84
84
84
84
84
...

谁能解释这是怎么回事? 更改OFFSET和LIMIT常数会更改输出值,但它总是重复的。

trans by 2020-06-27T14:50:03Z

java.util.Random有多好?

两个问题:

我放入的每个种子都会得到不同的数字序列吗?

是否有一些“死”种子? (产生零或快速重复的那些。)

顺便说一句,我应该使用其他哪些PRNG?

解决方案:因为,我将要使用PRNG来制作游戏,所以我不需要它在密码上是安全的。 我会选择梅森·Twister,因为它速度快而且时间长。

trans by 2020-06-25T07:05:56Z

prng-随机和urandom之间的差异

我试图找出/dev/random/dev/urandom文件之间的区别

  1. /dev/random/dev/urandom有什么区别?
  2. 我什么时候应该使用它们?
  3. 我什么时候不应该使用它们?
trans by 2020-06-24T06:44:52Z

1 2 3 4 5 6 7 8 9 10 11 下一页 共11页