ProbabilityStatistics
class ProbabilityStatistics:
@staticmethod
def simulation_of_probability(v, ratio=10000):
assert v >= 0 and v <= 1
_v = int(v * ratio)
complement = ratio - _v
l = [0 for _ in range(_v)] + [1 for _ in range(complement)]
import random
# TODO numpy scipy
return random.choice(l) == 0
if __name__ == '__main__':
vs = (0.1, 0.5, 0.5123, 0.9)
for v in vs:
for times in (100, 1000, 10000, 100000):
ok = 0
for i in range(times):
b = ProbabilityStatistics.simulation_of_probability(v)
if b:
ok += 1
print('got-times,run-times,p,target', ok, times, ok / times, v)
got-times,run-times,p,target 14 100 0.14 0.1
got-times,run-times,p,target 83 1000 0.083 0.1
got-times,run-times,p,target 957 10000 0.0957 0.1
got-times,run-times,p,target 10171 100000 0.10171 0.1
got-times,run-times,p,target 42 100 0.42 0.5
got-times,run-times,p,target 524 1000 0.524 0.5
got-times,run-times,p,target 4940 10000 0.494 0.5
got-times,run-times,p,target 50071 100000 0.50071 0.5
got-times,run-times,p,target 55 100 0.55 0.5123
got-times,run-times,p,target 475 1000 0.475 0.5123
got-times,run-times,p,target 5205 10000 0.5205 0.5123
got-times,run-times,p,target 51188 100000 0.51188 0.5123
got-times,run-times,p,target 92 100 0.92 0.9
got-times,run-times,p,target 902 1000 0.902 0.9
got-times,run-times,p,target 9035 10000 0.9035 0.9
got-times,run-times,p,target 90093 100000 0.90093 0.9
class ProbabilityStatistics:
@staticmethod
def simulation_of_probability(v, ratio=10000):
assert v >= 0 and v <= 1
_v = int(v * ratio)
complement = ratio - _v
l = [0 for _ in range(_v)] + [1 for _ in range(complement)]
import random
# TODO numpy scipy
return random.choice(l) == 0
if __name__ == '__main__':
vs = (0.1, 0.5, 0.5123, 0.9)
for v in vs:
for times in (100, 1000, 10000, 100000):
ok = 0
for i in range(times):
b = ProbabilityStatistics.simulation_of_probability(v)
if b:
ok += 1
print('got-times,run-times,p,target', ok, times, ok / times, v)
ProbabilityStatistics的更多相关文章
- 【javascript】:Highcharts实战
PS: Highcharts是一款前端图标设计框架,非常绚. 前端JS: var probabilityStatisticsData; var yearTool; var CoordinateX = ...
随机推荐
- 【mybatis-plus】主键id生成、字段自动填充
一.主键id的生成 数据库表里通常都会有一个主键id,来作为这条数据的唯一标识. 常见的方式 数据库自动增长 这种很常见了,可以做到全库唯一.因为id是天然排序的,对于涉及到排序的操作会很方便. UU ...
- hibernate连接数据库中文乱码
4.做完这两步还是不行,需要修改hibernate的配置文件hibernate.cfg.xml,在配置文件配置hibernate.connection.url属性.示例: <property n ...
- stm32之定时器彻底研究
分类: C/C++ 这里介绍两种方式使用stm32的定时器:直接操作寄存器和使用st的官方的库文件. 相比较而言,直接操作定时器比较简洁,对着寄存器看十分明了.而使用库文件有一点晕头转向. (个人观点 ...
- logback运行时动态创建日志文件
package com.example.demo.config; import ch.qos.logback.classic.Level; import ch.qos.logback.classic. ...
- Class 类文件结构
本文部分摘自<深入理解 Java 虚拟机第三版> 概述 我们知道,Java 具有跨平台性,其实现基础就是虚拟机和字节码存储格式.Java 虚拟机不与 Java 语言绑定,只与 Class ...
- ES6模板字符串及字符串的扩展方法
一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str ...
- Elastisearch在kibana下批量处理(mget和bulk)
一.批量查询 有点:能够大大减少网络的请求次数,减少网络开销 1.自定义设置index.type以及document id,进行查询 GET /_mget { "docs":[ { ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
- 杭电OJ----1002A + B问题II(超大数计算问题)
Problem Description I have a very simple problem for you. Given two integers A and B, your job is to ...
- Mirai框架qq机器人教程 新版
Mirai框架qq机器人教程 新版 前言 资料列表 1.准备 i. 配置java环境 ii. 配置IDE iii. 下载mirai-console-loader(mcl)作为启动器 2.创建mirai ...