---
title: "直列・並列システムの稼働率とは？信頼度の計算と見分け方【基本情報技術者試験】"
description: "直列システムと並列システムの稼働率を、全て正常である必要がある場合と少なくとも一つ正常ならよい場合に分け、故障確率を使う計算手順と判断基準を解説します。"
last_modified_at: "2026-07-17"
canonical_url: "https://stemtazoo.github.io/fe/series-parallel-system-availability/"
section: "fe"
---

## まず結論

直列システムと並列システムは、**システムが動作するために何台の装置が必要か**で見分けます。

- 全ての装置が正常である必要がある → 直列システム
- 少なくとも一つの装置が正常ならよい → 並列システム

2台の稼働率をそれぞれ \(R_1\)、\(R_2\) とすると、基本式は次のとおりです。

```text
直列システム
R1 × R2

並列システム
1 - (1 - R1)(1 - R2)
```

試験では、公式を先に思い出すよりも、**どの状態ならシステムが動くか**を確認すると判断しやすくなります。

## 直感的な説明

### 直列システム

製造工程で、装置Aの処理後に装置Bの処理が必要な場合を考えます。

```text
装置A → 装置B → 完成
```

AとBのどちらか一方でも停止すると、製品を完成させられません。

```text
全て正常である必要がある
→ 直列システム
```

### 並列システム

同じ役割を持つ装置を2台用意し、どちらか一方が動けば処理を続けられる場合を考えます。

```text
      ┌ 装置A ┐
入力            出力
      └ 装置B ┘
```

この場合、2台とも故障したときだけシステムが停止します。

```text
少なくとも一方が正常ならよい
→ 並列システム
```

## 定義・仕組み

### 稼働率とは

稼働率は、装置やシステムが正常に動作している確率や時間の割合です。

例えば、稼働率が0.9なら、正常に動作する確率は90%です。

```text
正常に動作する確率
= 0.9

故障する確率
= 1 - 0.9
= 0.1
```

### 直列システムの計算

直列システムでは、全ての装置が正常である必要があります。

2台の装置の稼働率がそれぞれ \(R_1\)、\(R_2\) の場合、システム全体の稼働率は、

```text
R1 × R2
```

です。

2台とも稼働率0.9なら、

```text
0.9 × 0.9 = 0.81
```

となります。

### 並列システムの計算

並列システムでは、少なくとも一つの装置が正常ならシステムは動作します。

正常の場合を直接足すと重複が発生するため、**全て故障する確率を1から引く**方法が安全です。

```text
並列システムの稼働率
= 1 - 全ての装置が故障する確率
```

2台の装置の稼働率がそれぞれ \(R_1\)、\(R_2\) の場合、故障確率は、

```text
装置1の故障確率 = 1 - R1
装置2の故障確率 = 1 - R2
```

したがって、2台とも故障する確率は、

```text
(1 - R1)(1 - R2)
```

です。

よって、並列システムの稼働率は、

```text
1 - (1 - R1)(1 - R2)
```

となります。

2台とも稼働率0.9なら、

```text
1 - (1 - 0.9)²
= 1 - 0.1²
= 1 - 0.01
= 0.99
```

です。

### 同じ稼働率の装置がn台ある場合

各装置の稼働率を \(R\) とすると、次のように整理できます。

```text
直列システム
R^n

並列システム
1 - (1 - R)^n
```

装置数が増えると、直列システムでは全て正常である条件が厳しくなるため稼働率は下がります。

一方、並列システムでは全てが同時に故障する可能性が低くなるため、稼働率は上がります。

このテーマは、基本情報技術者試験のコンピュータシステムや信頼性に関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html)から確認できます。

## 科目Aでどう出る？

科目Aでは、次のような表現から直列・並列を判断します。

| 問題文の表現 | 構成 | 考え方 |
|---|---|---|
| 全て正常でなければならない | 直列 | 稼働率を掛ける |
| どれか一つでも故障すると停止する | 直列 | 稼働率を掛ける |
| 少なくとも一つ正常ならよい | 並列 | 全故障確率を1から引く |
| 全て故障したときだけ停止する | 並列 | 全故障確率を1から引く |

### 試験中の解き方

```text
1. システムが動く条件を読む
2. 全て必要なら直列と判断する
3. 一つでも動けばよいなら並列と判断する
4. 稼働率と故障確率を区別する
5. 式へ代入する
6. 答えが0〜1の範囲か確認する
```

### 2つの構成の差を求める問題

直列と並列の稼働率の差を求める問題では、それぞれを別々に計算してから引きます。

稼働率0.9の装置が2台ある場合は、

```text
直列
0.9 × 0.9 = 0.81

並列
1 - 0.1 × 0.1 = 0.99

差
0.99 - 0.81 = 0.18
```

となります。

## どんな場面で使う？

直列・並列システムの考え方は、システムや設備の信頼性を検討するときに使います。

### 直列システムの例

- 複数工程のどれか一つが止まると生産できない製造ライン
- CPU、メモリ、ストレージのどれかが故障すると動かないコンピュータ
- 複数の通信区間のどこかが切れると通信できない経路

### 並列システムの例

- 同じ役割を持つサーバを複数台用意した冗長構成
- 主系が故障したときに予備系へ切り替える構成
- 同じ処理を行えるポンプやファンを複数台用意した設備

並列化すると稼働率は上がりますが、実際には切替装置や共通電源などの故障も考慮する必要があります。

試験問題では、問題文に「処理装置以外の要因は考慮しない」とある場合、指定された装置だけで計算します。

## よくある誤解・混同

### 誤解1：並列システムでは稼働率を足す

単純に、

```text
0.9 + 0.9
```

とはできません。

確率が1を超えるうえ、2台とも正常な場合を重複して数えることになります。

並列システムは、

```text
1 - 全故障確率
```

で求めると安全です。

### 誤解2：「少なくとも一方」を片方だけ正常と考える

「少なくとも一方が正常」には、次の全てが含まれます。

```text
装置Aだけ正常
装置Bだけ正常
装置Aも装置Bも正常
```

そのため、**全て故障している場合以外**と考えます。

### 誤解3：直列・並列を図の見た目だけで判断する

図がなく、文章だけで出題されることもあります。

```text
全て必要
→ 直列

一つでも動けばよい
→ 並列
```

という動作条件で判断します。

### 誤解4：稼働率と故障率を混同する

稼働率が0.9なら故障率は0.1です。

```text
故障率 = 1 - 稼働率
```

並列システムの計算では、故障率を使って全故障確率を求めます。

### 誤解5：並列化すれば必ず停止しない

並列化しても、全ての装置が故障する可能性は残ります。

また、電源や制御装置などを共有している場合、その共通部分の故障で全体が停止することがあります。

試験では、問題文で考慮する範囲を確認します。

## 確認問題（基本情報技術者試験対策）

稼働率がそれぞれ0.8である同じ機能の装置を2台用意し、少なくとも一方が正常に動作すればシステムを利用できるものとする。このシステムの稼働率は幾らか。ただし、2台の故障は互いに独立しているものとする。

- ア. 0.64
- イ. 0.80
- ウ. 0.96
- エ. 1.60

<details markdown="1">
<summary>▶ クリックして答えと解説を見る（ここを開く）</summary>

**正解：ウ**

少なくとも一方が正常ならよいため、並列システムです。

1台の故障確率は、

```text
1 - 0.8 = 0.2
```

です。

2台とも故障する確率は、

```text
0.2 × 0.2 = 0.04
```

です。

したがって、システムの稼働率は、

```text
1 - 0.04 = 0.96
```

となります。

- アは、2台とも正常である確率であり、直列システムの計算です。
- イは、装置1台だけの稼働率です。
- エは、稼働率を単純に足した値で、確率として1を超えています。

</details>

## まとめ（試験直前用）

- 全ての装置が正常である必要がある → 直列システム
- 少なくとも一つ正常ならよい → 並列システム
- 直列は稼働率を掛ける
- 並列は全故障確率を1から引く
- 故障率は `1 - 稼働率`
- 並列の稼働率を単純に足してはいけない

```text
全て必要
→ 掛け算

一つでも動けばよい
→ 1 - 全故障確率
```
