Presentation on theme: "Google Pagerank: how Google orders your webpages Dan Teague NCSSM."— Presentation transcript:
Google Pagerank: how Google orders your webpages Dan Teague NCSSM
The Problem Imagine a library containing 40 billion documents but with no centralized organization and no librarians. In addition, anyone may add a document at any time without telling anyone. If one of these documents is vitally important to you, how could you find it?
Why This Order?
Google Pagerank System Google was developed by Sergey Brin and Larry Page This is the method that Larry Page developed to rank and order the pages. Hence, the Pagerank.
Larry Page (new CEO of Google) Co-founder Larry Page once described the “perfect search engine” as something that “understands exactly what you mean and gives you back exactly what you want.”
Eagle Ray at Eden Rock
How would you order these site? Suppose each of the nodes at right have the links shown in the directed graph. Which node is most important and should appear first?
The Basic Idea PageRank is a numeric value that represents how important a page is on the web. Google figures that when one page links to another page, it is effectively casting a vote for the other page. The more votes that are cast for a page, the more important the page must be. Also, the importance of the page that is casting the vote determines how important the vote itself is.
Bucket Brigade Matrix
Outdegree Matrix H
Markov Chain We would like to think of this matrix as a transition matrix (like a Markov chain). If we move around on the graph at random, at which nodes will we spend most of our time? These most important nodes can be found in a Markov chain by considering the powers of H.
Or we can look for solutions to HX = X. This means we want the eigenvector X associated with the eigenvalue of 1. This is why the Pagerank is known as the $25,000,000,000 eigenvector.
Consider powers of H
Where did all the Importance go?
Things that go wrong:
Graph not strongly connected
Powers of Hs
States 4-7 Disappear
How Do We Handle These Problems? The Dangling Node The Cycle The Sub-graph Sink
The Dangling Node The Dangling Node we handle by requiring a transition to another node at random. Pick a node, move there, and then move forward.
We alter our Bucket Brigade matrix by adding in matrix A.
Matrix H + A
What About the Other Problems? Dangling Nodes are easy to find. Cycles and Sub-graph sinks are more difficult and time consuming. Pagerank handles these problems without actually finding them. The Cycle The Sub-graph Sink
Probabilistic Movement Roll a die. If anything but a 6 shows, then follow the web, that is, use our matrix (H + A). However, if you roll a 6, then pick a page at random and go there. This gives us an out when we are trapped either by a cycle or by a sub-graph sink.
How Often Should We Look for an Escape? Would it be better to roll a 20-sided die or flip a coin?
How do you implement the coin flip? Create a matrix all of whose entries are 1. This is the One matrix. If we multiply this matrix by 1/n, where n is the number of nodes in the graph (in our example 11, in reality 40 billion), then we have an equal chance of traveling from any point to any other point. We pretend that the web is a complete graph.
Roll the die We will use the Web-ordered matrix H+A with probability p and the One matrix with probability (1-p). What’s a good value for p?
The Basic Google Equation
G = p(H + A) + (1-p)One (1/n) We know that (H + A) and One(1/n) are both Markov chains. Is G also? So, powers of G should tell us what we want to know.
G = p(H + A) + (1-p)One (1/n) But powers of G is an incredibly inefficient way to go on the “real world” of the web. Instead, the iterative method is employed.
Iterating X n+1 = GX n
The Pagerank order is
What about p? What role does p play and what value is actually used?
p determines the rate of convergence
p = 0.95 has not yet converged
Google Pagerank Google claims that it uses p = 0.85 (roll of the die is just about right) and about 50 iterations of the matrix G, where G = p(H + A) + (1-p)One (1/n). It recomputes every month.