IT用語を超やさしく理解する

場合の数・順列・組合せ

別名: 場合の数 / 順列 / 組合せ / 階乗 / permutation / combination

30秒で思い出す

場合の数は「条件に合う結果が何通りあるか」を数える考え方です。

特に大切なのは、選んだものの順番や役割に意味があるかです。

  • 順番・役割に意味がある → 順列
  • 選ぶメンバーだけが大切 → 組合せ

たとえばA・B・Cの3人から2人を選ぶとき、

  • 「委員長と副委員長」を決める → A委員長・B副委員長と、B委員長・A副委員長は別 → 順列
  • 「代表2人」を選ぶ → AとBを選ぶことと、BとAを選ぶことは同じ → 組合せ

と考えます。

超やさしく理解

「何通りある?」と聞かれたら、いきなり公式を使う前に何を区別する問題なのかを確認します。

A・B・Cの3人から、委員長と副委員長を1人ずつ決める場合を考えます。

委員長には3人の候補があります。委員長を1人決めた後、副委員長は残り2人から選びます。

3 × 2 = 6通り

一方、3人から「代表2人」を選ぶだけなら、

{A, B}
{A, C}
{B, C}

の3通りです。

同じ2人でも役割の違いを数えるかどうかで、答えが変わります。

場合の数の基本

場合の数を数えるとき、よく使う考え方が2つあります。

続けて選ぶなら掛ける

「最初にAを選び、その後Bを選ぶ」のように選択が段階的に続くときは、各段階の選び方を掛けます。

たとえば、上着が3種類、ズボンが2種類あり、上着とズボンを1つずつ選ぶなら、

3 × 2 = 6通り

です。

別々の場合をまとめるなら足す

互いに重ならない複数の場合に分けられるなら、それぞれの場合の数を足します。

たとえば「赤いカード3枚または青いカード2枚から1枚を選ぶ」なら、

3 + 2 = 5通り

です。

ただし、同じ結果を二重に数えていないかは確認が必要です。

階乗

1からnまでの整数を全部掛けたものを階乗と呼び、n! と書きます。

4! = 4 × 3 × 2 × 1 = 24

4人全員を1列に並べる方法は24通りなので、4! で求められます。

なお、式を統一して扱うため、

0! = 1

と定義します。

順列

n個の異なるものからr個を選び、順番を付けて並べる場合の数が順列です。

nPr = n! / (n-r)!

たとえば5人から委員長と副委員長を決めるなら、

5P2 = 5 × 4 = 20

です。

誰を選ぶかだけでなく、どちらの役割にするかまで区別するため20通りになります。

組合せ

n個の異なるものからr個を選び、選んだ順番を区別しない場合の数が組合せです。

nCr = n! / (r! × (n-r)!)

たとえば5人から代表2人を選ぶなら、

5C2 = 10

です。

順列の 5P2 = 20 では、A→BとB→Aを別々に数えています。代表2人を選ぶだけならこの2つは同じ選び方なので、2人の並べ方 2! で割ります。

5C2 = 5P2 / 2! = 20 / 2 = 10

順列と組合せをどう見分ける?

問題文で次を確認します。

順列になりやすい言葉

  • 順番に並べる
  • 1位・2位・3位を決める
  • 委員長・副委員長のように役割を分ける
  • 異なる位置へ配置する

組合せになりやすい言葉

  • ○人を選ぶ
  • グループを作る
  • 対象を抽出する
  • 順番を考えずメンバーだけ決める

公式名を覚えるより、入れ替えたとき別の結果として数えるかで判断すると迷いにくくなります。

どこで使う?

場合の数は、確率を求める前段階でよく使います。

たとえば、

  • 全体で何通りの結果があるか
  • 条件に合う結果が何通りあるか

を数えられると、その後に「その中で目的の結果がどれくらい起こるか」を確率として考えられます。

ITでも、テストケースの組合せ、候補からの選択、探索するパターン数などを考える基礎になります。

よくある勘違い

「選ぶ」と書いてあれば全部組合せ?

違います。

選んだ後に役割や順位を付けるなら、入れ替えた結果を区別するため順列になります。

nPrとnCrは公式だけ覚えればいい?

公式だけでは、どちらを使うか判断できません。

先に「順番や役割を区別するか」を決めてから公式を選びます。

掛け算はいつでも使える?

各段階の選択肢を組み合わせるときに使います。条件によって選べる数が変わる場合は、段階ごとの候補数を正しく数える必要があります。

同じ結果を何度数えてもいい?

いけません。

場合の数では、同じ結果を重複して数えないことが重要です。組合せで r! を割るのも、同じメンバーを並べ替えただけの重複を取り除くためです。

このKnowledgeで扱わないこと

ここでは、場合の数・階乗・順列・組合せの基本を扱います。

確率そのもの、加法定理・乗法定理、同時確率、条件付き確率、ベイズの定理、確率分布、期待値は後続Knowledgeへ分けます。

ここまで分かればOK

  • 場合の数を足し算・掛け算で整理できる
  • 階乗 n! の意味を説明できる
  • 順番や役割を区別する問題で順列を使える
  • 順番を区別しない選び方で組合せを使える
  • nPrnCr の違いを問題文から判断できる

資格との関係

基本情報技術者試験

シラバス
Ver.9.2
必要な理解
問題で応用できる
重要度
分野
テクノロジ

関連するIT用語

次に読む

理解できたか確認しよう

答えを選んで、なぜそうなるのかまで確認できます。

確認問題 1

5人から2つの役割を割り当てる

5人の候補から、委員長1人と副委員長1人を選びます。同じ人が両方の役割を兼ねないとき、役割の決め方は何通りありますか?

回答を1つ選んでください

確認問題 2

8台から監査対象3台を選ぶ

8台の異なるサーバのうち3台を選んで監査します。監査する順番は問わず、どの3台を選ぶかだけを区別します。

監査対象3台の選び方は何通りありますか?

回答を1つ選んでください