PageRank explained
praveshkoirala.comImportantly, PageRank doesn't work today - you need something else. It was one of many possible ranking hacks, and one that worked at the particular time in that particular state of the web where nobody was gaming links because PageRank didn't exist yet. Maybe you could invent a good ranking algorithm for the modern internet, perhaps just the reciprocal of the number of ads on the page, minus its AI detector score, but probably not that.
Unimportantly, it's named after Larry Page, not after the fact that it ranks pages.
> Unimportantly, it's named after Larry Page, not after the fact that it ranks pages.
I've always taken it as a happy double play since it is named after Page, but also ranks pages.
His name may have influenced him to make his career from ranking pages
I've always wondered what would happen if you named a kid Nominative Determinism. Some kind of paradox?
> name change at 18 probably
That's so cool because it's true, and holds very strongly with the semantic concept
name change at 18 probably
He'd probably grow up to be the guy who goes around making people do things that sound like their names.
He would be promptly murdered by someone named Alexander the Great.
It's not like he was going to be a Congressional staffer nor working at a newspaper. But if he was on-call for a lot of his career that'd be kind of amusing
He could also have worked for Motorola.
> PageRank doesn't work today
That's silly to say when it can be fruitfully applied in so many situations. Any time you have noisy and sparse pairwise comparisons, you can think of them as one of the sides of the pair vouching for the other side. If you then solve PageRank for the entire graph, you get a somewhat principled global ranking of all items.
I used it recently to construct a top list of books I read a year based only on sloppy pairwise comparisons between them. I've also used it to judge the quality of other relevance algorithms while keeping the human input to a minimum.
I don't know of many alternatives that work better than PageRank under those conditions. Thurstone-type models require dense comparisons, and Elo doesn't fare very well when the comparisons are too noisy.
> Importantly, PageRank doesn't work today
It works as well as it ever did, i.e. in non-adversarial situations. It's not designed to be secure so it fails when people try to game it. Designing something like Page Rank that works in an adversarial environment is still an open problem.
So in other words it doesn't work.
Um, no? It works in non-adversarial environments. Such environments are rare in today's world but they still exist, mainly where there isn't a profit motive. Believe it or not, there are still some people in the world who believe that there is more to life than money.
Another Goodhart's Law casualty...
Really?? And not BrinRank?
Larry designed the algorithm and Brin implemented it. Not so different than what we saw with transformers and LLMs. The people who came up wit the ideas and the algorithms were joined by others who implemented them. Together they made it all work.
There's no credible reference to this. The most likely scenario is that they worked together in designing the system. They also credited their professors, Motwani and Winograd, for it.
I actually built this, and shipped it, in 1996, with no knowledge of page rank, citation analysis, or bibliometrics, for an internal/external search engine for the Envirolink web site. Envirolink was a directory of environmental web sites, so they already had a list of URLs to crawl. The reason it was feasible to build was that it was a fairly constrained list of URLs, it wasn't the entire web.
I didn't really know what I was doing (I was 17), but it was an awesome unpaid summer internship. There were two parts of the search engine - a crawler and the search engine. Both were written in Perl.
PageRank is fascinating, since it is so easy to explain.
Yet, this is not even half the work. It like a third of the way.
Before you could have invented PageRank, you must think in graphs. That is possible in 1996, but not as widespread as today.
After you invented PageRank, you still need to deploy it. Again, possible but challenging as well. Is Python performant enough in 96? Can you afford more than 4MB RAM?
At least Lego will not sue you for using their bricks to build a server rack in 1996.
> Before you could have invented PageRank, you must think in graphs.
For anyone puzzling over what is the graph-based perspective, there's actually a very elegant and simple mathematical way to derive page rank.
Define the directed graph of web links / citations through its adjacency matrix: web pages as nodes and links as directed edges. Represent a web surfer as a random walker on this graph, and run forth (simulate) the probability distribution of where they might end up.
If you've studied linear algebra you would see an immediate analogy between the PageRank algorithm how the power method is used to find the dominant eigenvector (of the transition matrix, which is a normalized version of the adjacency matrix).
This process is basically equivalent to implementing the diffusion process generated by the discrete graph laplacian. And simulating the random walk to find the long term stationary probability dstribution over nodes is akin to finding the zero eigenvector of this graph laplacian -- because it must generate "zero change" on the fixed point state.
> you must think in graphs. That is possible in 1996, but not as widespread as today.
Could you elaborate? I'm a very graph-oriented thinker, and I was never aware this was some kind of declining skill (For context I was not alive in '96).
I think you're misreading it (I did the first time as well). GP is saying "graph thinking" was not as common in 1996 as it is today, so is saying the opposite of it being a declining skill.
Ah, yeah, that'd do it.
Plus a lot of the advanced graph-related algorithms were discovered by the 80s.
Yeah, this was all done in Bell Labs starting in the 1960s
Here are two excellent videos that explain and visualize the PageRank algorithm:
* [2020-06-17] Spanning Tree - "How Google's PageRank Algorithm Works" (5m16s): https://www.youtube.com/watch?v=meonLcN7LD4
* [2022-05-23] Reducible - "PageRank: A Trillion Dollar Algorithm" (25m25s): https://www.youtube.com/watch?v=JGQe4kiPnrU
Well, I was a child in 1996, so probably not.
Tying relevancy to link frequency was definitely a novel idea at the time, even if it seems "obvious" or simple in retrospect.
Also PageRank as a Markov chain
[0] https://math.libretexts.org/Bookshelves/Linear_Algebra/Under...
As, I think, Page points out in the patent, PageRank's idea comes from Science Citation Index. That was an inverted list of scientific references, where you could look up an scientific paper in an expensive set of bound books and find all the papers in which it was later referenced. You can then use this to see who's getting referenced a lot, which is an ego trip in academia. Academic libraries had copies of that index. Now everybody has that kind of info, but when it had to be done by hand, it was hard.
Inverting the huge, sparse matrix of references for PageRank was expensive. Originally, Google did it about once a week. The big breakthrough was when someone (who?) figured out how to do it incrementally at scale.
Here's an in-depth explanation with an interactive demo that I made many moons ago:
https://web.archive.org/web/20130728183938/williamcotton.com...
Thinking of an algorithm in the abstract is one thing, implementing it at scale is another.
Yes you could have invented PageRank, but could you also have invented MapReduce, BigFiles/Google File System (GFS), Google Web Server, Bigtable, Protobuf? Then spun up fault-tolerant clusters consisting of cheap commodity PC hardware in an era where AWS wasn't even an idea yet? Then invented the concept of Borg to manage this hardware globally?
When Google started, Beowulf clusters were all the rage. So it wouldn't be a big conceptual leap at all. But productionizing it is serious work.
There were smart people around thinking about distributed systems to hire in 1996 just as there is now. It's a dream job for nerds. Productionizing it is not at all impossible if you have money to pay people to do it. It's not like there weren't examples of real world distributed job systems out there already (just different).
Money you get by being a pair of connected Stanford grads living in the most tech connected place in the world, with Stanford alumni and venture capital connected people all around you.
The CS is part is medium-hard. The productionizing part is a hiring problem.
Getting the capital is a whole other aspect.
I knew lots of smart people in 1996 in the first .com wave. None of us made any money :-) I should have moved to San Francisco in 97 like I was originally planning. Oops. (And no, I could not have done what Jeff Dean & Sanjay did but I would have loved to have tried ;-) )
Yes anybody can be in the right place at the right time.
You could also have invented a wheel because it's so obvious.
The problem with the wheel is not inventing it so much as finding ways to use it. Aside from capstans and pulleys, the wheel is mostly only useful in combination with good infrastructure or complicated machinery.
Related, fascinating foundational work
Citation index https://en.wikipedia.org/wiki/Citation_index
Shepard's Citations https://en.wikipedia.org/wiki/Shepard's_Citations
Let's not forget that PageRank unintentionally spawned the SEO industry.
True
> Sergey Brin and Larry Page came up with this precise algorithm, i.e., PageRank, which was one of the key algorithms that helped catapult Google into a household name and made them tons of money. Both Sergey and Larry were grad students at Stanford, so their coming up with such an amazing algorithm doesn’t seem surprising.
No, Brin wasn’t a co-inventor of PageRank.
Inventor in the context of a U.S. patent has a very narrow and technical meaning, different from the broader concept of "coming up with something." Larry Page and Sergey Brin developed PageRank together as grad students in Stanford's Digital Library Project, led by Hector Garcia-Molina. This is simply undisputable and both are listed as co-authors of the PageRank paper [1]. The list of inventors on a patent, especially nowadays, should not be seen as a historical finding about credit.
[1] https://www.semanticscholar.org/paper/The-PageRank-Citation-...
Inventorship of patents has a clear legal basis, and is quite different from the basis of scientific authorship.
The system disincentifies adding "ghost" inventors since incorrect listing of the inventors can invalidate a patent.
So, yes, it's likely that the patent attorneys hired by Stanford advised that only Page should be listed as an inventor. Stanford gets its money via the assignment, not the inventor list.
It's giving "Attention is all you need" but in the year 1996
What I always wonder is, how does google knows how to go to abc.com, xyz.com, mypage.com, etc. so it can crawl them?
It starts with seed URLs and fans out from there
Back in 1996, this could be done by hand
thanks! I imagined it will be something like that. Maybe Google used yahoo index back then as seed?
One is reminded of Damien Hirst's famed retort to a critic who said "Well I could have pickled a shark" ... "But you didn't, did you. I did."
Reminds me of Teddy Roosevelt's "Citizenship in a Republic" speech, where he talked about the man in the arena:
> It is not the critic who counts; not the man who points out how the strong man stumbles or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, and comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows the great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who know neither victory nor defeat.
https://www.presidency.ucsb.edu/documents/address-the-sorbon...
My favorite related pithy quote is "criticism is a minimum-wage job."
I could not have invented it. I was one year old.
How do you compute page rank for billion of pages that have cyclic links? Is that not the problem right after the initial idea?
That is not at all a problem. Links dampen their effect and you run it until convergence - read the paper. It's no different than summing an infinite convergent series, $\sum_{i=0}^n a^{-n}$.
Also, WTF, it seems impossible to find a PDF of the original paper still on the web without a paywall.
You’re underestimating the difficulty - actually downloading, parsing and updating the system with billions of pages was a very hard thing in the 1990s.
It's not an algorithmic issue, though, that's a systems issue. GGP was talking about the cyclic link nature which isn't an issue of size, it's an issue of convergence.
In 1997, there were only a hundred thousand web pages. Not even millions. The one billion mark would not be breached until 2016 according to the results of a quick search.
Good thing there weren't billions of pages in the 90's.
Yup. I was there, using the web, back then. I used Altavista dozens of times a day. It wasn't very good.
I never thought of it.
I never thought of the Million Dollar Homepage, either.
It's still there! https://milliondollarhomepage.com/
I remember the first ever HTML CV (résumé) being published.
I am Slashdot user #6030. I used it for ages before I created a user account.
I was already paying for my own personal email address in 1991 when timbl revealed the WWW to the world. I thought it was a gimmick. It'd never catch on. We already had Gopher and Archie and Veronica.
deep sigh
In recent news this page that's been somewhat viral recently seems an interesting successor to the million dollar homepage: https://outbid.lol/
A little nihilistic, but I find it charming.
Milliondollarhomepage is a little strange and irritating, you're just buying pixels after all. But it is interesting and has a certain conflicting charm to it.
Outbid is just sad. People pay money to get on a slop board?
curious, how do you decide on which page to start from? Popular directories?
No mention of RankDex?
All credit to you for writing this yourself!
PageRank, at its core, symbolizes these basic properties.
This isn't what "symbolizes" means. You could use "embodies", "satisfies", "models", etc.Step 1: be sponsored by the CIA
it’ll give you an article on “Hotels for Chickens” if you search “Hotels” because the word matches
What if I fricken want fricken "Hotels for Chickens", what about that, huh?
I mean, page rank was useful but it was also a step in the direction of "search give you what it think you, not what you asked for" and I think now we can how far and dubious progress in that direction has been.
If I had received funding from DARPA, and NASA, perhaps I could have.
Pretty sure that came after. And funding never made anyone smarter.
They used Stanfords existing infrastructure … I don’t think the grant they were on paid for it directly. Pretty sure the cluster was a resource shared by several labs
Funding didn’t make them smarter, but it did buy the hardware to scale it. Other guys had the exact same idea at the exact same time like RankDex and IBM's HITS algorithm. Google just got the cash first to actually build the server farms to run it.
> funding never made anyone smarter
One of my favorite things about HN is the way that you can find someone who has produced definitive proof of the non-existence of the public education system in an offhand comment.
Please, tell me more about my educational background.