An efficient algorithm for computing network reliability in small treewidth
Introduction
Network reliability. Consider a network modeled as a graph 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 and a set of target vertices, the goal of the Network Reliability problem is to assess the reliability of connections between and . 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 to through the mobile network or the probability of being able to travel from to 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 and is down with probability .
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 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 together with a k-decomposition of the graph G. The output is the reliability i.e. the probability of existence of an operable path from to . 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)
- et al.
Reliable circuits using less reliable relays
J Franklin Inst
(1956) - et al.
Models of network reliability: analysis, combinatorics, and Monte Carlo
(2016) - et al.
A game theoretic approach to network reliability assessment
IEEE Trans Reliab
(2017) - et al.
Configurations of series-parallel networks with maximum reliability
Microelectron Reliab
(1996) A tourist guide through treewidth
Acta Cybernetica
(1994)The monadic second-order logic of graphs. i. recognizable sets of finite graphs
InfComput
(1990)- et al.
Algorithms for algebraic path properties in concurrent systems of constant treewidth components
ACM SIGPLAN Notices
(2016) - et al.
Efficient parameterized algorithms for data packing
Proc ACM Program Lang
(2019) - et al.
The treewidth of java programs
Alg Eng Exp
(2002) - et al.
A survey of network reliability and domination theory
Oper Res
(1984)
Computational complexity of network reliability analysis: an overview
IEEE Trans Reliab
Completeness and reduction in algebraic complexity theory
The P versus NP problem
Official Description of Millenium Prize Problems, Clay Mathematical Institute
Introduction to the theory of complexity
A linear-time algorithm for computing k-terminal reliability in series-parallel networks
SIAM J Comput
Computing network reliability in time polynomial in the number of cuts
Oper Res
Reliability optimization of series-parallel systems using a genetic algorithm
IEEE Trans Reliab
A randomized fully polynomial time approximation scheme for the all-terminal network reliability problem
SIAM Rev
Estimation of all-terminal network reliability using an artificial neural network
Computers & Oper Res
Cohen–macaulay rings in network reliability
SIAM J Discrete Math
Cited by (15)
An improved algorithm for reliability evaluation of flow networks
2022, Reliability Engineering and System SafetyCitation 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 SafetyCitation 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 SafetyCitation 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.
Exploiting the Sparseness of Control-Flow and Call Graphs for Efficient and On-Demand Algebraic Program Analysis
2023, Proceedings of the ACM on Programming LanguagesThe Bounded Pathwidth of Control-Flow Graphs
2023, Proceedings of the ACM on Programming Languages