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

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(使用前将#替换为@)

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

  • Java生成范围内不重复的随机数

    我想生成 1 到 4 范围内的随机数 包括 4 这是我的代码 int num r nextInt 4 1 r is instance of Random 但是 我在循环中运行上述代码 并且不想重复随机数 现在发生的事情我经常得到 1 1 1
  • 为 javascript 编写一个真正具有包容性的随机方法

    Javascript MATH 对象有一个随机方法 该方法从集合 0 1 返回 0 含 0 1 不包括 有没有办法返回一个真正随机的方法 其中包括 1 e g var rand MATH random 2 if rand gt 1 rand
  • 打乱列表并返回副本

    我想对数组进行洗牌 但我找到的只是类似的方法random shuffle x from 在 Python 中随机化字符串列表的最佳方法 https stackoverflow com questions 1022141 best way t
  • 为什么梅森扭转器比线性同余发生器更快?

    我使用 gcc C 标准库的梅森扭曲器实现进行了测试 它的性能优于线性同余发生器和 Crand 这很可能是 LCG 提升文档 http www boost org doc libs 1 58 0 doc html boost random
  • 寻找 5 字节 PRNG 的种子

    这是一个古老的想法 但从那时起我就无法找到一些相当好的方法来解决它提出的问题 所以我 发明 了 见下文 一个非常紧凑的 在我看来 性能相当好的 PRNG 但我无法找出算法来为其在大位深度上构建合适的种子值 我当前的解决方案只是暴力破解 它的
  • 为什么我在这段代码中不断得到两个相同的随机值? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我的随机数生成器在 C 中不是随机的 https stackoverflow com questions 932520 why does it appear that my random num
  • 在 Golang 中生成固定长度的随机十六进制字符串的有效方法?

    我需要生成很多固定长度的随机十六进制字符串 我找到这个解决方案golang中如何生成固定长度的随机字符串 https stackoverflow com a 31832326 710955 我正在做这样的事情 const letterByt
  • 将字符串转换为变量名。 (JavaScript)

    我确实查看了前面的问题 但它们是针对整数值的 我需要文本值的答案 我在本周早些时候问了一个与此相关的问题 但现在是这样 如下所示 我使 Make x 等于某个字符串值 Acura Honda Toyota 当我将 Make x 传递到函数
  • 在 C# 中生成随机值

    如何使用以下命令生成随机 Int64 和 UInt64 值RandomC 中的类 这应该可以解决问题 这是一个扩展方法 因此您可以像调用普通方法一样调用它Next or NextDouble上的方法Random目的 public stati
  • 当尝试在随机数字数组中查找运行最大值时,会调用多少次更新最大值?

    假设我们有一个包含 N 到 N 的整数的数组 数组大小为 2N 1 我们首先对数组中的元素进行混洗 然后尝试通过从第一个元素到最后一个元素迭代数组来找到最大整数 代码示例是Java语言 int called 0 int max Intege
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • Rand() 在 C 中总是给出相同的数字[重复]

    这个问题在这里已经有答案了 我是 C 语言新手 我正在编写一个简单的代码来获取随机数 我尝试制作一个游戏或多或少 随机数和玩家写一个数字 但是当我在终端中启动代码时 我总是得到相同的数字 这正常吗 如果没有 我该如何修复 include
  • Python 是否有相当于 R 的sample() 函数?

    我想知道Python是否有相当于sample R 中的函数 The sample https stat ethz ch R manual R devel library base html sample html函数使用带替换或不带替换的方
  • 用给定均值截断正态分布

    python 是否可以生成具有给定期望值的截断正态分布 我知道 scipy stats truncnorm 可以给出截断的正态分布 该分布取平均值original正态分布作为参数 但我想创建一个截断正态分布 使得截断分布的期望值是一个特定值
  • 从 xgb.train() 获取概率

    我是 Python 和机器学习的新手 我在网上搜索了我的问题 并尝试了人们建议的解决方案 但仍然没有得到它 如果有人能帮助我 我将非常感激 我正在开发我的第一个 XGboost 模型 我已经使用 xgb XGBClassifier 调整了参
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • 如何延迟 onClick 操作

    我正在尝试在 java 应用程序 android 中做一些事情 并且我需要一些东西来延迟 等待循环的秒数 我怎样才能延迟android功能 我尝试过使用 Thread sleep TimeUnit sleep 但它只会执行几秒钟的不负责任的
  • 以线程安全的方式获取随机数

    这是一篇描述随机数线程安全性的好文章 以线程安全的方式获取随机数 http blogs msdn com b pfxteam archive 2009 02 19 9434171 aspx 但我坚持使用 RandomGen2 示例 publ
  • 随机定位的 div,不重叠

    所有 div 都像我需要的那样 随机 放置 但它们偶尔会重叠 这只是一个机会问题 我怎样才能防止这种情况发生 理想情况下我能够设置它们之间的最小距离 我可以通过进一步开发当前的 javascript 来实现这一目标吗 我需要考虑完全不同的方
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别

随机推荐

  • 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 我希望算法随机定位这些集合 以便最常定位最大值 而大多数情况下只保留最小值 我