38 research outputs found
Connecting Seed Lists of Mammalian Proteins Using Steiner Trees
Multivariate experiments and genomics studies applied to mammalian cells often produce lists of genes or proteins altered under treatment/disease vs. control/normal conditions. Such lists can be identified in known protein-protein interaction networks to produce subnetworks that “connect” the genes or proteins from the lists. Such subnetworks are valuable for biologists since they can suggest regulatory mechanisms that are altered under different conditions. Often such subnetworks are overloaded with links and nodes resulting in connectivity diagrams that are illegible due to edge overlap. In this study, we attempt to address this problem by implementing an approximation to the Steiner Tree problem to connect seed lists of mammalian proteins/genes using literature-based protein-protein interaction networks. To avoid over-representation of hubs in the resultant Steiner Trees we assign a cost to Steiner Vertices based on their connectivity degree. We applied the algorithm to lists of genes commonly mutated in colorectal cancer to demonstrate the usefulness of this approach
Approximation Algorithms for Steiner Tree Problems Based on Universal Solution Frameworks
This paper summarizes the work on implementing few solutions for the Steiner
Tree problem which we undertook in the PAAL project. The main focus of the
project is the development of generic implementations of approximation
algorithms together with universal solution frameworks. In particular, we have
implemented Zelikovsky 11/6-approximation using local search framework, and
1.39-approximation by Byrka et al. using iterative rounding framework. These
two algorithms are experimentally compared with greedy 2-approximation, with
exact but exponential time Dreyfus-Wagner algorithm, as well as with results
given by a state-of-the-art local search techniques by Uchoa and Werneck. The
results of this paper are twofold. On one hand, we demonstrate that high level
algorithmic concepts can be designed and efficiently used in C++. On the other
hand, we show that the above algorithms with good theoretical guarantees, give
decent results in practice, but are inferior to state-of-the-art heuristical
approaches
Parameterized Single-Exponential Time Polynomial Space Algorithm for Steiner Tree
"In the Steiner tree problem, we are given as input a connected n-vertex graph with edge weights in {1,2,...,W}, and a subset of k terminal vertices. Our task is to compute a minimum-weight tree that contains all the terminals. We give an algorithm for this problem with running time O(7.97^k n^4 log W) using O(n^3 log nW log k) space. This is the first single-exponential time, polynomial-space FPT algorithm for the weighted Steiner tree problem."
PLEASE NOTE:This is an author-created version that the author has self-archived to the "Aaltodoc" (aaltodoc.aalto.fi) faculty-level repository at Aalto University. The final publication is available at link.springer.com via the link http://dx.doi.org/10.1007/978-3-662-47672-7_40Peer reviewe
Navigational Guidance – A Deep Learning Approach
The useful navigation guidance is favorable to considerably reducing navigation time. The navigation problems involved with multiple destinations are formulated as the Directed Steiner Tree (DST) problems over directed graphs. In this paper, we propose a deep learning (to be exact, graph neural networks) based approach to tackle the DST problem in a supervised manner. Experiments are conducted to evaluate the proposed approach, and the results suggest that our approach can effectively solve the DST problems. In particular, the accuracy of the network model can reach 95.04% or even higher
Scalable Parameterised Algorithms for two Steiner Problems
In the Steiner Problem, we are given as input (i) a connected graph with nonnegative integer weights associated with the edges; and (ii) a subset of vertices called terminals. The task is to find a minimum-weight subgraph connecting all the terminals. In the Group Steiner Problem, we are given as input (i) a connected graph with nonnegative integer weights associated with the edges; and (ii) a collection of subsets of vertices called groups. The task is to find a minimum-weight subgraph that contains at least one vertex from each group. Even though the Steiner Problem and the Group Steiner Problem are NP-complete, they are known to admit parameterised algorithms that run in linear time in the size of the input graph and the exponential part can be restricted to the number of terminals and the number of groups, respectively.
In this thesis, we discuss two parameterised algorithms for solving the Steiner Problem, and by reduction, the Group Steiner Problem: (a) a dynamic programming algorithm presented by Dreyfus and Wagner in 1971; and (b) an improvement of the Dreyfus-Wagner algorithm presented by Erickson, Monma and Veinott in 1987 that runs in linear time in the size of the input graph. We develop a parallel implementation of the Erickson-Monma-Veinott algorithm, and carry out extensive experiments to study the scalability of our implementation with respect to its runtime, memory bandwidth, and memory usage. Our experimental results demonstrate that the implementation can scale up to a billion edges on a single modern compute node provided that the number of terminals is small. For example, using our parallel implementation a Steiner tree for a graph with hundred million edges and ten terminals can be found in approximately twenty minutes. For an input graph with one hundred million edges and ten terminals, our parallel implementation is at least fifteen times faster than its serial counterpart on a Haswell compute node with two processors and twelve cores in each processor. Our implementation of the Erickson-Monma-Veinott algorithm is available as open source