随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码

本文地址: http://blog.csdn.net/caroline_wendy/article/details/17335871

伯努利分布(bernoulli distribution), 是判断某件事情发生或者未发生的概率;

给定参数p, 可以修改概率的值, 发生概率(true)是p,未发生概率(false)是1-p;

随机库, 提供分布对象bernoulli_distribution, 输出bool值, 发生为true, 未发生为false;

伯努利分布, 概率为0.5时, 可以等概率输出一个二元事件, 如先后顺序;

注意: 引擎和分布对象, 声明在函数外, 则每次调用, 都会产生不同的值, 但却是固定的, 可以使用time(0), 定义不同的引擎;

代码如下:

#include <iostream>
#include <vector>
#include <string>
#include <random>
#include <algorithm>
#include <cmath>using namespace std;bool play (bool first) {std::default_random_engine e;std::bernoulli_distribution b(0.6); //获胜概率较大bool win = b(e);if(first) //我们获胜的概率大return win;elsereturn !win;
}int main()
{std::string resp;std::default_random_engine e;std::bernoulli_distribution b;do {bool first = b(e); //伯努利生产器std::cout << (first ? "We go first" : "You get to go first") << std::endl; //判断先后手std::cout << ((play(first)) ? "congrats, you won" : "sorry, you lost") << std::endl;std::cout << "play again? Enter 'yes' or 'no' " << std::endl;} while (std::cin >>resp && resp[0] == 'y');return 0;
}

输出:

We go first
congrats, you won
play again? Enter 'yes' or 'no'
yes
We go first
congrats, you won
play again? Enter 'yes' or 'no'
yes
We go first
congrats, you won
play again? Enter 'yes' or 'no' 

C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码相关推荐

  1. c语言画伯努利分布图像,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...

    随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/deta ...

  2. MATLAB生成伯努利图分布,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...

    随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/deta ...

  3. 概率论中伯努利分布(bernoulli distribution)介绍及C++11中std::bernoulli_distribution的使用

    Bernoulli分布(Bernoulli distribution):是单个二值随机变量的分布.它由单个参数ø∈[0,1],ø给出了随机变量等于1的概率.它具有如下的一些性质: P(x=1)= ø ...

  4. matlab怎么伯努利分布,伯努利分布 Bernoulli distribution

    伯努利分布 是一种离散分布,有两种可能的结果.1表示成功,出现的概率为p(其中0 概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质 ...

  5. C++ - 随机数生成器(random-number generator) 的 详解 及 代码

    随机数生成器(random-number generator) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/ ...

  6. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  7. python随机生成二维列表_对python产生随机的二维数组实例详解

    对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...

  8. 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码

    粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...

  9. 数学建模——智能优化之遗传算法详解Python代码

    数学建模--智能优化之遗传算法详解Python代码 import numpy as np import matplotlib.pyplot as plt from matplotlib import ...

最新文章

  1. 如何将Vision Transformer应用在移动端?
  2. 华为交换机重置命令(reset saved-configuration)
  3. WebUploader 上传图片回显
  4. VC 6.0中添加库文件和头文件
  5. Count Subrectangles CodeForces - 1323B(思维)
  6. struct和typedef struct彻底明白了
  7. @ControllerAdvice实现优雅地处理异常
  8. Objective-C中深拷贝与浅拷贝简述
  9. 通过建站学运维1901-08任务
  10. python机器学习2021年6月19日09:35:06
  11. 字典树 HDU1251
  12. 「べきだ」、「わけだ」、「はずだ」在使用中,都有“ 应该 ”的含意
  13. 实现Springboot整合UReport2
  14. Golang interface 全面介绍
  15. linux 安装TeamViewer
  16. 推荐一个理解线性代数的视频
  17. java游戏管理器虚拟按键_Android实现手机游戏隐藏虚拟按键
  18. Python数据分析案例07——二手车估价(机器学习全流程,数据清洗、特征工程、模型选择、交叉验证、网格搜参、预测储存)
  19. docker搭建 JRebel 验证服务器 和 IDEA 验证服务器
  20. Neo4j3-Neo4j基础操作(中)

热门文章

  1. Linux服务器改造成路由器的方法
  2. Jenkins打包部署gitee项目至阿里云ECS服务器
  3. 软件测试基础 第二篇 软件测试管理概述
  4. [OpenSceneGraph入门指导]1.6 OpenSceneGraph 概览
  5. 多列布局元素和栅格布局基础
  6. 【学习强化学习】六、DQN算法原理及实现
  7. windows7资源管理器无响应的解决方案
  8. 千兆网卡突然显示100M故障现象
  9. es match_phrase和edge_ngramngram分词器的区别
  10. C++字符串完全指南 - Win32字符编码(二)