Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Julia et les graphes
Présentation de la bibliothèque LightGraphs et de son écosystème, un tutoriel de Thibaut Cuvelier

Le , par dourouc05

23PARTAGES

7  0 
Julia est un langage de programmation orienté vers les applications scientifiques. Ces dernières ont assez souvent besoin de travailler avec des graphes, des structures de données assez courantes. LightGraphs.jl est une implémentation de haute performance tant de la structure de données que d'algorithmes classiques sur des graphes.

Lire le tutoriel

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de MaximeCh
Membre éprouvé https://www.developpez.com
Le 06/03/2020 à 15:03
Intéressant, quel est le rapport de performances avec boost?
Peut-on faire des algorithmes de Dreyfus-Wagner pour arbres de Steiner? Quelle est la différence de couverture fonctionnelle entre les deux bibliothèques lightgraphs.jl et boost?
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 06/03/2020 à 17:23
On ne peut malheureusement pas dire que la bibliothèque soit aussi complète que la BGL. En ce qui concerne la performance, je n'ai pas connaissance de chiffres précis et récents (tout ce que j'ai date de 2015 : https://github.com/JuliaGraphs/Light....jl/issues/259).
Tu as une série de scripts pour tester la performance de LightGraphs : https://github.com/JuliaGraphs/Light...ster/benchmark. Un projet GSoC est prévu pour augmenter cette liste : https://julialang.org/jsoc/gsoc/graphs/.

À tout hasard, serais-tu partant pour lancer des tests de performance avec la BGL ? Je pourrais écrire, en parallèle, le code correspondant avec LightGraphs et on pourrait comparer (en lançant sur la même machine, bien entendu).

Pour les arbres de Steiner, il n'y a pour le moment qu'une seule implémentation : https://github.com/JuliaGraphs/Light...teiner_tree.jl, avec un algorithme très basique (https://en.wikipedia.org/wiki/Steine...e_Steiner_tree).
0  0 
Avatar de MaximeCh
Membre éprouvé https://www.developpez.com
Le 06/03/2020 à 19:47
Citation Envoyé par dourouc05 Voir le message
À tout hasard, serais-tu partant pour lancer des tests de performance avec la BGL ? Je pourrais écrire, en parallèle, le code correspondant avec LightGraphs et on pourrait comparer (en lançant sur la même machine, bien entendu).
Je connais assez mal la BGL, je suis intervenu surtout pour alimenter la discussion. Je suis partant pour tenter quelques benchmarks, mais je connais encore mois bien parallel-BGL
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 12/06/2020 à 3:02
Voici une comparaison de bibliothèques assez efficaces en Python (notamment, graph-tool, qui se targue d'utiliser énormément la BGL pour ses calculs) et LightGraphs côté Julia : https://www.timlrx.com/2020/05/10/be...k-packages-v2/. En gros, elles se valent toutes (sauf NetworkX en Python).
0  0