Math 概率实现

Math 概率实现,math,statistics,probability,Math,Statistics,Probability,如果我有x、y和z事件发生的概率,我如何通过编程实现这三个事件之间的选择 例如: Pr(x)=0.3 Pr(y)=0.2 Pr(z)=0.5 我想要一个函数,让我实现这些概率,我应该选择y,或者z,等等 非常感谢您提供的任何指针或引用。如果您有一个函数rand()在[0,1]中返回统一的随机数,那么 float r = rand(); if (rand < Pr(x)) { return x; } else if (rand < Pr(x)+Pr(y)) { retu

如果我有x、y和z事件发生的概率,我如何通过编程实现这三个事件之间的选择

例如: Pr(x)=0.3 Pr(y)=0.2 Pr(z)=0.5

我想要一个函数,让我实现这些概率,我应该选择y,或者z,等等


非常感谢您提供的任何指针或引用。

如果您有一个函数
rand()
[0,1]
中返回统一的随机数,那么

float r = rand();
if (rand < Pr(x)) {
    return x;
} else if (rand < Pr(x)+Pr(y)) {
    return y;
} else {
    return z;
}
float r=rand();
如果(兰特
类似地,如果可以生成一个介于1和100之间的随机整数,那么

int r = rand();
if (rand < Pr(x)*100) {
    return x;
} else if (rand < (Pr(x)+Pr(y))*100) {
    return y;
} else {
    return z;
}
int r=rand();
如果(兰特
如果有一个函数
rand()
[0,1]
中返回一个统一的随机数,那么

float r = rand();
if (rand < Pr(x)) {
    return x;
} else if (rand < Pr(x)+Pr(y)) {
    return y;
} else {
    return z;
}
float r=rand();
如果(兰特
类似地,如果可以生成一个介于1和100之间的随机整数,那么

int r = rand();
if (rand < Pr(x)*100) {
    return x;
} else if (rand < (Pr(x)+Pr(y))*100) {
    return y;
} else {
    return z;
}
int r=rand();
如果(兰特
如果您有事件问题,则取[0,1]中返回正常发行版的函数,并检查它在哪个范围内。如果在[0,0.3]中返回A,如果在[0.3,0.5]中返回B,否则返回C。

如果您有事件问题,则取[0,1]中返回正常发行版的函数,并检查它在哪个范围内。如果在[0,0.3)返回A,如果它在[0.3,0.5]中返回B,否则返回C。

在python中,您可以编写一个程序,该程序定义一个方法“选择器”,它采用两个参数px和py,这两个参数是前两个事件独立发生的概率。该方法将根据需要返回x、y或z。python代码如下:

import random 

def chooser(px,py):
    prob = random.randint(1, 10)
    if (prob<=(px*10)):
        return x
    else if (prob<=((px+py)*10)):
        return y
    else:
        return z
随机导入
def选择器(px、py):
prob=random.randint(1,10)

如果(prob在python中,您可以编写一个程序来定义一个方法“选择器”,它采用两个参数px和py,这两个参数是前两个事件独立发生的概率。该方法将根据需要返回x、y或z,python代码如下:

import random 

def chooser(px,py):
    prob = random.randint(1, 10)
    if (prob<=(px*10)):
        return x
    else if (prob<=((px+py)*10)):
        return y
    else:
        return z
随机导入
def选择器(px、py):
prob=random.randint(1,10)

如果(prob)你到底得到了什么?你想要达到什么?你有P(X),P(Y),P(Z)吗?你在寻找它们同时发生的概率吗?它们是独立的吗?是的,我得到了每个事件的概率。比如说,对象U,想在这三个事件中选择一个,而只选择一个事件。我还是不明白,你得到了概率,你想选择什么?你能给出一个具体的详细例子吗对象x希望选择事件:x、y或z,概率Pr(x)、Pr(y)、Pr(z)都给定。我如何生成此选择的实现?此操作通常称为“采样”。具体给您什么以及您试图实现什么?您有P(x)、P(y)、P(z)吗?你在寻找它们同时发生的概率吗?它们是独立的吗?是的,我得到了每个事件的概率。比如说,对象U,想在这三个事件中选择一个,而只选择一个事件。我还是不明白,你得到了概率,你想选择什么?你能给出一个具体的详细例子吗对象x希望选择事件:x、y或z,概率Pr(x)、Pr(y)、Pr(z)都给定。如何生成此选择的实现?此操作通常称为“采样”。@Victor:要么如此,要么显而易见;-)@Victor:要么如此,要么显而易见;-)不完全正确。您需要第二个条件来读取
(px+py)*10
代替
py*10
。不完全正确。您需要第二个条件来读取
(px+py)*10
代替
py*10