php概率函数,PHP全概率运算函数(优化版) Webgame开发必备
代码如下:
$setting = array(
// 黑色概率
0 => 0.99,
// 白色概率
1 => 0.01,
);
// Requires the GD Library
header("Content-type: image/png");
$im = imagecreatetruecolor(256, 256) or die("Cannot Initialize new GD image stream");
$white = imagecolorallocate($im, 255, 255, 255);
$start = microtime(true);
for ($y=0; $y<256; $y++) {
for ($x=0; $x<256; $x++) {
if (random($setting) === 1) {
imagesetpixel($im, $x, $y, $white);
}
}
}
$time = microtime(true) - $start;
header("X-Exec-Time: ".$time);
imagepng($im);
imagedestroy($im);
/**
* 全概率计算
*
* @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4)
* @return string 返回上面数组的key
* @author Lukin
*/
function random($ps){
static $arr = array(); $key = md5(serialize($ps));
if (!isset($arr[$key])) {
$max = array_sum($ps);
foreach ($ps as $k=>$v) {
$v = $v / $max * 10000;
for ($i=0; $i
}
}
return $arr[$key][mt_rand(0,count($arr[$key])-1)];
}
?>
黑点出现概率99%,白点出现概率1%,测试结果:
php概率函数,PHP全概率运算函数(优化版) Webgame开发必备相关推荐
- react hook + stamen store + pug实现纯函数无痛版react开发体验
基于最新的react 16.7.0-alpha.2,结合react hook + stamen store + pug,实现纯函数无痛版react开发体验,畅快度直逼clojurescript + r ...
- Code::Blocks 2023.01 全中文汉化-优化版
Code::Blocks 是一款开放源码.功能全面的跨平台集成开发环境(IDE),通过集成相应的编译器,可以支持使用广泛的C和C++程序开发.而且通过集成各种插件,可以实现各种扩展功能. 目前在中文网 ...
- 正态分布函数概率运算dnorm/pnrom/qnrom/rnorm
R语言-正态分布函数概率运算 一.正态分布 二.R语言中的相关函数 三.举例 1.求值函数`dnorm` 2.概率函数`pnrom` 3.函数`qnrom` 4.取样函数`rnrom` 四.引用 一. ...
- 《Delphi 版 everything、光速搜索代码》 关于获取文件全路径 GetFullFileName 函数的优化
<Delphi 版 everything.光速搜索代码>,文章中关于获取文件全路径的函数:GetFullFileName,有一个地方值得优化. 就是有多个文件,它们可能属于同一个目录. 譬 ...
- [转载]《Delphi 版 everything、光速搜索代码》 关于获取文件全路径 GetFullFileName 函数的优化...
Delphi 版 everything.光速搜索代码>,文章中关于获取文件全路径的函数:GetFullFileName,有一个地方值得优化. 就是有多个文件,它们可能属于同一个目录. 譬如 Sy ...
- 非常全的 matlab 函数
一.常用对象操作:除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who 可以查看当前工作空间变量名, who ...
- 史上最全MySQL 大表优化方案(长文)
转载自 史上最全MySQL 大表优化方案(长文) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 一.单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑 ...
- 史上最全的 MySQL 高性能优化实战总结
转载自 史上最全的 MySQL 高性能优化实战总结 一.前言 MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行 M ...
- Python数模笔记-模拟退火算法(1)多变量函数优化
1.模拟退火算法 模拟退火算法借鉴了统计物理学的思想,是一种简单.通用的启发式优化算法,并在理论上具有概率性全局优化性能,因而在科研和工程中得到了广泛的应用. 退火是金属从熔融状态缓慢冷却.最终达到能 ...
最新文章
- python学到什么程度可以做兼职-Python学到什么程度就可以找工作?
- 好污!杜蕾斯:一份2017年度账单和床上总结求认领...
- vue 实现动态增加输入框_vue实现一个6个输入框的验证码输入组件
- Luogu P3975 [TJOI2015]弦论
- 【十万个编程篇】写文章与“写项目”的差别
- ASP.NET Core Api网关Ocelot的中文文档
- Java事务管理之JDBC
- Java实例---flappy-bird实例[最终版]
- Ubuntu中配置虚拟专用网络***
- UVa 11572 Unique snowflakes【滑动窗口】
- linux进程的线程信息,Linux 下查看线程信息
- U8系统UFO报表无法打印
- 小甲鱼c语言照片,【跟着小甲鱼学C语言】P14 给大家介绍对象
- Node.js meitulu图片批量下载爬虫1.04版
- UVa Problem 10247 Complete Tree Labeling (完全树标号)
- 【3D目标检测】Rethinking Pseudo-LiDAR Representation
- 根据正规文法构建状态转换图
- 科学计算机怎么锁死,人类的技术科学被“锁死”,科学家已证实,仍有很多人不相信!...
- Wifi设备配网问题
- 前端网页生成二维码方法
热门文章
- Confluence 6 文档主题合并问答
- 阿里云推荐引擎使用教程
- Tsung压力测试介绍
- 超强PHP集成环境,支持800多个不同PHP版本同时运行,无限自定义添加mysql与php版本...
- SQLiteOpenHelper类
- Unix高级环境编程—进程控制(一)
- Ecshop购物流程结算步骤 显示商品缩略图
- 浅谈千万级PV/IP规模高性能高并发网站架构
- 使用Flink时从Kafka中读取Array[Byte]类型的Schema
- python UnicodeEncodeError: 'gbk' codec can't encode character ...