| ▲ | PageRank explained(praveshkoirala.com) |
| 103 points by pkoird 7 hours ago | 79 comments |
| |
|
| ▲ | inigyou 6 hours ago | parent | next [-] |
| Importantly, 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. |
| |
| ▲ | nostrademons 44 minutes ago | parent | next [-] | | Note that Google stopped using it in IIRC 2006. It wasn't because of the adversarial link farms, though, which are usually handled by trying to identify fake links and take them out of the computation in a preprocessing step. (There are many others parts of Google's '00s ranking algorithm that relied upon backlinks as well). It was because the web scaled to the point where PageRank couldn't process it, because the exact matrix solution to it is O(N^3). They replaced it with an iterative graph traversal algorithm from a set of ~1000 seeds which were themselves chosen through the original PageRank algorithm. I suspect this is published somewhere, because Gemini alludes to it when I ask what's the algorithmic complexity of PageRank. Interestingly this is a common pattern that Google uses. Come up with a heuristic algorithm that works well enough to get your first million users. Then, train a machine-learned algorithm on the actual behavior of your first million users to scale to your next billion. Assistant's NLP was similar, where the first version had all these linguists hand-inputting grammars for all the different ways you might say a command, and then they just trained a much simpler neural net mapping utterance -> command once they had enough users to get dense training data. | | |
| ▲ | srean 24 minutes ago | parent [-] | | A minor comment: on a dense graph, one iteration of the power method would be O(N^2). One would typically need many iterations for adequate convergence. If the number of iterations required is linear, then yes it would indeed take O(N^3). But it was never that bad. However, the web-graph is very sparse, so per iteration cost is around O(N). That can still be quite a beast though. Have fond memories of trying out Pagerank iterations on then new fangled infra called Mapreduce. Not for computing the pagerank for ranking pages, for experiments on some other large graph. At that time (somewhere between 2004-07), computing Pagerank on the web, without preprocessing, got you all the porn sites at the top ! |
| |
| ▲ | jjice 6 hours ago | parent | prev | next [-] | | > 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. | | |
| ▲ | fbd_0100 6 hours ago | parent [-] | | His name may have influenced him to make his career from ranking pages https://en.wikipedia.org/wiki/Nominative_determinism | | |
| ▲ | z500 5 hours ago | parent | next [-] | | I've always wondered what would happen if you named a kid Nominative Determinism. Some kind of paradox? | | |
| ▲ | arcticfox 5 hours ago | parent | next [-] | | > name change at 18 probably That's so cool because it's true, and holds very strongly with the semantic concept | |
| ▲ | order-matters 5 hours ago | parent | prev | next [-] | | name change at 18 probably | |
| ▲ | sheriff 5 hours ago | parent | prev | next [-] | | He'd probably grow up to be the guy who goes around making people do things that sound like their names. | |
| ▲ | CPLX 5 hours ago | parent | prev [-] | | He would be promptly murdered by someone named Alexander the Great. |
| |
| ▲ | devonkim 5 hours ago | parent | prev [-] | | 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 | | |
|
| |
| ▲ | lisper 3 hours ago | parent | prev | next [-] | | > 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. | | |
| ▲ | inigyou 2 hours ago | parent [-] | | So in other words it doesn't work. | | |
| ▲ | lisper 2 hours ago | parent [-] | | 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. | | |
| ▲ | exe34 17 minutes ago | parent [-] | | > Believe it or not, there are still some people in the world who believe that there is more to life than money Do they use page rank? |
|
|
| |
| ▲ | kqr 4 hours ago | parent | prev | next [-] | | > 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. | | |
| ▲ | aesthesia an hour ago | parent [-] | | HodgeRank (see https://math.pku.edu.cn/teachers/yaoy/publications/HodgeRank...) is somewhat related to PageRank but is a natural way to approach this problem. I haven't tested it for anything but would expect it to handle noisy comparisons fairly well. | | |
| ▲ | srean 10 minutes ago | parent [-] | | HodgeRank is a very different beast. It is nothing like Pagerank. Its input is not a citation/link graph but a list of paired ordered preferences. In HodgeRank the goal is to combine a large list of pairwise preferences how to obtain the most representative total order. |
|
| |
| ▲ | MoltenMan 5 hours ago | parent | prev | next [-] | | Another Goodhart's Law casualty... | |
| ▲ | montag 6 hours ago | parent | prev [-] | | Really?? And not BrinRank? | | |
| ▲ | esprehn 5 hours ago | parent [-] | | 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. | | |
| ▲ | utopcell an hour ago | parent [-] | | 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. |
|
|
|
|
| ▲ | jefflinwood 4 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | ianbooker 6 hours ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | Retr0id 5 hours ago | parent | next [-] | | > 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). | | |
| ▲ | packetlost 4 hours ago | parent | next [-] | | 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. | | | |
| ▲ | seanw444 5 hours ago | parent | prev [-] | | Plus a lot of the advanced graph-related algorithms were discovered by the 80s. | | |
| |
| ▲ | ssivark 2 hours ago | parent | prev [-] | | > 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. |
|
|
| ▲ | 1vuio0pswjnm7 38 minutes ago | parent | prev | next [-] |
| Popularity is not equal to relevance Except in the case of advertising Even if, hypothetically, company knows what user is searching for before user finishes typing a query, it does not mean company is going to deliver it to user Company is paid by advertisers, not users Company can deliver something _popular_, call it "relevant", make bank "Popular" grows audience, good for advertisers "Relevant" not necessarily good for advertisers, only good for user Company serves its customers: advertisers Company does not need PageRank to determine popularity, only search traffic (search query data) (Of course a result could be both relevant and popular. But a result could also be relevant and _unpopular_. Company is promotes the former to the exclusion of the later. It profits by selling advertising services to advertisers, not information services to www users) |
|
| ▲ | nayuki 5 hours ago | parent | prev | next [-] |
| 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 |
|
| ▲ | smcg 6 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | yu3zhou4 4 hours ago | parent | prev | next [-] |
| Also PageRank as a Markov chain [0] https://math.libretexts.org/Bookshelves/Linear_Algebra/Under... |
|
| ▲ | Animats 4 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | paxys 6 hours ago | parent | prev | next [-] |
| 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? |
| |
| ▲ | blueg3 5 hours ago | parent [-] | | 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. | | |
| ▲ | cmrdporcupine 5 hours ago | parent [-] | | 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 ;-) ) |
|
|
|
| ▲ | 1vuio0pswjnm7 an hour ago | parent | prev | next [-] |
| Original HN title: "You could have invented PageRank" |
|
| ▲ | kerblang an hour ago | parent | prev | next [-] |
| PageRank is really the beginning of popularity as proxy for authentic/truthful/accurate/etc. Then we move on to upvotes, retweets, likes, listens, views, please-please-please-subscribe-to-my-channel, reviews etc. Thus the continuum of the "social" internet. We tried really hard to make truth into a capitalist endeavor. |
|
| ▲ | williamcotton 2 hours ago | parent | prev | next [-] |
| Here's an in-depth explanation with an interactive demo that I made many moons ago: https://web.archive.org/web/20130728183938/williamcotton.com... |
|
| ▲ | snarfy 4 hours ago | parent | prev | next [-] |
| Yes anybody can be in the right place at the right time. |
|
| ▲ | notaigenerated 5 hours ago | parent | prev | next [-] |
| You could also have invented a wheel because it's so obvious. |
| |
| ▲ | kqr 4 hours ago | parent [-] | | 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. |
|
|
| ▲ | BiraIgnacio 4 hours ago | parent | prev | next [-] |
| Related, fascinating foundational work Citation index
https://en.wikipedia.org/wiki/Citation_index Shepard's Citations
https://en.wikipedia.org/wiki/Shepard's_Citations |
|
| ▲ | saltysalt 5 hours ago | parent | prev | next [-] |
| Let's not forget that PageRank unintentionally spawned the SEO industry. |
| |
|
| ▲ | CalChris 6 hours ago | parent | prev | next [-] |
| > 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. https://patents.google.com/patent/US7058628B1/en |
| |
| ▲ | Kranar 5 hours ago | parent [-] | | 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-... | | |
| ▲ | pcrh 5 hours ago | parent [-] | | 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. |
|
|
|
| ▲ | jmkd 7 hours ago | parent | prev | next [-] |
| 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." |
| |
| ▲ | jaggederest 6 hours ago | parent [-] | | 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... | | |
| ▲ | otterley 5 hours ago | parent [-] | | My favorite related pithy quote is "criticism is a minimum-wage job." |
|
|
|
| ▲ | kwanbix 3 hours ago | parent | prev | next [-] |
| 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? |
| |
| ▲ | SJC_Hacker 2 hours ago | parent [-] | | It starts with seed URLs and fans out from there Back in 1996, this could be done by hand | | |
| ▲ | kwanbix an hour ago | parent [-] | | thanks! I imagined it will be something like that. Maybe Google used yahoo index back then as seed? |
|
|
|
| ▲ | TimCTRL 3 hours ago | parent | prev | next [-] |
| It's giving "Attention is all you need" but in the year 1996 |
|
| ▲ | ctbeiser 5 hours ago | parent | prev | next [-] |
| I could not have invented it. I was one year old. |
|
| ▲ | lindig 6 hours ago | parent | prev | next [-] |
| How do you compute page rank for billion of pages that have cyclic links? Is that not the problem right after the initial idea? |
| |
| ▲ | jmalicki 6 hours ago | parent [-] | | 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. | | |
| ▲ | hluska 6 hours ago | parent [-] | | You’re underestimating the difficulty - actually downloading, parsing and updating the system with billions of pages was a very hard thing in the 1990s. | | |
| ▲ | jmalicki 6 hours ago | parent | next [-] | | 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. | |
| ▲ | OroPla 4 hours ago | parent | prev | next [-] | | 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. | |
| ▲ | icedchai 6 hours ago | parent | prev [-] | | Good thing there weren't billions of pages in the 90's. |
|
|
|
|
| ▲ | lproven 6 hours ago | parent | prev | next [-] |
| 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 |
| |
| ▲ | mmargenot 4 hours ago | parent [-] | | 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. | | |
| ▲ | basilikum 4 hours ago | parent [-] | | 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? |
|
|
|
| ▲ | yungookim 5 hours ago | parent | prev | next [-] |
| curious, how do you decide on which page to start from? Popular directories? |
|
| ▲ | steve1977 4 hours ago | parent | prev | next [-] |
| No mention of RankDex? |
|
| ▲ | mpalmer 4 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | seebeegeebee 5 hours ago | parent | prev | next [-] |
| Step 1: be sponsored by the CIA |
|
| ▲ | joe_the_user 5 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | truthbe 6 hours ago | parent | prev [-] |
| If I had received funding from DARPA, and NASA, perhaps I could have. |
| |
| ▲ | rco8786 6 hours ago | parent [-] | | Pretty sure that came after. And funding never made anyone smarter. | | |
| ▲ | SJC_Hacker an hour ago | parent | next [-] | | 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 | |
| ▲ | truthbe 5 hours ago | parent | prev | next [-] | | 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. | |
| ▲ | CPLX 5 hours ago | parent | prev [-] | | > 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. | | |
|
|