245 research outputs found

    Algorithms for Vertex-Weighted Matching in Graphs

    Get PDF
    A matching M in a graph is a subset of edges such that no two edges in M are incident on the same vertex. Matching is a fundamental combinatorial problem that has applications in many contexts: high-performance computing, bioinformatics, network switch design, web technologies, etc. Examples in the first context include sparse linear systems of equations, where matchings are used to place large matrix elements on or close to the diagonal, to compute the block triangular decomposition of sparse matrices, to construct sparse bases for the null space or column space of under-determined matrices, and to coarsen graphs in multi-level graph partitioning algorithms. In the first part of this thesis, we develop exact and approximation algorithms for vertex weighted matchings, an under-studied variant of the weighted matching problem. We propose three exact algorithms, three half approximation algorithms, and a two-third approximation algorithm. We exploit inherent properties of this problem such as lexicographical orders, decomposition into sub-problems, and the reachability property, not only to design efficient algorithms, but also to provide simple proofs of correctness of the proposed algorithms. In the second part of this thesis, we describe work on a new parallel half-approximation algorithm for weighted matching. Algorithms for computing optimal matchings are not amenable to parallelism, and hence we consider approximation algorithms here. We extend the existing work on a parallel half approximation algorithm for weighted matching and provide an analysis of its time complexity. We support the theoretical observations with experimental results obtained with MatchBoxP, toolkit designed and implemented in C++ and MPI using modern software engineering techniques. The work in this thesis has resulted in better understanding of matching theory, a functional public-domain software toolkit, and modeling of the sparsest basis problem as a vertex-weighted matching problem

    Parallel heuristics for scalable community detection

    Get PDF
    AbstractCommunity detection has become a fundamental operation in numerous graph-theoretic applications. It is used to reveal natural divisions that exist within real world networks without imposing prior size or cardinality constraints on the set of communities. Despite its potential for application, there is only limited support for community detection on large-scale parallel computers, largely owing to the irregular and inherently sequential nature of the underlying heuristics. In this paper, we present parallelization heuristics for fast community detection using the Louvain method as the serial template. The Louvain method is a multi-phase, iterative heuristic for modularity optimization. Originally developed by Blondel et al. (2008), the method has become increasingly popular owing to its ability to detect high modularity community partitions in a fast and memory-efficient manner. However, the method is also inherently sequential, thereby limiting its scalability. Here, we observe certain key properties of this method that present challenges for its parallelization, and consequently propose heuristics that are designed to break the sequential barrier. For evaluation purposes, we implemented our heuristics using OpenMP multithreading, and tested them over real world graphs derived from multiple application domains (e.g., internet, citation, biological). Compared to the serial Louvain implementation, our parallel implementation is able to produce community outputs with a higher modularity for most of the inputs tested, in comparable number or fewer iterations, while providing absolute speedups of up to 16× using 32 threads

    MinT-Net: Novel and Scalable Network-enabled Comparative Tools for Stress Studies of Microbiomes in Transition

    Get PDF
    Community detection is the process of analyzing graphs to distinguish different groups of nodes from one another. A community is defined as a group of nodes that are closely related among each other but loosely related to the other nodes in the network. These communities exist within the species, gene, and protein networks of a microbiome. Many different algorithms have been developed to detect these communities. The project as a whole is intended to track communities in dynamic networks using known community detection algorithms. An initial effort created implementations of different algorithms for community detection to test for community quality with respect to computational time, focusing on the Girvan-Newman algorithm and the Louvain algorithm. Trials were run on assortative planted partition models to test the accuracy of the algorithms with respect to their computational time. After the trials, the Louvain algorithm was identified to not only be more computationally-time efficient, but more accurate when detecting communities in models with less assortativity. The accuracy and efficiency of the Louvain algorithm is promising for its future use in dynamic community detection in networks that model microbiomes in transition. Preliminary detection efforts on dynamic networks with community structure were performed on models using the framework of the Chinese Restaurant stochastic process. These efforts attempted to track community structure over time, utilizing the Jaccard index and Pointwise Mutual Information, or PMI. Leveraging these preliminary results, we plan on developing a set of formal rules to track communities in dynamic graphs

    Robust Differentiable Predictive Control with Safety Guarantees: A Predictive Safety Filter Approach

    Full text link
    In this paper, we propose a novel predictive safety filter that is robust to bounded perturbations and is combined with a learning-based control called differentiable predictive control (DPC). The proposed method provides rigorous guarantees of safety in the presence of bounded perturbations and implements DPC so long as the DPC control satisfies the system constraints. The approach also incorporates two forms of event-triggering to reduce online computation. The approach is comprised of a robust predictive safety filter that extends upon existing work to reject disturbances for discrete-time, time-varying nonlinear systems with time-varying constraints. The safety filter is based on novel concepts of robust, discrete-time barrier functions and can be used to filter any control law. Here we use the safety filter in conjunction with DPC as a promising policy optimization method. The approach is demonstrated on a single-integrator, two-tank system, and building example.Comment: Submitted to Automatic
    • …
    corecore