19 random digits is not enough to uniquely identify all human beings

Suppose that you assigned everyone a 19-digit number. What is the probability that two human beings would have the same number? It is an instance of the Birthday’s paradox.

Assuming that there are 8 billion people, the probability that at least two of them end up with the same number is given by the following table:

digits probability
18 99.9%
19 96%
20 27%
21 3%
22 0.3%
23 0.03%
24 0.003%
25 0.0003%

If you want the probability to be effectively zero, you should use 30 digits or so.

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

6 thoughts on “19 random digits is not enough to uniquely identify all human beings”

  1. This reminds me of an old idea for hash tables, useful esp. with complex keys.

    With 128-bit hash values, if the hash function is good, the probability of an actual key conflict on the same hash value is smaller than the probability of a server getting hit by a comet 🙂 So we don’t need to do the value equality check, possibly saving a lot of time.

    Alas, I never trusted a hash function enough to actually apply this in a production system.

      1. Admittedly, it depends a bit on your assumptions and how you compute things

        There are 3 considerations:

        Size of a hash domain: 2^128
        Number of distinct keys that might be used in the same environment where a collision might cause a problem – here one can argue, I think something like 2^50 is very generous.
        Probability of a meteorite hitting the Earth

        From 1 and 2 we can get the probability of collision of roughly 1 in 10^9.

        Assuming a civilization-destroying meteorite hits us every 1 million years, that means that a probability of it hitting on a given day is more than 1 in 10^9.

        😀

Leave a Reply

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

You may subscribe to this blog by email.