Results 1  10
of
29
Distributed algorithms for Unidirectional networks
 SIAM J. Comput
, 1993
"... We address the question of distributively computing over a strongly connected unidirectional data communication network. In unidirectional networks the existence of a communication link from one node to another does not imply the existence of a link in the opposite direction. The strong connectiv ..."
Abstract

Cited by 31 (3 self)
 Add to MetaCart
We address the question of distributively computing over a strongly connected unidirectional data communication network. In unidirectional networks the existence of a communication link from one node to another does not imply the existence of a link in the opposite direction. The strong connectivity means that from every node there is a directed path to any other node. We assume an arbitrary topology network in which the strong connectivity is the only restriction. Four models are considered: Synchronous and asynchronous, and for each we consider node space availability which grows as either O(1) bits or O(log n) bits per incident link, where n is the total number of nodes in the network. First we provide algorithms for two basic problems in distributed computing in data communication networks, traversal, and election. Each of these basic protocols produces two directed spanning trees rooted at a distinguished node in the network, one called intree, leading to the root, an...
Structuring DepthFirst Search Algorithms in Haskell
, 1995
"... Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct alg ..."
Abstract

Cited by 26 (0 self)
 Add to MetaCart
Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct algorithms from individual reusable components. This style of algorithm construction turns out to be quite amenable to formal proof, which we exemplify through a calculationalstyle proof of a far from obvious stronglyconnected components algorithm. Classifications: Computing Paradigms (functional programming) ; Environments, Implementations, and Experience (programming, graph algorithms). 1 Introduction The importance of depthfirst search (DFS) for graph algorithms was established twenty years ago by Tarjan (1972) and Hopcroft and Tarjan (1973) in their seminal work. They demonstrated how depthfirst search could be used to construct a variety of efficient graph algorithms. In practice, this...
The Subgraph Homeomorphism Problem
, 1978
"... We investigate the problem of finding a homeomorphlc image of a "pattern " graph H in a larger input graph (3. We view this problem as finding specified sets of edge disjoint or node disjoint paths in (3. Our main result is a linear time algorithm to determine if there exists a simple cycle containi ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
We investigate the problem of finding a homeomorphlc image of a "pattern " graph H in a larger input graph (3. We view this problem as finding specified sets of edge disjoint or node disjoint paths in (3. Our main result is a linear time algorithm to determine if there exists a simple cycle containing three given nodes in (3; here H is a triangle, i'4o polynomial time algorithm for this problem was previously known. We also discuss a variety of reductions between related versions of this problem and a number of open problems. I.
Lazy DepthFirst Search and Linear Graph Algorithms in Haskell
 Glasgow Workshop on Functional Programming
, 1994
"... Depthfirst search is the key to a wide variety of graph algorithms. In this paper we explore the implementation of depth first search in a lazy functional language. For the first time in such languages we obtain a lineartime implementation. But we go further. Unlike traditional imperative presenta ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Depthfirst search is the key to a wide variety of graph algorithms. In this paper we explore the implementation of depth first search in a lazy functional language. For the first time in such languages we obtain a lineartime implementation. But we go further. Unlike traditional imperative presentations, algorithms are constructed from individual components, which may be reused to create new algorithms. Furthermore, the style of program is quite amenable to formal proof, which we exemplify through a calculationalstyle proof of a stronglyconnected components algorithm. 1 Introduction Graph algorithms have long been a challenge to programmers of lazy functional languages. It has not been at all clear how to express such algorithms without using side effects to achieve efficiency. For example, many texts provide implementations of search algorithms which are quadratic in the size of the graph (see Paulson (1991), Holyer (1991), or Harrison (1993)), compared with the standard linear im...
Functional Graph Algorithms with DepthFirst Search (Preliminary Summary)
 in Glasgow Functional Programming Workshop
, 1993
"... Performing a depthfirst search of a graph is one of the fundamental approaches for solving a variety of graph algorithms. Implementing depthfirst search efficiently in a pure functional language has only become possible with the advent of imperative functional programming. In this paper we mix the ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Performing a depthfirst search of a graph is one of the fundamental approaches for solving a variety of graph algorithms. Implementing depthfirst search efficiently in a pure functional language has only become possible with the advent of imperative functional programming. In this paper we mix the techniques of pure functional programming in the same cauldron as depthfirst search to yield a more lucid approach to viewing a variety of graph algorithms. This claim will be illustrated with several examples. 1 Introduction Graph algorithms have long been a challenge to functional programmers. It has not been at all clear how to express such algorithms without using side effects to achieve efficiency. For example, many texts provide implementations of search algorithms which are quadratic in the size of the graph (see [7, 3, 2], for instance), compared with the standard linear implementations given for imperative languages (see [1], for instance). In this paper we implement a variety of ...
Discovering highly reliable subgraphs in uncertain graphs
 In KDD
, 2011
"... In this paper, we investigate the highly reliable subgraph problem, which arises in the context of uncertain graphs. This problem attempts to identify all induced subgraphs for which the probability of connectivity being maintained under uncertainty is higher than a given threshold. This problem ari ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
In this paper, we investigate the highly reliable subgraph problem, which arises in the context of uncertain graphs. This problem attempts to identify all induced subgraphs for which the probability of connectivity being maintained under uncertainty is higher than a given threshold. This problem arises in a wide range of network applications, such as proteincomplex discovery, network routing, and social network analysis. Since exact discovery may be computationally intractable, we introduce a novel sampling scheme which enables approximate discovery of highly reliable subgraphs with high probability. Furthermore, we transform the core mining task into a new frequent cohesive set problem in deterministic graphs. Such transformation enables the development of an efficient twostage approach which combines novel peeling techniques for maximal set discovery with depthfirst search for further enumeration. We demonstrate the effectiveness and efficiency of the proposed algorithms on real and synthetic data sets.
Diverse Routing with the star property
, 2012
"... The notion of Shared Risk Link Groups (SRLG) has been introduced to capture survivability issues where a set of links of a network fail simultaneously. In this context, the diverse routing problem is to find a set of SRLGdisjoint paths between a given pair of end nodes of the network. This proble ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The notion of Shared Risk Link Groups (SRLG) has been introduced to capture survivability issues where a set of links of a network fail simultaneously. In this context, the diverse routing problem is to find a set of SRLGdisjoint paths between a given pair of end nodes of the network. This problem has been proved NPcomplete in general [25] and some polynomial instances have been characterized [12]. In this paper, we investigate the diverse routing problem in networks satisfying the star property [29]. This property states that an edge may be subject to several SRLGs but all edges subject to a given SRLG are incident to a common node. We first provide counterexamples to the polynomial time algorithm proposed in [29] for computing pairs of SRLGdisjoint paths in networks with the star property, and then prove that this problem is in fact NPhard in the strong sense. More generally, we prove that the diverse routing problem in networks with the star property is NPhard in the strong sense, hard to approximate, and W [1]hard when the parameter is the number of SRLGdisjoint paths. Last, we devise polynomial time algorithms for practically relevant subcases, in particular when the number of SRLG is constant, the maximum degree of the vertices is strictly smaller than 5, and when the network is a directed acyclic graph.
Dividing protein interaction networks by growing orthologous articulations. IRBIO002, Available at http://www.cs.vu.nl/˜elena/diva.pdf
, 2007
"... The increasing growth of data on proteinprotein interaction (PPI) networks has boosted research on their comparative analysis. In particular, recent studies proposed models and algorithms for performing network alignment, the comparison of networks across species for discovering conserved modules. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The increasing growth of data on proteinprotein interaction (PPI) networks has boosted research on their comparative analysis. In particular, recent studies proposed models and algorithms for performing network alignment, the comparison of networks across species for discovering conserved modules. Common approaches for this task construct a merged representation of the considered networks, called alignment graph, and search the alignment graph for conserved networks of interest using greedy techniques. In this paper we propose an alternative approach for this task. First, each network to be compared is divided into small subnets which are likely to contain conserved modules. Next, network alignment is performed on pairs of resulting subnets from different species, by using an exact algorithm for searching. We develop an algorithm for dividing PPI networks that combines a graph theoretical property (articulation) with a biological one (orthology). Results of experiments show the ability of this approach to discover accurate conserved modules, and substantiate the importance of the notions of orthology and articulation for performing comparative network analysis in a modular fashion. 1