gpt4 book ai didi

c# - 快速实用的测试,看看一个字符串是否是随机的

转载 作者:太空狗 更新时间:2023-10-29 19:47:00 29 4
gpt4 key购买 nike

我需要了解一个字符串是否足够随机。谁能指出我正确的方向?

背景

我需要模拟进程行为,其中进程将自身复制到临时位置,将自身重命名为随机名称,然后自行执行。我的最终目标是检测此类事件。作为这项工作的一部分,我需要测试一个进程名称(一个字符串)的随机性。我知道 Kolmogorov 复杂性处理这个问题,但它是无法计算的。什么是快速替代方案:各种熵、Lempel-Ziv 压缩级别?

我在寻找什么

string s1 = "test process name"
string s2 = "hgoi4dFh3e905jv"

double sensitivity = 0.5; // user-defined variable, a subjective threshold of randomness
bool b1 = SeemsRandom(s1, sensitivity); // false
bool b2 = SeemsRandom(s2, sensitivity); // true

bool SeemsRandom(string input, double sensitivity)
{
...
}

最佳答案

您可能想尝试将字符串转换为二进制序列并尝试使用 Wald-Wolfowitz 运行测试,它应该比 Kolmogorov–Smirnov 测试更简单

http://en.wikipedia.org/wiki/Wald%E2%80%93Wolfowitz_runs_test

关于c# - 快速实用的测试,看看一个字符串是否是随机的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636500/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com