去年(平成23年)ネットワークスペシャリスト秋 午前、問23です。


 ノード N1 とノード N2 の間をノード N を介して通信路で結んだデータ伝送網がある。
N1 と N2 の間の構成について A ~ C の三つの案を考えた。
ノードは故障しないものとし、各ノード間の通信路が故障する確率は、すべて等しく F(O<F<1) とする。
三つの案を稼働率が高い順に並べたものはどれか。

   A 案       B 案          C 案

   (N)       (N)        _       _
  / \      /│\      / \    / \
 /   \    / │ \    /   \  /   \
(N1)   (N2)  (N1) │ (N2)  (N1)    (N)    (N2)
 \   /    \ │ /    \   /  \   /
  \ /      \│/      \ /    \ /
   (N)       (N)         ̄       ̄

 ア B 案 > A 案 > C 案
 イ B 案 > C 案 > A 案
 ウ C 案 > A 案 > B 案
 エ C 案 > B 案 > A 案

答えは エ なのですが、F=0.5の場合の各案の数値と計算式を教えていただけますか?
よろしくおねがいします。

回答の条件
  • 1人3回まで
  • 登録:2011/01/06 09:47:03
  • 終了:2011/01/13 09:50:03

ベストアンサー

id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582011/01/06 14:05:30

ポイント35pt

基本的には各ノード間通信の稼働/故障の組み合わせを数えるしかないと思います。

全組み合わせ

故障した通信路

稼働可能な組み合わせ

各組み合わせが起こる確率

A

16

0

1

(1-F)^4

1

4

F(1-F)^3

2

2

F^2(1-F)^2

B

32

0

1

(1-F)^5

1

5

F(1-F)^4

2

8

F^2(1-F)^3

3

2

F^3(1-F)^2

C

16

0

1

(1-F)^4

1

4

F(1-F)^3

2

4

F^2(1-F)^2

全ての組み合わせの数はノード間通信の数に依存し、各組み合わせが起こる確率はノード間通信の数と故障した通信路の数に依存します。

稼働率は(稼働可能な組み合わせ)×(各組み合わせが起こる確率)の和になるので、以下のようになります。

稼働率

F=0.5 の時の稼働率

A

(1-F)^4 + 4F(1-F)^3 + 2F^2(1-F)^2

7/16

B

(1-F)^5 + 5F(1-F)^4 + 8F^2(1-F)^3 + 2F^3(1-F)^2

16/32

C

(1-F)^4 + 4F(1-F)^3 + 4F^2(1-F)^2

9/16

しかし、計算式を当てはめると、B案だけ答えが16/32にならないんです。

あてはめた計算式の提示があった方が有効な回答を得やすいと思います。

ただし、そんな計算を実際にしなくても、

  • B案はA案に対し、(N)-(N)間の通信が増えて冗長性が増しているので稼働率があがるのは明らか。
  • C案はB案に対し、(N)-(N)間の通信の故障率が0になったものとみなせるので稼働率があがるのは明らか。

という事で C>B>A と導けます。

id:kei_kikurin

自力で答え(エ)が正解だったのでさらに考えました。

すると(数えればわかるので)7/16 16/32 9/16もわかったので、

もっと理解度を深めるために稼働率の数式にあてはめてみたんです。

F=0.5の場合ですが、

直列の場合の稼働率=0.5*0.5

並列の場合の稼働率=1-(1-0.5)*(1-0.5)

A案

0.5*0.5=0.25

1-(1-0.25)*(1-0.25)=0.4375

A案の稼働率=0.4375

C案

(1-(1-0.5)*(1-0.5))=0.75

0.75*0.75=0.5625

問題のB案ですが、

N1からNまでは、

(0.5*0.5)=0.25

1-(1-0.25)*(1-0.5)=0.625

さらにN2までは、

0.625*0.5=0.3125

全体は並列なので、1-(1-0.3125)*(1-0.3125)=0.47265625

まあ、これでも、正解のエの正解の範疇なのですが、

1/2にならないので、並列の計算式と直列の計算式で試行錯誤をして、色々考えてやってみました。

わかってる正解の値が出ないので、

1/32=0.03125を使って、各ノード間の計算式を導こうと考えたり、

仮にN1から100を流した場合のノードまでの到達度とか考えながら、

計算式を考えたり、色々試行錯誤してみました。

まあ、考えるのは楽しいんですが(^^)さすがに質問してみました。

お答えありがとうございます。

2011/01/08 01:39:07

その他の回答(1件)

id:dungeon-master No.1

dungeon-master回答回数571ベストアンサー獲得回数402011/01/06 11:48:20

ポイント35pt

ノードが故障せずノード間の故障確率が全て等しいということは

径路の故障率が影響を与える問題ではないということを示しています。

各経路がOKかNGかの場合分けを表に書き出して、それぞれの場合で

N1-N2が通信できる状態の数を確認した方が早いでしょう。


表は割愛しますが、各案で以下のようになります。


A案の場合

4本の経路の取りうる故障の状態は16通り(2^4)

このうち、通信ができるのは、

 4本ともOK 1通り

 下2本OK 上不問 3通り(4本ともOKを除くので) 

 上2本OK 下不問 3通り(4本ともOKを除くので) 

つまり、7/16の場合で通信可能。


C案の場合

4本の経路の取りうる故障の状態は16通り(2^4)

このうち、通信ができないのは、

 4本ともNG 1通り

 N1-N 上下NG N-N2不問 3通り(4本ともNGを除くので) 

 N-N2 上下NG N1-N不問 3通り(4本ともNGを除くので) 

つまり、7/16の場合で通信不能→9/16の場合で通信可能。


B案の場合、

4本の経路の取りうる故障の状態は32通り(2^5)

N-NがOKならC案と同等、N-NがNGの場合はA案と同等といえるので、

32通りのうち7+9=16通り、つまり1/2の場合で通信可能。

id:kei_kikurin

回答ありがとうございます。考え方と答えは私も同じでした。

しかし、計算式を当てはめると、B案だけ答えが16/32にならないんです。

直列の場合の稼働率=1/2×1/2

並列の場合の稼働率=1-(1-1/2)×(1-1/2)

これが基本だと思うんですが・・・。

これからお答えする方は、B案の計算式をおしえてくださいますか。

よろしくおねがします。

2011/01/06 12:44:44
id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582011/01/06 14:05:30ここでベストアンサー

ポイント35pt

基本的には各ノード間通信の稼働/故障の組み合わせを数えるしかないと思います。

全組み合わせ

故障した通信路

稼働可能な組み合わせ

各組み合わせが起こる確率

A

16

0

1

(1-F)^4

1

4

F(1-F)^3

2

2

F^2(1-F)^2

B

32

0

1

(1-F)^5

1

5

F(1-F)^4

2

8

F^2(1-F)^3

3

2

F^3(1-F)^2

C

16

0

1

(1-F)^4

1

4

F(1-F)^3

2

4

F^2(1-F)^2

全ての組み合わせの数はノード間通信の数に依存し、各組み合わせが起こる確率はノード間通信の数と故障した通信路の数に依存します。

稼働率は(稼働可能な組み合わせ)×(各組み合わせが起こる確率)の和になるので、以下のようになります。

稼働率

F=0.5 の時の稼働率

A

(1-F)^4 + 4F(1-F)^3 + 2F^2(1-F)^2

7/16

B

(1-F)^5 + 5F(1-F)^4 + 8F^2(1-F)^3 + 2F^3(1-F)^2

16/32

C

(1-F)^4 + 4F(1-F)^3 + 4F^2(1-F)^2

9/16

しかし、計算式を当てはめると、B案だけ答えが16/32にならないんです。

あてはめた計算式の提示があった方が有効な回答を得やすいと思います。

ただし、そんな計算を実際にしなくても、

  • B案はA案に対し、(N)-(N)間の通信が増えて冗長性が増しているので稼働率があがるのは明らか。
  • C案はB案に対し、(N)-(N)間の通信の故障率が0になったものとみなせるので稼働率があがるのは明らか。

という事で C>B>A と導けます。

id:kei_kikurin

自力で答え(エ)が正解だったのでさらに考えました。

すると(数えればわかるので)7/16 16/32 9/16もわかったので、

もっと理解度を深めるために稼働率の数式にあてはめてみたんです。

F=0.5の場合ですが、

直列の場合の稼働率=0.5*0.5

並列の場合の稼働率=1-(1-0.5)*(1-0.5)

A案

0.5*0.5=0.25

1-(1-0.25)*(1-0.25)=0.4375

A案の稼働率=0.4375

C案

(1-(1-0.5)*(1-0.5))=0.75

0.75*0.75=0.5625

問題のB案ですが、

N1からNまでは、

(0.5*0.5)=0.25

1-(1-0.25)*(1-0.5)=0.625

さらにN2までは、

0.625*0.5=0.3125

全体は並列なので、1-(1-0.3125)*(1-0.3125)=0.47265625

まあ、これでも、正解のエの正解の範疇なのですが、

1/2にならないので、並列の計算式と直列の計算式で試行錯誤をして、色々考えてやってみました。

わかってる正解の値が出ないので、

1/32=0.03125を使って、各ノード間の計算式を導こうと考えたり、

仮にN1から100を流した場合のノードまでの到達度とか考えながら、

計算式を考えたり、色々試行錯誤してみました。

まあ、考えるのは楽しいんですが(^^)さすがに質問してみました。

お答えありがとうございます。

2011/01/08 01:39:07
  • id:i_kumagoro
    > N1からNまでは、
    > (0.5*0.5)=0.25
    > 1-(1-0.25)*(1-0.5)=0.625
    > さらにN2までは、
    > 0.625*0.5=0.3125
    > 全体は並列なので、1-(1-0.3125)*(1-0.3125)=0.47265625

    N1から上側のNを通って上側のNからN2へ向かう経路と
    N1から下側のNを通って下側のNからN2へ向かう経路とで
    別々に稼働率を求めているようですが、
    互いに独立事象ではないので単純に別個に計算する事はできません。
  • id:kei_kikurin
    お答えありがとうございます。
    今回は理解度を確認するために自分ですこし掘り下げて考えて、わからないところを質問させていただきました。
    とても勉強になりました。
    一緒に考えていただいた皆様、お答えくださった方々、ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません