文章目录
- PageRank算法工作原理
- 简化版本
- 完整版本
 
- graphs分析
- graphs代码 [^4]
 
- 结语
PageRank算法工作原理
算法原理1
简化版本
若页面B,C,D…N都有链接到页面A上,则页面A的PageRank值如下:
  
     
      
       
       
         P 
        
       
         R 
        
       
         ( 
        
       
         A 
        
       
         ) 
        
       
         = 
        
       
         ( 
        
        
         
         
           P 
          
         
           R 
          
         
           ( 
          
         
           B 
          
         
           ) 
          
         
         
         
           L 
          
         
           ( 
          
         
           B 
          
         
           ) 
          
         
        
       
         + 
        
        
         
         
           P 
          
         
           R 
          
         
           ( 
          
         
           C 
          
         
           ) 
          
         
         
         
           L 
          
         
           ( 
          
         
           C 
          
         
           ) 
          
         
        
       
         + 
        
        
         
         
           P 
          
         
           R 
          
         
           ( 
          
         
           D 
          
         
           ) 
          
         
         
         
           L 
          
         
           ( 
          
         
           D 
          
         
           ) 
          
         
        
       
         + 
        
       
         . 
        
       
         . 
        
       
         . 
        
       
         + 
        
        
         
         
           P 
          
         
           R 
          
         
           ( 
          
         
           N 
          
         
           ) 
          
         
         
         
           L 
          
         
           ( 
          
         
           N 
          
         
           ) 
          
         
        
       
         ) 
        
       
         d 
        
       
         + 
        
        
         
         
           1 
          
         
           − 
          
         
           d 
          
         
        
          N 
         
        
       
      
        PR(A)=(\frac{PR(B)}{L(B)}+\frac{PR(C)}{L(C)}+\frac{PR(D)}{L(D)}+...+\frac{PR(N)}{L(N)})d+\frac{1-d}{N} 
       
      
    PR(A)=(L(B)PR(B)+L(C)PR(C)+L(D)PR(D)+...+L(N)PR(N))d+N1−d 2
完整版本
区别简化版本完整版本引入了阻尼系数 
     
      
       
       
         d 
        
       
      
        d 
       
      
    d的概念(任意时刻,用户访问到某页面后继续访问下一个页面的概率,相对应的 
     
      
       
       
         1 
        
       
         − 
        
       
         d 
        
       
      
        1-d 
       
      
    1−d则是用户停止点击,随机浏览新网页的概率。并且开始声明的 
     
      
       
       
         d 
        
       
         = 
        
       
         0.85 
        
       
      
        d=0.85 
       
      
    d=0.85故完整公式如下:
  
     
      
       
       
         P 
        
       
         R 
        
       
         ( 
        
        
        
          p 
         
        
          i 
         
        
       
         ) 
        
       
         = 
        
        
         
         
           1 
          
         
           − 
          
         
           d 
          
         
        
          N 
         
        
       
         + 
        
       
         d 
        
        
        
          ∑ 
         
         
          
          
            p 
           
          
            j 
           
          
         
           ∈ 
          
         
           M 
          
         
           ( 
          
          
          
            p 
           
          
            j 
           
          
         
           ) 
          
         
        
        
         
         
           P 
          
         
           R 
          
         
           ( 
          
          
          
            p 
           
          
            j 
           
          
         
           ) 
          
         
         
         
           L 
          
         
           ( 
          
          
          
            p 
           
          
            j 
           
          
         
           ) 
          
         
        
       
      
        PR(p_i)=\frac{1-d}{N}+d\sum_{p_j\in M(p_j)}\frac{PR(p_j)}{L(p_j)} 
       
      
    PR(pi)=N1−d+d∑pj∈M(pj)L(pj)PR(pj) 3
graphs分析
结构图
 
 柱状图
 
graphs代码 4
digraph G {
    // 设置图的布局引擎为dot
    layout=dot;
    // 边的样式
    edge [color="#888888", arrowhead="vee"];
    // 节点的样式
    node [shape="ellipse", style="filled", fontname="Arial", color="#DDDDDD", fontcolor="#333333"];
    // 节点之间的连接
    12 -> {04 29 39};
    19 -> {13 40 51 53 59 62};
    20 -> {23 24 40 50 51};
    26 -> {13 27 38 39};
    29 -> {40 44 46};
    57 -> {09 12 40 55};
    45 -> {43 22 28};
    08 -> {59 60 61 62};
    54 -> {40 46};
    09 -> {10 40 57};
    23 -> {16 8 32};
    38 -> {13 27 39 40};
    39 -> {03 04 13};
    41 -> {42 43 44};
    42 -> {27 38 39 40};
    46 -> {12 29 38 40};
    50 -> {4 5 15 46};
    51 -> {12 13};
    52 -> {12 29 40};
    55 -> {13 40 59};
    59 -> {34 40 55};
    61 -> {29 40 46 59};
    48 -> {12 13 17 39 40 46};
    35 -> {12 38 39 40};
    24 -> {27 39 40};
    31 -> {27 38 39 40 50};
    36 -> {34 55 57 59};
    32 -> {13 21 22};
    18 -> {13 40 59};
    07 -> {04 17 27};
    62 -> {13 19 27 59};
    16 -> {13 17 40};
    44 -> {12 13 17 27 29 38 40};
    7 -> {2 4 15};
    53 -> {49 22 48};
    56 -> {4 9 13};
    05 -> {04 08 12 16 20};
    04 -> {05 07 40 46 39};
    27 -> {13 23 38};
    30 -> {13 39 40};
    28 -> {03 07 10 12};
    17 -> {13};
}
结语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!
- 源于PageRank-wiki ↩︎ 
- L ( x ) L(x) L(x)是每个页面的连出总数, d d d为修正系数,由于“没有向外链接的网页”可能存在,所以赋给每个页面一个最小值 ( 1 − d ) N \frac{(1-d)}{N} N(1−d) ↩︎ 
- p 1 , p 2 . . . . p n p_1,p_2....p_n p1,p2....pn是目标页面, M ( p i ) M(p_i) M(pi)是链入𝑝𝑖页面的集合, L ( p j ) L(p_j) L(pj)是页面 p j p_j pj链出页面的数量, N N N是集合中所有页面的数量 ↩︎ 
- Graphviz操作参考文章 ↩︎ 



















