Page 7 sur 11

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 26 Sep 2018, 22:18
de critor
Mais pourquoi donc est-ce que je recode un moteur aléatoire mrand() dans le script Python, alors que les fonctions en question existent déjà ?
Code: Tout sélectionner
mrandmax=2147483647
mrand=0
def mseed(s):
  global mrand
  mrand=s%mrandmax
def mrandom():
  mseed(mrand*16807)
  return mrand/mrandmax
def muniform(mini,maxi):
  return mrandom()*(maxi-mini)+mini
def mrandint(mini,maxi):
  return round(muniform(mceil(mini),mfloor(maxi)))
mseed(42)


Une fois de plus pour vous mettre tous à égalité en générant exactement la même situation, sachant que c'est la première année où nous faisons concourir dans une même catégorie des participants équipés de marques/familles différentes ! :bj:

Certes, les Micropython Casio Graph 90+E et NumWorks sortent la même chose :
Image
Image
Ce qui en passant permettrait de coder des jeux qui en plus d'être compatibles avec le deux machines, y auraient exactement le même comportement.

Mais voilà, la HP Prime quant à elle a 2 générateurs aléatoires qui produisent d'autres résultats malgré la même initialisation :
Image

Et Khicas pour Graph 90+E sort encore autre chose :
Image


D'où l'implémentation d'un moteur aléatoire de type Lehmer RNG : https://en.wikipedia.org/wiki/Lehmer_ra ... _generator
Ici avec les paramètres :

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 27 Sep 2018, 06:41
de parisse
KhiCAS utilise la formule suivante:
Code: Tout sélectionner
r = unsigned ((1664525*ulonglong(r)+1013904223)%(ulonglong(1)<<31));

Le modulo peut se coder comme un decalage ce qui est plus rapide qu'une division. Celui choisi par critor peut aussi se coder sans division (mais ca n'a pas d'interet en langage interprete), il ne renvoie jamais 0.
La HP Prime utilise un Mersenne twister.

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 27 Sep 2018, 19:34
de critor
Nouveau participant n°22 ce midi.
Il avait au départ soumis la même solution à 227,647 points et quelques que le participant n°9; ce qui n'a donc pu être accepté.
Ce soir il nous propose donc légèrement moins avec 227,587 points et quelques et se classe ainsi 2ème :
https://tiplanet.org/triconcours.php

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 27 Sep 2018, 20:29
de critor
Saluons l'arrivée des nouveaux participants n°21 et 23, qui se classent respectivement 10ème et 9ème :
https://tiplanet.org/triconcours.php

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 27 Sep 2018, 20:45
de critor
Peut-être vous êtes vous demandés comment vous êtes évalués ?
Tous selon le même protocole semi-automatisé en tous cas. ;)

N'ayant rien à cacher, nous avons laissé dans le code public la fonction ist(code) que nous utilisons, et qui permet de décoder et importer la configuration associée au code à passer en paramètre.

Quand on reçoit un nouveau code on l'évalue sur NumWorks, parce que c'est le plus rapide/pratique à toute heure de la journée (pas de logiciel à installer/lancer ou de fichier à ouvrir/créer/enregistrer) :
  • on va sur un clone privé de https://workshop.numworks.com/python/andreanx/force
  • on édite le script en lui rajoutant une ligne ist(...) et on lui colle votre code en paramètre
    par exemple pour le code donné en exemple dans l'annonce ist("!!!~!!!!!!!!!!!!!!!!!!!!!!!!!!")
  • si le code hors délimiteurs de chaîne contient des caractères ", on les échappe en \"
  • on actualise le lecteur en ligne
  • on prend une capture d'écran (clic droit + copier dans le lecteur en ligne) que l'on conserve et on en recopie le score

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 28 Sep 2018, 14:42
de critor
Le participant n°21 à l'approche originale passe maintenant en 9ème place avec 192 points et quelques : :)
https://tiplanet.org/triconcours.php

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 30 Sep 2018, 11:14
de ggauny@live.fr
@M. Critor,
Bonjour Monsieur,
Sans le vouloir j'ai écris sur ma HP Prime : POT(20) tout court et j'ai obtenu 135 lampes allumées
et le score 134 !
Est-ce normal ?
Bon dimanche.

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 30 Sep 2018, 11:19
de critor
Bonjour.
C'est équivalent à pot(20,1).

Donc oui, le potentiomètre n°20 étant associé à 135 lampes, ça donne 135-1=134.

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 30 Sep 2018, 11:21
de ggauny@live.fr
Merci beaucoup.

Re: Triconcours de rentrée 2018 - défi de Force

Message non luPosté: 30 Sep 2018, 16:22
de nicodu95
Bonjour @M. Critor
Est-il possible de savoir la répartition des lots en fonctions des places?
Bon Dimanche.