Développement de wotmap

wotmap
graph
sigmajs

#113

Finalement, le plugin de calcul des forces n’implémente pas ce genre de choses. Par contre, un autre plugin qui uitlise le même algo de calcul des forces propose qqe chose qui s’en rapproche. Du coup, plus besoin du bouton “Pause” :slight_smile: L’inconvénient c’est qu’il faut trouver un compromis entre temps de calcul et équilibre final. Avec les valeurs par défaut, c’est pas trop mal (j’ai fait plein d’essais)
Vous en pensez quoi ? : https://duniter.normandie-libre.fr/wotmap


#114

Avec une barre de progression plutôt qu’une barre infinie ça serait parfait :wink:


#115

En fait, il n’y a pas vraiment moyen de prédire à l’avance la fin de l’algorithme. Je ne peux donc pas afficher une barre de progression. J’ai deux paramètres :

  • Le nombre maximum d’itérations (en l’occurrence, j’ai laissé par défaut : 1000)
  • La distance moyenne de déplacement des nœuds en dessous de laquelle l’algorithme s’arrête.

Page de description du plugin ForceLink Layout


#116

Tu peux pas afficher une barre de progression dont la valeur correspond au rapport “distance moyenne actuelle parcourue par les noeuds / distance moyenne maximum” ?


#118

Il s’avère que la condition limitante actuellement est le nombre d’itérations. Je vais donc me baser sur le nbre d’itérations effectuées par rapport au nbre max d’itérations pour afficher cette barre de progression.

EDIT : Mise à jour effectuée pour implémenter cette barre de progression :slight_smile:


#119

si je voulais en faire une animation qui commence a l’instant 0 et non pas a l’instant t
comment devrais-je m’y prendre ?


#120

cela avait déjà été fait. Le projet me semble pas maintenu et abandonné et je ne me rappelle plus qui avait fait ça. J’ai un screenschot mais peut-être que d’autres ont plus d’infos que moi. Néanmoins c’est toujours possible de le faire grâce aux timestamps enregistrés en BDD duniter


#121

En effet, fait par framasky, repris par @jytou :


#122

Pour ceux qui s’y connaissent un peu, des chercheurs en graphes m’ont parlé du “Label Propagation Algorithm” qui serait très efficient pour faire le calcul de détection de communautés. Apparemment, il y a très peu d’implémentation, excepté en Python et en Java (Je ne vous ai mis que deux exemples mais dans ces deux langages, j’ai trouvé d’autres implémentations). Or, ça fait deux jours que j’essaie de l’écrire en Javascript mais je coince :confused: : cela me retourne la même communauté pour tous les noeuds et j’arrive pas à trouver où est-ce que j’ai merdé.

Pour les habitués du Javascript, c’est par là que ça se passe.


#123

J’ai réussi à implémenter cet algo sur des petits graphes… Mais pour la Toile de Confiance, ça boucle à l’infini :frowning: Je sais pas si j’irai jusqu’au bout mais c’est intéressant. Pour les curieux, j’ai trouvé encore un autre algo de détection de communautés suite à la lecture d’un papier sur la comparaison entre différents algo. Il s’agit de l’agorithme LICOD