Skeda:Birthdaymatch.svg
Size of this PNG preview of this SVG file: 720 × 540 pixel. Rezolucione të tjera: 320 × 240 pixel | 640 × 480 pixel | 1.024 × 768 pixel | 1.280 × 960 pixel | 2.560 × 1.920 pixel.
Dokument origjinal (skedë SVG, fillimisht 720 × 540 pixel, madhësia e skedës: 291 KB)
Kjo skedë është prej Wikimedia Commons dhe mund të përdoret nga projekte të tjera. Përshkrimi në këtë skedë në këtë faqe nuk është treguar më poshtë. | Shko tek faqja përshkruese në Commons |
Përmbledhje
PërshkrimiBirthdaymatch.svg |
English: 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. |
Data | |
Burimi | Punë e juaja |
Autori | Guillaume Jacquenot |
SVG genesis InfoField | This W3C-invalid plot was created with Matplotlib. |
Kodi burimor InfoField | Python code# -*- coding: utf-8 -*-
#
# Script to generate in English and French, graphs for the
# birthday problem.
# More precisely, it generates two SVG files representing the
# probability of no match of two identical birthday one the same
# wrt the number of person in the considered group.
#
# **************************************************************
# 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
# **************************************************************
#
# Implementation:
# To ensure numerical accuracy, one evaluates the log10 of the
# probabibity of no match. This allows to converts the
# probability formula from a product formula to a sum formula.
#
#
# Guillaume Jacquenot
# 2013/03/10
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font',**{'family':'serif','serif':['Palatino'],'size':14})
rc('text', usetex=True)
import numpy as np
def BirthdaymatchComputationLog10():
'''
This function evaluates the log10 probability of no
match for the birthday paradox.
This ensures no approximation on the result.
$\log _{10} \left( {\bar p(n)} \right) =
\sum\limits_{i = 365 + 1 - n}^{365}
{\log _{10} \left( i \right)}
- n\log _{10} \left( {365} \right)$
'''
n=np.arange(1,365)
nR=np.arange(365,1,-1)
p=np.cumsum(np.log10(nR))-n*np.log10(365)
return n,p
def BirthdaymatchGenerateTitle(logTitle=False):
if logTitle:
title='$\\log _{10} \\left( {\\bar p(n)} \\right)\
= \\sum\\limits_{i = 365 + 1 - n}^{365}\
{\\log _{10} \\left( i \\right)}\
- n\\log _{10} \\left( {365} \\right)$'
else:
title='$\\bar p(n) = \\frac{365!}{365^n\
\\left( {365 - n} \\right)!}$'
return title
def Birthdaymatch(\
labels={'xlabel':'Number of people',\
'ylabel':'Probability of no match',\
'title':'Birthday paradox'},\
outputFilename = r'Birthdaymatch.svg'):
n,p = BirthdaymatchComputationLog10()
fig, ax = plt.subplots()
plt.plot(n,p,c='k', linestyle='-')
plt.grid(True, ls='-', c='#a0a0a0')
plt.xlabel(labels['xlabel'])
plt.ylabel(labels['ylabel'])
plt.title(labels['title']+' - '+BirthdaymatchGenerateTitle())
fig.canvas.draw()
labels = [item.get_text() for item in ax.get_yticklabels()]
labels = [label[1:] if label.startswith('$') else label for label in labels]
labels = [label[0:-1] if label.endswith('$') else label for label in labels]
labels = ['$10^{'+label+'}$' for label in labels]
ax.set_yticklabels(labels)
plt.savefig(outputFilename)
Birthdaymatch()
Birthdaymatch(\
labels={'xlabel':u"Nombre de personnes",\
'ylabel':u"Probabilit\\'e de non correspondance",\
'title':u"Paradoxe des anniversaires"},\
outputFilename = r'Birthdaymatch_FR.svg')
|
Licencim
Unë, krijuesi i kësaj pune, e publikoj këtu në bazë të licensës në vijim:
Kjo skedë licencohet sipas Creative Commons Attribution-Share Alike 3.0 Unported.
- Je i lirë të:
- ta shpërndani – ta kopjoni, rishpërndani dhe përcillni punën
- t’i bëni “remix” – të përshtatni punën
- Sipas kushteve të mëposhtme:
- atribuim – Duhet t’i jepni meritat e duhura, të siguroni një lidhje për tek licenca dhe të tregoni nëse janë bërë ndryshime. Këtë mund ta bëni në ndonjë mënyrë të arsyeshme, por jo në ndonjë mënyrë që sugjeron se licencuesi ju del zot juve apo përdorimit tuaj.
- share alike – Nëse bëni një “remix”, e shndërroni, ose ndërtoni duke u bazuar te materiali, duhet t’i shpërndani kontributet tuaja sipas të njëjtës licencë ose një të tille të përputhshme me origjinalen.
Items portrayed in this file
përshkruan
10 mars 2013
image/svg+xml
checksum anglisht
68b9c96e2a245296ec08bbfe7963536985e6cf9e
data size anglisht
297.936 Bajti
540 pixel
720 pixel
Historiku skedës
Shtypni mbi një datë/kohë për ta parë skedën siç ishte atëherë.
Data/Koha | Miniaturë | Përmasat | Përdoruesi | Koment | |
---|---|---|---|---|---|
e tanishme | 10 mars 2013 21:39 | 720 × 540 (291 KB) | Gjacquenot | User created page with UploadWizard |
Lidhje skedash
Këto faqe lidhen tek kjo skedë:
Përdorimi global i skedës
Kjo skedë përdoret nga Wiki të tjera në vijim:
- Përdorimi në en.wikipedia.org
- Përdorimi në fa.wikipedia.org
- Përdorimi në fr.wikisource.org
- Përdorimi në ml.wikipedia.org
- Përdorimi në th.wikipedia.org
- Përdorimi në tr.wikipedia.org
Metadata
Kjo skedë përmban hollësira të tjera të cilat mund të jenë shtuar nga kamera ose skaneri dixhital që është përdorur për ta krijuar.
Në qoftë se skeda është ndryshuar nga gjendja origjinale, disa hollësira mund të mos pasqyrojnë versionin e tanishëm.
Gjerësia | 576pt |
---|---|
Gjatësia | 432pt |