popov 22 octobre 2016 18:29

@Taverne

Pour votre amusement et puisque vous vous intéressez au nombre pi, je vous donne ici une méthode « darwinienne » pour le calculer.

Au départ, on se donne deux compteurs N et D tous deux égaux à zéro.

Chaque étape du calcul contient deux phases :

1  Une « mutation aléatoire » : on génère deux nombres aléatoires x et y compris entre 0 et 1.

2  Une « sélection naturelle » : on ne retient que les cas où la somme des carrés de x et de y est inférieure ou égale à 1. Dans ce cas, on augmente le compteur N de 4. Le compteur D est lui augmenté de 1 dans tous les cas.

Et voilà. À chaque étape, il suffit d’afficher le rapport N/D et de constater qu’il se rapproche de pi de façon toutefois un peu chaotique. Il ne faut pas s’attendre à une grande précision.

Et voici le petit programme qui vous permettra de tester cette méthode :

<@script>

//mise à zéro des compteurs
N = 0 ;
D = 0 ;

//calcul
for(i = 0 ; i < 100000 ; i++)
ag
  //mutation aléatoire, on génère deux nombres aléatoires  
  x = Math.random() ;
  y = Math.random() ;

  //sélection, on augmente le compteur N de 4 si la somme des carrés de ces nombres est inférieure à 1
  if(x*x + y*y <= 1) N+=4 ;
  
  //on augmente le compteur D de 1 dans tous les cas
  D++ ;

  //on affiche le rapport N/D
  document.write(N/D + « <@br> ») ;
ad
<@/script>

Pour utiliser ce programme :

1  Copiez-collez le programme entre et y-compris les lignes <@script> et <@/script> dans Notepad ou autre programme de traitement de texte rudimentaire.

2 IMPORTANT : Supprimez les trois charactères « @ » dans <@script>, <@br> et <@/script>. Il faut aussi remplacer le mot « ag » par une accolade gauche et le mot « ad » par une accolade droite. Attention, ne faites aucune autre modification sinon, je ne réponds de rien.

3  Sauvegardez ce fichier sur votre desktop sous le nom « pi.html »

4  Fermez votre navigateur et rouvrez-le. À l’aide de la souris saisissez l’icône du fichier et lâchez-la sur lea fenêtre du navigateur.

Le calcul prend un certain temps. J’ai fixé le nombre d’étapes à 100 000 (les ordinateurs modernes sont rapides, alors pourquoi se priver quand on peut s’en mettre plein la lampe). Cela prend quelques secondes sur le mien qui tourne sur Linux et utilise le navigateur Google Chrome. Sur windows et avec un navigateur paresseux comme Internet Explorer, cela prendra un peu plus de temps. Si le navigateur proteste en vous signalant qu’il y a un programme long en cours d’exécution, enjoignez-lui de continuer.


Ajouter une réaction

Pour réagir, identifiez-vous avec votre login / mot de passe