Page 495 - 《软件学报》2025年第7期
P. 495

3416                                                       软件学报  2025  年第  36  卷第  7  期


                    同理, 为了对任务的数据进行剪枝, 有定理            6.
                    定理  6. 给定质量和重要性从大到小排序后的工人和任务集合, 从最小重要性的任务开始剪枝, 每次剪枝从做
                 了该任务最小质量的工人开始, 如果满足公式              (30), 则停止剪枝.
                    证明: 对于第    n                       U n , 那么对该任务来说总的误差为:
                                个任务, 做了该任务的集合为
                                                                   √    
                                                       1  ∑  d 2 −d 1  2 1  
                                                            
                                               MAE n ≈          +                              (30)
                                                      |U n |    ε/|M s |  π w 2 
                                                                        s
                                                         s∈U n
                    假设集合中工人质量最小的工人编号为              l, 排除掉第  l 个工人的总误差为:

                                                                     √    
                                                      1    ∑  d 2 −d 1  2 1  
                                                              
                                             MAE n − ≈            +                            (31)
                                                    |U n |−1    ε/|M s |  π w 2 
                                                          s∈U n \{u l }    s
                                                                                                   d 2 −d 1
                    如果第   l 个值不被剪枝, 也就是说加上该值后误差变小, 那么令               MAE n ⩾ MAE n −, 同时引入辅助变量  z s =
                                                                                                   ε/|M s |
                  √
                    2 1
                 +      , 那么:
                    π w 2 s
                                                   1  ∑      1   ∑
                                    MAE n − MAE n − =   z s −        z s
                                                  |U n |   |U n |−1
                                                     s∈U n      s∈U n \{u l }
                                                    |U n |−1  ∑      |U n |  ∑
                                                =             z s −             z s
                                                  |U n |(|U n |−1)  |U n |(|U n |−1)
                                                            s∈U n          s∈U n \{u l }
                                                        ∑         ∑           ∑
                                                ∝ (|U n |−1)  z s −|U n |  z s = |U n |z l −  z s
                                                        s∈U n    s∈U n \{u l }  s∈U n
                                                                        √ (       ) 
                                                   1  ∑  (d 2 −d 1 )(|M l |−|M s |)  2 1  1  
                                                        
                                                =                   +        −                 (32)
                                                  |U n |      ε           π w 2  w 2 
                                                     s∈U n                    l   s
                    因此, 如果

                                                                √ (       ) 
                                           1  ∑  (d 2 −d 1 )(|M l |−|M s |)  2 1  1  
                                                
                                                                            ⩾ 0
                                                                            
                                                               +      −                             (33)
                                                                           
                                                                      2
                                          |U n |       ε           π w   w 2 
                                             s∈U n                     l  s
                 那么就停止剪枝.
                    (3) 自适应剪枝   (UAP) 算法流程
                    基于以上剪枝条件得到如下算法            2  流程. 首先进行初始化     (第  1, 2  行); 其次, 为每个任务分配至少一个值       (第
                 3–6  行); 再者, 优先给重要任务分配高质量的工人, 能提高真值发现的效用; 最后分别对工人                        (第  7–9  行) 和任务
                 (第  10–12  行) 进行剪枝. 特别地, 由于某个任务不存在对应的提交值的话, 那么便无法得到该任务对应的“真值”,
                 进而导致真值发现失败. 因此采用本文算法能避免真值发现失败.
                 算法  2. 自适应剪枝   (UAP) 算法.
                 输入: 任务重要性矩阵      Y; 数据矩阵   X; 工人质量矩阵    W;
                 输出: X.
                 1) 对工人的质量    W  由大到小排序并对应更新        X;
                 2) 对任务的重要性     Y  由大到小排序并对应更新       X;
                 3) for (n=1 to N) do
                          t n  从  X  中从上到下选择最近一个值;
                 4)  对任务
                 5)  在  X  中保留相应的值;
                 6) end for
                 7) for (s=1 to M) do
   490   491   492   493   494   495   496   497   498   499   500