Jump to content

File:Birthday paradox probability.svg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file (SVG file, nominally 720 × 540 pixels, file size: 51 KB)

Summary

Description
English: In probability theory, the birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday. By the pigeonhole principle, the probability reaches 100% when the number of people reaches 367 (since there are 366 possible birthdays, including February 29). However, 99% probability is reached with just 57 people, and 50% probability with 23 people. These conclusions are based on the assumption that each day of the year (except February 29) is equally probable for a birthday.
Date
Source Own work
Author Guillaume Jacquenot
SVG development
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
Source code
InfoField

Python code

# -*- coding: utf-8 -*-
#
# Script to generate in English and French, graphs for the
# birthday problem.
#
# **************************************************************
# http://en.wikipedia.org/wiki/Birthday_problem
# From Wikipedia, the free encyclopedia:
# In probability theory, the birthday problem or birthday
# paradox concerns the probability that, in a set of n
# randomly chosen people, some pair of them will have the
# same birthday. By the pigeonhole principle, the probability
# reaches 100% when the number of people reaches 367
# (since there are 366 possible birthdays, including February
# 29). However, 99% probability is reached with just 57 people,
# and 50% probability with 23 people. These conclusions are
# based on the assumption that each day of the year (except
# February 29) is equally probable for a birthday.
#
# The mathematics behind this problem led to a well-known
# cryptographic attack called the birthday attack, which
# uses this probabilistic model to reduce the complexity
# of cracking a hash function.
#
# Text under the
# Creative Commons Attribution-ShareAlike License
# **************************************************************
#
#
# Guillaume Jacquenot
# 2012/12/16

from pylab import *
import numpy as np

def makePlot(
        generateEnglishPlot = True,
        outputFilename = r'Birthday_paradox.svg',
        useYLogScale = False):
    N=91
    n = np.arange(float(N))
    pbar=np.exp(-n* (n-1) / (2.0*365.0))
    p=1.0-pbar

    n05 = 0.5*(1.0+np.sqrt(1-8.0*365.0*np.log(1.0-0.5)))
    plot([n05,n05],[0.0,0.5],c='k', linestyle='--')
    plot([0.0,n05],[0.5,0.5],c='k', linestyle='--')
    text(23.5,0.02,' ~23')
    if generateEnglishPlot:
        plot(n,p   ,c='r',label = unicode('Probability of a pair', 'utf8'))
        plot(n,pbar,c='b',label = unicode('Probability of no matching pair', 'utf8'))
    else:
        plot(n,p   ,c='r',label = unicode('Probabilité de coïncidence', 'utf8'))
        plot(n,pbar,c='b',label = unicode('Probabilité de non-coïncidence', 'utf8'))

    legend(loc='right')
    xlim(0, N)
    if useYLogScale:
        ylim(1e-6, 1)
        ax = gca()
        ax.set_yscale('log')
    else:
        ylim(0, 1)
        yticks([0.0,0.2,0.4,0.5,0.6,0.8,1.0])
    xticks(range(0, N, 10))
    grid(True, ls='-', c='#a0a0a0')
    if generateEnglishPlot:
        xlabel('Number of people')
        ylabel('Probability')
    else:
        xlabel('Nombre de personnes')
        ylabel(unicode('Probabilité', 'utf8'))
    savefig(outputFilename)
    show()

makePlot(generateEnglishPlot = True, outputFilename = r'Birthday_paradox.svg')
makePlot(generateEnglishPlot = False, outputFilename = r'Paradoxe_anniversaire.svg')

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

16 December 2012

image/svg+xml

3b38941255998a827e98c5fab5e563dc1bf89d10

52,556 byte

540 pixel

720 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current21:01, 16 December 2012Thumbnail for version as of 21:01, 16 December 2012720 × 540 (51 KB)GjacquenotUser created page with UploadWizard

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata