Cycles in graphs play an important role in many applications, e.g., analysis of electrical networks, analysis of chemical and biological pathways, periodic scheduling, and graph drawing. From a mathematical point of view, cycles in graphs have a rich structure. Cycle bases are a compact description of the set of all cycles of a graph. In this paper, we survey results on cycle bases and prove new ones. We introduce different kinds of cycle bases, characterize them in terms of their cycle matrix, and prove structural results about them, in particular, a-priori length bounds. We give polynomial algorithms for the minimum cycle basis problem for some of the classes and prove APX -hardness for others. We also discuss three applications and show that they require different kinds of cycle bases.
Suppose that each member of a set A of applicants ranks a subset of a set P of posts in an order of preference, possibly involving ties. A matching is a set of (applicant, post) pairs such that each applicant and each post appears in at most one pair. A rank-maximal matching is one in which the maximum possible number of applicants are matched to their first choice post, and subject to that condition, the maximum possible number are matched to their second choice post, and so on. This is a relevant concept in any practical matching situation and it was first studied by Irving [2003].We give an algorithm to compute a rank-maximal matching with running time O (min( n + C , C √ n ) m ), where C is the maximal rank of an edge used in a rank-maximal matching, n is the number of applicants and posts and m is the total size of the preference lists.
Abstract. In this paper we consider the problem of computing a minimum cycle basis in a graph G with m edges and n vertices. The edges of G have non-negative weights on them. The previous best result for this problem was an O(m ω n) algorithm, where ω is the best exponent of matrix multiplication. It is presently known that ω < 2.376. We obtain an O(m 2 n + mn 2 log n) algorithm for this problem. Our algorithm also uses fast matrix multiplication. When the edge weights are integers, we have an O(m 2 n) algorithm. For unweighted graphs which are reasonably dense, our algorithm runs in O(m ω ) time. For any > 0, we also design a 1 + approximation algorithm to compute a cycle basis which is at most 1 + times the weight of a minimum cycle basis. The running time of this algorithm is O( m ω log(W/ )) for reasonably dense graphs, where W is the largest edge weight.
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.
Abstract. In this paper we consider the problem of computing a minimum cycle basis of an undirected graph G = (V, E) with n vertices and m edges. We describe an efficient implementation of an O(m 3 + mn 2 log n) algorithm presented in [1]. For sparse graphs this is the currently best known algorithm. This algorithm's running time can be partitioned into two parts with time O(m 3 ) and O(m 2 n + mn 2 log n) respectively. Our experimental findings imply that the true bottleneck of a sophisticated implementation is the O(m 2 n + mn 2 log n) part. A straightforward implementation would require Ω(nm) shortest path computations, thus we develop several heuristics in order to get a practical algorithm. Our experiments show that in random graphs our techniques result in a significant speedup. Based on our experimental observations, we combine the two fundamentally different approaches to compute a minimum cycle basis used in [1,2] and [3,4], to obtain a new hybrid algorithm with running time O(m 2 n 2 ). The hybrid algorithm is very efficient in practice for random dense unweighted graphs. Finally, we compare these two algorithms with a number of previous implementations for finding a minimum cycle basis in an undirected graph.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.