IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧

特開2024-11067ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム
<>
  • 特開-ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム 図1
  • 特開-ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム 図2
  • 特開-ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム 図3
  • 特開-ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011067
(43)【公開日】2024-01-25
(54)【発明の名称】ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラム
(51)【国際特許分類】
   H04L 41/14 20220101AFI20240118BHJP
【FI】
H04L41/14
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022112754
(22)【出願日】2022-07-13
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】中村 健吾
(72)【発明者】
【氏名】井上 武
(72)【発明者】
【氏名】西野 正彬
(72)【発明者】
【氏名】安田 宜仁
(72)【発明者】
【氏名】坂上 晋作
(57)【要約】      (修正有)
【課題】厳密かつスケーラブルなネットワーク信頼性評価を可能にする技術を提供する。
【解決手段】ネットワーク信頼性計算装置は、連結な無向グラフG=(V,E)と、端点集合K⊂Vと、各イベントd(1≦j≦L、Lは予め決められたイベント数)の起こる確率r∈[0,1]と、リンクe∈E(1≦i≦|E|)に影響を及ぼすイベントの集合Dと、所定のイベントの集合D'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とを入力する入力部201と、無向グラフGと、端点集合Kと、リンクe∈E(1≦i≦|E|)に影響を及ぼすイベントの集合Dとに基づいて、端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性を計算するための第1の二分決定グラフを構築する構築部202と、第1の二分決定グラフを用いて、ネットワーク信頼性の値を計算する計算部203と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
連結な無向グラフG=(V,E)と、端点集合K⊂Vと、各イベントd(ただし、1≦j≦L、Lは予め決められたイベント数)の起こる確率r∈[0,1]と、リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dと、所定のイベントの集合D'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とを入力する入力手順と、
前記無向グラフGと、前記端点集合Kと、前記リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dとに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性を計算するための第1の二分決定グラフを構築する構築手順と、
前記第1の二分決定グラフを用いて、前記ネットワーク信頼性の値を計算する計算手順と、
をコンピュータが実行するネットワーク信頼性計算方法。
【請求項2】
前記構築手順は、
前記イベントdに対応する二値変数であるイベント変数λと、前記リンクeに対応する二値変数であるリンク変数μと、前記リンクe及び前記イベントの集合D'⊆Dに対応する二値変数である追加変数ρD' との間の変数順を決定し、
前記リンク変数μと、前記端点集合Kとを用いて、前記リンク変数μを入力として前記端点集合Kに含まれるすべてのノードが接続しているときに真、少なくとも一部のノードが接続していないときに偽を出力する信頼性論理関数を表現する第2の二分決定グラフを構築し、
前記イベント変数λと、前記リンク変数μと、前記追加変数ρD' とを用いて、前記イベントdが起こったときに相関して故障するリンクeの相関関係を表す論理関数を表現する第3の二分決定グラフを構築し、
前記第2の二分決定グラフと、前記第3の二分決定グラフとを用いて、前記信頼性論理関数と前記相関関係を表す論理関数との論理積を表現する二分決定グラフを前記第1の二分決定グラフとして構築する、請求項1に記載のネットワーク信頼性計算方法。
【請求項3】
前記計算手順は、
前記イベント変数λに対する正重みW(λ)=r及び負重みW(¬λ)=1-rと、前記リンク変数μに対する正重みW(μ)=1及び負重みW(¬μ)=1と、前記追加変数ρD' に対する正重みW(ρD' )=ρi,D'及び負重みW(¬ρD' )=1-ρi,D'とを用いて、前記第1の二分決定グラフが表現する論理関数の重み付きモデルカウントを計算し、
前記重み付きモデルカウントの値を前記ネットワーク信頼性の値として計算する、請求項2に記載のネットワーク信頼性計算方法。
【請求項4】
前記イベントd(1≦j≦L)は、1以上の前記リンクeの故障に影響を及ぼす可能性がある天災又は人災の少なくとも一方を含む災害を表す、請求項1乃至3の何れか一項に記載のネットワーク信頼性計算方法。
【請求項5】
連結な無向グラフG=(V,E)と、端点集合K⊂Vと、各イベントd(ただし、1≦j≦L、Lは予め決められたイベント数)の起こる確率r∈[0,1]と、リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dと、所定のイベントの集合D'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とを入力するように構成されている入力部と、
前記無向グラフGと、前記端点集合Kと、前記リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dとに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性を計算するための第1の二分決定グラフを構築するように構成されている構築部と、
前記第1の二分決定グラフを用いて、前記ネットワーク信頼性の値を計算するように構成されている計算部と、
を有するネットワーク信頼性計算装置。
【請求項6】
連結な無向グラフG=(V,E)と、端点集合K⊂Vと、各イベントd(ただし、1≦j≦L、Lは予め決められたイベント数)の起こる確率r∈[0,1]と、リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dと、所定のイベントの集合D'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とを入力する入力手順と、
前記無向グラフGと、前記端点集合Kと、前記リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dとに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性を計算するための第1の二分決定グラフを構築する構築手順と、
前記第1の二分決定グラフを用いて、前記ネットワーク信頼性の値を計算する計算手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ネットワーク信頼性計算方法、ネットワーク信頼性計算装置及びプログラムに関する。
【背景技術】
【0002】
通信ネットワークや電力網、交通網等のネットワークシステムでは、リンクが故障しそのリンクが使えなくなってしまうことが時折発生する。そのようなリンクの故障を確率的な事象と捉えると、或る指定した複数のノード間が接続している確率(つまり、或る指定した複数のノードのうちの任意の2つのノード間を繋ぐ道が存在する確率)を計算することができる。指定したk個のノード間が接続している確率を求める問題はk-ターミナル信頼性問題(k-terminal network reliability、以下、k-NRと略す。)と呼ばれ、その確率はネットワーク信頼性(又は、単に信頼性)とも呼ばれる。一般に、ネットワークサービスではサービス水準合意(SLA:Service Level Agreement)として定められた可能性を満たす必要があり、ネットワーク信頼性はその必要条件となる。このため、ネットワーク信頼性を計算することは、ネットワークの設計や評価のために重要である。
【0003】
ネットワークを構成する各コンポーネント(リンク)が独立に故障するという仮定の下で、ネットワーク信頼性を評価する既存研究が多く存在する。一方で、ネットワークはリンク毎に独立して故障するとは限らず、例えば、大規模な自然災害や軍事攻撃等といった外的要因によって複数のリンクが相関して故障することもあり得る。このような場合、その相関がネットワーク信頼性に大きな影響を与え得る。このため、複数のリンクが相関して故障し得る状況を仮定し、ネットワーク信頼性を評価する既存研究も存在する(例えば、非特許文献1~4等)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Sebastian Neumayer and Eytan Modiano. Network reliability under geographically correlated line and disk failure models. Computer Networks, Vol. 94, pp. 14-28, 2016.
【非特許文献2】Mahshid Rahnamay-Naeini, Jorge E. Pezoa, Ghady Azar, Nasir Ghani, and Majeed M. Hayat. Modeling stochastic correlated failures and their effects on network reliability. In Proceedings of the 20th International Conference on Computer Communications and Networks (ICCCN2011), pp. 1-6, 2011.
【非特許文献3】Liudong Xing. An efficient binary-decision-diagram-based approach for network reliability and sensitivity analysis. IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, Vol. 38, Issue 1, pp. 105-115, 2008.
【非特許文献4】川原純,井上武,笠原正治.リンク故障について任意の依存関係を扱えるネットワーク信頼性評価法.信学技報,Vol. 118, No. 503, CQ2018-113, pp. 111-116, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、例えば、非特許文献1~4等の既存研究では、現実的な状況を仮定していなかったり、ネットワーク信頼性を厳密に評価できなかったり、又は自然災害や軍事攻撃等といったイベントに対してスケーラブルでなかったりする。
【0006】
本開示は、上記の点に鑑みてなされたもので、現実的な状況の下で厳密かつスケーラブルなネットワーク信頼性評価を可能にする技術を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様によるネットワーク信頼性計算方法は、連結な無向グラフG=(V,E)と、端点集合K⊂Vと、各イベントd(ただし、1≦j≦L、Lは予め決められたイベント数)の起こる確率r∈[0,1]と、リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dと、所定のイベントの集合D'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とを入力する入力手順と、前記無向グラフGと、前記端点集合Kと、前記リンクe∈E(ただし、1≦i≦|E|)に影響を及ぼすイベントの集合Dとに基づいて、前記端点集合Kに含まれる全てのノードが接続する確率を表すネットワーク信頼性を計算するための第1の二分決定グラフを構築する構築手順と、前記第1の二分決定グラフを用いて、前記ネットワーク信頼性の値を計算する計算手順と、をコンピュータが実行する。
【発明の効果】
【0008】
現実的な状況の下で厳密かつスケーラブルなネットワーク信頼性評価を可能にする技術が提供される。
【図面の簡単な説明】
【0009】
図1】本実施形態に係るネットワーク信頼性計算装置のハードウェア構成の一例を示す図である。
図2】本実施形態に係るネットワーク信頼性計算装置の機能構成の一例を示す図である。
図3】本実施形態に係るネットワーク信頼性計算処理の一例を示すフローチャートである。
図4】本実施形態に係るBDD構築処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について説明する。
【0011】
<問題設定>
多くの既存研究ではネットワークを構成する各リンクが独立に故障するという仮定の下でネットワーク信頼性を評価している。一方で、ネットワークはリンク毎に独立して故障するとは限らず、例えば、大規模な自然災害や軍事攻撃等といった外的要因によって複数のリンクが相関して故障することもあり得る。このような場合、その相関がネットワーク信頼性に大きな影響を与え得る。なお、以下では、各リンクで独立に発生する故障を「独立故障」、複数のリンクで相関して発生する故障を「相関故障」とも呼ぶことにする。
【0012】
以下では、自然災害や軍事攻撃等といった外的要因をイベントとして、それらのイベントが起こったときの条件付きリンク故障率を与えることによって、複数のリンクが相関して故障する状況をモデル化する。
【0013】
ネットワークは、連結な無向グラフG=(V,E)としてモデル化する。ここで、m=|E|をリンク数とする。これに加えて、複数のリンクの相関故障を考えるために、何等かの災害(例えば、自然災害(天災)、軍事攻撃やその他の人的災害(人災)等)を表すL個のイベントD={d,・・・,d}が存在し、各イベントはそれぞれ決まったリンクの集合に影響を及ぼすと仮定する。Lはイベントの個数である。
【0014】
各イベントが起こるか起こらないかは他のイベントとは独立であると仮定し、イベントdが起こる確率をrと書くことにする。また、リンクe∈Eに対して、リンクeに影響を及ぼすイベントの集合をDと書くことにする。そして、DのうちのいくつかのイベントD'が起こった状況下でリンクeが正しく動作する条件付き確率(条件付きリンク動作確率)をpi,D'と書くことにする。
【0015】
いま、L個のイベントのうちどのイベントが起こったかが確定している状況下では各リンクの状態(動作しているか故障しているか)は独立であるとすると、D'⊆Dのイベントが起こった下で、X⊆Eのリンクが動作し、それ以外のリンクが故障する確率は、
【0016】
【数1】
と表せる。
【0017】
また、ノードの集合K⊆V(このKを端点集合、Kに含まれるノードを「端点」と呼ぶ。)が与えられたとき、D'⊆Dのイベントが起こった下で、Kのノードがすべて接続する確率(つまり、すべての端点間を繋ぐ道が存在する確率)R(K|D')は、
【0018】
【数2】
と計算できる。ここで、Γは、端点集合Kに含まれるすべての端点が、Xの中のリンクにより相互に接続する(つまり、Xに含まれるリンクによりすべての端点が道で繋がれる)ようなリンクの部分集合X⊆Eをすべて集めた集合である。
【0019】
D'⊆Dのイベントが起こり、それ以外のイベントは起こらない確率を考えることで、端点集合Kに含まれるすべての端点が接続する確率(ネットワーク信頼性)R(K)は、
【0020】
【数3】
と表せる。連結な無向グラフGと、端点集合Kと、各イベントの起こる確率rと、各リンクeに影響を及ぼすイベントDと、イベントD'が起こった状況下での条件付きリンク動作確率pi,D'とが与えられたときに、ネットワーク信頼性R(K)の値を計算するのが考えるべき問題である。
【0021】
<既存研究とその課題>
各リンクが独立に故障する下でネットワーク信頼性を評価(計算)する既存研究は数多く存在する。一方で、複数のリンクの相関故障を考慮してネットワーク信頼性を評価(計算)する既存研究は、その計算の難しさのためあまり存在しない。
【0022】
相関故障を考慮した既存研究の多くは、大規模な自然災害や軍事攻撃等といった災害によって複数のリンクが相関して故障する状況を考えている。また、既存研究の多くは、ネットワークが平面上に埋め込まれていて、災害はその平面上で領域を持って発生し、更にその領域(つまり、災害エリア)と重なったリンクは必ず故障すると仮定している。このようなモデルは災害の影響により確実に故障が発生するという意味で決定的であるため、決定的モデルと呼ばれる。一方で、実際は災害が発生しても必ずリンクが故障するとは限らないため、災害の影響によるリンクの故障が確率的であるモデルも考えられており、確率的モデルと呼ばれる。上記の問題設定で説明したモデルは確率的モデルを一般的に記述したものと考えることができる。
【0023】
決定的モデルで、災害エリアが直線や円等といった単純な形状で発生し、更に災害はどこか一つだけで平面上一様ランダムに起こると仮定した場合に、ネットワーク信頼性を高速に計算する手法として、例えば、非特許文献1に記載されている手法が挙げられる。一方で、確率的モデルにおけるネットワーク信頼性を評価する手法として、例えば、非特許文献2に記載されている手法が挙げられる。この非特許文献2に記載されている手法は、ネットワーク信頼性を近似計算する手法である。
【0024】
また、災害エリアの形状を仮定しない決定的モデルに対するネットワーク信頼性を厳密に評価する手法として、例えば、非特許文献3に記載されている手法が挙げられる。この非特許文献3に記載されている手法は、独立故障のネットワーク信頼性評価でよく使われる二分決定グラフ(BDD:Binary Decision Diagram)を用いており、計算時間の増加を許せば確率的モデルでのネットワーク信頼性評価も可能である。
【0025】
更に、上記の問題設定で説明したモデルとは異なった手法でリンクに相関故障が確率的に発生する状況をモデル化し、そのネットワーク信頼性を厳密に評価する手法として、例えば、非特許文献4に記載されている手法が挙げられる。この非特許文献4に記載されている手法では、具体的にはリンクをいくつかのグループに分け、同一グループ内のリンクは相関して故障するという状況を想定している。
【0026】
しかしながら、決定的モデルは、災害の影響がリンクに確定的に及ぶという点で現実とは乖離する。また、非特許文献1に記載されている手法では、災害のエリアが特定の単純な形状であり、災害がどこか一つだけで一様ランダムに起こると仮定している点も現実から乖離している。一方で、非特許文献2に記載されている手法は、確率的モデルにおけるネットワーク信頼性を評価する手法であるが、サンプリングによる近似が利用されており、50%以上の大きな相対誤差を含み得るためその評価に正確性があるとは言い難い。また、非特許文献3に記載されている手法を確率的モデルに拡張した場合、指数的なパターン数のイベント発生の組み合わせ(例えば、イベントの個数がLであれば、2通りの組み合わせ)のそれぞれに対して、指数的な複雑性の計算をする必要があり、全くスケーラブルでない。更に、非特許文献4に記載されている手法は、理論上は任意の相関故障をモデル化できるものの、現実的には相関して故障するグループが各々小さい場合でしか効率的に動作しない。現実的にはリンク故障の相関が小さいグループに限局されることは稀であり、非特許文献4に記載されている手法は現実を十分に反映したものとはいえない。
【0027】
以上のように、既存研究で提案されている手法では、より現実的な状況を反映した確率的モデルにおけるネットワーク信頼性はスケーラブルでなく、また厳密に評価(計算)することができない。
【0028】
<提案手法>
本実施形態では、より現実的な状況を反映した確率的モデルにおけるスケーラブルなネットワーク信頼性を厳密に評価(計算)することができる手法を提案し、この提案手法を実行するネットワーク信頼性計算装置10について説明する。
【0029】
本提案手法では、確率的モデルにおけるスケーラブルなネットワーク信頼性評価を厳密に行うために、BDDを用いてネットワーク信頼性を評価する。端点が接続しないリンクの故障パターンを暗黙的に列挙するのにBDDを用いるのに加えて、各イベントの発生及びイベント発生時の条件付きリンク動作確率もBDDを用いて表現する。これにより、すべてのイベントの発生パターンを明示的に処理することなく(つまり、スケーラブルに)、相関故障のある確率的モデルにおけるネットワーク信頼性を厳密に評価(計算)することができる。
【0030】
<準備>
提案手法の説明に必要な準備として、論理関数とBDDの構造について説明する。
【0031】
≪論理関数≫
論理関数とは、複数の二値変数(true又はfalseのいずれかの値を取る変数)の値の組を受け取り、二値(true又はfalseのいずれか)を返す関数である。例えば、f(a,b)=a∧bという関数は、a,bという2つの二値変数の値を受け取り、aもbもtrueである場合はtrueを返し、それ以外の場合はfalseを返す論理関数である。
【0032】
≪BDDの構造≫
BDDとは、論理関数を根付きの有向非巡回グラフB=(N,A)として表現するデータ構造である。ここで、Nは頂点の集合、Aは有向辺の集合である。なお、頂点はノード、有向辺は有向リンク等と呼ばれてもよいが、ネットワーク信頼性の計算対象となるネットワークのノード、リンクと区別するため、本実施形態では頂点、有向辺(又は、単に「辺」)と呼ぶことにする。
【0033】
根とは、その頂点に向かう辺が一つも無いような頂点のことである。以下、根をr∈Nと書くことにする。
【0034】
頂点集合Nは、出る辺が無い特別な頂点である2つの終端頂点
【0035】
【数4】
と、それ以外の内部頂点とに大別される。また、各内部頂点
【0036】
【数5】
は、LO辺及びHI辺と呼ばれる2つの出る辺とラベルとを持つ。内部頂点vのLO辺が指す先の頂点をLO子頂点と呼び、lo(v)と書く。同様に、内部頂点vのHI辺が指す先の頂点をHI子頂点と呼び、hi(v)と書く。内部頂点vのラベルは、BDDが表現する論理関数の変数の名前のいずれかであり、var(v)と書く。BDDのラベルは、根から辺を一つずつ辿っていった際に出現する頂点のラベルの順番が事前に決められた変数の順番と矛盾しない必要がある。この事前に決められた変数の順番のことを変数順と呼ぶ。
【0037】
BDDの構造が与えられると、その各頂点vに対して、当該頂点vに対応する論理関数fが以下により再帰的に定義される。
【0038】
・vが終端頂点である場合
【0039】
【数6】
である場合、f=trueとする。一方で、v=⊥である場合、f=falseとする。これらはそれぞれ恒真関数(入力に関わらずtrueになる論理関数)、恒偽関数(入力に関わらずfalseになる論理関数)である。
【0040】
・vが終端頂点以外の頂点(内部頂点)である場合
この場合、f=(¬var(v)∧flo(v))∨(var(v)∧fhi(v))とする。
【0041】
このとき、根rに対応する論理関数fが、そのBDDが表現する論理関数となる。
【0042】
BDDでは、同じ変数順に従う2つのBDDがあったときに、それぞれのBDDが表現する論理関数の二項演算(論理積(AND、∧)や論理和(OR、∨)等)の結果を表現するBDDを、Apply又はApply演算と呼ばれるアルゴリズムにより容易に計算することができる(例えば、参考文献1)。
【0043】
<ネットワーク信頼性計算装置10のハードウェア構成例>
本実施形態に係るネットワーク信頼性計算装置10のハードウェア構成例を図1に示す。図1に示すように、本実施形態に係るネットワーク信頼性計算装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
【0044】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、ネットワーク信頼性計算装置10は、例えば、入力装置101及び表示装置102の少なくとも一方を有していなくてもよい。
【0045】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。ネットワーク信頼性計算装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0046】
通信I/F104は、ネットワーク信頼性計算装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等のストレージ装置(記憶装置)である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算装置である。
【0047】
本実施形態に係るネットワーク信頼性計算装置10は、図1に示すハードウェア構成を有することにより、後述するネットワーク信頼性計算処理を実現することができる。なお、図1に示すハードウェア構成は一例であって、ネットワーク信頼性計算装置10のハードウェア構成はこれに限られるものではない。例えば、ネットワーク信頼性計算装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
【0048】
<ネットワーク信頼性計算装置10の機能構成例>
本実施形態に係るネットワーク信頼性計算装置10の機能構成例を図2に示す。図2に示すように、本実施形態に係るネットワーク信頼性計算装置10は、入力部201と、構築部202と、計算部203と、出力部204とを有する。これら各部は、例えば、ネットワーク信頼性計算装置10にインストールされた1以上のプログラムが、プロセッサ108に実行させる処理により実現される。
【0049】
入力部201は、連結な無向グラフG=(V,E)と、端点集合K⊆Vと、L個の各イベントdの起こる確率r∈[0,1]と、各リンクe∈Eに対してeに影響を及ぼすイベントの集合Dと、イベントD'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'とが与えられたときに、これらを入力する。
【0050】
構築部202は、無向グラフGと端点集合Kと各リンクeに影響を及ぼすイベントの集合Dとに基づいて、ネットワーク信頼性を計算するためのBDDを構築する。
【0051】
計算部203は、ネットワーク信頼性を計算するためのBDDを用いて、そのネットワーク信頼性の値を計算する。
【0052】
出力部204は、ネットワーク信頼性の値を予め決められた所定の出力先に出力する。なお、所定の出力先としては、例えば、ディスプレイ等の表示装置102、補助記憶装置107、通信ネットワークを介して接続される他の装置又は機器等が挙げられる。
【0053】
<ネットワーク信頼性計算処理>
以下、本実施形態に係るネットワーク信頼性計算処理について、図3を参照しながら説明する。
【0054】
入力部201は、与えられた連結な無向グラフG=(V,E)、端点集合K⊆V、L個の各イベントdの起こる確率r∈[0,1]、各リンクe∈Eに対してeに影響を及ぼすイベントの集合D、及びイベントD'⊆Dが起こった状況下でリンクeが正しく動作する条件付きリンク動作確率pi,D'を入力する(ステップS101)。
【0055】
次に、構築部202は、無向グラフGと端点集合Kと各リンクeに影響を及ぼすイベントの集合Dとに基づいて、ネットワーク信頼性を計算するためのBDDを構築する(ステップS102)。なお、本ステップの処理の詳細については後述する。
【0056】
次に、計算部203は、上記のステップS102で構築されたBDDを用いて、ネットワーク信頼性の値を計算する(ステップS103)。なお、本ステップの処理の詳細については後述する。
【0057】
そして、出力部204は、上記のステップS103で計算されたネットワーク信頼性の値を所定の出力先に出力する(ステップS104)。
【0058】
<構築部202が実行する処理の詳細>
以下、図3のステップS102の処理(BDD構築処理)の詳細について、図4を参照しながら説明する。
【0059】
まず、構築部202は、必要な二値変数を用意し、それらの順番(変数順)を決定する(ステップS201)。ここで、本実施形態では、以下の3種類の二値変数を用意する。
【0060】
・各イベントdに対して、二値変数λ(これをイベント変数と呼ぶ。)
・各リンクeに対して、二値変数μ(これをリンク変数と呼ぶ。)
・各リンクe及び各イベントの部分集合D'⊆Dに対して、二値変数ρD' (これを追加変数と呼ぶ。)
これらの二値変数に対して、以下の手順1-1~手順1-3によりそれらの順番を決める。
【0061】
手順1-1:まず、リンクeを適当な順番に並べて、リンク変数μの順番をそれに対応するリンクeの順番と同様に定める。リンクeの順番は、例えば、参考文献2に記載されているアルゴリズムにより決めればよい。この参考文献2に記載されているアルゴリズムは、ゼロサプレス型二分決定グラフ(ZDD:Zero-suppressed Binary Decision. Diagrams)を構築するためのフロンティア法を対象として、それを効率的に実行できるリンクの順番を決めるものである。
【0062】
手順1-2:次に、各イベント変数λの順番を、そのイベント変数λに対応するイベントdが影響を及ぼすリンクeのリンク変数μの中で、その順番が最初であるものの直前とする。
【0063】
手順1-3:最後に、各追加変数ρD' の順番を、その追加変数ρD' に対応するリンクeのリンク変数μの直前とする。
【0064】
次に、構築部202は、信頼性論理関数と呼ばれる論理関数を表現するBDDを構築する(ステップS202)。ここで、信頼性論理関数とは、リンク変数μ,・・・,μを受け取る論理関数であり、次のように定義される。各リンクeの状態、すなわち、そのリンクeが動作しているか故障しているかを定めて、そのリンクeが動作していればμ=true、故障していればμ=falseとする。このとき、リンク変数μ,・・・,μに対応するリンクe,・・・,eの状態の下で、動作しているリンクのみで端点集合Kに含まれるすべての端点が接続していればf=true、そうでなければf=falseとなる論理関数fを信頼性論理関数と呼ぶ。このような信頼性論理関数を表現するBDDを効率的に構築する方法として、例えば、参考文献3に記載されている手法がある。したがって、構築部202は、例えば、この参考文献3に記載されている手法により信頼性論理関数を表現するBDDを構築すればよい。
【0065】
次に、構築部202は、相関関係を表現するBDDを構築する(ステップS203)。ここで、相関関係を表現するBDDを構築するために、まずは、相関関係を表現する論理関数を考える。相関関係を論理関数で表現する手法としては、例えば、参考文献4に記載されている手法等が存在する。以下で説明する手法は、この参考文献4に記載されている手法を本実施形態で対象とする相関関係向けに改良したものである。
【0066】
各追加変数ρD' に対して、以下の2つの節を考える。
【0067】
【数7】
そして、すべての節の論理積(AND、∧)を取った論理関数を、相関関係を表現する論理関数とする。各節を表現するBDDは容易に構築することができ、またそれらの論理積の結果を表現するBDDはApply演算により容易に構築することができる。これにより最終的に得られたBDDが、相関関係を表現するBDDである。
【0068】
最後に、構築部202は、信頼性論理関数を表現するBDDと相関関係を表現するBDDとの論理積の結果を表現するBDDを構築し、そのBDDを出力する(ステップS204)。この論理積の結果を表現するBDDも、Apply演算により容易に構築することができる。これにより得られたBDDが、ネットワーク信頼性を計算するためのBDDである。
【0069】
<計算部203が実行する処理の詳細>
以下、図3のステップS103の処理(ネットワーク信頼性の値を計算する処理)の詳細について説明する。図3のステップS103において、計算部203は、図3のステップS102で構築されたBDD(ネットワーク信頼性を計算するためのBDD)を用いて、重み付きモデルカウントと呼ばれる処理を実行する。そこで、まずは、一般の論理関数f(x,・・・,x)を用いた重み付きモデルカウントについて説明する。
【0070】
論理関数fのモデルとは、fの出力をtrueにする(x,・・・,x)への値(true、false)の割当のことである。また、各二値変数xに対して正重みW(x)及び負重みW(¬x)を定める。そして、fの或るモデルの重みを、
【0071】
【数8】
で定める。このとき、fの重み付きモデルカウントとは、fのすべてのモデルの重みを足し上げたものである。
【0072】
fの重み付きモデルカウントは、fを表現するBDDがあれば高速に計算することができる。論理関数f(x,・・・,x)に対して、その変数順がxσ(1),・・・,xσ(n)であるものとする。また、この変数順において、xσ(1)以外の変数xに対して、その一つ前の変数をprev(x)と書くことにする。すると、重み付きモデルカウントは、以下の手順2-1~手順2-3によりT(・)を順に計算することで求めることができる。
【0073】
手順2-1:まず、
【0074】
【数9】
とする。
【0075】
手順2-2:次に、各内部頂点vについて、その内部頂点vのラベルvar(v)が表す名前(変数の名前)が変数順で後に出現するものから順番に以下を計算する。
【0076】
【数10】
【0077】
手順2-3:var(r)=xσ(1)である場合、根rに対応するT(r)が重み付きモデルカウントの値である。一方で、var(r)≠xσ(1)である場合、T(r)に対してWacc(prev(var(r)))を掛けたものが重み付きモデルカウントの値である。
【0078】
ただし、二値変数xに対して、
【0079】
【数11】
とする。また、便宜上、
【0080】
【数12】
とする。
【0081】
ネットワーク信頼性の値は、図3のステップS102で構築されたBDD(ネットワーク信頼性を計算するためのBDD)が表現する論理関数に対して、以下のように正重みと負重みを設定した上で、上述した重み付きモデルカウントを計算することで求めることができる。
【0082】
・各イベント変数λに対して、W(λ)=r、W(¬λ)=1-rと設定する。
【0083】
・各リンク変数μに対して、W(μ)=W(¬μ)=1と設定する。
【0084】
・各追加変数ρD' に対して、W(ρD' )=ρi,D'、W(¬ρD' )=1-ρi,D'と設定する。
【0085】
すなわち、上記のように正重みと負重みを設定したときの重み付きモデルカウントの値が、ネットワーク信頼性の値となる。
【0086】
<まとめ>
以上のように、本実施形態に係るネットワーク信頼性計算装置10によれば、相関故障のある確率的モデルでモデル化されたネットワークにおけるネットワーク信頼性の厳密評価が可能になる。また、このとき、2個のイベントのパターンを明示的に処理することなくネットワーク信頼性の値を計算することができるため、従来手法と比べてスケーラビリティの大幅な向上が期待できる。実際、各イベントがネットワークのノードと関連付けられていて、そのノードに隣接するリンクに影響を及ぼすようなモデルを考えた場合、上記の実施形態に係るネットワーク信頼性計算処理の計算量は従来手法と比べて小さくなることが理論的に示せる。
【0087】
相関故障のある確率的モデルは、各リンクが独立に故障する仮定を入れたモデルや決定的モデル等と比べて、より精緻に現実的な状況を考慮していると考えられるため、本実施形態に係るネットワーク信頼性計算装置10によれば、より現実的な状況におけるネットワーク信頼性を評価することができる。
【0088】
なお、本実施形態に係るネットワーク信頼性計算装置10は、例えば、ネットワーク工学や信頼性工学等といった技術分野に属し、これらの技術分野に属する技術の応用先となる様々な対象に対して同様に応用することが可能である。
【0089】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【0090】
[参考文献]
参考文献1:Randal E. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, Vol. C-35, Issue 8, pp. 677-691, 1986.
参考文献2: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.
参考文献3: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.
参考文献4:Mark Chavira and Adnan Darwiche. On probabilistic inference by weighted model counting. Artificial Intelligence, Vol. 172, pp. 772-799, 2007.
【符号の説明】
【0091】
10 ネットワーク信頼性計算装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 入力部
202 構築部
203 計算部
204 出力部
図1
図2
図3
図4