佐藤先生
ミライくん、こんにちは。今日も楽しく数学の勉強を始めようか。
ミライくん
こんにちは、佐藤先生。よろしくお願いします。あの、今日はちょっと気になるパズルというか、問題を見つけて気になっているんです。
佐藤先生
お、どんな問題だい。
ミライくん
学校でクラス替えがあったときに、みんなでプレゼントを持ち寄って交換会をすることになったんです。自分の持ってきたプレゼントが自分に当たっちゃうとつまらないから、全員が他の人のプレゼントを受け取るようにしたいね、っていう話になって。これって全部で何通りの配り方があるんだろうって思ったんです。
佐藤先生
それは素晴らしい問題だね。日常の身近な出来事の中に、実は数学のとても美しいテーマが隠れているんだよ。全員が自分のもの以外のプレゼントを受け取るような並べ方のことを、数学では完全順列、または攪乱順列と呼ぶんだ。
ミライくん
カンゼンジュンレツ。なんだか強そうな名前ですね。難しそうです。
佐藤先生
名前は難しそうに見えるけれど、中身はとてもシンプルだよ。要するに、誰も自分の本来の場所に戻らないように、みんなが他人の席に座るようなものだね。これを考えるために、まずは少ない人数から順番に実験してみようか。数学で行き詰まったら、まずは具体的な小さい数字で試すのが鉄則だからね。
ミライくん
小さい数字からですね。じゃあ、1人のときから考えてみます。
佐藤先生
そうだね。もしクラスにミライくん1人しかいなくて、プレゼント交換をしようとしたらどうなるかな。
ミライくん
ええと、僕が持ってきたプレゼントは1個だけで、それを自分で受け取るしかないので、全員が他人のプレゼントを受け取るっていうのは無理ですよね。
佐藤先生
その通り。だから1人のときは、条件を満たす配り方はゼロ通りだ。じゃあ、人数を2人に増やしてみよう。ミライくんと、友達のAくんの2人でプレゼント交換をするとしたらどうだい。
ミライくん
僕のプレゼントを僕が「自分」、Aくんのプレゼントを「A」としますね。僕が「A」を受け取って、Aくんが「自分」を受け取れば、2人とも他人のプレゼントになります。これって、この1通りしかないですよね。
佐藤先生
大正解。2人のときは、お互いのプレゼントをそのまま交換するしか方法がないから、1通りだね。ここまでは簡単だ。では、3人に増やしてみよう。ミライくん、Aくん、Bくんの3人だ。それぞれのプレゼントを、自分の名前と同じ文字で表すことにしよう。ミライくんは自分の、AくんはAの、BくんはBのプレゼントを持っている。これを誰も自分のものを受け取らないように配るには、どうすればいいかな。
ミライくん
3人になると、ちょっとこんがらがってきそうです。ええと、樹形図を書いてみてもいいですか。
佐藤先生
もちろん。樹形図は、抜けやダブりなく数え上げるための最強の道具だよ。書いてごらん。
ミライくん
まず、ミライくんが誰のプレゼントを受け取るかで分けてみます。ミライくんは自分のプレゼントは受け取れないから、Aくんのプレゼントか、Bくんのプレゼントのどちらかですよね。
佐藤先生
そうだね。まずはミライくんがAくんのプレゼントを受け取った場合から考えてみよう。
ミライくん
ミライくんがAを受け取ったとします。残っているプレゼントは、自分のものと、Bくんのものです。次にAくんがどちらを受け取るかですが、もしAくんが自分のプレゼントを受け取っちゃうとダメですよね。でも、Aのプレゼントはもう僕が持っているから、残っているのは「ミライくんのプレゼント」と「B」です。もしAくんがBを受けると、残ったBくんは僕のプレゼントを受け取ることになります。これなら、ミライくんがA、AくんがB、Bくんがミライ、となって、全員が他人のものになりますね。
佐藤先生
よく気づいたね。他にはないかな。
ミライくん
もし、ミライくんがAを受け取った後、Aくんが僕のプレゼントを受け取ったらどうでしょう。残っているのはBのプレゼントですが、そうなると最後に残ったBくんが自分のBを受け取ることになっちゃいます。これはルール違反ですね。だから、ミライくんがAを受け取ったときは、この1通りだけです。
佐藤先生
その通り。じゃあ、ミライくんがBくんのプレゼントを受け取った場合はどうなるだろう。
ミライくん
同じように考えてみます。ミライくんがBを受け取ったとき、残っているのは僕のプレゼントと、Aのプレゼントです。Aくんは自分のAを受け取れないから、僕のプレゼントを受け取るしかありません。そうすると、最後のBくんはAのプレゼントを受け取ることになります。ミライくんがB、Aくんがミライ、BくんがA、という組み合わせです。これも全員が他人のものになっています。
佐藤先生
素晴らしい。ということは、3人のときは全部で何通りになったかな。
ミライくん
ミライくんがAを受け取ったときが1通りで、Bを受け取ったときが1通りだから、合わせて2通りですね。
佐藤先生
正解だ。1人のときは0通り、2人のときは1通り、3人のときは2通り、と綺麗に増えてきたね。じゃあ、この調子で4人のときを考えてみよう。ここからが完全順列の本当の面白さと深さが見えてくるところだよ。4人になると、ミライくん、Aくん、Bくん、Cくんになるね。
ミライくん
4人かあ。樹形図を書くのが少し大変になりそうだけど、頑張ってみます。まず、ミライくんが誰のプレゼントを受け取るかですね。僕が自分のを受け取るのはナシだから、Aくん、Bくん、Cくんの3つのパターンに分かれます。
佐藤先生
ここで少し立ち止まって考えてみよう。ミライくんがAくんのを受け取るときと、Bくんのを受け取るとき、Cくんのを受け取るときで、その後の組み合わせの数に違いはあると思うかい。
ミライくん
ええと、AくんもBくんもCくんも、僕から見たら同じ「友達の1人」だから、誰のプレゼントを選んでも、その後に起きるパターンの数は同じになりそうな気がします。
佐藤先生
その感覚、とても素晴らしいよ。対称性という言葉を使うんだけど、誰を選んでも状況の複雑さは同じだから、後で3倍すればいいね。じゃあ、まずはミライくんがAくんのプレゼントを受け取った場合をじっくり数え上げてみよう。
ミライくん
はい。ミライくんがAを受け取りました。残っているプレゼントは、僕のもの、B、Cの3つです。次にAくんがどれを受け取るかで枝分かれさせますね。Aくんが受け取れるのは、僕のものか、Bか、Cのどれかです。
佐藤先生
そうだね。じゃあ、Aくんがミライくんのプレゼントを受け取った場合を考えてみよう。
ミライくん
ミライくんがA、Aくんがミライ、を受け取りました。この時点で、ミライくんとAくんはお互いのプレゼントを交換し合って、2人だけで完結しています。残っているプレゼントはBとCで、残っている人はBくんとCくんですね。
佐藤先生
おや、これってどこかで見た状況じゃないかい。
ミライくん
あ、残ったBくんとCくんの2人で、お互いに自分のものじゃないプレゼントを配るってことだから、さっきやった「2人のときのプレゼント交換」と同じだ。2人のときは1通りしかなかったから、BくんがCを受け取って、CくんがBを受け取るという、この1通りしかありません。
佐藤先生
素晴らしい。過去の計算をそのままパーツとして使えるんだ。じゃあ、ミライくんがAを受け取った後、Aくんが僕のもの以外、例えばBくんのプレゼントを受け取った場合はどうなるかな。
ミライくん
ミライくんがA、AくんがB、を受け取りました。残っているプレゼントは、僕のものと、Cの2つです。残っている人はBくんとCくんですね。ええと、Bくんは僕のものか整Cを受け取れますが、もしBくんが僕のものを受け取ったら、Cくんが自分のCを受け取ることになってダメです。だから、BくんがCを受け取って、Cくんが僕のものを受け取るしかありません。これで1通りですね。
佐藤先生
よくできた。じゃあ、AくんがCくんのプレゼントを受け取った場合はどうだい。
ミライくん
ミライくんがA、AくんがC、を受け取りました。残っているプレゼントは、僕のものと、Bの2つです。残っている人はBくんとCくん。Bくんは自分のBを受け取れないから、僕のものを受け取るしかありません。そうすると、CくんがBを受け取ることになります。これも1通りですね。
佐藤先生
ということは、ミライくんがAくんのプレゼントを受け取った場合の合計は何通りになったかな。
ミライくん
Aくんが僕のものを受け取ったときが1通り、Bを受け取ったときが1通り、Cを受け取ったときが1通り故に、全部で3通りです。
佐藤先生
その通り。そしてさっきミライくんが言ってくれたように、ミライくんがBくんのプレゼントを受け取るときも、Cくんのプレゼントを受け取るときも、それぞれ同じように3通りずつあるはずだよね。
ミライくん
ということは、3通りが3パターンあるから、3かける3で、4人のときは全部で9通りになるんですね。
佐藤先生
大正解。4人の完全順列は9通りだ。ミライくん、ここまでの数字を一度並べて整理してみよう。1人のときは0通り。2人のときは1通り。3人のときは2通り。4人のときは9通り。この数字の並びを見て、何かきまりやルールが見えてこないかい。
ミライくん
うーん、0、1、2、9ですか。2から9へ急にジャンプしているし、掛け算や足し算の簡単なルールはなさそうに見えます。
佐藤先生
一見するとバラバラに見えるよね。でも、ここには数学のとても美しいリレーのような関係が隠れているんだ。これを漸化式と呼ぶんだけど、前の数字を使って次の数字を作るルールを一緒に探してみよう。例えば、4人のときの「9」という数字は、その前の「1」と「2」を使って作ることができるんだ。
ミライくん
ええと、1と2を使って9ですか。2に4をかけて1を足す、とかですか。
佐藤先生
惜しいね。実はこういうルールんだ。前の2つの数字である「1」と「2」を足してみてごらん。
ミライくん
1足す2は3です。
佐藤先生
その3に、今の人数より1少ない数、つまり4人だから「3」をかけてみてごらん。
ミライくん
3かける3は9になります。あ、本当だ。
佐藤先生
じゃあ、このルールが3人のときにも成り立つか試してみよう。3人の前の2つの数字は「0」と「1」だね。これを足すとどうなる。
ミライくん
0足す1は1です。
佐藤先生
その1に、3人より1少ない数、つまり「2」をかけると。
ミライくん
1かける2は2になります。あ、3人のときの答えの2通りになりました。すごい、繋がっています。
佐藤先生
ね、不思議だろう。このルールを言葉で説明すると、次のようになるんだ。ある人数の完全順列の数は、その前の人数と、前々回の人数の完全順列の数を足し算して、そこに、今の人数から1を引いた数を掛け算すれば求められる。これが、完全順列の数をドミノ倒しのように次々と計算していくための魔法の公式なんだ。
ミライくん
どうしてそんなルールが成り立つんですか。偶然にしては出来すぎている気がします。
佐藤先生
とてもいい質問だね。なぜこのルールが成り立つのか、さっき4人のときを数え上げたときのミライくんの考え方の中に、すべてのヒントが隠されているんだよ。もう一度、4人のプレゼント交換を振り返ってみよう。ミライくんが最初にAくんのプレゼントを受け取ったとき、その後のパターンは2つのチームに分かれていたんだ。覚えているかい。
ミライくん
ええと、Aくんが僕のプレゼントを受け取って、僕とAくんでペアを作って完結しちゃったパターンと、Aくんが僕のもの以外のプレゼントを受け取ったパターンですね。
佐藤先生
その通り。まさにそこがポイントなんだ。まず、ミライくんとAくんがお互いのプレゼントを交換して、2人で綺麗に完結してしまった場合、残されたのはBくんとCくんの2人だったよね。これは「4人から2人を除いた、残りの2人での完全順列」を考えているのと同じなんだ。だから、2人のときの完全順列の数である「1通り」がそのまま出てきた。
ミライくん
なるほど。お互いに入れ替わってペアを作っちゃえば、残りのメンバーだけで他人のものを受け取るゲームをすればいいから、前々回の人数、つまり2人少ない状態の完全順列になるわけですね。
佐藤先生
その通り。じゃあ、もう一つのパターン、Aくんがミライくんのプレゼントを受け取らなかった場合はどうだろう。このとき、残っているプレゼントは僕のものとCで、残っている人はBくんとCくんだったね。ここで、少し頭を柔らかくして考えてみてほしい。「ミライくんのプレゼント」という名前を、一時的に「Aくんのプレゼント」と書き換えてみたらどうなるかな。
ミライくん
ええと、名前を書き換える。どういうことですか。
佐藤先生
Aくんはミライくんのプレゼントを受け取ってはいけない、というルールだったよね。これを「Aくんは、新しく名前を変えたプレゼントを受け取ってはいけない」と考えると、これはミライくんを除いたAくん、Bくん、Cくんの3人の中で、誰も自分の名前のプレゼントを受け取ってはいけない、という「3人の完全順列」と全く同じ状況になっているんだよ。
ミライくん
うわあ、ちょっと難しいです。でも、言われてみれば、Aくんが僕のプレゼントを拒否するっていうルールは、まるでAくん自身が自分のプレゼントを拒否しているのと同じようなプレッシャーになっているってことですか。
佐藤先生
まさにその通りだよ。とても鋭いね。だから、お互いにペアを作らなかった場合は、自分以外の1人を除いた「1人少ない人数での完全順列」の数、つまり3人のときの数である「2通り」と同じになるんだ。
ミライくん
だから、ペアを作って完結したときの「前々回の数」と、ペアを作らずに巻き込んだときの「前回の数」を足し算すればいいんですね。
佐藤先生
そういうこと。そして、今回はミライくんが最初に選ぶ相手として、Aくん、Bくん、Cくんの3人がいたよね。これは、自分以外の全員だから、人数が4人なら「4マイナス1」で3人いることになる。
ミライくん
だから、足し算した結果に、自分以外の人数である「3」を掛け算するんだ。全部のパーツが綺麗に繋がりました。
佐藤先生
これで、どうしてあの公式が成り立つのかが心から納得できただろう。数式を丸暗記するのではなく、こうして意味を考えると、数学は一気に楽しくなるんだ。このルールを使えば、5人のときも樹形図を書かずに一瞬で計算できるよ。ミライくん、5人のときの完全順列が何通りになるか、計算してみてくれるかい。
ミライくん
はい、やってみます。5人のときの前の数字は、3人のときの「2」と、4人のときの「9」ですよね。まず、この2つの数字を足します。2足す9は11です。次に、今の人数は5人だから、自分以外の人数は5マイナス1で「4」です。だから、さっきの11に4を掛け算すればいいんですね。11かける4は44。つまり、5人のときは44通りですか。
佐藤先生
大正解。5人になると樹形図を書くのは絶対に無理なくらい大変だけど、このリレーのルールを使えば、あっという間に44通りだと分かるんだ。どうだい、完全順列の仕組みが見えてきたかな。
ミライくん
はい。すごくスッキリしました。一見バラバラに見える数字の後ろに、こんなに綺麗なリレーのルールがあるなんて感動です。
佐藤先生
喜んでもらえて嬉しいよ。さて、この完全順列には、もう一つとても面白い特徴があるんだ。もし人数をもっとたくさん、例えば10人とか20人、あるいはクラス全員の40人とかに増やしていったとき、全員が他人のプレゼントを受け取る確率って、どれくらいになると思うかい。
ミライくん
人数が増えれば増えるほど、自分のプレゼントが当たっちゃう確率が高くなりそうだから、全員が他人のものを受け取れる確率はどんどん小さくなって、最後はゼロに近づいていく気がします。
佐藤先生
普通の感覚だとそう思うよね。人数が増えるんだから、誰か1人くらい自分のものを引き当てちゃいそうだと感じる。でもね、ここに数学の信じられないような不思議な現象があるんだ。実は、人数をどれだけ増やしていっても、全員が他人のプレゼントを受け取る確率は、ある一定の割合からほとんど変わらなくなるんだよ。
ミライくん
ええっ、そんなことあるんですか。人数が増えても確率が減らないんですか。
佐藤先生
そうなんだ。具体的に言うと、だいたい36.8パーセントという確率にどんどん近づいていって、そこから動かなくなるんだ。4人だろうが、10人だろうが、100人だろうが、全員が完全に他人のプレゼントを受け取れる確率は、いつでも約3割から4割くらいに落ち着くんだよ。
ミライくん
36.8パーセント。なんだか不思議な数字ですね。どうしてそんな中途半端な数字で止まるんですか。
佐藤先生
これは高校生や大学生になってから習う「自然対数の底」という、数学の世界でとても重要な「e」という特別な定数が関係しているんだ。パーセントで言うと不思議な数字に見えるけれど、分数で表すと、大体3分の1より少し大きいくらいの確率にずっと固定されるんだよ。人数が増えると、全体の並び方の数も爆発的に増えるけれど、それと同時に条件を満たす完全順列の数も同じようなスピードで爆発的に増えるから、割り算したときの確率は一定に保たれるんだね。
ミライくん
数学って、一見すると予想もつかないようなところで、不思議な数字が守られているんですね。プレゼント交換の幹事をするときに、この話を知っていると、どれくらいの確率でやり直しになっちゃうかが予想できて便利そうです。
佐藤先生
まさにその通り。約6割の確率で誰かが自分のプレゼントを引き当ててしまうから、一発で成功させるのは少しラッキーが必要だということだね。学校の席替えや、テストのプリントをクラスメイト同士で採点するために回すときなんかにも、この完全順列の考え方がそのまま使えるよ。
ミライくん
身の回りにたくさん完全順列が隠れているんですね。今日教えてもらったことを、忘れないように頭の中でしっかり整理しておきます。
佐藤先生
素晴らしい姿勢だね。では、今日学んだ内容を、いつでも誰にでも説明できるように、最も大切なポイントを綺麗にまとめておこう。これを見ていつでも思い出せるようにしてね。
完全順列とは、すべての要素が本来あるべき位置とは異なる位置に配置されるような並べ方のことです。身近な例では、全員が自分の持ってきたもの以外のプレゼントを受け取るようなプレゼント交換の配り方がこれに該当します。この完全順列の仕組みと計算方法には、以下の3つの明確な原則とルールがあります。
人数が少ない場合の完全順列の数は、樹形図などを丁寧に書くことで以下のように数え上げることができます。この最初の数を知っておくことが、すべての計算の土台になります。
普通の感覚では、人数が増えれば増えるほど、全員が他人のプレゼントを受け取れる確率は低くなっていくように感じられます。しかし、数学的には非常に不思議な性質があり、全体の人数をどれだけ大きくしていっても、全員が他人のものを受け取れる確率は約36.8パーセントという一定の値に限りなく近づいていきます。
どれほど大人数でプレゼント交換や席替えを行っても、およそ3回に1回以上の確率で全員が綺麗に他人の位置に収まるという事実は、完全順列が持つ最も魅力的で不思議な特徴の一つです。