J’ai l’honneur de vous annoncer la publication du module Galilée réalisé par mes soins !
Ne voulant rien faire comme tout le monde, j’ai réalisé le module sans LibreOffice, mais entièrement en code Python. Grâce à la bibliothèque Pandas (comme les ours qui ressemblent à des vaches normandes) qui permet de traiter des données comme un tableur et d’afficher des graphiques, le résultat est analogue à LibreOffice.
Pour chaque graphique, le code Python est fourni.
Le tout a été réalisé entièrement dans Firefox, grâce à JupyterLab !
Merci ! Entre l’apprentissage de Pandas et de mathplotlib et comprendre l’énoncé… cela a été un sacré chantier. Mais je suis satisfait du résultat. Pouvoir résoudre les questions de la TRM en quelques lignes de code me ravi !
Pour faire comme Duniter. J’ai pas trop réfléchi là-dessus. Mais on peut l’enlever et regarder ce que cela change.
Oui au début je faisais cela. Mais les comptes démarraient à zéro. Quand j’ai décidé de commencer avec des valeurs réparties de part et d’autre de la moyenne, j’ai été obligé de faire ça. Cela permet de changer facilement les valeurs de départ des comptes sans toucher au code.
Bravo ! Super travail ! Ca fait 6 mois que j’ai envie de faire la même chose… et pour l’instant à part avoir installer Jupyterlab je n’ai pas progressé d’un iota !
Le truc est très bien dans l’ensemble mais j’ai vu deux ou trois trucs qui me paraissent curieux à première vue.
Certains graphes ne paraissent pas lisses alors qu’ils devraient l’être, il donc y avoir une erreur d’indice, de formule quelque part…
Je n’ai pas vu d’évolution des prix relativement à une valeur de référence pertinente (par exemple le prix du pain a été choisi sur 1 module Galilée par je sais plus qui…), reprendre des données déjà utilisées dans des modules déjà réalisés n’est pas pertinent.
On pourrait alors imaginer les « joueurs » entrer avec une masse aléatoire ou corrélée à un truc (à choisir), ou directement à la moyenne. Puis l’algo ML agit…
Une config sympa à introduire dans un simulateur de monde minetest par exemple
Je vais voir si j’arrive à dérouler ce python enroulé en panda…
Comme Stéphane, je pense que tu as des décalages dans des indices quelque part, je te fais un retour dès que je trouve du temps pour creuser cette affaire.
Hum… Tu veux dire dans le code de Duniter ?
Hormis si c est un imaginaire, son carré ne peut être négatif ; et M/N négatif, ce serait étrange aussi. Donc max(last_DU, last_DU + (math.pow(c, 2) * (M / N))) retournera toujours last_DU + (math.pow(c, 2) * (M / N)), non ?
Je crois que l’on en a parlé à Toulouse : as-tu étudié la possibilité de créer un notebook Jupyter. Je n’en ai encore jamais utilisé, mais j’ai l’impression que le résultat serait sensiblement le même, hormis que le code python serait éditable et exécutable par les visiteurs, permettant ainsi de tester d’autres choses. D’ailleurs, je pense que quand tes tests sont concluants, tu peux sauvegarder sous un nouveau nom le notebook que tu viens de modifier et le publier.
@Galuel
Pour les graphiques qui ne sont pas lisses, ok je vais regardé ça. Je me plante toujours sur les index. C’est ma marque de fabrique…
Pour la valeur ben j’ai pris une de celles proposées par le module. Je vais voir si je trouve une nouvelle valeur qui m’intéresse.
JupyterLab, n’est que l’interface web améliorée de Jupyter. Je travaille sur un notebook Jupyter classique au final. Il faut juste que je le mette à dispo oui.
Ah ben oui tu as raison… Bon ben je vais le virer. Merci !
Parmi les changements, il y en a trois qui aident bien à détecter les problèmes d’indice :
la fonction « get_du » a été modifiée pour pouvoir changer facilement la formule du DU utilisée ;
une variable « account0 » a été ajoutée pour pouvoir passer facilement de « monnaie pleine » à « monnaie non pleine » ;
une colonne « Moyenne Pleine » a été ajoutée correspondant à DU/c.
L’idée est de se placer en monnaie pleine pour vérifier qu’en passant d’une formule à une autre, les valeurs obtenues restent inchangées (et on peut reconnaitre des séquences classiques du genre [10, 11, 12.1, etc.]). De plus, en monnaie pleine, « Moyenne » et « Moyenne Pleine » doivent être identiques.
Autre chose, n’étant pas à l’aise avec Python et Pandas, c’est le prochain DU, et non pas le précédent, qui est utilisé pour le relatif. Du coup, la convergence se fait vers 10 (soit 1/c) au lieu de 11 (soit (1+c)/c).
Merci Vincent. Je suis d’accord, c’est une pratique courante, mais je ne la trouve pas naturelle du tout.
Je te propose une autre version où c’est le DU précédent qui est utilisé pour le relatif :
J’aurais bien essayé de fusionner les deux pour pouvoir passer facilement d’un mode à l’autre, mais j’ai peur que cela complexifie trop le code.
Il y a encore un truc que je veux étudier : quand N varie, la moyenne varie mais je n’arrive pas à voir si la forme est juste (surtout dans le cas des référentiels à somme nulle). N’hésite pas à y jeter un oeil, cela doit être une erreur à la c…
je souhaite trouver une solution d’affiliation avec lui ou bien l’autre solution pour le bien de la sécurité de l’ensemble de la communauté une solution adapté et sur