Reliability calculation method, reliability calculation device, and program

JP7635846B2Active Publication Date: 2025-02-26NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023541153
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-10
Publication Date
2025-02-26
Estimated Expiration
2041-08-10

AI Technical Summary

Benefits of technology

【0009】 固定ソースと複数ターゲットに対するk-ターミナル信頼性問題を高速に解くことができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007635846000007
    Figure 0007635846000007
  • Figure 0007635846000008
    Figure 0007635846000008
  • Figure 0007635846000009
    Figure 0007635846000009
Patent Text Reader

Abstract

A reliability calculation method according to one embodiment of the present invention causes a computer to execute: an input procedure for inputting a concatenated undirected graph G = (V, E), the operation probability pi of a link ei∈E constituting the undirected graph G, and an aggregate TcV of k-1 predetermined source nodes; a search procedure for generating, on the basis of the undirected graph G, the operation probability pi and the aggregate T, a directed acyclic graph for calculating reliability RG, p(T∪{v}) that represents the probability of each target node v∈V\T being connected to the k-1 sources, respectively; and a probability calculation procedure for calculating reliability RG, p (T∪{v}) for each target node v, on the basis of the directed acyclic graph and a correspondence relation between each vertex of the directed acyclic graph and the vertex next to said vertex.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a reliability calculation method, a reliability calculation device, and a program. [Background technology]

[0002] In communication networks, power grids, etc., links sometimes fail and become unusable. If such link failures are considered to be probabilistic events, it is possible to calculate the probability that certain specified nodes are connected (in other words, the probability that a path exists connecting any two of certain specified nodes). The problem of finding the probability that k specified nodes are connected is called the k-terminal network reliability problem (hereafter abbreviated as k-NR), and this probability is also called reliability. k-NR is known to be a computationally difficult problem called #P-complete, and thanks to numerous studies, it is now possible to find accurate probabilities for networks with around 200 links.

[0003] In recent years, network infrastructure is generally in the form of a client-server model. For example, cloud services on the Internet are provided from a web server to browsers (clients) in the network, and power grids in a power grid are sent from a substation (server) to customers (clients). In this case, in order to evaluate the probability that each client can connect to the server, it is necessary to perform reliability calculations for each client. For example, if there are k-1 server nodes, this becomes a problem of finding k-NR for all clients, where k-1 servers and one client are connected, and it is necessary to solve k-NR repeatedly. This problem can be considered as an extension of k-NR to a fixed server node and multiple client nodes, so it is called the k-terminal reliability problem for fixed sources and multiple targets (hereinafter abbreviated as k-NR+). Note that the subject of k-NR+ is not limited to the client-server model, so the terms source instead of server and target instead of client are used.

[0004] k-NR has been studied for a long time, and for example, Non-Patent Documents 1 and 2 propose a method for quickly finding reliability using a binary decision diagram (BDD), which can compactly express a set of combinations. In addition, Non-Patent Document 3 describes a method for approximately solving problems similar to k-NR+. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Gary Hardy, Corinne Lucet, and Nikolaos Limnios. K-terminal network reliability measures with binary decision diagrams. IEEE Transactions on Reliability, Vol. 56, pp. 506-515, 2007. [Non-Patent Document 2] Johannes U. Herrmann. Improving reliability calculation with augmented binary decision diagrams. In Proceedings of the 24th IEEE International Conference on Advanced Information Networking and Applications (AINA 2010), pp. 328-333, 2010. [Non-Patent Document 3] Arijit Khan, Francesco Bonchi, Aristides Gionis, and Francesco Gullo. Fast reliability search in uncertain graphs. In Proceedings of the 17th International Conference on Extending Database Technology (EDBT 2014), pp. 535-546, 2014. Summary of the Invention [Problem to be solved by the invention]

[0006] However, no method has been proposed to directly solve k-NR+, and a method to solve k-NR+ quickly is needed.

[0007] An embodiment of the present invention has been made in view of the above points, and has an object to quickly solve a k-terminal reliability problem for a fixed source and multiple targets. [Means for solving the problem]

[0008] In order to achieve the above object, a reliability calculation method according to one embodiment of the present invention includes a connected undirected graph G=(V, E) and a link e constituting the undirected graph G. i ∈E action probability p i and a predetermined set T ⊂ V of k-1 source nodes. i Based on the set T, the reliability R represents the probability that each target node v ∈ V\T is connected to the k-1 source nodes. G,p A search procedure for generating a directed acyclic graph for calculating (T∪{v}), and for each target node v, the reliability R is calculated based on the directed acyclic graph and the correspondence between each vertex of the directed acyclic graph and the next vertex of the vertex. G,p A probability calculation procedure for calculating (T ∪ {v}) is executed by a computer. Effect of the Invention

[0009] It can quickly solve the k-terminal reliability problem for fixed sources and multiple targets. [Brief description of the drawings]

[0010] [Figure 1] FIG. 2 is a diagram illustrating an example of a hardware configuration of a reliability calculation device according to the present embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a functional configuration of a reliability calculation device according to the present embodiment. [Diagram 3] FIG. 1 is a diagram (part 1) for explaining an example of a search diagram. [Figure 4] FIG. 2 is a diagram (part 2) for explaining an example of a search diagram. [Diagram 5] FIG. 4 is a diagram showing an example of an algorithm of a process executed by a search unit according to the present embodiment. [Figure 6] FIG. 4 is a diagram showing an example of an algorithm of a process executed by a probability calculation unit according to the present embodiment.

Embodiments for Carrying Out the Invention

[0011] Hereinafter, an embodiment of the present invention will be described.

[0012] <k-NR and k-NR+> When k-NR and k-NR+ are mathematically formulated, they are as follows.

[0013] The network is modeled as a connected undirected graph G=(V,E). Here, let n = |V| be the number of nodes and m = |E| be the number of links. For each link e i ∈E, an operating probability p i ∈[0,1] is defined. This means that link e i operates correctly with probability p i and fails with probability 1-p i . Assume that the state of each link (i.e., whether it is operating or failed) is statistically independent of the states of other links. Also, for a subset of links E'⊂E, the collection of the states of all the links included in E' will be called "the state of E'". At this time, when the state X of all the links (i.e., the links included in E) is given, let E X ⊆E be the set of operating links, and a subgraph G of G consisting only of operating links X =(V,E X ) can be considered. The probability p(X) of this state X can be calculated by the following formula (1).

[0014]

Equation

[0015]

Equation

[0016] For a node set K where k=|K| (where k is an integer greater than or equal to 2), G,p The k-NR is to find (K). That is, the probability R G,p (K) represents the probability that a path exists connecting any two nodes included in K, and this probability is the reliability.

[0017] Using these, k-NR+ can be written as follows. Let G = (V,E) be a connected undirected graph, and each link e i ∈E action probability p i , and a set T ⊆ V of k-1 source nodes. Then, for each target node v ∈ V T, G,p k-NR+ is used to find (T∪{v}).

[0018] <Existing methods> The reliability value calculated by k-NR is expressed by the above formula (2), so Γ K That is, all nodes in K are G X This can be calculated if we can enumerate all the states of E such that all nodes in K are connected. However, since the number of states of E is exponentially greater than the number of links, a straightforward enumeration would take a huge amount of time to calculate even for a network with several dozen links. Therefore, we consider a combination of links E such that all nodes in K are connected. X By constructing a BDD that has all the states of E, and using that BDD for probability calculation, it is possible to reduce the calculation time. In particular, Non-Patent Documents 1 and 2 provide a method that can directly construct the above BDD without enumerating all the states of E in which all the nodes included in K are connected, and therefore it is possible to achieve a significant reduction in calculation time compared to straightforward enumeration. Note that this method proposes an idea based on the method described in Non-Patent Document 1, and the method described in Non-Patent Document 2 is a partial improvement of the method described in Non-Patent Document 1 to make it faster.

[0019] Although no method has been proposed to directly solve k-NR+, a method for approximately solving a problem similar to k-NR+ is described in Non-Patent Document 3. This method makes it possible to approximately enumerate target nodes that have a probability of connecting to any of the source nodes equal to or greater than a given value.

[0020] When considering solving k-NR+, the methods described in Non-Patent Documents 1 and 2 require the calculation of reliability values ​​for each of many target nodes. Specifically, these methods require the construction of a BDD that has all states in which all nodes included in T∪{v} are connected for each target node v∈V\T, and k-NR is decomposed into the number of target nodes. Since k-NR for one target node is also a difficult problem to calculate, it generally takes a very long time to solve it for the number of target nodes.

[0021] On the other hand, the method described in Non-Patent Document 3 does not allow the probability indicating reliability to be calculated for each target, and since it is an approximate method, it cannot be used to quantitatively evaluate the reliability of each target node.

[0022] <Proposed method> In this embodiment, a method capable of solving k-NR+ at high speed is proposed, and a reliability calculation device 10 that executes this proposed method is described.

[0023] The proposed method is based on the method described in Non-Patent Document 1 and realizes the calculation of reliability for all target nodes using only one data structure. The BDD used in Non-Patent Documents 1 and 2 is data that represents a combination set using a loop-free graph (called a directed acyclic graph) made up of a collection of vertices and directional edges. Note that to distinguish them from the "nodes" and "links" of the original network, the nodes and links of a directed acyclic graph are called "vertices" and "edges", respectively.

[0024] In the methods described in Non-Patent Documents 1 and 2, a BDD is constructed from the top vertex called the root in a top-down manner by searching for a state, and a dynamic programming method is performed to sequentially calculate values ​​for each vertex while tracing the BDD top-down, thereby obtaining the probability that all nodes included in K are connected (i.e., the probability that K is connected). In the proposed method, a directed acyclic graph is constructed by searching for a similar state, but both a top-down dynamic programming method and a bottom-up dynamic programming method are performed on the constructed directed acyclic graph. This makes it possible to solve the more difficult k-NR+ problem with the same amount of calculation as the existing method for solving k-NR. Furthermore, when k is small, i.e., when the number of source nodes is small, the proposed method can solve the more difficult k-NR+ problem with a smaller amount of calculation than the existing method requires for solving k-NR.

[0025] The above points regarding the proposed method can be summarized as follows.

[0026] By slightly modifying the construction of the data structure from existing methods and by using bottom-up dynamic programming in addition to top-down dynamic programming, it is possible to solve k-NR+, which requires calculating the reliability of all target nodes, with the same amount of computational effort as existing methods for solving k-NR.

[0027] From the perspective of solving k-NR, when k is small, it can be solved faster than existing methods.

[0028] <Hardware Configuration of Reliability Calculation Device 10> The hardware configuration of the reliability calculation device 10 according to this embodiment is shown in Fig. 1. As shown in Fig. 1, the reliability calculation device 10 according to this embodiment is realized by the hardware configuration of a general computer or computer system, and has an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a processor 105, and a memory device 106. Each of these hardware components is connected to each other via a bus 107 so as to be able to communicate with each other.

[0029] The input device 101 is, for example, a keyboard, a mouse, a touch panel, various physical buttons, etc. The display device 102 is, for example, a display, a display panel, etc. Note that the reliability calculation device 10 does not necessarily have at least one of the input device 101 and the display device 102, for example.

[0030] The external I / F 103 is an interface with an external device such as a recording medium 103a. The reliability calculation device 10 can read and write data from and to the recording medium 103a via the external I / F 103. Examples of the recording medium 103a include a CD (Compact Disc), a DVD (Digital Versatile Disk), a SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.

[0031] The communication I / F 104 is an interface for connecting the reliability calculation device 10 to a communication network. The processor 105 is, for example, various arithmetic devices such as a central processing unit (CPU) or a graphics processing unit (GPU). The memory device 106 is, for example, various storage devices such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a random access memory (RAM), a read only memory (ROM), etc.

[0032] The reliability calculation device 10 according to this embodiment can realize various processes described later by having the hardware configuration shown in Fig. 1. Note that the hardware configuration shown in Fig. 1 is an example, and the reliability calculation device 10 may have, for example, multiple processors 105, multiple memory devices 106, or various other hardware besides the hardware shown in the figure.

[0033] <Functional configuration of reliability calculation device 10> The functional configuration of the reliability calculation device 10 according to this embodiment is shown in FIG. 2. As shown in FIG. 2, the reliability calculation device 10 according to this embodiment has an input unit 201, a search unit 202, a probability calculation unit 203, and an output unit 204. Each of these units is realized, for example, by a process in which one or more programs installed in the reliability calculation device 10 are executed by the processor 105. Here, the reliability calculation device 10 includes a connected undirected graph G=(V,E) and each link e i ∈E action probability p i Let us assume that we are given a set of nodes T ⊆ V, ∈[0,1], and a set of source nodes T ⊆ V. Let n = |V| be the number of nodes, and m = |E| be the number of links.

[0034] The input unit 201 is a connected undirected graph G and each link e i ∈E action probability p i and the set of source nodes T ⊆ V.

[0035] The search unit 202 searches for a connected undirected graph G and an action probability p i Based on and the source node set T, a directed acyclic graph called a search diagram is generated (constructed).

[0036] The probability calculation unit 203 calculates the probability R of connecting each target node v ∈ V to all source nodes by dynamic programming based on the search diagram generated by the search unit 202. G,p Calculate (T ∪ {v}).

[0037] The output unit 204 outputs each probability R calculated by the probability calculation unit 203. G,p (T∪{v}), respectively. The output unit 204 outputs the probability R G,p (T∪{v}) may be output. Examples of the output destination include the display device 102 such as a display, the memory device 106, and other devices or equipment connected via a communication network.

[0038] The following mainly describes the details of the processes executed by the search unit 202 and the probability calculation unit 203. Note that the processes executed by the search unit 202 are based on the method described in Non-Patent Document 1, so please also refer to Non-Patent Document 1 as necessary.

[0039] In the following, it is assumed that the connected undirected graph G given to the reliability calculation device 10 does not have a self-loop (i.e., a link connecting the same node) and a node of degree 1 (i.e., a node with one link connecting to itself). However, this assumption can be easily removed. First, if there is a self-loop in the graph G, the self-loop can be deleted because it does not affect the value of the probability. Next, if there is a node of degree 1 in the graph G, the reliability can be calculated using the graph with the node of degree 1 deleted. Specifically, let w be a node of degree 1 in the graph G, and let u be the other end point of the only link connecting to node w. Then, using the reliability value of the graph Gw obtained by deleting node w from the graph G, the reliability of the original graph G can be calculated using the following formula (3).

[0040]

number

[0041] <Details of the process executed by the search unit 202> The search unit 202 first searches the order of links e1, . . . , e m Then, the search unit 202 performs a search to determine the state of each link, i.e., whether the link is working or broken, in order from the first link. <i ={e1,...,e i-1 When the state of} is fixed, e iBy determining which state the i-th link set E <i+1 The process repeats. The order of the links is determined, for example, by the method described in Reference 1. However, as it is, the number of searches will be exponentially larger for the number of links m, so the concept of division is introduced to group together equivalent states. First, the set of links E up to the i-1th link is <i and the i-th and subsequent link sets E ≧i ={e i ,···,e m} is the i-th border node set F i In this case, E <i Status X <i For , we define the partition as follows:

[0042] If T is a node, E <i exists in E <i Among the working links, F i If there is any node in that does not connect to , then the split is ⊥ (this is called a pruning split).

[0043] Otherwise, the division is F i is defined as a set of blocks that separate the nodes of F and a mark (symbol) that is assigned to each block. Here, two nodes x, y ∈ F i E <i A block is marked if at least one node in T is connected to a node in the block by a working link.

[0044] Multiple E's <i By identifying the states of which the partition is the same, the search can be significantly sped up. In this way, instead of considering the link states themselves, a search diagram can be generated by searching for partitions that correspond to the link states.

[0045] For example, Figure 3 shows an example of a search for the graph in the top rounded corner square (a graph consisting of nodes 1 to 6 and links e1 to e7) when T={2,4}. i represents the i-th layer of the search diagram. The division is represented by bold text, each block is represented by writing the node number in square brackets [], and the mark is represented by adding an asterisk * to the upper right of the block. i The line connecting the graph of the i+1th layer to the graph of the i+1th layer is the link e i Solid line if it is working, Link e i If the i-th layer L is broken, it is indicated by a broken line. i The number in the upper right corner of each rounded square represents the probability of the corresponding division (p(P) shown in equation (5) below). For example, the number "0.2" in the upper right corner of the left rounded square in the second layer L2 indicates that the division is [1][2]. * The number "0.8" in the upper right corner of the right rounded square indicates the probability that the division is

[12] . * It represents the probability that

[0046] In the example shown in Figure 3, E <3 The three states are:[2][3] * By grouping these identified states together and proceeding with the search, the amount of calculations can be significantly reduced compared to considering the link states themselves. The search ends when the division becomes a pruning division.

[0047] FIG. 4 shows the search diagram when all the searches shown in FIG. 3 are completed. As shown in FIG. 4, the search diagram is layered, and the i-th layer L i E <i The partitions corresponding to the states of are arranged as vertices. i From each vertex (division) P of the i+1th layer L i+1 There are two edges extending to the vertices of e i In the example shown in Figure 4, e iThe edges corresponding to the operation of e are solid lines. i The edges corresponding to the faults are represented by dashed lines. In the following, for a partition P, i If works, the next division is P HI , e i If P fails, the next partition is LO In the example shown in FIG. 4, the pruning partitions and the edges leading to the pruning partitions are omitted.

[0048] When generating the search diagram, the search unit 202 also calculates the correspondence between blocks in order to calculate the transition of the mark position and for later processing by the probability calculation unit 203. Now, in the block of the division P, a node v∈F i Let us write b(P;v) as the partition of the i-th layer P∈L. i For f∈{LO,HI}, P f If P is not a pruning partition, then for each block b∈P, the corresponding block b f is defined as follows:

[0049] If b is F i+1 If it contains node v, then b f is b(P f ;v), i.e. P containing v f Let us assume that the node is .

[0050] If there is no such node, then b LO =φ, that is, P LO There is no block corresponding to b. HI For more information, please see the link i connects nodes u and w, if w∈F i+1 and u∈b, then b HI =b(P HI ;w). If u∈F i+1 and w∈b, then b HI =b(P HI ;u). If neither holds, then b HI =φ.

[0051] For example, P=[3][4] in the fifth layer L5 in Figure 4. * For P LO =P HI =[4] * [5], but b=[4] * For block b, node 4 also exists in F6, so LO =b HI =[4] * On the other hand, for b=[3], node 3 does not exist in F6, so b LO =φ. However, e5 connects node 3 and node 5, and node 5 is in F6, so b HI =[5].

[0052] <<Processing algorithm executed by search unit 202>> An example of an algorithm for the process in which the search unit 202 generates (constructs) the above-mentioned search diagram is shown in Fig. 5. In this algorithm, each vertex of the search diagram, i.e., each division, is an associative array c:F i →Z + and the set of integers A ⊂ Z + Here, Z + is the set of all positive integers. The associative array c represents blocks by numbering. c is a set of nodes u, w ∈ F i For A, we set c[u]=c[w] if and only if u and w belong to the same block. A represents the position of the mark by the set of block numbers to which the mark is attached. For example, [3][4] * The partition is expressed by the pair c = {3 → 1, 4 → 2} and A = {2}. The partition of the i-th layer is the set of vertices L i is stored in.

[0053] First, in the first line, the top vertex R of the search diagram is created and stored in L1. Since there are no nodes in F1, R is represented as a pair of an empty associative array φ and an empty set φ. The next lines 2 to 13 correspond to the part where the search diagram is created top-down from top to bottom. The third line creates the vertex set L of the i-th layer. i The fourth line represents the iteration of looking at all the partitions P ini In the next line 5, we iterate over the cases where link e is broken (LO) and works (HI). i Depending on the state of new , and the original c and c new Cor f Generates [P]. f [P] is a block b with number j in the original c if the corresponding block b f If exists, then c new The number in f [P][j], and if it does not exist, the entry Cor f [P][j] is an associative array that does not exist. Note that this associative array Cor f [P] will be used in later probability calculations. The Generate operation on line 5 will be explained in detail from line 14 onwards.

[0054] In lines 6 to 13, the next vertex (split) P of vertex (split) P new Next f The 6th and 7th lines determine whether the next split is a pruning split or not by checking whether there is a block corresponding to the marked block. f If [P][a] does not exist, it is a pruning split. Otherwise, the set of numbers of the new mark positions A new Calculate it as in line 9. The generated c new and A new The pair P new If the division for the i+1th layer has not yet been generated, L i+1 P new (lines 10 to 12). And finally, on line 13, add Next f [P] to P new Store.

[0055] Lines 14 and after show the details of the Generate operation in line 5. First, in line 15, c' is substituted with c, and Cor is made an empty associative array. In lines 16 and 17, i+1 While included in F i The nodes not included in are numbered max(c')+1. Lines 18 to 20 are f=HI, that is, e i This is the process when e is running. i Assuming that connects node u and node w, all elements of c' numbered c'[w] are rewritten to c'[u]. In lines 21 and 22, F i While included in F i+1 The entries related to nodes not included in c' are deleted from c', and c is new The 23rd line is c new The ReNumber operation is performed on v∈F. The ReNumber operation renumbers the associative array c to make it unique for each division, since even divisions of the same block may result in different associative arrays c depending on the numbering. At the same time, the ReNumber operation also generates a mapping Renum from the original numbers to new numbers. The details of this ReNumber operation are as shown in lines 29 to 35. Line 31 is a process of renumbering v∈F in a predetermined order. i This indicates that the processing in lines 32 to 34 will be performed on the

[0056] The subsequent lines 24 to 27 are used to calculate the associative array Cor, which represents the block correspondence. i The process for each node in creates an entry Cor[c[v]] for Cor. Next, in lines 25 to 27, the numbers in Cor are renumbered using Renum. Finally, in line 28, new Returns a pair of and Cor.

[0057] <Details of the process executed by the probability calculation unit 203> The probability calculation unit 203 calculates the probability indicating the reliability based on the search diagram generated by the search unit 202 and the correspondence relationship between the blocks.i The goal is to calculate two probability values ​​for

[0058] p(P): Link set E up to the i-1th link <i The probability that the partition corresponding to state P is q(P,b): Link set E up to the i-1th link <i When the partitioning by the state of is P, the i-th and subsequent link sets E ≧i The probability that block b in P will connect to all source nodes depending on the state of The above p(P) is a probability used in existing methods such as Non-Patent Document 1, while considering the probability for each block, such as q(P, b), is unique to the proposed method. The probability R G,p (T ∪ {v}) is a function of v in F i By focusing on the layers included in, it can be calculated using the following formula (4).

[0059]

number

[0060] p(P) can be calculated using the following equation (5).

[0061]

number

[0062] Next, the value of q(P,b) is P LO and P HIIf is not a pruning division, it can be calculated by the following formula (6) using the block correspondence.

[0063]

number

[0064] <<Processing algorithm executed by the probability calculation unit 203>> An example of the algorithm for the process in which the probability calculation unit 203 calculates the probability as described above is shown in Figure 6. In this algorithm, p(P) corresponding to the division P of the i-th layer is represented as p[(i,P)], and q(P,b) is represented as q[(i,P)][j] (where j is the number of the block c). The final probability R G,p The value of (T∪{v}) is stored in r[v].

[0065] Lines 1 to 8 correspond to the part that finds the value of p(P) by dynamic programming in a top-down manner. First, in lines 1 to 3, p[(1,R)] is initialized to 1 for the topmost node R, and all other p values ​​are initialized to 0. After that, starting from the top layer (line 4), for each division P in the i-th layer (line 5), the value of p for each division is calculated using the above formula (5) (lines 6 to 8). Note that p i LO =1-p i , p i HI =p i Let us assume that.

[0066] Lines 9 to 21 correspond to the part that finds the value of q(P, b) by dynamic programming in a bottom-up manner. Starting from the bottom layer (line 9), for each partition P in the i-th layer (line 10), we first initialize all the values ​​of q(P; ) to 0 (line 11).

[0067] Lines 13 to 17 are the processing for the case where the next split is a pruning split. Lines 14 to 15 are the processing for the case where the source node is E <i and b is the only marked block in P. Lines 16 and 17 represent "exception handling." Note that exception handling is described in detail in lines 28 to 33 as a ProcessCornerCase operation.

[0068] On the other hand, lines 18 to 21 are the process for the case where the next division is not a pruning division. In this case, the value of each q is calculated using the above formula (6). The condition on line 20 indicates that there exists a corresponding block for the block numbered j in division P.

[0069] The last lines 22 to 27 correspond to the part that calculates the reliability value for each target node. First, in line 22, we create F i Then, for each i∈I, we calculate the probability that each target node is connected to all source nodes in the i-th layer using the above formula (4). This gives us the reliability probability R G,p We obtain (T ∪ {v}).

[0070] <Summary of the embodiment> As described above, the reliability calculation device 10 according to the present embodiment can solve k-NR+, which requires calculating reliability for all target nodes, with the same amount of calculation as that required for solving k-NR using the existing method. In the existing method, in order to solve k-NR+, it was necessary to solve k-NR for the number of target nodes, so for example, for a graph with 100 nodes, it is expected to be about 100 times faster. This makes it possible to calculate the probability that each client will connect to all servers in a client-server model in one calculation. In addition, the reliability calculation device 10 according to the present embodiment can solve a single K-NR problem faster than the existing method when k is small.

[0071] The reliability calculation device 10 according to the present embodiment may perform various network controls using the calculated reliability value. For example, for a target node with a low reliability value, the reliability calculation device 10 may perform control such as increasing the number of routes from the server by operating a standby link, or taking measures to reduce the failure probability of links in the routes.

[0072] [References] Reference 1: Yuma Inoue and Shin-ichi Minato. Acceleration of ZDD construction for subgraph enumeration via pathwidth optimization. Technical Report of Division of Computer Science, Hokkaido University, TCS-TR-A-16-80, 2016. The present invention is not limited to the above-described embodiments specifically disclosed, and various modifications, changes, combinations with known technologies, etc. are possible without departing from the scope of the claims. [Explanation of symbols]

[0073] 10 Reliability calculation device 101 Input Device 102 Display device 103 External I / F 103a Recording media 104 Communication I / F 105 processors 106 Memory Device 107 Bus 201 Input section 202 Search Department 203 Probability Calculation Department 204 Output section

Claims

1. A connected undirected graph G = (V, E) and a link e constituting the undirected graph G i ∈E action probability p i and a predetermined set T ⊂ V of k−1 source nodes; The undirected graph G and the action probability p i Based on the set T, the reliability R represents the probability that each target node v∈V\T is connected to the k-1 source nodes. G,p a search procedure that generates a directed acyclic graph for computing (T ∪ {v}); Based on the directed acyclic graph and the correspondence between each vertex of the directed acyclic graph and the next vertex of the vertex, the reliability R G,p A probability calculation procedure for computing (T ∪ {v}); The computer executes The search procedure includes: Determine the order of E={e 1 ,...,e m}, where m=|E|; Calculate a division for a state X<i, which indicates whether each link included in the link set E<i is operating, based on a set F i of nodes that are commonly present in both the nodes that constitute each link included in the link set E<i={e 1 , ..., e i-1} up to the i-th link and the nodes that constitute each link included in the link set E ≧i={e i , ..., em} from the i-th link onwards; A directed acyclic graph is generated in which the division for the state X<i is set as a vertex of an i-th layer (i=1, . . . , m), and the same division is set as the same vertex; The partition is represented by a pair of blocks that separate the nodes included in the set F i and a predetermined mark given to the blocks; The probability calculation procedure includes: A probability p(P) that the partition for the state X<i is P∈L i , where L i is a set of vertices included in the i-th layer of the directed acyclic graph, and When the partition for the state X<i is P∈Li, the probability q(P, b) that a block b included in P is connected to all source nodes by the state X≧i of the link set E≧i, and The reliability calculation method calculates the reliability R G,p (T ∪ {v}) based on

2. The probability calculation procedure includes: Calculate the probability p(P) by dynamic programming that traverses each vertex of the directed acyclic graph in a top-down manner; 2. The reliability calculation method according to claim 1, wherein the probability q(P, b) is calculated by dynamic programming that traverses each vertex of the directed acyclic graph in a bottom-up manner.

3. The search procedure includes: The reliability calculation method according to claim 1 , further comprising the steps of: generating the directed acyclic graph; and calculating the correspondence relationship when generating the directed acyclic graph.

4. A connected undirected graph G = (V, E) and a link e constituting the undirected graph G i ∈E action probability p i and an input unit for inputting a predetermined set T ⊂ V of k−1 source nodes; The undirected graph G and the action probability p i Based on the set T, the reliability R represents the probability that each target node v∈V\T is connected to the k-1 source nodes. G,p a search unit that generates a directed acyclic graph for computing (T ∪ {v}); Based on the directed acyclic graph and the correspondence between each vertex of the directed acyclic graph and the next vertex of the vertex, the reliability R G,p A probability calculation unit for calculating (T ∪ {v}); having The search unit is Determine the order of E={e 1 ,...,e m}, where m=|E|; Calculate a division for a state X<i, which indicates whether each link included in the link set E<i is operating, based on a set F i of nodes that are commonly present in both the nodes that constitute each link included in the link set E<i={e 1 , ..., e i-1} up to the i-th link and the nodes that constitute each link included in the link set E ≧i={e i , ..., em} from the i-th link onwards; A directed acyclic graph is generated in which the division for the state X<i is set as a vertex of an i-th layer (i=1, . . . , m), and the same division is set as the same vertex; The partition is represented by a pair of blocks that separate the nodes included in the set F i and a predetermined mark given to the blocks; The probability calculation unit is A probability p(P) that the partition for the state X<i is P∈L i , where L i is a set of vertices included in the i-th layer of the directed acyclic graph, and When the partition for the state X<i is P∈Li, the probability q(P, b) that a block b included in P is connected to all source nodes by the state X≧i of the link set E≧i, and A reliability calculation device that calculates the reliability R G,p (T∪{v}) based on

5. A program for causing a computer to execute the reliability calculation method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • System state analysis

    EP3396564A1

  • Reliability evaluation method, reliability evaluation device and program

    JP2018019192A

  • Network design device, method, and program

    JP2019114877A

  • Reliability estimation system and reliability estimation method

    WO2020261452A1