如何随机均衡不相等的值?

2023-11-30

假设我有多个不相等的值 a、b、c、d、e。是否可以仅通过随机数生成将这些不相等的值变成相等的值?

示例:a=100、b=140、c=200、d=2、e=1000。我希望算法随机定位这些集合,以便最常定位最大值,而大多数情况下只保留最小值。

我遇到问题的地方:如果我只使用非唯一的随机数生成,那么值 e 最终将低于其他值。如果我使用唯一数字生成,那么即使它们的绝对值发生变化,值之间的比率也不会改变。我尝试过使用集合,其中一定范围的数字必须在值更改之前被击中一定次数。我还没有尝试过使用唯一/非唯一随机数的混合。

我希望随着算法的运行,值之间的比率逐渐接近 1。

另一种思考问题的方式:假设这些值 a、b、c、d、e 都相等。如果我们随机选择一个,则每个都被选择的可能性与其他任何一个一样。选择一个后,我们将该值加 1。然后我们再次运行这个过程。这次,上次选取的值比任何其他值大 1,因此它比任何其他值更有可能被选取。这会产生滚雪球效应,首先选择的价值可能会继续被选择并实现失控的增长。我正在寻找与该算法相反的算法,我们在这些最初相等的值发散之后开始,并将它们恢复到最初相等的状态。

我认为这一过程是不可能的,因为熵和存在固有的单向本质。


嗯,有一种称为“逆权重”的技术,您可以对项目进行与其先前外观成反比的采样。每次我们对 a、b、c、d 或 e 进行采样时,我们都会更新它们的出现次数并重新计算概率。简单的 python 代码,我将数字 [0...4] 采样为 a、b、c、d、e,并从您列出的外观开始。经过 100,000 个样本后,它们看起来是均匀分布的

import numpy as np

n = np.array([100, 140, 200, 2, 1000])

for k in range(1, 100000):

    p  = (1.0 / n) # make probabilities inverse to weights
    p /= np.sum(p) # normalization

    a = np.random.choice(5, p = p) # sampling numbers in the range [0...5)

    n[a] += 1 # update weights

print(n)

Output

[20260 20194 20290 20305 20392]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何随机均衡不相等的值? 的相关文章

  • Javascript 随机 YouTube 视频自动播放

    我需要在页面加载时显示所选内容中的随机 YouTube 视频 我发现下面的问题非常有帮助 但我不知道如何让它自动播放 我尝试过添加 自动播放 1 在 videos index 之后 但我无法让它工作 不知道我是否把它放在错误的地方 任何帮助
  • 根据使用频率随机生成字母?

    如何根据常用语音中的使用频率随机生成字母 任何伪代码都值得赞赏 但如果用 Java 实现就更棒了 否则 只需朝正确的方向戳一下就会有所帮助 注意 我不需要生成使用频率 我确信我可以很容易地查找到它 我假设您将频率存储为 0 到 1 之间的浮
  • 在 Python 中规范化数字列表

    我需要对值列表进行标准化以适应概率分布 即在 0 0 和 1 0 之间 我明白how标准化 但很好奇 Python 是否有一个函数可以自动执行此操作 我想从 raw 0 07 0 14 0 07 to normed 0 25 0 50 0
  • 如何在 PHP 中随机组合两个数组

    如何将两个数组组合成一个数组 我请求的方式是第三个组合数组应包含一个数组中的一个值和另一个数组中的下一个值 依此类推 或者 它可以是随机的 前任 arr1 1 2 3 4 5 arr2 10 20 30 40 50 和组合数组 arr3 1
  • 这个简单的洗牌算法是否会返回一副随机洗牌的扑克牌? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 您有一个包含 52 张卡片的列表 其中列表中卡片的位置不会移动 您有第二个卡位置列表 首先 位置列表与第一个列表相同 迭代第一个列表 对于第一个列表中
  • 生成唯一随机数的智能方法

    我想生成 00000001 到 99999999 范围内的唯一随机数序列 所以第一个可能是 00001010 第二个可能是 40002928 等等 最简单的方法是生成一个随机数并将其存储在数据库中 下次再执行一次并检查数据库中该数字是否已存
  • python随机字典键,并访问它[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 import random Cards Spade 2 3 4 5 6 7 8 9 10 Jack Queen King
  • Random 并行生成数字 1 的次数超过 90% [重复]

    这个问题在这里已经有答案了 考虑以下程序 public class Program private static Random rnd new Random private static readonly int ITERATIONS 50
  • 如何创建一个在给定范围内随机打乱数字的 int 数组[重复]

    这个问题在这里已经有答案了 基本上 假设我有一个可以容纳 10 个数字的 int 数组 这意味着我可以在每个索引中存储 0 9 每个数字只能存储一次 如果我运行下面的代码 int num new int 10 for int i 0 i l
  • Python - randrange() 的空范围 (0,0, 0) 和 ValueError("randrange() 的空范围 (%d,%d, %d)" % (istart, istop, width))

    当我运行这个程序时 python 3 3 1 import random import time from random import randrange print print I am thinking of a person time
  • time() 会返回相同的输出吗?

    当用户注册时 我正在为 PHP 中的用户生成令牌 我想知道两个用户是否可以获得相同的令牌 因为这会破坏系统 请让我知道这是否足够 token md5 rand time 编辑 我现在正在使用我在另一个问题上找到的generate uuid
  • 使用加权概率和值查找数组中的项目

    上周我正在做的一个简单程序遇到了一些问题 这里有人帮助了我 现在我遇到了另一个问题 我目前有这个代码 var findItem function desiredItem var items item rusty nail probabili
  • 可重复的随机数系列

    如何在 PHP 中获得一系列可重复的伪随机数 在旧版本的 PHP 中 我只需在RNG http en wikipedia org wiki Random number generation 但它不再起作用了 因为 PHP 改变了 rand
  • 如何在Java中从一组选定的颜色中输出随机颜色? (安卓)

    因此 我希望每当用户输入答案时都为字符串赋予随机颜色 我的问题是 我不确定如何使字符串的随机颜色成为特定范围的颜色 例如 如果我希望字符串随机变成蓝色 红色 绿色 粉色 白色或棕色 只有这些颜色 没有其他颜色 到目前为止 我已经使用以下代码
  • 程序每次运行都会生成相同的随机数? [复制]

    这个问题在这里已经有答案了 我刚刚完成扫雷类型游戏的编码 一切都很好 除了每次运行该应用程序时 它都会生成相同的数字 我运行了 3 次不同的时间 将输出保存到 3 个文本文件并使用diffLinux 中的命令 没有发现任何差异 它的种子是t
  • 如何从二叉搜索树中均匀随机地返回节点?

    给定一个 BST 可能平衡也可能不平衡 如何能够均匀地随机返回 任何 节点 一个限制是您不能使用外部索引数据结构 您必须以每个节点都有平等被访问的机会的方式遍历树 这个问题让我困惑了好一阵子 如果我们确实可以使用外部哈希表 指针 我们可以对
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 如何在C++中生成高精度的随机双数?

    我正在尝试生成一系列高精度的双随机数 例如 0 856365621 小数点后有 9 位数字 我从网上找到了一些方法 但是 它们确实生成了双随机数 但精度没有我要求的那么好 只有小数点后6位 那么 我可以知道如何实现我的目标吗 在 C 11
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle

随机推荐

  • Google Recaptcha 内部错误

    我正在使用新的 Google reCaptcha API 作为我的 WordPress 实例页面内的联系表单 但是API returns a 500 Internal Server Error message当使用谷歌提供的脚本时 所以 我
  • 为什么在生产中会出现“未定义方法‘分页’”错误?

    在生产服务器上使用 will paginate 时出现此错误 I 2013 10 24T20 17 40 386696 18564 INFO Started GET meals for 190 273 432 55 at 2013 10 2
  • Chrome Cookie API 不允许我使用返回值

    我正在制作一个 chrome 扩展 它在用户登录时设置 cookie 当我尝试使用chrome cookies get 方法回调可以记录结果 但我无法将其传递出回调 function getCookie cookieName var ret
  • 从 NET Core Web 应用程序调用 Microsoft Graph SDK 时出现 MsalUiRequiredException

    我们有一个 NET Core 3 1 Web 应用程序 其中用户在 Azure AD 中使用以下命令进行身份验证微软身份网络包裹 我们正在代表登录用户调用 Microsoft Graph SDK 如下所述here 登录应用程序后 一切正常
  • R 闪亮保存到服务器

    我正在构建一个 R Shiny 应用程序 充当我的团队构建的模拟模型的 GUI 用户定义参数 单击运行 模型会生成一堆图表和表格作为输出 我的问题是 每次用户打开应用程序时 他们都必须再次输入参数 我希望他们能够保存参数并在返回应用程序时再
  • JTextArea.append 的线程安全

    java doc说append方法是线程安全的 但是 我记得当我尝试从不同线程 几个月前 使用附加到文本区域时 我得到了混乱的文本 其中线程 1 将附加一些字符 而线程 2 将附加一些其他字符 因此 我得到的不是 jtextarea 中的
  • Ruby x,y = gets.split.map &:to_i

    我对这行 ruby 代码感到困惑 为什么赋值给 x y 而不是单个变量 x y gets split map to i 这将数组中的第一个条目分配给x 第二个条目y与分配给单个变量相反 在这种情况下 数组将分配给该变量 将多个变量放在赋值的
  • VS安装项目:在不同目录中安装文件

    我有 Visual Studio 安装项目 我想将我的文件之一安装到驱动器 C 上的某个目录 我该怎么做 一个例子 我正在将我的应用程序安装在 C MyApp 中 以及一个文件 settings ini 到 C Settings MyApp
  • 分配给 Setparent(..) 后 Showmodal 出现问题

    我创建了两个应用程序 MainApps 和 SubApps SubApps 有一个模式类型对话框 例如登录 注销表单等 并且工作正常 将其附加到 MainApps 后 模态对话框显示为正常的框形式 它的行为类似于 DIALOG SHOW 而
  • Google登录API:强制输入密码?

    我在我的网站上使用了多个社交提供商 包括 Google 每次用户请求我的一项操作时 我都会询问 Google 帐户的密码 这是出于安全原因 通过 Facebook 我们可以发送auth type reauthenticate范围 Googl
  • 使用具有不同 xlabel 的 Pandas 绘制日期时间条形图

    我想绘制一个条形图 其中带有条形图的 pandas DataFrame 的每一列中只有几个数据条目 这是成功的 但它不仅有错误的 y 轴限制 而且还使 x 刻度间隔非常紧密 使得图表毫无用处 我想将步速更改为大约每周左右 并且仅显示日 月和
  • CKEditor:设置光标/插入符位置

    如何在 CKEditor 3 x 中定位插入符号 我有 2 个位置 我想在这两个位置上使用 insert HTML 伪代码 editor setCaret 20 function does not exists editor insertH
  • CSS 不适用于 django 密码表单字段

    我从网上下载了一个CSS模板 我能够将除密码字段和按钮样式之外的所有内容链接到我的 Django 代码 我错过了什么步骤 我已阅读 Django 文档 并且正在使用 attr 方法将 css 属性添加到我的 Django 表单字段 在我的P
  • 如何在 Linux/OS X 上打印 wstring?

    我怎样才能打印这样的字符串 a c e 在控制台 屏幕上 我试过这个 include
  • 为什么当我执行performSelectorInBackground:时没有自动释放池?

    我正在调用一个在后台线程中运行的方法 self performSelectorInBackground selector loadViewControllerWithIndex withObject NSNumber numberWithI
  • 每个 Flash 上传器都会给出错误的进度值

    我去年初为内部网站编写的文件上传脚本在许多机器上表现得很奇怪 在某些机器上它始终工作正常 而在其他机器上它始终表现不佳 我在使用 YUI Uploader SWFUpload 2 2 和 2 5a 和 Uploadify 时遇到完全相同的问
  • MutableLiveData 中 setValue() 和 postValue() 的区别

    有两种方法可以使变化值MutableLiveData 但有什么区别setValue postValue in MutableLiveData 我找不到相同的文档 这里是班级MutableLiveData安卓的 package android
  • 改变矩阵维度

    让我们举一个可复制的例子 这是我的初始矩阵 d lt matrix 1 80 5 d 1 2 3 4 5 1 1 17 33 49 65 2 2 18 34 50 66 3 3 19 35 51 67 4 4 20 36 52 68 5 5
  • 在 asp net mvc 5 中使用会话变量进行授权

    所以我的项目需求发生了变化 现在我想我需要构建自己的操作过滤器 所以 这是我当前的登录控制器 public class LoginController Controller GET Login public ActionResult Ind
  • 如何随机均衡不相等的值?

    假设我有多个不相等的值 a b c d e 是否可以仅通过随机数生成将这些不相等的值变成相等的值 示例 a 100 b 140 c 200 d 2 e 1000 我希望算法随机定位这些集合 以便最常定位最大值 而大多数情况下只保留最小值 我