Aiguille de Buffon

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher

L'aiguille de Buffon est une expérience de probabilité proposée en 1733[1] par Georges-Louis Leclerc de Buffon, un scientifique français du XVIIIe siècle. Cette expérience fournit une approximation du nombre Pi. Son analyse met en œuvre un cas simple d'espace de probabilités bidimensionnel et continu.

Sommaire

[modifier] Procédé pratique

Il s'agit de lancer un grand nombre de fois une aiguille sur un parquet. Le parquet est composé de planches parallèles de même largeur. On comptabilise le nombre de fois où l'aiguille tombe à cheval sur [au moins] une rainure du parquet (cas "favorable") par rapport au nombre de lancers totaux. Au fur et à mesure que le nombre de lancers augmente, le quotient se rapproche d'un certain nombre permettant de retrouver \pi (par exemple, si la longueur de l'aiguille est égale à la largeur d'une planche, ce nombre sera 2π).

[modifier] Conditions, hypothèses

Pour que l'expérience fonctionne correctement,

  • Les lancers successifs doivent être nombreux, indépendants, et on doit considérer une situation d'équiprobabilité (la position de l'aiguille est indifférente, en position et en angle, par rapport au parquet).
  • Tous les lancers doivent être reproduits dans des conditions identiques.

Pour que la formule soit simple à calculer,

  • La longueur de l'aiguille doit être inférieure ou égale à la largeur d'une planche du parquet.

[modifier] Étude mathématique

2 aiguilles de Buffon (noires) sur un parquet.

Soient :

  • l le réel positif correspondant à la largeur d'une latte de parquet ;
  • a le réel positif correspondant à la longueur de l'aiguille ;
  • \theta le réel compris entre 0 et \pi/2 correspondant à l'angle géométrique formé avec les rainures du parquet ;
  • r le réel positif correspondant à la distance du centre de l'aiguille à la rainure la plus proche.

D'après les hypothèses, et en utilisant toutes les symétries, on peut considérer que :

[modifier] Point de vue géométrique simple

Considérons n lancers (n assez grand) de cette aiguille. On peut considérer alors que toutes les positions différentes de l'aiguille mises bout à bout forme un polygone à n côtés. Plus n est grand plus ce polygone se rapprochera d'un cercle. Le périmètre P de ce cercle vaut alors P=n \times a. Le diamètre de ce cercle vaudra D = P/\pi = n \times a/\pi. Le problème revient à savoir : Combien de rainures parallèles sont coupées par le polygone, ou encore combien y a-t-il de rainures à l'intérieur du cercle ?

Le nombre de rainures R coupées est donné par R = 2 D/l. Finalement la probabilité que l'aiguille coupe une rainure est donnée par

p = \frac{R}{n} = 2\times \frac{D}{l}\frac{1}{n} = 2 \times \frac{na}{\pi \times l \times n}

et en simplifiant

p = \frac{2a}{\pi\times  l}

[modifier] Cas limite

Considérons un lancer isolé. Si l'aiguille touche un point de la rainure avec sa pointe sans la chevaucher, alors on a un triangle rectangle dont l'hypoténuse est la moitié de l'aiguille, un côté est la longueur  r, l'autre côté une portion de la rainure. On a alors :

\sin \theta = \frac r{\frac a2} \Leftrightarrow \frac a2 \sin \theta = r

[modifier] Cas défavorable

Par conséquent, si l'aiguille est pleinement sur une planche, on aura :

\frac a2 \sin \theta < r

[modifier] Cas favorable

Si elle chevauche au moins une rainure (la plus proche), on aura :

\frac a2 \sin \theta > r

[modifier] Analyse

On traite ici du cas simple (a <= l).

De même que, pour les probabilités discrètes on forme le quotient des cas "favorables" aux cas "totaux",

on aura dans [0;\frac {\pi}2] x [0;\frac l2] la probabilité pour une aiguille de tomber sur une rainure l'expression :

 \frac {Aire_{favorable}}{Aire_{totale}}

Soit (dessiner l'espace (r,\theta) et la limite):

P\left(favorable\right) = \frac {\int_{0}^\frac{\pi}2 \mathrm d \theta \int_{0}^{\frac a2 \sin \theta} \, \mathrm d r}{\frac {\pi}2 \frac l2}


P\left(favorable\right) = \frac {4}{\pi l} \int_{0}^\frac{\pi}2 \frac a2 \sin \theta \, \mathrm d \theta =  \frac {2a}{\pi l}

Après une multitude de lancers, d'après la loi des grands nombres, la valeur pratique tendra à se rapprocher de la valeur théorique \frac {2a}{\pi l}. On peut alors facilement retrouver pi en connaissant les données de l'expérience (l et a).

En effet, soit p la proportion qui estime P : alors on a un estimateur pour \pi=\frac {2a}{lp}

[modifier] Analyse pour l \leq a

On traite ici du cas où l'aiguille est plus longue que l'écart entre les lames du parquet (penser à des aiguilles à tricoter). Le cas "favorable" est encore : "l'aiguille croise [au moins] une lame de parquet".

Le cas "défavorable" étant plus facile à exprimer mathématiquement, on a (dessiner l'espace (r,\theta) et la limite) :

P=1-\dfrac{\int_0^{\arcsin(\frac la)}d \theta \int_{\frac a2 \sin \theta}^{\frac l2} d x}{\frac {\pi l}{4}}

On passe les étapes intermédiaires pour obtenir :

P=\frac {2a}{\pi l}\left ( 1-\sqrt{1-\frac {l^2}{a^2}}\right )+\left ( 1-\frac {2 \arcsin \frac la}{\pi} \right )

On confirme que pour l=a, on retrouve la formule précédente (établie pour l >= a : une aiguille courte).

La formule permet encore d'estimer \pi en fonction de (1-p)p est la proportion qui estime P puisque (1-P) a  \pi en facteur (le faire).

En posant \frac la = u et en développant au voisinage de u=0, on trouve l'expression de la probabilité pour une très longue aiguille (formule approchée) :

P_{a>>l}=1-\frac l{\pi a}

qui tend vers 1 pour a très grand, comme on l'espérait.

[modifier] Simulation numérique

Erreur en pourcent sur l'estimation de \pi (un million d'essais)
\frac al 0.1 0.2 0.5 1 2 5 10 100
formule exacte 0.4 -0.1 0.1 0.001 -0.1 -0.06 -0.7 1.05
formule approchée - - - - -2 -0.5 -0.3 1.05

Conclusions :

  • la meilleure estimation est obtenue pour l=a
  • la dégradation de l'estimation est rapide, mais se stabilise rapidement
  • l'hypothèse l>=a n'est pas nécessaire pour conduire l'expérience
  • la formule approchée (pour a grand) donne de bons résultats dans son domaine d'application

[modifier] Programme (python) de simulation

# let l=2, we must generate a uniform x in [0,1]
# we must also generate a uniform theta in [0, pi/2]
 
# we have :
#  success if sin(theta) > 2x/a
#  failure otherwise
import random
import math
Max=1000000
for a in [0.2, 0.4, 1, 2, 4, 10, 20, 200]:
    Count=0
    for i in range(Max):
        x=random.uniform(0,1)
        t=random.uniform(0,math.pi/2)
        if math.sin(t)>2*x/float(a):
            Count+=1
    if a <=2:
        print a/2.,100*(a/(float(Count)/float(Max))-math.pi)/math.pi
    else:
        P=float(Count)/float(Max)
        print a/2.,100*(float(a)/(P-1.)*(1.-math.sqrt(1-(2/float(a))**2))-2/(P-1.)*math.asin(2./float(a))-math.pi)/math.pi
        print a/2.,100.*(2/float(a)/(1.-P)-math.pi)/math.pi

[modifier] Notes et références

  1. Mémoire sur le jeu du Franc Carreau, présenté à l’Académie des Sciences (1733)

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Bibliographie

  • Martin Aigner et Günter M. Ziegler (trad. Nicolas Puech), Raisonnements divins : quelques démonstrations mathematiques particulièrement élégantes, Springer Verlag, 2e éd., 2006, 270 p. (ISBN 978-2-287-33845-8).

[modifier] Liens externes

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues