架构师训练营第十三周作业
作业一:
Google 搜索引擎是如何对搜索结果进行排序的?(请用自己的语言描述 PageRank 算法。)
Google 使用 page rank 算法对不同网页计算出重要度。搜索匹配到的网页按照重要度高低进行排序。
Page rank 算法认为一个页面,如果有越多的其它页面包含指向该页面的链接,则该页面越重要。同时,如果包含指向该页面的其它页面本身重要度越高,则该页面重要度也越高。
算法把网页的链接视为投票,如果 A 页面包含指向 B 页面的链接,则认为是 A 页面向 B 页面投了票。如果 A 页面一共含有 K 个指向其它页面的链接,则相当于 A 页面向 B 页面投了 1/K 票。
PageRank(pi) = ∑ PageRank(pj)/pj 页面对外链接总数 (pj 为所有包含指向 pi 页面链接的页面)
同时用户除了通过点击链接访问其它页面,也有可能通过直接输入网页地址访问其它页面(假设访问所有页面概率相同). 设通过通过点击链接访问其它页面的概率为 d.
PageRank(pi) =(1-d)/N + d *( ∑ PageRank(pj)/pj 页面对外链接总数 ) (pj 为所有包含指向 pi 页面链接的页面, N 为所有页面总数)
算法一开始设置所有页面的 page rank 值为 1. 然后调用 PageRank 算法为所有页面更新 page rank. 通过多轮调用算法,使得每个页面的 page rank 值趋于稳定,得出最后的 PageRank 值。
作业二:
根据当周学习情况,完成一篇学习总结
评论