博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Algorithms -离散概率值(discrete)和重置、洗牌(shuffle)算法及代码
阅读量:5291 次
发布时间:2019-06-14

本文共 1149 字,大约阅读时间需要 3 分钟。

离散概率值(discrete) 和 重置\洗牌(shuffle) 算法 及 代码

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

离散概率值, 是根据离散分布的概率(归一化), 计算出一个随机的值, 概率越大, 离散值出现的可能性就越大;

原理: 随机生成一个0-1的值,顺次累加概率值, 大于等于随机值输出, 由于概率值越大, 相加之后跨度越大, 越有可能输出;

 

重置(洗牌)(shuffle), 是随机打乱数组的值, 保持原值不变, 更换位置;

原理:遍历数组, 随机生成一个当前值, 之后的值, 即[当前值, 之后的值], 交换位置;

 

1     /*  2      * Algorithms.java  3      *  4      *  Created on: 2013.12.03  5      *      Author: Wendy  6      */   7        8     /*eclipse std kepler, jdk 1.7*/   9       10     public class Algorithms   11     {  12         //根据输入的概率数组, 随机输出离散的值  13         public static int discrete(double[] a)  14         {  15             double r = StdRandom.uniform();  16             double sum = 0.0;  17             for(int i=0; i
= r) return i; 21 } 22 return -1; 23 } 24 25 //重置(洗牌), 把数组值的顺序打乱 26 public static void shuffle(double[] a) 27 { 28 int N = a.length; 29 for(int i=0; i

 

输出:

 

1 [plain] view plain copy2 3     discrete value = 2  4     shuffle : 0.3 0.2 0.4 0.1

 

转载于:https://www.cnblogs.com/sggggr/p/9143833.html

你可能感兴趣的文章
pzoj Problem 2127 养鸡场
查看>>
有趣的JavaScript隐式类型转换
查看>>
wireshark 无法抓取本地数据包
查看>>
sql 知道年龄 数据库里面只有身份证 查询条件为这个年龄的所有数据
查看>>
android 高德地图出现【定位失败key鉴权失败】
查看>>
如何使用mybatis插入数据之前就具生成id值
查看>>
算法笔记--基础数学知识
查看>>
Extjs Dom
查看>>
初始化linux部署tomcat
查看>>
Predictive Analytics for Business
查看>>
Python中常用的模块(OS模块)
查看>>
Why should a self-implemented getter retain and autorelease the returned object
查看>>
altera小实验——第一个demo指导书
查看>>
强化学习1
查看>>
NSArray的sorting排序
查看>>
docker建立和共享文件(服务器和docker之间的共享)
查看>>
全文检索技术---solr
查看>>
动态内存分配(Dynamic memory allocation)
查看>>
Java学习 第三章 java基础(一)
查看>>
C#网络编程数据传输中封装数据帧头的方法
查看>>