全単射の個数は、有限集合における写像の数え上げで頻出するテーマです。
順列との関係を理解すると、複雑そうに見える問題でも計算の流れを整理しやすくなります。
この記事では全単射写像の定義から総数の求め方、場合の数の考え方、条件付き問題への応用までを順に解説します。
全単射の個数と順列の関係

それではまず全単射の個数と順列の関係について解説していきます。
全単射写像の意味
全単射とは、ある集合の各要素を別の集合の要素へ対応させる写像のうち、単射と全射の両方を満たすものです。
単射は、異なる入力が同じ出力へ重ならない性質を指します。
全射は、値域となる集合のすべての要素が少なくとも一度は出力として使われる性質です。
つまり全単射では、入力側の各要素と出力側の各要素が一対一で漏れなく対応することになります。
入力の集合をA、出力の集合をBとしたとき、AからBへの全単射が存在するためには、AとBの要素数が等しくなければなりません。
片方が3個で、もう片方が4個なら、重複も漏れもなく対応させることはできないためです。
有限集合AとBの要素数が異なる場合、AからBへの全単射写像の個数は0個です。
順列として考えられる理由
要素数がn個の集合Aから、同じくn個の集合Bへ全単射を作るとします。
Aの最初の要素には、Bのn個の要素のどれかを対応させられます。
次の要素には、すでに使ったものを除くn−1個の選択肢が残ります。
この操作を最後まで続けるため、選び方の総数はn×(n−1)×(n−2)という形になります。
これはまさにn個の異なるものを並べる順列の総数と同じです。
全単射の個数を求める問題では、対応表を一つずつ書くよりも、順列として捉えると計算が速くなります。
集合Aと集合Bがともにn個の要素を持つ場合、AからBへの全単射の個数はn!です。
n!はnの階乗と読み、n×(n−1)×…×2×1を表します。
結論となる基本公式
全単射の個数を求める基本公式は、定義域と終域の要素数が等しいかどうかで決まります。
両方の集合がn個なら個数はn!であり、異なれば0個です。
この二つの判定を最初に行えば、多くの設問で迷うことはありません。
| 定義域の要素数 | 終域の要素数 | 全単射の個数 |
|---|---|---|
| 2個 | 2個 | 2!=2個 |
| 3個 | 3個 | 3!=6個 |
| 4個 | 4個 | 4!=24個 |
| 3個 | 4個 | 0個 |
| 5個 | 3個 | 0個 |
特に問題文に有限集合という語があれば、要素数の比較から始める習慣を付けるとよいでしょう。
有限集合と全単射の成立条件
続いては有限集合と全単射の成立条件を確認していきます。
定義域と終域の要素数
写像では、対応させる元の集合を定義域、対応先として指定された集合を終域と呼びます。
全単射では定義域の各要素が一度ずつ使われ、終域の各要素も一度ずつ使われます。
そのため両者の要素数が等しいことは、単なる計算上の都合ではなく定義から導かれる条件です。
定義域の方が多い場合は、鳩の巣原理のように考えると、どこかで出力が重複します。
重複した時点で単射ではなくなり、全単射にはなりません。
反対に終域の方が多い場合は、使われない要素が残ります。
この場合は全射ではないため、やはり全単射から外れます。
要素の名前に左右されない考え方
集合の要素が数字、アルファベット、記号のどれであっても、全単射の個数は要素数だけで決まります。
たとえばA={a、b、c}、B={1、2、3}なら、全単射は6個です。
A={赤、青、黄}、B={犬、猫、鳥}に置き換えても、個数は同じく6個になります。
重要なのは要素の意味ではなく、異なる要素を重複なしで対応させる順序です。
文章題では要素に意味が与えられているため難しく感じることがありますが、まず集合の大きさへ置き換えると整理できます。
空集合を含む場合
空集合は要素を一つも持たない集合です。
空集合から空集合への写像は一つだけ存在し、その写像は全単射です。
対応させる要素がなく、重複も漏れも起こらないためです。
この事実は0!=1という約束と整合します。
空集合から空集合への全単射の個数は1個です。
したがって要素数0個の場合も、全単射の個数を0!=1と考えます。
一方で空集合から要素を持つ集合への写像、または要素を持つ集合から空集合への写像は、全単射にはなりません。
階乗を使った全単射の計算方法
続いては階乗を使った全単射の計算方法を確認していきます。
小さい要素数での数え上げ
はじめは要素数が小さい集合で、実際に全単射を書き出してみると理解が深まります。
A={a、b、c}、B={1、2、3}を考えます。
aの行き先は1、2、3の3通りです。
aの行き先を決めた後、bの行き先は残り2通りとなります。
最後のcの行き先は自動的に1通りに決まるため、3×2×1=6通りです。
| aの対応先 | bの対応先 | cの対応先 |
|---|---|---|
| 1 | 2 | 3 |
| 1 | 3 | 2 |
| 2 | 1 | 3 |
| 2 | 3 | 1 |
| 3 | 1 | 2 |
| 3 | 2 | 1 |
この表にある各行が、AからBへの全単射写像一つに対応します。
階乗計算の手順
要素数が多い場合は、順番に掛け算を続けて階乗を計算します。
4個なら4!=4×3×2×1=24です。
5個なら5!=5×4×3×2×1=120となります。
計算ミスを避けるには、既知の階乗に次の整数を掛ける方法が便利です。
たとえば6!は5!=120を使い、120×6=720と求められます。
階乗は急速に大きくなるため、桁数にも注意が必要でしょう。
7個の要素を持つ二つの集合の間の全単射は、7!=5040個です。
最初に7通り、次に6通りと選択肢が減り、最後まで掛け合わせます。
場合の数としての確認方法
全単射の計算では、各段階の選択肢を掛ける積の法則を使います。
一つ目の要素の対応先を選び、その選択後に二つ目を選び、さらに三つ目を選ぶという連続した操作だからです。
同じ対応先を二度使えない点が、一般の写像の個数と異なります。
要素数nの集合Aから要素数nの集合Bへの一般の写像は、各要素にn通りの行き先があるためnのn乗個です。
その中から重複のないものだけを選んだ結果がn!個となります。
一般の写像はnのn乗個、全単射はn!個です。
選択肢を繰り返し使えるかどうかが、二つを区別する重要なポイントです。
順列と組合せの使い分け
続いては順列と組合せの使い分けを確認していきます。
順列が必要になる場面
順列は、選ぶ順番や配置の違いを区別する数え方です。
全単射では、aを1へ送る場合とaを2へ送る場合は異なる写像になります。
各要素の対応先が入れ替われば写像そのものが変わるため、順序を区別する必要があります。
したがって全単射の個数は組合せではなく、順列の考え方で求めます。
席順、担当者の割り当て、番号の付け替えなども、全単射と同じ構造を持つ代表例です。
組合せと混同しやすい例
3人から2人を選ぶだけなら、選ばれた人の順序は関係しないため組合せです。
しかし3人を二つの役職へ割り当てる場合は、誰がどちらの役職に就くかで結果が変わります。
この場合は順列または全単射として扱います。
| 問題の内容 | 順序の区別 | 主な考え方 |
|---|---|---|
| 5人から2人を選ぶ | 区別しない | 組合せ |
| 5人から会長と副会長を選ぶ | 区別する | 順列 |
| 4人を4席へ座らせる | 区別する | 全単射 |
| 4色を4つの区画へ重複なく塗る | 区別する | 全単射 |
問題文に選ぶという表現があっても、役割や位置が異なれば順列になることがあります。
部分的な対応との違い
n個の要素からr個を選び、異なるr個の行き先へ対応させる場合は、n個すべてを使う全単射とは少し異なります。
この場合にはn個からr個を順に選ぶ順列nPrを使います。
定義域の全要素が対応に参加し、終域の全要素も使い切るときに限り、nPrのrがnとなってn!になります。
全単射かどうかを見分けるには、両方の集合を完全に使い切るかを確認するとよいでしょう。
途中までの割り当てだけを問う問題では、全単射の公式をそのまま使わないよう注意が必要です。
条件付き全単射写像の数え方
続いては条件付き全単射写像の数え方を確認していきます。
特定の対応が指定される場合
ある要素の対応先があらかじめ指定されている場合、指定された組を先に固定します。
たとえば5個の要素を持つ集合間の全単射で、aは1へ送ると決まっているとします。
残る4個の要素を残る4個の行き先へ全単射で対応させるため、個数は4!=24個です。
指定がk組あるなら、残りn−k個の要素で考えます。
n個ずつの集合間でk組の対応が矛盾なく固定されている場合、全単射の個数は(n−k)!です。
ただし異なる二つの要素が同じ対応先へ固定されるような条件では、単射の条件に反するため個数は0個になります。
特定の対応を避ける場合
aは1へ送らないというように、禁止される対応がある問題もあります。
一つの禁止条件だけなら、全体の個数から禁止条件を満たす場合を引く考え方が分かりやすいでしょう。
4個ずつの集合でaを1へ送らない全単射の個数を求めます。
全体は4!=24個であり、aを1へ送る全単射は残り3個の対応なので3!=6個です。
よって求める個数は24−6=18個となります。
このような数え方は余事象の利用と呼ばれます。
禁止条件が一つなら、全体の全単射の個数から、その対応を固定した全単射の個数を引く方法が基本です。
複数の禁止条件と包除原理
禁止条件が複数あるときは、単純に引き算を重ねると同じ写像を二度引くことがあります。
そのため重なりを戻す包除原理を使います。
たとえば4個ずつの集合で、aは1へ送らず、bは2へ送らない全単射を考えます。
全体は24個です。
aを1へ送るものは6個、bを2へ送るものも6個です。
両方を同時に満たすものは残り2個の対応なので2個あります。
したがって24−6−6+2=14個となります。
完全に自分自身へ送らない全単射は撹乱順列と呼ばれ、より発展的な場合の数の題材です。
全単射の問題で確認したいポイント
続いては全単射の問題で確認したいポイントを確認していきます。
写像の向き
AからBへの写像とBからAへの写像は、要素数が等しい有限集合であれば全単射の個数は同じです。
ただし条件付きの問題では、どちらを定義域としているかで条件の読み取り方が変わることがあります。
問題文を読んだら、矢印の向きと各要素の役割を先に書き出すと安心です。
写像fがAからBへのものなら、f(a)=1のように、Aの要素を入力してBの要素が出力されます。
逆写像が存在することも、全単射の大切な特徴です。
全射だけと単射だけの違い
単射だけを求める場合、終域の方が大きくても構いません。
定義域のn個の要素を、終域のm個の要素へ重複なく送るなら、個数はmPnです。
全射だけを求める場合は、要素数が異なるケースもあり、計算に包除原理を使うことがあります。
全単射は単射と全射が同時に成り立つため、要素数が等しい有限集合では最も扱いやすい形になります。
用語を見た瞬間に公式へ進むのではなく、何を満たす写像なのかを確認することが正確な立式につながります。
計算ミスを防ぐチェック
答えを出した後は、階乗の計算と条件の反映を分けて見直すとよいでしょう。
まず二つの集合の要素数が本当に等しいかを確認します。
次に固定条件があれば、その分だけ残りの要素数を減らしているかを見ます。
禁止条件があれば、引いた数と重なりを戻した数が正しいかを確かめます。
また、全単射の個数が一般の写像の個数nのn乗を超えることはありません。
この大小関係を確認するだけでも、明らかな計算誤りに気付きやすくなります。
全単射の問題は、要素数の一致、対応の固定、禁止条件の有無の順に整理すると解きやすくなります。
全単射の個数の求め方のまとめ
全単射は、定義域と終域の要素を重複なく、かつ漏れなく一対一に対応させる写像です。
二つの有限集合の要素数がともにn個なら、全単射写像の総数はn!で求められます。
要素数が異なる場合は全単射を作れないため、個数は0個です。
全単射は順列と同じ構造を持つため、各要素の対応先を順に選び、残る選択肢を掛け合わせます。
条件付きの問題では、固定された対応を先に処理し、禁止条件には余事象や包除原理を使うと整理しやすいでしょう。
単射、全射、全単射の違いを意識しながら、集合の要素数と対応の条件を丁寧に読み取ることが、場合の数の問題を正確に解く近道です。