Formule alternative pour le DU


#41

J’utiliserai une monnaie en laquelle je crois. Or je ne crois pas à la formule DUA, pour les raisons dont j’ai déjà parlées : principalement l’instabilité des comptes exprimés en nombre de DUs. Je suis d’accord pour dire que c’est juste “la tête de la formule” puisque c’est purement visuel (ça ne représente pas le potentiel d’achat), mais le visuel est important selon moi. Entre un truc parfait à visage labyrinthique et un truc un peu moins parfait à visage limpide, je ne peux croire qu’en la seconde option. Ceci étant dit, peut-être que je me trompe et que les utilisateurs comprendront très bien de voir leurs comptes (en nombre de DUs) monter ou descendre en fonction des arrivées ou départs d’utilisateurs… On verra.

Peut-être que ce n’est pas si mal que je sois poussé à “forker” : ça vous évitera mes remises en questions en général, qui concerneraient probablement aussi d’autres points que la formule du DU. J’ai souvent du mal à utiliser le travail des autres tel quel, j’ai besoin que ça vibre en moi et je comprends que ça puisse être soulant.

Si nos visions ne convergent pas assez, autant que j’essaie de faire les choses différemment avec une autre équipe… malgré que Duniter porte “unité” en lui.


#42

Plutôt que Forker, tu peux imaginer une pull request ou c’est au moment de démarrer la monnaie que l’on choisit la formule du DU par exemple :wink:


#43

On peut pas dire que la formulation du DU consiste en un “fork” de Duniter, c’est plutôt lié à un code monétaire différent, mais ça reste tout à fait intégré à Duniter en soi, comme l’explique inso :

Qui plus est, je suis assez d’accord au final pour choisir la formule DUB personnellement DU(t+1) = (1+c)*DU(t), elle a pour avantage d’être la plus simple, de garder la continuité du DU, et elle est sans doute préférable pour ces deux raisons.

Qui plus est on reconnaît directement l’exponentielle, même si les variations de N la font dévier, elle reviendra dessus, et l’écart restera assez acceptable avec une formulation tierce, qui dans tous les cas sera de toute façon criticable.

In-fine comme l’a précisé la TRM de toute façon, aucune formulation ne peut convenir parfaitement à “tous les cas”, car N(t) est inconnu. Autant alors choisir la plus simple, la plus frappante aussi.


#44

Je te posais la question tout en sachant que j’avais déjà accepté l’idée que l’on changerait plutôt le code actuel au profit de DUB, et ce malgré mon:

Il paraît qu’il n’y a que les cons qui ne changent pas d’avis, donc au pire si le suis, ça ne sera pas pour cette raison là :slight_smile:

En l’occurrence je considère que ce n’est pas mon boulot de juger quelles sont les “bonnes” équations, toi, Galuel ou encore d’autres qui étudient le sujet plus en profondeur ont certainement plus de recul que moi pour choisir. Et je m’en remets volontiers à vous, je ne peux pas (ni ne veux) tout faire !

Bref, tu n’auras probablement pas besoin de forker (pour ça!).


Calcul de c dynamique
#45

Wow cool, merci ! Je m’y attendais pas :slight_smile:

Je suis content d’avoir été écouté, malgré mon peu d’expérience en économie et mon incapacité à m’aligner sur les méthodes d’étude attendues.

Je vais essayer d’être le plus souple possible mais je risque tout de même de questionner d’autres aspects de Duniter/Cesium/Sakia, si c’est incompatible avec ma vision des choses, notamment avec ce que j’estime “bon” pour le grand public. Du recul j’en ai, effectivement ; par contre je ne suis expert en rien. J’aurais beaucoup de mal à me plonger dans la programmation d’une monnaie, ce serait très laborieux pour moi. Je serais heureux de pouvoir l’éviter, et que ma future monnaie fonctionne/s’utilise avec Duniter/Cesium.


#46

-Alors je vois l’évolution des courbes oui, mais si un DU a toujours besoin du DU précédent pour être calculé, qu’en est il du premier DU lors de l’initialisation? Dans les tableurs, le premier DU est inscrit “comme ca”. et ensuite, ils sont calculés par rapport au DU(t-1).

  • Et il doit me manquer un élément de compréhension, mais N n’est pas pris en compte du coup dans le calcul du DU mais dans (M) ? Dans un cas de chute de N, le DU sera donc le même que si N était stable, mais co-crée par moins d’individus c’est ça? Donc M va se voir augmenter en quantitatif de moins d’unités, Mais le DU d’après, repartira encore du dernier DU.

Et, je n’ai pas compris les différents calculs de M/N et de N dans les tableurs @Galuel

M/N(t)= M/N (t-1) + DU(n-1) des fois… et je ne comprends pas
Et sinon
M/N(t) = (M/N (t-1) + DU(n-1)) * N(t-1)/N
–> là ok, je comprends que l’on multiplie la moyenne précédente par un ratio de changement de N d’une année à l’autre ( désolé pour le vocabulaire…)

Mais par contre le calcul de N pour la simulation m’est complètement étranger!
Est-il possible d’avoir une explication de cette formule svp?
N= N(t-1) * (0,99+0,1COS(23,14*année/10))
Pourquoi inclure l’année?? :disappointed_relieved:

Et pour le coup, je suis plutôt d’accord avec ça.

Il me manque un peu de logique mathématique là.

Super discussion néanmoins.


#47

Hé bien quand Anoa dit “le DU explose” et “mon compte baisse fortement en quelques jours”, je dis que l’échelle de temps de l’explosion avec dégâts se compte en années, pas en jours.

C’est d’autant plus vrai que, même si N(t+1)=N(t)/10 par exemple, seul (1/10) x N(t) des membres vont produire le DU suivant, donc les comptes précédents la diminution ne vont pas se voir noyés sous la monnaie.


#48

Ok. Donc M va varier différemment car moins d’individu auront crée un DU. Mais du coup, si N=2 au bout de quelque temps alors , chaque individu va créer un DU important par rapport à M…
J’ai du mal à voir le truc.
Car la TRM dit bien que pour comprendre “la valeur” que peut avoir une monnaie, alors il faut la regarder par rapport au nombre d’individus qui l’utilisent (ce que je comprend) et la masse monétaire.
Mais là je ne vois pas.


#49

Si N >> 2 au début (genre N = 100), avec la formule DUB(t+1) = (1+c)(DU(t)), alors si N chute de 100 à 2, non, les 2 individus restants ne vont pas produire un DU important par rapport à M, ils vont juste produire un DU c% supérieur au précédent. Par contre avec DUA, oui, le DU aurait été très important.

Je crois que je vais refaire les simulations données dans ce topic, car j’ai écouté sans vérifier par moi-même et j’ai accepter d’utiliser DUB, mais je suis perplexe face à cette disparition de M et N.


#50

C’est bien ça : la valeur d’une monnaie – et le potentiel d’achat des utilisateurs – dépend de M/N. Mais caler le DU exactement sur M/N poserait problème, car si par exemple N augmente fortement alors le DU ne vaudra plus grand chose, et les gens se diront “mais où est le DU ?” (enfin ça c’est mon point de vue utilisateur ; les pros de la TRM l’expliqueront sans doute autrement).

C’est pourquoi Galuel propose dans la TRM de plutôt faire DU(t) = MAX [ DU(t-1) ; c × M(t-1) / N(t) ], afin que le DU ne puisse pas baisser, seulement rester stable ou monter. Déjà là on dissocie le DU et la valeur de la monnaie : ça ne se suit pas exactement lorsque N augmente. Et moi j’ai proposé d’aller un peu plus loin (ce qui est aussi mentionné dans la TRM mais pas mis en avant), de dissocier encore un peu plus afin que la croissance du DU soit parfaitement exponentielle dans tous les cas, qu’elle ne soit pas perturbée par les variations de N. Le DU s’éloigne de la valeur de la monnaie quand N varie, mais ça retourne progressivement à la normale quand N devient plus stable.


#51

Cette formulation est très bonne. Toutefois la formulation DUB a pour compensation d’être plus simple. Or on ne peut négliger la simplicité dans une approche. Plus c’est simple mieux c’est. Donc même si on perd un tout petit peu d’efficience calculatoire, on gagne en retour une très grande clarté et simplicité d’explication de la formulation.

On ne peut pas vraiment dire que M et N disparaissent, car M(t+1) = M(t) + N(t) * DU(t), et donc DU(t) = [M(t+1) - M(t)] / N(t). Car on parle ici du DU individuel, donc on a bien une masse de N*DU à gérer.

Ce point est difficile et fait appel à des mathématiques (ou de la physique) de bon niveau pour la comprendre… Comme les principes qui sont :

  • Une petite variation peut-être considérée comme négligeable
  • Une somme de petites variations négligeables peut mener à des écarts non-négligeables
  • Une somme de petites variations négligeables peut mener à des écarts tout aussi négligables

MAIS, pour comprendre sans avoir fait de maths ou de physique évolués qui permettent de voir assez rapidement le sujet, on peut tout simplement procéder à des SIMULATIONS NUMERIQUES.

Donc Tableur => variation du nombre d’individus, visualisation et compréhension. Penser à rester dans des cas “moyens” car toute formulation du DU pourra toujours s’avérer insuffisantes dans des cas extrêmes. Il faut aussi voir les effets non pas sur 1 jour, sur 6 mois ou 2 ans mais sur 10 ans, 20 ans.

Sans faire ce travail l’inuitiion ne mène nulle part, l’approche rigoureuse demande à savoir manier les fonctions et les nombres avec rigueur.

Car il s’agit d’un modèle de variation de N année après année. Là encore il suffit de poser cette formulation dans un tableur, de voir la courbe et on comprend ce qu’est cette simulation.

C’est la base. Le DU est la variation de M/N d’un moment au moment suivant.


Nouvelle version 0.40 ! Vers un protocole d'exploitation
#52

Allez je vous livre la dernière trouvaille de calcul du DU :

DU(t+1) = DU(t) + c² M(t)/N(t)

Je la gardais au chaud celle là, car elle resemble étrangement à pas mal de formules de physique… si on fait quelques analogies. A noter aussi que, sachant que c est “petit” on comprend aussi que c² est “très petit” et que donc la variation du DU est elle-même quelque chose de “petit” (M/N étant “grand”, et c² “très petit”, alors “très petit” fois “grand” = “petit”)…

Sans doute la meilleure formule possible, puisqu’on voit ici immédiatement à l’oeil : “le DU ne baisse jamais, et croît comme une exponentielle si N est stable”. Enfin, “à l’oeil”, disons “à l’oeil du mathématicien”.

Je crois qu’on peut dire sans se tromper : “c’est élégant” !

DUĞ = DU(t+1) = DU(t) + c² M(t)/N(t)


#53

Ok effectivement.
Donc, ca veut dire que :
[M(t+1) - M(t)] / N(t) = (1+c) DU(t)

Car DU(t)= [M(t+1) - M(t)] / N(t)
Et aussi DU(t) = (1+c) DU(t)

Ca je veux bien mais je ne comprends pas mathématiquement
N= N(t-1) * (0,99+0,1COS(23,14*année/10))

Donc j’ai du mal a comprendre la variation de N.

Clin d’Oeil à Dirac sur la beauté d’une formule, riche en invariant? :no_mouth:


#54

DU(t) = (1+c) DU(t)

COS(a) = cosinus(a) où “a” est un angle exprimé en radians (un 1/4 de cercle représente un angle de 3,14/2 = PI/2 radians)

cos(2PI/10 * années) donne le cosinus d’un angle qui, année après année, augmente de 2PI/10, c’est une fonction périodique, ce qui normalement est une notion qui doit parler à un ingénieur du son !


#55

Oui oui pardon. Je vais rectifier dans le post avant alors pour éviter les confusions.

Ok, merci de l’explication, je vais essayer de m’en débrouiller.
Mais j’ai tendance à faire plus de musique que de maths de base, alors le retour au source n’est pas fluide !


#56

Etant donné que DU = (M/N)’ = c*MN alors DU’ = (M/N)’’ = c² M/N

Ce qui signifie que la dérivée du DU est c² M/N (pour N stable). Et que donc pour N “instable” si on calcule sur un pas petit pour le DU (équivaut à un pas où la variation du DU sera petite, comme “par jour” = 0,027% / jour alors que “par an” c’est 10% / an, qui est déjà petit), on lissera parfaitement les bonnes variations du DU, tout en restant proche du DU “en cours”.

Donc DU’ = DU(t+1) - DU(t) => DU(t+1) = DU(t) + c² M/N est la meilleure approximation qui suit les variations de “N”, car elle garde le maximum de continuité avec le DU “en cours”, tout en s’ajustant aux variations de “N”, la formulation étant mathématiquement plus simple que le DUA = Max(DU; c*M/N), et évite les discontuinité fortes. Notez que par exemple une baisse de N d’un facteur 10 ne fait varier DUĞ que d’un facteur 2 ! Alors que DUA s’envole, ou que DUB ne bronche pas (totalement insensible aux variations de “N”).

Ce qu’on voit dans les graphes sur la modélisation suivante : DUABCĞ.ods (72,1 Ko)

Chacun pourra ainsi vérifier que ce soit en relatif M/N ou en relatif DU, et estimer la formulation qui s’adapte au mieux aux variations de N.

DUĞ est imbattable en terme de parcimonie, adaptablité, simplicité. Elle est très facile à expliquer et à comprendre en sus. Sa formulation faisant apparaître c² qui est “très petit”, fait saisir l’importance de la notion de “petites variations” essentielle à comprendre pour intégrer au plus profond le principe démonstratif de la TRM.


#57

Même simulation affichée cette fois en DU (et plus en % M/N) : DUABCĞ-DU.ods (73,8 Ko)

On notera pour DUĞ le lissage que cela induit pour la fonction, qui réalisant une approximation d’ordre 2 évite les angles aigus (ce que l’on verrait d’autant plus que le pas de calcul du DU serait plus petit, ici tous les ans seulement).


#58

Est-il alors possible d’avoir une formulation du DU en c³, en c⁴, en c⁵ !? Oui bien sûr, mais ça ce complique dès c³ :

Puisque DU’ = c² M/N pour la même raison on aura DU’’ = c³ M/N

Et DU’’ = DU’(t) - DU’(t-1) = [DU(t) - DU(t-1)] - [DU(t-1) - DU(t-2)] = DU(t) - 2DU(t-1) + DU(t-2)

Et de manière générale nous aurons DU(dérivée nième) fonction des coefficients binomiaux de DU(t-1), DU(t-2)… DU(t-n) et de c^n M/N, voir à ce sujet “dérivée d’ordre n”.

D’où DU(t) = 2 DU(t-1) - DU(t-2) + c³ M/N

Moins simple, à expliquer, comprenant plus de membres dans la formule, mais tout à fait juste et plus précis !

Alors que sont véritablement DUA, DUB, DUC in-fine !? Ce sont des approximations d’ordre 1 des variations du DU, elles sont donc moins précises que l’approximation d’ordre 2 DUĞ, qui elle même sera moins précise que l’ordre 3, puis l’ordre 4 etc…


#59

Intéressant. Est-ce que tu peux aussi poster la courbe de N, qui m’aiderait à mieux comprendre ?


#60

Tu l’as dans le fichier Calc. Tu peux en simuler d’autres.