PageRank explained

(praveshkoirala.com)

113 points | by pkoird 8 hours ago

31 comments

  • inigyou 7 hours ago
    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 1 hour ago
      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 1 hour ago
        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 7 hours ago
      > 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
        His name may have influenced him to make his career from ranking pages

        https://en.wikipedia.org/wiki/Nominative_determinism

        • z500 6 hours ago
          I've always wondered what would happen if you named a kid Nominative Determinism. Some kind of paradox?
          • arcticfox 6 hours ago
            > name change at 18 probably

            That's so cool because it's true, and holds very strongly with the semantic concept

          • order-matters 6 hours ago
            name change at 18 probably
          • sheriff 6 hours ago
            He'd probably grow up to be the guy who goes around making people do things that sound like their names.
          • CPLX 6 hours ago
            He would be promptly murdered by someone named Alexander the Great.
        • devonkim 6 hours ago
          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
          • HPsquared 6 hours ago
            He could also have worked for Motorola.
    • kqr 5 hours ago
      > 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 2 hours ago
        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 1 hour ago
          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.

          • aesthesia 37 minutes ago
            Yes, but the comment I replied to outlined a way of using PageRank to aggregate noisy pairwise preferences into a global order.
    • lisper 3 hours ago
      > 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 3 hours ago
        So in other words it doesn't work.
        • lisper 3 hours ago
          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 1 hour ago
            > 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?

    • MoltenMan 6 hours ago
      Another Goodhart's Law casualty...
    • montag 7 hours ago
      Really?? And not BrinRank?
      • esprehn 6 hours ago
        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 2 hours ago
          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.
    • iwontberude 6 hours ago
      [dead]
  • jefflinwood 5 hours ago
    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 7 hours ago
    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
      > 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 5 hours ago
        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.
        • Retr0id 5 hours ago
          Ah, yeah, that'd do it.
      • seanw444 5 hours ago
        Plus a lot of the advanced graph-related algorithms were discovered by the 80s.
        • tantalor 5 hours ago
          Yeah, this was all done in Bell Labs starting in the 1960s
    • ssivark 3 hours ago
      > 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.

  • nayuki 6 hours ago
    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 7 hours ago
    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.

  • 1vuio0pswjnm7 1 hour ago
    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)

  • yu3zhou4 5 hours ago
  • paxys 6 hours ago
    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 6 hours ago
      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 6 hours ago
        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 ;-) )

  • Animats 4 hours ago
    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.

  • 1vuio0pswjnm7 1 hour ago
    Original HN title: "You could have invented PageRank"
  • snarfy 5 hours ago
    Yes anybody can be in the right place at the right time.
  • notaigenerated 6 hours ago
    You could also have invented a wheel because it's so obvious.
    • kqr 4 hours ago
      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.
  • williamcotton 3 hours ago
    Here's an in-depth explanation with an interactive demo that I made many moons ago:

    https://web.archive.org/web/20130728183938/williamcotton.com...

  • BiraIgnacio 4 hours ago
    Related, fascinating foundational work

    Citation index https://en.wikipedia.org/wiki/Citation_index

    Shepard's Citations https://en.wikipedia.org/wiki/Shepard's_Citations

  • kerblang 2 hours ago
    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.

  • saltysalt 6 hours ago
    Let's not forget that PageRank unintentionally spawned the SEO industry.
  • CalChris 6 hours ago
    > 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 6 hours ago
      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
        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
    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 7 hours ago
      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 6 hours ago
        My favorite related pithy quote is "criticism is a minimum-wage job."
  • lproven 7 hours ago
    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 5 hours ago
      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
        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?

  • kwanbix 4 hours ago
    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
      It starts with seed URLs and fans out from there

      Back in 1996, this could be done by hand

      • kwanbix 2 hours ago
        thanks! I imagined it will be something like that. Maybe Google used yahoo index back then as seed?
  • TimCTRL 3 hours ago
    It's giving "Attention is all you need" but in the year 1996
  • ctbeiser 6 hours ago
    I could not have invented it. I was one year old.
  • lindig 7 hours ago
    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 7 hours ago
      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
        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
          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
          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
          Good thing there weren't billions of pages in the 90's.
  • yungookim 5 hours ago
    curious, how do you decide on which page to start from? Popular directories?
  • steve1977 5 hours ago
    No mention of RankDex?
  • mpalmer 5 hours ago
    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 6 hours ago
    Step 1: be sponsored by the CIA
  • joe_the_user 5 hours ago
    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.

  • salemh 7 hours ago
    [dead]
  • truthbe 6 hours ago
    If I had received funding from DARPA, and NASA, perhaps I could have.
    • rco8786 6 hours ago
      Pretty sure that came after. And funding never made anyone smarter.
      • truthbe 6 hours ago
        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.
      • SJC_Hacker 2 hours ago
        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
      • CPLX 6 hours ago
        > 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.

        • rco8786 2 hours ago
          Please, tell me more about my educational background.