w筛选系数=(1+错次)/(1+总次)

论坛里看到一个关于题库出题频次的需求,以前思考过,简单的话就直接用这个算法吧。

w筛选系数=(1+错次)/(1+总次)

复杂的话,就用历表(深度0表示不用历表修订统计数据)+加权系数做调整了。比如,近期数据的权大些,古老的数据权小些。又比如,时间间隔太短的数据剔除。

加权随遇数有两种做法,一种是加权尺(不推荐),一种是循环筛(推荐)。

存读档之类的和算法无关了,依照项目惯例就好了。

PS:

加权尺——即权重数组的累加数组,以此判定随遇数的归属。如果随遇数发生器不支持小数,那么累加数组的最大值要放大(如放大到65536或项数*256,通常精度就够了)。

循环筛——首先权重归一化(各权重除以最大权重),然后在循环里,先平均选,在用归一化后的权重决定是否最终选中,如选中则跳出循环。如果随遇数发生器不支持小数,那么归一化后的权重要放大(如放大到256,通常精度就够了)。

原文地址:https://www.cnblogs.com/webzip/p/12720461.html