如何评价pagerank算法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评价pagerank算法?相关的知识,希望对你有一定的参考价值。

参考技术A

我来回答一下,楼上的复制黏贴还一堆有意思么?恶心

我也做了这道题,网上查了下,资料有点少,现在说下自己的理解,理解有误欢迎指出。

疑惑1:工作集是类似滑动窗口的概念么?那工作集的取值大小对页面置换算法的影响很大吧?是不是置换算法时只考虑工作集内的页面的访问情况啊。比如工作集大小是5,访问了15次页面,那么置换算法在考虑第16次访问时,只以最近的5个页面的访问情况为数据来算?
疑惑2:页框号是什么概念?在置换掉失效页面时页框号会变么?(题主的问题)

1答:工作集是类似滑动窗口的概念。但是和实际分配的物理块数还是有点区别的。工作集小于等于进程可分配的最大物理块数。在进行置换算法调用以及回收不访问的页面占用的物理块时会用到工作集的概念,在使用全局置换策略时也会动态的增减工作集的大小以此来处理抖动问题。置换算法处理的数据就是以工作集的大小为依准的。如果题目问没有给出工作集的概念或大小,应该就是单纯考察这个算法的思想,不用考虑工作集对页面失效次数的影响(待确认)。
2答:页框号指向的是内存的实际物理地址的页号。在进程启动时,分配了哪些内存块应该是已经确定的(即工作集多大,也可以是使用全局置换策略变化的)。所以在页面失效时,虚拟页号可能会失效而从快表中删除,但是新的页号替换了哪个旧页就继承了它的页框号。



PageRank算法

PageRank,网页排名,又称网页级别,传说中是PageRank算法拯救了谷歌,它是根据页面之间的超链接计算的技术,作为网页排名的要素之一。它通过网络浩瀚的超链接关系来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,根据投票的来源(甚至来源的来源,即链接到A页面的页面)和投票目标的等级来决定新的等级。简单地说,一个高等级的页面可以使其他低等级页面的等级提升。

PageRank的基本思想:

  对网页的重要程度进行排序,也就是网络中各个节点的重要程度。如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:PR(T)/L(T).

      其中PR(T)为T的PageRank值,L(T)为T的出链数

      则A的PageRank值为一系列类似于T的页面重要性得分值的累加。

   即一个页面的得票数由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由所有链向它的页面(链入页面)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。

PageRank的计算方式:

假设一个由只有4个页面组成的集合:A,B,C和D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C及D的和。

       技术分享

       继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

       技术分享

      换句话说,根据链出总数平分一个页面的PR值。

       技术分享

以上是关于如何评价pagerank算法?的主要内容,如果未能解决你的问题,请参考以下文章

基于胜率矩阵的PageRank排序

PageRank算法和谷歌搜索讲解

MapReduce 之PageRank 算法概述设计思路和源码分析

pagerank算法

PageRank算法

PageRank算法原理与Python实现