安全快速评估迭代方法:PageRank算法的优化与实践
1. 固定点表示与误差实验
在处理PageRank算法时,为了实现有效的固定点表示,我们将 $f$ 设为 $m$ 的函数,具体为 $f = 30 + \log_2 m$。这样设置的目的是让接近 $1/m$ 的元素能有大约9位小数的“有效”数据。
为验证这种设置 $f$ 的策略是否有效,我们进行了如下实验:
1. 选取大小为 $m$ 且链接数为 $l$ 的随机图 $G_{m,l}$。
2. 使用浮点表示法对该图运行100次PageRank迭代,得到 $x_{100}$。
3. 对同一图使用固定点表示法(明文)运行100次迭代,得到 $z_{100}$。
我们生成了 $m$ 在100到10000之间,且链接数 $l = i \cdot m$($i = 2, \ldots, 40$)的各种图。对于每个考虑的 $(m, l)$,使用Python3的NetworkX包生成一组 $T = 100$ 个图 $S_{m,l} = {G_{m,l}^k \text{ for } k \in {1, \ldots, T}}$。然后计算每组中观察到的最大误差 $e_m^{\max}$,其计算公式为:
$e_m^{\max} = \max_{G \in {S_{m,2} \cup \ldots \cup S_{m,40}}} e_G$
其中,$e_G = |z_{100} - x_{100}| {\infty} = \max {j \in {1, \ldots, m}} |z_{100}^{(j)} - x_{100}^{(j)}|$
实验结果如下表所示:
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



