Dans cet article, je vais mettre en évidence quelques projets Open Source de théorie des graphes. La théorie des graphes est l’étude des graphes qui concerne la relation entre les bords et les sommets.

En informatique, ils fournissent un moyen pratique de représenter une relation entre des paires d’objets.

Cela étant dit, explorons les 15 meilleurs projets Open Source de théorie des graphes.

Cytoscape.js

Il s’agit d’une bibliothèque de théorie des graphes (réseau) pour la visualisation et l’analyse, Cytoscape.js est une bibliothèque complète de théorie des graphes.

Cytoscape.js contient un modèle de théorie des graphes et un moteur de rendu optionnel pour afficher des graphes interactifs. Cette bibliothèque a été conçue pour faciliter au maximum l’utilisation de la théorie des graphes par les programmeurs et les scientifiques dans leurs applications, que ce soit pour une analyse côté serveur dans une application Node.js ou pour une interface utilisateur riche.

D3 Graph Theory

D3 Graph Theory est un projet frontal destiné à tous ceux qui veulent apprendre la théorie des graphes.

Il fournit une introduction rapide et interactive à ce sujet. Les éléments visuels utilisés dans le projet en font un outil d’apprentissage efficace.

Générateur de labyrinthes

Le générateur de labyrinthes peut créer des labyrinthes rectangulaires, hexagonaux, alvéolaires et circulaires.

La génération de labyrinthes peut se faire à l’aide de l’algorithme de Kruskal, de la recherche en profondeur, de la recherche en largeur, de la marche aléatoire avec boucle ou de l’algorithme de Prim. Les labyrinthes peuvent être rendus au format SVG ou png (en utilisant Gnuplot comme intermédiaire dans ce dernier cas).

L’analyse de réseau simplifiée

Il s’agit d’un projet tutoriel conçu pour vous enseigner les aspects fondamentaux et pratiques de la théorie des graphes. Il a été présenté lors de plusieurs conférences (PyCon, SciPy, PyData et ODSC) dans différents formats (allant d’ateliers de 1,5 heure à 4 heures).

Le matériel est conçu pour une présentation de tutoriel en direct, avec le code disponible pour que vous puissiez le référencer par la suite.

Greuler

Greuler est un outil de visualisation de la théorie des graphes basé sur d3 et sur WebCola.

Il permet la création et la manipulation de graphes avec une API simple.

Mondrian

Mondrian est un ensemble d’outils CLI pour vous aider à analyser et refactoriser des classes hautement couplées. Comme vous connaissez la loi de Déméter et les directives S.O.L.I.D, vous avez besoin de vos classes faiblement couplées. Et pour cela, il n’y a qu’une seule règle : ABSTRACTION

Cette application fournit quelques aides pour ajouter de l’abstraction dans les classes concrètes avec un minimum de douleur.

Pown Recon

Pown Recon est un cadre de reconnaissance de cibles basé sur la théorie des graphes. L’avantage d’utiliser la théorie des graphes au lieu de la représentation sous forme de tableau est qu’il est plus facile de trouver les relations entre différents types d’informations, ce qui est très pratique dans de nombreuses situations.

Les algorithmes de la théorie des graphes aident également à la différenciation, à la recherche, comme la recherche du chemin le plus court, et à de nombreuses autres tâches utiles à la découverte d’informations et à la collecte de renseignements.

Kite

Kite est un outil de visualisation interactif pour la théorie des graphes. Il est utilisé pour visualiser le graphe de dépendance des modules de vos projets Elm.

Ce projet est entièrement écrit en Elm, ce qui permet d’apporter la programmation fonctionnelle au navigateur.

Erdos

Erdos est un cadre d’algorithmes graphiques théoriques modernes très léger, modulaire et très facile à utiliser pour Java.

Il contient des algorithmes graphiques que vous pouvez appliquer rapidement avec une seule ligne de code et a été principalement développé pour soutenir les tâches d’un gestionnaire de travail pour divers projets Java, y compris un projet Android.

Abuelo

Abuelo est une bibliothèque de théorie des graphes écrite en Ruby qui vous permet de construire une représentation d’un graphe.

Abuelo s’en tient au même vocabulaire (nœuds, arêtes) pour les graphes dirigés et non dirigés, contrairement à la théorie des graphes.

BrainGraph

BrainGraph est un paquetage R permettant d’effectuer des analyses de la théorie des graphes sur des données d’IRM du cerveau.

Il est plus utile dans les analyses basées sur les atlas (par exemple, en utilisant un atlas tel que AAL, ou un atlas de Freesurfer) ; cependant, beaucoup de calculs (par exemple, les fonctions basées sur GLM et la statistique basée sur le réseau) fonctionneront avec n’importe quel graphe compatible avec igraph.

molecules.js

Il s’agit d’une bibliothèque de théorie des graphes chimiques pour JavaScript.

Caractéristiques :

  • Importez des molécules encodées avec la notation chimique SMILES.
  • Calcul de diverses matrices de graphes d’une molécule (par exemple adjacence, degré, distance, Laplacien, Randic, réciproque).
  • Calculer plusieurs indices topologiques d’une molécule (par exemple Balaban, Harary, Hyper-Wiener, Randic, Wiener).
  • Visualiser les molécules avec des graphes dirigés par la force d3.js.

GraphTea

GraphTea est un cadre logiciel pour travailler sur les graphes et les réseaux sociaux.

Il vous aide à :

  • dessiner un graphique
  • obtenir des rapports sur celui-ci
  • exécuter des algorithmes sur celui-ci
  • le visualiser

NetworkX

NetworkX est un package Python pour la création, la manipulation et l’étude de la structure, de la dynamique et des fonctions des réseaux complexes.

Caractéristiques :

  • Structures de données pour les graphes, digraphes et multigraphes.
  • Nombreux algorithmes standards de graphes
  • Mesures de la structure et de l’analyse des réseaux
  • Générateurs de graphes classiques, de graphes aléatoires et de réseaux synthétiques.
  • Les nœuds peuvent être « n’importe quoi » (par exemple, du texte, des images, des enregistrements XML).
  • Les arêtes peuvent contenir des données arbitraires (par exemple, des poids, des séries temporelles).

Trajectoire spectrale et prédiction du comportement

Il s’agit de la base de code pour la prédiction de la trajectoire et du comportement du conducteur dans les véhicules autonomes en utilisant la théorie du graphique spectral.

Le projet prend en charge tout jeu de données qui contient des informations sur la trajectoire.

Conclusion

Tous ces projets Open Source sur la théorie des graphes sont des projets prometteurs et actifs. Ils sont ouverts aux pull requests et répondent aux problèmes. Vous devriez les consulter et contribuer à ceux que vous aimez.