On Fri, Jun 8, 2018 at 9:37 PM, Steven D'Aprano
<steve+comp.lang.pyt...@pearwood.info> wrote:
> On Fri, 08 Jun 2018 12:23:40 +1000, Chris Angelico wrote:
>
>> On Fri, Jun 8, 2018 at 12:15 PM, Steven D'Aprano
>> <steve+comp.lang.pyt...@pearwood.info> wrote:
>>> If you truly were limited to 2**32 different values (we're not), then
>>> it would be exactly right and proper to expect a collision in 2**16
>>> samples. Actually, a lot less than that: more like 78000.
>>>
>>> https://en.wikipedia.org/wiki/Birthday_problem
>>
>> 2**16 is 65536, so the figure you give is pretty close to the
>> rule-of-thumb estimate that the square root of your pool is where you're
>> likely to have collisions.
>
> D'oh!
>
>
> I mean, I knew that, I was just testing to see if anyone was paying
> attention.
>

Plus, you were making another very clear point: Humans are *terrible*
at estimating exponentiation. Unless you've memorized specific values
(2**16 and 2**32 are fairly common and familiar), it's really hard to
estimate the value of x**y. Want to hazard a guess as to what
0.99**100 is? (That's the chances that a one-in-a-hundred event won't
happen after a hundred opportunities.) What about 85**8? (Theoretical
password entropy if you have uppercase, lowercase, digit, symbol.)
What is the smallest n such that 26**n > 85**8? (That's the length of
monocase password required for equivalent theoretical entropy.)

Thank you for that elegant demonstration of an important fact about humans. :-)

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to