Estimation of all-terminal network reliability using press forward GA with stochastic selection method

Network reliability is an important measure of how well the network meets its design aim and mathematically is the probability that a network will perform communication efficiently for at least a given period of time. The reliability analysis is used for determining the probability of correct functioning of a system in terrain conditions. Estimating the all-terminal network reliability is an NP-hard problem, the press forward Genetic Algorithm is also an alternative to solve the problem of all-terminal network reliability. This paper presents a reliability evaluation method by using a feed-forward genetic algorithm with a random selection of nodes and links i.e., estimate the network reliability such that the flow is not less than a given threshold. To verify the efficiency of an algorithm, various sets of runs are applied to identify the most reliable network and the algorithm is tested on the network size of 2,4,6,8, --------256 nodes with link N(N-1)/2. The results of the algorithm are obtained for all-terminal reliability problem based on close analysis of the complexity of the network. Our assumption for reliability evaluation of node 1 to node N, with link reliability of 50%. Another result of the proposed GA approach is the significant reduction in computational time.


Introduction
The computer network can be called a stochastic network, containing nodes and links. The design of a reliable computer network is a significant problem due to complete failure, limited failure, and alimentation requirements. Network performance is evaluated by routing of data packets along the network path from source to destination. Network links are functional with their associated probability and successful exchange of information is to determine the probability of having at least one functional link between source and destination. Generally, designers may be interested in the flow of the network from one node to another. A transportation network (computer network) can be modelled as N nodes, L links, assumes that each link and node have an associated probability of failure and success and the reliability is calculated as the probability that a computer network is operational for transmitting and receiving data [7][8]. The network design must be in such a way that components are placed at their best-fit position so that it minimizes the cost while reaching a criterion that indicates performance. The performance criteria may be transmission delay, throughput, secure communication, and reliability. Therefore, network reliability is described as the probability that k units of a network can successfully transmit data from Sn to Tn. Consider a computer network as Graph G (V, E) that comprises a set of nodes and links represented by V and E. This paper is focused on all-terminal network reliability can be described as probability that node pair (vi, vj ϵV) communicate with each other. Each link must have a probability of failure (Pf). Destination or Target may be one or more than one, the main emphasis of the article is to evaluate reliability between source and destination. Network Reliability occurs only when there exists at least one path between source and destination nodes without any failure link or with a link probability ≥ threshold value (Lp ≥ Th ). The

Pf (i) =
Research Article main design approach focuses on different strategies such as maximizing network reliability, commodity allocation, network topology selection and flow assignment resource allotment [ 1,2,4,5,6]. The optimal design problem can be devised as a combinatorial problem where the selection of devices plays an important role in maximizing reliability or minimizing cost. The reliability definition is depending on which nodes are operational and contribute in reliability evaluation [1,2,3,4]. For instance, a node may fail during a terrain condition and affect the performance, reliability of the network. The overall reliability measurement of the growing size computer network is NP-hard problem, so it requires more computation effort for reliability calculation with growing network size. Nicholson and Du (1994) suggest some methods to improve reliability are as follows: 1.
Replace weak bridges (provide an alternate path with respect to articulation vertex).

3.
Use emergency air-ferry services in case of failure (Protection path).
Factor influencing the system reliability are shown in Fig 1 and 2 based on the properties of network components which are further divided into various part based on measurement.
Reliability measures considering both connectivity and capacity called capacity related reliability (CRR), requires some techniques for reliability calculation. This technique may include path set or cut set evaluation with building a branching tree with disjoint tree nodes [1][2][3][4][5][11][12][13][14][15][16][17]. The problem has been studied in this paper includes branch-and-bound and heuristic methods. This paper focuses on the press forward genetic algorithm approach for reliability evaluation of all-terminal networks using a random selection method [1]. The approach used in this paper includes a network of the size of 256 nodes. The article is organized as follows, Section 2 introduces the problem statement, Section 3 introduces various reliability evaluation methods, Section 4 proposes solution algorithm that contains initial population, genetic algorithm parameters, fitness function and proposed pseudocode, Section 5 includes results and conclusion and future aspect are introduced in section 6. Importance: Reliability estimation is an important factor for the designing of computer network and this problem is well studied and presented by various researchers [26]. We considered a computer network of our college which is similar to a transit network consists of more than 1500 nodes and situated in 7 different blocks. This network is used for the experimental purpose in this paper. A similar result will be used for a big network of a city like ARPANET. In our paper we had use functional probability Pr( ) and failure probability is = 1 − Pr( ). Suppose that node 1 wants to send some data to node 8 or node 11, node 1 checks to see if it can send the data through a path in the network that Consists only of functional edges and functional nodes without any articulation vertex (ii) Starts at node1 and ends at 8 or 11.
If such a path exists, then mode1 transmits the data through network. If node 1 is unable to send the data, it has to check all the available alternate paths. The selection of another path increases the cost, time of transmission and reduces the reliability of the network. Sudden selection of alternate path is more likely to be more expensive. Therefore, from one to another node transmission, the system must record the second shortest path between any specified pair of nodes and set it as an alternate path or protection path as shown in Fig 4 [  Our algorithm emphasis the reliability evaluation before selecting path 1(preferable path) and after selecting an alternate path whether it is worth the investment. This process continues even after the addition or deletion of any node, encourages us to design more efficient algorithms that can evaluate the reliability of variable size network with press forward technique.
Stochastic selection method having an important feature that they can carry out broad search of the design space and thus avoid local optima. This helps for finding the best reliable solution.
Notation Used: The following notations are used to evaluate the network reliability 1. Network is denoted by a graph G having a set of nodes and links represented by V and E. Nodes and links are of variable size, path is represented by and by an ordered pair ( , ) where ( , ϵ V) and path length must be ≥ 1(indicates at least there must be 1 link(edge) is available between any specified pair of vertices) .  Computer network reliability can be classified as follows: Terminal reliability: It is the probability of a transferring message successfully between the to (Source node to destination node) and it includes two-terminal reliability, k-terminal reliability, and allterminal reliability.
Percolation reliability: It is the reliability of estimating that failure of how many nodes leads to the failure of the system. (iii) Efficiency reliability: It is the probability of checking how many nodes and links are fully functional, how long they can, and how much the system is fault-tolerant.
Assumption Used: To do analysis simply and to concentrate on the key performance indicators, some assumptions are used which are as follows.
(i) The nodes (source node and destination node) are constant and known (ii) The nodes are considered connected and unique capacity is present in each node. (iii) The data transmission is the same along with the neighbours of each node. (iv) The capacity of every link is binary, which means the link either exists or does not exist.

Problem Definition
Network designing is a big and challenging area and the main problem of network design is to achieve maximum reliability. Let N be a set Nodes and L = {Li | i = 1, 2, ..., n} represent a set of n links, where Li is the i th arc. Network of computer is hence denoted by (N, L) and includes a set of k-MPs, {P1, P2, ..., Pk}, where a path is a set of links connecting to and an MP is a path whose proper subsets are no longer ones. Only a few algorithms are available to compute all-terminal reliability in polynomial time but all these algorithms having some difficulty. To identify the best design of a reliable network, we need to first examine the network design for the simplest undirected and unweighted graph with no redundant links between two nodes. The Optimization problem of the network is defined by equation 1 Where N = number of components or sites(computers)/nodes, link represent communication links, is cost between i and j, is the decision variable either 0 or 1( ∈ 0,1), O is the objective function and is the link topology variable.
Assume that ( ) ≥ 0 Each node and each link have an associative probability of success and failure. Usually, n-type approaches are used by various authors to achieve maximum reliability goals like Monte Carlo Simulation, Particle Swarm optimization, Upper and Lower bounds of reliability, and simulation-based reliability estimation [15][16][17][18]. The reliability measurement is an important factor for optimal network design. The main objective is to design a network by selecting the best functioning paths and links for communication so that maximum reliability can be achieved with reduced cost. In the general case,reliability ∝ cost.

Minimum: C(X)
Cost Function in term of the reliability of each node or component is calculated as: This Function represents the current reliability of the component, ( ) with maximum possible component reliability ( ) . This used for calculating reliability at a different level but having some limitations like • Network design issues.
• State of technology. For the exact cost estimation following condition must be followed: • The reliability must be lie between ( ) ≤ ( ) ≤ 1 or at least ( ) ≥ 0 .
• The Linear line is not acceptable, but it guarantees the fact it is incrementally harder to improve reliability.
• Only asymptotic functions are acceptable for maximum achievable reliability.
• Cost Function/penalty functions are used for increasing the reliability of the components. The cost function is calculated as ∶ cost function : Feasibility index which improves component's reliability , : current reliability.
In this paper, the data set is divided into small multiple sets, the algorithm is applied on one set (randomly selected) but results are cross verified randomly on all sets.

Calculating average reliability of all-terminal graph
The all-terminal reliability of a connected graph, G on n nodes and l links (i.e., a graph of order n and size m) can be expressed.
Where denotes the no of subsets of links whose removal from the G leaves the graph connected. The Average reliability of graph is calculated by using Bernstein formula [8][9][10] [11]: The reliability of connected graph is shown in table 2. The main responsibility of a reliability engineers is to achieve minimum required reliability either by improving the reliability of component or components of such system. Generally, two types of approaches we are using for improving the reliability of such system: 1. Fault Avoidance: This is achieved by using standard quality components with high reliability. 2. Fault tolerance: This is achieved by using redundancy technique. Redundancy forced to increased design complexity and costs of such system. It is advisable to measure the reliability of each system before improving the reliability of any component or components of such system because it reduces the overhead If we are able to quantified the value of each node, then analysis is easy but it become clear that the reliability of system will not be satisfactory to meet the threshold value sometime. If three components are connected in a series with a reliability value 70%,80%,90% and expected reliability of system ( ) = 87% the current reliability of system is calculated as The overall reliability is failed due to our assumption ( ) ≤ ( ) ≤ 1, this is far lesser than system expected reliability. It is clear that, to increase the . It means that individual components cannot force to increase system reliability. Is this possible to increase randomly reliability of any two components will put an impact on ( ) mathematically this is not fruitful because this is a question of ambiguity to increase the reliability of which two components ( ( ).
The above approach is applicable if we have a limited no of nodes but for a varying size network, the problem is NP-hard. The present approach is based on a Genetic algorithm because we know that due to the flexibility and robustness of GA, we can approach so many NP-hard problems. Our approach is focused on network designing with an assumption that the network consists of N nodes or say components and with L links or arcs. Links are placed in between any two components of network; other assumption is that in between any two pairs of nodes either link is present or absent (means one or zero link connecting them). Our second assumption is that every link has same probability because as we see in previous Fig which shows that if a link has different probability or reliability, it is a question of ambiguity. Reliability measurement is represented by ( )is the probability (p)that the link is working and = 1 − is used when link is broken. Here is called robustness parameter, exists in two states and states. Where means successful communication and state mean failed or broken communication. Successful communication means there is at least one path between any two pairs of nodes and that exist a reliability value ( ) which is thus a probability value (p) which indicates successful working of a system. So, we can say that network reliability means that the network is connected and a node is able to communicate with any other node in the network. The all-terminal reliability ( ) is the probability that communication network remains coupled assuming that nodes are perfect and by knowing probability edges can fail independently [2,17,19,23,24,25] or we can say that "All Terminal" reliability as it known as the network consists of one single connected component. Now our main aim is evaluated network reliability ( ) for a given network topology. We use simple undirected and unweighted network graph with following assumption: ] = 0 indicate absence of link between any two pair of vertices. As discussed in our previous paper [26] network reliability can be evaluated by adjacency matrix due to integration of a variable . Output the most reliable network of the last generation

Stop Algorithm
Matrix A of the network is useful for the reliability evaluation and it cannot be useful with the implementation process of the genetic algorithm because it requires a string. In GA chromosome is a string of n length. This can be only done by making a linking or conversion of the adjacency matrix into a string. Consider an upper left triangle of Matrix the string representations are as follows:  1. Selected string from existing string to be the generator of the next generation. The filtering process is used for the selection of a string from the generation. This is the selection process for reproduction. 2. Crossover is a process of generating a new string from two filtered string or from selected string. 3. Exploration of search space is called Mutation process.

Crossover and mutation are used for reproduction
The steps in the GA approach are given in a flowchart of the algorithm.
Maximum string size of graph given in Fig 4 that represents proposed network design and the size of the string is equal to * ( −1) 2 if graph is fully connected and complete graph. Matrix cell value represents the following: 0: no edge or link between nodes and . 1: direct link between nodes and .
The string representation of Fig 4(b) is represented by 1001111101 which is represented by 1,4,5,6,7,8,10 means that the maximum number of digits to represent graph is 10 but in this case, it is represented by 7. A 2-connected graph is a graph if for each vertex x ∈ V (G), G − x is connected.

Implementation of Algorithm
In Genetic algorithm creation process is used for the creation of a new network and is used for the initial population generation and for the evolution of low reliability modules of network whereas mutation process is used for replacing one entry from the existing string or it is used for the replacement of any one link from the graph and place it to the other position of graph. The result of replacement does not affect the degree of the graph The newly obtained network is just similar to previous one and the reliability of the network is remained same as the previous one. Ordered pair for the network are as follows: The reliability estimation of above network is calculated as follows: ( ) = −( * * * * * * ℎ ) + ( * * * * * * * ℎ ) + ( * * * ℎ ) + ( * * * ℎ ) − ( * * * * * * ℎ ) + ( * * * ℎ ) − ( * * * * ℎ )

Let us assume that
A new network is created by Creation. It helps to generate the population at initial level and remove the networks having low reliability in the succeeding evolution. A single entry can be change of the chromosome by mutation. In terms of network, it can change position of links corresponding to rewiring of the network. The new network obtained after changing position (mutation) of links has equivalent reliability as of the previous network.
The second stage crossover process generates the same string even after crossover will perform on some other disjoint points.
Penalty Function: It is defined as quadratic penalty value, used with objective function i.e., sum of the total cost for all links in a computer communication network. The penalty function assists the network to meet minimum reliability requirements. Its main objective is to help in finding a minimal optimal solution or feasible solutions. The penalty function is act as a dotted line between the feasible and non-feasible solution of network reliability.
Fitness Function is a kind of Evaluation function that evaluates a given solution concerning the optimum solution of the desired problem. It determines how to fit a solution is.

RESULTS AND DISCUSSION
The effective results of the above algorithm can be obtained for the two-terminal and all-terminal reliability problem based on close analysis of the complexity of the network tree-width. Our assumption for reliability evaluation of node 1 to node N, with link reliability of 50%. The network within the RED line in the link is already taken into consideration. To illustrate the proposed algorithm for computing the system reliability, consider the example shown in Fig. III This network has 4 nodes and 6 arcs. The arcs are numbered from a1 to a6 and the nodes from a7 to a10. The same capacity distribution of each component given in [5] will be used to calculate R5 (i.e., the demand d = 5). a) To solve the optimization problem of reliability, GA provides a framework that does not depend on any variable. GA is an iterative algorithm, this ideal cannot be attained as many candidate networks must be evaluated during the search. The result can be obtained in the following steps Use a decision variable and set the various constraints. b) Construct an optimization function. c) Generate a Chromosome table. Gene expression. Paper is focus on binary coding method, to determine the expression of N gene with computer network node, as shown in table 3. d) Fitness function is arranged according to the numerical size and cost is calculated as: 1 ≤ ≤ − . e) Record the rrepresentation of the chromosome coding technique, that is to determine the genotype of X individuals and genetic algorithm search space. f) Determine the decoding method and identified by the individual genotype correspondence or convert X to individual phenotype x method.

CONCLUSION
In conclusion, we have presented a special method to find the most reliable network. For achieving this we proposed a Genetic algorithm-based approach to identify useful patterns and found that the efficiency of the GA is much better than the other algorithm proposed for network reliability analysis. The statistics were obtained from the prototype with the Python language. Our algorithm results provide an efficient way to find a reliable network path from a set of N nodes and L links. The main limitation is that our algorithm is an approximated due to the error in the reliability estimation. The algorithm is testing on the network size of 2,4,6,8, --------256 nodes with link N(N-1)/2.