当前位置: X-MOL 学术ACM Trans. Math. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
JGraphT—A Java Library for Graph Data Structures and Algorithms
ACM Transactions on Mathematical Software ( IF 2.7 ) Pub Date : 2020-05-22 , DOI: 10.1145/3381449
Dimitrios Michail 1 , Joris Kinable 2 , Barak Naveh , John V. Sichi
Affiliation  

Mathematical software and graph-theoretical algorithmic packages to efficiently model, analyze, and query graphs are crucial in an era where large-scale spatial, societal, and economic network data are abundantly available. One such package is JGraphT, a programming library that contains very efficient and generic graph data structures along with a large collection of state-of-the-art algorithms. The library is written in Java with stability, interoperability, and performance in mind. A distinctive feature of this library is its ability to model vertices and edges as arbitrary objects, thereby permitting natural representations of many common networks, including transportation, social, and biological networks. Besides classic graph algorithms such as shortest-paths and spanning-tree algorithms, the library contains numerous advanced algorithms: graph and subgraph isomorphism, matching and flow problems, approximation algorithms for NP-hard problems such as independent set and the traveling salesman problem, and several more exotic algorithms such as Berge graph detection. Due to its versatility and generic design, JGraphT is currently used in large-scale commercial products, as well as noncommercial and academic research projects. In this work, we describe in detail the design and underlying structure of the library, and discuss its most important features and algorithms. A computational study is conducted to evaluate the performance of JGraphT versus several similar libraries. Experiments on a large number of graphs over a variety of popular algorithms show that JGraphT is highly competitive with other established libraries such as NetworkX or the BGL.

中文翻译:

JGraphT——图形数据结构和算法的 Java 库

在大规模空间、社会和经济网络数据大量可用的时代,用于高效建模、分析和查询图的数学软件和图论算法包至关重要。一个这样的包是 JGraphT,它是一个编程库,包含非常高效和通用的图形数据结构以及大量最先进的算法。该库是用 Java 编写的,并考虑了稳定性、互操作性和性能。这个库的一个显着特点是它能够将顶点和边建模为任意对象,从而允许许多常见网络的自然表示,包括交通、社交和生物网络。除了最短路径和生成树算法等经典图算法外,该库还包含许多高级算法:图和子图同构、匹配和流问题、NP-hard 问题(如独立集和旅行商问题)的逼近算法,以及一些更奇特的算法,如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。匹配和流问题,NP-hard 问题的近似算法,例如独立集和旅行商问题,以及一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。匹配和流问题,NP-hard 问题的近似算法,例如独立集和旅行商问题,以及一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。NP-hard 问题的逼近算法,例如独立集和旅行商问题,以及一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。NP-hard 问题的逼近算法,例如独立集和旅行商问题,以及一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。还有一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。还有一些更奇特的算法,例如 Berge 图检测。由于其多功能性和通用设计,JGraphT 目前用于大型商业产品,以及非商业和学术研究项目。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。在这项工作中,我们详细描述了库的设计和底层结构,并讨论了它最重要的特性和算法。进行计算研究以评估 JGraphT 与几个类似库的性能。对各种流行算法的大量图进行的实验表明,JGraphT 与其他已建立的库(如 NetworkX 或 BGL)具有很强的竞争力。
更新日期:2020-05-22
down
wechat
bug