Julia et les graphes
Présentation de la bibliothèque LightGraphs et de son écosystème, un tutoriel de Thibaut Cuvelier
Le 2020-02-27 00:54:28, par dourouc05, Responsable Qt & Livres
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
Lire le tutoriel
-
MaximeChMembre éprouvé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?le 06/03/2020 à 15:03 -
dourouc05Responsable Qt & LivresOn 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).le 06/03/2020 à 17:23 -
MaximeChMembre éprouvé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-BGLle 06/03/2020 à 19:47
-
dourouc05Responsable Qt & LivresVoici 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).le 12/06/2020 à 3:02