Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pour se réveiller

33 réponses
Avatar
josephb
FU2 to fr.comp.sys.mac.programmation
Bonjour à tous,

Une pensée pour les sinistrés qui ont d'autres chats à fouetter que de
traîner sur Usenet.
Pour les autres habitués de focomosX, un petit casse-tête pour essayer
de réveiller les neurones engourdis.
Bon, je sais c'est de la programmation, d'où le suivi sur
fr.comp.sys.mac.programmation

Voilà le défi
Quelques mois de ça, il y a avait eu une enfilade assez nourrie à propos
du tirage du Loto.
Une des questions en rapport étant : la fonction aléatoire ("Random")
fournie par Applescript en standard, l'est-elle suffisamment, ou va-t-on
trouver certains nombres sortir significativement plus souvent que
d'autres ?

Pour tirer ça au clair, une seule manière : faire un très grand nombre
de tirages, disons 100 000, voire un million, plusieurs fois, et
comparer les occurences de chaque nombre sorti.

Donc la question lancée est : écrire le script (en pure AppleScript)
capable de faire ces 100 000 tirages, compter la sortie de chaque nombre
de 1 à 48 et le temps total mis pour ça. Le plus rapide (indépendamment
de la machine) a gagné.
Que des fonctions basiques d'AppleScript, rien d'ésotérique, pas de
commandes externes ou Shell.

Pour pimenter : je suis arrivé à un script qui, sur mon vénérable
MacPro, fait le boulot en 5" pour 100 000 tirages, après des versions
déjà très véloces qui mettaient respectivement 32" et 11" pour faire la
même chose. Peut-on encore améliorer la rapidité ?
Les futés, sont priés de s'affuter ;-)

"5 sec
1: 2102
2: 2089
3: 1990
4: 2072
5: 2085
6: 2152
7: 2032
8: 2040
9: 2073
10: 2087
11: 2120
12: 2097
13: 2095
14: 2114
15: 2046
16: 2145
17: 2052
18: 2073
19: 2106
20: 2132
21: 2092
22: 2032
23: 2079
24: 1990
25: 2025
26: 2117
27: 2045
28: 2118
29: 2038
30: 2082
31: 2073
32: 2108
33: 2031
34: 2168
35: 2137
36: 2091
37: 1998
38: 2147
39: 2029
40: 2116
41: 2146
42: 2105
43: 2099
44: 2096
45: 2084
46: 2113
47: 2111
48: 2028
--
J. B.

10 réponses

1 2 3 4
Avatar
michel.vauquois
Bonsoir,
Joseph-B, le brachymétrope de fcomox, nous avertit :
Compliments ! et pas mieux chez moi.

Merci ! et presque du 1er coup ! ;-)
C'est donc maintenant la vitesse de la machine et non celle dûe au
script qui fait la différence et elle est très importante à ce que je
vois.
Faudra que je teste sur l'iMac.
Tu n'es pas tombé dans le piège de créer la liste des 100 000 nombres
sortis ;-)

Alors là, c'était pas 20 secondes que ça prendrait mais 5 min !
La seule chose qui pourrait être (esthétiquement) améliorée est la
génération de ta listeCompt {}
set listeCompt to {}
repeat 48 times
copy 0 to the end of listeCompt
end repeat

Je ne maîtrise pas ça du tout... mais je retiens la leçon.
Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Alerte ! Le méta-tropisme mécanique paraît morfler de manière inopinée !
Il faut optimiser le réplicateur bouffoné en urgence !
Avatar
michel.vauquois
Re-bonsoir,
Le magistral Joseph-B, à sa sortie de l'ascenseur de 11 h 56, nous
déclare :
Ici, 50 sec pour 1 000 000 tirages

On reste dans un rapport de 1 à 5... C'est énorme !
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Si nous pouvons bulbo-repléter le réseau pyroligneux, nous devrions
pouvoir relayer le noyau corporel et moduler le tube stellaire.
Avatar
michel.vauquois
Re-bonsoir,
Le Raimbaud de fcomox, Joseph-B, complètement torché, nous apprend :
.tnargalf aéla'd siaib nu ecnedivé >
ne erttem ed temrep en eriotaéla-oduesp euqitsirétcarac al ,teffe nE >
segarit 000 000 1 ruop ces 05 ,icI >
Qu'est-ce tu dis ? ;-)
Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Voici venir la formation moléclaire : il est temps de quadri-détecter le
quadri-moulinotron compressé.
Avatar
Le Moustique
Le 05/06/2016 15:52, Joseph-B a écrit :
Une pensée pour les sinistrés qui ont d'autres chats à fouetter que de
traîner sur Usenet.

Ah tiens, à propos, t'as pas trop les pieds dans l'eau (boueuse) de la
Charente?
--
/)
-:oo= Guillaume
)
Je nettoyais mon clavier, et le coup est parti tout seul.
Avatar
josephb
Le Moustique a écrit,
Ah tiens, à propos, t'as pas trop les pieds dans l'eau (boueuse) de la
Charente?

Merci de t'en inquiéter, mais non, elle est gentiment dans son lit, d'un
débit nonchalant.
Mais ne jamais parier "rivière je ne boirai pas de ton eau au mois de
juin", personne ne l'aurait jamais imaginé pour la Seine et ses
affluents à cette saison.
À propos, ça se sera perdu dans les casiers de tri de courriel de ton
Fourbe Accessoiriste d'Internetries, mais je t'avais envoyé un Corvox2
il y a quelque temps,
l'as-tu onc vu passer ?
--
J. B.
Avatar
josephb
M.V. dont je ne sais pas ce qu'il fume mais c'est de la bonne, nous a
balancé :
.tnargalf aéla'd siaib nu ecnedivé >
ne erttem ed temrep en eriotaéla-oduesp euqitsirétcarac al ,teffe nE >
segarit 000 000 1 ruop ces 05 ,icI >

Heu ? tu t'es lu quand t'as bu ?
--
J. B.
Pas de panique ! Rediriger le continuum navigationnel ne nous empêche
pas d'auto-trouer le réplicateur polymorphe ni même de recréer
l'infra-syntagme adaptatif.
Avatar
pehache
Le 05/06/2016 à 15:52, Joseph-B a écrit :
FU2 to fr.comp.sys.mac.programmation
Bonjour à tous,
Une pensée pour les sinistrés qui ont d'autres chats à fouetter que de
traîner sur Usenet.
Pour les autres habitués de focomosX, un petit casse-tête pour essayer
de réveiller les neurones engourdis.
Bon, je sais c'est de la programmation, d'où le suivi sur
fr.comp.sys.mac.programmation
Voilà le défi
Quelques mois de ça, il y a avait eu une enfilade assez nourrie à propos
du tirage du Loto.
Une des questions en rapport étant : la fonction aléatoire ("Random")
fournie par Applescript en standard, l'est-elle suffisamment, ou va-t-on
trouver certains nombres sortir significativement plus souvent que
d'autres ?
Pour tirer ça au clair, une seule manière : faire un très grand nombre
de tirages, disons 100 000, voire un million, plusieurs fois, et
comparer les occurences de chaque nombre sorti.

Il faudrait vraiment un très gros défaut dans le générateur pour que les
occurrences de chaque nombre devient de l'équiprobabilité. De plus tu
vas forcément trouver des déviations statistiques, qu'il va falloir
analyser pour savoir si elles sont normales ou pas.
Un défaut plus courant et plus difficile à mettre en évidence dans les
générateurs de nombres aléatoire ce sont les séquences prédictibles :
- par exemple 2 est suivi d'un 20, alors le générateur sort plus souvent
un 15 qu'autre chose en suivant.
- ou bien si un nombre quelconque sort au tirage N, alors il a plus de
chances de ressortir qu'un autre au tirage N+P
--
"Je suis co-auteur de ARAnyM. Mais je ne vais pas m'en vanter plus
que cela, car lorsque l'on est contributeur dans le logiciel libre,
le but n'est pas de satisfaire son égo." (FLC)
Avatar
pehache
Le 05/06/2016 à 15:52, Joseph-B a écrit :
FU2 to fr.comp.sys.mac.programmation

Si tu publies sur un groupe A avec suivi sur un groupe B, il faut
publier AUSSI sur le groupe B !
--
"Je suis co-auteur de ARAnyM. Mais je ne vais pas m'en vanter plus
que cela, car lorsque l'on est contributeur dans le logiciel libre,
le but n'est pas de satisfaire son égo." (FLC)
Avatar
josephb
pehache a écrit,
Un défaut plus courant et plus difficile à mettre en évidence dans les
générateurs de nombres aléatoire ce sont les séquences prédictibles :
- par exemple 2 est suivi d'un 20, alors le générateur sort plus souvent
un 15 qu'autre chose en suivant.
- ou bien si un nombre quelconque sort au tirage N, alors il a plus de
chances de ressortir qu'un autre au tirage N+P

Là on entre dans une analyse fine qui dépasse largement le cadre de ce
petit jeu.
De plus il faut avoir la répartition "physique" des nombres dans la
liste, un simple décompte des occurences ne suffit plus. Ça devient du
lourd !
--
J. B.
Avatar
josephb
pehache a écrit,
Si tu publies sur un groupe A avec suivi sur un groupe B, il faut
publier AUSSI sur le groupe B !

Mes plates excuses, je fais le suivi en oubliant la dia-publication,
presque à chaque fois.
--
J. B.
1 2 3 4