Étude de la WoT

Après pour le cas précis de Duniter, il faut aussi voir que la règle de distance ne s’applique pas en continu mais en fréquence.

Ainsi :

  • tout nouveau membre qui souhaite intégrer la WoT subit la contrainte de distance
  • tout membre effectif subit la contrainte de distance tous les X temps (6 mois par exemple dans TestNet)

Et donc la WoT peut en réalité avoir des distances plus grandes que stepmax dans les faits, par exemple si une signature utilisée lors du test de distance expire avant le renouvellement du membre, alors entre cette expiration et le renouvellement, le membre pourra être à une distance bien plus élevée que stepmax.

Bien sûr, ça dépend toujours du jeu de certifications à chaque instant.

1 Like

Ca n’a pas d’importance, car la distance a une définition. Peut importe cette définition, une fois calculée et connue elle est valide. Le fait qu’un membre puisse osciller entre deux moments n’influe en rien le calcul. Il faut séparer les questions.

Encore plus simple donc, en étudiant les fonctions données, si on vise une WoT pratique (pas max) de 3 millions sur la base d’une moyenne de 50 personnes connues par membre, avec stepmax = 5 alors SigQty sera déterminé :

  • N = (sigStock+1)*(sigStock / sigQty)^(stepmax-1)
  • sigQty = sigStock/[N/(sigStock+1)][1] = 50/(3.10⁶/51)^(1/4) = 3,2 => sigQty = 4

De manière générale on doit comprendre que sigStock = 50 en moyenne implique que sigQty ne peut pas prendre n’importe quelle valeur si on vise une WoT conséquence, il faut que (sigStock / sigQty) >> 1, associé à un stepmax conséquent aussi.

Viser une WoT pratique (50 personnes connues en moyenne) de 3 millions me semble un bonne base. Ensuite, avec les formulations trouvées ci-dessus il faut réduire le nombre de paramètres effectifs à définir, puisque beaucoup d’entre eux sont automatiquement trouvés.

On peut garder en tête les données empiriques que 12, 50 et 150 personnes sont des données sur lesquelles on peut se baser pour se caler à peu près avec les données trouvées.

Avec ces données, recalculons la WoT moyenne et la WoT max :

  • maxstep = 5
  • sigStock = 150
  • sigPeriod = 1 semaine => sigValidity = sigPeriod x 150 = 2 ans et 6 mois
  • Wot moyenne = (50+1)*(50 / 4)^4 = 1 245 117
  • Wot max = (150+1)*(150 / 4)^4 = 298 608 398
  • Wot max / Wot moyenne = 240 (3^5 puisque 150 = 3*50 et que maxstep = 5)
  • Y[Nmoyen] = 1 245 117^(1/5) = 17

  1. 1/(stepmax-1) ↩︎

Ça n’influe pas sur le calcul que tu effectues ici,mais pour autant la règle ne sera pas vérifiée à tout instant et en tout point. Et donc en réalité la toile peut déborder de stepmax, qui est pourtant le facteur limitant de de Nmax. Mais je n’ai pas idée de quelle proportion ça représente, si c’est 1%, 10% ou autre chose.

C’est pas grand chose, on dira que c’est négligeable… C’est d’autant plus négligeable que la durée de validité des signatures est plus grande que la période de recalcul global des distances.

La WoT moyenne (50 signatures moyennes / membre), fonction de stepmax et sigQty :

Les valeurs > 1 000 000 sont pour 5 < stepmax < 7 et 3 < sigQty < 9

Tableur : WoT.ods (46,8 Ko)

En lignes :

Tableur : WoT.ods (21,0 Ko)

Inversion des axes / couleurs SigQty / stepmax :

Tableur : WoT.ods (28,1 Ko)

3 Likes

So, there is two parameters to limit WoT size.
To have 1 000 000 members with sigQty = 7, 10 certifications are needed. I think it’s a lot.
I think yellow and green curves are better:

  • yellow: WoT diameter 5, four certifications.
  • green: WoT diameter 6, seven certifications.

Plutôt qu’étudier une WoT avec un nombre moyen de 50 signatures par membre, il faudrait plutôt étudier une WoT avec une distribution des liens qui suit des courbes connues de probabilités.

Par exemple, comparer ce qu’on a avec des liens qui suivent une « Power Law Distribution » :
https://forum.duniter.org/uploads/default/original/1X/abaa565b33ca72a04ab0deac9705df30f9ce3e8a.png

Contre des liens qui suivent une distribution de Poisson :
https://forum.duniter.org/uploads/default/original/1X/fdc41a31f5b0d7dd7e136965d57d1b04e5f13668.png

Il y a toujours une moyenne dans les deux cas.

Oui mais la répartition des liens ne donnera pas une WoT de la même taille… Une médiane serait plus appropriée d’ailleurs non ?

Si tu sais prévoir comment les hommes vont s’organiser, tu peux simuler correctement. Si tu ne sais pas, tu peux juste te faire une idée, mais croire que cette idée aura un quelconque rapport avec l’expérience c’est se tromper sur la nature des choses…

@Inso tu devrais regarder ces posts concernant la répartition du classement Elo pour le jeu d’échecs :

Ce qui est intéressant c’est l’asymétrie que l’on constate selon les âges, le classement Elo moyen est plus proche des nouveaux entrants que des plus âgés.

Il faut faire attention toutefois à toute interprétation radicale, car le nombre de joueurs d’échecs est en augmentation depuis… toujours je crois bien :slight_smile: … Et le nombre de joueurs classés croît régulièrement depuis l’initialisation en 1970. Mais ça donne quand même une idée de l’application concrète de la Loi Normale (proche de la Loi logistique désormais utilisée pour le Elo et dont le calcul est plus simple).

J’ai pensé au fait que si on considère qu’une période de renouvellement annuel est minimale, et que l’on doit pouvoir signer jusqu’à 150 personnes max, alors on obtient forcément par la période entre deux signatures doit être au plus 365,25 / 150 = 2,43 jours.

Le même raisonnement implique qu’une période entre deux signatures de 7 jours, associée à un maximum de 150 signatures, implique forcément une période de renouvellement de 150 x 7 = 1050 jours = 2 ans 10 mois 20 jours, ce qui semble très long.

Et que donc il n’y a pas énormément de choix possible pour la période entre deux signatures…

2 Likes

Avec un tableur listant tout ces paramètres et des courbes montrant les impacts de leurs variations, j’imagine qu’on pourrait trouver les valeurs idéales, si elles existent ?

“idéal” ne signifie rien en soi. En faisant certaines hypothèses conformes à la réalité expérimentale, on peut limiter la variation des paramètres possibles, et envisager ce qu’une WoT maximale / WoT moyenne peut donner sous ces hypothèses. Le fait de considérer les hypothèses comme correctes restera sujet à discussion, tout autant que la forme de la WoT résultante visée.

Comme il y a en outre beaucoup de paramètres un graphe en 2D risque d’être très insuffisant, à moins de ne considérer que la variation de un ou deux paramètres, ce qui suppose d’avoir une idée bien fondée sur la fixation des autres.

Comme en outre la compréhension ne se diffuse pas d’elle-même, celui qui veut comprendre doit travailler le fond et proposer des formes.

D’après moi, les valeurs de ton premier post [quote=“Galuel, post:1, topic:977”]
maxstep = 4
sigSty = 4
Y[N] = N^(1/maxstep) = 42 (bon chiffre !)
N (max théorique) = Y[N]^maxstep = 3 111 696
sigStock = sigValidity / sigPeriod = Y[N] x sigSty = 168
sigPeriod = 1 semaine => sigValidity = Y[N] x sigSty x sigPeriod = 168 semaines = 3 ans + 3 mois
[/quote]

Me semblent être idéales. Sauf pour la sigPeriod, que je réduirais pour avoir un sigValidity de 1 an.
Le sigPeriod est là pour ralentir des attaques de robots. Une certification tout les 2,43 jours, c’est déja très bien et largement détectable en cas de tentative de métastase. Le sigValidity est là pour forcer le renouvellement régulier des reconnaissances entre individus. Le caler sur une période annuelle (le fameux “anniversaire” humain) me parait être idéal.

2 Likes

Ca me paraît insuffisant au vu de la suite des posts. Notamment en raison du fait que la WoT max théorique doit être bien supérieure à la WoT visée.

Par ailleurs, les posts suivants donnent des formulations plus précises en terme de relations entre les paramètres, et il faut une étude plus poussée et plus complète, comprenant des justifications expliquées pour se faire une idée plus juste.

Au vu de ce qui précède l’intuition me pousse à considérer un maxstep de l’ordre de 5 plutôt que de 4, et sans confirmation par d’autres de résultats approchants, de simulations plus complète, il est plus que déconseillé de prendre des résultats approximatifs comme source de valeurs valides.

De manière générale les considérations intuitives et textuelles (littéraires) ne sont pas une méthode scientifique valide.

Je me suis penché à nouveau sur le post#1 de cette discussion, et je pense que Y[N] reflète 2 réalités différentes et que cela pose problème dans le raisonnement. Pour rappel :

Note : on suppose ici sigQty = 1

Or si l’on considère qu’un individu est un point de contrôle car il aurait émis Y[N] certifications, d’une part cela ne signifie pas qu’il a atteint son stock maximal et peut donc en émettre plus (donc finalement on n’étudie pas le max), ou alors Y[N] = sigStock et alors on ne fait que parler d’un cas idéal mais expérimentalement peu fréquent où finalement les seuls points de contrôle seraient ceux ayant épuisé leur stock de certifications.

Et donc il faudrait peut-être différencier Y[N] “effet de levier maximal par individu” et Z[N] “nombre de certifications émises pour être un point de contrôle”, ce que je vais tenter de faire.

Il y a des points qui sont fondamentaux et sur lesquels on peut se fonder expérimentalement, qui permettent de cibler précisément :

  • sigStock = 150, nombre de connaissances moyennes = 50
  • 4 <= stepmax <=7
  • Une WoT moyenne acceptable est de taille (environ) N = 10⁶
  • sigQty doit être un nombre suffisant et est lié à la WoT(N) moyenne par : sigQty = 50/[N/(50+1)]^[1/(stepmax-1)]

Les couples de solution pour (stepmax,sigQty) sont alors déterminés (arrondis aux entiers) : (4,2), (5,5), (6,7) ou (7,10)

sigQty = 2 peut sans doute être éliminé car clairement trop faible. Ensuite stepmax = 7 semble quant à lui trop fort. Il nous reste donc (5,5) ou (6,7) comme valeurs acceptables. On comprend aussi que l’augmentation du stepmax est compensée en terme de contrôle par l’augmentation du nombre de signatures requises pour être membre.

La solution (5,5) me semble bonne, car elle propose un paramétrage symétrique. La distance max entre membres étant égale au nombre de signatures pour être membre, on pourrait dire “densité locale = rayon de la sphère”, ça tombe bien.

On a alors un très bon paramétrage suivant :

  • sigStock = 150
  • maxstep = 5
  • sigQty = 5
  • sigPeriod = 1 semaine => sigValidity (minimal) = sigPeriod x 150 = 2 ans et 6 mois (on peut prendre 3 ans + 3 mois + 3 jours tout aussi bien, ce qui évite l’habitude d’une date fixe, et puis signer chaque semaine à perpétuité pour valider en permanence ses 150 connaissances peut sembler fastidieux…)
  • WoT moyenne = (50+1)*(50 / 5)^5 = 5 100 000
  • WoT max = (150+1)*(150 / 5)^5 = 3,67 milliards ( = 720 x WoT moyenne)
  • Z[N] = 5 100 000 ^ (1/5) = 22

Je note qu’on obtient pour la WoT moyenne quelque chose qui semble proche d’une communauté économique optimale (qui rejoint la remarque que les petits pays sont plus souples que les gros, et ont de meilleurs résultats), et que la WoTmax n’est pas loin du total d’êtres humains actuel (2 fois moins à peine), ce qui me semble un bon signe de concordance avec la réalité expérimentale.

Ce qui me semble donc suffisant comme conclusion de l’étude. Tout paramétrage qui se fera autour de ces valeurs me semblera tout aussi bon.

4 Likes

Si on veut augmenter le contrôle local avec sigQty = 7 :

  • sigStock = 150
  • maxstep = 5
  • sigQty = 7
  • WoT moyenne = (50+1)*(50 / 7)^5 = 948 265
  • WoT max = (150+1)*(150 / 7)^5 = 682 millions ( = 720 x WoT moyenne)
  • Z[N] = 948 265 ^ (1/5) = 16

Semble très bien aussi (ordres de grandeurs correspondants à l’observable)

1 Like