求教
先呈上FINDER机器人请有实力的朋友,阅读此机器人后,回答我:
ALARM:-*2
#if ((%random(4)<1)&(!%trigger(autolog))) {#if (%numwords(@target_queue,|)!=%numwords(@user_queue,|)) {ini};
#if (!%null(@user_queue)) {halt;
pp %word(@target_queue,1,|)} {tuna 10}}
已知如果采用%random(0)<1,那么多ID同时响应同一个任务的概率将是100%。如果我希望尽可能的减少多ID同时响应同一个任务的概率,又希望不要拖延太久回答。那么在这个触发里,执行任务概率%random设为多少最合适?希望尽可能得到一个用工作ID数量N为变量的表达式。
求助求助啊~ 所有机器人都工作在同一个ROOM,say触发句用来交流。 可以不用say,直接在别的窗口发指令
比如把找到的结果ans发送到finder_a窗口就是finder_a:#var ans xxxxxxx
所以我觉得可以这样,a先pp,pp失败直接在b窗口发pp,再失败再c窗口pp
这样比用say触发,省了say的信息来回时间,基本等于无缝衔接的不断pp 直接指定SESSION不错,但是我为了在扩充团队时避免修改机器人文件,也就是为了提高普遍性,只好否决这个方案。 而且ZMUD4.62在频繁使用SESSION切换时,会不会很容易出错,我有心理阴影。 T_T 我要数学解,哪怕不能给我更有意义的答案,我首先想要的是我那个问题的数学解。例如我现在是4人的PP团队,每ID每2秒检测一次任务队列,就问我把这个概率设置为几,能让重复率和速率折中。
[ 本帖最后由 bluse 于 2010-11-14 12:44 PM 编辑 ] 粗算了一个响应率p=1/n,这个结果与模型构架有关。晚上回家再具体想一下。 设响应率为p (0<p<1),则有n个id的情况下,全部不响应的概率为u=(1-p)^n,存在重复响应的概率为v=1-(1-p)^n-p(1-p)^(n-1),楼主的目标是平衡响应时间与重复率,即取u与v的综合最小值。设w=f(u,v),如果用一个最简单的模型w=u+v,求min(w),解出来最优解就是p=1/n。如果对重复率和响应时间有不同要求,要用相应的f(u,v),这个,呼叫一下数学达人吧。 顶起来 上班没事帮你算算。。。
设random后的可能数为m, 同时工作id为n
则都不响应概率p=((m-1)/m)^n
期望相应次数E为1*(1-p)+2*p(1-p)+3*p^2*(1-p)+...=1/(1-p)
第一次相应时, 有同时相应概率P为1-p-n*1/m*((m-1)/m)^(n-1)=1-p-n*p/(m-1)
几种典型情况m n E P
2 2 4/3 1/4
2 3 8/7 4/8
2 4 16/15 11/16
3 2 9/5 1/9
3 3 27/19 5/27
3 4 81/65 33/81
4 2 16/7 1/16
4 3 64/37 10/64
4 4 256/175 67/256
[ 本帖最后由 puppet 于 2010-11-15 01:46 PM 编辑 ]
页:
[1]
2