控制随机抽中几率[ C# | Random ]

前言

关于这个算法也许(肯定)已经被发明,但是我、我身边的朋友、我的老师在这之前是不知道也没能想出来的,如果你不知道的话,那么也包括你了: ) 在这个范围内被首次提出应该算是“发明”的!!增加、减少随机抽中几率——我的好朋友狄鹏在三年前想到的一个算法,我现在拿出来发扬光大。此算法可用于题库随机抽题、赌博机控制出彩率,甚至俄罗斯方块等游戏,有广泛的用途!也希望能帮得到你!

强调

在随机的基础上增控制抽中几率,注意随机性!!

正文

一、文字解说:

为待随机抽取的集合每个项加一个权值,这个权值就是随机几率,比如正常被抽正的几率为1,那么将希望被抽中几率更大的项的权值设置为3或5,然后随机抽取集合中的项,并将随机数乘以每个项对应的权值,然后排序!!提取前N个项即可!大家可以发现权值更高被乘之后有更高几率排在前面而被抽中,如果将权值设为0将永远也不会被抽中!

二、应用场景:

1.随机抽题:如果题A去年考过了,那么我希望今年出现的几率更小或者不出现,那么我将题A的权值设置为0,这道题将在以后的考试随机抽题中永远不会被随机抽中;而另外题B是本院今年模拟考试中的一道题目,我将这道题权值增加到5,根据算法,那么这道题目在下次随机抽题抽中率将比普通题目提高数倍!

2.赌博机:大家知道游戏厅里面的赌博机是可以调的,被人调了之后出彩率明显提高或者降低,我觉得本算法适合解释。假设赌博机有24个赌项可供选择,分别是A-Z各个字母,按正常几率的话每个项的权值都是1,调机师可以通过动态改变权值来达到提高或降低中奖率。假如你投三个币,分别选了A、B、C,赌博机根据调机师的设置动态改变了A、B、C的权值,让灯转3-4圈后更大的几率停留在这三个选择中奖金较少的一个。

3.俄罗斯方块:大家在打QQ俄罗斯方块对打的时候,有时候明显感觉堆得越高,出的东西反而不顺意,我觉得本算法也可以达到这个效果。计算机能算得出下一个最优方案是出条还是出角最好,所以可以通过调整权值来打破平均出现的几率来达到这个目的!

......

时间: 2024-10-02 21:13:23

控制随机抽中几率[ C# | Random ]的相关文章

一种随机抽题的简单算法

随机抽题是很多有关考试软件经常会遇到的问题,设相关题库中有n道题,要从中抽取m ( m<=n ) 道题,这要首先产生m个随机数.在C语言中,一般的做法是: int *intArray; int i; time_t t; intArray = malloc(m*sizeof(int)); /*time(&t)将获取当前时间,srand把当前时间作为随机数的种子*/ srand((unsigned) time(&t)); /*依次产生m个随机数*/ for(i=0; i<m; i+

对象-自抗扰控制simulink仿真中的一些问题

问题描述 自抗扰控制simulink仿真中的一些问题 这是用s-function做的自抗扰控制,请大神指教一下,图中被控对象传递函数体现在哪里啊? 解决方案 http://wenku.baidu.com/link?url=bc-s-7Jkb4sFQXrHpnOgxze8rL3iJlXKi1ZYaKG5hGTzpiG-tTG_MVcSFVeOaPcEcYzpdJ34wnQvedQNmAWG-83I-1gHkYQxCGsoFH8XQPK

SQL BUG集之&amp;amp;quot;随机排序中的newid()问题&amp;amp;quot;

排序|随机|问题 /**==** 2. 随机排序中的newid()问题 **==**/--测试数据declare @t table(name char(1),value int)insert into @tselect 'a',1union all select 'a',2union all select 'b',3union all select 'b',4union all select 'c',5union all select 'c',6 --要求,随机排序,但name相同的要排在一齐s

控制input输入框中提示信息的显示和隐藏的方法

 这篇文章主要介绍了怎样控制input输入框中提示信息的显示和隐藏 ,需要的朋友可以参考下 在运用html+css+javascrpt进行页面制作时,我们往往会遇到一些影响用户体验,而又容易被我们忽视的小细节.比如,input输入框中的提示信息,怎样才能根据对象获得和失去焦点而实现其显示和隐藏.今天在这里,想跟大家分享一下这个小技巧,希望各位大神不要拍砖哦~~~    一.要求    input输入框,在光标显示时,隐藏提示信息:光标离开输入框时,显示提示信息.    二.方法    1.给该i

javascript上下方向键控制表格行选中并高亮显示的方法

 这篇文章主要介绍了javascript上下方向键控制表格行选中并高亮显示的方法,涉及javascript针对键盘按键操作相应的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了javascript上下方向键控制表格行选中并高亮显示的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

asp.net-ASP.NET如何控制在网页中打开的PDF不能保存和打印

问题描述 ASP.NET如何控制在网页中打开的PDF不能保存和打印 解决方案 用flashpaper将pdf转换为swf 解决方案二: ASP.net的PDF打印(水晶报表)[摘]

《中国人工智能学会通讯》——8.5 鸽群优化在控制参数优化中的应用

8.5 鸽群优化在控制参数优化中的应用 经典 PID 控制方法在面对非线性和模型不确定性等因素时,难以满足控制性能的要求,同时控制器参数的选取会对被控对象的响应精度产生较大的影响.Dou et al [15] 将模型预测控制算法应用到了舰载机的控制器设计中,并通过使用鸽群优化对模型预测控制其参数进行优化设计,仿真分析表明,鸽群优化可以很好地对控制器参数进行优化设计,满足控制需求. Deng et al [16] 提出了一种新的自动着陆系统控制参数设计方法.为克服人工调参的问题,利用鸽群优化将参数

在javascript中随机数 math random如何生成指定范围数值的随机数_javascript技巧

今天有朋友向我请教:JavaScript 怎么生成指定范围数值随机数.Math.random() 这个方法相信大家都知道,是用来生成随机数的.不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数.这次我就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数. w3school的random()教程 定义和用法 random() 方法可返回介于 0 ~ 1 之间的一个随机数. 语法 Math.random() 返回值 0.0 ~ 1.0 之间的一个伪随机

2名“淘友”抽中宝马

长达8天的大型活动,数万件奖品,淘宝商城3周年活动共吸引14.7亿人次参与.国际权威机构Alexa昨日发布的最新数据显示,淘宝商城独立域名Tmall.com流量在中国网站排名上升至18位,位居中国B2C网站之首.据悉,在淘宝商城3周年活动中,共有2名幸运儿抽中网站送出的宝马MINI COOPER. 8天时间 3人购物金额达100万元 记者昨日从淘宝方面获悉,在淘宝商城3周年活动中,仅抽奖活动就吸引1076万人次参加,共计送出345万件奖品,活动奖品总价值高达7000万元.奖品是2辆MINI CO