网页链接权重算法

现在有这样一个问题,
假设A,B, C初始各有1块钱,每轮A将自己的钱一半给B, 一半给C, B将自己的钱全部给C, 而C将自己的钱全部给A。
第一轮: A 1元,  B 1元, C 1元。
第二轮: A 1元,  B 0.5元,  C 1.5元
第三轮: A 1.5元, B:0.5元, C1元
第四轮: A 1元, B:0.75元, C 1.25元
........

问若干轮后, A,B,C的钱数是否收敛, 收敛到什么值。

这个问题如果用反复计算的“笨”方法解, 有如下思路,
我们把任务分配者称为Manager,任务执行者称为Worker,
Manager将任务分为A,B,C三个,并且分别给Worker执行,
第一轮
step1
WorkerA执行A 任务,发现A任务执行的两个结果 0.5B, 0.5C。
WorkerB执行B任务,发现执行结果1C
WorkerC执行C任务,发现执行结果1A

这个过程称为map

step2
WorkerA, B, C将任务结果还给Manager, Manager合并结果
A 1 B 0.5 C 1+0.5 
在这个过程中Manager不停轮询WorkerA,B,C, 当A,B,C计算未完成时返回null, 计算完成则返回结果.

还有另外一种执行流程

WorkerA, B,C将处理结果中A的部分交给一专门处理A的WorkerA', B的部分交给WorkerB', C的部分交给WorkerC'。
然后由相应的WrokerA' B' C'执行合并过程。
等工作全部完成后再把最终结果传输给Manager。Manager在此过程中可以睡眠等。

这个过程称为reduce。

两种流程各有优劣,首先第二种流程因为多一次传输,传输量较大,其次, 各个机器负载也不相同。

再经过n轮计算后,我们可以发现,A,B,C的钱数确实收敛。

实际上,A,B,C的钱数之和不变,那么结果总是收敛的。在已知收敛的情况下,我们可以这么计算。

a = c
b = a/2
c = a/2 + b

a =2b = c
a +b +c = 3
则a =1.2 b=0.6 c=1.2, 既a, b, c收敛的数值。因为收敛意味着极限存在,极限值即是满足上述等式的"稳定值"。

现在换一个假设,想定A, B, C为三个网页,其中A网页引用B, C网页, B网页引用C网页, C网页引用A网页。那么A,B,C的权重是多少?
算法就在上面了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26899445/viewspace-756111/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26899445/viewspace-756111/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
权重PageRank算法是对经典PageRank算法的一种改进,它在计算网页排名时考虑了网页之间的链接权重。 在传统的PageRank算法中,每个网页链接权重都被视为相等,即每个链接对于目标网页的影响权重是一样的。而在权重PageRank算法中,每个链接可以具有不同的权重值,这样可以更精确地反映网页之间的关联性。 实现权重PageRank算法的步骤与传统PageRank算法类似,但在计算网页的PageRank值时需要考虑链接权重。以下是一种可能的实现方法: 1. 链接图的表示:同样将网页链接关系表示为一个由网页ID和对应链接网页ID组成的二元组,但每个链接还需要包含对应的权重值。 2. 初始权值赋值:将所有网页的初始权值设置为1/N,其中N为网页总数。 3. Map阶段:每个Mapper节点将输入的链接图数据进行解析,输出为一个键值对(网页ID,对应链接网页ID和链接权重值)。 4. Reduce阶段:每个Reducer节点接收来自不同Mapper节点的键值对,对同一网页ID的不同链接进行求和处理,并考虑链接权重值,计算该网页的PageRank值。 5. 重复迭代:将每个网页的PageRank值用于下一轮迭代,直到收敛为止。 6. 输出结果:将每个网页的PageRank值按照从大到小的顺序输出,得到排名列表。 需要注意的是,在权重PageRank算法中,链接权重的设置需要根据实际情况进行调整,可以根据链接的质量、相关性等因素来确定。这样可以更准确地反映网页之间的关联性,从而得到更合理的网页排名结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值