Page 74 - 《软件学报》2021年第11期
P. 74
3400 Journal of Software 软件学报 Vol.32, No.11, November 2021
1.000
0.975 S 2
0.950
C/C ideal 0.925
0.900
0.875
0.850
10 20 30 40 50 60
k
Fig.6 Satisfaction ratio of user group for C and C ideal under different k value
图 6 C 与 C ideal 在不同 k 值下的用户群体满意度比值
第 2 组实验展示了 C/C ideal 随用户偏好完整程度从 0 至 100%的变化趋势.每次实验从 MV 和 IC 中随机各
选取 900 个用户,设置服务数量为 100,t 从 0 递增到 100,以控制已知 Top-t 服务的百分比从 0 递增至 100%,分别
测试 k=10,k=20 及 k=30 这 3 种情况下,C/C ideal 随用户偏好序完整程度的变化趋势,实验结果如图 7 所示.
1.0 1.0
0.8 0.8
0.6 0.6
C/C ideal C/C ideal
0.4 0.4
MV,k=10,m=100 IC,k=10,m=100
0.2 MV,k=20,m=100 0.2 IC,k=20,m=100
MV,k=30,m=100 IC,k=30,m=100
0.0 0.0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
已知Top-t服务的百分比 已知Top-t的百分比
(a) MV 上的 C/C ideal 变化趋势 (b) IC 上的 C/C ideal 变化趋势
Fig.7 Trend of C/C ideal with the degree of completeness for user preference orders
图 7 C/C ideal 随用户偏好排序完整程度的变化趋势
*
由图 7 可知,当 k/m=0.1 或 k/m=0.2 时,方法 G 需要用户提供偏好完整程度为 20%的截断偏好排序,可得到
较高的用户群体满意度.而当 k/m=0.3 时,用户截断排序的完整程度仅为 10%便可使由本方法获得的用户群体满
意度达到最高;随后,用户群体满意度的增长趋于平滑.这表明方法在用户偏好排序不完整的情况下仍然适用,
且其在已知用户偏好完整程度为 10%~20%时可获得有效的 Top-k 在线服务评价结果.
5.4 性能验证
为测试方法的效率,分别在 MV 上设计了两组实验:ILP 方法在不同用户和服务规模下的运行时间;本文方
*
法 G 在不同用户和服务规模下的运行时间.另外,分析第 5.2.3 节实验可知,STV 方法的有效性较低,研究方法 G *
与其的性能对比实验意义不大.因此,本文不设置本方法与 STV 方法的性能对比实验.
首先设计两组实验测试 ILP 方法的运行时间,调用 Python 3.6 的 PuLP 包来求解 Top-k 在线服务评价问题:
第 1 组实验模拟 200~800 个用户分别在 k=3,m=10,k=6,m=10 以及 k=9,m=30 时的运行情况,运行时间如图 8 中
图(a)所示;第 2 组实验模拟 200 个用户在 k 值分别为 3,6,9 时,ILP 方法随服务数量增加的运行情况,运行时间记
录为图 8 中图(b)所示.