JP7619487B2 - Distributed computing method, distributed computing device, and program - Google Patents
Distributed computing method, distributed computing device, and program Download PDFInfo
- Publication number
- JP7619487B2 JP7619487B2 JP2023572322A JP2023572322A JP7619487B2 JP 7619487 B2 JP7619487 B2 JP 7619487B2 JP 2023572322 A JP2023572322 A JP 2023572322A JP 2023572322 A JP2023572322 A JP 2023572322A JP 7619487 B2 JP7619487 B2 JP 7619487B2
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- cov
- variance
- label
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Complex Calculations (AREA)
Description
本発明は、分散計算方法、分散計算装置及びプログラムに関する。 The present invention relates to a distributed computing method, a distributed computing device, and a program.
通信ネットワークや電力網、交通網等のネットワークシステムでは、リンクが故障しそのリンクが使えなくなってしまうことが時折発生する。そのようなリンクの故障を確率的な事象と捉えると、或る指定した複数のノード間が接続している確率(つまり、或る指定した複数のノードのうちの任意の2つのノード間を繋ぐ道が存在する確率)を計算することができる。指定したk個のノード間が接続している確率を求める問題はk-ターミナル信頼性問題(k-terminal network reliability、以下、k-NRと略す。)と呼ばれ、その確率はネットワーク信頼性(又は、単に信頼性)とも呼ばれる。In network systems such as communication networks, power grids, and transportation networks, 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 (i.e., 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 network reliability (or simply reliability).
k-NRは#P-完全という計算が困難な問題に属することが知られており、愚直な方法では数十リンク程度のネットワークでもネットワーク信頼性の計算に多くの時間を要してしまう。これに対して、例えば、非特許文献1や2では、組合せ集合をコンパクトに表現できる二分決定グラフ(BDD:Binary Decision Diagram)を用いて高速にネットワーク信頼性を求める手法が提案されている。現在では、数多くの研究により数百リンク程度のネットワークに対して正確なネットワーク信頼性を求めることができる。
It is known that k-NR belongs to the category of problems that are difficult to compute, being #P-complete, and straightforward methods require a lot of time to calculate network reliability even for networks with only a few dozen links. In response to this, for example, Non-Patent
一方で、既存研究では、各リンクの可用性(すなわち、各リンクが正しく動作する確率)は正確に与えられるという仮定の下でネットワーク信頼性が計算されている。しかしながら、現実的にはリンクの可用性はいくらかの不確かさを持って与えられたり、例えば機械学習により誤差を持った形で推定されたりもする。もし各リンクの可用性が不確かさを分散(variance)の形で持っているならば、ネットワーク信頼性の値も不確かさを分散の形で持っているはずである。このようなネットワーク信頼性の不確かさを計算することは現実的な状況では重要である。例えば、ネットワーク信頼性は99%であるがその標準偏差(不確かさ)が1%あるネットワークシステムと、ネットワーク信頼性は98.5%であるがその標準偏差(不確かさ)は0.1%であるネットワークシステムとを考えた場合、前者の方がネットワーク信頼性自体は高いものの、後者の方が好まれる状況も十分に考えられる。On the other hand, in existing studies, network reliability is calculated under the assumption that the availability of each link (i.e., the probability that each link works correctly) is given accurately. However, in reality, link availability is given with some uncertainty or may be estimated with error, for example, by machine learning. If the availability of each link has uncertainty in the form of variance, the value of network reliability should also have uncertainty in the form of variance. Calculating the uncertainty of such network reliability is important in realistic situations. For example, considering a network system with a network reliability of 99% but a standard deviation (uncertainty) of 1% and a network system with a network reliability of 98.5% but a standard deviation (uncertainty) of 0.1%, although the former has a higher network reliability, it is quite conceivable that the latter would be preferred.
しかしながら、上述したように、ネットワーク信頼性の不確かさを考慮した既存研究は存在せず、従ってネットワーク信頼性の分散を計算する手法も存在しない。However, as mentioned above, there is no existing research that takes into account the uncertainty of network reliability, and therefore no method exists to calculate the variance of network reliability.
本発明の一実施形態は、上記の点に鑑みてなされたもので、ネットワーク信頼性の分散を計算することを目的とする。 One embodiment of the present invention has been made in consideration of the above points and aims to calculate the variance of network reliability.
上記目的を達成するため、一実施形態に係る分散計算方法は、連結な無向グラフG=(V,E)と、端点集合K⊂Vと、前記無向グラフGを構成するリンクei∈Eの可用性の平均pi及び分散σi 2とを入力する入力手順と、前記無向グラフGと、前記端点集合Kとに基づいて、前記端点集合Kに含まれる全てのノードが接続する状態を全て持つ二分決定グラフを構築する構築手順と、前記二分決定グラフと、前記リンクei∈Eの可用性の平均pi及び分散σi 2とに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性の分散値を計算する計算手順と、をコンピュータが実行する。 In order to achieve the above object, a distributed computation method according to one embodiment includes the following steps, executed by a computer: an input step of inputting a connected undirected graph G = (V, E), an end vertex set K ⊂ V, and an average p i and a variance σ i 2 of the availability of links e i ∈ E that constitute the undirected graph G; a construction step of constructing a binary decision diagram having all states in which all nodes included in the end vertex set K are connected, based on the undirected graph G and the end vertex set K; and a computation step of calculating a variance value of network reliability that represents the probability that all nodes included in the end vertex set K are connected, based on the binary decision diagram and the average p i and the variance σ i 2 of the availability of the links e i ∈ E.
ネットワーク信頼性の分散を計算することができる。 The variance of network reliability can be calculated.
以下、本発明の一実施形態について説明する。 The following describes one embodiment of the present invention.
<問題設定>
「ネットワーク信頼性の分散」を数学的に定式化すると以下のようになる。
<Problem Setting>
The mathematical formulation of "distribution of network reliability" is as follows:
ネットワークは、連結な無向グラフG=(V,E)としてモデル化する。ここで、n=|V|をノード数、m=|E|をリンク数とする。各リンクei∈Eには可用性Pi∈[0,1]が与えられる。これは、リンクeiは確率Piで正しく動作し、確率1-Piで故障する、ということを意味する。各リンクの状態(つまり、動作しているか又は故障しているか)は他のリンクの状態と確率的に独立であるものとする。また、Eに含まれる全てのリンクの状態の集まりを「Eの状態」と呼ぶことにする。このとき、Eの状態Xが与えられると、EX⊆Eを動作しているリンクの集合として、動作しているリンクのみからなるGの部分グラフGX=(V,EX)を考えることができる。この状態Xが起こる確率は以下の式(1)で計算できる。 The network is modeled as a connected undirected graph G = (V, E), where n = |V| is the number of nodes and m = |E| is the number of links. Each link e i ∈ E is given an availability P i ∈ [0, 1]. This means that link e i works correctly with probability P i and fails with probability 1-P i . The state of each link (i.e., whether it is working or broken) is assumed to be probabilistically independent of the states of other links. In addition, the set of states of all links included in E is called the "state of E". In this case, when the state X of E is given, we can consider a subgraph G X = (V, E X ) of G consisting only of working links, with E X ⊆ E as the set of working links. The probability of this state X occurring can be calculated using the following formula (1).
いま、不確かさを反映するために、各リンクの可用性Piは平均pi、分散σi 2の確率分布に従うものと仮定する。つまり、各リンクの可用性を確率変数とみなすことにする。このとき、各リンクの状態の独立性を担保するため、i≠jに対してPiとPjは統計的に独立であるものとする。すると、Eの状態Xを一つ固定したときの式(1)のP(X)や式(2)のRG(K)は、P1,・・・,Pmに従属する確率変数となる。 Now, in order to reflect uncertainty, it is assumed that the availability P i of each link follows a probability distribution with mean p i and variance σ i 2. In other words, the availability of each link is regarded as a random variable. In this case, in order to ensure the independence of the state of each link, it is assumed that P i and P j are statistically independent for i ≠ j. Then, when one state X of E is fixed, P(X) in equation (1) and R G (K) in equation (2) become random variables dependent on P 1 , ..., P m .
以降、E[・]、Var[・]、Cov[・,・]をそれぞれP1,・・・,Pmに関する期待値、分散、共分散とする。各リンクの可用性がPi=piと固定されたときの従来のネットワーク信頼性の値を考えると、これはRG(K)の期待値E[RG(K)]に一致する。求める「ネットワーク信頼性の分散」は、RG(K)の分散Var[RG(K)]の値であり、グラフGと端点集合Kと各リンクeiの平均pi及び分散σi 2とが与えられたときにこの分散Var[RG(K)]の値を求めるのが解くべき問題である。 Hereinafter, E[.], Var[.], and Cov[.,.] are the expectation, variance, and covariance of P 1 , ..., P m , respectively. Considering the conventional network reliability value when the availability of each link is fixed as P i = p i , this coincides with the expected value E[R G (K)] of R G (K). The "variance of network reliability" we are looking for is the value of the variance Var[R G (K)] of R G (K), and the problem to be solved is to find the value of this variance Var[R G (K)] when the graph G, the set of endpoints K, and the mean p i and variance σ i 2 of each link e i are given.
<従来技術>
k-NRで求めるネットワーク信頼性の値は上記の式(2)で表されるため、ΓK、すなわちKに含まれる全てのノードがGX中で接続しているようなEの状態Xを全て列挙することができれば計算できる。しかし、Eの状態はリンクの数に対して指数的に多く存在するため、素直な列挙では数十リンクのネットワークでも計算時間が膨大になってしまう。そこで、Kに含まれる全てのノードが接続するようなリンクの組合せEXを全て持つBDDを構築し、そのBDDを確率計算に用いることで、計算時間を削減することができる。特に、非特許文献1や2では、Kに含まれる全てのノードが接続するようなEの状態を全て列挙することなく、上記のようなBDDを直接構築できる手法となっているため、素直な列挙と比べて大幅な計算時間の削減を実現できる。なお、非特許文献1に記載されている手法がもととなるアイデアを提案したものであり、非特許文献2に記載されている手法は非特許文献1に記載されている手法の一部を改良しより高速にしたものである。
<Prior Art>
The network reliability value calculated by k-NR is expressed by the above formula (2), so it can be calculated if all the states X of E in which all the nodes included in K are connected in G X can be enumerated. However, since the number of states of E is exponentially large with respect to the number of links, a straightforward enumeration would result in a huge calculation time even for a network with several tens of links. Therefore, the calculation time can be reduced by constructing a BDD having all the combinations E X of links in which all the nodes included in K are connected, and using the BDD for probability calculation. In particular, Non-Patent
一方で、非特許文献1や2に記載されている手法を含む既存研究はいずれも各リンクの可用性が正確に与えられるという仮定の下で行われたものであり、可用性が分散という不確かさを持って与えられた下でネットワーク信頼性の不確かさを議論した研究は存在しない。なお、ネットワーク信頼性の文脈で「分散」について触れているものとしては、式(2)のネットワーク信頼性の値をモンテカルロ法により近似的に計算する場合の誤差を考察した研究が存在するが、この研究はあくまでも近似計算手法に起因する不確かさを議論したものであり、各リンクの可用性の不確かさを考慮したものではない。On the other hand, all existing research, including the methods described in
<提案手法>
上述した通り、ネットワーク信頼性の不確かさについて触れた既存研究は存在せず、従ってネットワーク信頼性の分散を計算する手法も存在しない。一方で、上記の式(2)を用いて、分散Var[RG(K)]を以下のように分解することは可能である。
<Proposed method>
As mentioned above, there is no existing research that deals with the uncertainty of network reliability, and therefore no method exists for calculating the variance of network reliability. However, it is possible to decompose the variance Var[R G (K)] using the above formula (2) as follows:
そこで、本実施形態では、ネットワーク信頼性の分散の値を高速に計算することができる手法を提案し、この提案手法を実行する分散計算装置10について説明する。Therefore, in this embodiment, we propose a method that can quickly calculate the variance value of network reliability, and explain the
本提案手法では、非特許文献1に記載されている手法をベースとして、BDDを用いてネットワーク信頼性の分散値を高速に計算する。非特許文献1や2で用いられているBDDは、頂点と向きのある辺の集まりでできたループの無いグラフ(有向非巡回グラフと呼ぶ)で組合せ集合を表現するデータ構造である。なお、元のネットワークの「ノード」、「リンク」と区別するため、有向非巡回グラフのノード、リンクはそれぞれ「頂点」、「辺」と呼ぶことにする。
Based on the method described in Non-Patent
非特許文献1や2に記載されている手法では、BDDを構築した後、BDDの各頂点を一状態とする動的計画法によりネットワーク信頼性の値を計算している。一方で、本実施形態に係る分散計算装置10では、非特許文献1と同様にBDDを構築した後、BDDの頂点のペアを一状態とする新たな動的計画法によりネットワーク信頼性の分散の値を計算する。これにより、BDDのサイズの多項式に比例する時間でネットワーク信頼性の分散の値を計算することができる。一般に、ネットワーク信頼性を計算するためのBDDのサイズは、ΓKに含まれる状態の個数と比べて非常に小さくなることが多いため、200リンク程度のネットワークでも分散の値を計算できるようになる。
In the methods described in
<分散計算装置10のハードウェア構成例>
本実施形態に係る分散計算装置10のハードウェア構成例を図1に示す。図1に示すように、本実施形態に係る分散計算装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成で実現され、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これらの各ハードウェアは、それぞれがバス107により通信可能に接続される。
<Hardware Configuration Example of Distributed
An example of a hardware configuration of a distributed
入力装置101は、例えば、キーボードやマウス、タッチパネル、各種物理ボタン等である。表示装置102は、例えば、ディスプレイや表示パネル等である。なお、分散計算装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。The
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。分散計算装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。The external I/
通信I/F104は、分散計算装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等の各種記憶装置である。The communication I/
本実施形態に係る分散計算装置10は、図1に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図1に示すハードウェア構成は一例であって、分散計算装置10は、例えば、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。The distributed
<分散計算装置10の機能構成例>
本実施形態に係る分散計算装置10の機能構成例を図2に示す。図2に示すように、本実施形態に係る分散計算装置10は、入力部201と、構築部202と、計算部203と、出力部204とを有する。これら各部は、例えば、分散計算装置10にインストールされた1以上のプログラムが、プロセッサ105に実行させる処理により実現される。ここで、分散計算装置10には、連結な無向グラフG=(V,E)と、端点集合K⊆Vと、各リンクei∈Eの可用性の平均pi及び分散σi
2とが与えられるものとする。なお、n=|V|をノード数、m=|E|をリンク数とする。
<Example of Functional Configuration of Distributed
An example of the functional configuration of the distributed
入力部201は、与えられた連結な無向グラフGと端点集合Kと各リンクei∈Eの可用性の平均pi及び分散σi
2とを入力する。
The
構築部202は、入力部201によって入力された連結な無向グラフGと端点集合Kとに基づいて、端点集合Kに含まれる全てのノードが接続する状態を全て持つBDDを生成(構築)する。
The
計算部203は、構築部202によって生成されたBDDと各リンクei∈Eの可用性の平均pi及び分散σi
2の値とに基づいて、動的計画法によりネットワーク信頼性の分散の値を計算する。
The
出力部204は、計算部203によって計算されたネットワーク信頼性の分散の値を予め決められた任意の出力先に出力する。なお、当該出力先としては、例えば、ディスプレイ等の表示装置102、メモリ装置106、通信ネットワークを介して接続される他の装置又は機器等が挙げられる。The
<分散計算装置10が実行する処理の流れ>
本実施形態に係る分散計算装置10が実行する処理の流れについて、図3を参照しながら説明する。
<Flow of Processing Executed by Distributed
The flow of processing executed by the distributed
まず、入力部201は、与えられた連結な無向グラフGと端点集合Kと各リンクei∈Eの可用性の平均pi及び分散σi
2とを入力する(ステップS101)。
First, the
次に、構築部202は、上記のステップS101で入力された連結な無向グラフGと端点集合Kとに基づいて、端点集合Kに含まれる全てのノードが接続する状態を全て持つBDDを生成(構築)する(ステップS102)。なお、本ステップの詳細については後述する。Next, the
次に、計算部203は、上記のステップS102で生成されたBDDと上記のステップS101で入力された各リンクei∈Eの可用性の平均pi及び分散σi
2とに基づいて、動的計画法によりネットワーク信頼性の分散の値を計算する(ステップS103)。なお、本ステップの詳細については後述する。
Next, the
そして、出力部204は、上記のステップS103で計算されたネットワーク信頼性の分散の値を予め決められた任意の出力先に出力する(ステップS104)。Then, the
<ステップS102の詳細>
本ステップでBDDを構築する際に構築部202が実行する処理は非特許文献1や2で提案されている手法と同一であるため、以下では、主に、本ステップで構築されるBDDの構造について説明する。
<Details of step S102>
Since the processing executed by
構築部202は、グラフGと端点集合Kとに基づいて、端点集合Kに含まれる全てのノードがGX中で接続しているようなEの状態Xを全て集めた集合ΓKを表現する二分決定グラフ(BDD)を構築する。BDDは、本来、論理関数を表現するデータ構造であるため、まずはΓKに対応する論理関数fKを考える。
Based on the graph G and the end point set K, the
二値変数をリンクの本数と同じ個数用意し、x1,・・・,xmとする。そして、Eの状態Xに対して、リンクeiが動作していればxi=true、リンクeiが故障していればxi=falseとして、x1,・・・,xmへの値の割り当てを対応させる。以上の対応の下で、x1,・・・,xmに対応するEの状態XがΓKに含まれていればtrue、そうでなければfalseの値を取る論理関数をfK(x1,・・・,xm)とする。このfKを以下では信頼性論理関数と呼ぶことにする。 The same number of binary variables as the number of links are prepared, and denoted as x 1 , ..., x m . Then, for the state X of E, values are assigned to x 1 , ..., x m, with x i = true if link e i is working, and x i = false if link e i is faulty. Under the above correspondence, a logic function is denoted as f K (x 1 , ..., x m ) that takes the value true if the state X of E corresponding to x 1 , ..., x m is included in Γ K , and takes the value false otherwise. Hereinafter, this f K will be referred to as a reliability logic function.
以降、BDDの構造について説明する。BDDは、論理関数を根付きの有向非巡回グラフB=(N,A)として表現するデータ構造である。ここで、Nは頂点集合、Aは辺集合とする。根とは、自身に向かう辺が一つも無いような頂点のことであり、以降、r∈Nと表す。 Below, we will explain the structure of a BDD. A BDD is a data structure that represents a logical function as a rooted, directed acyclic graph B = (N, A). Here, N is a set of vertices, and A is a set of edges. A root is a vertex that has no edges pointing to it, and will be represented as r∈N from now on.
頂点集合Nに含まれる頂点は、出る辺が無い特別な頂点である終端頂点と、それ以外の内部頂点とに大別される。以下、終端頂点をThe vertices in a vertex set N are broadly divided into terminal vertices, which are special vertices with no outgoing edges, and other internal vertices. In the following, terminal vertices are
各内部頂点Each internal vertex
BDDの構造が与えられると、BDDの各頂点vに対して、その頂点に対応する論理関数fvが再帰的に定義される。すなわち、終端頂点 Given the structure of a BDD, for each vertex v of the BDD, a logic function f v corresponding to that vertex is recursively defined.
一例として、図4に示すグラフG及び端点集合Kが与えられたときのΓKに対応する信頼性論理関数fKを表現するBDDを図5に示す。ここで、図4に示す例では、丸がグラフGのノード、黒丸が端点(つまり、グラフGのノードのうち、端点集合Kに含まれるノード)を表している。また、図5に示す例では、a1~a8が内部頂点、a9及びa10が終端頂点、実線がHI辺、破線がLO辺を表しており、丸の中の数字が内部頂点のラベルを表している。 As an example, Fig. 5 shows a BDD expressing a reliability logic function fK corresponding to ΓK when the graph G and the end point set K shown in Fig. 4 are given. In the example shown in Fig. 4, the circles represent the nodes of the graph G, and the black circles represent the end points (i.e., the nodes of the graph G that are included in the end point set K). In the example shown in Fig. 5, a1 to a8 represent the internal vertices, a9 and a10 represent the terminal vertices, the solid lines represent the HI edges, the dashed lines represent the LO edges, and the numbers in the circles represent the labels of the internal vertices.
信頼性論理関数fKを表現するBDDは、その根rから第1の終端頂点 A BDD that represents a reliability logic function fK is a BDD that is a set of vertices from its root r to its first terminal vertex.
BDDの根rから第1の終端頂点までの経路が与えられたとき、ラベルがiである頂点からLO辺を辿ることはラベルiに対応するリンクeiが故障していることを意味し、HI辺を辿ることはラベルiに対応するリンクeiが動作していることを意味する。また、ラベルがiである頂点を通らないことは、ラベルiに対応するリンクeiの状態は考慮しないことを意味する。 Given a path from the root r of a BDD to the first terminal vertex, tracing the LO edge from a vertex whose label is i means that the link e i corresponding to the label i is faulty, tracing the HI edge means that the link e i corresponding to the label i is working, and not passing through a vertex whose label is i means that the state of the link e i corresponding to the label i is not taken into consideration.
例えば、図5において、ラベル1の頂点a1→頂点a1のHI辺→ラベル2の頂点a2→頂点a2のHI辺→ラベル4の頂点a6→頂点a6のLO辺→ラベル5の頂点a8→頂点a8のHI辺→第1の終端頂点という経路は、(e1,e2,e3,e4,e5)=(動作,動作,動作,故障,動作)及び(動作,動作,故障,故障,動作)という2つの状態と対応する。
For example, in FIG. 5, the path from vertex a1 with label 1 → HI edge of vertex a1 → vertex a2 with label 2 → HI edge of vertex a2 → vertex a6 with
信頼性論理関数fKを表現するBDDを効率的に構築するのが、非特許文献1や2に記載されている手法である。従って、信頼性論理関数fKを表現するBDDを構築する具体的な方法については、非特許文献1や2等を参照されたい。
Efficiently constructing a BDD that expresses a reliability logic function fK is a method described in
<ステップS103の詳細>
本ステップでは、計算部203は、BDDの頂点のペアを一状態とする新たな動的計画法によりネットワーク信頼性の分散の値を計算する。以下では、まずネットワーク信頼性の分散の値を計算するための考え方について説明した後、その計算を行うための具体的な手順を表すアルゴリズムについて説明する。
<Details of step S103>
In this step, the
まず、信頼性論理関数fKを表現するBDDの各頂点vに対して、e1,・・・,elb(v)-1の状態を固定した下で、端点(つまり、端点集合Kに含まれるノード)が全て接続する条件付き確率をRvとする。すると、各リンクの可用性Piを用いて、以下の式(3)及び(4)に示す等式が成立する。 First, for each vertex v of the BDD expressing the reliability logic function f K , the conditional probability that all the end points (i.e., the nodes included in the end point set K) are connected under the fixed state of e 1 , ..., e lb (v)-1 is defined as R v . Then, the following equations (3) and (4) hold using the availability P i of each link.
ここで、P1,・・・,Pmが確率変数ならば、RvはP1,・・・,Pmに従属する確率変数となる。従って、BDDの頂点のペアu,v∈Nに対して、RuとRvのP1,・・・,Pmに関する共分散Cov[Ru,Rv]を考えることができる。このとき、ネットワーク信頼性の分散Var[RG(K)]は、Cov[Rr,Rr]と表すことができる。 Here, if P 1 , ..., P m are random variables, R v is a random variable dependent on P 1 , ..., P m . Therefore, for a pair of vertices u, v ∈ N of the BDD, we can consider the covariance Cov[R u , R v ] of R u and R v with respect to P 1 , ..., P m . In this case, the variance Var[R G (K)] of the network reliability can be expressed as Cov[R r , R r ].
共分散に関する等式を用いることにより、共分散Cov[Ru,Rv]はその子頂点に関する共分散に分解することができる。例えば、uとvのラベルがlb(u)=lb(v)=iと等しい場合、qi=1-piとして以下の式(5)に示す等式が成立する。 By using the equality for covariance, the covariance Cov[R u , R v ] can be decomposed into the covariances for its child vertices. For example, if the labels of u and v are equal, i.e., lb(u)=lb(v)=i, then the equality shown in the following formula (5) holds with q i =1−p i .
以上の等式を再帰的に用いることで、Var[RG(K)]=Cov[Rr,Rr]を再帰的に分割し計算することが可能になる。 By recursively using the above equation, it becomes possible to recursively divide and calculate Var[ RG (K)]=Cov[ Rr , Rr ].
・ネットワーク信頼性の分散の値を計算する手順
以下では、BDDによりネットワーク信頼性の分散の値を計算する手順を表すアルゴリズムについて、図6を参照しながら説明する。ここで、本アルゴリズムの入力はBDD B=(N,A)とリンクeiの可用性の平均pi及び分散σi
2であり、出力はBが表すネットワーク信頼性の分散値である。なお、本アルゴリズムの各行が表す手順は計算部203によって実行される。
Procedure for Calculating the Variance of Network Reliability Below, an algorithm representing a procedure for calculating the variance of network reliability using a BDD will be described with reference to Fig. 6. Here, the input of this algorithm is a BDD B = (N, A) and the average p i and variance σ i 2 of the availability of link e i , and the output is the variance of the network reliability represented by B. Note that the procedure represented by each line of this algorithm is executed by the
まず、1行目~3行目では、各v∈Nに対して、e[v]=E[Rv]を計算する。具体的には、まず、1行目で第1の終端頂点に関しては1.0、第2の終端頂点に関しては0.0をそれぞれ代入する。そして、2行目~3行目で、ラベルが大きい頂点を先に走査する順番(bottom-up order)でe[v]←qi・e[lo(v)]+pi・e[hi(v)]によりe[v]の値を順に計算する。この過程で、ネットワーク信頼性の期待値E[RG(K)]=e[r]も求まる。なお、qi=1-piである。
First, in
次に、4行目で再帰的手続き(関数)であるCov(r,r)を呼び出す。手続きCov(u,v)は共分散Cov[Ru,Rv]を計算する再帰的手続きであり、その中身は5行目~17行目に記述されている。まず、6行目~7行目で、uとvの少なくともいずれか一方が終端頂点であれば0を答えとして返す。次に、8行目~9行目で、すでに共分散Cov[Ru,Rv]を計算していれば、計算済みの値を答えとして返す。ここで、計算済みのCov[Ru,Rv]を保存するためのキャッシュとして連想配列cを用意し、c[(u,v)]にCov[Ru,Rv]の値を格納する。
Next, in
以降は式(5)や式(6)を用いて、手続きCov(u,v)を再帰的に呼び出すことによりCov[Ru,Rv]を計算する。すなわち、10行目でuのラベルとvのラベルの小さい方をiに格納した後、uのラベルがvのラベルより小さい場合は式(6)を用いてCov[Ru,Rv]を計算し(11行目~12行目)、vのラベルがuのラベルより小さい場合は式(6)と対称な式を用いてCov[Ru,Rv]を計算し(13行目~14行目)、ラベルuとラベルvが等しい場合は式(5)を用いてCov[Ru,Rv]を計算する。そして、最後に、計算したCov[Ru,Rv]の値を返す(17行目)。これにより、ネットワーク信頼性の分散値が得られる。
Thereafter, Cov[R u , R v ] is calculated by recursively calling the procedure Cov(u, v) using formula (5) and formula (6). That is, after storing the smaller of the labels of u and v in i on
<まとめ>
以上により、本実施形態に係る分散計算装置10は、これまでは素朴な方法以外では計算できなかったネットワーク信頼性の分散値を高速に計算することが可能となる。特に、100~200程度のリンク規模の実ネットワークに対してもネットワーク信頼性の分散値を計算できることが確かめられた。これにより、各リンクの可用性の不確かさがネットワーク信頼性の不確かさに与える影響を定量的に評価することができる。したがって、例えば、稼働実績が無く正確な可用性がわからないリンクがネットワークに追加された場合に、そのリンクがネットワーク信頼性の不確かさにどう影響するのかを定量的に分析することができる。
<Summary>
As described above, the distributed
なお、本実施形態に係る分散計算装置10は、求めたネットワーク信頼性の分散値を用いて種々のネットワーク制御を行ってもよい。例えば、同程度のネットワーク信頼性であれば分散値が低いネットワークとなるように制御したり、仮にネットワーク信頼性が低くても或る基準範囲内であれば分散値が低いネットワークとなるように制御したりする、といった制御を行ってもよい。
The distributed
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。The present invention is not limited to the specifically disclosed embodiments above, and various modifications, variations, and combinations with known technologies are possible without departing from the scope of the claims.
10 分散計算装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 プロセッサ
106 メモリ装置
107 バス
201 入力部
202 構築部
203 計算部
204 出力部
10 Distributed
103a Recording medium 104 Communication I/F
105
Claims (8)
前記無向グラフGと、前記端点集合Kとに基づいて、前記端点集合Kに含まれる全てのノードが接続する状態を全て持つ二分決定グラフを構築する構築手順と、
前記二分決定グラフと、前記リンクei∈Eの可用性の平均pi及び分散σi 2とに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性の分散値を計算する計算手順と、
をコンピュータが実行する分散計算方法。 An input procedure for inputting a connected undirected graph G=(V, E), a set of end vertices K⊂V, and the mean p i and variance σ i 2 of the availability of links e i ∈E constituting the undirected graph G;
A construction step of constructing a binary decision diagram having all states in which all nodes included in the end point set K are connected, based on the undirected graph G and the end point set K;
A calculation procedure for calculating a variance value of network reliability representing a probability that all nodes included in the end point set K are connected based on the binary decision diagram and the average p i and variance σ i 2 of the availability of the link e i ∈E;
A distributed computing method in which a computer performs
前記リンクei∈Eの可用性の平均pi及び分散σi 2を用いて、前記二分決定グラフの頂点ペアに対する共分散を再帰的に計算することで、前記ネットワーク信頼性の分散値を計算する、請求項1に記載の分散計算方法。 The calculation procedure is as follows:
The variance calculation method according to claim 1 , further comprising the steps of: calculating a variance value of the network reliability by recursively calculating a covariance for a pair of vertices of the binary decision diagram using the mean p i and variance σ i 2 of the availability of the link e i ∈E.
前記二分決定グラフの各頂点vに対して、各リンクe1,・・・,elb(v)-1(ただし、lb(v)は頂点vのラベル)の各々が動作しているか又は故障しているかのいずれであるかを表す状態を固定した下で、前記端点集合Kに含まれる全てのノードが接続する条件付き確率をRv、前記リンクeiの可用性をPi、前記二分決定グラフの根である頂点をrとしたとき、RrとRrのP1,・・・,Pm(ただし、m=|E|)に関する共分散の値を、前記ネットワーク信頼性の分散値として計算する、請求項1又は2に記載の分散計算方法。 The calculation procedure is as follows:
3. The method of claim 1, further comprising the steps of: fixing a state indicating whether each of links e 1 , ..., e lb(v)-1 (where lb(v) is the label of vertex v) is working or broken for each vertex v of the binary decision diagram; defining a conditional probability that all nodes included in the terminal set K are connected as R v , defining the availability of the link e i as P i , and defining a vertex that is the root of the binary decision diagram as r; and calculating a covariance value of R r and R r with respect to P 1 , ..., P m (where m = |E|) as the variance value of the network reliability.
前記二分決定グラフの任意の頂点ペアを(u,v)としたときのRuとRvのP1,・・・,Pmに関する共分散をCov[Ru,Rv]として、
頂点uのラベルと頂点vのラベルの等しい場合に成り立つ第1の等式と、頂点uのラベルが頂点vのラベルより小さい場合に成り立つ第2の等式と、頂点vのラベルが頂点uのラベルより小さい場合に成り立つ第3の等式とのいずれかにより前記共分散Cov[Ru,Rv]を再帰的に計算することで、前記RrとRrのP1,・・・,Pmに関する共分散をCov[Rr,Rr]の値を計算する、請求項3に記載の分散計算方法。 The calculation procedure is as follows:
When an arbitrary pair of vertices in the BDD is (u, v), the covariance of R u and R v with respect to P 1 , . . . , P m is Cov[R u , R v ],
4. The variance calculation method according to claim 3, wherein the covariance Cov[R u , R v ] is calculated by recursively calculating the covariance Cov[R u , R v ] using any one of a first equation that holds when the label of vertex u is equal to the label of vertex v, a second equation that holds when the label of vertex u is smaller than the label of vertex v, and a third equation that holds when the label of vertex v is smaller than the label of vertex u, thereby calculating the value Cov[R r , R r ] of the covariance of R r and R r with respect to P 1 , ..., P m .
前記頂点uのラベルをlb(u)、前記頂点vのラベルをlb(v)、前記頂点uのHI辺が指す子頂点をhi(u)、前記頂点uのLO辺が指す子頂点をlo(u)、前記頂点vのHI辺が指す子頂点をhi(v)、前記頂点vのLO辺が指す子頂点をlo(v)、qi=1-pi、E(・)を期待値として、
lb(u)=lb(v)=iである場合、前記第1の等式は、Cov[Ru,Rv]=(qi 2+σi 2)Cov[Rlo(u),Rlo(v)]+(piqi-σi 2)(Cov[Rlo(u),Rhi(v)]+Cov[Rhi(u),Rlo(v)])+(pi 2-σi 2)Cov[Rhi(u),Rhi(v)]+σi 2(E[Rhi(u)]-E[Rlo(u)])(E[Rhi(v)]-E[Rlo(v)])であり、
i=lb(u)<lb(v)である場合、前記第2の等式は、Cov[Ru,Rv]=qiCov[Rlo(u),Rv]+piCov[Rhi(u),Rv]であり、
i=lb(v)<lb(u)である場合、前記第3の等式は、Cov[Ru,Rv]=qiCov[Ru,Rlo(v)]+piCov[Ru,Rhi(v)]である、請求項4に記載の分散計算方法。 The calculation procedure is as follows:
Let the label of the vertex u be lb(u), the label of the vertex v be lb(v), the child vertex pointed to by the HI edge of the vertex u be hi(u), the child vertex pointed to by the LO edge of the vertex u be lo(u), the child vertex pointed to by the HI edge of the vertex v be hi(v), the child vertex pointed to by the LO edge of the vertex v be lo(v), q i =1-p i , and E(·) be the expected value,
If lb(u)=lb(v)=i, then the first equation is Cov[R u , R v ]=(q i 2 +σ i 2 )Cov[R lo(u) ,R lo(v) ]+(p i q i −σ i 2 )(Cov[R lo(u) ,R hi(v) ]+Cov[R hi(u) ,R lo(v) ])+(p i 2 −σ i 2 )Cov[R hi(u) ,R hi(v) ]+σ i 2 (E[R hi(u) ]−E[R lo(u) ])(E[R hi(v) ]−E[R lo(v) ]),
If i=lb(u)<lb(v), the second equation is Cov[R u , R v ]=q i Cov[R lo(u) , R v ]+ pi Cov[R hi(u) , R v ];
5. The method of claim 4, wherein if i=lb(v)<lb(u), the third equation is Cov[ Ru , Rv ]= qiCov [ Ru , Rlo(v) ]+ piCov [ Ru , Rhi(v) ].
リンクei∈Eが動作していればxi=true、リンクei∈Eが故障していればxi=falseとなる二値変数x1,・・・,xmを入力として前記端点集合Kに含まれる全てのノードが接続していればtrue、そうでなければfalseを出力とする論理関数を表現する二分決定グラフを構築する、請求項1乃至5の何れか一項に記載の分散計算方法。 The construction procedure is as follows:
6. The distributed computing method according to claim 1 , further comprising: constructing a binary decision diagram expressing a logical function that takes binary variables x1, ..., xm as input, where xi = true if link e i ∈ E is working, and xi = false if link e i ∈ E is faulty, and outputs true if all nodes included in the end point set K are connected, and false otherwise.
前記無向グラフGと、前記端点集合Kとに基づいて、前記端点集合Kに含まれる全てのノードが接続する状態を全て持つ二分決定グラフを構築するように構成されている構築部と、
前記二分決定グラフと、前記リンクei∈Eの可用性の平均pi及び分散σi 2とに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性の分散値を計算するように構成されている計算部と、
を有する分散計算装置。 An input unit configured to input a connected undirected graph G=(V, E), a set of edge vertices K⊂V, and the mean p i and variance σ i 2 of the availability of links e i ∈E constituting the undirected graph G;
A construction unit configured to construct a binary decision diagram having all states to which all nodes included in the end point set K are connected, based on the undirected graph G and the end point set K;
A calculation unit configured to calculate a variance value of a network reliability representing a probability that all nodes included in the end point set K are connected based on the binary decision diagram and the average p i and variance σ i 2 of the availability of the link e i ∈E;
A distributed computing device having:
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/000401 WO2023132066A1 (en) | 2022-01-07 | 2022-01-07 | Variance calculation method, variance calculation device, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2023132066A1 JPWO2023132066A1 (en) | 2023-07-13 |
| JP7619487B2 true JP7619487B2 (en) | 2025-01-22 |
Family
ID=87073489
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023572322A Active JP7619487B2 (en) | 2022-01-07 | 2022-01-07 | Distributed computing method, distributed computing device, and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7619487B2 (en) |
| WO (1) | WO2023132066A1 (en) |
-
2022
- 2022-01-07 WO PCT/JP2022/000401 patent/WO2023132066A1/en not_active Ceased
- 2022-01-07 JP JP2023572322A patent/JP7619487B2/en active Active
Non-Patent Citations (2)
| Title |
|---|
| 佐々木 勇和 ほか,BDDによるネットワーク信頼性の近似計算,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年12月15日,第117巻,第374号,pp.85-90 |
| 佐々木勇和 ほか,曖昧グラフにおける効率的なネットワーク信頼性の近似計算,日本データベース学会和文論文誌 [オンライン],日本,日本データベース学会,2020年03月31日,第18-J巻,pp.1-8 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023132066A1 (en) | 2023-07-13 |
| WO2023132066A1 (en) | 2023-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Harris et al. | PC algorithm for nonparanormal graphical models. | |
| Wang et al. | An XQDD-based verification method for quantum circuits | |
| US20180278640A1 (en) | Selecting representative metrics datasets for efficient detection of anomalous data | |
| US11386507B2 (en) | Tensor-based predictions from analysis of time-varying graphs | |
| US20210037031A1 (en) | Contextual anomaly detection across assets | |
| US11675009B2 (en) | Converting formal verification testbench drivers with nondeterministic inputs to simulation monitors | |
| Petit et al. | Random walks on dense graphs and graphons | |
| Finkel et al. | Reachability for two-counter machines with one test and one reset | |
| Carrascal et al. | A Bayesian-network-based quantum procedure for failure risk analysis | |
| JP7359206B2 (en) | Learning devices, learning methods, and programs | |
| JP7619487B2 (en) | Distributed computing method, distributed computing device, and program | |
| CN116842073A (en) | Graph data mining method, device and electronic equipment | |
| JP7773729B2 (en) | Network reliability calculation method, network reliability calculation device and program | |
| CN115729554A (en) | Formalized verification constraint solving method and related equipment | |
| Khim et al. | Permutation tests for infection graphs | |
| CN119356724A (en) | Code generation model evaluation method, device, program product and electronic device | |
| Wang et al. | A novel reliability assessment method for binary-state networks | |
| Ahmad et al. | Towards Formal Reliability Analysis of Logistics Service Supply Chains using Theorem Proving. | |
| JP2024141294A (en) | Size-specific unavailability calculation device, size-specific unavailability calculation method and program | |
| Freer et al. | Computable exchangeable sequences have computable de Finetti measures | |
| US20210271993A1 (en) | Observed event determination apparatus, observed event determination method, and computer readable recording medium | |
| Bollig | On the complexity of some ordering problems | |
| JP7761155B2 (en) | Causal model construction device, causal model construction method, and program | |
| Stegehuis et al. | Efficient inference in stochastic block models with vertex labels | |
| CN119299199B (en) | Network topology structure annotation method, device and equipment for network security threats |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240430 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20240701 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241210 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241223 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7619487 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |