按照设定的概率,得到随机choujiang的结果

问题描述

本帖最后由 独孤求败 于 2015-2-23 20:18 编辑 $award) { self::$proSum += $award; } if (empty(self::$proSum)) { return self::$checkAward = false; } return self::$checkAward = true; } protected static function successRoll($rollKey){ return array('code' => self::SUCCESS_CODE, 'roll_key' => $rollKey, 'msg' => 'roll success'); } protected static function failRoll($msg = 'roll fail'){ return array('code' => self::FAIL_CODE, 'msg' => $msg ); } //** public static function roll () { if (false == self::$checkAward) { return self::failRoll('awards data is not the right format!'); } $result = mt_rand(0, self::$proSum); $proValue = 0; foreach (self::$awardsArr as $_key => $value) { $proValue += $value; if ($result array('pro' => 15, 'info' => '15%的可能性'), '1' => array('pro' => 25, 'info' => '25%的可能性'), '2' => array('pro' => 40, 'info' => '40%的可能性'), '3' => array('pro' => 20, 'info' => '20%的可能性'), ); lottery_tool::setProField('pro');lottery_tool::setAwards($awards); $result = array(); for ($i = 10000; $i --;) { $result[] = lottery_tool::roll();} foreach ($result as $key => $value) { $awards[$value] ++;} echo '';var_dump($awards);//结果:array 0 => array 'pro' => int 15 'info' => string '15%的可能性' (length=15) 'num' => int 1596 1 => array 'pro' => int 25 'info' => string '25%的可能性' (length=15) 'num' => int 2484 2 => array 'pro' => int 40 'info' => string '40%的可能性' (length=15) 'num' => int 3939 3 => array 'pro' => int 20 'info' => string '20%的可能性' (length=15) 'num' => int 1981 $award) { self::$proSum += $award; } if (empty(self::$proSum)) { return self::$checkAward = false; } return self::$checkAward = true; } protected static function successRoll($rollKey){ return array('code' => self::SUCCESS_CODE, 'roll_key' => $rollKey, 'msg' => 'roll success'); } protected static function failRoll($msg = 'roll fail'){ return array('code' => self::FAIL_CODE, 'msg' => $msg ); } //** public static function roll () { if (false == self::$checkAward) { return self::failRoll('awards data is not the right format!'); } $result = mt_rand(0, self::$proSum); $proValue = 0; foreach (self::$awardsArr as $_key => $value) { $proValue += $value; if ($result array('pro' => 15, 'info' => '15%的可能性'), '1' => array('pro' => 25, 'info' => '25%的可能性'), '2' => array('pro' => 40, 'info' => '40%的可能性'), '3' => array('pro' => 20, 'info' => '20%的可能性'), ); lottery_tool::setProField('pro');lottery_tool::setAwards($awards); $result = array(); for ($i = 10000; $i --;) { $result[] = lottery_tool::roll();} foreach ($result as $key => $value) { $awards[$value] ++;} echo '';var_dump($awards);//结果:array 0 => array 'pro' => int 15 'info' => string '15%的可能性' (length=15) 'num' => int 1596 1 => array 'pro' => int 25 'info' => string '25%的可能性' (length=15) 'num' => int 2484 2 => array 'pro' => int 40 'info' => string '40%的可能性' (length=15) 'num' => int 3939 3 => array 'pro' => int 20 'info' => string '20%的可能性' (length=15) 'num' => int 1981

时间: 2024-09-14 13:59:34

按照设定的概率,得到随机choujiang的结果的相关文章

数字-按照设定概率产生不重复随机数

问题描述 按照设定概率产生不重复随机数 有没有知道如何按照一定概率生成无重复数字,例如1 5% 2 4% 3 1% 4 15% 2 4% 3 1% 4 %10 5 7%%10 5 7%,从中随机不重复选出3个数,随机100000次,总体概率符合设计的随机要求. 可以设定概率值,然后从中随机数字,随机的三个数字不能有重复的,计算随机100000次后,每个数字的出现概率与设定的概率接近一致1 4.999% ..... 解决方案 思路 产生一个0~1的浮点整数,它是均匀分布的,那么它小于0.05的概率

php随机抽奖实例分析_php技巧

本文实例讲述了php随机抽奖用法.分享给大家供大家参考.具体分析如下: 1. 按照设定的概率,得到随机抽奖的结果.     复制代码 代码如下: <?php /**  * 抽奖工具  */ class lottery_tool {     protected static $awardsArr;     protected static $proField = 'probability';     protected static $proSum = 0;     protected stati

《SPSS 统计分析从入门到精通(第2版)》一6.4 游程检验

6.4 游程检验 SPSS 统计分析从入门到精通(第2版)有时我们除了关心分布的形状外,还希望知道样本的随机性.因为如果样本不是从总体中随机抽取的,那么所做的任何推断都可能变得毫无价值.在某些特殊的情况下,样本随机性的重要程度会远远大于总体参数的重要程度. 游程检验的目的,就是检验取值为二分类并且按某种顺序(例如时间顺序)排列的数据资料,是否确实是随机出现的. 6.4.1 原理与方法 所谓游程,是指二分类变量有相同取值的几个连续记录.以投硬币试验为例,假设以1表示正面,0表示反面,在进行了若干次

ASP与txt组合设计程序的实例

程序|设计 文章简介:ASP是目前互联网上应用最为广泛的动态网页程序语言之一.而提到它我们总是和Access或SQLSever等数据库放在一起,诚然他们的结合可以使我们更自由轻松的管理与发布站点,但你可知道ASP和文本文件相结合也可以实现一些小巧且实用的功能哦.现在通过三个应用于网页上的小例子,让我们领略一下二者合璧的风采.     ASP是目前互联网上应用最为广泛的动态网页程序语言之一.而提到它我们总是和Access或SQLSever等数据库放在一起,诚然他们的结合可以使我们更自由轻松的管理与

最具web2.0意义的豆瓣网站的几点价值

web|web2 首先我要先声明一个很简单的观点.每个网站都有自己的价值.这里我们还是引用著名"人民教师"老罗的话:赌博赢钱的概率是不是随机的?怎么可能是随机的呢随机的结果是一半人把另外一半人的钱都赢走了,那我开赌场干什么呢?并且交水电费,黑社会保护费,贿赂城管公安局等等.现在大家基本明白了吧.每次说到价值我总是想骂web2list,虽然我在骂但那其实是我一个人没有看到他的价值而已,并不是它真的没有价值.文章的第一段只希望大家能够明白豆瓣其实是有价值的. 价值1:二手平台 经过一位朋友

蒙特卡罗方法入门

本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method). 一.概述 蒙特卡罗方法是一种计算方法.原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值. 它非常强大和灵活,又相当简单易懂,很容易实现.对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法. 它诞生于上个世纪40年代美国的"曼哈顿计划",名字来源于赌城蒙特卡罗,象征概率. 二.π的计算 第一个例子是,如何用蒙特卡罗方法计算圆周率π. 正方形内部有一个相切的圆,它们的面积之比是π/4

【一文读懂AlphaGo Zero算法】白话蒙特卡洛树搜索和ResNet

AlphaGo Zero 令人惊艳.不过,有些评论似乎渲染过度,把它的算法说得神乎其神.大数医达创始人,CMU计算机学院暨机器人研究所博士邓侃在本文中,尝试用大白话,通俗地解释 AlphaGo Zero,弄清楚蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS).深度学习启发函数和置信上限这三大核心概念. AlphaGo Zero 引起巨大社会轰动 只告诉机器围棋的基本规则,但是不告诉它人类摸索了上千年才总结出来的定式等围棋战术,让机器完全依靠自学,打败人类.这个题目不仅

AI说人“画” | 什么?咱俩说的是一个“模型”嘛!

Hello大家好,我是Vicky,今天我们来讲一些关于"模型"的事儿. 模型是对事物的抽象,是发现规律模拟真实世界用的. 在数据里呢,基本上模型有两类,解释性和预测性,今天来着重来说预测性的. 所以怎么评价模型的好坏呢? 当然就是预测的多准了. 机器学习模型呢,就是看学习能力如何,也就是看举一反三的能力. 一般常用的机器学习模型包括:分类,回归和聚类. 今天就以分类模型为例,谈谈怎么评价一个"模型"好不好. 检验一个机器学习模型时要做的第一件事就是看误差有多大, 这

一文搞懂HMM(隐马尔可夫模型)

什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有规则的运动状态.熵的中文意思是热量被温度除的商.负熵是物质系统有序化,组织化,复杂化状态的一种度量. 熵最早来原于物理学. 德国物理学家鲁道夫·克劳修斯首次提出熵的概念,用来表示任何一种能量在空间中分布的均匀程度,能量分布得越均匀,熵就越大. 一滴墨水滴在清水中,部成了一杯淡蓝色溶液 热水晾在空气中