SSブログ

No.377 - 私には恋人があるの [文化]

このブログでは「言葉の使い方が時とともに変化する」という視点の記事をいくつか書きました。多くは「語彙や意味の変化」に関するもので、

  No.144 - 全然OK
  No.145 - とても嬉しい
  No.147 - 超、気持ちいい
  No.362 - ボロクソほめられた

が相当します。ここでは、"全然"、"とても"、"超"、"めちゃ"、"ぼろくそ" などをとりあげました。それ以外に「文法の歴史的変遷」に関する記事もあって、

  No.146「お粥なら食べれる」

です。この記事の中では "可能" を示す表現の変遷をたどりました。

我々は言葉によって考えています。その結果、言葉は人の認知能力に影響を与えます(No49, No.50, No.139, No.140, No.141, No.142, No.143)。また、風景や絵を見るときも、その全体や部分に言葉を割り当て、その言葉によっても記憶します。言葉は我々の認識・思考・発想・記憶を豊かにすると同時に、制約します。言葉には関心を持たざるを得ないのです。

今回は、そういった一連の記事の継続で、「文法の歴史的変遷」の例を取り上げます。


日本経済新聞の "春秋"


2024年8月11日の日本経済新聞の朝刊コラム "春秋" は、日本国語大辞典(小学館。1972年刊行開始)の改訂作業が始まるというテーマでした。2032年を目指した改訂とのことです。日本国語大辞典は、略称 "日国(ニッコク)" で、全13巻、収録語数50万、記紀から現代文学までの用例100万という大規模なものです。市立図書館には必ずあるので、私も何回かお世話になっています。

日本経済新聞のコラムの出だしは「私には、恋人があるの」という文学作品の引用から始まっていました。前半の部分を引用します。


「私には、恋人があるの」。太宰治の「斜陽」に、こんなセリフが出てくる。「恋人がいるの」ではなく「恋人があるの」。いまはちょっと違和感を持つが、昔の小説や映画にこの表現は珍しくない。「病気の母がある」「誰かいい人ある?」などとよく使われたのだ。

「いる」と「ある」は、生物か無生物かで使い分けることになっているが、どうやら近年の常識に過ぎないらしい。気になって「日本国語大辞典」(日国)をひもといてみると、古事記から竹取物語、枕草子、徒然草、さらには江戸時代前期の歌舞伎まで、「いる」の意味の用例がずらりと並ぶ。さすが、ニッコクである。

日本経済新聞 "春秋"
(2024年8月11日)

要するに、現代では生物について「いる」と言うが、生物に「ある」を使った例が古事記から歌舞伎まで、日本国語大辞典にはズラッとあり、太宰治の文章もそれにつながるもの、というわけです。

コラムはこの前半に続いて、ニッコクの改訂が始まるという本題に移るのですが、上の引用にある「いる」「ある」の使い分けに興味を惹かれました。

「恋人があるの」に "ちょっと違和感をもつ"、とコラムの筆者は書いています。確かに違和感があって、「恋人がいるの」が今では普通でしょう。しかし現代でも「人がある」という言い方が許容される、ないしは「いる」より「ある」の方が適切なケースがあると考えられます。たとえば、コラムにある「病気の母がある」ですが、

彼女は病気の母があるので、泊まりがけの旅行には行かないでしょう。

の「ある」は許容範囲ではないでしょうか。事実を "客観的に、淡々と" 言うには「ある」が適している場合があると思うのです。もちろん「いる」も OK です。しかし「いる」だと、「介護のことがあるので ・・・・・・」とか、「いつ何時、呼び出しがあるかわからないので ・・・・・・」といった、"病気という事実以上の、母との関係性についての含意" が匂うと思うのです。

彼には男の子が1人、女の子が3人あって、全員が小学生です。

これは許容できる思います。シンプルに家族構成を述べている文だからです。

文化庁の調査によると、本を全く読まない人が6割以上ある。

調査結果をそのまま述べています。価値判断なしに "存在するという事実" を言っている。しかし、"6割の人が本を全く読まないのは全く嘆かわしい" という含意があるなら、

文化庁の調査によると、本を全く読まない人が、何と、6割以上もいる。

の方がより適切な感じがします。



個人の言語感覚で書きましたが、以上のケースでも「ある」はおかしい、「いる」にすべきとの感覚の人もいるでしょう。また、「いる」にすべきとまでは思わなくても、「ある」には違和感を感じるという人もいると思います。

今回はこの「ある・いる」について書きます。実はこの使い分けの背景には、数百年にわたる日本語文法の変化の歴史があるのです。


日本語の存在文


ヒトやモノが存在することを示す文を「存在文」と言います。「私には、恋人があるの」は存在文の一種です。「ある・いる」を存在動詞と言います。そして存在文について考察するとき、主語となる名詞(例では "恋人")が関係してきます。

日本語の文法では、名詞について「有生」か「無生」かという区別があります。有生とは「生きている(と感じられる)」ということであり、無生はその反対です。一般に人や動物は有生であり(=有生物)、モノは無生(=無生物)です。植物は無生物とするのが一般的です。

「有情」と「無情」という言い方もあります。有情とは「感情をもつ」というこで、無情はその反対です。この方が一般的かもしれませんが、後で引用する金水先生の本に「有生・無生」とあるので、以降、それを使います。日本語の(現代の)存在文では、

  有生物主語では「いる」
  無生物主語では「ある」

を使うのが普通です。否定まで含めると「いる・いない」と「ある・ない」です。日本経済新聞のコラムで「生物か無生物かで使い分ける」となっていたところです。人や動物は有生と書きましたが、必ずしもそれだけではありません。たとえば、

  駅に着くと、運良くタクシーがいた

のような言い方は普通です。特にタクシーは動くし、運転手さんが乗っているので、有生物と見なすのが容易です。



以上の日本語文法の原則を適用すると、現代では「私には、恋人がいるの」となります。太宰治の「斜陽」が雑誌に掲載され本として刊行されたのは1947年で、今から75年以上前です。つまり、

・ 1947年の時点では「私には、恋人があるの」が普通の言い方、ないしは十分許容される言い方だったが、

・ 現在では「私には、恋人がいるの」が普通である

というわけです。つまり歴史的に文法が変化した。しかし、コトはそう単純ではありません。現代でも有生物主語に「ある」が許容される例があるからです。たとえば、

・ 私には娘がいる
・ 私には娘がある(?)

とすると、このケースの「ある」には確かに違和感があります。しかし、

・ 彼女は40歳そこそこだけど、もう、お孫さんがあるのよ
・ 彼女は40歳そこそこだけど、もう、お孫さんがいるのよ

は、両者が許されるのではないでしょうか。この会話文は、孫が「いる・いない」というより、「彼女は若くして結婚し子供を生んだ」ということに(暗黙に)焦点が当たっています。だから「ある」の許容度が高いのだと思われます。

また、年代によって違うと思いますが、「私には、恋人があるの」に違和感がないという人が現在でもいるはずです。

とにかく「ある・いる」の使い分けのような基本的な文法は、75年程度で完全に変化するわけではなく、徐々に進んでいくはずです。それでは、75年程度の時間軸ではなく、数百年の長いスパンで見たらどうなるか。実は、その長いスパンにおける文法の変遷が、現代の「ある」「いる」の使い分けや、「違和感がある・違和感がない」につながっています。これが今回の主題です。


日本語存在表現の歴史


以降は、金水きんすい 敏・著「日本語存在表現の歴史」(ひつじ書房 2006。以下「本書」)に沿って、「ある」と「いる」の歴史を要約します。金水 敏氏は大阪大学教授(出版当時)で、以前、このブログの No.324「役割語というバーチャル日本語」でも登場いただきました。「ヴァーチャル日本語 役割語の謎」(岩波書店 2003)という著書があるように役割語の研究で有名ですが、日本語文法の歴史の研究者でもあり「日本語存在表現の歴史」はその研究成果をまとめられたものです。



なお、日本語の存在動詞には「ある」「いる」以外に、「いる」の意味で使われる「おる」があります。「おる」は、現代の共通語では単独で使われることはなく、

・ おれらます(尊敬語)
「 社長は、今、役員会議室におられます」
・ おります(丁寧語、謙譲語)
「 月曜は定休日ですが、本日は祝日なので営業しております」

日本語存在表現の歴史.jpg
金水 敏
「日本語存在表現の歴史」
(ひつじ書房 2006)
などに残るだけですが、地域語(いわゆる方言)では存在動詞として普通に使われます。すでに 1967年の段階で国立国語研究所は「あそこに人が ◯◯」という文型おける存在動詞の地域分布を調査しました。それによると、東日本(静岡・長野・新潟より東)は「いる」、西日本(愛知・岐阜・富山より西)は「おる」で、「いる」「おる」は東西で分布が分かれる典型的な例です。ただし西日本でも、大阪、京都南部、滋賀の一部には「いる」が分布しています(大阪で実際に多く使われるのは変化形の「いてる」)。また和歌山の一部では「ある」を使います。つまり有生物主語の存在動詞に「ある」を使う地域もあるということです。

このように「いる」と「おる」は、日本語の存在表現を研究する上での重要な問題であり、本書でも多くのページが割かれていますが、今回は現代の共通語である「ある・いる」に絞ります。


存在表現の分類


「ある・いる」の使い分けを歴史的にみるとき、存在表現を3つに分類するのが妥当です。空間的存在文、限量的存在文、所有文の3つです。

 空間的存在文 

主語が指示する存在対象と物理空間の結びつきを表現する存在表現です。

  子供が公園にいる

空間的存在文では、有生物主語で「ある」は認められません。

  子供が公園にある(×)

もちろん、無生物主語では「ある」です。

 限量的存在文 

"限量的存在文" とは難しそうな言葉ですが、集合の中に、限られた量の部分集合が存在することを示す文です。

  授業中に寝ている学生がいる

これは、授業に出席している学生(=集合)の中に、寝ている学生(=部分集合)が存在すること言っています。"部分集合文" といった方がわかりやすいかもしれません。限量的存在文では有生物主語であっても「ある」が許される、というのが本書の著者の言語感覚です。

  授業中に寝ている学生がある

ただし、そうではない、「いる」でないとおかしいとの言語感覚をもつ人が、特に若い人を中心に多くなったと著者は言っています。

 所有文 

  (人は)◯◯ をもっている

という意味内容を、

  (人には)◯◯ が{ある/いる}

というように、◯◯ を主語にした存在表現で表すのが所有文です。◯◯ には親族・友人・仲間・恋人などの人(=有生物)や、身体の部位、罹患している病気、精神のありよう(気概とかプライド、勇気など)が入ります。人を "所有" というのは違和感がありますが、あくまで文法用語です。日本経済新聞のコラムの「私には、恋人があるの」は、まさしく所有文でした。

所有文では、主語(ガ格の名詞)が有生であっても、「ある・ない」も「いる・いない」も使えるのが特徴です。

  私は子供がいません
  子供がいない夫婦も多い。

  私は子供がありません
  子供がない夫婦も多い。

ただし、「私には、恋人があるの」に違和感をもつ人がいるのも事実であり、また文型によっては「ある」が許容し難いケースがあります。たとえば、場所を示す修飾語がつくような場合です。

  私には婚約者がいる
  私には婚約者がある
  私には北海道に婚約者がある(×)

最後の例は、「いる」だけが許される空間的存在文との類似が顕著だからでしょう。

本書の考察によると、「ある・いる」の使い分け、ないしは有生物の主語について「ある」が許容できるかに関しては、所有文は限量的存在文と非常に近い関係にあります。そのため、以降の歴史的変遷の表では所有文は限量的存在文に含めます。



これ以降は、本書よる「ある・いる」の歴史的変遷の要約です。この使い分けは5段階で変化してきたというのが本書の眼目です。


第1段階:古代から鎌倉時代まで


そもそも鎌倉時代までは、すべての存在表現は「あり」(現代の "ある")を使っていました。表にすると次の通りです。

  第1段階
空間的存在文 限量的存在文
有生物主語 あり あり
無生物主語 あり あり

あえて2×2の表を使うのは、以降の第5段階までを統一的に表すためです。この形の表では、所有文の「ある・いる」の使い分けは限量的存在文のところに含めて表現します。


第2段階:「いる」の出現


日本語では古代から「ゐる」という言葉がありました。「ゐる」を人に使うとき、典型的な意味は「座る」で、「立つ」の対立概念です。つまり、

 「立つ」
   運動が始動し、対象が移動を始める

 「ゐる」
   運動が平静化し、対象がその場に固着する

というのが基本的な意味です。これらは "変化動詞" であり、単独の動詞だけでは継続的な意味を表しません。また、有生物、無生物の両方に使えました。

現代の共通語でも「立つ」は運動が始動する意味で使います。また、人だけでなく無生物にも使います。

霧がたつ、波がたつ、塵がたつ、煙がたつ、匂いがたつ、噂がたつ

などです。「風立ちぬ」という堀辰雄の有名な小説もありました。

一方の「ゐる(いる)」は、現代共通語では「運動が平静化し、対象がその場に固着する」という意味では使いません。つまり、主語が人の場合、"座る" の意味の "変化動詞" としては使わない。しかし慣用句には残っていて「いてもたっても」がそうです。これは「座っても、立っても」の意味です。

この「ゐる(いる)」が、室町時代の15世紀~16世紀に継続的な存在を意味するように変化し、存在動詞として使われるようになりました。

「天草版平家物語」という文献があります。これは1593年にイエズス会が出版したキリシタン資料で、平家物語を当時の口語に翻訳したものです。ポルトガル式のローマ字で書かれています。本書ではこの「天草版・平家物語」を原本の平家物語と付き合わせて、存在動詞を詳細に分析しています。それによると、

◆ 有生物主語の空間的存在文に「いる」が多く使われている。ただし、「ある」も使われていて、その使用回数は「いる」より少ない(いる:53。ある:15)

◆ 限量的存在文に「いる」が使われることはなく、「ある」だけが使われている。

ということが分かりました。表にすると次の通りです。

  第2段階
空間的存在文 限量的存在文
有生物主語 いるある ある
無生物主語 ある ある

つまり、有生物主語の空間的存在文に「いる」が入り込み、この領域を「ある」と分け合ったということになります。なお「ある」は「あり」の連用形を終止形にも使うように変化したものです。


第3段階:「いる」の拡大1


江戸時代前期の存在表現を調べるために、著者は近松門左衛門の浄瑠璃を分析しました。「曾根崎心中」「心中天の網島」「女殺油地獄」などの13作品(1703年~1722年に発表)です。これらの近松作品では、有生物の空間的存在文だけで「いる」「ある」が併用され、他は「ある」でした。つまり、第2段階(天草版平家物語)と同じ使い方です。

次に、江戸時代後期の上方の洒落本、20作品(1756年~1826年)を分析すると、有生物の空間的存在文では「いる」だけが使われていました。限量的存在文(と所有文)では第2段階と同じ「ある」だけです。表にすると次の通りです。

  第3段階
空間的存在文 限量的存在文
有生物主語 いる ある
無生物主語 ある ある

さらに江戸後期の資料として、本居宣長が1797年に著した「古今集遠鏡」も分析しました。この資料は、古今集のすべての歌を当時の京都の口語に翻訳したものです。この資料でも第3段階の使い方(上表)がされていました。

つまり、室町時代に存在表現に使われ出した「いる」は、江戸後期に至って有生物の空間的存在文は「いる」との使い方が固まったことになります。


第4段階:「いる」の拡大2


明治時代になってからの資料として、夏目漱石の「三四郎」(1908)が分析されています。次の表は有生物主語の存在動詞を分析したもので、所有文を別立てにし、また「ある」の否定形の「ない」の使用回数も数えられています。

空間的
存在文
限量的
存在文
所有文
いる 80 18 1 99
ある 0 39 3 42
ない 0 8 1 9
80 65 5 150

第3段階からさらに進んで、限量的存在文に「いる」がかなり入り込んでいるのがわかります。マクロ的には次の表のようになります。

  第4段階
空間的存在文 限量的存在文
有生物主語 いる あるいる
無生物主語 ある ある


第5段階:現代共通語


次に分析さているのは、向田邦子のテレビドラマの脚本「阿修羅のごとく」(1979 - 80年 放送)です。この脚本における、有生物主語の存在動詞の使用統計は次の通りです。

空間的
存在文
限量的
存在文
所有文
いる 43 25 40 108
ある 0 1 4 5
ない 0 3 3 6
43 29 47 119

これをみると、限量的存在文と所有文における「ある」の使用が激減し、「いる」にとって代わられていることがわかります。ちなみに激減した「ある」ですが、所有文でなおかつ「ある」が使われている例の一つが次です。

綱子「あの人、だれ。いつからつきあってるの。妻子のある人じゃないの」

さらに、2000年に発表された「関西・若年層における対話データ集」(大阪大学の真田信治教授)では、「ある」の使用が皆無になり「いる」だけになっています。つまり、次表で示す第5段階へと進んだわけです。向田邦子の「阿修羅のごとく」は "ほぼ第5段階" と言えます。

  第5段階
空間的存在文 限量的存在文
有生物主語 いる いる
無生物主語 ある ある

著者は、現在(=本書の出版時点。2006年)の「ある」と「いる」について次のように述べています。


現在は、東京も京阪も、第4段階の話者と第5段階の話者が入り交じって、後者が圧倒しつつある状況と見てよいであろう。筆者自身は第4段階、すなわち、限量的存在文で「ある」が使用可能であるという直感があるが、学生の間ではこの直感はほとんど共有されていない。文章語に親しんでいるかいないかによっても、この感覚は異なるようである。

金水 敏  
「日本語存在表現の歴史」
(ひつじ書房 2006)

「文章語に親しんでいるかいないかによっても、この感覚は異なる」と書かれていますが、例えば、日常の口頭語としては「いる」を使っている人が、小説を読むのが好きで、半世紀前の作家の小説をよく読むとします。そこで「ある」が多用されていたとしたら、それに影響されて「ある」を使った文を書く、というようなことは大いにありうるはずです。

人の言語感覚は、家庭環境、小さいときからの教育、地域の人とのコミュニケーション、各種のメディア、読書など、多様なソースからの影響の中で形成されます。人それぞれに多様な言語感覚がある中で、日本語の変遷が徐々に進んでいくということでしょう。


存在表現の変遷


今まで、存在表現の分析を歴史順にあげましたが、これは本書の分析の一部を引用したに過ぎません。また本書では数々の先行研究の成果を調べ、それを踏まえて存在表現の変遷がまとめられています。それをごくマクロ的に表したのが、第1段階第5段階でした。改めて順に掲げると次の通りです。

第1段階
空間的存在文 限量的存在文
有生物主語 あり あり
無生物主語 あり あり

第2段階
空間的存在文 限量的存在文
有生物主語 いるある ある
無生物主語 ある ある

第3段階
空間的存在文 限量的存在文
有生物主語 いる ある
無生物主語 ある ある

第4段階
空間的存在文 限量的存在文
有生物主語 いる あるいる
無生物主語 ある ある

第5段階
空間的存在文 限量的存在文
有生物主語 いる いる
無生物主語 ある ある

もちろん、同時期に複数の段階の話者が混在します。直線的に進むわけでもないし、地域差もあります。しかし大づかみにとらえると、このような歴史的段階を経て文法が変化してきたわけです。

冒頭の日本経済新聞のコラムに戻ると、太宰治の「斜陽」に出てくる「私には、恋人があるの」という存在表現(所有文)は、第4段階ということになります。また、

日本国語大辞典に)古事記から竹取物語、枕草子、徒然草、さらには江戸時代前期の歌舞伎まで、「いる」の意味の用例がずらりと並ぶ

とコラムにあるのは、古事記から江戸の歌舞伎までは第1段階から第3段階なので、「(人が)いる」の意味で「ある」を使うのは当然なのでした。


存在表現の変遷:その推進力


このような存在表現の変遷をもたらした推進力は何でしょうか。著者は2つの要因をあげています。一つは、言葉というものは「人間を特別扱いする傾向」があることです。日本語では、たとえば目的語によって、

  つれていく(人)
  もっていく(人以外)

のように動詞を使い分けます。副詞では、

  おおぜい(人専用)
  たくさん(人・モノ兼用)

と使い分けます。このような「人間を特別扱いする言語現象」は世界各地の言語にあります。

ただ日本語では、最も基本的な語彙である "存在動詞" において「人間の特別扱い」があるわけです。このような言語は、日本語以外ではシンハラ語(スリランカの公用語の一つ)ぐらいだと言われています。つまり非常に少ないのですが、「人間を特別扱いする言語現象」という観点に立てば、存在表現に有生・無生の使い分けがあってもよい。有生物は人間の拡大と考えればそうなります。

2番目は「体系の単純化」です。第2段階で有生物の空間的存在文に「いる」が入り込んで以降、「ある・いる」の混在を単純化する推進力が働き、最終的に第5段階で有生物は「いる」に統一され単純化された、と考えることができます。

この「人間の特別扱い」と「単純化」によって、現在の「ある・いる」の使い分けができたというのが著者の考えです。鎌倉時代までの「あり(ある)」だけの存在表現から、現在の「ある・いる」の使い分けまでは、およそ500年の時が流れています。この間、マクロ的に見れば1方向に "文法を変える推進力" が働いて今の姿になった、とまとめられるでしょう。

ここまでで、金水 敏・著「日本語存在表現の歴史」からの紹介を終わります。


日本語文法の一方向変化


金水 敏・著『日本語存在表現の歴史』の「ある・いる」の使い分けの変遷を読んで、以前に書いたこのブログの記事を思い出しました。No.146「お粥なら食べれる」です。

この記事では、井上史雄・著『日本語ウォッチング』(岩波新書 1998)に従って、「見れる、食べれる」などの "可能動詞" の歴史を紹介しました。それを復習すると以下の通りです。



日本語ウォッチング.jpg
井上史雄
「日本語ウォッチング」
(岩波新書 1998)
日本語では動詞の「可能」を表現するのに「れる・られる」(古文では「る・らる」)を使うのが奈良時代以来の伝統です。その「れる・られる」は学校で習ったように、自発・受け身・尊敬・可能の4つの意味を持っています。しかし「可能」については「れる・られる」以外に、専用の形である「可能動詞」が発達してきました。

まず室町時代以降、「読む」などの五段活用動詞(以下、五段動詞。古文では四段活用)の一部で「読める」という言い方が出始めました。この動きは江戸時代に他の五段動詞、「走れる」「書ける」「動ける」などに広がり、明治時代を経て大正時代までには、多くの五段動詞において可能動詞が定着しました(もちろん可能動詞が不要な動詞もあるわけで、五段動詞全部というわけではありません)。

次に、カ行変格活用の動詞「来る」にこの動きが及び、可能動詞「来れる」が定着しました。

さらに昭和初期から「見る」「食べる」などの一段活用動詞(以下、一段動詞)に広まり、「見れる」「食べれる」という表現が出てきました。現代は一段動詞における可能動詞の形成の途中(初期)にあたる、というわけです。もちろん現在でも「見られる・食べられる」が正しい日本語とされ、「見れる・食べれる」は俗用とされています。

井上史雄・著『日本語ウォッチング』には、可能動詞の拡大過程を示す次の図が載っています。

ラ抜きことばの拡大過程.jpg
可能動詞の拡大過程
井上史雄「日本語ウォッチング」より。可能動詞の成立は数百年にわたる日本語の変化のプロセスであり、現在は一段動詞の初期段階にあたる。この図は、動詞によって成立時期が違うことも表している。

この図の横軸は2100年より先までになっています。井上教授は「五段動詞での数百年単位のゆっくりした拡大ペースを考えると、一段動詞のすべてに "ラ抜き言葉 "が普及するには、かなり長い年数が必要だろう」と述べています。



可能動詞を形成してきた推進力は「意味の明晰化」でしょう。「単純化」の一つと言ってもよいと思います。この、可能動詞の形成過程と、存在表現における「ある・いる」の使い分けの2つは、

室町時代に始まった日本語文法の変化が、ある一定の方向に進み、当初とはかなり違った姿になって現代に至っている

という点でそっくりです。現在、有生物に使う「ある」や、「見れる、食べれる」という言い方について、ある人はすんなりと受け入れ、ある人は違和感を覚え(ないしは間違いだと断定し)、それは世代によって違うことも多いわけです。その大きな理由は、背景に数百年にわたる日本語の変遷の歴史があるからでしょう。

誰がコントロールしたわけでもないのに、ある一定方向への変化が 500年にわたって脈々と続く ・・・・・・。こういう事実を前にすると、改めて言葉(日本語)は極めて大切な文化だという感を持ちます。

と同時に、変化を許容する必要性も感じます。新しい言葉使いや言葉の意味の変化は、出現したそれなりの理由があります。そういった新しい語彙や使い方は、自然と使われなくなってすたれるもの、長期間にわたって残るもの、日本語の体系に組み込まれて定着するものなどがあります。それは文化のありようによって、誰がコントロールしたわけでもないのに決まっていくのです。




nice!(0) 

No.376 - 高校数学で理解するマッチング問題 [科学]

\(\newcommand{\bs}[1]{\boldsymbol{#1}} \newcommand{\mr}[1]{\mathrm{#1}} \newcommand{\br}[1]{\textbf{#1}} \newcommand{\ol}[1]{\overline{#1}} \newcommand{\sb}{\subset} \newcommand{\sp}{\supset} \newcommand{\al}{\alpha} \newcommand{\sg}{\sigma}\newcommand{\cd}{\cdots}\)
今まで「高校数学で理解する ・・・・・・」というタイトルの記事をいくつか書きましたが、その続きです。過去の記事は、


の、総計 17 の記事です。分類すると、

① 公開鍵暗号とその関連技術(素数判定)
No.310, 311, 313, 315, 316, 369

② ガロア理論
No.354, 355, 356, 357, 358, 359, 370

③ 直感に反する確率
No.325, 329

④ 生成AIの技術(=Transformer)
No.365, 366

となります。今回の "マッチング問題" は「③ 直感に反する確率」のジャンルに属するものです。

なお、"高校数学で理解する" というタイトルは、「高校までで習う数学だけを前提知識とする(それ以外は全部証明する)」という意味です。もちろん、"おおよそ高校までの数学" が正しく、正式には大学で習う数学を証明なしで使ったことがあります。たとえば、No.325「高校数学で理解する誕生日のパラドックス」での "マクローリン展開(テイラー展開)" ですが、今回もそれを使います。


席替えの成功確率


小学校で 40人のクラスがあるとします。このクラスには約 90%の確率で誕生日が同じ子がいる(正確には 89.12%)というのが No.325「高校数学で理解する誕生日のパラドックス」でしたが、今回は席替えの問題です。

40人のクラスで、席替えを "くじ引き" でやるとします。まず、現在の席に 1 ~ 40 の席番号を割り振ります。担任の先生は、1 ~ 40 の数字を書いた紙を 40枚用意し、その紙を数字が見えないように折って、箱の中に入れてかき混ぜます。生徒は席番号1の子から順に箱から紙を1枚ずつ引き、そこに書かれている数字がその子の新しい席となります。もちろんこのやり方だと、今の自分の席番号の紙を引く子が現れる可能性があります。現在の席番号以外の番号を引けば、その子は "成功" と定義します。

そして「すべての子が成功したら、クラスの席替えは成功」と定義します。つまり「すべての子が現在の席番号と違う番号を引いたとき、席替えは成功」です。では、40人のクラスで席替えが成功する確率はどれほどでしょうか。これが問題です。

40人だと考えづらいので、極端ですが、クラスの人数が 3人の場合で考えてみます。席1、席2、席3の子が引いた数字を順に3つの数字の組で表すと、考えられる組み合わせは、

 (1, 2, 3)
 (1, 3, 2)
 (2, 1, 3)
 (2, 3, 1)◎
 (3, 1, 2)◎
 (3, 2, 1)

の6通り(=3!)です。このうち "席替え成功" となるのは ◎印をつけた、

 (2, 3, 1)
 (3, 1, 2)

の2通りだけなので、

 席替えの成功確率\(=\dfrac{2}{6}\fallingdotseq0.33\)

です。この結果の 0.33 は直感と合っているのではないでしょうか。席1の子が成功する確率は 0.66 ですが、もし席1の子が2を引き、席2の子が1を引いてしまったら(確率 0.5)席3の子が失敗します("2,1,3" のパターン)。また、席1の子が3を引いたとしても、席2の子が2を引いてしまったら(確率 0.5)失敗です("3,2,1" のパターン)。席替えの成功確率は 0.66 の半分になって 0.33。これはわかりやすい話です。

席替えの成功確率が 0.33 という低い数字になるのは、各生徒の成功確率が 0.66 とか 0.5 とかで、1.0 と比べるとかなり小さい数字だからと考えられます。席が3つしかないのでそうなるしかなく、成功確率は低い。

では、40人のクラスではどうでしょうか。この場合、席1の子の成功確率は \(\dfrac{39}{40}=0.975\) であり、席2の子の成功確率もそれに近い数です。40人全員の成功確率もそれなりに高いはずで、従ってクラスの席替えの成功確率は高いと思われます。くじを引く子たちの立場で考えてみても、まさか自分の席の番号を引くとは思わないでしょう。選択肢は 40 もあるのだから ・・・・・・。しかし、実際に成功確率を計算してみると、

 席替えの成功確率\(\fallingdotseq0.368\)

となり、40人のクラスでも、3人のクラスと成功確率はあまり変わらないのです。わずかに増加していますが ・・・・・・。36.8 % という確率は、席替えを3回トライして1回成功するかどうかという数字です。逆に言うと、63.2 % という高確率で自分の席の紙を引く子が少なくとも1人は出てくる

これは直感とはズレているのではないでしょうか。なぜそのようになるのか、それが以下です。


マッチング問題と完全順列


これは、一般にはマッチング問題(出会いの問題。matching problem)と呼ばれています。フランスの数学者、ピエール・ド・モンモール(1678-1719)が初めて提示したので、モンモールの問題とも言われます。

2人のプレーヤー、AとBがそれぞれ 13枚のカードを渡されます。Aにはスペードの A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K を、Bにはクラブの A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K です。AとBはその中から任意の1枚を選び、同時に場に提示します。一度提示したカードは捨て、これを13回繰り返します。場に提示されたカードの種類が1回でも同じであればマッチング成功です。同じ種類のカードが全くなければマッチングは不成功です。成功する確率はどれだけか、というのがマッチング問題です。

一般化すると、\(1\) ~ \(n\) の数字の書かれたカードをランダムにシャッフルし、順番に場に提示したとき、\(i\) 番目に提示したカードの数字が \(i\) であるとマッチングが成立したことになります。「\(i\) 番目に提示したカードの数字が \(i\) でない」という状況が \(n\) 回続くと(=一度もマッチしないと)、マッチング不成立です。

さきほど書いた\(40\)人のクラスの「席替え成功確率」は、\(n=40\) のときにマッチング不成立になる確率はいくらか、という問題になります。


\(1\) ~ \(n\) の \(n\)個の数字の順列の総数は \(n!\) ですが、\(i\) 番目の数字 \(d_i\) が \(i\) でない \((1\leq i\leq n)\) 順列を完全順列(complete permutation)と言います。つまり、

 \(d_i\neq i\:\:(1\leq i\leq n)\)

を満たす順列です。攪乱順列(derangement)という言い方もあります。\(d_i\neq i\:(1\leq i\leq n)\) であってこそ「数字を完全にかき混ぜた(=攪乱かくらんした)順列」なので、そう呼ばれるのでしょう。

完全順列という言葉を使うと、\(\bs{n}\) 個の数字の順列(総数は \(\bs{n!}\))のうちの完全順列の割合がマッチング不成立の確率(=席替えの成功確率)です。では、完全順列の数はどの程度あるのでしょうか。これを計算するために、まず、集合における「包除原理」を説明します。


包除原理(Inclusion-Exclusion Principle)


包除原理とは、有限集合の和集合の要素数を計算する原理で、英語では Inclusion-Exclusion Principle と言います。Inclusion は包含、Exclusionは除外の意味で、日本語では包除原理です。

以下、\(A_i\) を有限集合とし、\(A_i\) の要素数を \(|A_i|\) と表記します。いま2つの集合、\(A_1\) と \(A_2\) があるとき、\(A_1\) と \(A_2\) の和集合の要素数は次の式で表されます。

 \(|A_1\cup A_2|=|A_1|+|A_2|-|A_1\cap A_2|\)

つまり、\(A_1\) と \(A_2\) の和集合の要素数は、\(A_1\) の要素数と \(A_2\) の要素数の和から、ダブル・カウントした \(A_1\) と \(A_2\) の共通部分(\(A_1\cap A_2\))の要素数を引き算して求まります。これはシンプルです。3つの集合 \(A_1\:,A_2,\:A_3\) になると次が成り立ちます。


\(|A_1\cup A_2\cup A_3|\)
\(\begin{eqnarray} &&\:\:=&|A_1|+|A_2|+|A_3|\\ &&&-|A_1\cap A_2|-|A_1\cap A_3|-|A_2\cap A_3|\\ &&&+|A_1\cap A_2\cap A_3|\\ \end{eqnarray}\)


証明

スライド1.jpg
図1
\(|A_1|+|A_2|+|A_3|\)
スライド2.jpg
図2
\(|A_1\cap A_2|+|A_1\cap A_3|+|A_2\cap A_3|\)

スライド3.jpg
図3
\(|A_1\cap A_2\cap A_3|\)
スライド4.jpg
図4
\(|A_1\cup A_2\cup A_3|\)

\(|A_1|+|A_2|+|A_3|\) の式は、複数回カウントしている要素がある。要素のカウント数を図に表すと図1である。

\(|A_1\cap A_2|+|A_1\cap A_3|+|A_2\cap A_3|\) は「2つの集合の共通部分」を複数回カウントしている要素がある。要素のカウント数を図に表すと図2である。

\(|A_1\cap A_2\cap A_3|\) は「3つの集合の共通部分」を1回だけカウントしているから、カウント数を図に表すと図3である。要素のカウント数に注目して、

 (図1)\(-\)(図2)\(+\)(図3

を計算すると図4になる。図4はすべての要素を1回だけカウントしているので、題意は正しい。【証明終


包除原理を使う例として、たとえば次の問題があります。


\(100\)以下の自然数で、\(2,\:3,\:5\) の倍数ではない数は何個あるか


という問題です。包除原理の通りに順に計算すると、

 \(\phantom{1}2\)の倍数:\(50\)(\(\phantom{1}2\)~\(100\))
 \(\phantom{1}3\)の倍数:\(33\)(\(\phantom{1}3\)~\(\phantom{1}99\))
 \(\phantom{1}5\)の倍数:\(20\)(\(\phantom{1}5\)~\(100\))

 \(\phantom{1}6\)の倍数:\(16\)(\(\phantom{1}6\)~\(\phantom{1}96\))
 \(10\)の倍数:\(10\)(\(10\)~\(100\))
 \(15\)の倍数:\(\phantom{1}6\)(\(15\)~\(\phantom{1}90\))

 \(30\)の倍数:\(\phantom{1}3\)(\(30\)~\(\phantom{1}90\))

なので、答えは

 \(100-(50+33+20-16-10-6+3)=26\)

となります。実際に数をリストしてみると、

 \(\phantom{1}1,\:\phantom{1}7,\:11,\:13,\:17,\:19,\:23,\:29,\:31,\:37,\)
 \(41,\:43,\:47,\:49,\:53,\:59,\:61,\:67,\:71,\:73,\)
 \(77,\:79,\:83,\:89,\:91,\:97\)

の \(26\)個です。


さらに、集合の数が4個になると次のようになります。一般論につながる形で証明をします。


\(|A_1\cup A_2\cup A_3\cup A_4|=\)
   
 \(+\)\(|A_1|+|A_2|+|A_3|+|A_4|\) 第1項
   
\(-\)\(|A_1\cap A_2|-|A_1\cap A_3|-|A_1\cap A_4|-\)
\(|A_2\cap A_3|-|A_2\cap A_4|-|A_3\cap A_4|\) 第2項
   
\(+\)\(|A_1\cap A_2\cap A_3|+|A_1\cap A_2\cap A_4|+\)
\(|A_1\cap A_3\cap A_4|+|A_2\cap A_3\cap A_4|\) 第3項
   
\(-\)\(|A_1\cap A_2\cap A_3\cap A_4|\) 第4項


証明

1つの集合だけに属する要素は、第1項だけでプラス・カウントされているから、カウント数は1である。

\(A_1\) と \(A_2\) の共通部分(\(A_1\cap A_2\))の要素は、第1項で2回プラス・カウントされ、第2項で1回マイナス・カウントされているから、合計のカウント数は計1である。これは「2つの集合の共通部分」すべてで同じである。

\(A_1\cap A_2\cap A_3\) の要素は、第1項で3回プラス・カウントされ(\(|A_1|+|A_2|+|A_3|\) で \(+\:{}_{3}\mr{C}_{1}\) 回)、第2項で3回マイナス・カウントされ(\(-|A_1\cap A_2|-\)\(|A_1\cap A_3|-\)\(|A_2\cap A_3|\) で \(-\:{}_{3}\mr{C}_{2}\) 回)、第3項で1回プラス・カウントされているから(\(+\:{}_{3}\mr{C}_{3}\) 回)、合計のカウント数は1である。これは「3つの集合の共通部分」すべてで同じである。

\(A_1\cap A_2\cap A_3\cap A_4\) の要素が何回カウントされているかをみると、

第1項で  \(+\:4\) 回 (\(+\:{}_{4}\mr{C}_{1}\) 回)
第2項で  \(-\:6\) 回 (\(-\:{}_{4}\mr{C}_{2}\) 回)
第3項で  \(+\:4\) 回 (\(+\:{}_{4}\mr{C}_{3}\) 回)
第4項で  \(-\:1\) 回 (\(-\:{}_{4}\mr{C}_{4}\) 回)

であり、合計のカウント数は1である。以上で、1つの集合だけに属する要素も、2~4個の集合の共通部分の要素もすべて1回カウントされているから、題意は正しい。【証明終


集合の数が \(n\)個 の場合の一般論では次のようになります。


\(|A_1\cup A_2\cup A_3\cup\cd\cup A_n|=\)
 \(+\displaystyle\sum_{i=1}^{n}|A_i|\) 第1項
\(-\displaystyle\sum_{1\leq i < j}^{n}|A_i\cap A_j|\) 第2項
\(+\displaystyle\sum_{1\leq i < j < k}^{n}|A_i\cap A_j\cap A_k|\) 第3項
  \(\vdots\)
\((-1)^{n-1}\:|A_1\cap A_2\cap A_3\cap\cd\cap A_n|\) \(\bs{n}\)


証明

1つの集合だけに属する要素は、第1項だけでプラス・カウントされているから、カウント数は1である。また、\(m\)個の集合の共通部分(\(2\leq m\leq n\))は、第1項\(\bs{m}\)でカウントされ、回数はそれぞれ、

第1項で  \(+\) \({}_{m}\mr{C}_{1}\) 回
第2項で  \(-\) \({}_{m}\mr{C}_{2}\) 回
第3項で  \(+\) \({}_{m}\mr{C}_{3}\) 回
 \(\vdots\)
\(\bs{m}\)で  \((-1)^{m-1}\cdot\) \({}_{m}\mr{C}_{m}\) 回

だから、合計のカウント数は、

 \(\displaystyle\sum_{k=1}^{m}(-1)^{k-1}{}_{m}\mr{C}_{k}\)

である。この式の値を評価するために \((x-1)^m\) の二項展開を利用する。\((x-1)^m\) を二項展開すると、

\(\begin{eqnarray}
&&\:\:(x-1)^m=&x^m&-{}_{m}\mr{C}_{1}x^{m-1}+{}_{m}\mr{C}_{2}x^{m-2}\\
&&&&-{}_{m}\mr{C}_{3}x^{m-3}+\:\cd\:+(-1)^m{}_{m}\mr{C}_{m}\\
\end{eqnarray}\)

となるが、この式に \(x=1\) を代入すると、

 左辺\(=0\)
 右辺\(=1-{}_{m}\mr{C}_{1}x+{}_{m}\mr{C}_{2}-{}_{m}\mr{C}_{3}+\:\cd\:+(-1)^m{}_{m}\mr{C}_{m}\)

である。ここから、

 \({}_{m}\mr{C}_{1}-{}_{m}\mr{C}_{2}+{}_{m}\mr{C}_{3}-\:\cd\:-(-1)^m{}_{m}\mr{C}_{m}\)\(=1\)
 \({}_{m}\mr{C}_{1}-{}_{m}\mr{C}_{2}+{}_{m}\mr{C}_{3}-\:\cd\:+(-1)^{m-1}{}_{m}\mr{C}_{m}\)\(=1\)
 \(\longrightarrow\:\displaystyle\sum_{k=1}^{m}(-1)^{k-1}{}_{m}\mr{C}_{k}=1\)

となる。従って、\(m\)個の集合の共通部分(\(2\leq m\leq n\))は、\(m\) の値にかかわらず合計1回だけカウントされている。

以上で1つの集合だけに属する要素も、共通部分に属する要素も、すべて1回カウントされているから、題意は正しい。【証明終


完全順列の個数を数える


包除原理を踏まえて、完全順列の個数を計算します。\(1\) ~ \(n\) の \(n\) 個の数字の順列の集合を \(P(n)\) とすると \(|P(n)|=n!\) です。これらの中で、順列の \(i\) 番目の数字 \(d_i\) が \(i\) でないもの \((1\leq i\leq n)\) が完全順列(complete permutation)です。つまり、

 \(d_i\neq i\:\:(1\leq i\leq n)\)

を満たす順列です。ここでは完全順列の反対、つまり、

 ある \(i\:(1\leq i\leq n)\) について \(d_i=i\)

となる順列を「不完全順列」(incomplete permutation)と呼ぶことにし(ここだけの用語です)、

 \(P_{cp}(n)\):完全順列の集合
 \(P_{ip}(n)\):不完全順列の集合

と書くことにします。

\(\begin{eqnarray}
&&\:\:|P(n)|&=|P_{cp}(n)|+|P_{ip}(n)|\\
&&&=n!\\
\end{eqnarray}\)

です。以下、不完全順列の個数(\(|P_{ip}(n)|\))を調べることにします。


\(1\) ~ \(n\) の \(n\)個の数字の順列で、\(i\) 番目の数字 \(d_i\) が \(d_i=i\) であるような順列の集合を \(A_i\) と定義します。そうすると、不完全順列の集合は、

 \(P_{ip}(n)=A_1\cup A_2\cup A_3\cup\cd\cup A_n\)

と表現できます。もちろん、\(A_1,\:A_2,\:A_3,\:\cd\) の要素にはかなりの重複があります。ここで、重複を排して不完全順列の数を数えるために包除原理を使うと、

 \(|P_{ip}(n)|=\)
  \(+\displaystyle\sum_{i=1}^{n}|A_i|\) 第1項
\(-\displaystyle\sum_{1\leq i < j}^{n}|A_i\cap A_j|\) 第2項
\(+\displaystyle\sum_{1\leq i < j < k}^{n}|A_i\cap A_j\cap A_k|\) 第3項
  \(\vdots\)
\((-1)^{n-1}\cdot|A_1\cap A_2\cap A_3\cap\cd\cap A_n|\) \(\bs{n}\)

となります。まず、第1項を考えると、\(|A_1|\) は「1番目の数字以外の \(n-1\) 個の数字」がつくる順列の数だけあります。つまり、

 \(|A_1|=(n-1)!\)

であり、問題の対称性から、

 \(|A_1|=|A_2|=|A_3|=\:\cd\:=|A_n|\)

なので、第1項\(=n\cdot(n-1)!\) です。

第2項は、2つの数字の選び方が \({}_{n}\mr{C}_{2}\) 通りあり、それぞれについて「2つの数字以外の \((n-2)\) 個の数字」がつくる順列の数=\((n-2)!\) だけマイナス・カウントされるので、

 第2項\(=-{}_{n}\mr{C}_{2}\cdot(n-2)!\)

です。同様に考えて全体をまとめると、

第1項\(=\) \(+\) \({}_{n}\mr{C}_{1}\cdot(n-1)!\)
第2項\(=\) \(-\) \({}_{n}\mr{C}_{2}\cdot(n-2)!\)
第3項\(=\) \(+\) \({}_{n}\mr{C}_{3}\cdot(n-3)!\)
\(\vdots\)
   
\(\bs{n}\)\(=\) \((-1)^{n-1}\cdot\) \({}_{n}\mr{C}_{n}\cdot0!\)

となります。従って、不完全順列の数はこれらを合算して、

 \(|P_{ip}(n)|\)
\(\begin{eqnarray}
&&\:\: &=&n\cdot(n-1)!-\dfrac{n!}{(n-2)!2!}\cdot(n-2)!\\
&&&&+\dfrac{n!}{(n-3)!3!}\cdot(n-3)!-\cd\:+(-1)^{n-1}\cdot1\\
&&&=&n!\left(1-\dfrac{1}{2!}+\dfrac{1}{3!}-\:\cd\:+(-1)^{n-1}\dfrac{1}{n!}\right)\\
\end{eqnarray}\)

と計算できます。完全順列の数は、

 \(|P_{cp}(n)|\)
  \(=n!-|P_{ip}(n)|\)
  \(=n!\left(\dfrac{1}{2!}-\dfrac{1}{3!}+\:\cd\:-(-1)^{n-1}\dfrac{1}{n!}\right)\)
  \(=n!\left(\dfrac{1}{2!}-\dfrac{1}{3!}+\:\cd\:+(-1)^n\dfrac{1}{n!}\right)\)
です。


マッチング成立・不成立の確率


以上の不完全順列の個数をもとに、マッチングが成立する確率 \(\mathcal{P}_{match}(n)\) を計算すると、

\(\begin{eqnarray}
&&\:\:\mathcal{P}_{match}(n)&=\dfrac{|P_{ip}(n)|}{n!}\\
&&&=1-\dfrac{1}{2!}+\dfrac{1}{3!}-\:\cd\:+(-1)^{n-1}\dfrac{1}{n!}\\
&&&=\displaystyle\sum_{k=1}^{n}(-1)^{k-1}\dfrac{1}{k!}\\
\end{eqnarray}\)

となります。マッチングが不成立の確率 \(\mathcal{P}_{unmatch}(n)\) は、

\(\begin{eqnarray}
&&\:\:\mathcal{P}_{unmatch}(n)&=\dfrac{|P_{cp}(n)|}{n!}\\
&&&=\dfrac{1}{2!}-\dfrac{1}{3!}+\:\cd\:+(-1)^n\dfrac{1}{n!}\\
&&&=\displaystyle\sum_{k=2}^{n}(-1)^k\dfrac{1}{k!}\\
\end{eqnarray}\)

であり、これが「くじによる席替え」が成功する確率です。


ここで、\(\displaystyle\lim_{n\rightarrow\infty}\mathcal{P}_{match}(n)\)、\(\displaystyle\lim_{n\rightarrow\infty}\mathcal{P}_{unmatch}(n)\) の値を求めます。これにはテイラー展開の特別の場合であるマクローリン展開を使います。自然対数の底を \(e\) とすると、\(e^x\) のマクローリン展開は、

 \(e^x=1+x+\dfrac{1}{2!}x^2+\dfrac{1}{3!}x^3+\dfrac{1}{3!}x^4+\:\cd\)

です。この式で \(x=-1\) とすると、

 \(\dfrac{1}{e}=\dfrac{1}{2!}-\dfrac{1}{3!}+\dfrac{1}{4!}-\:\cd\)
 \(1-\dfrac{1}{e}=1-\dfrac{1}{2!}+\dfrac{1}{3!}-\dfrac{1}{4!}+\:\cd\)

なので、

\(\begin{eqnarray}
&&\:\:\displaystyle\lim_{n\rightarrow\infty}\mathcal{P}_{match}(n)&=1-\dfrac{1}{e}\\
&&&=0.6321205588285577\cd\\
&&\:\:\displaystyle\lim_{n\rightarrow\infty}\mathcal{P}_{unmatch}(n)&=\dfrac{1}{e}\\
&&&=0.3678794411714423\cd\\
\end{eqnarray}\)

となります。ちなみに、この値を初めて求めたのは大数学者のオイラーだそうです。


\(\mathcal{P}_{unmatch}(n)\) の値(=順列の中の完全順列の割合)を、\(n=3\) ~ \(13\)(=カードの枚数) について計算し、小数点以下\(10\)桁だけを表示すると次の表の通りになります。

\(\overset{\:}{n}\) 完全順列の割合
\(3\) \(0.3333333333\)
\(4\) \(0.3750000000\)
\(5\) \(0.3666666666\)
\(6\) \(0.3680555555\)
\(7\) \(0.3678571428\)
\(8\) \(0.3678819444\)
\(9\) \(0.3678791887\)
\(10\) \(0.3678794642\)
\(11\) \(0.3678794392\)
\(12\) \(0.3678794413\)
\(13\) \(0.3678794411\)
\(\vdots\)     \(\vdots\)
\(\infty\) \(0.3678794411\)

\(n=6\) あたりから急速に極限値である \(\dfrac{1}{e}=0.3678794411\cd\) に近づき、\(n=13\) では小数点以下\(10\)桁までが極限値と一致します。以降はほぼ一定の値になり、もちろん\(40\)人クラスの席替えの成功率も極限値とほぼ一致します。ということで、\(n\) が極端に少ない場合(\(5\) 以下)を除き、

 マッチング成立の確率:\(63.2\:\%\)
 マッチング不成立の確率:\(36.8\:\%\)

としてよいのでした。つまり、くじによる席替えの成功確率は約\(\bs{36.8\:\%}\) であり、クラスの人数によらない。これが結論です。この「\(n\) の値にかかわらず確率がほぼ一定」というところが、少々直感に反する結果になるのでした。



 補記:漸化式 

本文では包除原理を使って完全順列の個数を求めましたが(包除原理の証明が記事の目的の一つでした)、完全順列の個数を示す漸化式を作ることができます。それを説明します。簡潔に書くために、\(n\) 個の数字の完全順列の数を \(D(n)\) とします(攪乱順列:derangement の \(D\) で、本文では \(|P_{cp}(n)|\) としたのもです)。

わかりやすく説明するために、\(n\) 個の箱があり、\(1\) ~ \(n\) の番号が振ってあるとします。また \(n\) 枚のカードがあり、\(1\) ~ \(n\) の番号が書かれています。このカードを1枚づつ順に箱に入れるとします。入れる順番は任意ですが、1つの箱には1枚のカードしか入れられません。箱に入れていないカードを "残っているカード"、カードが入っていない箱を "残っている箱" と表現します。

この状況で、カードと箱の対応パターンは \(n!\) 通りあります。

ここで「カードの番号と同じ番号の箱には入れない」というルールを設けます。このルールがあると、\(n\) 個の箱への \(n\) 枚のカードの対応パターンは完全順列の数である \(D(n)\) 通りになります。

入れる順序は任意なので、最初にカード \(\bs{1}\) を箱 \(\bs{i\:\:(i\neq1)}\) に入れるとします。\(i\) の選び方は \(n-1\) 通りあります。次に、カード \(\bs{i}\) を残っているどれかの箱に入れるとします。どの箱に入れるかを2つに分けて考えます。

カード \(i\) を箱 \(1\) に入れる場合

入れた後では、箱 \(1\) にカード \(i\)、箱 \(i\) にカード \(1\) がある状態です。残っているのは、

 カード:\(2,\:3,\:\cd,\:i-1,\:i+1,\:\cd\:,\:n\)
 :\(2,\:3,\:\cd,\:i-1,\:i+1,\:\cd\:,\:n\)

であり、これらの \((n-2)\) 枚のカードをルールに沿って \((n-2)\) 個の箱に入れるパターンは、定義から \(D(n-2)\) 通りです。

カード \(i\) を箱 \(1\) に入れない場合

この場合、カード \(i\) は "箱 \(1\) 以外の残っている箱" に入れることになります。ここで、カードの番号 \(i\) を \(1\) に書き換えてしまいます。こうしたとしても(書き換えた結果の)カード \(1\) は、"箱 \(1\) 以外の残っている箱" に入れることになります。カード \(1\) は箱 \(1\) に入れてはいけないというルールがあるからです。つまり、カード番号 の \(i\) を \(1\) に書き換えたとしても、「ルールに沿ってカードを箱に入れるパターンの数」は変わりません。

カードの番号を書き換えた直後の状態で、残っているのは、

 カード:\(1,\:2,\:3,\:\cd,\:i-1,\:i+1,\:\cd\:,\:n\)
 :\(1,\:2,\:3,\:\cd,\:i-1,\:i+1,\:\cd\:,\:n\)

となり、これらの \((n-1)\) 枚のカードをルールに沿って \((n-1)\) 個の箱に入れるパターンは、定義から \(D(n-1)\) 通りです。\((n-1)\) 枚を箱に入れ終わったあとで、\(1\) に書き換えたカードを \(i\) に戻せば、\(1\) から \(n\) のカードをすべて箱に入れたことになります。

まとめると、最初の \(i\) の選び方は \(n-1\) 通りあり、それぞれについて、

 カード \(i\) を箱 \(1\) に入れる場合:\(D(n-2)\) 通り
 カード \(i\) を箱 \(1\) に入れない場合:\(D(n-1)\) 通り

があり、この2つは排他的です。従って、

 \(D(n)=(n-1)(D(n-1)+D(n-2))\)

の漸化式が得られます。\(D(1)=0,\:\:D(2)=1\) なので、

 \(D(1)=0\)
 \(D(2)=1\)
 \(D(3)=2\cdot(1+0)=2\)
 \(D(4)=3\cdot(2+1)=9\)

などとなります。


\(D(n)\) の一般項を求めるために漸化式を変形します。

 \(D(n)=(n-1)(D(n-1)+D(n-2))\)
 \(D(n)=nD(n-1)-D(n-1)+(n-1)D(n-2)\)
 \(D(n)-nD(n-1)=-(D(n-1)-(n-1)D(n-2))\)

\(B(n)=D(n)-nD(n-1)\) とおくと、

 \(B(2)=D(2)-2\cdot D(1)=1\)
 \(B(n)=-B(n-1)\)

です。従って \(B(n)\) の一般項は、

 \(B(n)=(-1)^n\)

であり、\(D(n)\) に戻すと、

 \(D(n)-nD(n-1)=(-1)^n\)

になります。この両辺を \(n!\) で割ると、

 \(\dfrac{D(n)}{n!}-\dfrac{D(n-1)}{(n-1)!}=(-1)^n\dfrac{1}{n!}\)

が得られます。この式の両辺を \(2\) から \(n\) までたし算して整理すると、

 \(\dfrac{D(n)}{n!}-\dfrac{D(1)}{1!}\)
   \(=\dfrac{1}{2!}-\dfrac{1}{3!}+\:\cd+(-1)^n\dfrac{1}{n!}\)

 \(D(n)=n!\cdot\displaystyle\sum_{k=2}^{n}(-1)^k\dfrac{1}{k!}\)

となり、包除原理を使った計算(\(|P_{cp}(n)|\))と一致します。


エレガントな解法ですが、漸化式を求めるのが難しい。特に「カード \(i\) を箱 \(1\) に入れない場合の数が \(D(n-1)\) である」ことをゼロから発想するのは大変でしょう。「カード \(i\) を箱 \(1\) に入れない」ということを「ルール上、カード \(1\) は箱 \(1\) に入れられない」と同一視する発想が必要です。また、漸化式から一般項を求める際にも、「式の変形」と「\(n!\) で割る」という、2つの "一般項生成テクニック" がポイントになっています。

ということで、本文では包除原理を使った説明にしました。この方がマッチング問題の本質をとらえています。

ただ、問題の本質をとらえた正攻法で "丹念に" 証明するしかないと "一見思える" 問題でも、漸化式という大変エレガントな解答がある。そのあたりに数学の深さの一端が現れていると思います。




nice!(0)