An efficient algorithm for computing network reliability in small treewidth

https://doi.org/10.1016/j.ress.2019.106665Get rights and content

Highlights

  • We provide an efficient parameterized algorithm that is able to compute network reliability on graphs with small treewidth in linear time.

  • Small-treewidth graphs are the most general family of graphs for which efficient algorithms for computing network reliability are known (to date).

  • Our algorithm is extremely scalable and can handle graphs with 100,000 vertices in less than 5 min. In contrast, previous methods could only handle graphs with up to 10 vertices.

  • We show that our algorithm is able to compute the reliability of subway networks in several major cities. To the best of our knowledge, this is the first algorithm for network reliability that can handle real-world instances of the problem.

Abstract

We consider the classic problem of Network Reliability. A network is given together with a source vertex, one or more target vertices, and probabilities assigned to each of the edges. Each edge of the network is operable with its associated probability and the problem is to determine the probability of having at least one source-to-target path that is entirely composed of operable edges. This problem is known to be NP-hard.

We provide a novel scalable algorithm to solve the Network Reliability problem when the treewidth of the underlying network is small. We also show our algorithm’s applicability for real-world transit networks that have small treewidth, including the metro networks of major cities, such as London and Tokyo. Our algorithm leverages tree decompositions to shrink the original graph into much smaller graphs, for which reliability can be efficiently and exactly computed using a brute force method. To the best of our knowledge, this is the first exact algorithm for Network Reliability that can scale to handle real-world instances of the problem.

Introduction

Network reliability. Consider a network modeled as a graph G=(V,E), where each edge e ∈ E has a known probability of failure. For example, the graph might be a model of communication links in a mobile network or railway lines between subway stations. Given a source vertex s and a set T of target vertices, the goal of the Network Reliability problem is to assess the reliability of connections between s and T. Concretely, the Network Reliability problem asks for the probability of existence of at least one source-to-target path that does not pass through failed edges. In the examples mentioned above, this is equivalent to asking for the probability of being able to send a message from s to T through the mobile network or the probability of being able to travel from s to T in the subway network.

Importance. Network reliability is an important and well-studied problem with surveys appearing as early as 1983 [1]. Aside from the applications in transit networks, which are used for experiments in this paper, the problem has many other surprising applications, including analysis and elimination of redundancy in electronic systems and electrical power networks [2].

As a simple example, consider the graph in Fig. 1, which shows ARPANET, a computer network that is widely considered to be one of the precursors to modern internet. Each node models a participating organization and each edge models a connection. However, the connections are not perfect and each connection e is operable only with probability Pr(e) and is down with probability 1Pr(e).

Now consider a scenario in which UCSB routinely needs to send important data to CMU. Each time the need for transmission arises, UCSB checks to see if it can send the data through a path in the network that (i) consists only of operable edges, and (ii) starts at UCSB and ends at CMU. If such a path exists, then UCSB transmits the data through ARPANET. If not, it has to use other methods, which are likely more costly and inefficient. Hence, naturally, it is important to compute the probability of existence of such a path (which is the Network Reliability), and therefore, the expected cost for UCSB.

Moreover, an algorithm for evaluating the reliability of this network can also help in improving it. For example, Stanford and UCLA are at a relatively small geographic distance. So, it might be possible to create a new connection between them. However, this only makes sense if the cost of building the new connection is offset by gains in reliability, and reductions in total cost of data transmissions for member institutions. Therefore, one needs to be able to evaluate the reliability of this network both before and after the addition of the new connection to decide whether it is worth the investment. Today, even though our networks, especially the internet, are much larger than ARPANET, we still need to answer the same questions about their reliability. Hence, we need more scalable algorithms that can evaluate the reliability of larger graphs.

Complexity. Despite the importance of this problem and our need for finding scalable solutions, evaluating Network Reliability has been shown to be NP-hard for general graphs [3], [4]. This means that it is very unlikely that an efficient polynomial-time algorithm exists. Specifically, any efficient algorithm for Network Reliability would immediately also solve the notorious P vs NP problem [5], which is one of the most well-known and longstanding open problems in theoretical computer science [6], and also one of the Millenium Prize problems [5]. Hence, there is very little hope in finding a universal efficient algorithm for this problem.

In absence of efficient algorithms, researchers have turned to solving the problem in special cases [1], [3], such as series-parallel graphs [7] and graphs with limited number of cuts [8]. Genetic [9], randomized [10], approximate [11] and Monte Carlo [12] algorithms are studied extensively as well. There are also several algebraic studies of the problem with the goal of obtaining bounds in series-parallel and other special families of graphs [13], [14], [15], [16], [17]. Several variants of the problem are defined [18], [19], [20], and approaches to modify the network for its optimization are also investigated [21].

Our focus. In this work, we explore the following important question: Which structural properties of the underlying network can be exploited to obtain efficient algorithms for Network Reliability? In other words, for which networks can we compute the reliability efficiently?

Our contribution. We provide a new algorithm for Network Reliability that works in linear time for graphs that have small treewidth, i.e. graphs that resemble trees (see the next section for a more formal definition). On the theoretical side, graphs with small treewidth are the most general family of networks for which Network Reliability is shown to be solvable in polynomial time. This family contains trees, series-parallel graphs and outerplanar graphs [22]. On the practical side, while previous algorithms such as [15], [17] could only handle toy examples with 10 vertices or less, our algorithm can easily and efficiently solve the problem over graphs with 100,000 vertices and more, which is an improvement of four orders of magnitude. Moreover, our approach is the first algorithm to solve any real-world instances of the Network Reliability problem. Specifically, in Section 4, we show that our algorithm can handle the transit networks of several major cities.

Parameterized algorithms. An efficient parameterized algorithm solves a problem in polynomial time with respect to the size of input, but possibly with non-polynomial dependence on a specific aspect of the input’s structure, which is called a “parameter” [23]. A problem that can be solved by an efficient parameterized algorithm is called fixed-parameter tractable (FPT). For example, there is a polynomial-time algorithm for computing minimal cuts in graphs whose runtime is exponentially dependent on the size of the resulting cut [24]. Exploiting the additional benefit of having a parameter, parameterized complexity provides finer detail than classical complexity theory [25].

Treewidth. A well-studied parameter for graphs is the treewidth, which is a measure of tree-likeness of graphs [26]. Many hard problems are shown to have efficient solutions when restricted to graphs with small treewidth [27], [28], [29], [30], [31], [32], [33]. Notably, [34] introduces a general framework that shows several variants of the network reliability problem can be solved in polynomial time when parameterized by the treewidth. Many real-world graphs happen to have small treewidth [22], [35], [36], [37]. In this work, we show that subway and transit networks often have this property.

More formally, our contribution is providing a new fixed-parameter algorithm for finding the exact value of Network Reliability, using treewidth as the parameter. Our algorithm, while being linear-time, is much shorter and simpler than the general framework utilized in [34]. We also provide an implementation of our algorithm and experimental results over the graphs of subway networks of several major cities. To the best of our knowledge, this is the first algorithm for finding the exact value of Network Reliability that can scale to handle real-world instances, i.e. subway and transit networks of major cities.

Structure of the paper. The present paper is organized as follows: First, Section 2 provides formal definitions of the Network Reliability problem and Treewidth. Then, Section 3, which is the main part of the paper, presents our simple linear algorithm for solving Network Reliability in graphs with constant treewidth. Section 4 contains a report of our implementation, which is publicly available, and establishes the applicability of our approach by providing experimental results on real-world subway networks.

Section snippets

Preliminaries

In this section, we formalize our notation, and define the problem of Network Reliability and the notion of treewidth.

Multigraphs. A multigraph is a pair G=(V,E) where V is a finite set of vertices and E is a finite multiset of edges, i.e. each e ∈ E is of the form {u, v} for u, v ∈ V. The vertices u and v are called the endpoints of e. Note that E might contain distinct edges that have the same endpoints. In the sequel, we only consider multigraphs and simply call them graphs for brevity.

Algorithm for network reliability

In this section, we provide an algorithm for solving instances of the Network Reliability problem on graphs based on their tree decompositions.

Specification. The input to the algorithm is a Network Reliability instance I=(G,s,T,Pr) together with a k-decomposition T=(B,ET) of the graph G. The output is the reliability Rel(I), i.e. the probability of existence of an operable path from s to T. Given that the tree decomposition can be rooted at any bag, without loss of generality, we assume that

Implementation and experimental results

We implemented our approach in Java. Our code is publicly available at https://ist.ac.at/~akafshda/reliability. We experimented with two distinct sets of instances. The first set contains randomly-generated graphs and serves to demonstrate the scalability of our algorithm. The second set consists of graphs modeling the subway transit networks of several major cities, such as London and Tokyo. The purpose of this benchmark set is to demonstrate that our algorithm can handle real-world instances

Conclusion

In this paper, on the theoretical side, we presented a linear-time algorithm for computing Network Reliability on graphs with small treewidth. Our algorithm uses the concept of kernelization, i.e. it repeatedly transforms an instance into a smaller one with the same reliability. On the experimental side, we showed that subway networks of several major cities have small treewidth and hence our algorithm can be applied to them. We also demonstrated that our algorithm is extremely efficient and

Acknowledgments

We are grateful to the anonymous reviewers for their comments, which significantly improved the present work. The research was partially supported by the EPSRC Early Career Fellowship EP/R023379/1, grant no. SC7-1718-01 of the London Mathematical Society, an IBM PhD Fellowship, and a DOC Fellowship of the Austrian Academy of Sciences (ÖAW).

References (41)

  • M.O. Ball

    Computational complexity of network reliability analysis: an overview

    IEEE Trans Reliab

    (1986)
  • P. Bürgisser

    Completeness and reduction in algebraic complexity theory

    (2013)
  • S. Cook

    The P versus NP problem

    Official Description of Millenium Prize Problems, Clay Mathematical Institute

    (2000)
  • D.P. Bovet et al.

    Introduction to the theory of complexity

    (1994)
  • A. Satyanarayana et al.

    A linear-time algorithm for computing k-terminal reliability in series-parallel networks

    SIAM J Comput

    (1985)
  • J.S. Provan et al.

    Computing network reliability in time polynomial in the number of cuts

    Oper Res

    (1984)
  • D.W. Coit et al.

    Reliability optimization of series-parallel systems using a genetic algorithm

    IEEE Trans Reliab

    (1996)
  • D.R. Karger

    A randomized fully polynomial time approximation scheme for the all-terminal network reliability problem

    SIAM Rev

    (2001)
  • C. Srivaree-ratana et al.

    Estimation of all-terminal network reliability using an artificial neural network

    Computers & Oper Res

    (2002)
  • J.I. Brown et al.

    Cohen–macaulay rings in network reliability

    SIAM J Discrete Math

    (1996)
  • Cited by (15)

    • An improved algorithm for reliability evaluation of flow networks

      2022, Reliability Engineering and System Safety
      Citation Excerpt :

      Network reliability is one of the most prominent tools which has been studied widely to design, plan, assess and manage the flow networks to better the quality of our lives [1–3].

    • A C++ class for multi-state algebraic reliability computations

      2021, Reliability Engineering and System Safety
      Citation Excerpt :

      All the computations in this section have been implemented by the authors and executed in an HP Z-book laptop.2 One of the main problems in reliability engineering is Network Reliability, see for instance [21,44] for a comprehensive account and [45] for a recent algorithm. In this problem we consider a network in which one vertex is selected as source vertex and one or more vertices are selected as target vertices.

    • Discrete time dynamic reliability modeling for systems with multistate components

      2021, Reliability Engineering and System Safety
      Citation Excerpt :

      The MATLAB source codes for all algorithms and the data for all experiments are submitted in a separate file. Incorporating these utilities into the existing static network reliability analysis methods [22–24] can make them applicable for dynamic network reliability analyses by replacing the constant failure probabilities with DPH representations of component lifetime distributions as inputs. The approach is similar to making an SDP algorithm applicable to dynamic network reliability analysis.

    • The Bounded Pathwidth of Control-Flow Graphs

      2023, Proceedings of the ACM on Programming Languages
    View all citing articles on Scopus
    View full text