|
主题: 控制random的比率!
|
 路过的猪
职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
|
#12001/12/5 9:33:13
num=random(3)+1 mc.gotoAndStop(num) 这时就是随机跳至到mc的三帧里面。 可不可以把第一帧和第二帧出现的比率比第三帧高?
|
 Demon.S
职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
|
#22001/12/5 10:24:52
num=random(2)+random(2)+1
|
 路过的猪
职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
|
#32001/12/5 10:40:28
画魔在上个帖子中说 引用: num=random(2)+random(2)+1
原理是??
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#42001/12/5 10:49:41
画魔在上个帖子中说 引用: num=random(2)+random(2)+1
不对吧,这样只有第二桢的几率高了 第二桢50%,一,三各25%
|
 Demon.S
职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
|
#52001/12/5 15:54:37
random(random(3)+random(2))+1
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#62001/12/5 17:56:12
这样好像应该是第一帧:13/18 第二帧:2/9 第三帧:1/18 晕死了,找不到笔,只能心算
|
 Zooi
职务:普通成员
等级:1
金币:0.0
发贴:104
注册:2001/11/25 16:59:59
|
#72001/12/5 19:31:10
//--------------------------------------------------------------------------------// i=ramdom(2)+1 if i<=1 then{ Num=ramdom(2)+1; } else{ Num=ramdom(3)+1; } //--------------------------------------------------------------------------------// 以上的方法好象很勉强,没办法本人编程水平就是一般。 好吧解释一下: 首先把机会分一半,第一个选择就是机会参半的情况下,一和二机会再平分两者机会值同是25%;第二个选择就是机会分半后再分三分,一、二和三都有16.66%的机会,总结以上就是一和二都有41.66%的机会,三就只有16.66的机会。 想还有其他不同的比率,只要在变量 i 想办法就可以啦,希望还有办法,请大家努力啊!
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#82001/12/6 8:49:40
Zooi在上个帖子中说 引用: //--------------------------------------------------------------------------------// i=ramdom(2)+1 if i<=1 then{ Num=ramdom(2)+1; } else{ Num=ramdom(3)+1; } //--------------------------------------------------------------------------------// 以上的方法好象很勉强,没办法本人编程水平就是一般。 好吧解释一下: 首先把机会分一半,第一个选择就是机会参半的情况下,一和二机会再平分两者机会值同是25%;第二个选择就是机会分半后再分三分,一、二和三都有16.66%的机会,总结以上就是一和二都有41.66%的机会,三就只有16.66的机会。 想还有其他不同的比率,只要在变量 i 想办法就可以啦,希望还有办法,请大家努力啊!
没必要这么麻烦吧,我觉得判断一下随机的结果,如果是3再重新随机一次就行了,这样最后是3的几率是1/9;1,2的几率各是4/9。
|
 Zooi
职务:普通成员
等级:1
金币:0.0
发贴:104
注册:2001/11/25 16:59:59
|
#92001/12/6 12:36:53
如果是这样做的话,那么第一次判断时,三就没有机会出现了机会是0%,只有一和二各先得50%的机会,第二次每个数才各有33.33%的机会了,这两个判断是不能综合在一起统计机率的,每-次判断就是一次实际的运算,然而有一次运算三是没机会出现的,这是对三不公平的运算,我所提议的的程序,在每一次的运算中,三都都有机会出现的,只是50%机会中的30%的命中率。 如果硬把以上的机率综合统计的话,象分蛋榚一样,一和二先拿一半对分各得1/4;剩下一半就是一、二和三平分,各得1/6,最后结果一、二和三之比是5:5:2,三的机率以小数点表示和我以上所算的一样是16.66%,但三却得到一次不公平对待!
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#102001/12/6 13:00:42
呵呵,人家要求就是要给3不公平对待嘛。
另外,你的算法有误吧,我说了,3是1/9(11.1%);1,2是4/9(44.4)。
|
 Zooi
职务:普通成员
等级:1
金币:0.0
发贴:104
注册:2001/11/25 16:59:59
|
#112001/12/6 18:54:02
关于程序的问题当然是越简练越好啦,不但要合理,还要容易修改。
好啦,我就想请教一下 Vital 你是怎样算的,请写详细一点,让我开开眼界?!
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#122001/12/7 9:31:51
只有连续两次都选中3才会出现第三帧,所以第三帧的几率是1/3的平方1/9。 第一帧和第二帧的几率均等,所以都为4/9。 为了减少第3帧的命中率,所以拦截一次选中第三帧的情况,我不认为有什么不合理阿?
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#132001/12/7 9:44:20
另外,我也是个编程初学者,我的程序可能也不是很简练。这个问题好像需要算法方面的知识,如果哪位大侠在这方面有研究的话,请执教。谢谢
|
 5D荣誉斑竹
职务:普通成员
等级:2
金币:2.0
发贴:617
注册:2001/11/25 16:32:29
|
#142001/12/7 20:52:33
这个问题,用工程数学中的贝努立概型应该可以得到解决吧。三个帧组成一个完备事件组!不对!不对!用概率分布!首先创建三个随机变量赴值为“0”或“1”(即random(1))。其中,两真一假的概率为3/8,两假一真的概率为3/8,全真的概率为1/8,全假为1/8。如此把两真一假设为第一帧的概率,两假一帧设为第二帧的概率,而全假或全真的概率设为第3帧,这样前两帧出现的概率就分别比第三帧多了1/8的机会,如此类推可以设4个或多个随机变量。可以随意控制你想要的三个帧出现的概率,现在flash的语言支持的数学函数也挺丰富的,试一试,没准还能弄出个泊松分布呢!哈哈!
|
 vital
职务:普通成员
等级:1
金币:10.0
发贴:194
注册:2001/5/15 12:10:20
|
#152001/12/7 22:03:20
基本明白你的意思了,不过那样效率应该比较低,没必要那么精确也。可惜概率论和高等数学碰巧是我大学里面没过的两科
|